// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v4.22.0--rc2 // source: pb/artwork.proto package artwork import ( _ "github.com/mwitkow/go-proto-validators" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" _ "google.golang.org/protobuf/types/descriptorpb" 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) ) type TestReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields K1 string `protobuf:"bytes,1,opt,name=k1,proto3" json:"k1,omitempty"` } func (x *TestReq) Reset() { *x = TestReq{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TestReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*TestReq) ProtoMessage() {} func (x *TestReq) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 TestReq.ProtoReflect.Descriptor instead. func (*TestReq) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{0} } func (x *TestReq) GetK1() string { if x != nil { return x.K1 } return "" } type TestResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *TestResp) Reset() { *x = TestResp{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TestResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*TestResp) ProtoMessage() {} func (x *TestResp) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 TestResp.ProtoReflect.Descriptor instead. func (*TestResp) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{1} } func (x *TestResp) GetMsg() string { if x != nil { return x.Msg } return "" } // CreateArtworkProfile type CreArtProRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtworkName string `protobuf:"bytes,1,opt,name=ArtworkName,json=artwork_name,proto3" json:"ArtworkName,omitempty"` ArtistName string `protobuf:"bytes,2,opt,name=ArtistName,json=artist_name,proto3" json:"ArtistName,omitempty"` ArtCondition int32 `protobuf:"varint,3,opt,name=ArtCondition,json=art_condition,proto3" json:"ArtCondition,omitempty"` Mountmode int32 `protobuf:"varint,4,opt,name=Mountmode,json=mountmode,proto3" json:"Mountmode,omitempty"` ArtHorizontal int32 `protobuf:"varint,5,opt,name=ArtHorizontal,json=art_horizontal,proto3" json:"ArtHorizontal,omitempty"` Size int32 `protobuf:"varint,6,opt,name=Size,json=size,proto3" json:"Size,omitempty"` Length int32 `protobuf:"varint,7,opt,name=Length,json=length,proto3" json:"Length,omitempty"` Width int32 `protobuf:"varint,8,opt,name=Width,json=width,proto3" json:"Width,omitempty"` Ruler int32 `protobuf:"varint,9,opt,name=Ruler,json=ruler,proto3" json:"Ruler,omitempty"` InscribeDate string `protobuf:"bytes,10,opt,name=InscribeDate,json=inscribe_date,proto3" json:"InscribeDate,omitempty"` CreatedDate string `protobuf:"bytes,11,opt,name=CreatedDate,json=created_date,proto3" json:"CreatedDate,omitempty"` CreatedAddress string `protobuf:"bytes,12,opt,name=CreatedAddress,json=created_address,proto3" json:"CreatedAddress,omitempty"` Abstract string `protobuf:"bytes,13,opt,name=Abstract,json=abstract,proto3" json:"Abstract,omitempty"` PriceRuler float32 `protobuf:"fixed32,14,opt,name=PriceRuler,json=price_ruler,proto3" json:"PriceRuler,omitempty"` PriceCopyright float32 `protobuf:"fixed32,15,opt,name=PriceCopyright,json=price_copyright,proto3" json:"PriceCopyright,omitempty"` PriceArtwork float32 `protobuf:"fixed32,16,opt,name=PriceArtwork,json=price_artwork,proto3" json:"PriceArtwork,omitempty"` PriceMarket float32 `protobuf:"fixed32,17,opt,name=PriceMarket,json=price_market,proto3" json:"PriceMarket,omitempty"` Belong int32 `protobuf:"varint,18,opt,name=Belong,json=belong,proto3" json:"Belong,omitempty"` FlowState int32 `protobuf:"varint,19,opt,name=FlowState,json=flow_state,proto3" json:"FlowState,omitempty"` ArtQuality int32 `protobuf:"varint,20,opt,name=ArtQuality,json=art_quality,proto3" json:"ArtQuality,omitempty"` IncompletePic []string `protobuf:"bytes,21,rep,name=IncompletePic,json=incomplete_pic,proto3" json:"IncompletePic,omitempty"` Signpic string `protobuf:"bytes,22,opt,name=Signpic,json=signpic,proto3" json:"Signpic,omitempty"` Sealpic string `protobuf:"bytes,23,opt,name=Sealpic,json=sealpic,proto3" json:"Sealpic,omitempty"` ArtistPhoto string `protobuf:"bytes,24,opt,name=ArtistPhoto,json=artist_photo,proto3" json:"ArtistPhoto,omitempty"` PhotoPic string `protobuf:"bytes,25,opt,name=PhotoPic,json=photo_pic,proto3" json:"PhotoPic,omitempty"` HdPic string `protobuf:"bytes,26,opt,name=HdPic,json=hd_pic,proto3" json:"HdPic,omitempty"` Material int32 `protobuf:"varint,27,opt,name=Material,json=material,proto3" json:"Material,omitempty"` ArtworkUuid string `protobuf:"bytes,28,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` ArtistUuid string `protobuf:"bytes,29,opt,name=ArtistUuid,json=artist_uuid,proto3" json:"ArtistUuid,omitempty"` ArtworkType int32 `protobuf:"varint,30,opt,name=ArtworkType,json=artwork_type,proto3" json:"ArtworkType,omitempty"` CreateSource int32 `protobuf:"varint,31,opt,name=CreateSource,json=create_source,proto3" json:"CreateSource,omitempty"` // 1 后台 2 画家宝 TreasureName string `protobuf:"bytes,32,opt,name=TreasureName,json=treasure_name,proto3" json:"TreasureName,omitempty"` // 画家宝画作名字 FilterState int32 `protobuf:"varint,33,opt,name=FilterState,json=filter_state,proto3" json:"FilterState,omitempty"` // 筛选状态1 通过 2 不通过 PriceRun float32 `protobuf:"fixed32,34,opt,name=PriceRun,json=price_run,proto3" json:"PriceRun,omitempty"` //润格 StorageStatus int32 `protobuf:"varint,35,opt,name=StorageStatus,json=storage_status,proto3" json:"StorageStatus,omitempty"` //库存状态 SaleStatus int32 `protobuf:"varint,36,opt,name=SaleStatus,json=sale_status,proto3" json:"SaleStatus,omitempty"` //销售状态 Signdate string `protobuf:"bytes,37,opt,name=Signdate,json=sign_date,proto3" json:"Signdate,omitempty"` //签约时间 } func (x *CreArtProRequest) Reset() { *x = CreArtProRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreArtProRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreArtProRequest) ProtoMessage() {} func (x *CreArtProRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 CreArtProRequest.ProtoReflect.Descriptor instead. func (*CreArtProRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{2} } func (x *CreArtProRequest) GetArtworkName() string { if x != nil { return x.ArtworkName } return "" } func (x *CreArtProRequest) GetArtistName() string { if x != nil { return x.ArtistName } return "" } func (x *CreArtProRequest) GetArtCondition() int32 { if x != nil { return x.ArtCondition } return 0 } func (x *CreArtProRequest) GetMountmode() int32 { if x != nil { return x.Mountmode } return 0 } func (x *CreArtProRequest) GetArtHorizontal() int32 { if x != nil { return x.ArtHorizontal } return 0 } func (x *CreArtProRequest) GetSize() int32 { if x != nil { return x.Size } return 0 } func (x *CreArtProRequest) GetLength() int32 { if x != nil { return x.Length } return 0 } func (x *CreArtProRequest) GetWidth() int32 { if x != nil { return x.Width } return 0 } func (x *CreArtProRequest) GetRuler() int32 { if x != nil { return x.Ruler } return 0 } func (x *CreArtProRequest) GetInscribeDate() string { if x != nil { return x.InscribeDate } return "" } func (x *CreArtProRequest) GetCreatedDate() string { if x != nil { return x.CreatedDate } return "" } func (x *CreArtProRequest) GetCreatedAddress() string { if x != nil { return x.CreatedAddress } return "" } func (x *CreArtProRequest) GetAbstract() string { if x != nil { return x.Abstract } return "" } func (x *CreArtProRequest) GetPriceRuler() float32 { if x != nil { return x.PriceRuler } return 0 } func (x *CreArtProRequest) GetPriceCopyright() float32 { if x != nil { return x.PriceCopyright } return 0 } func (x *CreArtProRequest) GetPriceArtwork() float32 { if x != nil { return x.PriceArtwork } return 0 } func (x *CreArtProRequest) GetPriceMarket() float32 { if x != nil { return x.PriceMarket } return 0 } func (x *CreArtProRequest) GetBelong() int32 { if x != nil { return x.Belong } return 0 } func (x *CreArtProRequest) GetFlowState() int32 { if x != nil { return x.FlowState } return 0 } func (x *CreArtProRequest) GetArtQuality() int32 { if x != nil { return x.ArtQuality } return 0 } func (x *CreArtProRequest) GetIncompletePic() []string { if x != nil { return x.IncompletePic } return nil } func (x *CreArtProRequest) GetSignpic() string { if x != nil { return x.Signpic } return "" } func (x *CreArtProRequest) GetSealpic() string { if x != nil { return x.Sealpic } return "" } func (x *CreArtProRequest) GetArtistPhoto() string { if x != nil { return x.ArtistPhoto } return "" } func (x *CreArtProRequest) GetPhotoPic() string { if x != nil { return x.PhotoPic } return "" } func (x *CreArtProRequest) GetHdPic() string { if x != nil { return x.HdPic } return "" } func (x *CreArtProRequest) GetMaterial() int32 { if x != nil { return x.Material } return 0 } func (x *CreArtProRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *CreArtProRequest) GetArtistUuid() string { if x != nil { return x.ArtistUuid } return "" } func (x *CreArtProRequest) GetArtworkType() int32 { if x != nil { return x.ArtworkType } return 0 } func (x *CreArtProRequest) GetCreateSource() int32 { if x != nil { return x.CreateSource } return 0 } func (x *CreArtProRequest) GetTreasureName() string { if x != nil { return x.TreasureName } return "" } func (x *CreArtProRequest) GetFilterState() int32 { if x != nil { return x.FilterState } return 0 } func (x *CreArtProRequest) GetPriceRun() float32 { if x != nil { return x.PriceRun } return 0 } func (x *CreArtProRequest) GetStorageStatus() int32 { if x != nil { return x.StorageStatus } return 0 } func (x *CreArtProRequest) GetSaleStatus() int32 { if x != nil { return x.SaleStatus } return 0 } func (x *CreArtProRequest) GetSigndate() string { if x != nil { return x.Signdate } return "" } type ArtworkAddRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtworkUuid string `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` DigiCopyrightPath string `protobuf:"bytes,2,opt,name=DigiCopyrightPath,json=digi_copyright_path,proto3" json:"DigiCopyrightPath,omitempty"` } func (x *ArtworkAddRes) Reset() { *x = ArtworkAddRes{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ArtworkAddRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ArtworkAddRes) ProtoMessage() {} func (x *ArtworkAddRes) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 ArtworkAddRes.ProtoReflect.Descriptor instead. func (*ArtworkAddRes) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{3} } func (x *ArtworkAddRes) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *ArtworkAddRes) GetDigiCopyrightPath() string { if x != nil { return x.DigiCopyrightPath } return "" } type CreArtProResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` Data *ArtworkAddRes `protobuf:"bytes,2,opt,name=Data,json=data,proto3" json:"Data,omitempty"` } func (x *CreArtProResponse) Reset() { *x = CreArtProResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreArtProResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreArtProResponse) ProtoMessage() {} func (x *CreArtProResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 CreArtProResponse.ProtoReflect.Descriptor instead. func (*CreArtProResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{4} } func (x *CreArtProResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *CreArtProResponse) GetData() *ArtworkAddRes { if x != nil { return x.Data } return nil } // UpdateMInfoRequest type UpdateMInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtworkUuid string `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` Type int32 `protobuf:"varint,2,opt,name=Type,json=type,proto3" json:"Type,omitempty"` Detail string `protobuf:"bytes,3,opt,name=Detail,json=detail,proto3" json:"Detail,omitempty"` MarketId int32 `protobuf:"varint,4,opt,name=MarketId,json=market_id,proto3" json:"MarketId,omitempty"` } func (x *UpdateMInfoRequest) Reset() { *x = UpdateMInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateMInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateMInfoRequest) ProtoMessage() {} func (x *UpdateMInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateMInfoRequest.ProtoReflect.Descriptor instead. func (*UpdateMInfoRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{5} } func (x *UpdateMInfoRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *UpdateMInfoRequest) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *UpdateMInfoRequest) GetDetail() string { if x != nil { return x.Detail } return "" } func (x *UpdateMInfoRequest) GetMarketId() int32 { if x != nil { return x.MarketId } return 0 } type UpdateMInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpdateMInfoResponse) Reset() { *x = UpdateMInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateMInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateMInfoResponse) ProtoMessage() {} func (x *UpdateMInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateMInfoResponse.ProtoReflect.Descriptor instead. func (*UpdateMInfoResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{6} } func (x *UpdateMInfoResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateExtDataRequest type UpdateExtDataRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtType int32 `protobuf:"varint,1,opt,name=ArtType,json=art_type,proto3" json:"ArtType,omitempty"` ArtTitle int32 `protobuf:"varint,2,opt,name=ArtTitle,json=art_title,proto3" json:"ArtTitle,omitempty"` ArtStyle int32 `protobuf:"varint,3,opt,name=ArtStyle,json=art_style,proto3" json:"ArtStyle,omitempty"` Color int32 `protobuf:"varint,4,opt,name=Color,json=color,proto3" json:"Color,omitempty"` PenTechniques string `protobuf:"bytes,5,opt,name=PenTechniques,json=pen_techniques,proto3" json:"PenTechniques,omitempty"` ArtIdea string `protobuf:"bytes,6,opt,name=ArtIdea,json=art_idea,proto3" json:"ArtIdea,omitempty"` ExpressIdea string `protobuf:"bytes,7,opt,name=ExpressIdea,json=express_idea,proto3" json:"ExpressIdea,omitempty"` ArtStory string `protobuf:"bytes,8,opt,name=ArtStory,json=art_story,proto3" json:"ArtStory,omitempty"` FirstPublish string `protobuf:"bytes,9,opt,name=FirstPublish,json=first_publish,proto3" json:"FirstPublish,omitempty"` FirstPublishImg string `protobuf:"bytes,10,opt,name=FirstPublish_img,json=first_publish_img,proto3" json:"FirstPublish_img,omitempty"` FirstName string `protobuf:"bytes,11,opt,name=FirstName,json=first_name,proto3" json:"FirstName,omitempty"` FirstNameImg string `protobuf:"bytes,12,opt,name=FirstName_img,json=first_name_img,proto3" json:"FirstName_img,omitempty"` ThirdComment string `protobuf:"bytes,13,opt,name=ThirdComment,json=third_comment,proto3" json:"ThirdComment,omitempty"` Id int32 `protobuf:"varint,14,opt,name=Id,json=id,proto3" json:"Id,omitempty"` ArtworkUuid string `protobuf:"bytes,15,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` } func (x *UpdateExtDataRequest) Reset() { *x = UpdateExtDataRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateExtDataRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateExtDataRequest) ProtoMessage() {} func (x *UpdateExtDataRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateExtDataRequest.ProtoReflect.Descriptor instead. func (*UpdateExtDataRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{7} } func (x *UpdateExtDataRequest) GetArtType() int32 { if x != nil { return x.ArtType } return 0 } func (x *UpdateExtDataRequest) GetArtTitle() int32 { if x != nil { return x.ArtTitle } return 0 } func (x *UpdateExtDataRequest) GetArtStyle() int32 { if x != nil { return x.ArtStyle } return 0 } func (x *UpdateExtDataRequest) GetColor() int32 { if x != nil { return x.Color } return 0 } func (x *UpdateExtDataRequest) GetPenTechniques() string { if x != nil { return x.PenTechniques } return "" } func (x *UpdateExtDataRequest) GetArtIdea() string { if x != nil { return x.ArtIdea } return "" } func (x *UpdateExtDataRequest) GetExpressIdea() string { if x != nil { return x.ExpressIdea } return "" } func (x *UpdateExtDataRequest) GetArtStory() string { if x != nil { return x.ArtStory } return "" } func (x *UpdateExtDataRequest) GetFirstPublish() string { if x != nil { return x.FirstPublish } return "" } func (x *UpdateExtDataRequest) GetFirstPublishImg() string { if x != nil { return x.FirstPublishImg } return "" } func (x *UpdateExtDataRequest) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *UpdateExtDataRequest) GetFirstNameImg() string { if x != nil { return x.FirstNameImg } return "" } func (x *UpdateExtDataRequest) GetThirdComment() string { if x != nil { return x.ThirdComment } return "" } func (x *UpdateExtDataRequest) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *UpdateExtDataRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } // UpdateExtDataResponse type UpdateExtDataResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpdateExtDataResponse) Reset() { *x = UpdateExtDataResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateExtDataResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateExtDataResponse) ProtoMessage() {} func (x *UpdateExtDataResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateExtDataResponse.ProtoReflect.Descriptor instead. func (*UpdateExtDataResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{8} } func (x *UpdateExtDataResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateDigiInfo type UpdateDigiInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"` ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` SprayPosition string `protobuf:"bytes,3,opt,name=SprayPosition,json=spray_position,proto3" json:"SprayPosition,omitempty"` SprayRemark string `protobuf:"bytes,4,opt,name=SprayRemark,json=spray_remark,proto3" json:"SprayRemark,omitempty"` DigiShootDate string `protobuf:"bytes,5,opt,name=DigiShootDate,json=digi_shoot_date,proto3" json:"DigiShootDate,omitempty"` DigiMakeDate string `protobuf:"bytes,6,opt,name=DigiMakeDate,json=digi_make_date,proto3" json:"DigiMakeDate,omitempty"` DigiArtImg string `protobuf:"bytes,7,opt,name=DigiArtImg,json=digi_art_img,proto3" json:"DigiArtImg,omitempty"` DigiArtCopyrightImg string `protobuf:"bytes,8,opt,name=DigiArtCopyrightImg,json=digi_art_copyright_img,proto3" json:"DigiArtCopyrightImg,omitempty"` CopyrightHash string `protobuf:"bytes,9,opt,name=CopyrightHash,json=copyright_hash,proto3" json:"CopyrightHash,omitempty"` RealrightHash string `protobuf:"bytes,10,opt,name=RealrightHash,json=realright_hash,proto3" json:"RealrightHash,omitempty"` AuthDataHash string `protobuf:"bytes,11,opt,name=AuthDataHash,json=auth_data_hash,proto3" json:"AuthDataHash,omitempty"` WtRealHash string `protobuf:"bytes,12,opt,name=WtRealHash,json=wt_real_hash,proto3" json:"WtRealHash,omitempty"` CxRealHash string `protobuf:"bytes,13,opt,name=CxRealHash,json=cx_real_hash,proto3" json:"CxRealHash,omitempty"` BaiduRealHash string `protobuf:"bytes,14,opt,name=BaiduRealHash,json=baidu_real_hash,proto3" json:"BaiduRealHash,omitempty"` DigiCopyrightInfo string `protobuf:"bytes,15,opt,name=DigiCopyrightInfo,json=digi_copyright_info,proto3" json:"DigiCopyrightInfo,omitempty"` DigiCopyrightFile string `protobuf:"bytes,16,opt,name=DigiCopyrightFile,json=digi_copyright_file,proto3" json:"DigiCopyrightFile,omitempty"` } func (x *UpdateDigiInfoRequest) Reset() { *x = UpdateDigiInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateDigiInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateDigiInfoRequest) ProtoMessage() {} func (x *UpdateDigiInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateDigiInfoRequest.ProtoReflect.Descriptor instead. func (*UpdateDigiInfoRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{9} } func (x *UpdateDigiInfoRequest) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *UpdateDigiInfoRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *UpdateDigiInfoRequest) GetSprayPosition() string { if x != nil { return x.SprayPosition } return "" } func (x *UpdateDigiInfoRequest) GetSprayRemark() string { if x != nil { return x.SprayRemark } return "" } func (x *UpdateDigiInfoRequest) GetDigiShootDate() string { if x != nil { return x.DigiShootDate } return "" } func (x *UpdateDigiInfoRequest) GetDigiMakeDate() string { if x != nil { return x.DigiMakeDate } return "" } func (x *UpdateDigiInfoRequest) GetDigiArtImg() string { if x != nil { return x.DigiArtImg } return "" } func (x *UpdateDigiInfoRequest) GetDigiArtCopyrightImg() string { if x != nil { return x.DigiArtCopyrightImg } return "" } func (x *UpdateDigiInfoRequest) GetCopyrightHash() string { if x != nil { return x.CopyrightHash } return "" } func (x *UpdateDigiInfoRequest) GetRealrightHash() string { if x != nil { return x.RealrightHash } return "" } func (x *UpdateDigiInfoRequest) GetAuthDataHash() string { if x != nil { return x.AuthDataHash } return "" } func (x *UpdateDigiInfoRequest) GetWtRealHash() string { if x != nil { return x.WtRealHash } return "" } func (x *UpdateDigiInfoRequest) GetCxRealHash() string { if x != nil { return x.CxRealHash } return "" } func (x *UpdateDigiInfoRequest) GetBaiduRealHash() string { if x != nil { return x.BaiduRealHash } return "" } func (x *UpdateDigiInfoRequest) GetDigiCopyrightInfo() string { if x != nil { return x.DigiCopyrightInfo } return "" } func (x *UpdateDigiInfoRequest) GetDigiCopyrightFile() string { if x != nil { return x.DigiCopyrightFile } return "" } type UpdateDigiInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpdateDigiInfoResponse) Reset() { *x = UpdateDigiInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateDigiInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateDigiInfoResponse) ProtoMessage() {} func (x *UpdateDigiInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateDigiInfoResponse.ProtoReflect.Descriptor instead. func (*UpdateDigiInfoResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{10} } func (x *UpdateDigiInfoResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateTags type UpdateTagsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtworkUuid string `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` Tags []int32 `protobuf:"varint,2,rep,packed,name=Tags,json=tags,proto3" json:"Tags,omitempty"` } func (x *UpdateTagsRequest) Reset() { *x = UpdateTagsRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateTagsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateTagsRequest) ProtoMessage() {} func (x *UpdateTagsRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateTagsRequest.ProtoReflect.Descriptor instead. func (*UpdateTagsRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{11} } func (x *UpdateTagsRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *UpdateTagsRequest) GetTags() []int32 { if x != nil { return x.Tags } return nil } type UpdateTagsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpdateTagsResponse) Reset() { *x = UpdateTagsResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateTagsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateTagsResponse) ProtoMessage() {} func (x *UpdateTagsResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateTagsResponse.ProtoReflect.Descriptor instead. func (*UpdateTagsResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{12} } func (x *UpdateTagsResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateAuthData type UpdateAuthDataRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` AuthImg string `protobuf:"bytes,3,opt,name=AuthImg,json=auth_img,proto3" json:"AuthImg,omitempty"` DigiArtImg string `protobuf:"bytes,4,opt,name=DigiArtImg,json=digi_art_img,proto3" json:"DigiArtImg,omitempty"` Data []*UpdateAuthDataRequest_BitMap `protobuf:"bytes,5,rep,name=Data,json=data,proto3" json:"Data,omitempty"` AuthTime string `protobuf:"bytes,6,opt,name=AuthTime,json=auth_time,proto3" json:"AuthTime,omitempty"` } func (x *UpdateAuthDataRequest) Reset() { *x = UpdateAuthDataRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAuthDataRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAuthDataRequest) ProtoMessage() {} func (x *UpdateAuthDataRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateAuthDataRequest.ProtoReflect.Descriptor instead. func (*UpdateAuthDataRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{13} } func (x *UpdateAuthDataRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *UpdateAuthDataRequest) GetAuthImg() string { if x != nil { return x.AuthImg } return "" } func (x *UpdateAuthDataRequest) GetDigiArtImg() string { if x != nil { return x.DigiArtImg } return "" } func (x *UpdateAuthDataRequest) GetData() []*UpdateAuthDataRequest_BitMap { if x != nil { return x.Data } return nil } func (x *UpdateAuthDataRequest) GetAuthTime() string { if x != nil { return x.AuthTime } return "" } type UpdateAuthDataResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpdateAuthDataResponse) Reset() { *x = UpdateAuthDataResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAuthDataResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAuthDataResponse) ProtoMessage() {} func (x *UpdateAuthDataResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateAuthDataResponse.ProtoReflect.Descriptor instead. func (*UpdateAuthDataResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{14} } func (x *UpdateAuthDataResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateAuthImg type UpdateAuthImgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtworkUuid string `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` AuthImg string `protobuf:"bytes,2,opt,name=AuthImg,json=auth_img,proto3" json:"AuthImg,omitempty"` } func (x *UpdateAuthImgRequest) Reset() { *x = UpdateAuthImgRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAuthImgRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAuthImgRequest) ProtoMessage() {} func (x *UpdateAuthImgRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateAuthImgRequest.ProtoReflect.Descriptor instead. func (*UpdateAuthImgRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{15} } func (x *UpdateAuthImgRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *UpdateAuthImgRequest) GetAuthImg() string { if x != nil { return x.AuthImg } return "" } type UpdateAuthImgResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpdateAuthImgResponse) Reset() { *x = UpdateAuthImgResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAuthImgResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAuthImgResponse) ProtoMessage() {} func (x *UpdateAuthImgResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateAuthImgResponse.ProtoReflect.Descriptor instead. func (*UpdateAuthImgResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{16} } func (x *UpdateAuthImgResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateStorage type UpdateStorageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"` ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` Type int32 `protobuf:"varint,3,opt,name=Type,json=type,proto3" json:"Type,omitempty"` Detail string `protobuf:"bytes,4,opt,name=Detail,json=detail,proto3" json:"Detail,omitempty"` ArtistData *UpdateStorageRequest_ArtistInfo `protobuf:"bytes,5,opt,name=ArtistData,json=artist_data,proto3" json:"ArtistData,omitempty"` } func (x *UpdateStorageRequest) Reset() { *x = UpdateStorageRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateStorageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateStorageRequest) ProtoMessage() {} func (x *UpdateStorageRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateStorageRequest.ProtoReflect.Descriptor instead. func (*UpdateStorageRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{17} } func (x *UpdateStorageRequest) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *UpdateStorageRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *UpdateStorageRequest) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *UpdateStorageRequest) GetDetail() string { if x != nil { return x.Detail } return "" } func (x *UpdateStorageRequest) GetArtistData() *UpdateStorageRequest_ArtistInfo { if x != nil { return x.ArtistData } return nil } type UpdateStorageResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpdateStorageResponse) Reset() { *x = UpdateStorageResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateStorageResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateStorageResponse) ProtoMessage() {} func (x *UpdateStorageResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateStorageResponse.ProtoReflect.Descriptor instead. func (*UpdateStorageResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{18} } func (x *UpdateStorageResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UploadBatchImg type UploadBatchImgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*UploadBatchImgRequest_ImgInfo `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` } func (x *UploadBatchImgRequest) Reset() { *x = UploadBatchImgRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UploadBatchImgRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UploadBatchImgRequest) ProtoMessage() {} func (x *UploadBatchImgRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UploadBatchImgRequest.ProtoReflect.Descriptor instead. func (*UploadBatchImgRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{19} } func (x *UploadBatchImgRequest) GetData() []*UploadBatchImgRequest_ImgInfo { if x != nil { return x.Data } return nil } type UploadBatchImgResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UploadBatchImgResponse) Reset() { *x = UploadBatchImgResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UploadBatchImgResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UploadBatchImgResponse) ProtoMessage() {} func (x *UploadBatchImgResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UploadBatchImgResponse.ProtoReflect.Descriptor instead. func (*UploadBatchImgResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{20} } func (x *UploadBatchImgResponse) GetMsg() string { if x != nil { return x.Msg } return "" } type ArtworkDetailRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type string `protobuf:"bytes,1,opt,name=Type,json=type,proto3" json:"Type,omitempty"` ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` } func (x *ArtworkDetailRequest) Reset() { *x = ArtworkDetailRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ArtworkDetailRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ArtworkDetailRequest) ProtoMessage() {} func (x *ArtworkDetailRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 ArtworkDetailRequest.ProtoReflect.Descriptor instead. func (*ArtworkDetailRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{21} } func (x *ArtworkDetailRequest) GetType() string { if x != nil { return x.Type } return "" } func (x *ArtworkDetailRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } type ArtworkDetailResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtworkUuid string `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` ProfileInfo *CreArtProRequest `protobuf:"bytes,2,opt,name=ProfileInfo,json=profile_info,proto3" json:"ProfileInfo,omitempty"` MarketInfo []*UpdateMInfoRequest `protobuf:"bytes,3,rep,name=MarketInfo,json=market_info,proto3" json:"MarketInfo,omitempty"` ExtDataInfo *UpdateExtDataRequest `protobuf:"bytes,4,opt,name=ExtDataInfo,json=ext_data,proto3" json:"ExtDataInfo,omitempty"` DigiInfo *UpdateDigiInfoRequest `protobuf:"bytes,5,opt,name=DigiInfo,json=digi_info,proto3" json:"DigiInfo,omitempty"` AuthData *UpdateAuthDataRequest `protobuf:"bytes,6,opt,name=AuthData,json=auth_data,proto3" json:"AuthData,omitempty"` TagsData []*ArtworkDetailResponse_TagsInfo `protobuf:"bytes,7,rep,name=TagsData,json=tags_data,proto3" json:"TagsData,omitempty"` CopyRightInfo *UpdateCopyrightInfoRequest `protobuf:"bytes,8,opt,name=CopyRightInfo,json=copy_right_info,proto3" json:"CopyRightInfo,omitempty"` VerifyData []*BitMap `protobuf:"bytes,9,rep,name=VerifyData,json=verify_data,proto3" json:"VerifyData,omitempty"` Msg string `protobuf:"bytes,10,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *ArtworkDetailResponse) Reset() { *x = ArtworkDetailResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ArtworkDetailResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ArtworkDetailResponse) ProtoMessage() {} func (x *ArtworkDetailResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 ArtworkDetailResponse.ProtoReflect.Descriptor instead. func (*ArtworkDetailResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{22} } func (x *ArtworkDetailResponse) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *ArtworkDetailResponse) GetProfileInfo() *CreArtProRequest { if x != nil { return x.ProfileInfo } return nil } func (x *ArtworkDetailResponse) GetMarketInfo() []*UpdateMInfoRequest { if x != nil { return x.MarketInfo } return nil } func (x *ArtworkDetailResponse) GetExtDataInfo() *UpdateExtDataRequest { if x != nil { return x.ExtDataInfo } return nil } func (x *ArtworkDetailResponse) GetDigiInfo() *UpdateDigiInfoRequest { if x != nil { return x.DigiInfo } return nil } func (x *ArtworkDetailResponse) GetAuthData() *UpdateAuthDataRequest { if x != nil { return x.AuthData } return nil } func (x *ArtworkDetailResponse) GetTagsData() []*ArtworkDetailResponse_TagsInfo { if x != nil { return x.TagsData } return nil } func (x *ArtworkDetailResponse) GetCopyRightInfo() *UpdateCopyrightInfoRequest { if x != nil { return x.CopyRightInfo } return nil } func (x *ArtworkDetailResponse) GetVerifyData() []*BitMap { if x != nil { return x.VerifyData } return nil } func (x *ArtworkDetailResponse) GetMsg() string { if x != nil { return x.Msg } return "" } type ArtworkProfileListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*ArtworkDetailResponse `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` } func (x *ArtworkProfileListResponse) Reset() { *x = ArtworkProfileListResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ArtworkProfileListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ArtworkProfileListResponse) ProtoMessage() {} func (x *ArtworkProfileListResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 ArtworkProfileListResponse.ProtoReflect.Descriptor instead. func (*ArtworkProfileListResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{23} } func (x *ArtworkProfileListResponse) GetData() []*ArtworkDetailResponse { if x != nil { return x.Data } return nil } // StorageInfo type StorageInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type int32 `protobuf:"varint,1,opt,name=Type,json=type,proto3" json:"Type,omitempty"` ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` } func (x *StorageInfoRequest) Reset() { *x = StorageInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StorageInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StorageInfoRequest) ProtoMessage() {} func (x *StorageInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 StorageInfoRequest.ProtoReflect.Descriptor instead. func (*StorageInfoRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{24} } func (x *StorageInfoRequest) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *StorageInfoRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } type StorageInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields StorageData []*UpdateStorageRequest `protobuf:"bytes,1,rep,name=StorageData,json=storage_info,proto3" json:"StorageData,omitempty"` Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *StorageInfoResponse) Reset() { *x = StorageInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StorageInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StorageInfoResponse) ProtoMessage() {} func (x *StorageInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 StorageInfoResponse.ProtoReflect.Descriptor instead. func (*StorageInfoResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{25} } func (x *StorageInfoResponse) GetStorageData() []*UpdateStorageRequest { if x != nil { return x.StorageData } return nil } func (x *StorageInfoResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // MarketInfo type MarketInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type int32 `protobuf:"varint,1,opt,name=Type,json=type,proto3" json:"Type,omitempty"` ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` } func (x *MarketInfoRequest) Reset() { *x = MarketInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MarketInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MarketInfoRequest) ProtoMessage() {} func (x *MarketInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 MarketInfoRequest.ProtoReflect.Descriptor instead. func (*MarketInfoRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{26} } func (x *MarketInfoRequest) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *MarketInfoRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } type MarketInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MarketInfo []*UpdateMInfoRequest `protobuf:"bytes,1,rep,name=MarketInfo,json=market_info,proto3" json:"MarketInfo,omitempty"` Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *MarketInfoResponse) Reset() { *x = MarketInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MarketInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*MarketInfoResponse) ProtoMessage() {} func (x *MarketInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 MarketInfoResponse.ProtoReflect.Descriptor instead. func (*MarketInfoResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{27} } func (x *MarketInfoResponse) GetMarketInfo() []*UpdateMInfoRequest { if x != nil { return x.MarketInfo } return nil } func (x *MarketInfoResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpArtistInfo type UpArtistInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*UpArtistInfoRequest_ArtistInfo `protobuf:"bytes,2,rep,name=Data,json=data,proto3" json:"Data,omitempty"` } func (x *UpArtistInfoRequest) Reset() { *x = UpArtistInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpArtistInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpArtistInfoRequest) ProtoMessage() {} func (x *UpArtistInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpArtistInfoRequest.ProtoReflect.Descriptor instead. func (*UpArtistInfoRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{28} } func (x *UpArtistInfoRequest) GetData() []*UpArtistInfoRequest_ArtistInfo { if x != nil { return x.Data } return nil } type UpArtistInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpArtistInfoResponse) Reset() { *x = UpArtistInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpArtistInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpArtistInfoResponse) ProtoMessage() {} func (x *UpArtistInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpArtistInfoResponse.ProtoReflect.Descriptor instead. func (*UpArtistInfoResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{29} } func (x *UpArtistInfoResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // RandomHash type RandomHashRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RandomHashRequest) Reset() { *x = RandomHashRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RandomHashRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RandomHashRequest) ProtoMessage() {} func (x *RandomHashRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 RandomHashRequest.ProtoReflect.Descriptor instead. func (*RandomHashRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{30} } type RandomHashResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Hash string `protobuf:"bytes,1,opt,name=Hash,json=hash,proto3" json:"Hash,omitempty"` Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *RandomHashResponse) Reset() { *x = RandomHashResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RandomHashResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RandomHashResponse) ProtoMessage() {} func (x *RandomHashResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 RandomHashResponse.ProtoReflect.Descriptor instead. func (*RandomHashResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{31} } func (x *RandomHashResponse) GetHash() string { if x != nil { return x.Hash } return "" } func (x *RandomHashResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UploadCopyrightInfo type UpdateCopyrightInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"` Number string `protobuf:"bytes,2,opt,name=Number,json=number,proto3" json:"Number,omitempty"` SerialNumber string `protobuf:"bytes,3,opt,name=SerialNumber,json=serial_number,proto3" json:"SerialNumber,omitempty"` ApplyTime string `protobuf:"bytes,4,opt,name=ApplyTime,json=apply_time,proto3" json:"ApplyTime,omitempty"` RegisterNumber string `protobuf:"bytes,5,opt,name=RegisterNumber,json=register_number,proto3" json:"RegisterNumber,omitempty"` CertDigi string `protobuf:"bytes,6,opt,name=CertDigi,json=cert_digi,proto3" json:"CertDigi,omitempty"` CertRegisterTime string `protobuf:"bytes,7,opt,name=CertRegisterTime,json=cert_register_time,proto3" json:"CertRegisterTime,omitempty"` AgentRegisterContract string `protobuf:"bytes,8,opt,name=AgentRegisterContract,json=agent_register_contract,proto3" json:"AgentRegisterContract,omitempty"` ArtworkUuid string `protobuf:"bytes,9,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` PromiseLetterUrl string `protobuf:"bytes,10,opt,name=PromiseLetterUrl,json=promise_letter_url,proto3" json:"PromiseLetterUrl,omitempty"` EntrustLetterUrl string `protobuf:"bytes,11,opt,name=EntrustLetterUrl,json=entrust_letter_url,proto3" json:"EntrustLetterUrl,omitempty"` } func (x *UpdateCopyrightInfoRequest) Reset() { *x = UpdateCopyrightInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateCopyrightInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateCopyrightInfoRequest) ProtoMessage() {} func (x *UpdateCopyrightInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateCopyrightInfoRequest.ProtoReflect.Descriptor instead. func (*UpdateCopyrightInfoRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{32} } func (x *UpdateCopyrightInfoRequest) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *UpdateCopyrightInfoRequest) GetNumber() string { if x != nil { return x.Number } return "" } func (x *UpdateCopyrightInfoRequest) GetSerialNumber() string { if x != nil { return x.SerialNumber } return "" } func (x *UpdateCopyrightInfoRequest) GetApplyTime() string { if x != nil { return x.ApplyTime } return "" } func (x *UpdateCopyrightInfoRequest) GetRegisterNumber() string { if x != nil { return x.RegisterNumber } return "" } func (x *UpdateCopyrightInfoRequest) GetCertDigi() string { if x != nil { return x.CertDigi } return "" } func (x *UpdateCopyrightInfoRequest) GetCertRegisterTime() string { if x != nil { return x.CertRegisterTime } return "" } func (x *UpdateCopyrightInfoRequest) GetAgentRegisterContract() string { if x != nil { return x.AgentRegisterContract } return "" } func (x *UpdateCopyrightInfoRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *UpdateCopyrightInfoRequest) GetPromiseLetterUrl() string { if x != nil { return x.PromiseLetterUrl } return "" } func (x *UpdateCopyrightInfoRequest) GetEntrustLetterUrl() string { if x != nil { return x.EntrustLetterUrl } return "" } type UpdateCopyrightInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpdateCopyrightInfoResponse) Reset() { *x = UpdateCopyrightInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateCopyrightInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateCopyrightInfoResponse) ProtoMessage() {} func (x *UpdateCopyrightInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateCopyrightInfoResponse.ProtoReflect.Descriptor instead. func (*UpdateCopyrightInfoResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{33} } func (x *UpdateCopyrightInfoResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateTransferInfo type UpdateTransferInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"` ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` SerialNumber string `protobuf:"bytes,3,opt,name=SerialNumber,json=serial_number,proto3" json:"SerialNumber,omitempty"` AgentRegisterContract []string `protobuf:"bytes,4,rep,name=AgentRegisterContract,json=agent_register_contract,proto3" json:"AgentRegisterContract,omitempty"` ApplyTime string `protobuf:"bytes,5,opt,name=ApplyTime,json=apply_time,proto3" json:"ApplyTime,omitempty"` RegisterNumber string `protobuf:"bytes,6,opt,name=RegisterNumber,json=register_number,proto3" json:"RegisterNumber,omitempty"` CertDigi string `protobuf:"bytes,7,opt,name=CertDigi,json=cert_digi,proto3" json:"CertDigi,omitempty"` CertRegisterTime string `protobuf:"bytes,8,opt,name=CertRegisterTime,json=cert_register_time,proto3" json:"CertRegisterTime,omitempty"` TransTime string `protobuf:"bytes,9,opt,name=TransTime,json=trans_time,proto3" json:"TransTime,omitempty"` InternalSerialNumber string `protobuf:"bytes,10,opt,name=InternalSerialNumber,json=internal_serial_number,proto3" json:"InternalSerialNumber,omitempty"` TransferCardFace string `protobuf:"bytes,11,opt,name=TransferCardFace,json=transfer_card_face,proto3" json:"TransferCardFace,omitempty"` TransferCardNational string `protobuf:"bytes,12,opt,name=TransferCardNational,json=transfer_card_national,proto3" json:"TransferCardNational,omitempty"` PromiseLetterUrl string `protobuf:"bytes,13,opt,name=PromiseLetterUrl,json=promise_letter_url,proto3" json:"PromiseLetterUrl,omitempty"` EntrustLetterUrl string `protobuf:"bytes,14,opt,name=EntrustLetterUrl,json=entrust_letter_url,proto3" json:"EntrustLetterUrl,omitempty"` } func (x *UpdateTransferInfoRequest) Reset() { *x = UpdateTransferInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateTransferInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateTransferInfoRequest) ProtoMessage() {} func (x *UpdateTransferInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateTransferInfoRequest.ProtoReflect.Descriptor instead. func (*UpdateTransferInfoRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{34} } func (x *UpdateTransferInfoRequest) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *UpdateTransferInfoRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *UpdateTransferInfoRequest) GetSerialNumber() string { if x != nil { return x.SerialNumber } return "" } func (x *UpdateTransferInfoRequest) GetAgentRegisterContract() []string { if x != nil { return x.AgentRegisterContract } return nil } func (x *UpdateTransferInfoRequest) GetApplyTime() string { if x != nil { return x.ApplyTime } return "" } func (x *UpdateTransferInfoRequest) GetRegisterNumber() string { if x != nil { return x.RegisterNumber } return "" } func (x *UpdateTransferInfoRequest) GetCertDigi() string { if x != nil { return x.CertDigi } return "" } func (x *UpdateTransferInfoRequest) GetCertRegisterTime() string { if x != nil { return x.CertRegisterTime } return "" } func (x *UpdateTransferInfoRequest) GetTransTime() string { if x != nil { return x.TransTime } return "" } func (x *UpdateTransferInfoRequest) GetInternalSerialNumber() string { if x != nil { return x.InternalSerialNumber } return "" } func (x *UpdateTransferInfoRequest) GetTransferCardFace() string { if x != nil { return x.TransferCardFace } return "" } func (x *UpdateTransferInfoRequest) GetTransferCardNational() string { if x != nil { return x.TransferCardNational } return "" } func (x *UpdateTransferInfoRequest) GetPromiseLetterUrl() string { if x != nil { return x.PromiseLetterUrl } return "" } func (x *UpdateTransferInfoRequest) GetEntrustLetterUrl() string { if x != nil { return x.EntrustLetterUrl } return "" } type UpdateTransferInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpdateTransferInfoResponse) Reset() { *x = UpdateTransferInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateTransferInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateTransferInfoResponse) ProtoMessage() {} func (x *UpdateTransferInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateTransferInfoResponse.ProtoReflect.Descriptor instead. func (*UpdateTransferInfoResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{35} } func (x *UpdateTransferInfoResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // TransferInfoList type TransferInfoListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // string Keyword = 1 [json_name = "keyword"]; Page int32 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` PageSize int32 `protobuf:"varint,3,opt,name=PageSize,json=page_size,proto3" json:"PageSize,omitempty"` ArtworkUuid string `protobuf:"bytes,4,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` } func (x *TransferInfoListRequest) Reset() { *x = TransferInfoListRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TransferInfoListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TransferInfoListRequest) ProtoMessage() {} func (x *TransferInfoListRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 TransferInfoListRequest.ProtoReflect.Descriptor instead. func (*TransferInfoListRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{36} } func (x *TransferInfoListRequest) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *TransferInfoListRequest) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *TransferInfoListRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } type TransferInfoListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*UpdateTransferInfoRequest `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` Count int32 `protobuf:"varint,2,opt,name=Count,json=count,proto3" json:"Count,omitempty"` Msg string `protobuf:"bytes,3,opt,name=Msg,json=message,proto3" json:"Msg,omitempty"` } func (x *TransferInfoListResponse) Reset() { *x = TransferInfoListResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TransferInfoListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*TransferInfoListResponse) ProtoMessage() {} func (x *TransferInfoListResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 TransferInfoListResponse.ProtoReflect.Descriptor instead. func (*TransferInfoListResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{37} } func (x *TransferInfoListResponse) GetData() []*UpdateTransferInfoRequest { if x != nil { return x.Data } return nil } func (x *TransferInfoListResponse) GetCount() int32 { if x != nil { return x.Count } return 0 } func (x *TransferInfoListResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateRulerInfo type UpdateRulerInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtworkUuid string `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` Price float32 `protobuf:"fixed32,2,opt,name=Price,json=price,proto3" json:"Price,omitempty"` RulerPrice float32 `protobuf:"fixed32,3,opt,name=RulerPrice,json=ruler_price,proto3" json:"RulerPrice,omitempty"` ArtworkPrice float32 `protobuf:"fixed32,4,opt,name=ArtworkPrice,json=artwork_price,proto3" json:"ArtworkPrice,omitempty"` CopyrightPrice float32 `protobuf:"fixed32,5,opt,name=CopyrightPrice,json=copyright_price,proto3" json:"CopyrightPrice,omitempty"` } func (x *UpdateRulerInfoRequest) Reset() { *x = UpdateRulerInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateRulerInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateRulerInfoRequest) ProtoMessage() {} func (x *UpdateRulerInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateRulerInfoRequest.ProtoReflect.Descriptor instead. func (*UpdateRulerInfoRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{38} } func (x *UpdateRulerInfoRequest) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *UpdateRulerInfoRequest) GetPrice() float32 { if x != nil { return x.Price } return 0 } func (x *UpdateRulerInfoRequest) GetRulerPrice() float32 { if x != nil { return x.RulerPrice } return 0 } func (x *UpdateRulerInfoRequest) GetArtworkPrice() float32 { if x != nil { return x.ArtworkPrice } return 0 } func (x *UpdateRulerInfoRequest) GetCopyrightPrice() float32 { if x != nil { return x.CopyrightPrice } return 0 } type UpdateRulerInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=message,proto3" json:"Msg,omitempty"` } func (x *UpdateRulerInfoResponse) Reset() { *x = UpdateRulerInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateRulerInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateRulerInfoResponse) ProtoMessage() {} func (x *UpdateRulerInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateRulerInfoResponse.ProtoReflect.Descriptor instead. func (*UpdateRulerInfoResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{39} } func (x *UpdateRulerInfoResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateAwPriceRun type UpdateAwPriceRunRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*UpdateAwPriceRunRequest_Info `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` } func (x *UpdateAwPriceRunRequest) Reset() { *x = UpdateAwPriceRunRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAwPriceRunRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAwPriceRunRequest) ProtoMessage() {} func (x *UpdateAwPriceRunRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateAwPriceRunRequest.ProtoReflect.Descriptor instead. func (*UpdateAwPriceRunRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{40} } func (x *UpdateAwPriceRunRequest) GetData() []*UpdateAwPriceRunRequest_Info { if x != nil { return x.Data } return nil } type UpdateAwPriceRunResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=message,proto3" json:"Msg,omitempty"` } func (x *UpdateAwPriceRunResponse) Reset() { *x = UpdateAwPriceRunResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAwPriceRunResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAwPriceRunResponse) ProtoMessage() {} func (x *UpdateAwPriceRunResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateAwPriceRunResponse.ProtoReflect.Descriptor instead. func (*UpdateAwPriceRunResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{41} } func (x *UpdateAwPriceRunResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateCrHashByTfnum type UpdateCrHashByTfnumRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*UpdateCrHashByTfnumRequest_Info `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` } func (x *UpdateCrHashByTfnumRequest) Reset() { *x = UpdateCrHashByTfnumRequest{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateCrHashByTfnumRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateCrHashByTfnumRequest) ProtoMessage() {} func (x *UpdateCrHashByTfnumRequest) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateCrHashByTfnumRequest.ProtoReflect.Descriptor instead. func (*UpdateCrHashByTfnumRequest) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{42} } func (x *UpdateCrHashByTfnumRequest) GetData() []*UpdateCrHashByTfnumRequest_Info { if x != nil { return x.Data } return nil } type UpdateCrHashByTfnumResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=message,proto3" json:"Msg,omitempty"` } func (x *UpdateCrHashByTfnumResponse) Reset() { *x = UpdateCrHashByTfnumResponse{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateCrHashByTfnumResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateCrHashByTfnumResponse) ProtoMessage() {} func (x *UpdateCrHashByTfnumResponse) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateCrHashByTfnumResponse.ProtoReflect.Descriptor instead. func (*UpdateCrHashByTfnumResponse) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{43} } func (x *UpdateCrHashByTfnumResponse) GetMsg() string { if x != nil { return x.Msg } return "" } // UpdateVerifyData type BitMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields BitmapIndex int32 `protobuf:"varint,1,opt,name=BitmapIndex,json=bitmap_index,proto3" json:"BitmapIndex,omitempty"` VerifyBitmapImg string `protobuf:"bytes,2,opt,name=VerifyBitmapImg,json=verify_bitmap_img,proto3" json:"VerifyBitmapImg,omitempty"` VerifyBmSixtyImg string `protobuf:"bytes,3,opt,name=VerifyBmSixtyImg,json=verify_bm_sixty_img,proto3" json:"VerifyBmSixtyImg,omitempty"` VerifyBmTwohundredImg string `protobuf:"bytes,4,opt,name=VerifyBmTwohundredImg,json=verify_bm_twohundred_img,proto3" json:"VerifyBmTwohundredImg,omitempty"` VerifyBmSixhundredImg string `protobuf:"bytes,5,opt,name=VerifyBmSixhundredImg,json=verify_bm_sixhundred_img,proto3" json:"VerifyBmSixhundredImg,omitempty"` VerifyBmTwothousandImg string `protobuf:"bytes,6,opt,name=VerifyBmTwothousandImg,json=verify_bm_twothousand_img,proto3" json:"VerifyBmTwothousandImg,omitempty"` BitmapImg string `protobuf:"bytes,7,opt,name=BitmapImg,json=bitmap_img,proto3" json:"BitmapImg,omitempty"` BmSixtyImg string `protobuf:"bytes,8,opt,name=BmSixtyImg,json=bm_sixty_img,proto3" json:"BmSixtyImg,omitempty"` BmTwohundredImg string `protobuf:"bytes,9,opt,name=BmTwohundredImg,json=bm_twohundred_img,proto3" json:"BmTwohundredImg,omitempty"` BmSixhundredImg string `protobuf:"bytes,10,opt,name=BmSixhundredImg,json=bm_sixhundred_img,proto3" json:"BmSixhundredImg,omitempty"` BmTwothousandImg string `protobuf:"bytes,11,opt,name=BmTwothousandImg,json=bm_twothousand_img,proto3" json:"BmTwothousandImg,omitempty"` Id int32 `protobuf:"varint,12,opt,name=Id,json=id,proto3" json:"Id,omitempty"` } func (x *BitMap) Reset() { *x = BitMap{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BitMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*BitMap) ProtoMessage() {} func (x *BitMap) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 BitMap.ProtoReflect.Descriptor instead. func (*BitMap) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{44} } func (x *BitMap) GetBitmapIndex() int32 { if x != nil { return x.BitmapIndex } return 0 } func (x *BitMap) GetVerifyBitmapImg() string { if x != nil { return x.VerifyBitmapImg } return "" } func (x *BitMap) GetVerifyBmSixtyImg() string { if x != nil { return x.VerifyBmSixtyImg } return "" } func (x *BitMap) GetVerifyBmTwohundredImg() string { if x != nil { return x.VerifyBmTwohundredImg } return "" } func (x *BitMap) GetVerifyBmSixhundredImg() string { if x != nil { return x.VerifyBmSixhundredImg } return "" } func (x *BitMap) GetVerifyBmTwothousandImg() string { if x != nil { return x.VerifyBmTwothousandImg } return "" } func (x *BitMap) GetBitmapImg() string { if x != nil { return x.BitmapImg } return "" } func (x *BitMap) GetBmSixtyImg() string { if x != nil { return x.BmSixtyImg } return "" } func (x *BitMap) GetBmTwohundredImg() string { if x != nil { return x.BmTwohundredImg } return "" } func (x *BitMap) GetBmSixhundredImg() string { if x != nil { return x.BmSixhundredImg } return "" } func (x *BitMap) GetBmTwothousandImg() string { if x != nil { return x.BmTwothousandImg } return "" } func (x *BitMap) GetId() int32 { if x != nil { return x.Id } return 0 } type UpdateVerifyDataReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []*BitMap `protobuf:"bytes,1,rep,name=Data,json=verify_data,proto3" json:"Data,omitempty"` ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` } func (x *UpdateVerifyDataReq) Reset() { *x = UpdateVerifyDataReq{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateVerifyDataReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateVerifyDataReq) ProtoMessage() {} func (x *UpdateVerifyDataReq) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateVerifyDataReq.ProtoReflect.Descriptor instead. func (*UpdateVerifyDataReq) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{45} } func (x *UpdateVerifyDataReq) GetData() []*BitMap { if x != nil { return x.Data } return nil } func (x *UpdateVerifyDataReq) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } type UpdateVerifyDataResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *UpdateVerifyDataResp) Reset() { *x = UpdateVerifyDataResp{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateVerifyDataResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateVerifyDataResp) ProtoMessage() {} func (x *UpdateVerifyDataResp) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateVerifyDataResp.ProtoReflect.Descriptor instead. func (*UpdateVerifyDataResp) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{46} } func (x *UpdateVerifyDataResp) GetMsg() string { if x != nil { return x.Msg } return "" } type UpdateAuthDataRequest_BitMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields BitmapIndex int32 `protobuf:"varint,1,opt,name=BitmapIndex,json=bitmap_index,proto3" json:"BitmapIndex,omitempty"` BitmapImg string `protobuf:"bytes,2,opt,name=BitmapImg,json=bitmap_img,proto3" json:"BitmapImg,omitempty"` BmSixtyImg string `protobuf:"bytes,3,opt,name=BmSixtyImg,json=bm_sixty_img,proto3" json:"BmSixtyImg,omitempty"` BmTwohundredImg string `protobuf:"bytes,4,opt,name=BmTwohundredImg,json=bm_twohundred_img,proto3" json:"BmTwohundredImg,omitempty"` BmSixhundredImg string `protobuf:"bytes,5,opt,name=BmSixhundredImg,json=bm_sixhundred_img,proto3" json:"BmSixhundredImg,omitempty"` BmTwothousandImg string `protobuf:"bytes,6,opt,name=BmTwothousandImg,json=bm_twothousand_img,proto3" json:"BmTwothousandImg,omitempty"` Id int32 `protobuf:"varint,7,opt,name=Id,json=id,proto3" json:"Id,omitempty"` } func (x *UpdateAuthDataRequest_BitMap) Reset() { *x = UpdateAuthDataRequest_BitMap{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAuthDataRequest_BitMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAuthDataRequest_BitMap) ProtoMessage() {} func (x *UpdateAuthDataRequest_BitMap) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateAuthDataRequest_BitMap.ProtoReflect.Descriptor instead. func (*UpdateAuthDataRequest_BitMap) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{13, 0} } func (x *UpdateAuthDataRequest_BitMap) GetBitmapIndex() int32 { if x != nil { return x.BitmapIndex } return 0 } func (x *UpdateAuthDataRequest_BitMap) GetBitmapImg() string { if x != nil { return x.BitmapImg } return "" } func (x *UpdateAuthDataRequest_BitMap) GetBmSixtyImg() string { if x != nil { return x.BmSixtyImg } return "" } func (x *UpdateAuthDataRequest_BitMap) GetBmTwohundredImg() string { if x != nil { return x.BmTwohundredImg } return "" } func (x *UpdateAuthDataRequest_BitMap) GetBmSixhundredImg() string { if x != nil { return x.BmSixhundredImg } return "" } func (x *UpdateAuthDataRequest_BitMap) GetBmTwothousandImg() string { if x != nil { return x.BmTwothousandImg } return "" } func (x *UpdateAuthDataRequest_BitMap) GetId() int32 { if x != nil { return x.Id } return 0 } type UpdateStorageRequest_ArtistInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtistUuid string `protobuf:"bytes,1,opt,name=ArtistUuid,json=artist_uuid,proto3" json:"ArtistUuid,omitempty"` ArtistId int32 `protobuf:"varint,2,opt,name=ArtistId,json=artist_id,proto3" json:"ArtistId,omitempty"` ArtistName string `protobuf:"bytes,3,opt,name=ArtistName,json=artist_name,proto3" json:"ArtistName,omitempty"` Seqnum int32 `protobuf:"varint,4,opt,name=Seqnum,json=seqnum,proto3" json:"Seqnum,omitempty"` Tnum string `protobuf:"bytes,5,opt,name=Tnum,json=tnum,proto3" json:"Tnum,omitempty"` Num int32 `protobuf:"varint,6,opt,name=Num,json=num,proto3" json:"Num,omitempty"` } func (x *UpdateStorageRequest_ArtistInfo) Reset() { *x = UpdateStorageRequest_ArtistInfo{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateStorageRequest_ArtistInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateStorageRequest_ArtistInfo) ProtoMessage() {} func (x *UpdateStorageRequest_ArtistInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UpdateStorageRequest_ArtistInfo.ProtoReflect.Descriptor instead. func (*UpdateStorageRequest_ArtistInfo) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{17, 0} } func (x *UpdateStorageRequest_ArtistInfo) GetArtistUuid() string { if x != nil { return x.ArtistUuid } return "" } func (x *UpdateStorageRequest_ArtistInfo) GetArtistId() int32 { if x != nil { return x.ArtistId } return 0 } func (x *UpdateStorageRequest_ArtistInfo) GetArtistName() string { if x != nil { return x.ArtistName } return "" } func (x *UpdateStorageRequest_ArtistInfo) GetSeqnum() int32 { if x != nil { return x.Seqnum } return 0 } func (x *UpdateStorageRequest_ArtistInfo) GetTnum() string { if x != nil { return x.Tnum } return "" } func (x *UpdateStorageRequest_ArtistInfo) GetNum() int32 { if x != nil { return x.Num } return 0 } type UploadBatchImgRequest_ImgInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FileName string `protobuf:"bytes,1,opt,name=FileName,json=file_name,proto3" json:"FileName,omitempty"` ImgUrl string `protobuf:"bytes,2,opt,name=ImgUrl,json=img_url,proto3" json:"ImgUrl,omitempty"` } func (x *UploadBatchImgRequest_ImgInfo) Reset() { *x = UploadBatchImgRequest_ImgInfo{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UploadBatchImgRequest_ImgInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*UploadBatchImgRequest_ImgInfo) ProtoMessage() {} func (x *UploadBatchImgRequest_ImgInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_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 UploadBatchImgRequest_ImgInfo.ProtoReflect.Descriptor instead. func (*UploadBatchImgRequest_ImgInfo) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{19, 0} } func (x *UploadBatchImgRequest_ImgInfo) GetFileName() string { if x != nil { return x.FileName } return "" } func (x *UploadBatchImgRequest_ImgInfo) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } type ArtworkDetailResponse_TagsInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"` CatName string `protobuf:"bytes,2,opt,name=CatName,json=cat_name,proto3" json:"CatName,omitempty"` } func (x *ArtworkDetailResponse_TagsInfo) Reset() { *x = ArtworkDetailResponse_TagsInfo{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ArtworkDetailResponse_TagsInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ArtworkDetailResponse_TagsInfo) ProtoMessage() {} func (x *ArtworkDetailResponse_TagsInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ArtworkDetailResponse_TagsInfo.ProtoReflect.Descriptor instead. func (*ArtworkDetailResponse_TagsInfo) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{22, 0} } func (x *ArtworkDetailResponse_TagsInfo) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *ArtworkDetailResponse_TagsInfo) GetCatName() string { if x != nil { return x.CatName } return "" } type UpArtistInfoRequest_ArtistInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtistUuid string `protobuf:"bytes,1,opt,name=ArtistUuid,json=artist_uuid,proto3" json:"ArtistUuid,omitempty"` ArtistName string `protobuf:"bytes,2,opt,name=ArtistName,proto3" json:"ArtistName,omitempty"` } func (x *UpArtistInfoRequest_ArtistInfo) Reset() { *x = UpArtistInfoRequest_ArtistInfo{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpArtistInfoRequest_ArtistInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpArtistInfoRequest_ArtistInfo) ProtoMessage() {} func (x *UpArtistInfoRequest_ArtistInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpArtistInfoRequest_ArtistInfo.ProtoReflect.Descriptor instead. func (*UpArtistInfoRequest_ArtistInfo) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{28, 0} } func (x *UpArtistInfoRequest_ArtistInfo) GetArtistUuid() string { if x != nil { return x.ArtistUuid } return "" } func (x *UpArtistInfoRequest_ArtistInfo) GetArtistName() string { if x != nil { return x.ArtistName } return "" } type UpdateAwPriceRunRequest_Info struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ArtworkUuid string `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"` PriceRun float32 `protobuf:"fixed32,2,opt,name=PriceRun,json=price_run,proto3" json:"PriceRun,omitempty"` } func (x *UpdateAwPriceRunRequest_Info) Reset() { *x = UpdateAwPriceRunRequest_Info{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateAwPriceRunRequest_Info) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateAwPriceRunRequest_Info) ProtoMessage() {} func (x *UpdateAwPriceRunRequest_Info) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateAwPriceRunRequest_Info.ProtoReflect.Descriptor instead. func (*UpdateAwPriceRunRequest_Info) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{40, 0} } func (x *UpdateAwPriceRunRequest_Info) GetArtworkUuid() string { if x != nil { return x.ArtworkUuid } return "" } func (x *UpdateAwPriceRunRequest_Info) GetPriceRun() float32 { if x != nil { return x.PriceRun } return 0 } type UpdateCrHashByTfnumRequest_Info struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tfnum string `protobuf:"bytes,1,opt,name=Tfnum,json=tfnum,proto3" json:"Tfnum,omitempty"` CopyrightHash string `protobuf:"bytes,2,opt,name=CopyrightHash,json=copyright_hash,proto3" json:"CopyrightHash,omitempty"` } func (x *UpdateCrHashByTfnumRequest_Info) Reset() { *x = UpdateCrHashByTfnumRequest_Info{} if protoimpl.UnsafeEnabled { mi := &file_pb_artwork_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateCrHashByTfnumRequest_Info) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateCrHashByTfnumRequest_Info) ProtoMessage() {} func (x *UpdateCrHashByTfnumRequest_Info) ProtoReflect() protoreflect.Message { mi := &file_pb_artwork_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateCrHashByTfnumRequest_Info.ProtoReflect.Descriptor instead. func (*UpdateCrHashByTfnumRequest_Info) Descriptor() ([]byte, []int) { return file_pb_artwork_proto_rawDescGZIP(), []int{42, 0} } func (x *UpdateCrHashByTfnumRequest_Info) GetTfnum() string { if x != nil { return x.Tfnum } return "" } func (x *UpdateCrHashByTfnumRequest_Info) GetCopyrightHash() string { if x != nil { return x.CopyrightHash } return "" } var File_pb_artwork_proto protoreflect.FileDescriptor var file_pb_artwork_proto_rawDesc = []byte{ 0x0a, 0x10, 0x70, 0x62, 0x2f, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x70, 0x62, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x6b, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6b, 0x31, 0x22, 0x1c, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xce, 0x0a, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c, 0xe5, 0x90, 0x8d, 0xe5, 0xad, 0x97, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0xe5, 0x90, 0x8d, 0xe5, 0xad, 0x97, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x72, 0x74, 0x5f, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x21, 0x0a, 0x0b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x09, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x25, 0x0a, 0x0d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x63, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x70, 0x69, 0x63, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x70, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x65, 0x61, 0x6c, 0x70, 0x69, 0x63, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x61, 0x6c, 0x70, 0x69, 0x63, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x69, 0x63, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x70, 0x69, 0x63, 0x12, 0x15, 0x0a, 0x05, 0x48, 0x64, 0x50, 0x69, 0x63, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x64, 0x5f, 0x70, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x58, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x42, 0x1d, 0xe2, 0xdf, 0x1f, 0x19, 0x10, 0x00, 0x2a, 0x15, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe5, 0x88, 0x9b, 0xe4, 0xbd, 0x9c, 0xe7, 0xb1, 0xbb, 0xe5, 0x9e, 0x8b, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x42, 0x1d, 0xe2, 0xdf, 0x1f, 0x19, 0x10, 0x00, 0x2a, 0x15, 0xe5, 0x88, 0x9b, 0xe5, 0xbb, 0xba, 0xe6, 0x9d, 0xa5, 0xe6, 0xba, 0x90, 0xe4, 0xb8, 0x8d, 0xe5, 0x90, 0x88, 0xe6, 0xb3, 0x95, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x12, 0x25, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0a, 0x53, 0x61, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x62, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x11, 0x44, 0x69, 0x67, 0x69, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0x51, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf3, 0x03, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x41, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0d, 0x50, 0x65, 0x6e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x07, 0x41, 0x72, 0x74, 0x49, 0x64, 0x65, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x61, 0x12, 0x21, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x65, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x65, 0x61, 0x12, 0x1b, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x2b, 0x0a, 0x10, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x6d, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x1d, 0x0a, 0x09, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6d, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x23, 0x0a, 0x0c, 0x54, 0x68, 0x69, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x29, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf9, 0x04, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x53, 0x70, 0x72, 0x61, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x70, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x53, 0x70, 0x72, 0x61, 0x79, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x70, 0x72, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x26, 0x0a, 0x0d, 0x44, 0x69, 0x67, 0x69, 0x53, 0x68, 0x6f, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0c, 0x44, 0x69, 0x67, 0x69, 0x4d, 0x61, 0x6b, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0a, 0x44, 0x69, 0x67, 0x69, 0x41, 0x72, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x33, 0x0a, 0x13, 0x44, 0x69, 0x67, 0x69, 0x41, 0x72, 0x74, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x25, 0x0a, 0x0d, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0d, 0x52, 0x65, 0x61, 0x6c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0a, 0x57, 0x74, 0x52, 0x65, 0x61, 0x6c, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0a, 0x43, 0x78, 0x52, 0x65, 0x61, 0x6c, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x78, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0d, 0x42, 0x61, 0x69, 0x64, 0x75, 0x52, 0x65, 0x61, 0x6c, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x61, 0x69, 0x64, 0x75, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x0a, 0x11, 0x44, 0x69, 0x67, 0x69, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x11, 0x44, 0x69, 0x67, 0x69, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2a, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x4a, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x26, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xd4, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x07, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x20, 0x0a, 0x0a, 0x44, 0x69, 0x67, 0x69, 0x41, 0x72, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x39, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x82, 0x02, 0x0a, 0x06, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x21, 0x0a, 0x0b, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x09, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x49, 0x6d, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x20, 0x0a, 0x0a, 0x42, 0x6d, 0x53, 0x69, 0x78, 0x74, 0x79, 0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x74, 0x79, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2a, 0x0a, 0x0f, 0x42, 0x6d, 0x54, 0x77, 0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x6d, 0x5f, 0x74, 0x77, 0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2a, 0x0a, 0x0f, 0x42, 0x6d, 0x53, 0x69, 0x78, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2c, 0x0a, 0x10, 0x42, 0x6d, 0x54, 0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x6d, 0x5f, 0x74, 0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x54, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x07, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x69, 0x6d, 0x67, 0x22, 0x29, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xbf, 0x03, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x10, 0x00, 0x2a, 0x0f, 0xe7, 0xb1, 0xbb, 0xe5, 0x9e, 0x8b, 0xe4, 0xb8, 0x8d, 0xe5, 0x90, 0x88, 0xe6, 0xb3, 0x95, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe2, 0xdf, 0x1f, 0x16, 0x2a, 0x12, 0xe8, 0xaf, 0xa6, 0xe6, 0x83, 0x85, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x49, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xa9, 0x01, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x29, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3f, 0x0a, 0x07, 0x49, 0x6d, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x2a, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6b, 0x0a, 0x14, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0xfc, 0x04, 0x0a, 0x15, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0a, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x09, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x08, 0x54, 0x61, 0x67, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4b, 0x0a, 0x0d, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x70, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0x35, 0x0a, 0x08, 0x54, 0x61, 0x67, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x07, 0x43, 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x1a, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4b, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x69, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x4a, 0x0a, 0x11, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x64, 0x0a, 0x12, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4d, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x28, 0x0a, 0x14, 0x55, 0x70, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3a, 0x0a, 0x12, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xcc, 0x03, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x08, 0x43, 0x65, 0x72, 0x74, 0x44, 0x69, 0x67, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x67, 0x69, 0x12, 0x2c, 0x0a, 0x10, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x15, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xec, 0x04, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x15, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x08, 0x43, 0x65, 0x72, 0x74, 0x44, 0x69, 0x67, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x67, 0x69, 0x12, 0x2c, 0x0a, 0x10, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x2e, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x86, 0x01, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x7e, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2f, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x46, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x22, 0x30, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x48, 0x61, 0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x48, 0x61, 0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x43, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x66, 0x6e, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0d, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x33, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x48, 0x61, 0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8a, 0x04, 0x0a, 0x06, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x21, 0x0a, 0x0b, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x49, 0x6d, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2d, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x6d, 0x53, 0x69, 0x78, 0x74, 0x79, 0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x74, 0x79, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x37, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x6d, 0x54, 0x77, 0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x6d, 0x5f, 0x74, 0x77, 0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x37, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x6d, 0x53, 0x69, 0x78, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x39, 0x0a, 0x16, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x6d, 0x54, 0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x6d, 0x5f, 0x74, 0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x1d, 0x0a, 0x09, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x49, 0x6d, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x20, 0x0a, 0x0a, 0x42, 0x6d, 0x53, 0x69, 0x78, 0x74, 0x79, 0x49, 0x6d, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x74, 0x79, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2a, 0x0a, 0x0f, 0x42, 0x6d, 0x54, 0x77, 0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x6d, 0x5f, 0x74, 0x77, 0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2a, 0x0a, 0x0f, 0x42, 0x6d, 0x53, 0x69, 0x78, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2c, 0x0a, 0x10, 0x42, 0x6d, 0x54, 0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x6d, 0x5f, 0x74, 0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x7d, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x70, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x28, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xf6, 0x0e, 0x0a, 0x07, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2d, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x12, 0x10, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x12, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x67, 0x12, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x20, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x48, 0x61, 0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x48, 0x61, 0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x48, 0x61, 0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x3b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_pb_artwork_proto_rawDescOnce sync.Once file_pb_artwork_proto_rawDescData = file_pb_artwork_proto_rawDesc ) func file_pb_artwork_proto_rawDescGZIP() []byte { file_pb_artwork_proto_rawDescOnce.Do(func() { file_pb_artwork_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_artwork_proto_rawDescData) }) return file_pb_artwork_proto_rawDescData } var file_pb_artwork_proto_msgTypes = make([]protoimpl.MessageInfo, 54) var file_pb_artwork_proto_goTypes = []interface{}{ (*TestReq)(nil), // 0: Artwork.TestReq (*TestResp)(nil), // 1: Artwork.TestResp (*CreArtProRequest)(nil), // 2: Artwork.CreArtProRequest (*ArtworkAddRes)(nil), // 3: Artwork.ArtworkAddRes (*CreArtProResponse)(nil), // 4: Artwork.CreArtProResponse (*UpdateMInfoRequest)(nil), // 5: Artwork.UpdateMInfoRequest (*UpdateMInfoResponse)(nil), // 6: Artwork.UpdateMInfoResponse (*UpdateExtDataRequest)(nil), // 7: Artwork.UpdateExtDataRequest (*UpdateExtDataResponse)(nil), // 8: Artwork.UpdateExtDataResponse (*UpdateDigiInfoRequest)(nil), // 9: Artwork.UpdateDigiInfoRequest (*UpdateDigiInfoResponse)(nil), // 10: Artwork.UpdateDigiInfoResponse (*UpdateTagsRequest)(nil), // 11: Artwork.UpdateTagsRequest (*UpdateTagsResponse)(nil), // 12: Artwork.UpdateTagsResponse (*UpdateAuthDataRequest)(nil), // 13: Artwork.UpdateAuthDataRequest (*UpdateAuthDataResponse)(nil), // 14: Artwork.UpdateAuthDataResponse (*UpdateAuthImgRequest)(nil), // 15: Artwork.UpdateAuthImgRequest (*UpdateAuthImgResponse)(nil), // 16: Artwork.UpdateAuthImgResponse (*UpdateStorageRequest)(nil), // 17: Artwork.UpdateStorageRequest (*UpdateStorageResponse)(nil), // 18: Artwork.UpdateStorageResponse (*UploadBatchImgRequest)(nil), // 19: Artwork.UploadBatchImgRequest (*UploadBatchImgResponse)(nil), // 20: Artwork.UploadBatchImgResponse (*ArtworkDetailRequest)(nil), // 21: Artwork.ArtworkDetailRequest (*ArtworkDetailResponse)(nil), // 22: Artwork.ArtworkDetailResponse (*ArtworkProfileListResponse)(nil), // 23: Artwork.ArtworkProfileListResponse (*StorageInfoRequest)(nil), // 24: Artwork.StorageInfoRequest (*StorageInfoResponse)(nil), // 25: Artwork.StorageInfoResponse (*MarketInfoRequest)(nil), // 26: Artwork.MarketInfoRequest (*MarketInfoResponse)(nil), // 27: Artwork.MarketInfoResponse (*UpArtistInfoRequest)(nil), // 28: Artwork.UpArtistInfoRequest (*UpArtistInfoResponse)(nil), // 29: Artwork.UpArtistInfoResponse (*RandomHashRequest)(nil), // 30: Artwork.RandomHashRequest (*RandomHashResponse)(nil), // 31: Artwork.RandomHashResponse (*UpdateCopyrightInfoRequest)(nil), // 32: Artwork.UpdateCopyrightInfoRequest (*UpdateCopyrightInfoResponse)(nil), // 33: Artwork.UpdateCopyrightInfoResponse (*UpdateTransferInfoRequest)(nil), // 34: Artwork.UpdateTransferInfoRequest (*UpdateTransferInfoResponse)(nil), // 35: Artwork.UpdateTransferInfoResponse (*TransferInfoListRequest)(nil), // 36: Artwork.TransferInfoListRequest (*TransferInfoListResponse)(nil), // 37: Artwork.TransferInfoListResponse (*UpdateRulerInfoRequest)(nil), // 38: Artwork.UpdateRulerInfoRequest (*UpdateRulerInfoResponse)(nil), // 39: Artwork.UpdateRulerInfoResponse (*UpdateAwPriceRunRequest)(nil), // 40: Artwork.UpdateAwPriceRunRequest (*UpdateAwPriceRunResponse)(nil), // 41: Artwork.UpdateAwPriceRunResponse (*UpdateCrHashByTfnumRequest)(nil), // 42: Artwork.UpdateCrHashByTfnumRequest (*UpdateCrHashByTfnumResponse)(nil), // 43: Artwork.UpdateCrHashByTfnumResponse (*BitMap)(nil), // 44: Artwork.BitMap (*UpdateVerifyDataReq)(nil), // 45: Artwork.UpdateVerifyDataReq (*UpdateVerifyDataResp)(nil), // 46: Artwork.UpdateVerifyDataResp (*UpdateAuthDataRequest_BitMap)(nil), // 47: Artwork.UpdateAuthDataRequest.BitMap (*UpdateStorageRequest_ArtistInfo)(nil), // 48: Artwork.UpdateStorageRequest.ArtistInfo (*UploadBatchImgRequest_ImgInfo)(nil), // 49: Artwork.UploadBatchImgRequest.ImgInfo (*ArtworkDetailResponse_TagsInfo)(nil), // 50: Artwork.ArtworkDetailResponse.TagsInfo (*UpArtistInfoRequest_ArtistInfo)(nil), // 51: Artwork.UpArtistInfoRequest.ArtistInfo (*UpdateAwPriceRunRequest_Info)(nil), // 52: Artwork.UpdateAwPriceRunRequest.Info (*UpdateCrHashByTfnumRequest_Info)(nil), // 53: Artwork.UpdateCrHashByTfnumRequest.Info } var file_pb_artwork_proto_depIdxs = []int32{ 3, // 0: Artwork.CreArtProResponse.Data:type_name -> Artwork.ArtworkAddRes 47, // 1: Artwork.UpdateAuthDataRequest.Data:type_name -> Artwork.UpdateAuthDataRequest.BitMap 48, // 2: Artwork.UpdateStorageRequest.ArtistData:type_name -> Artwork.UpdateStorageRequest.ArtistInfo 49, // 3: Artwork.UploadBatchImgRequest.Data:type_name -> Artwork.UploadBatchImgRequest.ImgInfo 2, // 4: Artwork.ArtworkDetailResponse.ProfileInfo:type_name -> Artwork.CreArtProRequest 5, // 5: Artwork.ArtworkDetailResponse.MarketInfo:type_name -> Artwork.UpdateMInfoRequest 7, // 6: Artwork.ArtworkDetailResponse.ExtDataInfo:type_name -> Artwork.UpdateExtDataRequest 9, // 7: Artwork.ArtworkDetailResponse.DigiInfo:type_name -> Artwork.UpdateDigiInfoRequest 13, // 8: Artwork.ArtworkDetailResponse.AuthData:type_name -> Artwork.UpdateAuthDataRequest 50, // 9: Artwork.ArtworkDetailResponse.TagsData:type_name -> Artwork.ArtworkDetailResponse.TagsInfo 32, // 10: Artwork.ArtworkDetailResponse.CopyRightInfo:type_name -> Artwork.UpdateCopyrightInfoRequest 44, // 11: Artwork.ArtworkDetailResponse.VerifyData:type_name -> Artwork.BitMap 22, // 12: Artwork.ArtworkProfileListResponse.data:type_name -> Artwork.ArtworkDetailResponse 17, // 13: Artwork.StorageInfoResponse.StorageData:type_name -> Artwork.UpdateStorageRequest 5, // 14: Artwork.MarketInfoResponse.MarketInfo:type_name -> Artwork.UpdateMInfoRequest 51, // 15: Artwork.UpArtistInfoRequest.Data:type_name -> Artwork.UpArtistInfoRequest.ArtistInfo 34, // 16: Artwork.TransferInfoListResponse.Data:type_name -> Artwork.UpdateTransferInfoRequest 52, // 17: Artwork.UpdateAwPriceRunRequest.Data:type_name -> Artwork.UpdateAwPriceRunRequest.Info 53, // 18: Artwork.UpdateCrHashByTfnumRequest.Data:type_name -> Artwork.UpdateCrHashByTfnumRequest.Info 44, // 19: Artwork.UpdateVerifyDataReq.Data:type_name -> Artwork.BitMap 0, // 20: Artwork.Artwork.Test:input_type -> Artwork.TestReq 2, // 21: Artwork.Artwork.CreateArtworkProfile:input_type -> Artwork.CreArtProRequest 2, // 22: Artwork.Artwork.UpdateArtworkProfile:input_type -> Artwork.CreArtProRequest 5, // 23: Artwork.Artwork.UpdateMarketInfo:input_type -> Artwork.UpdateMInfoRequest 7, // 24: Artwork.Artwork.UpdateExtData:input_type -> Artwork.UpdateExtDataRequest 9, // 25: Artwork.Artwork.UpdateDigiInfo:input_type -> Artwork.UpdateDigiInfoRequest 11, // 26: Artwork.Artwork.UpdateTags:input_type -> Artwork.UpdateTagsRequest 13, // 27: Artwork.Artwork.UpdateAuthData:input_type -> Artwork.UpdateAuthDataRequest 15, // 28: Artwork.Artwork.UpdateAuthImg:input_type -> Artwork.UpdateAuthImgRequest 17, // 29: Artwork.Artwork.UpdateStorage:input_type -> Artwork.UpdateStorageRequest 19, // 30: Artwork.Artwork.UploadBatchImg:input_type -> Artwork.UploadBatchImgRequest 21, // 31: Artwork.Artwork.ArtworkDetail:input_type -> Artwork.ArtworkDetailRequest 24, // 32: Artwork.Artwork.StorageInfo:input_type -> Artwork.StorageInfoRequest 26, // 33: Artwork.Artwork.MarketInfo:input_type -> Artwork.MarketInfoRequest 28, // 34: Artwork.Artwork.UpdateArtistInfo:input_type -> Artwork.UpArtistInfoRequest 30, // 35: Artwork.Artwork.RandomHash:input_type -> Artwork.RandomHashRequest 32, // 36: Artwork.Artwork.UpdateCopyrightInfo:input_type -> Artwork.UpdateCopyrightInfoRequest 34, // 37: Artwork.Artwork.UpdateTransferInfo:input_type -> Artwork.UpdateTransferInfoRequest 36, // 38: Artwork.Artwork.TransferInfoList:input_type -> Artwork.TransferInfoListRequest 38, // 39: Artwork.Artwork.UpdateRulerInfo:input_type -> Artwork.UpdateRulerInfoRequest 40, // 40: Artwork.Artwork.UpdateAwPriceRun:input_type -> Artwork.UpdateAwPriceRunRequest 42, // 41: Artwork.Artwork.UpdateCrHashByTfnum:input_type -> Artwork.UpdateCrHashByTfnumRequest 45, // 42: Artwork.Artwork.UpdateVerifyData:input_type -> Artwork.UpdateVerifyDataReq 1, // 43: Artwork.Artwork.Test:output_type -> Artwork.TestResp 4, // 44: Artwork.Artwork.CreateArtworkProfile:output_type -> Artwork.CreArtProResponse 4, // 45: Artwork.Artwork.UpdateArtworkProfile:output_type -> Artwork.CreArtProResponse 6, // 46: Artwork.Artwork.UpdateMarketInfo:output_type -> Artwork.UpdateMInfoResponse 8, // 47: Artwork.Artwork.UpdateExtData:output_type -> Artwork.UpdateExtDataResponse 10, // 48: Artwork.Artwork.UpdateDigiInfo:output_type -> Artwork.UpdateDigiInfoResponse 12, // 49: Artwork.Artwork.UpdateTags:output_type -> Artwork.UpdateTagsResponse 14, // 50: Artwork.Artwork.UpdateAuthData:output_type -> Artwork.UpdateAuthDataResponse 16, // 51: Artwork.Artwork.UpdateAuthImg:output_type -> Artwork.UpdateAuthImgResponse 18, // 52: Artwork.Artwork.UpdateStorage:output_type -> Artwork.UpdateStorageResponse 20, // 53: Artwork.Artwork.UploadBatchImg:output_type -> Artwork.UploadBatchImgResponse 22, // 54: Artwork.Artwork.ArtworkDetail:output_type -> Artwork.ArtworkDetailResponse 25, // 55: Artwork.Artwork.StorageInfo:output_type -> Artwork.StorageInfoResponse 27, // 56: Artwork.Artwork.MarketInfo:output_type -> Artwork.MarketInfoResponse 29, // 57: Artwork.Artwork.UpdateArtistInfo:output_type -> Artwork.UpArtistInfoResponse 31, // 58: Artwork.Artwork.RandomHash:output_type -> Artwork.RandomHashResponse 33, // 59: Artwork.Artwork.UpdateCopyrightInfo:output_type -> Artwork.UpdateCopyrightInfoResponse 35, // 60: Artwork.Artwork.UpdateTransferInfo:output_type -> Artwork.UpdateTransferInfoResponse 37, // 61: Artwork.Artwork.TransferInfoList:output_type -> Artwork.TransferInfoListResponse 39, // 62: Artwork.Artwork.UpdateRulerInfo:output_type -> Artwork.UpdateRulerInfoResponse 41, // 63: Artwork.Artwork.UpdateAwPriceRun:output_type -> Artwork.UpdateAwPriceRunResponse 43, // 64: Artwork.Artwork.UpdateCrHashByTfnum:output_type -> Artwork.UpdateCrHashByTfnumResponse 46, // 65: Artwork.Artwork.UpdateVerifyData:output_type -> Artwork.UpdateVerifyDataResp 43, // [43:66] is the sub-list for method output_type 20, // [20:43] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name 20, // [20:20] is the sub-list for extension extendee 0, // [0:20] is the sub-list for field type_name } func init() { file_pb_artwork_proto_init() } func file_pb_artwork_proto_init() { if File_pb_artwork_proto != nil { return } if !protoimpl.UnsafeEnabled { file_pb_artwork_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreArtProRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtworkAddRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreArtProResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateMInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateMInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateExtDataRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateExtDataResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateDigiInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateDigiInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateTagsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateTagsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAuthDataRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAuthDataResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAuthImgRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAuthImgResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateStorageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateStorageResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UploadBatchImgRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UploadBatchImgResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtworkDetailRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtworkDetailResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtworkProfileListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StorageInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StorageInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpArtistInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpArtistInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandomHashRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandomHashResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateCopyrightInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateCopyrightInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateTransferInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateTransferInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransferInfoListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransferInfoListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRulerInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRulerInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAwPriceRunRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAwPriceRunResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateCrHashByTfnumRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateCrHashByTfnumResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BitMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateVerifyDataReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateVerifyDataResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAuthDataRequest_BitMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateStorageRequest_ArtistInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UploadBatchImgRequest_ImgInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtworkDetailResponse_TagsInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpArtistInfoRequest_ArtistInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAwPriceRunRequest_Info); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_artwork_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateCrHashByTfnumRequest_Info); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_artwork_proto_rawDesc, NumEnums: 0, NumMessages: 54, NumExtensions: 0, NumServices: 1, }, GoTypes: file_pb_artwork_proto_goTypes, DependencyIndexes: file_pb_artwork_proto_depIdxs, MessageInfos: file_pb_artwork_proto_msgTypes, }.Build() File_pb_artwork_proto = out.File file_pb_artwork_proto_rawDesc = nil file_pb_artwork_proto_goTypes = nil file_pb_artwork_proto_depIdxs = nil }