diff --git a/client/client.go b/client/client.go index 87ff4207..4c41e450 100644 --- a/client/client.go +++ b/client/client.go @@ -125,38 +125,39 @@ func NewClientMd5(uin int64, passwordMd5 [16]byte) *QQClient { RandomKey: make([]byte, 16), OutGoingPacketSessionId: []byte{0x02, 0xB0, 0x5B, 0x8B}, decoders: map[string]func(*QQClient, uint16, []byte) (interface{}, error){ - "wtlogin.login": decodeLoginResponse, - "wtlogin.exchange_emp": decodeExchangeEmpResponse, - "StatSvc.register": decodeClientRegisterResponse, - "StatSvc.ReqMSFOffline": decodeMSFOfflinePacket, - "StatSvc.GetDevLoginInfo": decodeDevListResponse, - "MessageSvc.PushNotify": decodeSvcNotify, - "OnlinePush.PbPushGroupMsg": decodeGroupMessagePacket, - "OnlinePush.ReqPush": decodeOnlinePushReqPacket, - "OnlinePush.PbPushTransMsg": decodeOnlinePushTransPacket, - "ConfigPushSvc.PushReq": decodePushReqPacket, - "MessageSvc.PbGetMsg": decodeMessageSvcPacket, - "MessageSvc.PbSendMsg": decodeMsgSendResponse, - "MessageSvc.PushForceOffline": decodeForceOfflinePacket, - "friendlist.getFriendGroupList": decodeFriendGroupListResponse, - "friendlist.GetTroopListReqV2": decodeGroupListResponse, - "friendlist.GetTroopMemberListReq": decodeGroupMemberListResponse, - "group_member_card.get_group_member_card_info": decodeGroupMemberInfoResponse, - "ImgStore.GroupPicUp": decodeGroupImageStoreResponse, - "PttStore.GroupPttUp": decodeGroupPttStoreResponse, - "LongConn.OffPicUp": decodeOffPicUpResponse, - "ProfileService.Pb.ReqSystemMsgNew.Group": decodeSystemMsgGroupPacket, - "ProfileService.Pb.ReqSystemMsgNew.Friend": decodeSystemMsgFriendPacket, - "MultiMsg.ApplyUp": decodeMultiApplyUpResponse, - "MultiMsg.ApplyDown": decodeMultiApplyDownResponse, - "OidbSvc.0x6d6_2": decodeOIDB6d6Response, - "OidbSvc.0x88d_0": decodeGroupInfoResponse, - "OidbSvc.0xe07_0": decodeImageOcrResponse, - "OidbSvc.0xd79": decodeWordSegmentation, - "OidbSvc.0x990": decodeTranslateResponse, - "SummaryCard.ReqSummaryCard": decodeSummaryCardResponse, - "PttCenterSvr.ShortVideoDownReq": decodePttShortVideoDownResponse, - "LightAppSvc.mini_app_info.GetAppInfoById": decodeAppInfoResponse, + "wtlogin.login": decodeLoginResponse, + "wtlogin.exchange_emp": decodeExchangeEmpResponse, + "StatSvc.register": decodeClientRegisterResponse, + "StatSvc.ReqMSFOffline": decodeMSFOfflinePacket, + "StatSvc.GetDevLoginInfo": decodeDevListResponse, + "MessageSvc.PushNotify": decodeSvcNotify, + "OnlinePush.PbPushGroupMsg": decodeGroupMessagePacket, + "OnlinePush.ReqPush": decodeOnlinePushReqPacket, + "OnlinePush.PbPushTransMsg": decodeOnlinePushTransPacket, + "ConfigPushSvc.PushReq": decodePushReqPacket, + "MessageSvc.PbGetMsg": decodeMessageSvcPacket, + "MessageSvc.PbSendMsg": decodeMsgSendResponse, + "MessageSvc.PushForceOffline": decodeForceOfflinePacket, + "friendlist.getFriendGroupList": decodeFriendGroupListResponse, + "friendlist.GetTroopListReqV2": decodeGroupListResponse, + "friendlist.GetTroopMemberListReq": decodeGroupMemberListResponse, + "group_member_card.get_group_member_card_info": decodeGroupMemberInfoResponse, + "ImgStore.GroupPicUp": decodeGroupImageStoreResponse, + "PttStore.GroupPttUp": decodeGroupPttStoreResponse, + "LongConn.OffPicUp": decodeOffPicUpResponse, + "ProfileService.Pb.ReqSystemMsgNew.Group": decodeSystemMsgGroupPacket, + "ProfileService.Pb.ReqSystemMsgNew.Friend": decodeSystemMsgFriendPacket, + "MultiMsg.ApplyUp": decodeMultiApplyUpResponse, + "MultiMsg.ApplyDown": decodeMultiApplyDownResponse, + "OidbSvc.0x6d6_2": decodeOIDB6d6Response, + "OidbSvc.0x88d_0": decodeGroupInfoResponse, + "OidbSvc.0xe07_0": decodeImageOcrResponse, + "OidbSvc.0xd79": decodeWordSegmentation, + "OidbSvc.0x990": decodeTranslateResponse, + "SummaryCard.ReqSummaryCard": decodeSummaryCardResponse, + "PttCenterSvr.ShortVideoDownReq": decodePttShortVideoDownResponse, + "LightAppSvc.mini_app_info.GetAppInfoById": decodeAppInfoResponse, + "OfflineFilleHandleSvr.pb_ftn_CMD_REQ_APPLY_DOWNLOAD-1200": decodeOfflineFileDownloadResponse, }, sigInfo: &loginSigInfo{}, requestPacketRequestId: 1921334513, diff --git a/client/decoders.go b/client/decoders.go index 767c28ec..104c8775 100644 --- a/client/decoders.go +++ b/client/decoders.go @@ -342,6 +342,24 @@ func decodeMessageSvcPacket(c *QQClient, _ uint16, payload []byte) (interface{}, case 187: _, pkt := c.buildSystemMsgNewFriendPacket() _ = c.send(pkt) + case 529: + sub4 := msg.SubMsgType0X4Body{} + if err := proto.Unmarshal(message.Body.MsgContent, &sub4); err != nil { + c.Error("unmarshal sub msg 0x4 error: %v", err) + continue + } + if sub4.NotOnlineFile != nil { + rsp, err := c.sendAndWait(c.buildOfflineFileDownloadRequestPacket(sub4.NotOnlineFile.FileUuid)) // offline_file.go + if err != nil { + continue + } + c.dispatchOfflineFileEvent(&OfflineFileEvent{ + FileName: string(sub4.NotOnlineFile.FileName), + FileSize: sub4.NotOnlineFile.FileSize, + Sender: message.Head.FromUin, + DownloadUrl: rsp.(string), + }) + } } } } diff --git a/client/entities.go b/client/entities.go index 9bc21eba..7aad2c85 100644 --- a/client/entities.go +++ b/client/entities.go @@ -194,6 +194,13 @@ type ( Friend *FriendInfo } + OfflineFileEvent struct { + FileName string + FileSize int64 + Sender int64 + DownloadUrl string + } + OcrResponse struct { Texts []*TextDetection `json:"texts"` Language string `json:"language"` diff --git a/client/events.go b/client/events.go index 4de6607a..6f286e51 100644 --- a/client/events.go +++ b/client/events.go @@ -27,6 +27,7 @@ type eventHandlers struct { logHandlers []func(*QQClient, *LogEvent) serverUpdatedHandlers []func(*QQClient, *ServerUpdatedEvent) notifyHandlers []func(*QQClient, IGroupNotifyEvent) + offlineFileHandlers []func(*QQClient, *OfflineFileEvent) groupMessageReceiptHandlers sync.Map } @@ -110,6 +111,10 @@ func (c *QQClient) OnServerUpdated(f func(*QQClient, *ServerUpdatedEvent)) { c.eventHandlers.serverUpdatedHandlers = append(c.eventHandlers.serverUpdatedHandlers, f) } +func (c *QQClient) OnReceivedOfflineFile(f func(*QQClient, *OfflineFileEvent)) { + c.eventHandlers.offlineFileHandlers = append(c.eventHandlers.offlineFileHandlers, f) +} + func (c *QQClient) OnLog(f func(*QQClient, *LogEvent)) { c.eventHandlers.logHandlers = append(c.eventHandlers.logHandlers, f) } @@ -337,6 +342,17 @@ func (c *QQClient) dispatchDisconnectEvent(e *ClientDisconnectedEvent) { } } +func (c *QQClient) dispatchOfflineFileEvent(e *OfflineFileEvent) { + if e == nil { + return + } + for _, f := range c.eventHandlers.offlineFileHandlers { + cover(func() { + f(c, e) + }) + } +} + func (c *QQClient) dispatchLogEvent(e *LogEvent) { if e == nil { return diff --git a/client/offline_file.go b/client/offline_file.go new file mode 100644 index 00000000..02b2760e --- /dev/null +++ b/client/offline_file.go @@ -0,0 +1,47 @@ +package client + +import ( + "errors" + "fmt" + "github.com/Mrs4s/MiraiGo/client/pb/cmd0x346" + "github.com/Mrs4s/MiraiGo/protocol/packets" + "google.golang.org/protobuf/proto" +) + +func (c *QQClient) buildOfflineFileDownloadRequestPacket(uuid []byte) (uint16, []byte) { + seq := c.nextSeq() + req := &cmd0x346.ReqBody{ + Cmd: 1200, + Seq: int32(seq), + BusinessId: 3, + ClientType: 104, + ApplyDownloadReq: &cmd0x346.ApplyDownloadReq{ + Uin: c.Uin, + Uuid: uuid, + OwnerType: 2, + }, + ExtensionReq: &cmd0x346.ExtensionReq{ + DownloadUrlType: 1, + }, + } + payload, _ := proto.Marshal(req) + packet := packets.BuildUniPacket(c.Uin, seq, "OfflineFilleHandleSvr.pb_ftn_CMD_REQ_APPLY_DOWNLOAD-1200", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + return seq, packet +} + +func decodeOfflineFileDownloadResponse(c *QQClient, _ uint16, payload []byte) (interface{}, error) { + rsp := cmd0x346.RspBody{} + if err := proto.Unmarshal(payload, &rsp); err != nil { + c.Error("unmarshal cmd0x346 rsp body error: %v", err) + return nil, err + } + if rsp.ApplyDownloadRsp == nil { + c.Error("decode apply download 1200 error: apply rsp is nil.") + return nil, errors.New("apply rsp is nil") + } + if rsp.ApplyDownloadRsp.RetCode != 0 { + c.Error("decode apply download 1200 error: %v", rsp.ApplyDownloadRsp.RetCode) + return nil, errors.New(fmt.Sprint(rsp.ApplyDownloadRsp.RetCode)) + } + return "http://" + rsp.ApplyDownloadRsp.DownloadInfo.DownloadDomain + rsp.ApplyDownloadRsp.DownloadInfo.DownloadUrl, nil +} diff --git a/client/pb/cmd0x346/cmd0x346.pb.go b/client/pb/cmd0x346/cmd0x346.pb.go new file mode 100644 index 00000000..17e6c0fd --- /dev/null +++ b/client/pb/cmd0x346/cmd0x346.pb.go @@ -0,0 +1,6178 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.11.4 +// source: cmd0x346.proto + +package cmd0x346 + +import ( + proto "github.com/golang/protobuf/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +type ApplyCleanTrafficRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` +} + +func (x *ApplyCleanTrafficRsp) Reset() { + *x = ApplyCleanTrafficRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyCleanTrafficRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyCleanTrafficRsp) ProtoMessage() {} + +func (x *ApplyCleanTrafficRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[0] + 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 ApplyCleanTrafficRsp.ProtoReflect.Descriptor instead. +func (*ApplyCleanTrafficRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{0} +} + +func (x *ApplyCleanTrafficRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyCleanTrafficRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +type ApplyCopyFromReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SrcUin int64 `protobuf:"varint,10,opt,name=srcUin,proto3" json:"srcUin,omitempty"` + SrcGroup int64 `protobuf:"varint,20,opt,name=srcGroup,proto3" json:"srcGroup,omitempty"` + SrcSvcid int32 `protobuf:"varint,30,opt,name=srcSvcid,proto3" json:"srcSvcid,omitempty"` + SrcParentfolder []byte `protobuf:"bytes,40,opt,name=srcParentfolder,proto3" json:"srcParentfolder,omitempty"` + SrcUuid []byte `protobuf:"bytes,50,opt,name=srcUuid,proto3" json:"srcUuid,omitempty"` + FileMd5 []byte `protobuf:"bytes,60,opt,name=fileMd5,proto3" json:"fileMd5,omitempty"` + DstUin int64 `protobuf:"varint,70,opt,name=dstUin,proto3" json:"dstUin,omitempty"` + FileSize int64 `protobuf:"varint,80,opt,name=fileSize,proto3" json:"fileSize,omitempty"` + FileName string `protobuf:"bytes,90,opt,name=fileName,proto3" json:"fileName,omitempty"` + DangerLevel int32 `protobuf:"varint,100,opt,name=dangerLevel,proto3" json:"dangerLevel,omitempty"` + TotalSpace int64 `protobuf:"varint,110,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` +} + +func (x *ApplyCopyFromReq) Reset() { + *x = ApplyCopyFromReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyCopyFromReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyCopyFromReq) ProtoMessage() {} + +func (x *ApplyCopyFromReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[1] + 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 ApplyCopyFromReq.ProtoReflect.Descriptor instead. +func (*ApplyCopyFromReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{1} +} + +func (x *ApplyCopyFromReq) GetSrcUin() int64 { + if x != nil { + return x.SrcUin + } + return 0 +} + +func (x *ApplyCopyFromReq) GetSrcGroup() int64 { + if x != nil { + return x.SrcGroup + } + return 0 +} + +func (x *ApplyCopyFromReq) GetSrcSvcid() int32 { + if x != nil { + return x.SrcSvcid + } + return 0 +} + +func (x *ApplyCopyFromReq) GetSrcParentfolder() []byte { + if x != nil { + return x.SrcParentfolder + } + return nil +} + +func (x *ApplyCopyFromReq) GetSrcUuid() []byte { + if x != nil { + return x.SrcUuid + } + return nil +} + +func (x *ApplyCopyFromReq) GetFileMd5() []byte { + if x != nil { + return x.FileMd5 + } + return nil +} + +func (x *ApplyCopyFromReq) GetDstUin() int64 { + if x != nil { + return x.DstUin + } + return 0 +} + +func (x *ApplyCopyFromReq) GetFileSize() int64 { + if x != nil { + return x.FileSize + } + return 0 +} + +func (x *ApplyCopyFromReq) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *ApplyCopyFromReq) GetDangerLevel() int32 { + if x != nil { + return x.DangerLevel + } + return 0 +} + +func (x *ApplyCopyFromReq) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +type ApplyCopyFromRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + Uuid []byte `protobuf:"bytes,30,opt,name=uuid,proto3" json:"uuid,omitempty"` + TotalSpace int64 `protobuf:"varint,40,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` +} + +func (x *ApplyCopyFromRsp) Reset() { + *x = ApplyCopyFromRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyCopyFromRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyCopyFromRsp) ProtoMessage() {} + +func (x *ApplyCopyFromRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[2] + 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 ApplyCopyFromRsp.ProtoReflect.Descriptor instead. +func (*ApplyCopyFromRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{2} +} + +func (x *ApplyCopyFromRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyCopyFromRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyCopyFromRsp) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *ApplyCopyFromRsp) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +type ApplyCopyToReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DstId int64 `protobuf:"varint,10,opt,name=dstId,proto3" json:"dstId,omitempty"` + DstUin int64 `protobuf:"varint,20,opt,name=dstUin,proto3" json:"dstUin,omitempty"` + DstSvcid int32 `protobuf:"varint,30,opt,name=dstSvcid,proto3" json:"dstSvcid,omitempty"` + SrcUin int64 `protobuf:"varint,40,opt,name=srcUin,proto3" json:"srcUin,omitempty"` + FileSize int64 `protobuf:"varint,50,opt,name=fileSize,proto3" json:"fileSize,omitempty"` + FileName string `protobuf:"bytes,60,opt,name=fileName,proto3" json:"fileName,omitempty"` + LocalFilepath string `protobuf:"bytes,70,opt,name=localFilepath,proto3" json:"localFilepath,omitempty"` + Uuid []byte `protobuf:"bytes,80,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *ApplyCopyToReq) Reset() { + *x = ApplyCopyToReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyCopyToReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyCopyToReq) ProtoMessage() {} + +func (x *ApplyCopyToReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[3] + 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 ApplyCopyToReq.ProtoReflect.Descriptor instead. +func (*ApplyCopyToReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{3} +} + +func (x *ApplyCopyToReq) GetDstId() int64 { + if x != nil { + return x.DstId + } + return 0 +} + +func (x *ApplyCopyToReq) GetDstUin() int64 { + if x != nil { + return x.DstUin + } + return 0 +} + +func (x *ApplyCopyToReq) GetDstSvcid() int32 { + if x != nil { + return x.DstSvcid + } + return 0 +} + +func (x *ApplyCopyToReq) GetSrcUin() int64 { + if x != nil { + return x.SrcUin + } + return 0 +} + +func (x *ApplyCopyToReq) GetFileSize() int64 { + if x != nil { + return x.FileSize + } + return 0 +} + +func (x *ApplyCopyToReq) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *ApplyCopyToReq) GetLocalFilepath() string { + if x != nil { + return x.LocalFilepath + } + return "" +} + +func (x *ApplyCopyToReq) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +type ApplyCopyToRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + FileKey string `protobuf:"bytes,30,opt,name=fileKey,proto3" json:"fileKey,omitempty"` +} + +func (x *ApplyCopyToRsp) Reset() { + *x = ApplyCopyToRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyCopyToRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyCopyToRsp) ProtoMessage() {} + +func (x *ApplyCopyToRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[4] + 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 ApplyCopyToRsp.ProtoReflect.Descriptor instead. +func (*ApplyCopyToRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{4} +} + +func (x *ApplyCopyToRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyCopyToRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyCopyToRsp) GetFileKey() string { + if x != nil { + return x.FileKey + } + return "" +} + +type ApplyDownloadAbsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,10,opt,name=uin,proto3" json:"uin,omitempty"` + Uuid []byte `protobuf:"bytes,20,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *ApplyDownloadAbsReq) Reset() { + *x = ApplyDownloadAbsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyDownloadAbsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyDownloadAbsReq) ProtoMessage() {} + +func (x *ApplyDownloadAbsReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[5] + 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 ApplyDownloadAbsReq.ProtoReflect.Descriptor instead. +func (*ApplyDownloadAbsReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{5} +} + +func (x *ApplyDownloadAbsReq) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *ApplyDownloadAbsReq) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +type ApplyDownloadAbsRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + DownloadInfo *DownloadInfo `protobuf:"bytes,30,opt,name=downloadInfo,proto3" json:"downloadInfo,omitempty"` +} + +func (x *ApplyDownloadAbsRsp) Reset() { + *x = ApplyDownloadAbsRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyDownloadAbsRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyDownloadAbsRsp) ProtoMessage() {} + +func (x *ApplyDownloadAbsRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[6] + 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 ApplyDownloadAbsRsp.ProtoReflect.Descriptor instead. +func (*ApplyDownloadAbsRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{6} +} + +func (x *ApplyDownloadAbsRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyDownloadAbsRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyDownloadAbsRsp) GetDownloadInfo() *DownloadInfo { + if x != nil { + return x.DownloadInfo + } + return nil +} + +type ApplyDownloadReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,10,opt,name=uin,proto3" json:"uin,omitempty"` + Uuid []byte `protobuf:"bytes,20,opt,name=uuid,proto3" json:"uuid,omitempty"` + OwnerType int32 `protobuf:"varint,30,opt,name=ownerType,proto3" json:"ownerType,omitempty"` + ExtIntype int32 `protobuf:"varint,500,opt,name=extIntype,proto3" json:"extIntype,omitempty"` +} + +func (x *ApplyDownloadReq) Reset() { + *x = ApplyDownloadReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyDownloadReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyDownloadReq) ProtoMessage() {} + +func (x *ApplyDownloadReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[7] + 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 ApplyDownloadReq.ProtoReflect.Descriptor instead. +func (*ApplyDownloadReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{7} +} + +func (x *ApplyDownloadReq) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *ApplyDownloadReq) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *ApplyDownloadReq) GetOwnerType() int32 { + if x != nil { + return x.OwnerType + } + return 0 +} + +func (x *ApplyDownloadReq) GetExtIntype() int32 { + if x != nil { + return x.ExtIntype + } + return 0 +} + +type ApplyDownloadRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + DownloadInfo *DownloadInfo `protobuf:"bytes,30,opt,name=downloadInfo,proto3" json:"downloadInfo,omitempty"` + FileInfo *FileInfo `protobuf:"bytes,40,opt,name=fileInfo,proto3" json:"fileInfo,omitempty"` +} + +func (x *ApplyDownloadRsp) Reset() { + *x = ApplyDownloadRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyDownloadRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyDownloadRsp) ProtoMessage() {} + +func (x *ApplyDownloadRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[8] + 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 ApplyDownloadRsp.ProtoReflect.Descriptor instead. +func (*ApplyDownloadRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{8} +} + +func (x *ApplyDownloadRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyDownloadRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyDownloadRsp) GetDownloadInfo() *DownloadInfo { + if x != nil { + return x.DownloadInfo + } + return nil +} + +func (x *ApplyDownloadRsp) GetFileInfo() *FileInfo { + if x != nil { + return x.FileInfo + } + return nil +} + +type ApplyForwardFileReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SenderUin int64 `protobuf:"varint,10,opt,name=senderUin,proto3" json:"senderUin,omitempty"` + RecverUin int64 `protobuf:"varint,20,opt,name=recverUin,proto3" json:"recverUin,omitempty"` + Uuid []byte `protobuf:"bytes,30,opt,name=uuid,proto3" json:"uuid,omitempty"` + DangerLevel int32 `protobuf:"varint,40,opt,name=dangerLevel,proto3" json:"dangerLevel,omitempty"` + TotalSpace int64 `protobuf:"varint,50,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` +} + +func (x *ApplyForwardFileReq) Reset() { + *x = ApplyForwardFileReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyForwardFileReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyForwardFileReq) ProtoMessage() {} + +func (x *ApplyForwardFileReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[9] + 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 ApplyForwardFileReq.ProtoReflect.Descriptor instead. +func (*ApplyForwardFileReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{9} +} + +func (x *ApplyForwardFileReq) GetSenderUin() int64 { + if x != nil { + return x.SenderUin + } + return 0 +} + +func (x *ApplyForwardFileReq) GetRecverUin() int64 { + if x != nil { + return x.RecverUin + } + return 0 +} + +func (x *ApplyForwardFileReq) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *ApplyForwardFileReq) GetDangerLevel() int32 { + if x != nil { + return x.DangerLevel + } + return 0 +} + +func (x *ApplyForwardFileReq) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +type ApplyForwardFileRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + TotalSpace int64 `protobuf:"varint,30,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` + UsedSpace int64 `protobuf:"varint,40,opt,name=usedSpace,proto3" json:"usedSpace,omitempty"` + Uuid []byte `protobuf:"bytes,50,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *ApplyForwardFileRsp) Reset() { + *x = ApplyForwardFileRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyForwardFileRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyForwardFileRsp) ProtoMessage() {} + +func (x *ApplyForwardFileRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[10] + 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 ApplyForwardFileRsp.ProtoReflect.Descriptor instead. +func (*ApplyForwardFileRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{10} +} + +func (x *ApplyForwardFileRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyForwardFileRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyForwardFileRsp) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +func (x *ApplyForwardFileRsp) GetUsedSpace() int64 { + if x != nil { + return x.UsedSpace + } + return 0 +} + +func (x *ApplyForwardFileRsp) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +type ApplyGetTrafficReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ApplyGetTrafficReq) Reset() { + *x = ApplyGetTrafficReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyGetTrafficReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyGetTrafficReq) ProtoMessage() {} + +func (x *ApplyGetTrafficReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[11] + 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 ApplyGetTrafficReq.ProtoReflect.Descriptor instead. +func (*ApplyGetTrafficReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{11} +} + +type ApplyGetTrafficRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + UseFileSize int64 `protobuf:"varint,30,opt,name=useFileSize,proto3" json:"useFileSize,omitempty"` + UseFileNum int32 `protobuf:"varint,40,opt,name=useFileNum,proto3" json:"useFileNum,omitempty"` + AllFileSize int64 `protobuf:"varint,50,opt,name=allFileSize,proto3" json:"allFileSize,omitempty"` + AllFileNum int32 `protobuf:"varint,60,opt,name=allFileNum,proto3" json:"allFileNum,omitempty"` +} + +func (x *ApplyGetTrafficRsp) Reset() { + *x = ApplyGetTrafficRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyGetTrafficRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyGetTrafficRsp) ProtoMessage() {} + +func (x *ApplyGetTrafficRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[12] + 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 ApplyGetTrafficRsp.ProtoReflect.Descriptor instead. +func (*ApplyGetTrafficRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{12} +} + +func (x *ApplyGetTrafficRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyGetTrafficRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyGetTrafficRsp) GetUseFileSize() int64 { + if x != nil { + return x.UseFileSize + } + return 0 +} + +func (x *ApplyGetTrafficRsp) GetUseFileNum() int32 { + if x != nil { + return x.UseFileNum + } + return 0 +} + +func (x *ApplyGetTrafficRsp) GetAllFileSize() int64 { + if x != nil { + return x.AllFileSize + } + return 0 +} + +func (x *ApplyGetTrafficRsp) GetAllFileNum() int32 { + if x != nil { + return x.AllFileNum + } + return 0 +} + +type ApplyListDownloadReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,10,opt,name=uin,proto3" json:"uin,omitempty"` + BeginIndex int32 `protobuf:"varint,20,opt,name=beginIndex,proto3" json:"beginIndex,omitempty"` + ReqCount int32 `protobuf:"varint,30,opt,name=reqCount,proto3" json:"reqCount,omitempty"` +} + +func (x *ApplyListDownloadReq) Reset() { + *x = ApplyListDownloadReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyListDownloadReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyListDownloadReq) ProtoMessage() {} + +func (x *ApplyListDownloadReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyListDownloadReq.ProtoReflect.Descriptor instead. +func (*ApplyListDownloadReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{13} +} + +func (x *ApplyListDownloadReq) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *ApplyListDownloadReq) GetBeginIndex() int32 { + if x != nil { + return x.BeginIndex + } + return 0 +} + +func (x *ApplyListDownloadReq) GetReqCount() int32 { + if x != nil { + return x.ReqCount + } + return 0 +} + +type ApplyListDownloadRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + TotalCount int32 `protobuf:"varint,30,opt,name=totalCount,proto3" json:"totalCount,omitempty"` + BeginIndex int32 `protobuf:"varint,40,opt,name=beginIndex,proto3" json:"beginIndex,omitempty"` + RspCount int32 `protobuf:"varint,50,opt,name=rspCount,proto3" json:"rspCount,omitempty"` + IsEnd int32 `protobuf:"varint,60,opt,name=isEnd,proto3" json:"isEnd,omitempty"` + FileList []*FileInfo `protobuf:"bytes,70,rep,name=fileList,proto3" json:"fileList,omitempty"` +} + +func (x *ApplyListDownloadRsp) Reset() { + *x = ApplyListDownloadRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyListDownloadRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyListDownloadRsp) ProtoMessage() {} + +func (x *ApplyListDownloadRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyListDownloadRsp.ProtoReflect.Descriptor instead. +func (*ApplyListDownloadRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{14} +} + +func (x *ApplyListDownloadRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyListDownloadRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyListDownloadRsp) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +func (x *ApplyListDownloadRsp) GetBeginIndex() int32 { + if x != nil { + return x.BeginIndex + } + return 0 +} + +func (x *ApplyListDownloadRsp) GetRspCount() int32 { + if x != nil { + return x.RspCount + } + return 0 +} + +func (x *ApplyListDownloadRsp) GetIsEnd() int32 { + if x != nil { + return x.IsEnd + } + return 0 +} + +func (x *ApplyListDownloadRsp) GetFileList() []*FileInfo { + if x != nil { + return x.FileList + } + return nil +} + +type ApplyUploadHitReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SenderUin int64 `protobuf:"varint,10,opt,name=senderUin,proto3" json:"senderUin,omitempty"` + RecverUin int64 `protobuf:"varint,20,opt,name=recverUin,proto3" json:"recverUin,omitempty"` + FileSize int64 `protobuf:"varint,30,opt,name=fileSize,proto3" json:"fileSize,omitempty"` + FileName string `protobuf:"bytes,40,opt,name=fileName,proto3" json:"fileName,omitempty"` + Bytes_10MMd5 []byte `protobuf:"bytes,50,opt,name=bytes_10mMd5,json=bytes10mMd5,proto3" json:"bytes_10mMd5,omitempty"` + LocalFilepath string `protobuf:"bytes,60,opt,name=localFilepath,proto3" json:"localFilepath,omitempty"` + DangerLevel int32 `protobuf:"varint,70,opt,name=dangerLevel,proto3" json:"dangerLevel,omitempty"` + TotalSpace int64 `protobuf:"varint,80,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` +} + +func (x *ApplyUploadHitReq) Reset() { + *x = ApplyUploadHitReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadHitReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadHitReq) ProtoMessage() {} + +func (x *ApplyUploadHitReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[15] + 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 ApplyUploadHitReq.ProtoReflect.Descriptor instead. +func (*ApplyUploadHitReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{15} +} + +func (x *ApplyUploadHitReq) GetSenderUin() int64 { + if x != nil { + return x.SenderUin + } + return 0 +} + +func (x *ApplyUploadHitReq) GetRecverUin() int64 { + if x != nil { + return x.RecverUin + } + return 0 +} + +func (x *ApplyUploadHitReq) GetFileSize() int64 { + if x != nil { + return x.FileSize + } + return 0 +} + +func (x *ApplyUploadHitReq) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *ApplyUploadHitReq) GetBytes_10MMd5() []byte { + if x != nil { + return x.Bytes_10MMd5 + } + return nil +} + +func (x *ApplyUploadHitReq) GetLocalFilepath() string { + if x != nil { + return x.LocalFilepath + } + return "" +} + +func (x *ApplyUploadHitReq) GetDangerLevel() int32 { + if x != nil { + return x.DangerLevel + } + return 0 +} + +func (x *ApplyUploadHitReq) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +type ApplyUploadHitReqV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SenderUin int64 `protobuf:"varint,10,opt,name=senderUin,proto3" json:"senderUin,omitempty"` + RecverUin int64 `protobuf:"varint,20,opt,name=recverUin,proto3" json:"recverUin,omitempty"` + FileSize int64 `protobuf:"varint,30,opt,name=fileSize,proto3" json:"fileSize,omitempty"` + FileName string `protobuf:"bytes,40,opt,name=fileName,proto3" json:"fileName,omitempty"` + Bytes_10MMd5 []byte `protobuf:"bytes,50,opt,name=bytes_10mMd5,json=bytes10mMd5,proto3" json:"bytes_10mMd5,omitempty"` + Bytes_3Sha []byte `protobuf:"bytes,60,opt,name=bytes_3sha,json=bytes3sha,proto3" json:"bytes_3sha,omitempty"` + Sha []byte `protobuf:"bytes,70,opt,name=sha,proto3" json:"sha,omitempty"` + LocalFilepath string `protobuf:"bytes,80,opt,name=localFilepath,proto3" json:"localFilepath,omitempty"` + DangerLevel int32 `protobuf:"varint,90,opt,name=dangerLevel,proto3" json:"dangerLevel,omitempty"` + TotalSpace int64 `protobuf:"varint,100,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` +} + +func (x *ApplyUploadHitReqV2) Reset() { + *x = ApplyUploadHitReqV2{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadHitReqV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadHitReqV2) ProtoMessage() {} + +func (x *ApplyUploadHitReqV2) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[16] + 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 ApplyUploadHitReqV2.ProtoReflect.Descriptor instead. +func (*ApplyUploadHitReqV2) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{16} +} + +func (x *ApplyUploadHitReqV2) GetSenderUin() int64 { + if x != nil { + return x.SenderUin + } + return 0 +} + +func (x *ApplyUploadHitReqV2) GetRecverUin() int64 { + if x != nil { + return x.RecverUin + } + return 0 +} + +func (x *ApplyUploadHitReqV2) GetFileSize() int64 { + if x != nil { + return x.FileSize + } + return 0 +} + +func (x *ApplyUploadHitReqV2) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *ApplyUploadHitReqV2) GetBytes_10MMd5() []byte { + if x != nil { + return x.Bytes_10MMd5 + } + return nil +} + +func (x *ApplyUploadHitReqV2) GetBytes_3Sha() []byte { + if x != nil { + return x.Bytes_3Sha + } + return nil +} + +func (x *ApplyUploadHitReqV2) GetSha() []byte { + if x != nil { + return x.Sha + } + return nil +} + +func (x *ApplyUploadHitReqV2) GetLocalFilepath() string { + if x != nil { + return x.LocalFilepath + } + return "" +} + +func (x *ApplyUploadHitReqV2) GetDangerLevel() int32 { + if x != nil { + return x.DangerLevel + } + return 0 +} + +func (x *ApplyUploadHitReqV2) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +type ApplyUploadHitReqV3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SenderUin int64 `protobuf:"varint,10,opt,name=senderUin,proto3" json:"senderUin,omitempty"` + RecverUin int64 `protobuf:"varint,20,opt,name=recverUin,proto3" json:"recverUin,omitempty"` + FileSize int64 `protobuf:"varint,30,opt,name=fileSize,proto3" json:"fileSize,omitempty"` + FileName string `protobuf:"bytes,40,opt,name=fileName,proto3" json:"fileName,omitempty"` + Bytes_10MMd5 []byte `protobuf:"bytes,50,opt,name=bytes_10mMd5,json=bytes10mMd5,proto3" json:"bytes_10mMd5,omitempty"` + Sha []byte `protobuf:"bytes,60,opt,name=sha,proto3" json:"sha,omitempty"` + LocalFilepath string `protobuf:"bytes,70,opt,name=localFilepath,proto3" json:"localFilepath,omitempty"` + DangerLevel int32 `protobuf:"varint,80,opt,name=dangerLevel,proto3" json:"dangerLevel,omitempty"` + TotalSpace int64 `protobuf:"varint,90,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` +} + +func (x *ApplyUploadHitReqV3) Reset() { + *x = ApplyUploadHitReqV3{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadHitReqV3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadHitReqV3) ProtoMessage() {} + +func (x *ApplyUploadHitReqV3) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[17] + 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 ApplyUploadHitReqV3.ProtoReflect.Descriptor instead. +func (*ApplyUploadHitReqV3) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{17} +} + +func (x *ApplyUploadHitReqV3) GetSenderUin() int64 { + if x != nil { + return x.SenderUin + } + return 0 +} + +func (x *ApplyUploadHitReqV3) GetRecverUin() int64 { + if x != nil { + return x.RecverUin + } + return 0 +} + +func (x *ApplyUploadHitReqV3) GetFileSize() int64 { + if x != nil { + return x.FileSize + } + return 0 +} + +func (x *ApplyUploadHitReqV3) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *ApplyUploadHitReqV3) GetBytes_10MMd5() []byte { + if x != nil { + return x.Bytes_10MMd5 + } + return nil +} + +func (x *ApplyUploadHitReqV3) GetSha() []byte { + if x != nil { + return x.Sha + } + return nil +} + +func (x *ApplyUploadHitReqV3) GetLocalFilepath() string { + if x != nil { + return x.LocalFilepath + } + return "" +} + +func (x *ApplyUploadHitReqV3) GetDangerLevel() int32 { + if x != nil { + return x.DangerLevel + } + return 0 +} + +func (x *ApplyUploadHitReqV3) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +type ApplyUploadHitRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + UploadIp string `protobuf:"bytes,30,opt,name=uploadIp,proto3" json:"uploadIp,omitempty"` + UploadPort int32 `protobuf:"varint,40,opt,name=uploadPort,proto3" json:"uploadPort,omitempty"` + UploadDomain string `protobuf:"bytes,50,opt,name=uploadDomain,proto3" json:"uploadDomain,omitempty"` + Uuid []byte `protobuf:"bytes,60,opt,name=uuid,proto3" json:"uuid,omitempty"` + UploadKey []byte `protobuf:"bytes,70,opt,name=uploadKey,proto3" json:"uploadKey,omitempty"` + TotalSpace int64 `protobuf:"varint,80,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` + UsedSpace int64 `protobuf:"varint,90,opt,name=usedSpace,proto3" json:"usedSpace,omitempty"` +} + +func (x *ApplyUploadHitRsp) Reset() { + *x = ApplyUploadHitRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadHitRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadHitRsp) ProtoMessage() {} + +func (x *ApplyUploadHitRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[18] + 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 ApplyUploadHitRsp.ProtoReflect.Descriptor instead. +func (*ApplyUploadHitRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{18} +} + +func (x *ApplyUploadHitRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyUploadHitRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyUploadHitRsp) GetUploadIp() string { + if x != nil { + return x.UploadIp + } + return "" +} + +func (x *ApplyUploadHitRsp) GetUploadPort() int32 { + if x != nil { + return x.UploadPort + } + return 0 +} + +func (x *ApplyUploadHitRsp) GetUploadDomain() string { + if x != nil { + return x.UploadDomain + } + return "" +} + +func (x *ApplyUploadHitRsp) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *ApplyUploadHitRsp) GetUploadKey() []byte { + if x != nil { + return x.UploadKey + } + return nil +} + +func (x *ApplyUploadHitRsp) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +func (x *ApplyUploadHitRsp) GetUsedSpace() int64 { + if x != nil { + return x.UsedSpace + } + return 0 +} + +type ApplyUploadHitRspV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + UploadIp string `protobuf:"bytes,30,opt,name=uploadIp,proto3" json:"uploadIp,omitempty"` + UploadPort int32 `protobuf:"varint,40,opt,name=uploadPort,proto3" json:"uploadPort,omitempty"` + UploadDomain string `protobuf:"bytes,50,opt,name=uploadDomain,proto3" json:"uploadDomain,omitempty"` + Uuid []byte `protobuf:"bytes,60,opt,name=uuid,proto3" json:"uuid,omitempty"` + UploadKey []byte `protobuf:"bytes,70,opt,name=uploadKey,proto3" json:"uploadKey,omitempty"` + TotalSpace int64 `protobuf:"varint,80,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` + UsedSpace int64 `protobuf:"varint,90,opt,name=usedSpace,proto3" json:"usedSpace,omitempty"` +} + +func (x *ApplyUploadHitRspV2) Reset() { + *x = ApplyUploadHitRspV2{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadHitRspV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadHitRspV2) ProtoMessage() {} + +func (x *ApplyUploadHitRspV2) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[19] + 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 ApplyUploadHitRspV2.ProtoReflect.Descriptor instead. +func (*ApplyUploadHitRspV2) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{19} +} + +func (x *ApplyUploadHitRspV2) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyUploadHitRspV2) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyUploadHitRspV2) GetUploadIp() string { + if x != nil { + return x.UploadIp + } + return "" +} + +func (x *ApplyUploadHitRspV2) GetUploadPort() int32 { + if x != nil { + return x.UploadPort + } + return 0 +} + +func (x *ApplyUploadHitRspV2) GetUploadDomain() string { + if x != nil { + return x.UploadDomain + } + return "" +} + +func (x *ApplyUploadHitRspV2) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *ApplyUploadHitRspV2) GetUploadKey() []byte { + if x != nil { + return x.UploadKey + } + return nil +} + +func (x *ApplyUploadHitRspV2) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +func (x *ApplyUploadHitRspV2) GetUsedSpace() int64 { + if x != nil { + return x.UsedSpace + } + return 0 +} + +type ApplyUploadHitRspV3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + UploadIp string `protobuf:"bytes,30,opt,name=uploadIp,proto3" json:"uploadIp,omitempty"` + UploadPort int32 `protobuf:"varint,40,opt,name=uploadPort,proto3" json:"uploadPort,omitempty"` + UploadDomain string `protobuf:"bytes,50,opt,name=uploadDomain,proto3" json:"uploadDomain,omitempty"` + Uuid []byte `protobuf:"bytes,60,opt,name=uuid,proto3" json:"uuid,omitempty"` + UploadKey []byte `protobuf:"bytes,70,opt,name=uploadKey,proto3" json:"uploadKey,omitempty"` + TotalSpace int64 `protobuf:"varint,80,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` + UsedSpace int64 `protobuf:"varint,90,opt,name=usedSpace,proto3" json:"usedSpace,omitempty"` +} + +func (x *ApplyUploadHitRspV3) Reset() { + *x = ApplyUploadHitRspV3{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadHitRspV3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadHitRspV3) ProtoMessage() {} + +func (x *ApplyUploadHitRspV3) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[20] + 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 ApplyUploadHitRspV3.ProtoReflect.Descriptor instead. +func (*ApplyUploadHitRspV3) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{20} +} + +func (x *ApplyUploadHitRspV3) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyUploadHitRspV3) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyUploadHitRspV3) GetUploadIp() string { + if x != nil { + return x.UploadIp + } + return "" +} + +func (x *ApplyUploadHitRspV3) GetUploadPort() int32 { + if x != nil { + return x.UploadPort + } + return 0 +} + +func (x *ApplyUploadHitRspV3) GetUploadDomain() string { + if x != nil { + return x.UploadDomain + } + return "" +} + +func (x *ApplyUploadHitRspV3) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *ApplyUploadHitRspV3) GetUploadKey() []byte { + if x != nil { + return x.UploadKey + } + return nil +} + +func (x *ApplyUploadHitRspV3) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +func (x *ApplyUploadHitRspV3) GetUsedSpace() int64 { + if x != nil { + return x.UsedSpace + } + return 0 +} + +type ApplyUploadReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SenderUin int64 `protobuf:"varint,10,opt,name=senderUin,proto3" json:"senderUin,omitempty"` + RecverUin int64 `protobuf:"varint,20,opt,name=recverUin,proto3" json:"recverUin,omitempty"` + FileType int32 `protobuf:"varint,30,opt,name=fileType,proto3" json:"fileType,omitempty"` + FileSize int64 `protobuf:"varint,40,opt,name=fileSize,proto3" json:"fileSize,omitempty"` + FileName string `protobuf:"bytes,50,opt,name=fileName,proto3" json:"fileName,omitempty"` + Bytes_10MMd5 []byte `protobuf:"bytes,60,opt,name=bytes_10mMd5,json=bytes10mMd5,proto3" json:"bytes_10mMd5,omitempty"` + LocalFilepath string `protobuf:"bytes,70,opt,name=localFilepath,proto3" json:"localFilepath,omitempty"` + DangerLevel int32 `protobuf:"varint,80,opt,name=dangerLevel,proto3" json:"dangerLevel,omitempty"` + TotalSpace int64 `protobuf:"varint,90,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` +} + +func (x *ApplyUploadReq) Reset() { + *x = ApplyUploadReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadReq) ProtoMessage() {} + +func (x *ApplyUploadReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[21] + 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 ApplyUploadReq.ProtoReflect.Descriptor instead. +func (*ApplyUploadReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{21} +} + +func (x *ApplyUploadReq) GetSenderUin() int64 { + if x != nil { + return x.SenderUin + } + return 0 +} + +func (x *ApplyUploadReq) GetRecverUin() int64 { + if x != nil { + return x.RecverUin + } + return 0 +} + +func (x *ApplyUploadReq) GetFileType() int32 { + if x != nil { + return x.FileType + } + return 0 +} + +func (x *ApplyUploadReq) GetFileSize() int64 { + if x != nil { + return x.FileSize + } + return 0 +} + +func (x *ApplyUploadReq) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *ApplyUploadReq) GetBytes_10MMd5() []byte { + if x != nil { + return x.Bytes_10MMd5 + } + return nil +} + +func (x *ApplyUploadReq) GetLocalFilepath() string { + if x != nil { + return x.LocalFilepath + } + return "" +} + +func (x *ApplyUploadReq) GetDangerLevel() int32 { + if x != nil { + return x.DangerLevel + } + return 0 +} + +func (x *ApplyUploadReq) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +type ApplyUploadReqV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SenderUin int64 `protobuf:"varint,10,opt,name=senderUin,proto3" json:"senderUin,omitempty"` + RecverUin int64 `protobuf:"varint,20,opt,name=recverUin,proto3" json:"recverUin,omitempty"` + FileSize int64 `protobuf:"varint,30,opt,name=fileSize,proto3" json:"fileSize,omitempty"` + FileName string `protobuf:"bytes,40,opt,name=fileName,proto3" json:"fileName,omitempty"` + Bytes_10MMd5 []byte `protobuf:"bytes,50,opt,name=bytes_10mMd5,json=bytes10mMd5,proto3" json:"bytes_10mMd5,omitempty"` + Bytes_3Sha []byte `protobuf:"bytes,60,opt,name=bytes_3sha,json=bytes3sha,proto3" json:"bytes_3sha,omitempty"` + LocalFilepath string `protobuf:"bytes,70,opt,name=localFilepath,proto3" json:"localFilepath,omitempty"` + DangerLevel int32 `protobuf:"varint,80,opt,name=dangerLevel,proto3" json:"dangerLevel,omitempty"` + TotalSpace int64 `protobuf:"varint,90,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` +} + +func (x *ApplyUploadReqV2) Reset() { + *x = ApplyUploadReqV2{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadReqV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadReqV2) ProtoMessage() {} + +func (x *ApplyUploadReqV2) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[22] + 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 ApplyUploadReqV2.ProtoReflect.Descriptor instead. +func (*ApplyUploadReqV2) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{22} +} + +func (x *ApplyUploadReqV2) GetSenderUin() int64 { + if x != nil { + return x.SenderUin + } + return 0 +} + +func (x *ApplyUploadReqV2) GetRecverUin() int64 { + if x != nil { + return x.RecverUin + } + return 0 +} + +func (x *ApplyUploadReqV2) GetFileSize() int64 { + if x != nil { + return x.FileSize + } + return 0 +} + +func (x *ApplyUploadReqV2) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *ApplyUploadReqV2) GetBytes_10MMd5() []byte { + if x != nil { + return x.Bytes_10MMd5 + } + return nil +} + +func (x *ApplyUploadReqV2) GetBytes_3Sha() []byte { + if x != nil { + return x.Bytes_3Sha + } + return nil +} + +func (x *ApplyUploadReqV2) GetLocalFilepath() string { + if x != nil { + return x.LocalFilepath + } + return "" +} + +func (x *ApplyUploadReqV2) GetDangerLevel() int32 { + if x != nil { + return x.DangerLevel + } + return 0 +} + +func (x *ApplyUploadReqV2) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +type ApplyUploadReqV3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SenderUin int64 `protobuf:"varint,10,opt,name=senderUin,proto3" json:"senderUin,omitempty"` + RecverUin int64 `protobuf:"varint,20,opt,name=recverUin,proto3" json:"recverUin,omitempty"` + FileSize int64 `protobuf:"varint,30,opt,name=fileSize,proto3" json:"fileSize,omitempty"` + FileName string `protobuf:"bytes,40,opt,name=fileName,proto3" json:"fileName,omitempty"` + Bytes_10MMd5 []byte `protobuf:"bytes,50,opt,name=bytes_10mMd5,json=bytes10mMd5,proto3" json:"bytes_10mMd5,omitempty"` + Sha []byte `protobuf:"bytes,60,opt,name=sha,proto3" json:"sha,omitempty"` + LocalFilepath string `protobuf:"bytes,70,opt,name=localFilepath,proto3" json:"localFilepath,omitempty"` + DangerLevel int32 `protobuf:"varint,80,opt,name=dangerLevel,proto3" json:"dangerLevel,omitempty"` + TotalSpace int64 `protobuf:"varint,90,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` +} + +func (x *ApplyUploadReqV3) Reset() { + *x = ApplyUploadReqV3{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadReqV3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadReqV3) ProtoMessage() {} + +func (x *ApplyUploadReqV3) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[23] + 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 ApplyUploadReqV3.ProtoReflect.Descriptor instead. +func (*ApplyUploadReqV3) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{23} +} + +func (x *ApplyUploadReqV3) GetSenderUin() int64 { + if x != nil { + return x.SenderUin + } + return 0 +} + +func (x *ApplyUploadReqV3) GetRecverUin() int64 { + if x != nil { + return x.RecverUin + } + return 0 +} + +func (x *ApplyUploadReqV3) GetFileSize() int64 { + if x != nil { + return x.FileSize + } + return 0 +} + +func (x *ApplyUploadReqV3) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *ApplyUploadReqV3) GetBytes_10MMd5() []byte { + if x != nil { + return x.Bytes_10MMd5 + } + return nil +} + +func (x *ApplyUploadReqV3) GetSha() []byte { + if x != nil { + return x.Sha + } + return nil +} + +func (x *ApplyUploadReqV3) GetLocalFilepath() string { + if x != nil { + return x.LocalFilepath + } + return "" +} + +func (x *ApplyUploadReqV3) GetDangerLevel() int32 { + if x != nil { + return x.DangerLevel + } + return 0 +} + +func (x *ApplyUploadReqV3) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +type ApplyUploadRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + TotalSpace int64 `protobuf:"varint,30,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` + UsedSpace int64 `protobuf:"varint,40,opt,name=usedSpace,proto3" json:"usedSpace,omitempty"` + UploadedSize int64 `protobuf:"varint,50,opt,name=uploadedSize,proto3" json:"uploadedSize,omitempty"` + UploadIp string `protobuf:"bytes,60,opt,name=uploadIp,proto3" json:"uploadIp,omitempty"` + UploadDomain string `protobuf:"bytes,70,opt,name=uploadDomain,proto3" json:"uploadDomain,omitempty"` + UploadPort int32 `protobuf:"varint,80,opt,name=uploadPort,proto3" json:"uploadPort,omitempty"` + Uuid []byte `protobuf:"bytes,90,opt,name=uuid,proto3" json:"uuid,omitempty"` + UploadKey []byte `protobuf:"bytes,100,opt,name=uploadKey,proto3" json:"uploadKey,omitempty"` + BoolFileExist bool `protobuf:"varint,110,opt,name=boolFileExist,proto3" json:"boolFileExist,omitempty"` + PackSize int32 `protobuf:"varint,120,opt,name=packSize,proto3" json:"packSize,omitempty"` + UploadipList []string `protobuf:"bytes,130,rep,name=uploadipList,proto3" json:"uploadipList,omitempty"` +} + +func (x *ApplyUploadRsp) Reset() { + *x = ApplyUploadRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadRsp) ProtoMessage() {} + +func (x *ApplyUploadRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[24] + 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 ApplyUploadRsp.ProtoReflect.Descriptor instead. +func (*ApplyUploadRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{24} +} + +func (x *ApplyUploadRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyUploadRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyUploadRsp) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +func (x *ApplyUploadRsp) GetUsedSpace() int64 { + if x != nil { + return x.UsedSpace + } + return 0 +} + +func (x *ApplyUploadRsp) GetUploadedSize() int64 { + if x != nil { + return x.UploadedSize + } + return 0 +} + +func (x *ApplyUploadRsp) GetUploadIp() string { + if x != nil { + return x.UploadIp + } + return "" +} + +func (x *ApplyUploadRsp) GetUploadDomain() string { + if x != nil { + return x.UploadDomain + } + return "" +} + +func (x *ApplyUploadRsp) GetUploadPort() int32 { + if x != nil { + return x.UploadPort + } + return 0 +} + +func (x *ApplyUploadRsp) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *ApplyUploadRsp) GetUploadKey() []byte { + if x != nil { + return x.UploadKey + } + return nil +} + +func (x *ApplyUploadRsp) GetBoolFileExist() bool { + if x != nil { + return x.BoolFileExist + } + return false +} + +func (x *ApplyUploadRsp) GetPackSize() int32 { + if x != nil { + return x.PackSize + } + return 0 +} + +func (x *ApplyUploadRsp) GetUploadipList() []string { + if x != nil { + return x.UploadipList + } + return nil +} + +type ApplyUploadRspV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + TotalSpace int64 `protobuf:"varint,30,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` + UsedSpace int64 `protobuf:"varint,40,opt,name=usedSpace,proto3" json:"usedSpace,omitempty"` + UploadedSize int64 `protobuf:"varint,50,opt,name=uploadedSize,proto3" json:"uploadedSize,omitempty"` + UploadIp string `protobuf:"bytes,60,opt,name=uploadIp,proto3" json:"uploadIp,omitempty"` + UploadDomain string `protobuf:"bytes,70,opt,name=uploadDomain,proto3" json:"uploadDomain,omitempty"` + UploadPort int32 `protobuf:"varint,80,opt,name=uploadPort,proto3" json:"uploadPort,omitempty"` + Uuid []byte `protobuf:"bytes,90,opt,name=uuid,proto3" json:"uuid,omitempty"` + UploadKey []byte `protobuf:"bytes,100,opt,name=uploadKey,proto3" json:"uploadKey,omitempty"` + BoolFileExist bool `protobuf:"varint,110,opt,name=boolFileExist,proto3" json:"boolFileExist,omitempty"` + PackSize int32 `protobuf:"varint,120,opt,name=packSize,proto3" json:"packSize,omitempty"` + UploadipList []string `protobuf:"bytes,130,rep,name=uploadipList,proto3" json:"uploadipList,omitempty"` + HttpsvrApiVer int32 `protobuf:"varint,140,opt,name=httpsvrApiVer,proto3" json:"httpsvrApiVer,omitempty"` + Sha []byte `protobuf:"bytes,141,opt,name=sha,proto3" json:"sha,omitempty"` +} + +func (x *ApplyUploadRspV2) Reset() { + *x = ApplyUploadRspV2{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadRspV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadRspV2) ProtoMessage() {} + +func (x *ApplyUploadRspV2) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[25] + 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 ApplyUploadRspV2.ProtoReflect.Descriptor instead. +func (*ApplyUploadRspV2) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{25} +} + +func (x *ApplyUploadRspV2) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyUploadRspV2) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyUploadRspV2) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +func (x *ApplyUploadRspV2) GetUsedSpace() int64 { + if x != nil { + return x.UsedSpace + } + return 0 +} + +func (x *ApplyUploadRspV2) GetUploadedSize() int64 { + if x != nil { + return x.UploadedSize + } + return 0 +} + +func (x *ApplyUploadRspV2) GetUploadIp() string { + if x != nil { + return x.UploadIp + } + return "" +} + +func (x *ApplyUploadRspV2) GetUploadDomain() string { + if x != nil { + return x.UploadDomain + } + return "" +} + +func (x *ApplyUploadRspV2) GetUploadPort() int32 { + if x != nil { + return x.UploadPort + } + return 0 +} + +func (x *ApplyUploadRspV2) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *ApplyUploadRspV2) GetUploadKey() []byte { + if x != nil { + return x.UploadKey + } + return nil +} + +func (x *ApplyUploadRspV2) GetBoolFileExist() bool { + if x != nil { + return x.BoolFileExist + } + return false +} + +func (x *ApplyUploadRspV2) GetPackSize() int32 { + if x != nil { + return x.PackSize + } + return 0 +} + +func (x *ApplyUploadRspV2) GetUploadipList() []string { + if x != nil { + return x.UploadipList + } + return nil +} + +func (x *ApplyUploadRspV2) GetHttpsvrApiVer() int32 { + if x != nil { + return x.HttpsvrApiVer + } + return 0 +} + +func (x *ApplyUploadRspV2) GetSha() []byte { + if x != nil { + return x.Sha + } + return nil +} + +type ApplyUploadRspV3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + TotalSpace int64 `protobuf:"varint,30,opt,name=totalSpace,proto3" json:"totalSpace,omitempty"` + UsedSpace int64 `protobuf:"varint,40,opt,name=usedSpace,proto3" json:"usedSpace,omitempty"` + UploadedSize int64 `protobuf:"varint,50,opt,name=uploadedSize,proto3" json:"uploadedSize,omitempty"` + UploadIp string `protobuf:"bytes,60,opt,name=uploadIp,proto3" json:"uploadIp,omitempty"` + UploadDomain string `protobuf:"bytes,70,opt,name=uploadDomain,proto3" json:"uploadDomain,omitempty"` + UploadPort int32 `protobuf:"varint,80,opt,name=uploadPort,proto3" json:"uploadPort,omitempty"` + Uuid []byte `protobuf:"bytes,90,opt,name=uuid,proto3" json:"uuid,omitempty"` + UploadKey []byte `protobuf:"bytes,100,opt,name=uploadKey,proto3" json:"uploadKey,omitempty"` + BoolFileExist bool `protobuf:"varint,110,opt,name=boolFileExist,proto3" json:"boolFileExist,omitempty"` + PackSize int32 `protobuf:"varint,120,opt,name=packSize,proto3" json:"packSize,omitempty"` + UploadipList []string `protobuf:"bytes,130,rep,name=uploadipList,proto3" json:"uploadipList,omitempty"` +} + +func (x *ApplyUploadRspV3) Reset() { + *x = ApplyUploadRspV3{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyUploadRspV3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyUploadRspV3) ProtoMessage() {} + +func (x *ApplyUploadRspV3) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[26] + 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 ApplyUploadRspV3.ProtoReflect.Descriptor instead. +func (*ApplyUploadRspV3) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{26} +} + +func (x *ApplyUploadRspV3) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *ApplyUploadRspV3) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *ApplyUploadRspV3) GetTotalSpace() int64 { + if x != nil { + return x.TotalSpace + } + return 0 +} + +func (x *ApplyUploadRspV3) GetUsedSpace() int64 { + if x != nil { + return x.UsedSpace + } + return 0 +} + +func (x *ApplyUploadRspV3) GetUploadedSize() int64 { + if x != nil { + return x.UploadedSize + } + return 0 +} + +func (x *ApplyUploadRspV3) GetUploadIp() string { + if x != nil { + return x.UploadIp + } + return "" +} + +func (x *ApplyUploadRspV3) GetUploadDomain() string { + if x != nil { + return x.UploadDomain + } + return "" +} + +func (x *ApplyUploadRspV3) GetUploadPort() int32 { + if x != nil { + return x.UploadPort + } + return 0 +} + +func (x *ApplyUploadRspV3) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *ApplyUploadRspV3) GetUploadKey() []byte { + if x != nil { + return x.UploadKey + } + return nil +} + +func (x *ApplyUploadRspV3) GetBoolFileExist() bool { + if x != nil { + return x.BoolFileExist + } + return false +} + +func (x *ApplyUploadRspV3) GetPackSize() int32 { + if x != nil { + return x.PackSize + } + return 0 +} + +func (x *ApplyUploadRspV3) GetUploadipList() []string { + if x != nil { + return x.UploadipList + } + return nil +} + +type DelMessageReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UinSender int64 `protobuf:"varint,1,opt,name=uinSender,proto3" json:"uinSender,omitempty"` + UinReceiver int64 `protobuf:"varint,2,opt,name=uinReceiver,proto3" json:"uinReceiver,omitempty"` + Time int32 `protobuf:"varint,10,opt,name=time,proto3" json:"time,omitempty"` + Random int32 `protobuf:"varint,20,opt,name=random,proto3" json:"random,omitempty"` + SeqNo int32 `protobuf:"varint,30,opt,name=seqNo,proto3" json:"seqNo,omitempty"` +} + +func (x *DelMessageReq) Reset() { + *x = DelMessageReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DelMessageReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DelMessageReq) ProtoMessage() {} + +func (x *DelMessageReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DelMessageReq.ProtoReflect.Descriptor instead. +func (*DelMessageReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{27} +} + +func (x *DelMessageReq) GetUinSender() int64 { + if x != nil { + return x.UinSender + } + return 0 +} + +func (x *DelMessageReq) GetUinReceiver() int64 { + if x != nil { + return x.UinReceiver + } + return 0 +} + +func (x *DelMessageReq) GetTime() int32 { + if x != nil { + return x.Time + } + return 0 +} + +func (x *DelMessageReq) GetRandom() int32 { + if x != nil { + return x.Random + } + return 0 +} + +func (x *DelMessageReq) GetSeqNo() int32 { + if x != nil { + return x.SeqNo + } + return 0 +} + +type DeleteFileReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,10,opt,name=uin,proto3" json:"uin,omitempty"` + PeerUin int64 `protobuf:"varint,20,opt,name=peerUin,proto3" json:"peerUin,omitempty"` + DeleteType int32 `protobuf:"varint,30,opt,name=deleteType,proto3" json:"deleteType,omitempty"` + Uuid []byte `protobuf:"bytes,40,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *DeleteFileReq) Reset() { + *x = DeleteFileReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFileReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFileReq) ProtoMessage() {} + +func (x *DeleteFileReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteFileReq.ProtoReflect.Descriptor instead. +func (*DeleteFileReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{28} +} + +func (x *DeleteFileReq) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *DeleteFileReq) GetPeerUin() int64 { + if x != nil { + return x.PeerUin + } + return 0 +} + +func (x *DeleteFileReq) GetDeleteType() int32 { + if x != nil { + return x.DeleteType + } + return 0 +} + +func (x *DeleteFileReq) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +type DeleteFileRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` +} + +func (x *DeleteFileRsp) Reset() { + *x = DeleteFileRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFileRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFileRsp) ProtoMessage() {} + +func (x *DeleteFileRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteFileRsp.ProtoReflect.Descriptor instead. +func (*DeleteFileRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{29} +} + +func (x *DeleteFileRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *DeleteFileRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +type DownloadInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DownloadKey []byte `protobuf:"bytes,10,opt,name=downloadKey,proto3" json:"downloadKey,omitempty"` + DownloadIp string `protobuf:"bytes,20,opt,name=downloadIp,proto3" json:"downloadIp,omitempty"` + DownloadDomain string `protobuf:"bytes,30,opt,name=downloadDomain,proto3" json:"downloadDomain,omitempty"` + Port int32 `protobuf:"varint,40,opt,name=port,proto3" json:"port,omitempty"` + DownloadUrl string `protobuf:"bytes,50,opt,name=downloadUrl,proto3" json:"downloadUrl,omitempty"` + DownloadipList []string `protobuf:"bytes,60,rep,name=downloadipList,proto3" json:"downloadipList,omitempty"` + Cookie string `protobuf:"bytes,70,opt,name=cookie,proto3" json:"cookie,omitempty"` +} + +func (x *DownloadInfo) Reset() { + *x = DownloadInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DownloadInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DownloadInfo) ProtoMessage() {} + +func (x *DownloadInfo) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DownloadInfo.ProtoReflect.Descriptor instead. +func (*DownloadInfo) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{30} +} + +func (x *DownloadInfo) GetDownloadKey() []byte { + if x != nil { + return x.DownloadKey + } + return nil +} + +func (x *DownloadInfo) GetDownloadIp() string { + if x != nil { + return x.DownloadIp + } + return "" +} + +func (x *DownloadInfo) GetDownloadDomain() string { + if x != nil { + return x.DownloadDomain + } + return "" +} + +func (x *DownloadInfo) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +func (x *DownloadInfo) GetDownloadUrl() string { + if x != nil { + return x.DownloadUrl + } + return "" +} + +func (x *DownloadInfo) GetDownloadipList() []string { + if x != nil { + return x.DownloadipList + } + return nil +} + +func (x *DownloadInfo) GetCookie() string { + if x != nil { + return x.Cookie + } + return "" +} + +type DownloadSuccReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,10,opt,name=uin,proto3" json:"uin,omitempty"` + Uuid []byte `protobuf:"bytes,20,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *DownloadSuccReq) Reset() { + *x = DownloadSuccReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DownloadSuccReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DownloadSuccReq) ProtoMessage() {} + +func (x *DownloadSuccReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DownloadSuccReq.ProtoReflect.Descriptor instead. +func (*DownloadSuccReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{31} +} + +func (x *DownloadSuccReq) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *DownloadSuccReq) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +type DownloadSuccRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + DownStat int32 `protobuf:"varint,30,opt,name=downStat,proto3" json:"downStat,omitempty"` +} + +func (x *DownloadSuccRsp) Reset() { + *x = DownloadSuccRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DownloadSuccRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DownloadSuccRsp) ProtoMessage() {} + +func (x *DownloadSuccRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DownloadSuccRsp.ProtoReflect.Descriptor instead. +func (*DownloadSuccRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{32} +} + +func (x *DownloadSuccRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *DownloadSuccRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *DownloadSuccRsp) GetDownStat() int32 { + if x != nil { + return x.DownStat + } + return 0 +} + +type ExtensionReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Type int64 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` + DstPhonenum string `protobuf:"bytes,3,opt,name=dstPhonenum,proto3" json:"dstPhonenum,omitempty"` + PhoneConvertType int32 `protobuf:"varint,4,opt,name=phoneConvertType,proto3" json:"phoneConvertType,omitempty"` + Sig []byte `protobuf:"bytes,20,opt,name=sig,proto3" json:"sig,omitempty"` + RouteId int64 `protobuf:"varint,100,opt,name=routeId,proto3" json:"routeId,omitempty"` + DelMessageReq *DelMessageReq `protobuf:"bytes,90100,opt,name=delMessageReq,proto3" json:"delMessageReq,omitempty"` + DownloadUrlType int32 `protobuf:"varint,90200,opt,name=downloadUrlType,proto3" json:"downloadUrlType,omitempty"` + PttFormat int32 `protobuf:"varint,90300,opt,name=pttFormat,proto3" json:"pttFormat,omitempty"` + IsNeedInnerIp int32 `protobuf:"varint,90400,opt,name=isNeedInnerIp,proto3" json:"isNeedInnerIp,omitempty"` + NetType int32 `protobuf:"varint,90500,opt,name=netType,proto3" json:"netType,omitempty"` + VoiceType int32 `protobuf:"varint,90600,opt,name=voiceType,proto3" json:"voiceType,omitempty"` + FileType int32 `protobuf:"varint,90700,opt,name=fileType,proto3" json:"fileType,omitempty"` + PttTime int32 `protobuf:"varint,90800,opt,name=pttTime,proto3" json:"pttTime,omitempty"` +} + +func (x *ExtensionReq) Reset() { + *x = ExtensionReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtensionReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtensionReq) ProtoMessage() {} + +func (x *ExtensionReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtensionReq.ProtoReflect.Descriptor instead. +func (*ExtensionReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{33} +} + +func (x *ExtensionReq) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ExtensionReq) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *ExtensionReq) GetDstPhonenum() string { + if x != nil { + return x.DstPhonenum + } + return "" +} + +func (x *ExtensionReq) GetPhoneConvertType() int32 { + if x != nil { + return x.PhoneConvertType + } + return 0 +} + +func (x *ExtensionReq) GetSig() []byte { + if x != nil { + return x.Sig + } + return nil +} + +func (x *ExtensionReq) GetRouteId() int64 { + if x != nil { + return x.RouteId + } + return 0 +} + +func (x *ExtensionReq) GetDelMessageReq() *DelMessageReq { + if x != nil { + return x.DelMessageReq + } + return nil +} + +func (x *ExtensionReq) GetDownloadUrlType() int32 { + if x != nil { + return x.DownloadUrlType + } + return 0 +} + +func (x *ExtensionReq) GetPttFormat() int32 { + if x != nil { + return x.PttFormat + } + return 0 +} + +func (x *ExtensionReq) GetIsNeedInnerIp() int32 { + if x != nil { + return x.IsNeedInnerIp + } + return 0 +} + +func (x *ExtensionReq) GetNetType() int32 { + if x != nil { + return x.NetType + } + return 0 +} + +func (x *ExtensionReq) GetVoiceType() int32 { + if x != nil { + return x.VoiceType + } + return 0 +} + +func (x *ExtensionReq) GetFileType() int32 { + if x != nil { + return x.FileType + } + return 0 +} + +func (x *ExtensionReq) GetPttTime() int32 { + if x != nil { + return x.PttTime + } + return 0 +} + +type ExtensionRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ExtensionRsp) Reset() { + *x = ExtensionRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtensionRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtensionRsp) ProtoMessage() {} + +func (x *ExtensionRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[34] + 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 ExtensionRsp.ProtoReflect.Descriptor instead. +func (*ExtensionRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{34} +} + +type FileInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,1,opt,name=uin,proto3" json:"uin,omitempty"` + DangerEvel int32 `protobuf:"varint,2,opt,name=dangerEvel,proto3" json:"dangerEvel,omitempty"` + FileSize int64 `protobuf:"varint,3,opt,name=fileSize,proto3" json:"fileSize,omitempty"` + LifeTime int32 `protobuf:"varint,4,opt,name=lifeTime,proto3" json:"lifeTime,omitempty"` + UploadTime int32 `protobuf:"varint,5,opt,name=uploadTime,proto3" json:"uploadTime,omitempty"` + Uuid []byte `protobuf:"bytes,6,opt,name=uuid,proto3" json:"uuid,omitempty"` + FileName string `protobuf:"bytes,7,opt,name=fileName,proto3" json:"fileName,omitempty"` + AbsFileType int32 `protobuf:"varint,90,opt,name=absFileType,proto3" json:"absFileType,omitempty"` + Bytes_10MMd5 []byte `protobuf:"bytes,100,opt,name=bytes_10mMd5,json=bytes10mMd5,proto3" json:"bytes_10mMd5,omitempty"` + Sha []byte `protobuf:"bytes,101,opt,name=sha,proto3" json:"sha,omitempty"` + ClientType int32 `protobuf:"varint,110,opt,name=clientType,proto3" json:"clientType,omitempty"` + OwnerUin int64 `protobuf:"varint,120,opt,name=ownerUin,proto3" json:"ownerUin,omitempty"` + PeerUin int64 `protobuf:"varint,121,opt,name=peerUin,proto3" json:"peerUin,omitempty"` + ExpireTime int32 `protobuf:"varint,130,opt,name=expireTime,proto3" json:"expireTime,omitempty"` +} + +func (x *FileInfo) Reset() { + *x = FileInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileInfo) ProtoMessage() {} + +func (x *FileInfo) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[35] + 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 FileInfo.ProtoReflect.Descriptor instead. +func (*FileInfo) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{35} +} + +func (x *FileInfo) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *FileInfo) GetDangerEvel() int32 { + if x != nil { + return x.DangerEvel + } + return 0 +} + +func (x *FileInfo) GetFileSize() int64 { + if x != nil { + return x.FileSize + } + return 0 +} + +func (x *FileInfo) GetLifeTime() int32 { + if x != nil { + return x.LifeTime + } + return 0 +} + +func (x *FileInfo) GetUploadTime() int32 { + if x != nil { + return x.UploadTime + } + return 0 +} + +func (x *FileInfo) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *FileInfo) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *FileInfo) GetAbsFileType() int32 { + if x != nil { + return x.AbsFileType + } + return 0 +} + +func (x *FileInfo) GetBytes_10MMd5() []byte { + if x != nil { + return x.Bytes_10MMd5 + } + return nil +} + +func (x *FileInfo) GetSha() []byte { + if x != nil { + return x.Sha + } + return nil +} + +func (x *FileInfo) GetClientType() int32 { + if x != nil { + return x.ClientType + } + return 0 +} + +func (x *FileInfo) GetOwnerUin() int64 { + if x != nil { + return x.OwnerUin + } + return 0 +} + +func (x *FileInfo) GetPeerUin() int64 { + if x != nil { + return x.PeerUin + } + return 0 +} + +func (x *FileInfo) GetExpireTime() int32 { + if x != nil { + return x.ExpireTime + } + return 0 +} + +type FileQueryReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,10,opt,name=uin,proto3" json:"uin,omitempty"` + Uuid []byte `protobuf:"bytes,20,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *FileQueryReq) Reset() { + *x = FileQueryReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileQueryReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileQueryReq) ProtoMessage() {} + +func (x *FileQueryReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[36] + 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 FileQueryReq.ProtoReflect.Descriptor instead. +func (*FileQueryReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{36} +} + +func (x *FileQueryReq) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *FileQueryReq) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +type FileQueryRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + FileInfo *FileInfo `protobuf:"bytes,30,opt,name=fileInfo,proto3" json:"fileInfo,omitempty"` +} + +func (x *FileQueryRsp) Reset() { + *x = FileQueryRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileQueryRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileQueryRsp) ProtoMessage() {} + +func (x *FileQueryRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[37] + 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 FileQueryRsp.ProtoReflect.Descriptor instead. +func (*FileQueryRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{37} +} + +func (x *FileQueryRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *FileQueryRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *FileQueryRsp) GetFileInfo() *FileInfo { + if x != nil { + return x.FileInfo + } + return nil +} + +type RecallFileReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,1,opt,name=uin,proto3" json:"uin,omitempty"` + Uuid []byte `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *RecallFileReq) Reset() { + *x = RecallFileReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RecallFileReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecallFileReq) ProtoMessage() {} + +func (x *RecallFileReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[38] + 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 RecallFileReq.ProtoReflect.Descriptor instead. +func (*RecallFileReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{38} +} + +func (x *RecallFileReq) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *RecallFileReq) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +type RecallFileRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,1,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,2,opt,name=retMsg,proto3" json:"retMsg,omitempty"` +} + +func (x *RecallFileRsp) Reset() { + *x = RecallFileRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RecallFileRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecallFileRsp) ProtoMessage() {} + +func (x *RecallFileRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[39] + 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 RecallFileRsp.ProtoReflect.Descriptor instead. +func (*RecallFileRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{39} +} + +func (x *RecallFileRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *RecallFileRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +type RecvListQueryReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,1,opt,name=uin,proto3" json:"uin,omitempty"` + BeginIndex int32 `protobuf:"varint,2,opt,name=beginIndex,proto3" json:"beginIndex,omitempty"` + ReqCount int32 `protobuf:"varint,3,opt,name=reqCount,proto3" json:"reqCount,omitempty"` +} + +func (x *RecvListQueryReq) Reset() { + *x = RecvListQueryReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RecvListQueryReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecvListQueryReq) ProtoMessage() {} + +func (x *RecvListQueryReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[40] + 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 RecvListQueryReq.ProtoReflect.Descriptor instead. +func (*RecvListQueryReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{40} +} + +func (x *RecvListQueryReq) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *RecvListQueryReq) GetBeginIndex() int32 { + if x != nil { + return x.BeginIndex + } + return 0 +} + +func (x *RecvListQueryReq) GetReqCount() int32 { + if x != nil { + return x.ReqCount + } + return 0 +} + +type RecvListQueryRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,1,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,2,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + FileTotCount int32 `protobuf:"varint,3,opt,name=fileTotCount,proto3" json:"fileTotCount,omitempty"` + BeginIndex int32 `protobuf:"varint,4,opt,name=beginIndex,proto3" json:"beginIndex,omitempty"` + RspFileCount int32 `protobuf:"varint,5,opt,name=rspFileCount,proto3" json:"rspFileCount,omitempty"` + IsEnd int32 `protobuf:"varint,6,opt,name=isEnd,proto3" json:"isEnd,omitempty"` + FileList []*FileInfo `protobuf:"bytes,7,rep,name=fileList,proto3" json:"fileList,omitempty"` +} + +func (x *RecvListQueryRsp) Reset() { + *x = RecvListQueryRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RecvListQueryRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecvListQueryRsp) ProtoMessage() {} + +func (x *RecvListQueryRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[41] + 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 RecvListQueryRsp.ProtoReflect.Descriptor instead. +func (*RecvListQueryRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{41} +} + +func (x *RecvListQueryRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *RecvListQueryRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *RecvListQueryRsp) GetFileTotCount() int32 { + if x != nil { + return x.FileTotCount + } + return 0 +} + +func (x *RecvListQueryRsp) GetBeginIndex() int32 { + if x != nil { + return x.BeginIndex + } + return 0 +} + +func (x *RecvListQueryRsp) GetRspFileCount() int32 { + if x != nil { + return x.RspFileCount + } + return 0 +} + +func (x *RecvListQueryRsp) GetIsEnd() int32 { + if x != nil { + return x.IsEnd + } + return 0 +} + +func (x *RecvListQueryRsp) GetFileList() []*FileInfo { + if x != nil { + return x.FileList + } + return nil +} + +type RenewFileReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,1,opt,name=uin,proto3" json:"uin,omitempty"` + Uuid []byte `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` + AddTtl int32 `protobuf:"varint,3,opt,name=addTtl,proto3" json:"addTtl,omitempty"` +} + +func (x *RenewFileReq) Reset() { + *x = RenewFileReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RenewFileReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenewFileReq) ProtoMessage() {} + +func (x *RenewFileReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[42] + 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 RenewFileReq.ProtoReflect.Descriptor instead. +func (*RenewFileReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{42} +} + +func (x *RenewFileReq) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *RenewFileReq) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +func (x *RenewFileReq) GetAddTtl() int32 { + if x != nil { + return x.AddTtl + } + return 0 +} + +type RenewFileRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,1,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,2,opt,name=retMsg,proto3" json:"retMsg,omitempty"` +} + +func (x *RenewFileRsp) Reset() { + *x = RenewFileRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RenewFileRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenewFileRsp) ProtoMessage() {} + +func (x *RenewFileRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[43] + 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 RenewFileRsp.ProtoReflect.Descriptor instead. +func (*RenewFileRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{43} +} + +func (x *RenewFileRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *RenewFileRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +type ReqBody struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cmd int32 `protobuf:"varint,1,opt,name=cmd,proto3" json:"cmd,omitempty"` + Seq int32 `protobuf:"varint,2,opt,name=seq,proto3" json:"seq,omitempty"` + RecvListQueryReq *RecvListQueryReq `protobuf:"bytes,3,opt,name=recvListQueryReq,proto3" json:"recvListQueryReq,omitempty"` + SendListQueryReq *SendListQueryReq `protobuf:"bytes,4,opt,name=sendListQueryReq,proto3" json:"sendListQueryReq,omitempty"` + RenewFileReq *RenewFileReq `protobuf:"bytes,5,opt,name=renewFileReq,proto3" json:"renewFileReq,omitempty"` + RecallFileReq *RecallFileReq `protobuf:"bytes,6,opt,name=recallFileReq,proto3" json:"recallFileReq,omitempty"` + ApplyUploadReq *ApplyUploadReq `protobuf:"bytes,7,opt,name=applyUploadReq,proto3" json:"applyUploadReq,omitempty"` + ApplyUploadHitReq *ApplyUploadHitReq `protobuf:"bytes,8,opt,name=applyUploadHitReq,proto3" json:"applyUploadHitReq,omitempty"` + ApplyForwardFileReq *ApplyForwardFileReq `protobuf:"bytes,9,opt,name=applyForwardFileReq,proto3" json:"applyForwardFileReq,omitempty"` + UploadSuccReq *UploadSuccReq `protobuf:"bytes,10,opt,name=uploadSuccReq,proto3" json:"uploadSuccReq,omitempty"` + DeleteFileReq *DeleteFileReq `protobuf:"bytes,11,opt,name=deleteFileReq,proto3" json:"deleteFileReq,omitempty"` + DownloadSuccReq *DownloadSuccReq `protobuf:"bytes,12,opt,name=downloadSuccReq,proto3" json:"downloadSuccReq,omitempty"` + ApplyDownloadAbsReq *ApplyDownloadAbsReq `protobuf:"bytes,13,opt,name=applyDownloadAbsReq,proto3" json:"applyDownloadAbsReq,omitempty"` + ApplyDownloadReq *ApplyDownloadReq `protobuf:"bytes,14,opt,name=applyDownloadReq,proto3" json:"applyDownloadReq,omitempty"` + ApplyListDownloadReq *ApplyListDownloadReq `protobuf:"bytes,15,opt,name=applyListDownloadReq,proto3" json:"applyListDownloadReq,omitempty"` + FileQueryReq *FileQueryReq `protobuf:"bytes,16,opt,name=fileQueryReq,proto3" json:"fileQueryReq,omitempty"` + ApplyCopyFromReq *ApplyCopyFromReq `protobuf:"bytes,17,opt,name=applyCopyFromReq,proto3" json:"applyCopyFromReq,omitempty"` + ApplyUploadReqV2 *ApplyUploadReqV2 `protobuf:"bytes,18,opt,name=applyUploadReqV2,proto3" json:"applyUploadReqV2,omitempty"` + ApplyUploadReqV3 *ApplyUploadReqV3 `protobuf:"bytes,19,opt,name=applyUploadReqV3,proto3" json:"applyUploadReqV3,omitempty"` + ApplyUploadHitReqV2 *ApplyUploadHitReqV2 `protobuf:"bytes,20,opt,name=applyUploadHitReqV2,proto3" json:"applyUploadHitReqV2,omitempty"` + ApplyUploadHitReqV3 *ApplyUploadHitReqV3 `protobuf:"bytes,21,opt,name=applyUploadHitReqV3,proto3" json:"applyUploadHitReqV3,omitempty"` + BusinessId int32 `protobuf:"varint,101,opt,name=businessId,proto3" json:"businessId,omitempty"` + ClientType int32 `protobuf:"varint,102,opt,name=clientType,proto3" json:"clientType,omitempty"` + ApplyCopyToReq *ApplyCopyToReq `protobuf:"bytes,90000,opt,name=applyCopyToReq,proto3" json:"applyCopyToReq,omitempty"` + //ApplyCleanTrafficReq applyCleanTrafficReq = 90001; empty message + ApplyGetTrafficReq *ApplyGetTrafficReq `protobuf:"bytes,90002,opt,name=applyGetTrafficReq,proto3" json:"applyGetTrafficReq,omitempty"` + ExtensionReq *ExtensionReq `protobuf:"bytes,99999,opt,name=extensionReq,proto3" json:"extensionReq,omitempty"` +} + +func (x *ReqBody) Reset() { + *x = ReqBody{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReqBody) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqBody) ProtoMessage() {} + +func (x *ReqBody) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[44] + 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 ReqBody.ProtoReflect.Descriptor instead. +func (*ReqBody) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{44} +} + +func (x *ReqBody) GetCmd() int32 { + if x != nil { + return x.Cmd + } + return 0 +} + +func (x *ReqBody) GetSeq() int32 { + if x != nil { + return x.Seq + } + return 0 +} + +func (x *ReqBody) GetRecvListQueryReq() *RecvListQueryReq { + if x != nil { + return x.RecvListQueryReq + } + return nil +} + +func (x *ReqBody) GetSendListQueryReq() *SendListQueryReq { + if x != nil { + return x.SendListQueryReq + } + return nil +} + +func (x *ReqBody) GetRenewFileReq() *RenewFileReq { + if x != nil { + return x.RenewFileReq + } + return nil +} + +func (x *ReqBody) GetRecallFileReq() *RecallFileReq { + if x != nil { + return x.RecallFileReq + } + return nil +} + +func (x *ReqBody) GetApplyUploadReq() *ApplyUploadReq { + if x != nil { + return x.ApplyUploadReq + } + return nil +} + +func (x *ReqBody) GetApplyUploadHitReq() *ApplyUploadHitReq { + if x != nil { + return x.ApplyUploadHitReq + } + return nil +} + +func (x *ReqBody) GetApplyForwardFileReq() *ApplyForwardFileReq { + if x != nil { + return x.ApplyForwardFileReq + } + return nil +} + +func (x *ReqBody) GetUploadSuccReq() *UploadSuccReq { + if x != nil { + return x.UploadSuccReq + } + return nil +} + +func (x *ReqBody) GetDeleteFileReq() *DeleteFileReq { + if x != nil { + return x.DeleteFileReq + } + return nil +} + +func (x *ReqBody) GetDownloadSuccReq() *DownloadSuccReq { + if x != nil { + return x.DownloadSuccReq + } + return nil +} + +func (x *ReqBody) GetApplyDownloadAbsReq() *ApplyDownloadAbsReq { + if x != nil { + return x.ApplyDownloadAbsReq + } + return nil +} + +func (x *ReqBody) GetApplyDownloadReq() *ApplyDownloadReq { + if x != nil { + return x.ApplyDownloadReq + } + return nil +} + +func (x *ReqBody) GetApplyListDownloadReq() *ApplyListDownloadReq { + if x != nil { + return x.ApplyListDownloadReq + } + return nil +} + +func (x *ReqBody) GetFileQueryReq() *FileQueryReq { + if x != nil { + return x.FileQueryReq + } + return nil +} + +func (x *ReqBody) GetApplyCopyFromReq() *ApplyCopyFromReq { + if x != nil { + return x.ApplyCopyFromReq + } + return nil +} + +func (x *ReqBody) GetApplyUploadReqV2() *ApplyUploadReqV2 { + if x != nil { + return x.ApplyUploadReqV2 + } + return nil +} + +func (x *ReqBody) GetApplyUploadReqV3() *ApplyUploadReqV3 { + if x != nil { + return x.ApplyUploadReqV3 + } + return nil +} + +func (x *ReqBody) GetApplyUploadHitReqV2() *ApplyUploadHitReqV2 { + if x != nil { + return x.ApplyUploadHitReqV2 + } + return nil +} + +func (x *ReqBody) GetApplyUploadHitReqV3() *ApplyUploadHitReqV3 { + if x != nil { + return x.ApplyUploadHitReqV3 + } + return nil +} + +func (x *ReqBody) GetBusinessId() int32 { + if x != nil { + return x.BusinessId + } + return 0 +} + +func (x *ReqBody) GetClientType() int32 { + if x != nil { + return x.ClientType + } + return 0 +} + +func (x *ReqBody) GetApplyCopyToReq() *ApplyCopyToReq { + if x != nil { + return x.ApplyCopyToReq + } + return nil +} + +func (x *ReqBody) GetApplyGetTrafficReq() *ApplyGetTrafficReq { + if x != nil { + return x.ApplyGetTrafficReq + } + return nil +} + +func (x *ReqBody) GetExtensionReq() *ExtensionReq { + if x != nil { + return x.ExtensionReq + } + return nil +} + +type RspBody struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cmd int32 `protobuf:"varint,1,opt,name=cmd,proto3" json:"cmd,omitempty"` + Seq int32 `protobuf:"varint,2,opt,name=seq,proto3" json:"seq,omitempty"` + RecvListQueryRsp *RecvListQueryRsp `protobuf:"bytes,3,opt,name=recvListQueryRsp,proto3" json:"recvListQueryRsp,omitempty"` + SendListQueryRsp *SendListQueryRsp `protobuf:"bytes,4,opt,name=sendListQueryRsp,proto3" json:"sendListQueryRsp,omitempty"` + RenewFileRsp *RenewFileRsp `protobuf:"bytes,5,opt,name=renewFileRsp,proto3" json:"renewFileRsp,omitempty"` + RecallFileRsp *RecallFileRsp `protobuf:"bytes,6,opt,name=recallFileRsp,proto3" json:"recallFileRsp,omitempty"` + ApplyUploadRsp *ApplyUploadRsp `protobuf:"bytes,7,opt,name=applyUploadRsp,proto3" json:"applyUploadRsp,omitempty"` + ApplyUploadHitRsp *ApplyUploadHitRsp `protobuf:"bytes,8,opt,name=applyUploadHitRsp,proto3" json:"applyUploadHitRsp,omitempty"` + ApplyForwardFileRsp *ApplyForwardFileRsp `protobuf:"bytes,9,opt,name=applyForwardFileRsp,proto3" json:"applyForwardFileRsp,omitempty"` + UploadSuccRsp *UploadSuccRsp `protobuf:"bytes,10,opt,name=uploadSuccRsp,proto3" json:"uploadSuccRsp,omitempty"` + DeleteFileRsp *DeleteFileRsp `protobuf:"bytes,11,opt,name=deleteFileRsp,proto3" json:"deleteFileRsp,omitempty"` + DownloadSuccRsp *DownloadSuccRsp `protobuf:"bytes,12,opt,name=downloadSuccRsp,proto3" json:"downloadSuccRsp,omitempty"` + ApplyDownloadAbsRsp *ApplyDownloadAbsRsp `protobuf:"bytes,13,opt,name=applyDownloadAbsRsp,proto3" json:"applyDownloadAbsRsp,omitempty"` + ApplyDownloadRsp *ApplyDownloadRsp `protobuf:"bytes,14,opt,name=applyDownloadRsp,proto3" json:"applyDownloadRsp,omitempty"` + ApplyListDownloadRsp *ApplyListDownloadRsp `protobuf:"bytes,15,opt,name=applyListDownloadRsp,proto3" json:"applyListDownloadRsp,omitempty"` + FileQueryRsp *FileQueryRsp `protobuf:"bytes,16,opt,name=fileQueryRsp,proto3" json:"fileQueryRsp,omitempty"` + ApplyCopyFromRsp *ApplyCopyFromRsp `protobuf:"bytes,17,opt,name=applyCopyFromRsp,proto3" json:"applyCopyFromRsp,omitempty"` + ApplyUploadRspV2 *ApplyUploadRspV2 `protobuf:"bytes,18,opt,name=applyUploadRspV2,proto3" json:"applyUploadRspV2,omitempty"` + ApplyUploadRspV3 *ApplyUploadRspV3 `protobuf:"bytes,19,opt,name=applyUploadRspV3,proto3" json:"applyUploadRspV3,omitempty"` + ApplyUploadHitRspV2 *ApplyUploadHitRspV2 `protobuf:"bytes,20,opt,name=applyUploadHitRspV2,proto3" json:"applyUploadHitRspV2,omitempty"` + ApplyUploadHitRspV3 *ApplyUploadHitRspV3 `protobuf:"bytes,21,opt,name=applyUploadHitRspV3,proto3" json:"applyUploadHitRspV3,omitempty"` + BusinessId int32 `protobuf:"varint,101,opt,name=businessId,proto3" json:"businessId,omitempty"` + ClientType int32 `protobuf:"varint,102,opt,name=clientType,proto3" json:"clientType,omitempty"` + ApplyCopyToRsp *ApplyCopyToRsp `protobuf:"bytes,90000,opt,name=applyCopyToRsp,proto3" json:"applyCopyToRsp,omitempty"` + ApplyCleanTrafficRsp *ApplyCleanTrafficRsp `protobuf:"bytes,90001,opt,name=applyCleanTrafficRsp,proto3" json:"applyCleanTrafficRsp,omitempty"` + ApplyGetTrafficRsp *ApplyGetTrafficRsp `protobuf:"bytes,90002,opt,name=applyGetTrafficRsp,proto3" json:"applyGetTrafficRsp,omitempty"` + ExtensionRsp *ExtensionRsp `protobuf:"bytes,99999,opt,name=extensionRsp,proto3" json:"extensionRsp,omitempty"` +} + +func (x *RspBody) Reset() { + *x = RspBody{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RspBody) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RspBody) ProtoMessage() {} + +func (x *RspBody) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[45] + 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 RspBody.ProtoReflect.Descriptor instead. +func (*RspBody) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{45} +} + +func (x *RspBody) GetCmd() int32 { + if x != nil { + return x.Cmd + } + return 0 +} + +func (x *RspBody) GetSeq() int32 { + if x != nil { + return x.Seq + } + return 0 +} + +func (x *RspBody) GetRecvListQueryRsp() *RecvListQueryRsp { + if x != nil { + return x.RecvListQueryRsp + } + return nil +} + +func (x *RspBody) GetSendListQueryRsp() *SendListQueryRsp { + if x != nil { + return x.SendListQueryRsp + } + return nil +} + +func (x *RspBody) GetRenewFileRsp() *RenewFileRsp { + if x != nil { + return x.RenewFileRsp + } + return nil +} + +func (x *RspBody) GetRecallFileRsp() *RecallFileRsp { + if x != nil { + return x.RecallFileRsp + } + return nil +} + +func (x *RspBody) GetApplyUploadRsp() *ApplyUploadRsp { + if x != nil { + return x.ApplyUploadRsp + } + return nil +} + +func (x *RspBody) GetApplyUploadHitRsp() *ApplyUploadHitRsp { + if x != nil { + return x.ApplyUploadHitRsp + } + return nil +} + +func (x *RspBody) GetApplyForwardFileRsp() *ApplyForwardFileRsp { + if x != nil { + return x.ApplyForwardFileRsp + } + return nil +} + +func (x *RspBody) GetUploadSuccRsp() *UploadSuccRsp { + if x != nil { + return x.UploadSuccRsp + } + return nil +} + +func (x *RspBody) GetDeleteFileRsp() *DeleteFileRsp { + if x != nil { + return x.DeleteFileRsp + } + return nil +} + +func (x *RspBody) GetDownloadSuccRsp() *DownloadSuccRsp { + if x != nil { + return x.DownloadSuccRsp + } + return nil +} + +func (x *RspBody) GetApplyDownloadAbsRsp() *ApplyDownloadAbsRsp { + if x != nil { + return x.ApplyDownloadAbsRsp + } + return nil +} + +func (x *RspBody) GetApplyDownloadRsp() *ApplyDownloadRsp { + if x != nil { + return x.ApplyDownloadRsp + } + return nil +} + +func (x *RspBody) GetApplyListDownloadRsp() *ApplyListDownloadRsp { + if x != nil { + return x.ApplyListDownloadRsp + } + return nil +} + +func (x *RspBody) GetFileQueryRsp() *FileQueryRsp { + if x != nil { + return x.FileQueryRsp + } + return nil +} + +func (x *RspBody) GetApplyCopyFromRsp() *ApplyCopyFromRsp { + if x != nil { + return x.ApplyCopyFromRsp + } + return nil +} + +func (x *RspBody) GetApplyUploadRspV2() *ApplyUploadRspV2 { + if x != nil { + return x.ApplyUploadRspV2 + } + return nil +} + +func (x *RspBody) GetApplyUploadRspV3() *ApplyUploadRspV3 { + if x != nil { + return x.ApplyUploadRspV3 + } + return nil +} + +func (x *RspBody) GetApplyUploadHitRspV2() *ApplyUploadHitRspV2 { + if x != nil { + return x.ApplyUploadHitRspV2 + } + return nil +} + +func (x *RspBody) GetApplyUploadHitRspV3() *ApplyUploadHitRspV3 { + if x != nil { + return x.ApplyUploadHitRspV3 + } + return nil +} + +func (x *RspBody) GetBusinessId() int32 { + if x != nil { + return x.BusinessId + } + return 0 +} + +func (x *RspBody) GetClientType() int32 { + if x != nil { + return x.ClientType + } + return 0 +} + +func (x *RspBody) GetApplyCopyToRsp() *ApplyCopyToRsp { + if x != nil { + return x.ApplyCopyToRsp + } + return nil +} + +func (x *RspBody) GetApplyCleanTrafficRsp() *ApplyCleanTrafficRsp { + if x != nil { + return x.ApplyCleanTrafficRsp + } + return nil +} + +func (x *RspBody) GetApplyGetTrafficRsp() *ApplyGetTrafficRsp { + if x != nil { + return x.ApplyGetTrafficRsp + } + return nil +} + +func (x *RspBody) GetExtensionRsp() *ExtensionRsp { + if x != nil { + return x.ExtensionRsp + } + return nil +} + +type SendListQueryReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin int64 `protobuf:"varint,1,opt,name=uin,proto3" json:"uin,omitempty"` + BeginIndex int32 `protobuf:"varint,2,opt,name=beginIndex,proto3" json:"beginIndex,omitempty"` + ReqCount int32 `protobuf:"varint,3,opt,name=reqCount,proto3" json:"reqCount,omitempty"` +} + +func (x *SendListQueryReq) Reset() { + *x = SendListQueryReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendListQueryReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendListQueryReq) ProtoMessage() {} + +func (x *SendListQueryReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[46] + 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 SendListQueryReq.ProtoReflect.Descriptor instead. +func (*SendListQueryReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{46} +} + +func (x *SendListQueryReq) GetUin() int64 { + if x != nil { + return x.Uin + } + return 0 +} + +func (x *SendListQueryReq) GetBeginIndex() int32 { + if x != nil { + return x.BeginIndex + } + return 0 +} + +func (x *SendListQueryReq) GetReqCount() int32 { + if x != nil { + return x.ReqCount + } + return 0 +} + +type SendListQueryRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,1,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,2,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + FileTotCount int32 `protobuf:"varint,3,opt,name=fileTotCount,proto3" json:"fileTotCount,omitempty"` + BeginIndex int32 `protobuf:"varint,4,opt,name=beginIndex,proto3" json:"beginIndex,omitempty"` + RspFileCount int32 `protobuf:"varint,5,opt,name=rspFileCount,proto3" json:"rspFileCount,omitempty"` + IsEnd int32 `protobuf:"varint,6,opt,name=isEnd,proto3" json:"isEnd,omitempty"` + TotLimit int64 `protobuf:"varint,7,opt,name=totLimit,proto3" json:"totLimit,omitempty"` + UsedLimit int64 `protobuf:"varint,8,opt,name=usedLimit,proto3" json:"usedLimit,omitempty"` + FileList []*FileInfo `protobuf:"bytes,9,rep,name=fileList,proto3" json:"fileList,omitempty"` +} + +func (x *SendListQueryRsp) Reset() { + *x = SendListQueryRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendListQueryRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendListQueryRsp) ProtoMessage() {} + +func (x *SendListQueryRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[47] + 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 SendListQueryRsp.ProtoReflect.Descriptor instead. +func (*SendListQueryRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{47} +} + +func (x *SendListQueryRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *SendListQueryRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *SendListQueryRsp) GetFileTotCount() int32 { + if x != nil { + return x.FileTotCount + } + return 0 +} + +func (x *SendListQueryRsp) GetBeginIndex() int32 { + if x != nil { + return x.BeginIndex + } + return 0 +} + +func (x *SendListQueryRsp) GetRspFileCount() int32 { + if x != nil { + return x.RspFileCount + } + return 0 +} + +func (x *SendListQueryRsp) GetIsEnd() int32 { + if x != nil { + return x.IsEnd + } + return 0 +} + +func (x *SendListQueryRsp) GetTotLimit() int64 { + if x != nil { + return x.TotLimit + } + return 0 +} + +func (x *SendListQueryRsp) GetUsedLimit() int64 { + if x != nil { + return x.UsedLimit + } + return 0 +} + +func (x *SendListQueryRsp) GetFileList() []*FileInfo { + if x != nil { + return x.FileList + } + return nil +} + +type UploadSuccReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SenderUin int64 `protobuf:"varint,10,opt,name=senderUin,proto3" json:"senderUin,omitempty"` + RecverUin int64 `protobuf:"varint,20,opt,name=recverUin,proto3" json:"recverUin,omitempty"` + Uuid []byte `protobuf:"bytes,30,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *UploadSuccReq) Reset() { + *x = UploadSuccReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadSuccReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadSuccReq) ProtoMessage() {} + +func (x *UploadSuccReq) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[48] + 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 UploadSuccReq.ProtoReflect.Descriptor instead. +func (*UploadSuccReq) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{48} +} + +func (x *UploadSuccReq) GetSenderUin() int64 { + if x != nil { + return x.SenderUin + } + return 0 +} + +func (x *UploadSuccReq) GetRecverUin() int64 { + if x != nil { + return x.RecverUin + } + return 0 +} + +func (x *UploadSuccReq) GetUuid() []byte { + if x != nil { + return x.Uuid + } + return nil +} + +type UploadSuccRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetCode int32 `protobuf:"varint,10,opt,name=retCode,proto3" json:"retCode,omitempty"` + RetMsg string `protobuf:"bytes,20,opt,name=retMsg,proto3" json:"retMsg,omitempty"` + FileInfo *FileInfo `protobuf:"bytes,30,opt,name=fileInfo,proto3" json:"fileInfo,omitempty"` +} + +func (x *UploadSuccRsp) Reset() { + *x = UploadSuccRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_cmd0x346_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadSuccRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadSuccRsp) ProtoMessage() {} + +func (x *UploadSuccRsp) ProtoReflect() protoreflect.Message { + mi := &file_cmd0x346_proto_msgTypes[49] + 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 UploadSuccRsp.ProtoReflect.Descriptor instead. +func (*UploadSuccRsp) Descriptor() ([]byte, []int) { + return file_cmd0x346_proto_rawDescGZIP(), []int{49} +} + +func (x *UploadSuccRsp) GetRetCode() int32 { + if x != nil { + return x.RetCode + } + return 0 +} + +func (x *UploadSuccRsp) GetRetMsg() string { + if x != nil { + return x.RetMsg + } + return "" +} + +func (x *UploadSuccRsp) GetFileInfo() *FileInfo { + if x != nil { + return x.FileInfo + } + return nil +} + +var File_cmd0x346_proto protoreflect.FileDescriptor + +var file_cmd0x346_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x63, 0x6d, 0x64, 0x30, 0x78, 0x33, 0x34, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x48, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x72, + 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x22, 0xd2, 0x02, 0x0a, 0x10, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x72, 0x63, 0x55, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x73, 0x72, 0x63, 0x55, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x72, 0x63, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x72, 0x63, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x72, 0x63, 0x53, 0x76, 0x63, 0x69, 0x64, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x72, 0x63, 0x53, 0x76, 0x63, 0x69, 0x64, 0x12, + 0x28, 0x0a, 0x0f, 0x73, 0x72, 0x63, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x66, 0x6f, 0x6c, 0x64, + 0x65, 0x72, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x73, 0x72, 0x63, 0x50, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x72, 0x63, + 0x55, 0x75, 0x69, 0x64, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, 0x72, 0x63, 0x55, + 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x35, 0x18, 0x3c, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x35, 0x12, 0x16, 0x0a, + 0x06, 0x64, 0x73, 0x74, 0x55, 0x69, 0x6e, 0x18, 0x46, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, + 0x73, 0x74, 0x55, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x5a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x64, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, + 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x6e, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x22, + 0x78, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, + 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, + 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x1e, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x0e, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, + 0x64, 0x73, 0x74, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x64, 0x73, 0x74, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x73, 0x74, 0x55, 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x64, 0x73, 0x74, 0x55, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x73, + 0x74, 0x53, 0x76, 0x63, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x73, + 0x74, 0x53, 0x76, 0x63, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x72, 0x63, 0x55, 0x69, 0x6e, + 0x18, 0x28, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x72, 0x63, 0x55, 0x69, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, + 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x22, 0x5c, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, + 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x3b, + 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, + 0x62, 0x73, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x7a, 0x0a, 0x13, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x62, 0x73, 0x52, + 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x12, 0x31, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x75, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1d, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0xf4, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9e, + 0x01, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, + 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x31, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x46, 0x69, 0x6c, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, + 0xa7, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x55, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, 0x55, + 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, + 0x55, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, + 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, + 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x13, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, + 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, + 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x28, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x22, 0xca, 0x01, 0x0a, 0x12, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, + 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x6c, 0x6c, + 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x46, + 0x69, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x6c, + 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x64, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, + 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x71, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xe1, + 0x01, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x65, 0x67, + 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, + 0x65, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x73, 0x70, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x73, 0x70, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x45, 0x6e, 0x64, 0x18, 0x3c, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x73, 0x45, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, + 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x22, 0x92, 0x02, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, + 0x55, 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, + 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x18, 0x32, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x12, + 0x24, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, + 0x65, 0x70, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x46, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6e, 0x67, + 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x22, 0xc5, 0x02, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x65, 0x71, 0x56, 0x32, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x31, 0x30, 0x6d, + 0x4d, 0x64, 0x35, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, + 0x33, 0x73, 0x68, 0x61, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x33, 0x73, 0x68, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x68, 0x61, 0x18, 0x46, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x03, 0x73, 0x68, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x5a, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, + 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x64, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x22, + 0xa6, 0x02, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, + 0x69, 0x74, 0x52, 0x65, 0x71, 0x56, 0x33, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x55, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, 0x55, + 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, + 0x55, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x5f, 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x18, 0x32, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x12, 0x10, + 0x0a, 0x03, 0x73, 0x68, 0x61, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x68, 0x61, + 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, + 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x50, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6e, + 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x22, 0x95, 0x02, 0x0a, 0x11, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, + 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, + 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x12, 0x1e, 0x0a, 0x0a, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x22, 0x0a, 0x0c, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x32, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, + 0x79, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, + 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x50, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x5a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x22, 0x97, 0x02, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x48, 0x69, 0x74, 0x52, 0x73, 0x70, 0x56, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x50, 0x6f, 0x72, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x18, 0x46, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, 0x22, 0x97, 0x02, 0x0a, 0x13, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x73, 0x70, + 0x56, 0x33, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, + 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x28, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x3c, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x4b, 0x65, 0x79, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x22, 0xab, 0x02, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x55, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, 0x55, + 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, + 0x55, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5f, 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x46, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x50, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x5a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, + 0x63, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x71, 0x56, 0x32, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x55, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, 0x55, + 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, + 0x55, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x5f, 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x18, 0x32, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x12, 0x1d, + 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x33, 0x73, 0x68, 0x61, 0x18, 0x3c, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x33, 0x73, 0x68, 0x61, 0x12, 0x24, 0x0a, + 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x46, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x70, + 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x50, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x53, 0x70, 0x61, 0x63, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x56, 0x33, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x76, + 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x63, + 0x76, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x28, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x18, 0x32, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x31, 0x30, 0x6d, 0x4d, 0x64, + 0x35, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x68, 0x61, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, + 0x73, 0x68, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x6e, + 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x50, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x22, 0x9d, 0x03, 0x0a, 0x0e, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, + 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, + 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x28, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x22, + 0x0a, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x32, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x18, 0x3c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x12, 0x22, + 0x0a, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x46, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, + 0x18, 0x50, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, + 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x4b, 0x65, 0x79, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x6c, 0x65, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x6f, 0x6f, + 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x78, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x82, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xd9, 0x03, 0x0a, 0x10, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x56, 0x32, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, + 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x28, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, + 0x18, 0x32, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, + 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, + 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, + 0x72, 0x74, 0x18, 0x50, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x5a, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x4b, 0x65, 0x79, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x69, + 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, + 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x78, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x82, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, + 0x0d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x76, 0x72, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x18, 0x8c, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x76, 0x72, 0x41, 0x70, + 0x69, 0x56, 0x65, 0x72, 0x12, 0x11, 0x0a, 0x03, 0x73, 0x68, 0x61, 0x18, 0x8d, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x03, 0x73, 0x68, 0x61, 0x22, 0x9f, 0x03, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x56, 0x33, 0x12, 0x18, 0x0a, 0x07, + 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, + 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1e, + 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x32, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x18, 0x3c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x70, 0x12, 0x22, 0x0a, 0x0c, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x46, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x50, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, + 0x79, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, + 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x46, + 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, + 0x53, 0x69, 0x7a, 0x65, 0x18, 0x78, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x70, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x82, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x91, 0x01, 0x0a, 0x0d, 0x44, 0x65, + 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x75, + 0x69, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x75, 0x69, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x69, 0x6e, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x75, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x71, 0x4e, 0x6f, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x65, 0x71, 0x4e, 0x6f, 0x22, 0x6f, 0x0a, + 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x41, + 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, + 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, + 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, + 0x67, 0x22, 0xee, 0x01, 0x0a, 0x0c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, + 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x49, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, + 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x72, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x70, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x3c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, + 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, + 0x69, 0x65, 0x22, 0x37, 0x0a, 0x0f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, + 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x5f, 0x0a, 0x0f, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x52, 0x73, 0x70, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, + 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x22, 0xce, 0x03, 0x0a, + 0x0c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x6e, 0x75, 0x6d, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, + 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, + 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, + 0x67, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x18, 0x64, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0d, 0x64, + 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x18, 0xf4, 0xbf, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x0f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x72, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0xd8, 0xc0, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1e, 0x0a, 0x09, 0x70, 0x74, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0xbc, 0xc1, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x74, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x26, 0x0a, 0x0d, 0x69, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x70, + 0x18, 0xa0, 0xc2, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x73, 0x4e, 0x65, 0x65, 0x64, + 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x12, 0x1a, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x84, 0xc3, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x09, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x18, 0xe8, 0xc3, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, + 0xcc, 0xc4, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1a, 0x0a, 0x07, 0x70, 0x74, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0xb0, 0xc5, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x74, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x0e, 0x0a, + 0x0c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x22, 0x92, 0x03, + 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, + 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x66, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x69, 0x66, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x62, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x62, 0x73, 0x46, 0x69, + 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, + 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x31, 0x30, 0x6d, 0x4d, 0x64, 0x35, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x68, 0x61, + 0x18, 0x65, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x68, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x78, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x55, + 0x69, 0x6e, 0x18, 0x79, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x55, 0x69, + 0x6e, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x82, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x75, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x67, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x65, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x25, 0x0a, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x46, + 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x35, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x75, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x61, + 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x22, 0x60, 0x0a, 0x10, 0x52, + 0x65, 0x63, 0x76, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, + 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x71, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xe9, 0x01, + 0x0a, 0x10, 0x52, 0x65, 0x63, 0x76, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, + 0x54, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, + 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x65, + 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x73, 0x70, 0x46, + 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x72, 0x73, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x69, 0x73, 0x45, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x73, 0x45, + 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x0c, 0x52, 0x65, 0x6e, + 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x64, 0x64, 0x54, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x61, 0x64, 0x64, 0x54, 0x74, 0x6c, 0x22, 0x40, 0x0a, 0x0c, 0x52, 0x65, 0x6e, 0x65, 0x77, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x22, 0xc8, 0x0b, 0x0a, 0x07, 0x52, 0x65, + 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x10, 0x72, 0x65, 0x63, + 0x76, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x52, 0x65, 0x63, 0x76, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x52, 0x10, 0x72, 0x65, 0x63, 0x76, 0x4c, 0x69, 0x73, 0x74, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x10, 0x73, 0x65, 0x6e, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x52, 0x65, 0x71, 0x52, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x65, 0x77, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x52, 0x65, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x52, 0x0c, 0x72, 0x65, + 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x0d, 0x72, 0x65, + 0x63, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x12, 0x37, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x71, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x79, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x12, 0x40, 0x0a, 0x11, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x65, 0x71, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x65, 0x71, 0x52, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x46, 0x0a, 0x13, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x52, 0x13, + 0x61, 0x70, 0x70, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x0d, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, + 0x63, 0x52, 0x65, 0x71, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x0d, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, + 0x3a, 0x0a, 0x0f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x52, + 0x65, 0x71, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x52, 0x0f, 0x64, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x46, 0x0a, 0x13, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x62, 0x73, 0x52, + 0x65, 0x71, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x62, 0x73, 0x52, 0x65, 0x71, 0x52, 0x13, + 0x61, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x62, 0x73, + 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, + 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x71, 0x12, 0x49, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, + 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x12, 0x3d, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, + 0x6d, 0x52, 0x65, 0x71, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x52, 0x10, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, + 0x3d, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, + 0x71, 0x56, 0x32, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x56, 0x32, 0x52, 0x10, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x56, 0x32, 0x12, 0x3d, + 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, + 0x56, 0x33, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x56, 0x33, 0x52, 0x10, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x56, 0x33, 0x12, 0x46, 0x0a, + 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, + 0x65, 0x71, 0x56, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x65, 0x71, 0x56, 0x32, + 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, + 0x52, 0x65, 0x71, 0x56, 0x32, 0x12, 0x46, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x65, 0x71, 0x56, 0x33, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x48, 0x69, 0x74, 0x52, 0x65, 0x71, 0x56, 0x33, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x65, 0x71, 0x56, 0x33, 0x12, 0x1e, 0x0a, + 0x0a, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x65, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, + 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x71, 0x18, + 0x90, 0xbf, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, + 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x71, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x43, + 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x45, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x18, 0x92, + 0xbf, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x52, 0x12, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x12, + 0x33, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x18, + 0x9f, 0x8d, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x22, 0x95, 0x0c, 0x0a, 0x07, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, + 0x6d, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x73, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x76, 0x4c, 0x69, 0x73, 0x74, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x52, 0x65, 0x63, 0x76, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x73, + 0x70, 0x52, 0x10, 0x72, 0x65, 0x63, 0x76, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, + 0x52, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x52, + 0x73, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x52, 0x65, 0x6e, 0x65, 0x77, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x52, 0x0c, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x52, + 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x52, 0x0d, 0x72, 0x65, + 0x63, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0e, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x52, 0x73, 0x70, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x52, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x73, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, + 0x52, 0x73, 0x70, 0x52, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x48, 0x69, 0x74, 0x52, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x46, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x34, + 0x0a, 0x0d, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x52, 0x73, 0x70, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, + 0x63, 0x63, 0x52, 0x73, 0x70, 0x52, 0x0d, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, + 0x63, 0x52, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x73, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x52, 0x0d, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0f, 0x64, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x52, 0x73, 0x70, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, + 0x63, 0x63, 0x52, 0x73, 0x70, 0x52, 0x0f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, + 0x75, 0x63, 0x63, 0x52, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x62, 0x73, 0x52, 0x73, 0x70, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x41, 0x62, 0x73, 0x52, 0x73, 0x70, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x62, 0x73, 0x52, 0x73, 0x70, 0x12, 0x3d, + 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x73, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x52, 0x10, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x12, 0x49, 0x0a, + 0x14, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x73, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x73, 0x70, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x52, 0x0c, 0x66, + 0x69, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x10, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, + 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x43, + 0x6f, 0x70, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x10, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x56, 0x32, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x73, 0x70, 0x56, 0x32, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x56, 0x32, 0x12, 0x3d, 0x0a, 0x10, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x56, 0x33, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x52, 0x73, 0x70, 0x56, 0x33, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x52, 0x73, 0x70, 0x56, 0x33, 0x12, 0x46, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x73, 0x70, 0x56, 0x32, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x73, 0x70, 0x56, 0x32, 0x52, 0x13, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x73, 0x70, 0x56, 0x32, + 0x12, 0x46, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, + 0x69, 0x74, 0x52, 0x73, 0x70, 0x56, 0x33, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x69, 0x74, 0x52, 0x73, + 0x70, 0x56, 0x33, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x48, 0x69, 0x74, 0x52, 0x73, 0x70, 0x56, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x65, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x43, 0x6f, 0x70, 0x79, 0x54, 0x6f, 0x52, 0x73, 0x70, 0x18, 0x90, 0xbf, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x54, 0x6f, + 0x52, 0x73, 0x70, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x54, 0x6f, + 0x52, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6c, 0x65, 0x61, + 0x6e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x73, 0x70, 0x18, 0x91, 0xbf, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6c, 0x65, 0x61, 0x6e, + 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x73, 0x70, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x73, 0x70, + 0x12, 0x45, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x52, 0x73, 0x70, 0x18, 0x92, 0xbf, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, + 0x52, 0x73, 0x70, 0x52, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, + 0x66, 0x66, 0x69, 0x63, 0x52, 0x73, 0x70, 0x12, 0x33, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x18, 0x9f, 0x8d, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x52, 0x0c, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x22, 0x60, 0x0a, 0x10, + 0x53, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, + 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x71, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa3, + 0x02, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, + 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x74, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x69, 0x6c, + 0x65, 0x54, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x65, 0x67, + 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, + 0x65, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x73, 0x70, + 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x72, 0x73, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x69, 0x73, 0x45, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x73, + 0x45, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x25, 0x0a, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x09, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5f, 0x0a, 0x0d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, + 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x55, + 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, 0x55, 0x69, 0x6e, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x63, 0x76, 0x65, 0x72, 0x55, 0x69, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x0d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, + 0x75, 0x63, 0x63, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x25, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x46, 0x69, 0x6c, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, + 0x0c, 0x5a, 0x0a, 0x2e, 0x3b, 0x63, 0x6d, 0x64, 0x30, 0x78, 0x33, 0x34, 0x36, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cmd0x346_proto_rawDescOnce sync.Once + file_cmd0x346_proto_rawDescData = file_cmd0x346_proto_rawDesc +) + +func file_cmd0x346_proto_rawDescGZIP() []byte { + file_cmd0x346_proto_rawDescOnce.Do(func() { + file_cmd0x346_proto_rawDescData = protoimpl.X.CompressGZIP(file_cmd0x346_proto_rawDescData) + }) + return file_cmd0x346_proto_rawDescData +} + +var file_cmd0x346_proto_msgTypes = make([]protoimpl.MessageInfo, 50) +var file_cmd0x346_proto_goTypes = []interface{}{ + (*ApplyCleanTrafficRsp)(nil), // 0: ApplyCleanTrafficRsp + (*ApplyCopyFromReq)(nil), // 1: ApplyCopyFromReq + (*ApplyCopyFromRsp)(nil), // 2: ApplyCopyFromRsp + (*ApplyCopyToReq)(nil), // 3: ApplyCopyToReq + (*ApplyCopyToRsp)(nil), // 4: ApplyCopyToRsp + (*ApplyDownloadAbsReq)(nil), // 5: ApplyDownloadAbsReq + (*ApplyDownloadAbsRsp)(nil), // 6: ApplyDownloadAbsRsp + (*ApplyDownloadReq)(nil), // 7: ApplyDownloadReq + (*ApplyDownloadRsp)(nil), // 8: ApplyDownloadRsp + (*ApplyForwardFileReq)(nil), // 9: ApplyForwardFileReq + (*ApplyForwardFileRsp)(nil), // 10: ApplyForwardFileRsp + (*ApplyGetTrafficReq)(nil), // 11: ApplyGetTrafficReq + (*ApplyGetTrafficRsp)(nil), // 12: ApplyGetTrafficRsp + (*ApplyListDownloadReq)(nil), // 13: ApplyListDownloadReq + (*ApplyListDownloadRsp)(nil), // 14: ApplyListDownloadRsp + (*ApplyUploadHitReq)(nil), // 15: ApplyUploadHitReq + (*ApplyUploadHitReqV2)(nil), // 16: ApplyUploadHitReqV2 + (*ApplyUploadHitReqV3)(nil), // 17: ApplyUploadHitReqV3 + (*ApplyUploadHitRsp)(nil), // 18: ApplyUploadHitRsp + (*ApplyUploadHitRspV2)(nil), // 19: ApplyUploadHitRspV2 + (*ApplyUploadHitRspV3)(nil), // 20: ApplyUploadHitRspV3 + (*ApplyUploadReq)(nil), // 21: ApplyUploadReq + (*ApplyUploadReqV2)(nil), // 22: ApplyUploadReqV2 + (*ApplyUploadReqV3)(nil), // 23: ApplyUploadReqV3 + (*ApplyUploadRsp)(nil), // 24: ApplyUploadRsp + (*ApplyUploadRspV2)(nil), // 25: ApplyUploadRspV2 + (*ApplyUploadRspV3)(nil), // 26: ApplyUploadRspV3 + (*DelMessageReq)(nil), // 27: DelMessageReq + (*DeleteFileReq)(nil), // 28: DeleteFileReq + (*DeleteFileRsp)(nil), // 29: DeleteFileRsp + (*DownloadInfo)(nil), // 30: DownloadInfo + (*DownloadSuccReq)(nil), // 31: DownloadSuccReq + (*DownloadSuccRsp)(nil), // 32: DownloadSuccRsp + (*ExtensionReq)(nil), // 33: ExtensionReq + (*ExtensionRsp)(nil), // 34: ExtensionRsp + (*FileInfo)(nil), // 35: FileInfo + (*FileQueryReq)(nil), // 36: FileQueryReq + (*FileQueryRsp)(nil), // 37: FileQueryRsp + (*RecallFileReq)(nil), // 38: RecallFileReq + (*RecallFileRsp)(nil), // 39: RecallFileRsp + (*RecvListQueryReq)(nil), // 40: RecvListQueryReq + (*RecvListQueryRsp)(nil), // 41: RecvListQueryRsp + (*RenewFileReq)(nil), // 42: RenewFileReq + (*RenewFileRsp)(nil), // 43: RenewFileRsp + (*ReqBody)(nil), // 44: ReqBody + (*RspBody)(nil), // 45: RspBody + (*SendListQueryReq)(nil), // 46: SendListQueryReq + (*SendListQueryRsp)(nil), // 47: SendListQueryRsp + (*UploadSuccReq)(nil), // 48: UploadSuccReq + (*UploadSuccRsp)(nil), // 49: UploadSuccRsp +} +var file_cmd0x346_proto_depIdxs = []int32{ + 30, // 0: ApplyDownloadAbsRsp.downloadInfo:type_name -> DownloadInfo + 30, // 1: ApplyDownloadRsp.downloadInfo:type_name -> DownloadInfo + 35, // 2: ApplyDownloadRsp.fileInfo:type_name -> FileInfo + 35, // 3: ApplyListDownloadRsp.fileList:type_name -> FileInfo + 27, // 4: ExtensionReq.delMessageReq:type_name -> DelMessageReq + 35, // 5: FileQueryRsp.fileInfo:type_name -> FileInfo + 35, // 6: RecvListQueryRsp.fileList:type_name -> FileInfo + 40, // 7: ReqBody.recvListQueryReq:type_name -> RecvListQueryReq + 46, // 8: ReqBody.sendListQueryReq:type_name -> SendListQueryReq + 42, // 9: ReqBody.renewFileReq:type_name -> RenewFileReq + 38, // 10: ReqBody.recallFileReq:type_name -> RecallFileReq + 21, // 11: ReqBody.applyUploadReq:type_name -> ApplyUploadReq + 15, // 12: ReqBody.applyUploadHitReq:type_name -> ApplyUploadHitReq + 9, // 13: ReqBody.applyForwardFileReq:type_name -> ApplyForwardFileReq + 48, // 14: ReqBody.uploadSuccReq:type_name -> UploadSuccReq + 28, // 15: ReqBody.deleteFileReq:type_name -> DeleteFileReq + 31, // 16: ReqBody.downloadSuccReq:type_name -> DownloadSuccReq + 5, // 17: ReqBody.applyDownloadAbsReq:type_name -> ApplyDownloadAbsReq + 7, // 18: ReqBody.applyDownloadReq:type_name -> ApplyDownloadReq + 13, // 19: ReqBody.applyListDownloadReq:type_name -> ApplyListDownloadReq + 36, // 20: ReqBody.fileQueryReq:type_name -> FileQueryReq + 1, // 21: ReqBody.applyCopyFromReq:type_name -> ApplyCopyFromReq + 22, // 22: ReqBody.applyUploadReqV2:type_name -> ApplyUploadReqV2 + 23, // 23: ReqBody.applyUploadReqV3:type_name -> ApplyUploadReqV3 + 16, // 24: ReqBody.applyUploadHitReqV2:type_name -> ApplyUploadHitReqV2 + 17, // 25: ReqBody.applyUploadHitReqV3:type_name -> ApplyUploadHitReqV3 + 3, // 26: ReqBody.applyCopyToReq:type_name -> ApplyCopyToReq + 11, // 27: ReqBody.applyGetTrafficReq:type_name -> ApplyGetTrafficReq + 33, // 28: ReqBody.extensionReq:type_name -> ExtensionReq + 41, // 29: RspBody.recvListQueryRsp:type_name -> RecvListQueryRsp + 47, // 30: RspBody.sendListQueryRsp:type_name -> SendListQueryRsp + 43, // 31: RspBody.renewFileRsp:type_name -> RenewFileRsp + 39, // 32: RspBody.recallFileRsp:type_name -> RecallFileRsp + 24, // 33: RspBody.applyUploadRsp:type_name -> ApplyUploadRsp + 18, // 34: RspBody.applyUploadHitRsp:type_name -> ApplyUploadHitRsp + 10, // 35: RspBody.applyForwardFileRsp:type_name -> ApplyForwardFileRsp + 49, // 36: RspBody.uploadSuccRsp:type_name -> UploadSuccRsp + 29, // 37: RspBody.deleteFileRsp:type_name -> DeleteFileRsp + 32, // 38: RspBody.downloadSuccRsp:type_name -> DownloadSuccRsp + 6, // 39: RspBody.applyDownloadAbsRsp:type_name -> ApplyDownloadAbsRsp + 8, // 40: RspBody.applyDownloadRsp:type_name -> ApplyDownloadRsp + 14, // 41: RspBody.applyListDownloadRsp:type_name -> ApplyListDownloadRsp + 37, // 42: RspBody.fileQueryRsp:type_name -> FileQueryRsp + 2, // 43: RspBody.applyCopyFromRsp:type_name -> ApplyCopyFromRsp + 25, // 44: RspBody.applyUploadRspV2:type_name -> ApplyUploadRspV2 + 26, // 45: RspBody.applyUploadRspV3:type_name -> ApplyUploadRspV3 + 19, // 46: RspBody.applyUploadHitRspV2:type_name -> ApplyUploadHitRspV2 + 20, // 47: RspBody.applyUploadHitRspV3:type_name -> ApplyUploadHitRspV3 + 4, // 48: RspBody.applyCopyToRsp:type_name -> ApplyCopyToRsp + 0, // 49: RspBody.applyCleanTrafficRsp:type_name -> ApplyCleanTrafficRsp + 12, // 50: RspBody.applyGetTrafficRsp:type_name -> ApplyGetTrafficRsp + 34, // 51: RspBody.extensionRsp:type_name -> ExtensionRsp + 35, // 52: SendListQueryRsp.fileList:type_name -> FileInfo + 35, // 53: UploadSuccRsp.fileInfo:type_name -> FileInfo + 54, // [54:54] is the sub-list for method output_type + 54, // [54:54] is the sub-list for method input_type + 54, // [54:54] is the sub-list for extension type_name + 54, // [54:54] is the sub-list for extension extendee + 0, // [0:54] is the sub-list for field type_name +} + +func init() { file_cmd0x346_proto_init() } +func file_cmd0x346_proto_init() { + if File_cmd0x346_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cmd0x346_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyCleanTrafficRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyCopyFromReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyCopyFromRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyCopyToReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyCopyToRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyDownloadAbsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyDownloadAbsRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyDownloadReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyDownloadRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyForwardFileReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyForwardFileRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyGetTrafficReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyGetTrafficRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyListDownloadReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyListDownloadRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadHitReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadHitReqV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadHitReqV3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadHitRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadHitRspV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadHitRspV3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadReqV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadReqV3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadRspV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyUploadRspV3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelMessageReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFileReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFileRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DownloadInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DownloadSuccReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DownloadSuccRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtensionReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtensionRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileQueryReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileQueryRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecallFileReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecallFileRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecvListQueryReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecvListQueryRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenewFileReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenewFileRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReqBody); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RspBody); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendListQueryReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendListQueryRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadSuccReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cmd0x346_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadSuccRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cmd0x346_proto_rawDesc, + NumEnums: 0, + NumMessages: 50, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cmd0x346_proto_goTypes, + DependencyIndexes: file_cmd0x346_proto_depIdxs, + MessageInfos: file_cmd0x346_proto_msgTypes, + }.Build() + File_cmd0x346_proto = out.File + file_cmd0x346_proto_rawDesc = nil + file_cmd0x346_proto_goTypes = nil + file_cmd0x346_proto_depIdxs = nil +} diff --git a/client/pb/cmd0x346/cmd0x346.proto b/client/pb/cmd0x346/cmd0x346.proto new file mode 100644 index 00000000..100f969b --- /dev/null +++ b/client/pb/cmd0x346/cmd0x346.proto @@ -0,0 +1,441 @@ +syntax = "proto3"; + +option go_package = ".;cmd0x346"; + +message ApplyCleanTrafficRsp { + int32 retCode = 10; + string retMsg = 20; +} +message ApplyCopyFromReq { + int64 srcUin = 10; + int64 srcGroup = 20; + int32 srcSvcid = 30; + bytes srcParentfolder = 40; + bytes srcUuid = 50; + bytes fileMd5 = 60; + int64 dstUin = 70; + int64 fileSize = 80; + string fileName = 90; + int32 dangerLevel = 100; + int64 totalSpace = 110; +} +message ApplyCopyFromRsp { + int32 retCode = 10; + string retMsg = 20; + bytes uuid = 30; + int64 totalSpace = 40; +} +message ApplyCopyToReq { + int64 dstId = 10; + int64 dstUin = 20; + int32 dstSvcid = 30; + int64 srcUin = 40; + int64 fileSize = 50; + string fileName = 60; + string localFilepath = 70; + bytes uuid = 80; +} +message ApplyCopyToRsp { + int32 retCode = 10; + string retMsg = 20; + string fileKey = 30; +} +message ApplyDownloadAbsReq { + int64 uin = 10; + bytes uuid = 20; +} +message ApplyDownloadAbsRsp { + int32 retCode = 10; + string retMsg = 20; + DownloadInfo downloadInfo = 30; +} +message ApplyDownloadReq { + int64 uin = 10; + bytes uuid = 20; + int32 ownerType = 30; + int32 extIntype = 500; +} +message ApplyDownloadRsp { + int32 retCode = 10; + string retMsg = 20; + DownloadInfo downloadInfo = 30; + FileInfo fileInfo = 40; +} +message ApplyForwardFileReq { + int64 senderUin = 10; + int64 recverUin = 20; + bytes uuid = 30; + int32 dangerLevel = 40; + int64 totalSpace = 50; +} +message ApplyForwardFileRsp { + int32 retCode = 10; + string retMsg = 20; + int64 totalSpace = 30; + int64 usedSpace = 40; + bytes uuid = 50; +} +message ApplyGetTrafficReq { +} +message ApplyGetTrafficRsp { + int32 retCode = 10; + string retMsg = 20; + int64 useFileSize = 30; + int32 useFileNum = 40; + int64 allFileSize = 50; + int32 allFileNum = 60; +} +message ApplyListDownloadReq { + int64 uin = 10; + int32 beginIndex = 20; + int32 reqCount = 30; +} +message ApplyListDownloadRsp { + int32 retCode = 10; + string retMsg = 20; + int32 totalCount = 30; + int32 beginIndex = 40; + int32 rspCount = 50; + int32 isEnd = 60; + repeated FileInfo fileList = 70; +} +message ApplyUploadHitReq { + int64 senderUin = 10; + int64 recverUin = 20; + int64 fileSize = 30; + string fileName = 40; + bytes bytes_10mMd5 = 50; + string localFilepath = 60; + int32 dangerLevel = 70; + int64 totalSpace = 80; +} +message ApplyUploadHitReqV2 { + int64 senderUin = 10; + int64 recverUin = 20; + int64 fileSize = 30; + string fileName = 40; + bytes bytes_10mMd5 = 50; + bytes bytes_3sha = 60; + bytes sha = 70; + string localFilepath = 80; + int32 dangerLevel = 90; + int64 totalSpace = 100; +} +message ApplyUploadHitReqV3 { + int64 senderUin = 10; + int64 recverUin = 20; + int64 fileSize = 30; + string fileName = 40; + bytes bytes_10mMd5 = 50; + bytes sha = 60; + string localFilepath = 70; + int32 dangerLevel = 80; + int64 totalSpace = 90; +} +message ApplyUploadHitRsp { + int32 retCode = 10; + string retMsg = 20; + string uploadIp = 30; + int32 uploadPort = 40; + string uploadDomain = 50; + bytes uuid = 60; + bytes uploadKey = 70; + int64 totalSpace = 80; + int64 usedSpace = 90; +} +message ApplyUploadHitRspV2 { + int32 retCode = 10; + string retMsg = 20; + string uploadIp = 30; + int32 uploadPort = 40; + string uploadDomain = 50; + bytes uuid = 60; + bytes uploadKey = 70; + int64 totalSpace = 80; + int64 usedSpace = 90; +} +message ApplyUploadHitRspV3 { + int32 retCode = 10; + string retMsg = 20; + string uploadIp = 30; + int32 uploadPort = 40; + string uploadDomain = 50; + bytes uuid = 60; + bytes uploadKey = 70; + int64 totalSpace = 80; + int64 usedSpace = 90; +} +message ApplyUploadReq { + int64 senderUin = 10; + int64 recverUin = 20; + int32 fileType = 30; + int64 fileSize = 40; + string fileName = 50; + bytes bytes_10mMd5 = 60; + string localFilepath = 70; + int32 dangerLevel = 80; + int64 totalSpace = 90; +} +message ApplyUploadReqV2 { + int64 senderUin = 10; + int64 recverUin = 20; + int64 fileSize = 30; + string fileName = 40; + bytes bytes_10mMd5 = 50; + bytes bytes_3sha = 60; + string localFilepath = 70; + int32 dangerLevel = 80; + int64 totalSpace = 90; +} +message ApplyUploadReqV3 { + int64 senderUin = 10; + int64 recverUin = 20; + int64 fileSize = 30; + string fileName = 40; + bytes bytes_10mMd5 = 50; + bytes sha = 60; + string localFilepath = 70; + int32 dangerLevel = 80; + int64 totalSpace = 90; +} +message ApplyUploadRsp { + int32 retCode = 10; + string retMsg = 20; + int64 totalSpace = 30; + int64 usedSpace = 40; + int64 uploadedSize = 50; + string uploadIp = 60; + string uploadDomain = 70; + int32 uploadPort = 80; + bytes uuid = 90; + bytes uploadKey = 100; + bool boolFileExist = 110; + int32 packSize = 120; + repeated string uploadipList = 130; +} +message ApplyUploadRspV2 { + int32 retCode = 10; + string retMsg = 20; + int64 totalSpace = 30; + int64 usedSpace = 40; + int64 uploadedSize = 50; + string uploadIp = 60; + string uploadDomain = 70; + int32 uploadPort = 80; + bytes uuid = 90; + bytes uploadKey = 100; + bool boolFileExist = 110; + int32 packSize = 120; + repeated string uploadipList = 130; + int32 httpsvrApiVer = 140; + bytes sha = 141; +} +message ApplyUploadRspV3 { + int32 retCode = 10; + string retMsg = 20; + int64 totalSpace = 30; + int64 usedSpace = 40; + int64 uploadedSize = 50; + string uploadIp = 60; + string uploadDomain = 70; + int32 uploadPort = 80; + bytes uuid = 90; + bytes uploadKey = 100; + bool boolFileExist = 110; + int32 packSize = 120; + repeated string uploadipList = 130; +} +message DelMessageReq { + int64 uinSender = 1; + int64 uinReceiver = 2; + int32 time = 10; + int32 random = 20; + int32 seqNo = 30; +} +message DeleteFileReq { + int64 uin = 10; + int64 peerUin = 20; + int32 deleteType = 30; + bytes uuid = 40; +} +message DeleteFileRsp { + int32 retCode = 10; + string retMsg = 20; +} +message DownloadInfo { + bytes downloadKey = 10; + string downloadIp = 20; + string downloadDomain = 30; + int32 port = 40; + string downloadUrl = 50; + repeated string downloadipList = 60; + string cookie = 70; +} +message DownloadSuccReq { + int64 uin = 10; + bytes uuid = 20; +} +message DownloadSuccRsp { + int32 retCode = 10; + string retMsg = 20; + int32 downStat = 30; +} +message ExtensionReq { + int64 id = 1; + int64 type = 2; + string dstPhonenum = 3; + int32 phoneConvertType = 4; + bytes sig = 20; + int64 routeId = 100; + DelMessageReq delMessageReq = 90100; + int32 downloadUrlType = 90200; + int32 pttFormat = 90300; + int32 isNeedInnerIp = 90400; + int32 netType = 90500; + int32 voiceType = 90600; + int32 fileType = 90700; + int32 pttTime = 90800; +} +message ExtensionRsp { +} +message FileInfo { + int64 uin = 1; + int32 dangerEvel = 2; + int64 fileSize = 3; + int32 lifeTime = 4; + int32 uploadTime = 5; + bytes uuid = 6; + string fileName = 7; + int32 absFileType = 90; + bytes bytes_10mMd5 = 100; + bytes sha = 101; + int32 clientType = 110; + int64 ownerUin = 120; + int64 peerUin = 121; + int32 expireTime = 130; +} +message FileQueryReq { + int64 uin = 10; + bytes uuid = 20; +} +message FileQueryRsp { + int32 retCode = 10; + string retMsg = 20; + FileInfo fileInfo = 30; +} +message RecallFileReq { + int64 uin = 1; + bytes uuid = 2; +} +message RecallFileRsp { + int32 retCode = 1; + string retMsg = 2; +} +message RecvListQueryReq { + int64 uin = 1; + int32 beginIndex = 2; + int32 reqCount = 3; +} +message RecvListQueryRsp { + int32 retCode = 1; + string retMsg = 2; + int32 fileTotCount = 3; + int32 beginIndex = 4; + int32 rspFileCount = 5; + int32 isEnd = 6; + repeated FileInfo fileList = 7; +} +message RenewFileReq { + int64 uin = 1; + bytes uuid = 2; + int32 addTtl = 3; +} +message RenewFileRsp { + int32 retCode = 1; + string retMsg = 2; +} +message ReqBody { + int32 cmd = 1; + int32 seq = 2; + RecvListQueryReq recvListQueryReq = 3; + SendListQueryReq sendListQueryReq = 4; + RenewFileReq renewFileReq = 5; + RecallFileReq recallFileReq = 6; + ApplyUploadReq applyUploadReq = 7; + ApplyUploadHitReq applyUploadHitReq = 8; + ApplyForwardFileReq applyForwardFileReq = 9; + UploadSuccReq uploadSuccReq = 10; + DeleteFileReq deleteFileReq = 11; + DownloadSuccReq downloadSuccReq = 12; + ApplyDownloadAbsReq applyDownloadAbsReq = 13; + ApplyDownloadReq applyDownloadReq = 14; + ApplyListDownloadReq applyListDownloadReq = 15; + FileQueryReq fileQueryReq = 16; + ApplyCopyFromReq applyCopyFromReq = 17; + ApplyUploadReqV2 applyUploadReqV2 = 18; + ApplyUploadReqV3 applyUploadReqV3 = 19; + ApplyUploadHitReqV2 applyUploadHitReqV2 = 20; + ApplyUploadHitReqV3 applyUploadHitReqV3 = 21; + int32 businessId = 101; + int32 clientType = 102; + ApplyCopyToReq applyCopyToReq = 90000; + //ApplyCleanTrafficReq applyCleanTrafficReq = 90001; empty message + ApplyGetTrafficReq applyGetTrafficReq = 90002; + ExtensionReq extensionReq = 99999; +} +message RspBody { + int32 cmd = 1; + int32 seq = 2; + RecvListQueryRsp recvListQueryRsp = 3; + SendListQueryRsp sendListQueryRsp = 4; + RenewFileRsp renewFileRsp = 5; + RecallFileRsp recallFileRsp = 6; + ApplyUploadRsp applyUploadRsp = 7; + ApplyUploadHitRsp applyUploadHitRsp = 8; + ApplyForwardFileRsp applyForwardFileRsp = 9; + UploadSuccRsp uploadSuccRsp = 10; + DeleteFileRsp deleteFileRsp = 11; + DownloadSuccRsp downloadSuccRsp = 12; + ApplyDownloadAbsRsp applyDownloadAbsRsp = 13; + ApplyDownloadRsp applyDownloadRsp = 14; + ApplyListDownloadRsp applyListDownloadRsp = 15; + FileQueryRsp fileQueryRsp = 16; + ApplyCopyFromRsp applyCopyFromRsp = 17; + ApplyUploadRspV2 applyUploadRspV2 = 18; + ApplyUploadRspV3 applyUploadRspV3 = 19; + ApplyUploadHitRspV2 applyUploadHitRspV2 = 20; + ApplyUploadHitRspV3 applyUploadHitRspV3 = 21; + int32 businessId = 101; + int32 clientType = 102; + ApplyCopyToRsp applyCopyToRsp = 90000; + ApplyCleanTrafficRsp applyCleanTrafficRsp = 90001; + ApplyGetTrafficRsp applyGetTrafficRsp = 90002; + ExtensionRsp extensionRsp = 99999; + +} +message SendListQueryReq { + int64 uin = 1; + int32 beginIndex = 2; + int32 reqCount = 3; +} +message SendListQueryRsp { + int32 retCode = 1; + string retMsg = 2; + int32 fileTotCount = 3; + int32 beginIndex = 4; + int32 rspFileCount = 5; + int32 isEnd = 6; + int64 totLimit = 7; + int64 usedLimit = 8; + repeated FileInfo fileList = 9; +} +message UploadSuccReq { + int64 senderUin = 10; + int64 recverUin = 20; + bytes uuid = 30; +} +message UploadSuccRsp { + int32 retCode = 10; + string retMsg = 20; + FileInfo fileInfo = 30; +} diff --git a/client/pb/msg/msg.pb.go b/client/pb/msg/msg.pb.go index 91956387..cfef92dd 100644 --- a/client/pb/msg/msg.pb.go +++ b/client/pb/msg/msg.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0 -// protoc v3.13.0 +// protoc v3.11.4 // source: msg.proto package msg @@ -6073,6 +6073,69 @@ func (x *MsgElemInfoServtype3) GetFlashC2CPic() *NotOnlineImage { return nil } +type SubMsgType0X4Body struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NotOnlineFile *NotOnlineFile `protobuf:"bytes,1,opt,name=notOnlineFile,proto3" json:"notOnlineFile,omitempty"` + MsgTime uint32 `protobuf:"varint,2,opt,name=msgTime,proto3" json:"msgTime,omitempty"` + OnlineFileForPolyToOffline uint32 `protobuf:"varint,3,opt,name=onlineFileForPolyToOffline,proto3" json:"onlineFileForPolyToOffline,omitempty"` // fileImageInfo +} + +func (x *SubMsgType0X4Body) Reset() { + *x = SubMsgType0X4Body{} + if protoimpl.UnsafeEnabled { + mi := &file_msg_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubMsgType0X4Body) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubMsgType0X4Body) ProtoMessage() {} + +func (x *SubMsgType0X4Body) ProtoReflect() protoreflect.Message { + mi := &file_msg_proto_msgTypes[57] + 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 SubMsgType0X4Body.ProtoReflect.Descriptor instead. +func (*SubMsgType0X4Body) Descriptor() ([]byte, []int) { + return file_msg_proto_rawDescGZIP(), []int{57} +} + +func (x *SubMsgType0X4Body) GetNotOnlineFile() *NotOnlineFile { + if x != nil { + return x.NotOnlineFile + } + return nil +} + +func (x *SubMsgType0X4Body) GetMsgTime() uint32 { + if x != nil { + return x.MsgTime + } + return 0 +} + +func (x *SubMsgType0X4Body) GetOnlineFileForPolyToOffline() uint32 { + if x != nil { + return x.OnlineFileForPolyToOffline + } + return 0 +} + type ResvAttr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6084,7 +6147,7 @@ type ResvAttr struct { func (x *ResvAttr) Reset() { *x = ResvAttr{} if protoimpl.UnsafeEnabled { - mi := &file_msg_proto_msgTypes[57] + mi := &file_msg_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6097,7 +6160,7 @@ func (x *ResvAttr) String() string { func (*ResvAttr) ProtoMessage() {} func (x *ResvAttr) ProtoReflect() protoreflect.Message { - mi := &file_msg_proto_msgTypes[57] + mi := &file_msg_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6110,7 +6173,7 @@ func (x *ResvAttr) ProtoReflect() protoreflect.Message { // Deprecated: Use ResvAttr.ProtoReflect.Descriptor instead. func (*ResvAttr) Descriptor() ([]byte, []int) { - return file_msg_proto_rawDescGZIP(), []int{57} + return file_msg_proto_rawDescGZIP(), []int{58} } func (x *ResvAttr) GetImageShow() *AnimationImageShow { @@ -6132,7 +6195,7 @@ type AnimationImageShow struct { func (x *AnimationImageShow) Reset() { *x = AnimationImageShow{} if protoimpl.UnsafeEnabled { - mi := &file_msg_proto_msgTypes[58] + mi := &file_msg_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6145,7 +6208,7 @@ func (x *AnimationImageShow) String() string { func (*AnimationImageShow) ProtoMessage() {} func (x *AnimationImageShow) ProtoReflect() protoreflect.Message { - mi := &file_msg_proto_msgTypes[58] + mi := &file_msg_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6158,7 +6221,7 @@ func (x *AnimationImageShow) ProtoReflect() protoreflect.Message { // Deprecated: Use AnimationImageShow.ProtoReflect.Descriptor instead. func (*AnimationImageShow) Descriptor() ([]byte, []int) { - return file_msg_proto_rawDescGZIP(), []int{58} + return file_msg_proto_rawDescGZIP(), []int{59} } func (x *AnimationImageShow) GetEffectId() int32 { @@ -7135,20 +7198,31 @@ var file_msg_proto_rawDesc = []byte{ 0x61, 0x73, 0x68, 0x5f, 0x63, 0x32, 0x63, 0x5f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x4e, 0x6f, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x43, 0x32, 0x63, 0x50, 0x69, 0x63, 0x22, - 0x3e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x76, 0x41, 0x74, 0x74, 0x72, 0x12, 0x32, 0x0a, 0x0a, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x53, 0x68, 0x6f, 0x77, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x22, - 0x5a, 0x0a, 0x12, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, - 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x61, 0x6e, 0x69, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2a, 0x2e, 0x0a, 0x08, 0x53, - 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4d, 0x45, 0x10, - 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x02, 0x42, 0x07, 0x5a, 0x05, 0x2e, - 0x3b, 0x6d, 0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0xa3, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x30, 0x78, + 0x34, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x34, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x4f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x4e, + 0x6f, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0d, 0x6e, 0x6f, + 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, + 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1a, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x79, 0x54, 0x6f, 0x4f, 0x66, 0x66, 0x6c, + 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x79, 0x54, 0x6f, 0x4f, 0x66, + 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x3e, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x76, 0x41, 0x74, 0x74, + 0x72, 0x12, 0x32, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x5a, 0x0a, 0x12, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6e, 0x69, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0e, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x2a, 0x2e, 0x0a, 0x08, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x09, 0x0a, + 0x05, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x54, + 0x49, 0x4e, 0x55, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, + 0x02, 0x42, 0x07, 0x5a, 0x05, 0x2e, 0x3b, 0x6d, 0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -7164,7 +7238,7 @@ func file_msg_proto_rawDescGZIP() []byte { } var file_msg_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 59) +var file_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 60) var file_msg_proto_goTypes = []interface{}{ (SyncFlag)(0), // 0: SyncFlag (*GetMessageRequest)(nil), // 1: GetMessageRequest @@ -7224,8 +7298,9 @@ var file_msg_proto_goTypes = []interface{}{ (*PbMultiMsgNew)(nil), // 55: PbMultiMsgNew (*PbMultiMsgTransmit)(nil), // 56: PbMultiMsgTransmit (*MsgElemInfoServtype3)(nil), // 57: MsgElemInfo_servtype3 - (*ResvAttr)(nil), // 58: ResvAttr - (*AnimationImageShow)(nil), // 59: AnimationImageShow + (*SubMsgType0X4Body)(nil), // 58: SubMsgType0x4Body + (*ResvAttr)(nil), // 59: ResvAttr + (*AnimationImageShow)(nil), // 60: AnimationImageShow } var file_msg_proto_depIdxs = []int32{ 0, // 0: GetMessageRequest.syncFlag:type_name -> SyncFlag @@ -7289,12 +7364,13 @@ var file_msg_proto_depIdxs = []int32{ 54, // 58: PbMultiMsgTransmit.pbItemList:type_name -> PbMultiMsgItem 41, // 59: MsgElemInfo_servtype3.flash_troop_pic:type_name -> CustomFace 31, // 60: MsgElemInfo_servtype3.flash_c2c_pic:type_name -> NotOnlineImage - 59, // 61: ResvAttr.image_show:type_name -> AnimationImageShow - 62, // [62:62] is the sub-list for method output_type - 62, // [62:62] is the sub-list for method input_type - 62, // [62:62] is the sub-list for extension type_name - 62, // [62:62] is the sub-list for extension extendee - 0, // [0:62] is the sub-list for field type_name + 32, // 61: SubMsgType0x4Body.notOnlineFile:type_name -> NotOnlineFile + 60, // 62: ResvAttr.image_show:type_name -> AnimationImageShow + 63, // [63:63] is the sub-list for method output_type + 63, // [63:63] is the sub-list for method input_type + 63, // [63:63] is the sub-list for extension type_name + 63, // [63:63] is the sub-list for extension extendee + 0, // [0:63] is the sub-list for field type_name } func init() { file_msg_proto_init() } @@ -7988,7 +8064,7 @@ func file_msg_proto_init() { } } file_msg_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResvAttr); i { + switch v := v.(*SubMsgType0X4Body); i { case 0: return &v.state case 1: @@ -8000,6 +8076,18 @@ func file_msg_proto_init() { } } file_msg_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResvAttr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_msg_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AnimationImageShow); i { case 0: return &v.state @@ -8018,7 +8106,7 @@ func file_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_msg_proto_rawDesc, NumEnums: 1, - NumMessages: 59, + NumMessages: 60, NumExtensions: 0, NumServices: 0, }, diff --git a/client/pb/msg/msg.proto b/client/pb/msg/msg.proto index cc35729c..af8b47a2 100644 --- a/client/pb/msg/msg.proto +++ b/client/pb/msg/msg.proto @@ -698,11 +698,18 @@ message PbMultiMsgTransmit { repeated PbMultiMsgItem pbItemList = 2; } -message MsgElemInfo_servtype3{ +message MsgElemInfo_servtype3 { CustomFace flash_troop_pic = 1; NotOnlineImage flash_c2c_pic = 2; } +message SubMsgType0x4Body { + NotOnlineFile notOnlineFile = 1; + uint32 msgTime = 2; + uint32 onlineFileForPolyToOffline = 3; + // fileImageInfo +} + enum SyncFlag { START = 0; CONTINUME = 1; @@ -710,7 +717,7 @@ enum SyncFlag { } message ResvAttr { - AnimationImageShow image_show = 7; + AnimationImageShow image_show = 7; } message AnimationImageShow {