// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 // protoc v3.20.3 // source: datacenter.proto package pb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Pagination struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Current uint32 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` PageSize uint32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` Total uint32 `protobuf:"varint,3,opt,name=total,proto3" json:"total,omitempty"` } func (x *Pagination) Reset() { *x = Pagination{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Pagination) String() string { return protoimpl.X.MessageStringOf(x) } func (*Pagination) ProtoMessage() {} func (x *Pagination) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 Pagination.ProtoReflect.Descriptor instead. func (*Pagination) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{0} } func (x *Pagination) GetCurrent() uint32 { if x != nil { return x.Current } return 0 } func (x *Pagination) GetPageSize() uint32 { if x != nil { return x.PageSize } return 0 } func (x *Pagination) GetTotal() uint32 { if x != nil { return x.Total } return 0 } type DataDescribeInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"count" Count uint32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` // @gotags: json:"min" Min float64 `protobuf:"fixed64,2,opt,name=min,proto3" json:"min,omitempty"` // @gotags: json:"max" Max float64 `protobuf:"fixed64,3,opt,name=max,proto3" json:"max,omitempty"` // @gotags: json:"mean" Mean float64 `protobuf:"fixed64,4,opt,name=mean,proto3" json:"mean,omitempty"` // @gotags: json:"std_dev" StdDev float64 `protobuf:"fixed64,5,opt,name=std_dev,json=stdDev,proto3" json:"std_dev,omitempty"` // @gotags: json:"var_dev" VarDev float64 `protobuf:"fixed64,6,opt,name=var_dev,json=varDev,proto3" json:"var_dev,omitempty"` // @gotags: json:"p25" P25 float64 `protobuf:"fixed64,7,opt,name=p25,proto3" json:"p25,omitempty"` // @gotags: json:"p50" P50 float64 `protobuf:"fixed64,8,opt,name=p50,proto3" json:"p50,omitempty"` // @gotags: json:"p75" P75 float64 `protobuf:"fixed64,9,opt,name=p75,proto3" json:"p75,omitempty"` // @gotags: json:"st" St string `protobuf:"bytes,10,opt,name=st,proto3" json:"st,omitempty"` // @gotags: json:"et" Et string `protobuf:"bytes,11,opt,name=et,proto3" json:"et,omitempty"` } func (x *DataDescribeInfo) Reset() { *x = DataDescribeInfo{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DataDescribeInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*DataDescribeInfo) ProtoMessage() {} func (x *DataDescribeInfo) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 DataDescribeInfo.ProtoReflect.Descriptor instead. func (*DataDescribeInfo) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{1} } func (x *DataDescribeInfo) GetCount() uint32 { if x != nil { return x.Count } return 0 } func (x *DataDescribeInfo) GetMin() float64 { if x != nil { return x.Min } return 0 } func (x *DataDescribeInfo) GetMax() float64 { if x != nil { return x.Max } return 0 } func (x *DataDescribeInfo) GetMean() float64 { if x != nil { return x.Mean } return 0 } func (x *DataDescribeInfo) GetStdDev() float64 { if x != nil { return x.StdDev } return 0 } func (x *DataDescribeInfo) GetVarDev() float64 { if x != nil { return x.VarDev } return 0 } func (x *DataDescribeInfo) GetP25() float64 { if x != nil { return x.P25 } return 0 } func (x *DataDescribeInfo) GetP50() float64 { if x != nil { return x.P50 } return 0 } func (x *DataDescribeInfo) GetP75() float64 { if x != nil { return x.P75 } return 0 } func (x *DataDescribeInfo) GetSt() string { if x != nil { return x.St } return "" } func (x *DataDescribeInfo) GetEt() string { if x != nil { return x.Et } return "" } type DataMinAndMaxInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"min" Min float64 `protobuf:"fixed64,1,opt,name=min,proto3" json:"min,omitempty"` // @gotags: json:"max" Max float64 `protobuf:"fixed64,2,opt,name=max,proto3" json:"max,omitempty"` } func (x *DataMinAndMaxInfo) Reset() { *x = DataMinAndMaxInfo{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DataMinAndMaxInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*DataMinAndMaxInfo) ProtoMessage() {} func (x *DataMinAndMaxInfo) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 DataMinAndMaxInfo.ProtoReflect.Descriptor instead. func (*DataMinAndMaxInfo) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{2} } func (x *DataMinAndMaxInfo) GetMin() float64 { if x != nil { return x.Min } return 0 } func (x *DataMinAndMaxInfo) GetMax() float64 { if x != nil { return x.Max } return 0 } type RelatedItems struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Item string `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` Coefficient float32 `protobuf:"fixed32,2,opt,name=coefficient,proto3" json:"coefficient,omitempty"` } func (x *RelatedItems) Reset() { *x = RelatedItems{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RelatedItems) String() string { return protoimpl.X.MessageStringOf(x) } func (*RelatedItems) ProtoMessage() {} func (x *RelatedItems) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 RelatedItems.ProtoReflect.Descriptor instead. func (*RelatedItems) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{3} } func (x *RelatedItems) GetItem() string { if x != nil { return x.Item } return "" } func (x *RelatedItems) GetCoefficient() float32 { if x != nil { return x.Coefficient } return 0 } type DataCorrelationInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"related_items" RelatedItems map[string]*RelatedItems `protobuf:"bytes,1,rep,name=related_items,json=relatedItems,proto3" json:"related_items,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // @gotags: json:"st" St string `protobuf:"bytes,10,opt,name=st,proto3" json:"st,omitempty"` // @gotags: json:"et" Et string `protobuf:"bytes,11,opt,name=et,proto3" json:"et,omitempty"` } func (x *DataCorrelationInfo) Reset() { *x = DataCorrelationInfo{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DataCorrelationInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*DataCorrelationInfo) ProtoMessage() {} func (x *DataCorrelationInfo) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 DataCorrelationInfo.ProtoReflect.Descriptor instead. func (*DataCorrelationInfo) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{4} } func (x *DataCorrelationInfo) GetRelatedItems() map[string]*RelatedItems { if x != nil { return x.RelatedItems } return nil } func (x *DataCorrelationInfo) GetSt() string { if x != nil { return x.St } return "" } func (x *DataCorrelationInfo) GetEt() string { if x != nil { return x.Et } return "" } type AppInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` AppName string `protobuf:"bytes,2,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` ProjectIds []int64 `protobuf:"varint,3,rep,packed,name=project_ids,json=projectIds,proto3" json:"project_ids,omitempty"` Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"` Status int64 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` ExpireAt string `protobuf:"bytes,6,opt,name=expire_at,json=expireAt,proto3" json:"expire_at,omitempty"` CTime string `protobuf:"bytes,7,opt,name=c_time,json=cTime,proto3" json:"c_time,omitempty"` } func (x *AppInfo) Reset() { *x = AppInfo{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AppInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*AppInfo) ProtoMessage() {} func (x *AppInfo) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 AppInfo.ProtoReflect.Descriptor instead. func (*AppInfo) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{5} } func (x *AppInfo) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *AppInfo) GetAppName() string { if x != nil { return x.AppName } return "" } func (x *AppInfo) GetProjectIds() []int64 { if x != nil { return x.ProjectIds } return nil } func (x *AppInfo) GetSecret() string { if x != nil { return x.Secret } return "" } func (x *AppInfo) GetStatus() int64 { if x != nil { return x.Status } return 0 } func (x *AppInfo) GetExpireAt() string { if x != nil { return x.ExpireAt } return "" } func (x *AppInfo) GetCTime() string { if x != nil { return x.CTime } return "" } type DcWorkingReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` DeviceCode string `protobuf:"bytes,2,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` Stime string `protobuf:"bytes,3,opt,name=stime,proto3" json:"stime,omitempty"` // c_time的搜索 Etime string `protobuf:"bytes,4,opt,name=etime,proto3" json:"etime,omitempty"` // c_time的搜索 Page int64 `protobuf:"varint,5,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,6,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` Order string `protobuf:"bytes,7,opt,name=order,proto3" json:"order,omitempty"` // 排序字段及方向 例: id desc } func (x *DcWorkingReq) Reset() { *x = DcWorkingReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DcWorkingReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*DcWorkingReq) ProtoMessage() {} func (x *DcWorkingReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 DcWorkingReq.ProtoReflect.Descriptor instead. func (*DcWorkingReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{6} } func (x *DcWorkingReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *DcWorkingReq) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *DcWorkingReq) GetStime() string { if x != nil { return x.Stime } return "" } func (x *DcWorkingReq) GetEtime() string { if x != nil { return x.Etime } return "" } func (x *DcWorkingReq) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *DcWorkingReq) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *DcWorkingReq) GetOrder() string { if x != nil { return x.Order } return "" } type WorkingMf struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` // @gotags: json:"water_temperature" WaterTemperature float64 `protobuf:"fixed64,4,opt,name=water_temperature,json=waterTemperature,proto3" json:"water_temperature,omitempty"` // 水温 摄氏度 // @gotags: json:"feed_flow" FeedFlow float64 `protobuf:"fixed64,5,opt,name=feed_flow,json=feedFlow,proto3" json:"feed_flow,omitempty"` // 进水流量 // @gotags: json:"con_flow" ConFlow float64 `protobuf:"fixed64,6,opt,name=con_flow,json=conFlow,proto3" json:"con_flow,omitempty"` // 浓水流量 // @gotags: json:"product_flow" ProductFlow float64 `protobuf:"fixed64,7,opt,name=product_flow,json=productFlow,proto3" json:"product_flow,omitempty"` // 产水流量 // @gotags: json:"feed_pressure" FeedPressure float64 `protobuf:"fixed64,8,opt,name=feed_pressure,json=feedPressure,proto3" json:"feed_pressure,omitempty"` // 进水压力 // @gotags: json:"con_pressure" ConPressure float64 `protobuf:"fixed64,9,opt,name=con_pressure,json=conPressure,proto3" json:"con_pressure,omitempty"` // 浓水压力 // @gotags: json:"product_pressure" ProductPressure float64 `protobuf:"fixed64,10,opt,name=product_pressure,json=productPressure,proto3" json:"product_pressure,omitempty"` // 产水压力 // @gotags: json:"tmp" Tmp float64 `protobuf:"fixed64,11,opt,name=tmp,proto3" json:"tmp,omitempty"` // 跨膜压差 // @gotags: json:"flux" Flux float64 `protobuf:"fixed64,12,opt,name=flux,proto3" json:"flux,omitempty"` // 膜通量 // @gotags: json:"feed_wq_turbidity" FeedWqTurbidity float64 `protobuf:"fixed64,13,opt,name=feed_wq_turbidity,json=feedWqTurbidity,proto3" json:"feed_wq_turbidity,omitempty"` // 进水浊度 // @gotags: json:"feed_wq_ph" FeedWqPh int64 `protobuf:"varint,14,opt,name=feed_wq_ph,json=feedWqPh,proto3" json:"feed_wq_ph,omitempty"` // 进水 PH 值 // @gotags: json:"product_wq_ph" ProductWqPh int64 `protobuf:"varint,15,opt,name=product_wq_ph,json=productWqPh,proto3" json:"product_wq_ph,omitempty"` // 产水 PH 值 // @gotags: json:"feed_wq_al" FeedWqAl float64 `protobuf:"fixed64,16,opt,name=feed_wq_al,json=feedWqAl,proto3" json:"feed_wq_al,omitempty"` // 进水水质:铝 // @gotags: json:"product_wq_al" ProductWqAl float64 `protobuf:"fixed64,17,opt,name=product_wq_al,json=productWqAl,proto3" json:"product_wq_al,omitempty"` // 产水水质:铝 // @gotags: json:"feed_wq_fe" FeedWqFe float64 `protobuf:"fixed64,18,opt,name=feed_wq_fe,json=feedWqFe,proto3" json:"feed_wq_fe,omitempty"` // 进水水质:铁 // @gotags: json:"product_wq_fe" ProductWqFe float64 `protobuf:"fixed64,19,opt,name=product_wq_fe,json=productWqFe,proto3" json:"product_wq_fe,omitempty"` // 产水水质:铁 // @gotags: json:"feed_wq_mn" FeedWqMn float64 `protobuf:"fixed64,20,opt,name=feed_wq_mn,json=feedWqMn,proto3" json:"feed_wq_mn,omitempty"` // 进水水质:锰 // @gotags: json:"product_wq_mn" ProductWqMn float64 `protobuf:"fixed64,21,opt,name=product_wq_mn,json=productWqMn,proto3" json:"product_wq_mn,omitempty"` // 产水水质:锰 // @gotags: json:"feed_wq_sio2" FeedWqSio2 float64 `protobuf:"fixed64,22,opt,name=feed_wq_sio2,json=feedWqSio2,proto3" json:"feed_wq_sio2,omitempty"` // 进水水质:二氧化硅 // @gotags: json:"product_wq_sio2" ProductWqSio2 float64 `protobuf:"fixed64,23,opt,name=product_wq_sio2,json=productWqSio2,proto3" json:"product_wq_sio2,omitempty"` // 产水水质:二氧化硅 // @gotags: json:"feed_wq_cod" FeedWqCod float64 `protobuf:"fixed64,24,opt,name=feed_wq_cod,json=feedWqCod,proto3" json:"feed_wq_cod,omitempty"` // 进水水质:COD // @gotags: json:"product_wq_cod" ProductWqCod float64 `protobuf:"fixed64,25,opt,name=product_wq_cod,json=productWqCod,proto3" json:"product_wq_cod,omitempty"` // 产水水质:COD // @gotags: json:"feed_wq_p" FeedWqP float64 `protobuf:"fixed64,26,opt,name=feed_wq_p,json=feedWqP,proto3" json:"feed_wq_p,omitempty"` // 进水水质:磷 // @gotags: json:"product_wq_p" ProductWqP float64 `protobuf:"fixed64,27,opt,name=product_wq_p,json=productWqP,proto3" json:"product_wq_p,omitempty"` // 产水水质:磷 // @gotags: json:"step" Step int64 `protobuf:"varint,28,opt,name=step,proto3" json:"step,omitempty"` // 设备当前步序值 // @gotags: json:"c_time" CTime string `protobuf:"bytes,29,opt,name=c_time,json=cTime,proto3" json:"c_time,omitempty"` } func (x *WorkingMf) Reset() { *x = WorkingMf{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingMf) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingMf) ProtoMessage() {} func (x *WorkingMf) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 WorkingMf.ProtoReflect.Descriptor instead. func (*WorkingMf) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{7} } func (x *WorkingMf) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingMf) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingMf) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingMf) GetWaterTemperature() float64 { if x != nil { return x.WaterTemperature } return 0 } func (x *WorkingMf) GetFeedFlow() float64 { if x != nil { return x.FeedFlow } return 0 } func (x *WorkingMf) GetConFlow() float64 { if x != nil { return x.ConFlow } return 0 } func (x *WorkingMf) GetProductFlow() float64 { if x != nil { return x.ProductFlow } return 0 } func (x *WorkingMf) GetFeedPressure() float64 { if x != nil { return x.FeedPressure } return 0 } func (x *WorkingMf) GetConPressure() float64 { if x != nil { return x.ConPressure } return 0 } func (x *WorkingMf) GetProductPressure() float64 { if x != nil { return x.ProductPressure } return 0 } func (x *WorkingMf) GetTmp() float64 { if x != nil { return x.Tmp } return 0 } func (x *WorkingMf) GetFlux() float64 { if x != nil { return x.Flux } return 0 } func (x *WorkingMf) GetFeedWqTurbidity() float64 { if x != nil { return x.FeedWqTurbidity } return 0 } func (x *WorkingMf) GetFeedWqPh() int64 { if x != nil { return x.FeedWqPh } return 0 } func (x *WorkingMf) GetProductWqPh() int64 { if x != nil { return x.ProductWqPh } return 0 } func (x *WorkingMf) GetFeedWqAl() float64 { if x != nil { return x.FeedWqAl } return 0 } func (x *WorkingMf) GetProductWqAl() float64 { if x != nil { return x.ProductWqAl } return 0 } func (x *WorkingMf) GetFeedWqFe() float64 { if x != nil { return x.FeedWqFe } return 0 } func (x *WorkingMf) GetProductWqFe() float64 { if x != nil { return x.ProductWqFe } return 0 } func (x *WorkingMf) GetFeedWqMn() float64 { if x != nil { return x.FeedWqMn } return 0 } func (x *WorkingMf) GetProductWqMn() float64 { if x != nil { return x.ProductWqMn } return 0 } func (x *WorkingMf) GetFeedWqSio2() float64 { if x != nil { return x.FeedWqSio2 } return 0 } func (x *WorkingMf) GetProductWqSio2() float64 { if x != nil { return x.ProductWqSio2 } return 0 } func (x *WorkingMf) GetFeedWqCod() float64 { if x != nil { return x.FeedWqCod } return 0 } func (x *WorkingMf) GetProductWqCod() float64 { if x != nil { return x.ProductWqCod } return 0 } func (x *WorkingMf) GetFeedWqP() float64 { if x != nil { return x.FeedWqP } return 0 } func (x *WorkingMf) GetProductWqP() float64 { if x != nil { return x.ProductWqP } return 0 } func (x *WorkingMf) GetStep() int64 { if x != nil { return x.Step } return 0 } func (x *WorkingMf) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingUf struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` // @gotags: json:"water_temperature" WaterTemperature float64 `protobuf:"fixed64,4,opt,name=water_temperature,json=waterTemperature,proto3" json:"water_temperature,omitempty"` // 水温 摄氏度 // @gotags: json:"feed_flow" FeedFlow float64 `protobuf:"fixed64,5,opt,name=feed_flow,json=feedFlow,proto3" json:"feed_flow,omitempty"` // 进水流量 // @gotags: json:"con_flow" ConFlow float64 `protobuf:"fixed64,6,opt,name=con_flow,json=conFlow,proto3" json:"con_flow,omitempty"` // 浓水流量 // @gotags: json:"product_flow" ProductFlow float64 `protobuf:"fixed64,7,opt,name=product_flow,json=productFlow,proto3" json:"product_flow,omitempty"` // 产水流量 // @gotags: json:"feed_pressure" FeedPressure float64 `protobuf:"fixed64,8,opt,name=feed_pressure,json=feedPressure,proto3" json:"feed_pressure,omitempty"` // 进水压力 // @gotags: json:"con_pressure" ConPressure float64 `protobuf:"fixed64,9,opt,name=con_pressure,json=conPressure,proto3" json:"con_pressure,omitempty"` // 浓水压力 // @gotags: json:"product_pressure" ProductPressure float64 `protobuf:"fixed64,10,opt,name=product_pressure,json=productPressure,proto3" json:"product_pressure,omitempty"` // 产水压力 // @gotags: json:"tmp" Tmp float64 `protobuf:"fixed64,11,opt,name=tmp,proto3" json:"tmp,omitempty"` // 跨膜压差 // @gotags: json:"flux" Flux float64 `protobuf:"fixed64,12,opt,name=flux,proto3" json:"flux,omitempty"` // 膜通量 // @gotags: json:"permeability" Permeability float64 `protobuf:"fixed64,32,opt,name=permeability,proto3" json:"permeability,omitempty"` // 渗透率 // @gotags: json:"feed_wq_turbidity" FeedWqTurbidity float64 `protobuf:"fixed64,13,opt,name=feed_wq_turbidity,json=feedWqTurbidity,proto3" json:"feed_wq_turbidity,omitempty"` // 进水浊度 // @gotags: json:"feed_wq_ph" FeedWqPh int64 `protobuf:"varint,14,opt,name=feed_wq_ph,json=feedWqPh,proto3" json:"feed_wq_ph,omitempty"` // 进水 PH 值 // @gotags: json:"product_wq_ph" ProductWqPh int64 `protobuf:"varint,15,opt,name=product_wq_ph,json=productWqPh,proto3" json:"product_wq_ph,omitempty"` // 产水 PH 值 // @gotags: json:"feed_wq_al" FeedWqAl float64 `protobuf:"fixed64,16,opt,name=feed_wq_al,json=feedWqAl,proto3" json:"feed_wq_al,omitempty"` // 进水水质:铝 // @gotags: json:"product_wq_al" ProductWqAl float64 `protobuf:"fixed64,17,opt,name=product_wq_al,json=productWqAl,proto3" json:"product_wq_al,omitempty"` // 产水水质:铝 // @gotags: json:"feed_wq_fe" FeedWqFe float64 `protobuf:"fixed64,18,opt,name=feed_wq_fe,json=feedWqFe,proto3" json:"feed_wq_fe,omitempty"` // 进水水质:铁 // @gotags: json:"product_wq_fe" ProductWqFe float64 `protobuf:"fixed64,19,opt,name=product_wq_fe,json=productWqFe,proto3" json:"product_wq_fe,omitempty"` // 产水水质:铁 // @gotags: json:"feed_wq_mn" FeedWqMn float64 `protobuf:"fixed64,20,opt,name=feed_wq_mn,json=feedWqMn,proto3" json:"feed_wq_mn,omitempty"` // 进水水质:锰 // @gotags: json:"product_wq_mn" ProductWqMn float64 `protobuf:"fixed64,21,opt,name=product_wq_mn,json=productWqMn,proto3" json:"product_wq_mn,omitempty"` // 产水水质:锰 // @gotags: json:"feed_wq_sio2" FeedWqSio2 float64 `protobuf:"fixed64,22,opt,name=feed_wq_sio2,json=feedWqSio2,proto3" json:"feed_wq_sio2,omitempty"` // 进水水质:二氧化硅 // @gotags: json:"product_wq_sio2" ProductWqSio2 float64 `protobuf:"fixed64,23,opt,name=product_wq_sio2,json=productWqSio2,proto3" json:"product_wq_sio2,omitempty"` // 产水水质:二氧化硅 // @gotags: json:"feed_wq_cod" FeedWqCod float64 `protobuf:"fixed64,24,opt,name=feed_wq_cod,json=feedWqCod,proto3" json:"feed_wq_cod,omitempty"` // 进水水质:COD // @gotags: json:"product_wq_cod" ProductWqCod float64 `protobuf:"fixed64,25,opt,name=product_wq_cod,json=productWqCod,proto3" json:"product_wq_cod,omitempty"` // 产水水质:COD // @gotags: json:"feed_wq_p" FeedWqP float64 `protobuf:"fixed64,26,opt,name=feed_wq_p,json=feedWqP,proto3" json:"feed_wq_p,omitempty"` // 进水水质:磷 // @gotags: json:"product_wq_p" ProductWqP float64 `protobuf:"fixed64,27,opt,name=product_wq_p,json=productWqP,proto3" json:"product_wq_p,omitempty"` // 产水水质:磷 // @gotags: json:"step" Step int64 `protobuf:"varint,28,opt,name=step,proto3" json:"step,omitempty"` // 设备当前步序值 // @gotags: json:"filter_time" FilterTime float64 `protobuf:"fixed64,29,opt,name=filter_time,json=filterTime,proto3" json:"filter_time,omitempty"` // @gotags: json:"filter_cycle" FilterCycle int64 `protobuf:"varint,30,opt,name=filter_cycle,json=filterCycle,proto3" json:"filter_cycle,omitempty"` // @gotags: json:"c_time" CTime string `protobuf:"bytes,31,opt,name=c_time,json=cTime,proto3" json:"c_time,omitempty"` } func (x *WorkingUf) Reset() { *x = WorkingUf{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingUf) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingUf) ProtoMessage() {} func (x *WorkingUf) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 WorkingUf.ProtoReflect.Descriptor instead. func (*WorkingUf) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{8} } func (x *WorkingUf) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingUf) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingUf) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingUf) GetWaterTemperature() float64 { if x != nil { return x.WaterTemperature } return 0 } func (x *WorkingUf) GetFeedFlow() float64 { if x != nil { return x.FeedFlow } return 0 } func (x *WorkingUf) GetConFlow() float64 { if x != nil { return x.ConFlow } return 0 } func (x *WorkingUf) GetProductFlow() float64 { if x != nil { return x.ProductFlow } return 0 } func (x *WorkingUf) GetFeedPressure() float64 { if x != nil { return x.FeedPressure } return 0 } func (x *WorkingUf) GetConPressure() float64 { if x != nil { return x.ConPressure } return 0 } func (x *WorkingUf) GetProductPressure() float64 { if x != nil { return x.ProductPressure } return 0 } func (x *WorkingUf) GetTmp() float64 { if x != nil { return x.Tmp } return 0 } func (x *WorkingUf) GetFlux() float64 { if x != nil { return x.Flux } return 0 } func (x *WorkingUf) GetPermeability() float64 { if x != nil { return x.Permeability } return 0 } func (x *WorkingUf) GetFeedWqTurbidity() float64 { if x != nil { return x.FeedWqTurbidity } return 0 } func (x *WorkingUf) GetFeedWqPh() int64 { if x != nil { return x.FeedWqPh } return 0 } func (x *WorkingUf) GetProductWqPh() int64 { if x != nil { return x.ProductWqPh } return 0 } func (x *WorkingUf) GetFeedWqAl() float64 { if x != nil { return x.FeedWqAl } return 0 } func (x *WorkingUf) GetProductWqAl() float64 { if x != nil { return x.ProductWqAl } return 0 } func (x *WorkingUf) GetFeedWqFe() float64 { if x != nil { return x.FeedWqFe } return 0 } func (x *WorkingUf) GetProductWqFe() float64 { if x != nil { return x.ProductWqFe } return 0 } func (x *WorkingUf) GetFeedWqMn() float64 { if x != nil { return x.FeedWqMn } return 0 } func (x *WorkingUf) GetProductWqMn() float64 { if x != nil { return x.ProductWqMn } return 0 } func (x *WorkingUf) GetFeedWqSio2() float64 { if x != nil { return x.FeedWqSio2 } return 0 } func (x *WorkingUf) GetProductWqSio2() float64 { if x != nil { return x.ProductWqSio2 } return 0 } func (x *WorkingUf) GetFeedWqCod() float64 { if x != nil { return x.FeedWqCod } return 0 } func (x *WorkingUf) GetProductWqCod() float64 { if x != nil { return x.ProductWqCod } return 0 } func (x *WorkingUf) GetFeedWqP() float64 { if x != nil { return x.FeedWqP } return 0 } func (x *WorkingUf) GetProductWqP() float64 { if x != nil { return x.ProductWqP } return 0 } func (x *WorkingUf) GetStep() int64 { if x != nil { return x.Step } return 0 } func (x *WorkingUf) GetFilterTime() float64 { if x != nil { return x.FilterTime } return 0 } func (x *WorkingUf) GetFilterCycle() int64 { if x != nil { return x.FilterCycle } return 0 } func (x *WorkingUf) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingNf struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` // gotags: json:"water_temperature" WaterTemperature float64 `protobuf:"fixed64,4,opt,name=water_temperature,json=waterTemperature,proto3" json:"water_temperature,omitempty"` // 水温 摄氏度 // gotags: json:"feed_flow_1st" FeedFlow_1St float64 `protobuf:"fixed64,5,opt,name=feed_flow_1st,json=feedFlow1st,proto3" json:"feed_flow_1st,omitempty"` // 一段进水流量 // gotags: json:"con_flow_1st" ConFlow_1St float64 `protobuf:"fixed64,6,opt,name=con_flow_1st,json=conFlow1st,proto3" json:"con_flow_1st,omitempty"` // 一段浓水流量 // gotags: json:"product_flow_1st" ProductFlow_1St float64 `protobuf:"fixed64,7,opt,name=product_flow_1st,json=productFlow1st,proto3" json:"product_flow_1st,omitempty"` // 一段产水流量 // gotags: json:"feed_pressure_1st" FeedPressure_1St float64 `protobuf:"fixed64,8,opt,name=feed_pressure_1st,json=feedPressure1st,proto3" json:"feed_pressure_1st,omitempty"` // 一段进水压力 // gotags: json:"con_pressure_1st" ConPressure_1St float64 `protobuf:"fixed64,9,opt,name=con_pressure_1st,json=conPressure1st,proto3" json:"con_pressure_1st,omitempty"` // 一段浓水压力 // gotags: json:"product_pressure_1st" ProductPressure_1St float64 `protobuf:"fixed64,10,opt,name=product_pressure_1st,json=productPressure1st,proto3" json:"product_pressure_1st,omitempty"` // 一段产水压力 // gotags: json:"tmp_1st" Tmp_1St float64 `protobuf:"fixed64,11,opt,name=tmp_1st,json=tmp1st,proto3" json:"tmp_1st,omitempty"` // 一段跨膜压差 // gotags: json:"flux_1st" Flux_1St float64 `protobuf:"fixed64,12,opt,name=flux_1st,json=flux1st,proto3" json:"flux_1st,omitempty"` // 一段膜通量 // gotags: json:"permeability_1st" Permeability_1St float64 `protobuf:"fixed64,13,opt,name=permeability_1st,json=permeability1st,proto3" json:"permeability_1st,omitempty"` // 一段渗透率 // gotags: json:"feed_flow_2nd" FeedFlow_2Nd float64 `protobuf:"fixed64,14,opt,name=feed_flow_2nd,json=feedFlow2nd,proto3" json:"feed_flow_2nd,omitempty"` // 二段进水流量 // gotags: json:"con_flow_2nd" ConFlow_2Nd float64 `protobuf:"fixed64,15,opt,name=con_flow_2nd,json=conFlow2nd,proto3" json:"con_flow_2nd,omitempty"` // 二段浓水流量 // gotags: json:"product_flow_2nd" ProductFlow_2Nd float64 `protobuf:"fixed64,16,opt,name=product_flow_2nd,json=productFlow2nd,proto3" json:"product_flow_2nd,omitempty"` // 二段产水流量 // gotags: json:"feed_pressure_2nd" FeedPressure_2Nd float64 `protobuf:"fixed64,17,opt,name=feed_pressure_2nd,json=feedPressure2nd,proto3" json:"feed_pressure_2nd,omitempty"` // 二段进水压力 // gotags: json:"con_pressure_2nd" ConPressure_2Nd float64 `protobuf:"fixed64,18,opt,name=con_pressure_2nd,json=conPressure2nd,proto3" json:"con_pressure_2nd,omitempty"` // 二段浓水压力 // gotags: json:"product_pressure_2nd" ProductPressure_2Nd float64 `protobuf:"fixed64,19,opt,name=product_pressure_2nd,json=productPressure2nd,proto3" json:"product_pressure_2nd,omitempty"` // 二段产水压力 // gotags: json:"tmp_2nd" Tmp_2Nd float64 `protobuf:"fixed64,20,opt,name=tmp_2nd,json=tmp2nd,proto3" json:"tmp_2nd,omitempty"` // 二段压差 // gotags: json:"flux_2nd" Flux_2Nd float64 `protobuf:"fixed64,21,opt,name=flux_2nd,json=flux2nd,proto3" json:"flux_2nd,omitempty"` // 二段通量 // gotags: json:"permeability_2nd" Permeability_2Nd float64 `protobuf:"fixed64,22,opt,name=permeability_2nd,json=permeability2nd,proto3" json:"permeability_2nd,omitempty"` // 二段渗透率 // gotags: json:"feed_flow_3th" FeedFlow_3Th float64 `protobuf:"fixed64,23,opt,name=feed_flow_3th,json=feedFlow3th,proto3" json:"feed_flow_3th,omitempty"` // 三段进水流量 // gotags: json:"con_flow_3th" ConFlow_3Th float64 `protobuf:"fixed64,24,opt,name=con_flow_3th,json=conFlow3th,proto3" json:"con_flow_3th,omitempty"` // 三段浓水流量 // gotags: json:"product_flow_3th" ProductFlow_3Th float64 `protobuf:"fixed64,25,opt,name=product_flow_3th,json=productFlow3th,proto3" json:"product_flow_3th,omitempty"` // 三段产水流量 // gotags: json:"feed_pressure_3th" FeedPressure_3Th float64 `protobuf:"fixed64,26,opt,name=feed_pressure_3th,json=feedPressure3th,proto3" json:"feed_pressure_3th,omitempty"` // 三段进水压力 // gotags: json:"con_pressure_3th" ConPressure_3Th float64 `protobuf:"fixed64,27,opt,name=con_pressure_3th,json=conPressure3th,proto3" json:"con_pressure_3th,omitempty"` // 三段浓水压力 // gotags: json:"product_pressure_3th" ProductPressure_3Th float64 `protobuf:"fixed64,28,opt,name=product_pressure_3th,json=productPressure3th,proto3" json:"product_pressure_3th,omitempty"` // 三段产水压力 // gotags: json:"tmp_3th" Tmp_3Th float64 `protobuf:"fixed64,29,opt,name=tmp_3th,json=tmp3th,proto3" json:"tmp_3th,omitempty"` // 三段压差 // gotags: json:"flux_3th" Flux_3Th float64 `protobuf:"fixed64,30,opt,name=flux_3th,json=flux3th,proto3" json:"flux_3th,omitempty"` // 三段通量 // gotags: json:"permeability_3th" Permeability_3Th float64 `protobuf:"fixed64,31,opt,name=permeability_3th,json=permeability3th,proto3" json:"permeability_3th,omitempty"` // 三段渗透率 // gotags: json:"feed_wq_turbidity" FeedWqTurbidity float64 `protobuf:"fixed64,32,opt,name=feed_wq_turbidity,json=feedWqTurbidity,proto3" json:"feed_wq_turbidity,omitempty"` // 进水浊度 // gotags: json:"feed_wq_ph" FeedWqPh int64 `protobuf:"varint,33,opt,name=feed_wq_ph,json=feedWqPh,proto3" json:"feed_wq_ph,omitempty"` // 进水 PH 值 // gotags: json:"product_wq_ph" ProductWqPh int64 `protobuf:"varint,34,opt,name=product_wq_ph,json=productWqPh,proto3" json:"product_wq_ph,omitempty"` // 产水 PH 值 // gotags: json:"feed_wq_al" FeedWqAl float64 `protobuf:"fixed64,35,opt,name=feed_wq_al,json=feedWqAl,proto3" json:"feed_wq_al,omitempty"` // 进水水质:铝 // gotags: json:"product_wq_al" ProductWqAl float64 `protobuf:"fixed64,36,opt,name=product_wq_al,json=productWqAl,proto3" json:"product_wq_al,omitempty"` // 产水水质:铝 // gotags: json:"feed_wq_fe" FeedWqFe float64 `protobuf:"fixed64,37,opt,name=feed_wq_fe,json=feedWqFe,proto3" json:"feed_wq_fe,omitempty"` // 进水水质:铁 // gotags: json:"product_wq_fe" ProductWqFe float64 `protobuf:"fixed64,38,opt,name=product_wq_fe,json=productWqFe,proto3" json:"product_wq_fe,omitempty"` // 产水水质:铁 // gotags: json:"feed_wq_mn" FeedWqMn float64 `protobuf:"fixed64,39,opt,name=feed_wq_mn,json=feedWqMn,proto3" json:"feed_wq_mn,omitempty"` // 进水水质:锰 // gotags: json:"product_wq_mn" ProductWqMn float64 `protobuf:"fixed64,40,opt,name=product_wq_mn,json=productWqMn,proto3" json:"product_wq_mn,omitempty"` // 产水水质:锰 // gotags: json:"feed_wq_sio2" FeedWqSio2 float64 `protobuf:"fixed64,41,opt,name=feed_wq_sio2,json=feedWqSio2,proto3" json:"feed_wq_sio2,omitempty"` // 进水水质:二氧化硅 // gotags: json:"product_wq_sio2" ProductWqSio2 float64 `protobuf:"fixed64,42,opt,name=product_wq_sio2,json=productWqSio2,proto3" json:"product_wq_sio2,omitempty"` // 产水水质:二氧化硅 // gotags: json:"feed_wq_cod" FeedWqCod float64 `protobuf:"fixed64,43,opt,name=feed_wq_cod,json=feedWqCod,proto3" json:"feed_wq_cod,omitempty"` // 进水水质:COD // gotags: json:"product_wq_cod" ProductWqCod float64 `protobuf:"fixed64,44,opt,name=product_wq_cod,json=productWqCod,proto3" json:"product_wq_cod,omitempty"` // 产水水质:COD // gotags: json:"feed_wq_p" FeedWqP float64 `protobuf:"fixed64,45,opt,name=feed_wq_p,json=feedWqP,proto3" json:"feed_wq_p,omitempty"` // 进水水质:磷 // gotags: json:"product_wq_p" ProductWqP float64 `protobuf:"fixed64,46,opt,name=product_wq_p,json=productWqP,proto3" json:"product_wq_p,omitempty"` // 产水水质:磷 // gotags: json:"step" Step int64 `protobuf:"varint,47,opt,name=step,proto3" json:"step,omitempty"` // 设备当前步序值 // gotags: json:"c_time" CTime string `protobuf:"bytes,48,opt,name=c_time,json=cTime,proto3" json:"c_time,omitempty"` } func (x *WorkingNf) Reset() { *x = WorkingNf{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingNf) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingNf) ProtoMessage() {} func (x *WorkingNf) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 WorkingNf.ProtoReflect.Descriptor instead. func (*WorkingNf) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{9} } func (x *WorkingNf) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingNf) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingNf) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingNf) GetWaterTemperature() float64 { if x != nil { return x.WaterTemperature } return 0 } func (x *WorkingNf) GetFeedFlow_1St() float64 { if x != nil { return x.FeedFlow_1St } return 0 } func (x *WorkingNf) GetConFlow_1St() float64 { if x != nil { return x.ConFlow_1St } return 0 } func (x *WorkingNf) GetProductFlow_1St() float64 { if x != nil { return x.ProductFlow_1St } return 0 } func (x *WorkingNf) GetFeedPressure_1St() float64 { if x != nil { return x.FeedPressure_1St } return 0 } func (x *WorkingNf) GetConPressure_1St() float64 { if x != nil { return x.ConPressure_1St } return 0 } func (x *WorkingNf) GetProductPressure_1St() float64 { if x != nil { return x.ProductPressure_1St } return 0 } func (x *WorkingNf) GetTmp_1St() float64 { if x != nil { return x.Tmp_1St } return 0 } func (x *WorkingNf) GetFlux_1St() float64 { if x != nil { return x.Flux_1St } return 0 } func (x *WorkingNf) GetPermeability_1St() float64 { if x != nil { return x.Permeability_1St } return 0 } func (x *WorkingNf) GetFeedFlow_2Nd() float64 { if x != nil { return x.FeedFlow_2Nd } return 0 } func (x *WorkingNf) GetConFlow_2Nd() float64 { if x != nil { return x.ConFlow_2Nd } return 0 } func (x *WorkingNf) GetProductFlow_2Nd() float64 { if x != nil { return x.ProductFlow_2Nd } return 0 } func (x *WorkingNf) GetFeedPressure_2Nd() float64 { if x != nil { return x.FeedPressure_2Nd } return 0 } func (x *WorkingNf) GetConPressure_2Nd() float64 { if x != nil { return x.ConPressure_2Nd } return 0 } func (x *WorkingNf) GetProductPressure_2Nd() float64 { if x != nil { return x.ProductPressure_2Nd } return 0 } func (x *WorkingNf) GetTmp_2Nd() float64 { if x != nil { return x.Tmp_2Nd } return 0 } func (x *WorkingNf) GetFlux_2Nd() float64 { if x != nil { return x.Flux_2Nd } return 0 } func (x *WorkingNf) GetPermeability_2Nd() float64 { if x != nil { return x.Permeability_2Nd } return 0 } func (x *WorkingNf) GetFeedFlow_3Th() float64 { if x != nil { return x.FeedFlow_3Th } return 0 } func (x *WorkingNf) GetConFlow_3Th() float64 { if x != nil { return x.ConFlow_3Th } return 0 } func (x *WorkingNf) GetProductFlow_3Th() float64 { if x != nil { return x.ProductFlow_3Th } return 0 } func (x *WorkingNf) GetFeedPressure_3Th() float64 { if x != nil { return x.FeedPressure_3Th } return 0 } func (x *WorkingNf) GetConPressure_3Th() float64 { if x != nil { return x.ConPressure_3Th } return 0 } func (x *WorkingNf) GetProductPressure_3Th() float64 { if x != nil { return x.ProductPressure_3Th } return 0 } func (x *WorkingNf) GetTmp_3Th() float64 { if x != nil { return x.Tmp_3Th } return 0 } func (x *WorkingNf) GetFlux_3Th() float64 { if x != nil { return x.Flux_3Th } return 0 } func (x *WorkingNf) GetPermeability_3Th() float64 { if x != nil { return x.Permeability_3Th } return 0 } func (x *WorkingNf) GetFeedWqTurbidity() float64 { if x != nil { return x.FeedWqTurbidity } return 0 } func (x *WorkingNf) GetFeedWqPh() int64 { if x != nil { return x.FeedWqPh } return 0 } func (x *WorkingNf) GetProductWqPh() int64 { if x != nil { return x.ProductWqPh } return 0 } func (x *WorkingNf) GetFeedWqAl() float64 { if x != nil { return x.FeedWqAl } return 0 } func (x *WorkingNf) GetProductWqAl() float64 { if x != nil { return x.ProductWqAl } return 0 } func (x *WorkingNf) GetFeedWqFe() float64 { if x != nil { return x.FeedWqFe } return 0 } func (x *WorkingNf) GetProductWqFe() float64 { if x != nil { return x.ProductWqFe } return 0 } func (x *WorkingNf) GetFeedWqMn() float64 { if x != nil { return x.FeedWqMn } return 0 } func (x *WorkingNf) GetProductWqMn() float64 { if x != nil { return x.ProductWqMn } return 0 } func (x *WorkingNf) GetFeedWqSio2() float64 { if x != nil { return x.FeedWqSio2 } return 0 } func (x *WorkingNf) GetProductWqSio2() float64 { if x != nil { return x.ProductWqSio2 } return 0 } func (x *WorkingNf) GetFeedWqCod() float64 { if x != nil { return x.FeedWqCod } return 0 } func (x *WorkingNf) GetProductWqCod() float64 { if x != nil { return x.ProductWqCod } return 0 } func (x *WorkingNf) GetFeedWqP() float64 { if x != nil { return x.FeedWqP } return 0 } func (x *WorkingNf) GetProductWqP() float64 { if x != nil { return x.ProductWqP } return 0 } func (x *WorkingNf) GetStep() int64 { if x != nil { return x.Step } return 0 } func (x *WorkingNf) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingRo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` // gotags: json:"water_temperature" WaterTemperature float64 `protobuf:"fixed64,4,opt,name=water_temperature,json=waterTemperature,proto3" json:"water_temperature,omitempty"` // 水温 摄氏度 // gotags: json:"feed_flow_1st" FeedFlow_1St float64 `protobuf:"fixed64,5,opt,name=feed_flow_1st,json=feedFlow1st,proto3" json:"feed_flow_1st,omitempty"` // 一段进水流量 // gotags: json:"con_flow_1st" ConFlow_1St float64 `protobuf:"fixed64,6,opt,name=con_flow_1st,json=conFlow1st,proto3" json:"con_flow_1st,omitempty"` // 一段浓水流量 // gotags: json:"product_flow_1st" ProductFlow_1St float64 `protobuf:"fixed64,7,opt,name=product_flow_1st,json=productFlow1st,proto3" json:"product_flow_1st,omitempty"` // 一段产水流量 // gotags: json:"feed_pressure_1st" FeedPressure_1St float64 `protobuf:"fixed64,8,opt,name=feed_pressure_1st,json=feedPressure1st,proto3" json:"feed_pressure_1st,omitempty"` // 一段进水压力 // gotags: json:"con_pressure_1st" ConPressure_1St float64 `protobuf:"fixed64,9,opt,name=con_pressure_1st,json=conPressure1st,proto3" json:"con_pressure_1st,omitempty"` // 一段浓水压力 // gotags: json:"product_pressure_1st" ProductPressure_1St float64 `protobuf:"fixed64,10,opt,name=product_pressure_1st,json=productPressure1st,proto3" json:"product_pressure_1st,omitempty"` // 一段产水压力 // gotags: json:"tmp_1st" Tmp_1St float64 `protobuf:"fixed64,11,opt,name=tmp_1st,json=tmp1st,proto3" json:"tmp_1st,omitempty"` // 一段跨膜压差 // gotags: json:"flux_1st" Flux_1St float64 `protobuf:"fixed64,12,opt,name=flux_1st,json=flux1st,proto3" json:"flux_1st,omitempty"` // 一段膜通量 // gotags: json:"permeability_1st" Permeability_1St float64 `protobuf:"fixed64,13,opt,name=permeability_1st,json=permeability1st,proto3" json:"permeability_1st,omitempty"` // 一段渗透率 // gotags: json:"feed_flow_2nd" FeedFlow_2Nd float64 `protobuf:"fixed64,14,opt,name=feed_flow_2nd,json=feedFlow2nd,proto3" json:"feed_flow_2nd,omitempty"` // 二段进水流量 // gotags: json:"con_flow_2nd" ConFlow_2Nd float64 `protobuf:"fixed64,15,opt,name=con_flow_2nd,json=conFlow2nd,proto3" json:"con_flow_2nd,omitempty"` // 二段浓水流量 // gotags: json:"product_flow_2nd" ProductFlow_2Nd float64 `protobuf:"fixed64,16,opt,name=product_flow_2nd,json=productFlow2nd,proto3" json:"product_flow_2nd,omitempty"` // 二段产水流量 // gotags: json:"feed_pressure_2nd" FeedPressure_2Nd float64 `protobuf:"fixed64,17,opt,name=feed_pressure_2nd,json=feedPressure2nd,proto3" json:"feed_pressure_2nd,omitempty"` // 二段进水压力 // gotags: json:"con_pressure_2nd" ConPressure_2Nd float64 `protobuf:"fixed64,18,opt,name=con_pressure_2nd,json=conPressure2nd,proto3" json:"con_pressure_2nd,omitempty"` // 二段浓水压力 // gotags: json:"product_pressure_2nd" ProductPressure_2Nd float64 `protobuf:"fixed64,19,opt,name=product_pressure_2nd,json=productPressure2nd,proto3" json:"product_pressure_2nd,omitempty"` // 二段产水压力 // gotags: json:"tmp_2nd" Tmp_2Nd float64 `protobuf:"fixed64,20,opt,name=tmp_2nd,json=tmp2nd,proto3" json:"tmp_2nd,omitempty"` // 二段压差 // gotags: json:"flux_2nd" Flux_2Nd float64 `protobuf:"fixed64,21,opt,name=flux_2nd,json=flux2nd,proto3" json:"flux_2nd,omitempty"` // 二段通量 // gotags: json:"permeability_2nd" Permeability_2Nd float64 `protobuf:"fixed64,22,opt,name=permeability_2nd,json=permeability2nd,proto3" json:"permeability_2nd,omitempty"` // 二段渗透率 // gotags: json:"feed_flow_3th" FeedFlow_3Th float64 `protobuf:"fixed64,23,opt,name=feed_flow_3th,json=feedFlow3th,proto3" json:"feed_flow_3th,omitempty"` // 三段进水流量 // gotags: json:"con_flow_3th" ConFlow_3Th float64 `protobuf:"fixed64,24,opt,name=con_flow_3th,json=conFlow3th,proto3" json:"con_flow_3th,omitempty"` // 三段浓水流量 // gotags: json:"product_flow_3th" ProductFlow_3Th float64 `protobuf:"fixed64,25,opt,name=product_flow_3th,json=productFlow3th,proto3" json:"product_flow_3th,omitempty"` // 三段产水流量 // gotags: json:"feed_pressure_3th" FeedPressure_3Th float64 `protobuf:"fixed64,26,opt,name=feed_pressure_3th,json=feedPressure3th,proto3" json:"feed_pressure_3th,omitempty"` // 三段进水压力 // gotags: json:"con_pressure_3th" ConPressure_3Th float64 `protobuf:"fixed64,27,opt,name=con_pressure_3th,json=conPressure3th,proto3" json:"con_pressure_3th,omitempty"` // 三段浓水压力 // gotags: json:"product_pressure_3th" ProductPressure_3Th float64 `protobuf:"fixed64,28,opt,name=product_pressure_3th,json=productPressure3th,proto3" json:"product_pressure_3th,omitempty"` // 三段产水压力 // gotags: json:"tmp_3th" Tmp_3Th float64 `protobuf:"fixed64,29,opt,name=tmp_3th,json=tmp3th,proto3" json:"tmp_3th,omitempty"` // 三段压差 // gotags: json:"flux_3th" Flux_3Th float64 `protobuf:"fixed64,30,opt,name=flux_3th,json=flux3th,proto3" json:"flux_3th,omitempty"` // 三段通量 // gotags: json:"permeability_3th" Permeability_3Th float64 `protobuf:"fixed64,31,opt,name=permeability_3th,json=permeability3th,proto3" json:"permeability_3th,omitempty"` // 三段渗透率 // gotags: json:"feed_wq_turbidity" FeedWqTurbidity float64 `protobuf:"fixed64,32,opt,name=feed_wq_turbidity,json=feedWqTurbidity,proto3" json:"feed_wq_turbidity,omitempty"` // 进水浊度 // gotags: json:"feed_wq_ph" FeedWqPh int64 `protobuf:"varint,33,opt,name=feed_wq_ph,json=feedWqPh,proto3" json:"feed_wq_ph,omitempty"` // 进水 PH 值 // gotags: json:"product_wq_ph" ProductWqPh int64 `protobuf:"varint,34,opt,name=product_wq_ph,json=productWqPh,proto3" json:"product_wq_ph,omitempty"` // 产水 PH 值 // gotags: json:"feed_wq_al" FeedWqAl float64 `protobuf:"fixed64,35,opt,name=feed_wq_al,json=feedWqAl,proto3" json:"feed_wq_al,omitempty"` // 进水水质:铝 // gotags: json:"product_wq_al" ProductWqAl float64 `protobuf:"fixed64,36,opt,name=product_wq_al,json=productWqAl,proto3" json:"product_wq_al,omitempty"` // 产水水质:铝 // gotags: json:"feed_wq_fe" FeedWqFe float64 `protobuf:"fixed64,37,opt,name=feed_wq_fe,json=feedWqFe,proto3" json:"feed_wq_fe,omitempty"` // 进水水质:铁 // gotags: json:"product_wq_fe" ProductWqFe float64 `protobuf:"fixed64,38,opt,name=product_wq_fe,json=productWqFe,proto3" json:"product_wq_fe,omitempty"` // 产水水质:铁 // gotags: json:"feed_wq_mn" FeedWqMn float64 `protobuf:"fixed64,39,opt,name=feed_wq_mn,json=feedWqMn,proto3" json:"feed_wq_mn,omitempty"` // 进水水质:锰 // gotags: json:"product_wq_mn" ProductWqMn float64 `protobuf:"fixed64,40,opt,name=product_wq_mn,json=productWqMn,proto3" json:"product_wq_mn,omitempty"` // 产水水质:锰 // gotags: json:"feed_wq_sio2" FeedWqSio2 float64 `protobuf:"fixed64,41,opt,name=feed_wq_sio2,json=feedWqSio2,proto3" json:"feed_wq_sio2,omitempty"` // 进水水质:二氧化硅 // gotags: json:"product_wq_sio2" ProductWqSio2 float64 `protobuf:"fixed64,42,opt,name=product_wq_sio2,json=productWqSio2,proto3" json:"product_wq_sio2,omitempty"` // 产水水质:二氧化硅 // gotags: json:"feed_wq_cod" FeedWqCod float64 `protobuf:"fixed64,43,opt,name=feed_wq_cod,json=feedWqCod,proto3" json:"feed_wq_cod,omitempty"` // 进水水质:COD // gotags: json:"product_wq_cod" ProductWqCod float64 `protobuf:"fixed64,44,opt,name=product_wq_cod,json=productWqCod,proto3" json:"product_wq_cod,omitempty"` // 产水水质:COD // gotags: json:"feed_wq_p" FeedWqP float64 `protobuf:"fixed64,45,opt,name=feed_wq_p,json=feedWqP,proto3" json:"feed_wq_p,omitempty"` // 进水水质:磷 // gotags: json:"product_wq_p" ProductWqP float64 `protobuf:"fixed64,46,opt,name=product_wq_p,json=productWqP,proto3" json:"product_wq_p,omitempty"` // 产水水质:磷 // gotags: json:"step" Step int64 `protobuf:"varint,47,opt,name=step,proto3" json:"step,omitempty"` // 设备当前步序值 // @gotags: json:"filter_time" FilterTime float64 `protobuf:"fixed64,48,opt,name=filter_time,json=filterTime,proto3" json:"filter_time,omitempty"` // @gotags: json:"filter_cycle" FilterCycle int64 `protobuf:"varint,49,opt,name=filter_cycle,json=filterCycle,proto3" json:"filter_cycle,omitempty"` // gotags: json:"c_time" CTime string `protobuf:"bytes,50,opt,name=c_time,json=cTime,proto3" json:"c_time,omitempty"` } func (x *WorkingRo) Reset() { *x = WorkingRo{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingRo) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingRo) ProtoMessage() {} func (x *WorkingRo) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 WorkingRo.ProtoReflect.Descriptor instead. func (*WorkingRo) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{10} } func (x *WorkingRo) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingRo) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingRo) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingRo) GetWaterTemperature() float64 { if x != nil { return x.WaterTemperature } return 0 } func (x *WorkingRo) GetFeedFlow_1St() float64 { if x != nil { return x.FeedFlow_1St } return 0 } func (x *WorkingRo) GetConFlow_1St() float64 { if x != nil { return x.ConFlow_1St } return 0 } func (x *WorkingRo) GetProductFlow_1St() float64 { if x != nil { return x.ProductFlow_1St } return 0 } func (x *WorkingRo) GetFeedPressure_1St() float64 { if x != nil { return x.FeedPressure_1St } return 0 } func (x *WorkingRo) GetConPressure_1St() float64 { if x != nil { return x.ConPressure_1St } return 0 } func (x *WorkingRo) GetProductPressure_1St() float64 { if x != nil { return x.ProductPressure_1St } return 0 } func (x *WorkingRo) GetTmp_1St() float64 { if x != nil { return x.Tmp_1St } return 0 } func (x *WorkingRo) GetFlux_1St() float64 { if x != nil { return x.Flux_1St } return 0 } func (x *WorkingRo) GetPermeability_1St() float64 { if x != nil { return x.Permeability_1St } return 0 } func (x *WorkingRo) GetFeedFlow_2Nd() float64 { if x != nil { return x.FeedFlow_2Nd } return 0 } func (x *WorkingRo) GetConFlow_2Nd() float64 { if x != nil { return x.ConFlow_2Nd } return 0 } func (x *WorkingRo) GetProductFlow_2Nd() float64 { if x != nil { return x.ProductFlow_2Nd } return 0 } func (x *WorkingRo) GetFeedPressure_2Nd() float64 { if x != nil { return x.FeedPressure_2Nd } return 0 } func (x *WorkingRo) GetConPressure_2Nd() float64 { if x != nil { return x.ConPressure_2Nd } return 0 } func (x *WorkingRo) GetProductPressure_2Nd() float64 { if x != nil { return x.ProductPressure_2Nd } return 0 } func (x *WorkingRo) GetTmp_2Nd() float64 { if x != nil { return x.Tmp_2Nd } return 0 } func (x *WorkingRo) GetFlux_2Nd() float64 { if x != nil { return x.Flux_2Nd } return 0 } func (x *WorkingRo) GetPermeability_2Nd() float64 { if x != nil { return x.Permeability_2Nd } return 0 } func (x *WorkingRo) GetFeedFlow_3Th() float64 { if x != nil { return x.FeedFlow_3Th } return 0 } func (x *WorkingRo) GetConFlow_3Th() float64 { if x != nil { return x.ConFlow_3Th } return 0 } func (x *WorkingRo) GetProductFlow_3Th() float64 { if x != nil { return x.ProductFlow_3Th } return 0 } func (x *WorkingRo) GetFeedPressure_3Th() float64 { if x != nil { return x.FeedPressure_3Th } return 0 } func (x *WorkingRo) GetConPressure_3Th() float64 { if x != nil { return x.ConPressure_3Th } return 0 } func (x *WorkingRo) GetProductPressure_3Th() float64 { if x != nil { return x.ProductPressure_3Th } return 0 } func (x *WorkingRo) GetTmp_3Th() float64 { if x != nil { return x.Tmp_3Th } return 0 } func (x *WorkingRo) GetFlux_3Th() float64 { if x != nil { return x.Flux_3Th } return 0 } func (x *WorkingRo) GetPermeability_3Th() float64 { if x != nil { return x.Permeability_3Th } return 0 } func (x *WorkingRo) GetFeedWqTurbidity() float64 { if x != nil { return x.FeedWqTurbidity } return 0 } func (x *WorkingRo) GetFeedWqPh() int64 { if x != nil { return x.FeedWqPh } return 0 } func (x *WorkingRo) GetProductWqPh() int64 { if x != nil { return x.ProductWqPh } return 0 } func (x *WorkingRo) GetFeedWqAl() float64 { if x != nil { return x.FeedWqAl } return 0 } func (x *WorkingRo) GetProductWqAl() float64 { if x != nil { return x.ProductWqAl } return 0 } func (x *WorkingRo) GetFeedWqFe() float64 { if x != nil { return x.FeedWqFe } return 0 } func (x *WorkingRo) GetProductWqFe() float64 { if x != nil { return x.ProductWqFe } return 0 } func (x *WorkingRo) GetFeedWqMn() float64 { if x != nil { return x.FeedWqMn } return 0 } func (x *WorkingRo) GetProductWqMn() float64 { if x != nil { return x.ProductWqMn } return 0 } func (x *WorkingRo) GetFeedWqSio2() float64 { if x != nil { return x.FeedWqSio2 } return 0 } func (x *WorkingRo) GetProductWqSio2() float64 { if x != nil { return x.ProductWqSio2 } return 0 } func (x *WorkingRo) GetFeedWqCod() float64 { if x != nil { return x.FeedWqCod } return 0 } func (x *WorkingRo) GetProductWqCod() float64 { if x != nil { return x.ProductWqCod } return 0 } func (x *WorkingRo) GetFeedWqP() float64 { if x != nil { return x.FeedWqP } return 0 } func (x *WorkingRo) GetProductWqP() float64 { if x != nil { return x.ProductWqP } return 0 } func (x *WorkingRo) GetStep() int64 { if x != nil { return x.Step } return 0 } func (x *WorkingRo) GetFilterTime() float64 { if x != nil { return x.FilterTime } return 0 } func (x *WorkingRo) GetFilterCycle() int64 { if x != nil { return x.FilterCycle } return 0 } func (x *WorkingRo) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingChest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` // @gotags: json:"switch" Switch int64 `protobuf:"varint,4,opt,name=switch,proto3" json:"switch,omitempty"` // 药箱液位开关 0: 关 1: 开 // @gotags: json:"level" Level float64 `protobuf:"fixed64,5,opt,name=level,proto3" json:"level,omitempty"` // 液位高度 // @gotags: json:"agitator_status" AgitatorStatus int64 `protobuf:"varint,6,opt,name=agitator_status,json=agitatorStatus,proto3" json:"agitator_status,omitempty"` // 搅拌器运行状态 0: 未运行 1:运行中 // @gotags: json:"agitator_duration" AgitatorDuration int64 `protobuf:"varint,7,opt,name=agitator_duration,json=agitatorDuration,proto3" json:"agitator_duration,omitempty"` // 搅拌器运行时长 // @gotags: json:"agitator_fault_status" AgitatorFaultStatus int64 `protobuf:"varint,8,opt,name=agitator_fault_status,json=agitatorFaultStatus,proto3" json:"agitator_fault_status,omitempty"` // 搅拌器故障状态 0:正常 1:故障 // @gotags: json:"c_time" CTime string `protobuf:"bytes,9,opt,name=c_time,json=cTime,proto3" json:"c_time,omitempty"` } func (x *WorkingChest) Reset() { *x = WorkingChest{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingChest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingChest) ProtoMessage() {} func (x *WorkingChest) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 WorkingChest.ProtoReflect.Descriptor instead. func (*WorkingChest) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{11} } func (x *WorkingChest) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingChest) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingChest) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingChest) GetSwitch() int64 { if x != nil { return x.Switch } return 0 } func (x *WorkingChest) GetLevel() float64 { if x != nil { return x.Level } return 0 } func (x *WorkingChest) GetAgitatorStatus() int64 { if x != nil { return x.AgitatorStatus } return 0 } func (x *WorkingChest) GetAgitatorDuration() int64 { if x != nil { return x.AgitatorDuration } return 0 } func (x *WorkingChest) GetAgitatorFaultStatus() int64 { if x != nil { return x.AgitatorFaultStatus } return 0 } func (x *WorkingChest) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingPump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` // @gotags: json:"feed_pressure" FeedPressure float64 `protobuf:"fixed64,4,opt,name=feed_pressure,json=feedPressure,proto3" json:"feed_pressure,omitempty"` // 进水压力 // @gotags: json:"out_pressure" OutPressure float64 `protobuf:"fixed64,5,opt,name=out_pressure,json=outPressure,proto3" json:"out_pressure,omitempty"` // 出水压力 // @gotags: json:"duration" Duration int64 `protobuf:"varint,6,opt,name=duration,proto3" json:"duration,omitempty"` // 运行时长 单位 s // @gotags: json:"current" Current float64 `protobuf:"fixed64,7,opt,name=current,proto3" json:"current,omitempty"` // 运行电流 // @gotags: json:"frequency" Frequency float64 `protobuf:"fixed64,8,opt,name=frequency,proto3" json:"frequency,omitempty"` // 运行频率 // @gotags: json:"lift" Lift float64 `protobuf:"fixed64,9,opt,name=lift,proto3" json:"lift,omitempty"` // 工作扬程 // @gotags: json:"efficiency" Efficiency float64 `protobuf:"fixed64,10,opt,name=efficiency,proto3" json:"efficiency,omitempty"` // 运行效率 // @gotags: json:"run_status" RunStatus int64 `protobuf:"varint,11,opt,name=run_status,json=runStatus,proto3" json:"run_status,omitempty"` // 运行状态 0: 停机 1: 运行正常 // @gotags: json:"fault_status" FaultStatus int64 `protobuf:"varint,12,opt,name=fault_status,json=faultStatus,proto3" json:"fault_status,omitempty"` // 故障状态 0: 正常 1: 故障 // @gotags: json:"c_time" CTime string `protobuf:"bytes,13,opt,name=c_time,json=cTime,proto3" json:"c_time,omitempty"` } func (x *WorkingPump) Reset() { *x = WorkingPump{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingPump) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingPump) ProtoMessage() {} func (x *WorkingPump) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 WorkingPump.ProtoReflect.Descriptor instead. func (*WorkingPump) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{12} } func (x *WorkingPump) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingPump) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingPump) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingPump) GetFeedPressure() float64 { if x != nil { return x.FeedPressure } return 0 } func (x *WorkingPump) GetOutPressure() float64 { if x != nil { return x.OutPressure } return 0 } func (x *WorkingPump) GetDuration() int64 { if x != nil { return x.Duration } return 0 } func (x *WorkingPump) GetCurrent() float64 { if x != nil { return x.Current } return 0 } func (x *WorkingPump) GetFrequency() float64 { if x != nil { return x.Frequency } return 0 } func (x *WorkingPump) GetLift() float64 { if x != nil { return x.Lift } return 0 } func (x *WorkingPump) GetEfficiency() float64 { if x != nil { return x.Efficiency } return 0 } func (x *WorkingPump) GetRunStatus() int64 { if x != nil { return x.RunStatus } return 0 } func (x *WorkingPump) GetFaultStatus() int64 { if x != nil { return x.FaultStatus } return 0 } func (x *WorkingPump) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingValve struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` // @gotags: json:"adjust" Adjust int64 `protobuf:"varint,4,opt,name=adjust,proto3" json:"adjust,omitempty"` // 是否为调节阀门 0: 否 1: 是 // @gotags: json:"opening" Opening float64 `protobuf:"fixed64,5,opt,name=opening,proto3" json:"opening,omitempty"` // 当前阀门的开度 // @gotags: json:"closed" Closed int64 `protobuf:"varint,6,opt,name=closed,proto3" json:"closed,omitempty"` // 关到位 全关 0: 否 1: 是 // @gotags: json:"opened" Opened int64 `protobuf:"varint,7,opt,name=opened,proto3" json:"opened,omitempty"` // 开到位 开到 设置的开度 0: 否 1: 是 // @gotags: json:"fault_status" FaultStatus int64 `protobuf:"varint,8,opt,name=fault_status,json=faultStatus,proto3" json:"fault_status,omitempty"` // 是否故障 0: 否 1: 是 // @gotags: json:"c_time" CTime string `protobuf:"bytes,9,opt,name=c_time,json=cTime,proto3" json:"c_time,omitempty"` } func (x *WorkingValve) Reset() { *x = WorkingValve{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingValve) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingValve) ProtoMessage() {} func (x *WorkingValve) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 WorkingValve.ProtoReflect.Descriptor instead. func (*WorkingValve) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{13} } func (x *WorkingValve) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingValve) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingValve) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingValve) GetAdjust() int64 { if x != nil { return x.Adjust } return 0 } func (x *WorkingValve) GetOpening() float64 { if x != nil { return x.Opening } return 0 } func (x *WorkingValve) GetClosed() int64 { if x != nil { return x.Closed } return 0 } func (x *WorkingValve) GetOpened() int64 { if x != nil { return x.Opened } return 0 } func (x *WorkingValve) GetFaultStatus() int64 { if x != nil { return x.FaultStatus } return 0 } func (x *WorkingValve) GetCTime() string { if x != nil { return x.CTime } return "" } type ItemHistoryData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: json:"item_name" ItemName string `protobuf:"bytes,2,opt,name=item_name,json=itemName,proto3" json:"item_name,omitempty"` // @gotags: json:"val" Val float64 `protobuf:"fixed64,3,opt,name=val,proto3" json:"val,omitempty"` // @gotags: json:"h_time" HTime string `protobuf:"bytes,4,opt,name=h_time,json=hTime,proto3" json:"h_time,omitempty"` } func (x *ItemHistoryData) Reset() { *x = ItemHistoryData{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryData) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryData) ProtoMessage() {} func (x *ItemHistoryData) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ItemHistoryData.ProtoReflect.Descriptor instead. func (*ItemHistoryData) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{14} } func (x *ItemHistoryData) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *ItemHistoryData) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *ItemHistoryData) GetVal() float64 { if x != nil { return x.Val } return 0 } func (x *ItemHistoryData) GetHTime() string { if x != nil { return x.HTime } return "" } type MultiAddItemHistoryDataReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: json:"list" List []*ItemHistoryData `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"` } func (x *MultiAddItemHistoryDataReq) Reset() { *x = MultiAddItemHistoryDataReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MultiAddItemHistoryDataReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*MultiAddItemHistoryDataReq) ProtoMessage() {} func (x *MultiAddItemHistoryDataReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 MultiAddItemHistoryDataReq.ProtoReflect.Descriptor instead. func (*MultiAddItemHistoryDataReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{15} } func (x *MultiAddItemHistoryDataReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *MultiAddItemHistoryDataReq) GetList() []*ItemHistoryData { if x != nil { return x.List } return nil } type MultiAddItemHistoryDataResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MultiAddItemHistoryDataResp) Reset() { *x = MultiAddItemHistoryDataResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MultiAddItemHistoryDataResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*MultiAddItemHistoryDataResp) ProtoMessage() {} func (x *MultiAddItemHistoryDataResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 MultiAddItemHistoryDataResp.ProtoReflect.Descriptor instead. func (*MultiAddItemHistoryDataResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{16} } type ItemHistoryDataListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: json:"item_name" ItemName string `protobuf:"bytes,2,opt,name=item_name,json=itemName,proto3" json:"item_name,omitempty"` // @gotags: json:"interval" Interval string `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"` //时间单位 s,minute,h,day // @gotags: json:"aggregator" Aggregator string `protobuf:"bytes,4,opt,name=aggregator,proto3" json:"aggregator,omitempty"` //聚合方式 min,max,avg,sum,realtime, new // @gotags: json:"stime" Stime string `protobuf:"bytes,5,opt,name=stime,proto3" json:"stime,omitempty"` // @gotags: json:"etime" Etime string `protobuf:"bytes,6,opt,name=etime,proto3" json:"etime,omitempty"` // @gotags: json:"size" Size int64 `protobuf:"varint,7,opt,name=size,proto3" json:"size,omitempty"` // @gotags: json:"order" Order string `protobuf:"bytes,8,opt,name=order,proto3" json:"order,omitempty"` } func (x *ItemHistoryDataListReq) Reset() { *x = ItemHistoryDataListReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataListReq) ProtoMessage() {} func (x *ItemHistoryDataListReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ItemHistoryDataListReq.ProtoReflect.Descriptor instead. func (*ItemHistoryDataListReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{17} } func (x *ItemHistoryDataListReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *ItemHistoryDataListReq) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *ItemHistoryDataListReq) GetInterval() string { if x != nil { return x.Interval } return "" } func (x *ItemHistoryDataListReq) GetAggregator() string { if x != nil { return x.Aggregator } return "" } func (x *ItemHistoryDataListReq) GetStime() string { if x != nil { return x.Stime } return "" } func (x *ItemHistoryDataListReq) GetEtime() string { if x != nil { return x.Etime } return "" } func (x *ItemHistoryDataListReq) GetSize() int64 { if x != nil { return x.Size } return 0 } func (x *ItemHistoryDataListReq) GetOrder() string { if x != nil { return x.Order } return "" } type ItemHistoryDataByTimeReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: json:"item_name" ItemName string `protobuf:"bytes,2,opt,name=item_name,json=itemName,proto3" json:"item_name,omitempty"` // @gotags: json:"stime" Stime string `protobuf:"bytes,3,opt,name=stime,proto3" json:"stime,omitempty"` // @gotags: json:"etime" Etime string `protobuf:"bytes,4,opt,name=etime,proto3" json:"etime,omitempty"` // @gotags: json:"order" Order string `protobuf:"bytes,5,opt,name=order,proto3" json:"order,omitempty"` } func (x *ItemHistoryDataByTimeReq) Reset() { *x = ItemHistoryDataByTimeReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataByTimeReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataByTimeReq) ProtoMessage() {} func (x *ItemHistoryDataByTimeReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ItemHistoryDataByTimeReq.ProtoReflect.Descriptor instead. func (*ItemHistoryDataByTimeReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{18} } func (x *ItemHistoryDataByTimeReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *ItemHistoryDataByTimeReq) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *ItemHistoryDataByTimeReq) GetStime() string { if x != nil { return x.Stime } return "" } func (x *ItemHistoryDataByTimeReq) GetEtime() string { if x != nil { return x.Etime } return "" } func (x *ItemHistoryDataByTimeReq) GetOrder() string { if x != nil { return x.Order } return "" } type ItemHistoryDataMaxMinResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"max_val" MaxVal float64 `protobuf:"fixed64,1,opt,name=max_val,json=maxVal,proto3" json:"max_val,omitempty"` // @gotags: json:"min_val" MinVal float64 `protobuf:"fixed64,2,opt,name=min_val,json=minVal,proto3" json:"min_val,omitempty"` // @gotags: json:"avg_val" AvgVal float64 `protobuf:"fixed64,3,opt,name=avg_val,json=avgVal,proto3" json:"avg_val,omitempty"` } func (x *ItemHistoryDataMaxMinResp) Reset() { *x = ItemHistoryDataMaxMinResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataMaxMinResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataMaxMinResp) ProtoMessage() {} func (x *ItemHistoryDataMaxMinResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ItemHistoryDataMaxMinResp.ProtoReflect.Descriptor instead. func (*ItemHistoryDataMaxMinResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{19} } func (x *ItemHistoryDataMaxMinResp) GetMaxVal() float64 { if x != nil { return x.MaxVal } return 0 } func (x *ItemHistoryDataMaxMinResp) GetMinVal() float64 { if x != nil { return x.MinVal } return 0 } func (x *ItemHistoryDataMaxMinResp) GetAvgVal() float64 { if x != nil { return x.AvgVal } return 0 } type ItemHistoryDataFirstLastResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"first" First float64 `protobuf:"fixed64,1,opt,name=first,proto3" json:"first,omitempty"` // @gotags: json:"last" Last float64 `protobuf:"fixed64,2,opt,name=last,proto3" json:"last,omitempty"` } func (x *ItemHistoryDataFirstLastResp) Reset() { *x = ItemHistoryDataFirstLastResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataFirstLastResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataFirstLastResp) ProtoMessage() {} func (x *ItemHistoryDataFirstLastResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ItemHistoryDataFirstLastResp.ProtoReflect.Descriptor instead. func (*ItemHistoryDataFirstLastResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{20} } func (x *ItemHistoryDataFirstLastResp) GetFirst() float64 { if x != nil { return x.First } return 0 } func (x *ItemHistoryDataFirstLastResp) GetLast() float64 { if x != nil { return x.Last } return 0 } type ChangeTypeItemHistoryDataResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"value" Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` } func (x *ChangeTypeItemHistoryDataResp) Reset() { *x = ChangeTypeItemHistoryDataResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChangeTypeItemHistoryDataResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangeTypeItemHistoryDataResp) ProtoMessage() {} func (x *ChangeTypeItemHistoryDataResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ChangeTypeItemHistoryDataResp.ProtoReflect.Descriptor instead. func (*ChangeTypeItemHistoryDataResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{21} } func (x *ChangeTypeItemHistoryDataResp) GetValue() float64 { if x != nil { return x.Value } return 0 } type ItemHistoryDataList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"item_name" ItemName string `protobuf:"bytes,1,opt,name=item_name,json=itemName,proto3" json:"item_name,omitempty"` // @gotags: json:"val" Val float64 `protobuf:"fixed64,2,opt,name=val,proto3" json:"val,omitempty"` // @gotags: json:"h_time" HTime string `protobuf:"bytes,3,opt,name=h_time,json=hTime,proto3" json:"h_time,omitempty"` } func (x *ItemHistoryDataList) Reset() { *x = ItemHistoryDataList{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataList) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataList) ProtoMessage() {} func (x *ItemHistoryDataList) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ItemHistoryDataList.ProtoReflect.Descriptor instead. func (*ItemHistoryDataList) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{22} } func (x *ItemHistoryDataList) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *ItemHistoryDataList) GetVal() float64 { if x != nil { return x.Val } return 0 } func (x *ItemHistoryDataList) GetHTime() string { if x != nil { return x.HTime } return "" } type ItemHistoryDataForChart struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"name" Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // @gotags: json:"val" Val float64 `protobuf:"fixed64,2,opt,name=val,proto3" json:"val,omitempty"` // @gotags: json:"htime_at" HtimeAt string `protobuf:"bytes,3,opt,name=htime_at,json=htimeAt,proto3" json:"htime_at,omitempty"` } func (x *ItemHistoryDataForChart) Reset() { *x = ItemHistoryDataForChart{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataForChart) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataForChart) ProtoMessage() {} func (x *ItemHistoryDataForChart) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ItemHistoryDataForChart.ProtoReflect.Descriptor instead. func (*ItemHistoryDataForChart) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{23} } func (x *ItemHistoryDataForChart) GetName() string { if x != nil { return x.Name } return "" } func (x *ItemHistoryDataForChart) GetVal() float64 { if x != nil { return x.Val } return 0 } func (x *ItemHistoryDataForChart) GetHtimeAt() string { if x != nil { return x.HtimeAt } return "" } type ItemHistoryDataForChartReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: json:"item_name" ItemName string `protobuf:"bytes,2,opt,name=item_name,json=itemName,proto3" json:"item_name,omitempty"` // @gotags: json:"stime" Stime string `protobuf:"bytes,3,opt,name=stime,proto3" json:"stime,omitempty"` // @gotags: json:"etime" Etime string `protobuf:"bytes,4,opt,name=etime,proto3" json:"etime,omitempty"` // @gotags: json:"interval" Interval string `protobuf:"bytes,5,opt,name=interval,proto3" json:"interval,omitempty"` // @gotags: json:"size" Size int64 `protobuf:"varint,6,opt,name=size,proto3" json:"size,omitempty"` // @gotags: json:"aggregator" Aggregator string `protobuf:"bytes,7,opt,name=aggregator,proto3" json:"aggregator,omitempty"` // @gotags: json:"order" Order string `protobuf:"bytes,8,opt,name=order,proto3" json:"order,omitempty"` // @gotags: json:"max_val" MaxVal float64 `protobuf:"fixed64,9,opt,name=max_val,json=maxVal,proto3" json:"max_val,omitempty"` // @gotags: json:"min_val" MinVal float64 `protobuf:"fixed64,10,opt,name=min_val,json=minVal,proto3" json:"min_val,omitempty"` } func (x *ItemHistoryDataForChartReq) Reset() { *x = ItemHistoryDataForChartReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataForChartReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataForChartReq) ProtoMessage() {} func (x *ItemHistoryDataForChartReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ItemHistoryDataForChartReq.ProtoReflect.Descriptor instead. func (*ItemHistoryDataForChartReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{24} } func (x *ItemHistoryDataForChartReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *ItemHistoryDataForChartReq) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *ItemHistoryDataForChartReq) GetStime() string { if x != nil { return x.Stime } return "" } func (x *ItemHistoryDataForChartReq) GetEtime() string { if x != nil { return x.Etime } return "" } func (x *ItemHistoryDataForChartReq) GetInterval() string { if x != nil { return x.Interval } return "" } func (x *ItemHistoryDataForChartReq) GetSize() int64 { if x != nil { return x.Size } return 0 } func (x *ItemHistoryDataForChartReq) GetAggregator() string { if x != nil { return x.Aggregator } return "" } func (x *ItemHistoryDataForChartReq) GetOrder() string { if x != nil { return x.Order } return "" } func (x *ItemHistoryDataForChartReq) GetMaxVal() float64 { if x != nil { return x.MaxVal } return 0 } func (x *ItemHistoryDataForChartReq) GetMinVal() float64 { if x != nil { return x.MinVal } return 0 } type ItemHistoryDataForChartResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*ItemHistoryDataForChart `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` } func (x *ItemHistoryDataForChartResp) Reset() { *x = ItemHistoryDataForChartResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataForChartResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataForChartResp) ProtoMessage() {} func (x *ItemHistoryDataForChartResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ItemHistoryDataForChartResp.ProtoReflect.Descriptor instead. func (*ItemHistoryDataForChartResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{25} } func (x *ItemHistoryDataForChartResp) GetList() []*ItemHistoryDataForChart { if x != nil { return x.List } return nil } type ItemHistoryDataListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*ItemHistoryDataList `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` } func (x *ItemHistoryDataListResp) Reset() { *x = ItemHistoryDataListResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataListResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataListResp) ProtoMessage() {} func (x *ItemHistoryDataListResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ItemHistoryDataListResp.ProtoReflect.Descriptor instead. func (*ItemHistoryDataListResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{26} } func (x *ItemHistoryDataListResp) GetList() []*ItemHistoryDataList { if x != nil { return x.List } return nil } type GetWorkingUfByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingUf `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` } func (x *GetWorkingUfByCodeResp) Reset() { *x = GetWorkingUfByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingUfByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingUfByCodeResp) ProtoMessage() {} func (x *GetWorkingUfByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 GetWorkingUfByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingUfByCodeResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{27} } func (x *GetWorkingUfByCodeResp) GetList() []*WorkingUf { if x != nil { return x.List } return nil } type FindWorkingUfByCycleReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` DeviceCode string `protobuf:"bytes,2,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` FilterCycle int64 `protobuf:"varint,3,opt,name=filter_cycle,json=filterCycle,proto3" json:"filter_cycle,omitempty"` Step int64 `protobuf:"varint,4,opt,name=step,proto3" json:"step,omitempty"` FilterTimeStart float64 `protobuf:"fixed64,5,opt,name=filter_time_start,json=filterTimeStart,proto3" json:"filter_time_start,omitempty"` FilterTimeEnd float64 `protobuf:"fixed64,6,opt,name=filter_time_end,json=filterTimeEnd,proto3" json:"filter_time_end,omitempty"` Limit int64 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *FindWorkingUfByCycleReq) Reset() { *x = FindWorkingUfByCycleReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindWorkingUfByCycleReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindWorkingUfByCycleReq) ProtoMessage() {} func (x *FindWorkingUfByCycleReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 FindWorkingUfByCycleReq.ProtoReflect.Descriptor instead. func (*FindWorkingUfByCycleReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{28} } func (x *FindWorkingUfByCycleReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *FindWorkingUfByCycleReq) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *FindWorkingUfByCycleReq) GetFilterCycle() int64 { if x != nil { return x.FilterCycle } return 0 } func (x *FindWorkingUfByCycleReq) GetStep() int64 { if x != nil { return x.Step } return 0 } func (x *FindWorkingUfByCycleReq) GetFilterTimeStart() float64 { if x != nil { return x.FilterTimeStart } return 0 } func (x *FindWorkingUfByCycleReq) GetFilterTimeEnd() float64 { if x != nil { return x.FilterTimeEnd } return 0 } func (x *FindWorkingUfByCycleReq) GetLimit() int64 { if x != nil { return x.Limit } return 0 } type FindWorkingUfByCycleResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingUf `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` } func (x *FindWorkingUfByCycleResp) Reset() { *x = FindWorkingUfByCycleResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindWorkingUfByCycleResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindWorkingUfByCycleResp) ProtoMessage() {} func (x *FindWorkingUfByCycleResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 FindWorkingUfByCycleResp.ProtoReflect.Descriptor instead. func (*FindWorkingUfByCycleResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{29} } func (x *FindWorkingUfByCycleResp) GetList() []*WorkingUf { if x != nil { return x.List } return nil } type GetWorkingRoByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingRo `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` } func (x *GetWorkingRoByCodeResp) Reset() { *x = GetWorkingRoByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingRoByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingRoByCodeResp) ProtoMessage() {} func (x *GetWorkingRoByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 GetWorkingRoByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingRoByCodeResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{30} } func (x *GetWorkingRoByCodeResp) GetList() []*WorkingRo { if x != nil { return x.List } return nil } type GetWorkingNfByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingNf `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` } func (x *GetWorkingNfByCodeResp) Reset() { *x = GetWorkingNfByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingNfByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingNfByCodeResp) ProtoMessage() {} func (x *GetWorkingNfByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 GetWorkingNfByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingNfByCodeResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{31} } func (x *GetWorkingNfByCodeResp) GetList() []*WorkingNf { if x != nil { return x.List } return nil } type GetWorkingMfByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingMf `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` } func (x *GetWorkingMfByCodeResp) Reset() { *x = GetWorkingMfByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingMfByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingMfByCodeResp) ProtoMessage() {} func (x *GetWorkingMfByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 GetWorkingMfByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingMfByCodeResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{32} } func (x *GetWorkingMfByCodeResp) GetList() []*WorkingMf { if x != nil { return x.List } return nil } type GetWorkingPumpByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingPump `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` } func (x *GetWorkingPumpByCodeResp) Reset() { *x = GetWorkingPumpByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingPumpByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingPumpByCodeResp) ProtoMessage() {} func (x *GetWorkingPumpByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 GetWorkingPumpByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingPumpByCodeResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{33} } func (x *GetWorkingPumpByCodeResp) GetList() []*WorkingPump { if x != nil { return x.List } return nil } type GetWorkingValveByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingValve `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` } func (x *GetWorkingValveByCodeResp) Reset() { *x = GetWorkingValveByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingValveByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingValveByCodeResp) ProtoMessage() {} func (x *GetWorkingValveByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 GetWorkingValveByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingValveByCodeResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{34} } func (x *GetWorkingValveByCodeResp) GetList() []*WorkingValve { if x != nil { return x.List } return nil } type GetWorkingChestByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingChest `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` } func (x *GetWorkingChestByCodeResp) Reset() { *x = GetWorkingChestByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingChestByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingChestByCodeResp) ProtoMessage() {} func (x *GetWorkingChestByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 GetWorkingChestByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingChestByCodeResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{35} } func (x *GetWorkingChestByCodeResp) GetList() []*WorkingChest { if x != nil { return x.List } return nil } type FindAppListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Page int64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` Order string `protobuf:"bytes,3,opt,name=order,proto3" json:"order,omitempty"` // 排序字段及方向 例: id desc } func (x *FindAppListReq) Reset() { *x = FindAppListReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAppListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAppListReq) ProtoMessage() {} func (x *FindAppListReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 FindAppListReq.ProtoReflect.Descriptor instead. func (*FindAppListReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{36} } func (x *FindAppListReq) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *FindAppListReq) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *FindAppListReq) GetOrder() string { if x != nil { return x.Order } return "" } type FindAppListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*AppInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` Pagination *Pagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (x *FindAppListResp) Reset() { *x = FindAppListResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindAppListResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindAppListResp) ProtoMessage() {} func (x *FindAppListResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 FindAppListResp.ProtoReflect.Descriptor instead. func (*FindAppListResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{37} } func (x *FindAppListResp) GetList() []*AppInfo { if x != nil { return x.List } return nil } func (x *FindAppListResp) GetPagination() *Pagination { if x != nil { return x.Pagination } return nil } type GetAppInfoReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` } func (x *GetAppInfoReq) Reset() { *x = GetAppInfoReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetAppInfoReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetAppInfoReq) ProtoMessage() {} func (x *GetAppInfoReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 GetAppInfoReq.ProtoReflect.Descriptor instead. func (*GetAppInfoReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{38} } func (x *GetAppInfoReq) GetAppName() string { if x != nil { return x.AppName } return "" } type GetAppInfoResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppInfo *AppInfo `protobuf:"bytes,1,opt,name=app_info,json=appInfo,proto3" json:"app_info,omitempty"` } func (x *GetAppInfoResp) Reset() { *x = GetAppInfoResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetAppInfoResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetAppInfoResp) ProtoMessage() {} func (x *GetAppInfoResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 GetAppInfoResp.ProtoReflect.Descriptor instead. func (*GetAppInfoResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{39} } func (x *GetAppInfoResp) GetAppInfo() *AppInfo { if x != nil { return x.AppInfo } return nil } type CreateAppInfoReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` ProjectIds []int64 `protobuf:"varint,2,rep,packed,name=project_ids,json=projectIds,proto3" json:"project_ids,omitempty"` Expire int64 `protobuf:"varint,3,opt,name=expire,proto3" json:"expire,omitempty"` } func (x *CreateAppInfoReq) Reset() { *x = CreateAppInfoReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateAppInfoReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateAppInfoReq) ProtoMessage() {} func (x *CreateAppInfoReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 CreateAppInfoReq.ProtoReflect.Descriptor instead. func (*CreateAppInfoReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{40} } func (x *CreateAppInfoReq) GetAppName() string { if x != nil { return x.AppName } return "" } func (x *CreateAppInfoReq) GetProjectIds() []int64 { if x != nil { return x.ProjectIds } return nil } func (x *CreateAppInfoReq) GetExpire() int64 { if x != nil { return x.Expire } return 0 } type CreateAppInfoResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppInfo *AppInfo `protobuf:"bytes,1,opt,name=app_info,json=appInfo,proto3" json:"app_info,omitempty"` } func (x *CreateAppInfoResp) Reset() { *x = CreateAppInfoResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateAppInfoResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateAppInfoResp) ProtoMessage() {} func (x *CreateAppInfoResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 CreateAppInfoResp.ProtoReflect.Descriptor instead. func (*CreateAppInfoResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{41} } func (x *CreateAppInfoResp) GetAppInfo() *AppInfo { if x != nil { return x.AppInfo } return nil } type RemoveAppInfoReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` } func (x *RemoveAppInfoReq) Reset() { *x = RemoveAppInfoReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveAppInfoReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveAppInfoReq) ProtoMessage() {} func (x *RemoveAppInfoReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 RemoveAppInfoReq.ProtoReflect.Descriptor instead. func (*RemoveAppInfoReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{42} } func (x *RemoveAppInfoReq) GetAppName() string { if x != nil { return x.AppName } return "" } type RemoveAppInfoResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"` } func (x *RemoveAppInfoResp) Reset() { *x = RemoveAppInfoResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveAppInfoResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveAppInfoResp) ProtoMessage() {} func (x *RemoveAppInfoResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 RemoveAppInfoResp.ProtoReflect.Descriptor instead. func (*RemoveAppInfoResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{43} } func (x *RemoveAppInfoResp) GetOk() bool { if x != nil { return x.Ok } return false } type DisableAppInfoReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` } func (x *DisableAppInfoReq) Reset() { *x = DisableAppInfoReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DisableAppInfoReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*DisableAppInfoReq) ProtoMessage() {} func (x *DisableAppInfoReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 DisableAppInfoReq.ProtoReflect.Descriptor instead. func (*DisableAppInfoReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{44} } func (x *DisableAppInfoReq) GetAppName() string { if x != nil { return x.AppName } return "" } type DisableAppInfoResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"` } func (x *DisableAppInfoResp) Reset() { *x = DisableAppInfoResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DisableAppInfoResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*DisableAppInfoResp) ProtoMessage() {} func (x *DisableAppInfoResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 DisableAppInfoResp.ProtoReflect.Descriptor instead. func (*DisableAppInfoResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{45} } func (x *DisableAppInfoResp) GetOk() bool { if x != nil { return x.Ok } return false } type EnableAppInfoReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` } func (x *EnableAppInfoReq) Reset() { *x = EnableAppInfoReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EnableAppInfoReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*EnableAppInfoReq) ProtoMessage() {} func (x *EnableAppInfoReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 EnableAppInfoReq.ProtoReflect.Descriptor instead. func (*EnableAppInfoReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{46} } func (x *EnableAppInfoReq) GetAppName() string { if x != nil { return x.AppName } return "" } type EnableAppInfoResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"` } func (x *EnableAppInfoResp) Reset() { *x = EnableAppInfoResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EnableAppInfoResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*EnableAppInfoResp) ProtoMessage() {} func (x *EnableAppInfoResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 EnableAppInfoResp.ProtoReflect.Descriptor instead. func (*EnableAppInfoResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{47} } func (x *EnableAppInfoResp) GetOk() bool { if x != nil { return x.Ok } return false } type ResetAppSecretReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` } func (x *ResetAppSecretReq) Reset() { *x = ResetAppSecretReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResetAppSecretReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResetAppSecretReq) ProtoMessage() {} func (x *ResetAppSecretReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ResetAppSecretReq.ProtoReflect.Descriptor instead. func (*ResetAppSecretReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{48} } func (x *ResetAppSecretReq) GetAppName() string { if x != nil { return x.AppName } return "" } type ResetAppSecretResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` } func (x *ResetAppSecretResp) Reset() { *x = ResetAppSecretResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResetAppSecretResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResetAppSecretResp) ProtoMessage() {} func (x *ResetAppSecretResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ResetAppSecretResp.ProtoReflect.Descriptor instead. func (*ResetAppSecretResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{49} } func (x *ResetAppSecretResp) GetSecret() string { if x != nil { return x.Secret } return "" } type ExpireAppSecretReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` Expire int64 `protobuf:"varint,3,opt,name=expire,proto3" json:"expire,omitempty"` } func (x *ExpireAppSecretReq) Reset() { *x = ExpireAppSecretReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExpireAppSecretReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExpireAppSecretReq) ProtoMessage() {} func (x *ExpireAppSecretReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ExpireAppSecretReq.ProtoReflect.Descriptor instead. func (*ExpireAppSecretReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{50} } func (x *ExpireAppSecretReq) GetAppName() string { if x != nil { return x.AppName } return "" } func (x *ExpireAppSecretReq) GetExpire() int64 { if x != nil { return x.Expire } return 0 } type ExpireAppSecretResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ExpireAt string `protobuf:"bytes,3,opt,name=expire_at,json=expireAt,proto3" json:"expire_at,omitempty"` } func (x *ExpireAppSecretResp) Reset() { *x = ExpireAppSecretResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExpireAppSecretResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExpireAppSecretResp) ProtoMessage() {} func (x *ExpireAppSecretResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ExpireAppSecretResp.ProtoReflect.Descriptor instead. func (*ExpireAppSecretResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{51} } func (x *ExpireAppSecretResp) GetExpireAt() string { if x != nil { return x.ExpireAt } return "" } type ResetAppProjectReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` ProjectIds []int64 `protobuf:"varint,2,rep,packed,name=project_ids,json=projectIds,proto3" json:"project_ids,omitempty"` } func (x *ResetAppProjectReq) Reset() { *x = ResetAppProjectReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResetAppProjectReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResetAppProjectReq) ProtoMessage() {} func (x *ResetAppProjectReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ResetAppProjectReq.ProtoReflect.Descriptor instead. func (*ResetAppProjectReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{52} } func (x *ResetAppProjectReq) GetAppName() string { if x != nil { return x.AppName } return "" } func (x *ResetAppProjectReq) GetProjectIds() []int64 { if x != nil { return x.ProjectIds } return nil } type ResetAppProjectResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RemoveProjectIds []int64 `protobuf:"varint,1,rep,packed,name=remove_project_ids,json=removeProjectIds,proto3" json:"remove_project_ids,omitempty"` } func (x *ResetAppProjectResp) Reset() { *x = ResetAppProjectResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResetAppProjectResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResetAppProjectResp) ProtoMessage() {} func (x *ResetAppProjectResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_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 ResetAppProjectResp.ProtoReflect.Descriptor instead. func (*ResetAppProjectResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{53} } func (x *ResetAppProjectResp) GetRemoveProjectIds() []int64 { if x != nil { return x.RemoveProjectIds } return nil } type FindDataDescribeReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Items []string `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` St string `protobuf:"bytes,3,opt,name=st,proto3" json:"st,omitempty"` Et string `protobuf:"bytes,4,opt,name=et,proto3" json:"et,omitempty"` } func (x *FindDataDescribeReq) Reset() { *x = FindDataDescribeReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindDataDescribeReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindDataDescribeReq) ProtoMessage() {} func (x *FindDataDescribeReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[54] 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 FindDataDescribeReq.ProtoReflect.Descriptor instead. func (*FindDataDescribeReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{54} } func (x *FindDataDescribeReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *FindDataDescribeReq) GetItems() []string { if x != nil { return x.Items } return nil } func (x *FindDataDescribeReq) GetSt() string { if x != nil { return x.St } return "" } func (x *FindDataDescribeReq) GetEt() string { if x != nil { return x.Et } return "" } type FindDataDescribeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List map[string]*DataDescribeInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *FindDataDescribeResp) Reset() { *x = FindDataDescribeResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindDataDescribeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindDataDescribeResp) ProtoMessage() {} func (x *FindDataDescribeResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[55] 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 FindDataDescribeResp.ProtoReflect.Descriptor instead. func (*FindDataDescribeResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{55} } func (x *FindDataDescribeResp) GetList() map[string]*DataDescribeInfo { if x != nil { return x.List } return nil } type FindDataCorrelationReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Items []string `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` St string `protobuf:"bytes,3,opt,name=st,proto3" json:"st,omitempty"` Et string `protobuf:"bytes,4,opt,name=et,proto3" json:"et,omitempty"` } func (x *FindDataCorrelationReq) Reset() { *x = FindDataCorrelationReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindDataCorrelationReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindDataCorrelationReq) ProtoMessage() {} func (x *FindDataCorrelationReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[56] 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 FindDataCorrelationReq.ProtoReflect.Descriptor instead. func (*FindDataCorrelationReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{56} } func (x *FindDataCorrelationReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *FindDataCorrelationReq) GetItems() []string { if x != nil { return x.Items } return nil } func (x *FindDataCorrelationReq) GetSt() string { if x != nil { return x.St } return "" } func (x *FindDataCorrelationReq) GetEt() string { if x != nil { return x.Et } return "" } type FindDataMinAndMaxReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Items []string `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` St string `protobuf:"bytes,3,opt,name=st,proto3" json:"st,omitempty"` Et string `protobuf:"bytes,4,opt,name=et,proto3" json:"et,omitempty"` } func (x *FindDataMinAndMaxReq) Reset() { *x = FindDataMinAndMaxReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindDataMinAndMaxReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindDataMinAndMaxReq) ProtoMessage() {} func (x *FindDataMinAndMaxReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindDataMinAndMaxReq.ProtoReflect.Descriptor instead. func (*FindDataMinAndMaxReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{57} } func (x *FindDataMinAndMaxReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *FindDataMinAndMaxReq) GetItems() []string { if x != nil { return x.Items } return nil } func (x *FindDataMinAndMaxReq) GetSt() string { if x != nil { return x.St } return "" } func (x *FindDataMinAndMaxReq) GetEt() string { if x != nil { return x.Et } return "" } type FindDataMinAndMaxResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List map[string]*DataMinAndMaxInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *FindDataMinAndMaxResp) Reset() { *x = FindDataMinAndMaxResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindDataMinAndMaxResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindDataMinAndMaxResp) ProtoMessage() {} func (x *FindDataMinAndMaxResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[58] 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 FindDataMinAndMaxResp.ProtoReflect.Descriptor instead. func (*FindDataMinAndMaxResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{58} } func (x *FindDataMinAndMaxResp) GetList() map[string]*DataMinAndMaxInfo { if x != nil { return x.List } return nil } type FindDataCorrelationResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List map[string]*DataCorrelationInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *FindDataCorrelationResp) Reset() { *x = FindDataCorrelationResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindDataCorrelationResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindDataCorrelationResp) ProtoMessage() {} func (x *FindDataCorrelationResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[59] 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 FindDataCorrelationResp.ProtoReflect.Descriptor instead. func (*FindDataCorrelationResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{59} } func (x *FindDataCorrelationResp) GetList() map[string]*DataCorrelationInfo { if x != nil { return x.List } return nil } type HealthReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *HealthReq) Reset() { *x = HealthReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthReq) ProtoMessage() {} func (x *HealthReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[60] 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 HealthReq.ProtoReflect.Descriptor instead. func (*HealthReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{60} } type HealthResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Db []string `protobuf:"bytes,1,rep,name=db,proto3" json:"db,omitempty"` Redis []string `protobuf:"bytes,2,rep,name=redis,proto3" json:"redis,omitempty"` Mq []string `protobuf:"bytes,3,rep,name=mq,proto3" json:"mq,omitempty"` Msg string `protobuf:"bytes,4,opt,name=msg,proto3" json:"msg,omitempty"` } func (x *HealthResp) Reset() { *x = HealthResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HealthResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*HealthResp) ProtoMessage() {} func (x *HealthResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[61] 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 HealthResp.ProtoReflect.Descriptor instead. func (*HealthResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{61} } func (x *HealthResp) GetDb() []string { if x != nil { return x.Db } return nil } func (x *HealthResp) GetRedis() []string { if x != nil { return x.Redis } return nil } func (x *HealthResp) GetMq() []string { if x != nil { return x.Mq } return nil } func (x *HealthResp) GetMsg() string { if x != nil { return x.Msg } return "" } type CurrentItem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ItemName string `protobuf:"bytes,1,opt,name=item_name,json=itemName,proto3" json:"item_name,omitempty"` Val string `protobuf:"bytes,2,opt,name=val,proto3" json:"val,omitempty"` HTime string `protobuf:"bytes,3,opt,name=h_time,json=hTime,proto3" json:"h_time,omitempty"` } func (x *CurrentItem) Reset() { *x = CurrentItem{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CurrentItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*CurrentItem) ProtoMessage() {} func (x *CurrentItem) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[62] 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 CurrentItem.ProtoReflect.Descriptor instead. func (*CurrentItem) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{62} } func (x *CurrentItem) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *CurrentItem) GetVal() string { if x != nil { return x.Val } return "" } func (x *CurrentItem) GetHTime() string { if x != nil { return x.HTime } return "" } type CurrentDataReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` ItemName string `protobuf:"bytes,2,opt,name=item_name,json=itemName,proto3" json:"item_name,omitempty"` } func (x *CurrentDataReq) Reset() { *x = CurrentDataReq{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CurrentDataReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*CurrentDataReq) ProtoMessage() {} func (x *CurrentDataReq) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[63] 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 CurrentDataReq.ProtoReflect.Descriptor instead. func (*CurrentDataReq) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{63} } func (x *CurrentDataReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *CurrentDataReq) GetItemName() string { if x != nil { return x.ItemName } return "" } type CurrentDataResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Item []*CurrentItem `protobuf:"bytes,1,rep,name=item,proto3" json:"item,omitempty"` } func (x *CurrentDataResp) Reset() { *x = CurrentDataResp{} if protoimpl.UnsafeEnabled { mi := &file_datacenter_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CurrentDataResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CurrentDataResp) ProtoMessage() {} func (x *CurrentDataResp) ProtoReflect() protoreflect.Message { mi := &file_datacenter_proto_msgTypes[64] 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 CurrentDataResp.ProtoReflect.Descriptor instead. func (*CurrentDataResp) Descriptor() ([]byte, []int) { return file_datacenter_proto_rawDescGZIP(), []int{64} } func (x *CurrentDataResp) GetItem() []*CurrentItem { if x != nil { return x.Item } return nil } var File_datacenter_proto protoreflect.FileDescriptor var file_datacenter_proto_rawDesc = []byte{ 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x58, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xe8, 0x01, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x73, 0x74, 0x64, 0x44, 0x65, 0x76, 0x12, 0x17, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x5f, 0x64, 0x65, 0x76, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x76, 0x61, 0x72, 0x44, 0x65, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x32, 0x35, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x70, 0x32, 0x35, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x35, 0x30, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x70, 0x35, 0x30, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x37, 0x35, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x70, 0x37, 0x35, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x74, 0x22, 0x37, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x44, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x22, 0xd8, 0x01, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x74, 0x1a, 0x51, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb9, 0x01, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x0c, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xa9, 0x07, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x66, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x77, 0x61, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6d, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x74, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x75, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x66, 0x6c, 0x75, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x54, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x68, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x46, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x46, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x91, 0x08, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x77, 0x61, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6d, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x74, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x75, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x66, 0x6c, 0x75, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x54, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x68, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x46, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x46, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xba, 0x0d, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4e, 0x66, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x77, 0x61, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x31, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x31, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x31, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x32, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x32, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x32, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x33, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x33, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x33, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x54, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x21, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x22, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x68, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x23, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x24, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x46, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x46, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x29, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xfe, 0x0d, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x77, 0x61, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x31, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x31, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x31, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x32, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x32, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x32, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x33, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x33, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x33, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x54, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x21, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x22, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x68, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x23, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x24, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x46, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x46, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x29, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xad, 0x02, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x86, 0x03, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6d, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x66, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6c, 0x69, 0x66, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x76, 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x64, 0x0a, 0x1a, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x22, 0xe6, 0x01, 0x0a, 0x16, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x98, 0x01, 0x0a, 0x18, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x19, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x4d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x22, 0x48, 0x0a, 0x1c, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x22, 0x35, 0x0a, 0x1d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5b, 0x0a, 0x13, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x5a, 0x0a, 0x17, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x74, 0x22, 0x9c, 0x02, 0x0a, 0x1a, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x22, 0x4e, 0x0a, 0x1b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x46, 0x0a, 0x17, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x3d, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4e, 0x66, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4e, 0x66, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x66, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x66, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3f, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6d, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6d, 0x70, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x41, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x41, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x73, 0x74, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x62, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x38, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x61, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x66, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x61, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2d, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x23, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x2e, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x2d, 0x0a, 0x10, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x23, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x2e, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x47, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0x32, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x22, 0x50, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x73, 0x22, 0x43, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x73, 0x22, 0x6a, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x4d, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x74, 0x22, 0x6b, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x4e, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, 0x01, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x50, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x0b, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x22, 0x54, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x62, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x64, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x6d, 0x71, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x6d, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x53, 0x0a, 0x0b, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x0e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x36, 0x0a, 0x0f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0xb0, 0x0f, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x73, 0x74, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x73, 0x74, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6d, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6d, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x13, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x15, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x1b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x4d, 0x69, 0x6e, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x4d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x1e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x17, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x33, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0b, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_datacenter_proto_rawDescOnce sync.Once file_datacenter_proto_rawDescData = file_datacenter_proto_rawDesc ) func file_datacenter_proto_rawDescGZIP() []byte { file_datacenter_proto_rawDescOnce.Do(func() { file_datacenter_proto_rawDescData = protoimpl.X.CompressGZIP(file_datacenter_proto_rawDescData) }) return file_datacenter_proto_rawDescData } var file_datacenter_proto_msgTypes = make([]protoimpl.MessageInfo, 69) var file_datacenter_proto_goTypes = []interface{}{ (*Pagination)(nil), // 0: pb.Pagination (*DataDescribeInfo)(nil), // 1: pb.DataDescribeInfo (*DataMinAndMaxInfo)(nil), // 2: pb.DataMinAndMaxInfo (*RelatedItems)(nil), // 3: pb.RelatedItems (*DataCorrelationInfo)(nil), // 4: pb.DataCorrelationInfo (*AppInfo)(nil), // 5: pb.AppInfo (*DcWorkingReq)(nil), // 6: pb.DcWorkingReq (*WorkingMf)(nil), // 7: pb.WorkingMf (*WorkingUf)(nil), // 8: pb.WorkingUf (*WorkingNf)(nil), // 9: pb.WorkingNf (*WorkingRo)(nil), // 10: pb.WorkingRo (*WorkingChest)(nil), // 11: pb.WorkingChest (*WorkingPump)(nil), // 12: pb.WorkingPump (*WorkingValve)(nil), // 13: pb.WorkingValve (*ItemHistoryData)(nil), // 14: pb.ItemHistoryData (*MultiAddItemHistoryDataReq)(nil), // 15: pb.MultiAddItemHistoryDataReq (*MultiAddItemHistoryDataResp)(nil), // 16: pb.MultiAddItemHistoryDataResp (*ItemHistoryDataListReq)(nil), // 17: pb.ItemHistoryDataListReq (*ItemHistoryDataByTimeReq)(nil), // 18: pb.ItemHistoryDataByTimeReq (*ItemHistoryDataMaxMinResp)(nil), // 19: pb.ItemHistoryDataMaxMinResp (*ItemHistoryDataFirstLastResp)(nil), // 20: pb.ItemHistoryDataFirstLastResp (*ChangeTypeItemHistoryDataResp)(nil), // 21: pb.ChangeTypeItemHistoryDataResp (*ItemHistoryDataList)(nil), // 22: pb.ItemHistoryDataList (*ItemHistoryDataForChart)(nil), // 23: pb.ItemHistoryDataForChart (*ItemHistoryDataForChartReq)(nil), // 24: pb.ItemHistoryDataForChartReq (*ItemHistoryDataForChartResp)(nil), // 25: pb.ItemHistoryDataForChartResp (*ItemHistoryDataListResp)(nil), // 26: pb.ItemHistoryDataListResp (*GetWorkingUfByCodeResp)(nil), // 27: pb.GetWorkingUfByCodeResp (*FindWorkingUfByCycleReq)(nil), // 28: pb.FindWorkingUfByCycleReq (*FindWorkingUfByCycleResp)(nil), // 29: pb.FindWorkingUfByCycleResp (*GetWorkingRoByCodeResp)(nil), // 30: pb.GetWorkingRoByCodeResp (*GetWorkingNfByCodeResp)(nil), // 31: pb.GetWorkingNfByCodeResp (*GetWorkingMfByCodeResp)(nil), // 32: pb.GetWorkingMfByCodeResp (*GetWorkingPumpByCodeResp)(nil), // 33: pb.GetWorkingPumpByCodeResp (*GetWorkingValveByCodeResp)(nil), // 34: pb.GetWorkingValveByCodeResp (*GetWorkingChestByCodeResp)(nil), // 35: pb.GetWorkingChestByCodeResp (*FindAppListReq)(nil), // 36: pb.FindAppListReq (*FindAppListResp)(nil), // 37: pb.FindAppListResp (*GetAppInfoReq)(nil), // 38: pb.GetAppInfoReq (*GetAppInfoResp)(nil), // 39: pb.GetAppInfoResp (*CreateAppInfoReq)(nil), // 40: pb.CreateAppInfoReq (*CreateAppInfoResp)(nil), // 41: pb.CreateAppInfoResp (*RemoveAppInfoReq)(nil), // 42: pb.RemoveAppInfoReq (*RemoveAppInfoResp)(nil), // 43: pb.RemoveAppInfoResp (*DisableAppInfoReq)(nil), // 44: pb.DisableAppInfoReq (*DisableAppInfoResp)(nil), // 45: pb.DisableAppInfoResp (*EnableAppInfoReq)(nil), // 46: pb.EnableAppInfoReq (*EnableAppInfoResp)(nil), // 47: pb.EnableAppInfoResp (*ResetAppSecretReq)(nil), // 48: pb.ResetAppSecretReq (*ResetAppSecretResp)(nil), // 49: pb.ResetAppSecretResp (*ExpireAppSecretReq)(nil), // 50: pb.ExpireAppSecretReq (*ExpireAppSecretResp)(nil), // 51: pb.ExpireAppSecretResp (*ResetAppProjectReq)(nil), // 52: pb.ResetAppProjectReq (*ResetAppProjectResp)(nil), // 53: pb.ResetAppProjectResp (*FindDataDescribeReq)(nil), // 54: pb.FindDataDescribeReq (*FindDataDescribeResp)(nil), // 55: pb.FindDataDescribeResp (*FindDataCorrelationReq)(nil), // 56: pb.FindDataCorrelationReq (*FindDataMinAndMaxReq)(nil), // 57: pb.FindDataMinAndMaxReq (*FindDataMinAndMaxResp)(nil), // 58: pb.FindDataMinAndMaxResp (*FindDataCorrelationResp)(nil), // 59: pb.FindDataCorrelationResp (*HealthReq)(nil), // 60: pb.HealthReq (*HealthResp)(nil), // 61: pb.HealthResp (*CurrentItem)(nil), // 62: pb.CurrentItem (*CurrentDataReq)(nil), // 63: pb.CurrentDataReq (*CurrentDataResp)(nil), // 64: pb.CurrentDataResp nil, // 65: pb.DataCorrelationInfo.RelatedItemsEntry nil, // 66: pb.FindDataDescribeResp.ListEntry nil, // 67: pb.FindDataMinAndMaxResp.ListEntry nil, // 68: pb.FindDataCorrelationResp.ListEntry } var file_datacenter_proto_depIdxs = []int32{ 65, // 0: pb.DataCorrelationInfo.related_items:type_name -> pb.DataCorrelationInfo.RelatedItemsEntry 14, // 1: pb.MultiAddItemHistoryDataReq.list:type_name -> pb.ItemHistoryData 23, // 2: pb.ItemHistoryDataForChartResp.list:type_name -> pb.ItemHistoryDataForChart 22, // 3: pb.ItemHistoryDataListResp.list:type_name -> pb.ItemHistoryDataList 8, // 4: pb.GetWorkingUfByCodeResp.list:type_name -> pb.WorkingUf 8, // 5: pb.FindWorkingUfByCycleResp.list:type_name -> pb.WorkingUf 10, // 6: pb.GetWorkingRoByCodeResp.list:type_name -> pb.WorkingRo 9, // 7: pb.GetWorkingNfByCodeResp.list:type_name -> pb.WorkingNf 7, // 8: pb.GetWorkingMfByCodeResp.list:type_name -> pb.WorkingMf 12, // 9: pb.GetWorkingPumpByCodeResp.list:type_name -> pb.WorkingPump 13, // 10: pb.GetWorkingValveByCodeResp.list:type_name -> pb.WorkingValve 11, // 11: pb.GetWorkingChestByCodeResp.list:type_name -> pb.WorkingChest 5, // 12: pb.FindAppListResp.list:type_name -> pb.AppInfo 0, // 13: pb.FindAppListResp.pagination:type_name -> pb.Pagination 5, // 14: pb.GetAppInfoResp.app_info:type_name -> pb.AppInfo 5, // 15: pb.CreateAppInfoResp.app_info:type_name -> pb.AppInfo 66, // 16: pb.FindDataDescribeResp.list:type_name -> pb.FindDataDescribeResp.ListEntry 67, // 17: pb.FindDataMinAndMaxResp.list:type_name -> pb.FindDataMinAndMaxResp.ListEntry 68, // 18: pb.FindDataCorrelationResp.list:type_name -> pb.FindDataCorrelationResp.ListEntry 62, // 19: pb.CurrentDataResp.item:type_name -> pb.CurrentItem 3, // 20: pb.DataCorrelationInfo.RelatedItemsEntry.value:type_name -> pb.RelatedItems 1, // 21: pb.FindDataDescribeResp.ListEntry.value:type_name -> pb.DataDescribeInfo 2, // 22: pb.FindDataMinAndMaxResp.ListEntry.value:type_name -> pb.DataMinAndMaxInfo 4, // 23: pb.FindDataCorrelationResp.ListEntry.value:type_name -> pb.DataCorrelationInfo 6, // 24: pb.Organization.GetWorkingUfByCode:input_type -> pb.DcWorkingReq 28, // 25: pb.Organization.FindWorkingUfByCycle:input_type -> pb.FindWorkingUfByCycleReq 6, // 26: pb.Organization.GetWorkingRoByCode:input_type -> pb.DcWorkingReq 6, // 27: pb.Organization.GetWorkingChestByCode:input_type -> pb.DcWorkingReq 6, // 28: pb.Organization.GetWorkingPumpByCode:input_type -> pb.DcWorkingReq 6, // 29: pb.Organization.GetWorkingValveByCode:input_type -> pb.DcWorkingReq 15, // 30: pb.Organization.MultiAddItemHistoryData:input_type -> pb.MultiAddItemHistoryDataReq 17, // 31: pb.Organization.ItemHistoryDataList:input_type -> pb.ItemHistoryDataListReq 18, // 32: pb.Organization.ItemHistoryDataByTime:input_type -> pb.ItemHistoryDataByTimeReq 18, // 33: pb.Organization.ItemHistoryDataMaxMinByTime:input_type -> pb.ItemHistoryDataByTimeReq 18, // 34: pb.Organization.ItemHistoryDataFirstLastByTime:input_type -> pb.ItemHistoryDataByTimeReq 18, // 35: pb.Organization.ChangeTypeItemHistoryData:input_type -> pb.ItemHistoryDataByTimeReq 24, // 36: pb.Organization.ItemHistoryDataForChart:input_type -> pb.ItemHistoryDataForChartReq 36, // 37: pb.Organization.FindAppList:input_type -> pb.FindAppListReq 38, // 38: pb.Organization.GetAppInfo:input_type -> pb.GetAppInfoReq 40, // 39: pb.Organization.CreateAppInfo:input_type -> pb.CreateAppInfoReq 42, // 40: pb.Organization.RemoveAppInfo:input_type -> pb.RemoveAppInfoReq 44, // 41: pb.Organization.DisableAppInfo:input_type -> pb.DisableAppInfoReq 46, // 42: pb.Organization.EnableAppInfo:input_type -> pb.EnableAppInfoReq 48, // 43: pb.Organization.ResetAppSecret:input_type -> pb.ResetAppSecretReq 50, // 44: pb.Organization.ExpireAppSecret:input_type -> pb.ExpireAppSecretReq 52, // 45: pb.Organization.ResetAppProject:input_type -> pb.ResetAppProjectReq 54, // 46: pb.Organization.FindDataDescribe:input_type -> pb.FindDataDescribeReq 57, // 47: pb.Organization.FindDataMinAndMax:input_type -> pb.FindDataMinAndMaxReq 56, // 48: pb.Organization.FindDataCorrelation:input_type -> pb.FindDataCorrelationReq 63, // 49: pb.Organization.CurrentData:input_type -> pb.CurrentDataReq 60, // 50: pb.Organization.Health:input_type -> pb.HealthReq 27, // 51: pb.Organization.GetWorkingUfByCode:output_type -> pb.GetWorkingUfByCodeResp 29, // 52: pb.Organization.FindWorkingUfByCycle:output_type -> pb.FindWorkingUfByCycleResp 30, // 53: pb.Organization.GetWorkingRoByCode:output_type -> pb.GetWorkingRoByCodeResp 35, // 54: pb.Organization.GetWorkingChestByCode:output_type -> pb.GetWorkingChestByCodeResp 33, // 55: pb.Organization.GetWorkingPumpByCode:output_type -> pb.GetWorkingPumpByCodeResp 34, // 56: pb.Organization.GetWorkingValveByCode:output_type -> pb.GetWorkingValveByCodeResp 16, // 57: pb.Organization.MultiAddItemHistoryData:output_type -> pb.MultiAddItemHistoryDataResp 26, // 58: pb.Organization.ItemHistoryDataList:output_type -> pb.ItemHistoryDataListResp 26, // 59: pb.Organization.ItemHistoryDataByTime:output_type -> pb.ItemHistoryDataListResp 19, // 60: pb.Organization.ItemHistoryDataMaxMinByTime:output_type -> pb.ItemHistoryDataMaxMinResp 20, // 61: pb.Organization.ItemHistoryDataFirstLastByTime:output_type -> pb.ItemHistoryDataFirstLastResp 21, // 62: pb.Organization.ChangeTypeItemHistoryData:output_type -> pb.ChangeTypeItemHistoryDataResp 25, // 63: pb.Organization.ItemHistoryDataForChart:output_type -> pb.ItemHistoryDataForChartResp 37, // 64: pb.Organization.FindAppList:output_type -> pb.FindAppListResp 39, // 65: pb.Organization.GetAppInfo:output_type -> pb.GetAppInfoResp 41, // 66: pb.Organization.CreateAppInfo:output_type -> pb.CreateAppInfoResp 43, // 67: pb.Organization.RemoveAppInfo:output_type -> pb.RemoveAppInfoResp 45, // 68: pb.Organization.DisableAppInfo:output_type -> pb.DisableAppInfoResp 47, // 69: pb.Organization.EnableAppInfo:output_type -> pb.EnableAppInfoResp 49, // 70: pb.Organization.ResetAppSecret:output_type -> pb.ResetAppSecretResp 51, // 71: pb.Organization.ExpireAppSecret:output_type -> pb.ExpireAppSecretResp 53, // 72: pb.Organization.ResetAppProject:output_type -> pb.ResetAppProjectResp 55, // 73: pb.Organization.FindDataDescribe:output_type -> pb.FindDataDescribeResp 58, // 74: pb.Organization.FindDataMinAndMax:output_type -> pb.FindDataMinAndMaxResp 59, // 75: pb.Organization.FindDataCorrelation:output_type -> pb.FindDataCorrelationResp 64, // 76: pb.Organization.CurrentData:output_type -> pb.CurrentDataResp 61, // 77: pb.Organization.Health:output_type -> pb.HealthResp 51, // [51:78] is the sub-list for method output_type 24, // [24:51] is the sub-list for method input_type 24, // [24:24] is the sub-list for extension type_name 24, // [24:24] is the sub-list for extension extendee 0, // [0:24] is the sub-list for field type_name } func init() { file_datacenter_proto_init() } func file_datacenter_proto_init() { if File_datacenter_proto != nil { return } if !protoimpl.UnsafeEnabled { file_datacenter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pagination); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DataDescribeInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DataMinAndMaxInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelatedItems); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DataCorrelationInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AppInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DcWorkingReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingMf); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingUf); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingNf); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingRo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingChest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingPump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingValve); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiAddItemHistoryDataReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiAddItemHistoryDataResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataByTimeReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataMaxMinResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataFirstLastResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeTypeItemHistoryDataResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataForChart); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataForChartReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataForChartResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataListResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingUfByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindWorkingUfByCycleReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindWorkingUfByCycleResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingRoByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingNfByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingMfByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingPumpByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingValveByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingChestByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAppListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindAppListResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAppInfoReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAppInfoResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateAppInfoReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateAppInfoResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveAppInfoReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveAppInfoResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisableAppInfoReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisableAppInfoResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnableAppInfoReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnableAppInfoResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetAppSecretReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetAppSecretResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExpireAppSecretReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExpireAppSecretResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetAppProjectReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetAppProjectResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindDataDescribeReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindDataDescribeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindDataCorrelationReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindDataMinAndMaxReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindDataMinAndMaxResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindDataCorrelationResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CurrentItem); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CurrentDataReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_datacenter_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CurrentDataResp); 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_datacenter_proto_rawDesc, NumEnums: 0, NumMessages: 69, NumExtensions: 0, NumServices: 1, }, GoTypes: file_datacenter_proto_goTypes, DependencyIndexes: file_datacenter_proto_depIdxs, MessageInfos: file_datacenter_proto_msgTypes, }.Build() File_datacenter_proto = out.File file_datacenter_proto_rawDesc = nil file_datacenter_proto_goTypes = nil file_datacenter_proto_depIdxs = nil }