algorithm/eas/easyrec/easyrec_predict.pb.go (2,947 lines of code) (raw):

// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.21.12 // source: easyrec_predict.proto package easyrec 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 ArrayDataType int32 const ( // Not a legal value for DataType. Used to indicate a DataType field // has not been set. ArrayDataType_DT_INVALID ArrayDataType = 0 // Data types that all computation devices are expected to be // capable to support. ArrayDataType_DT_FLOAT ArrayDataType = 1 ArrayDataType_DT_DOUBLE ArrayDataType = 2 ArrayDataType_DT_INT32 ArrayDataType = 3 ArrayDataType_DT_UINT8 ArrayDataType = 4 ArrayDataType_DT_INT16 ArrayDataType = 5 ArrayDataType_DT_INT8 ArrayDataType = 6 ArrayDataType_DT_STRING ArrayDataType = 7 ArrayDataType_DT_COMPLEX64 ArrayDataType = 8 // Single-precision complex ArrayDataType_DT_INT64 ArrayDataType = 9 ArrayDataType_DT_BOOL ArrayDataType = 10 ArrayDataType_DT_QINT8 ArrayDataType = 11 // Quantized int8 ArrayDataType_DT_QUINT8 ArrayDataType = 12 // Quantized uint8 ArrayDataType_DT_QINT32 ArrayDataType = 13 // Quantized int32 ArrayDataType_DT_BFLOAT16 ArrayDataType = 14 // Float32 truncated to 16 bits. Only for cast ops. ArrayDataType_DT_QINT16 ArrayDataType = 15 // Quantized int16 ArrayDataType_DT_QUINT16 ArrayDataType = 16 // Quantized uint16 ArrayDataType_DT_UINT16 ArrayDataType = 17 ArrayDataType_DT_COMPLEX128 ArrayDataType = 18 // Double-precision complex ArrayDataType_DT_HALF ArrayDataType = 19 ArrayDataType_DT_RESOURCE ArrayDataType = 20 ArrayDataType_DT_VARIANT ArrayDataType = 21 // Arbitrary C++ data types ) // Enum value maps for ArrayDataType. var ( ArrayDataType_name = map[int32]string{ 0: "DT_INVALID", 1: "DT_FLOAT", 2: "DT_DOUBLE", 3: "DT_INT32", 4: "DT_UINT8", 5: "DT_INT16", 6: "DT_INT8", 7: "DT_STRING", 8: "DT_COMPLEX64", 9: "DT_INT64", 10: "DT_BOOL", 11: "DT_QINT8", 12: "DT_QUINT8", 13: "DT_QINT32", 14: "DT_BFLOAT16", 15: "DT_QINT16", 16: "DT_QUINT16", 17: "DT_UINT16", 18: "DT_COMPLEX128", 19: "DT_HALF", 20: "DT_RESOURCE", 21: "DT_VARIANT", } ArrayDataType_value = map[string]int32{ "DT_INVALID": 0, "DT_FLOAT": 1, "DT_DOUBLE": 2, "DT_INT32": 3, "DT_UINT8": 4, "DT_INT16": 5, "DT_INT8": 6, "DT_STRING": 7, "DT_COMPLEX64": 8, "DT_INT64": 9, "DT_BOOL": 10, "DT_QINT8": 11, "DT_QUINT8": 12, "DT_QINT32": 13, "DT_BFLOAT16": 14, "DT_QINT16": 15, "DT_QUINT16": 16, "DT_UINT16": 17, "DT_COMPLEX128": 18, "DT_HALF": 19, "DT_RESOURCE": 20, "DT_VARIANT": 21, } ) func (x ArrayDataType) Enum() *ArrayDataType { p := new(ArrayDataType) *p = x return p } func (x ArrayDataType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ArrayDataType) Descriptor() protoreflect.EnumDescriptor { return file_easyrec_predict_proto_enumTypes[0].Descriptor() } func (ArrayDataType) Type() protoreflect.EnumType { return &file_easyrec_predict_proto_enumTypes[0] } func (x ArrayDataType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ArrayDataType.Descriptor instead. func (ArrayDataType) EnumDescriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{0} } type StatusCode int32 const ( StatusCode_OK StatusCode = 0 StatusCode_INPUT_EMPTY StatusCode = 1 StatusCode_EXCEPTION StatusCode = 2 ) // Enum value maps for StatusCode. var ( StatusCode_name = map[int32]string{ 0: "OK", 1: "INPUT_EMPTY", 2: "EXCEPTION", } StatusCode_value = map[string]int32{ "OK": 0, "INPUT_EMPTY": 1, "EXCEPTION": 2, } ) func (x StatusCode) Enum() *StatusCode { p := new(StatusCode) *p = x return p } func (x StatusCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (StatusCode) Descriptor() protoreflect.EnumDescriptor { return file_easyrec_predict_proto_enumTypes[1].Descriptor() } func (StatusCode) Type() protoreflect.EnumType { return &file_easyrec_predict_proto_enumTypes[1] } func (x StatusCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use StatusCode.Descriptor instead. func (StatusCode) EnumDescriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{1} } // Dimensions of an array type ArrayShape struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Dim []int64 `protobuf:"varint,1,rep,packed,name=dim,proto3" json:"dim,omitempty"` } func (x *ArrayShape) Reset() { *x = ArrayShape{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ArrayShape) String() string { return protoimpl.X.MessageStringOf(x) } func (*ArrayShape) ProtoMessage() {} func (x *ArrayShape) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 ArrayShape.ProtoReflect.Descriptor instead. func (*ArrayShape) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{0} } func (x *ArrayShape) GetDim() []int64 { if x != nil { return x.Dim } return nil } // Protocol buffer representing an array type ArrayProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Data Type. Dtype ArrayDataType `protobuf:"varint,1,opt,name=dtype,proto3,enum=easyrec.ArrayDataType" json:"dtype,omitempty"` // Shape of the array. ArrayShape *ArrayShape `protobuf:"bytes,2,opt,name=array_shape,json=arrayShape,proto3" json:"array_shape,omitempty"` // DT_FLOAT. FloatVal []float32 `protobuf:"fixed32,3,rep,packed,name=float_val,json=floatVal,proto3" json:"float_val,omitempty"` // DT_DOUBLE. DoubleVal []float64 `protobuf:"fixed64,4,rep,packed,name=double_val,json=doubleVal,proto3" json:"double_val,omitempty"` // DT_INT32, DT_INT16, DT_INT8, DT_UINT8. IntVal []int32 `protobuf:"varint,5,rep,packed,name=int_val,json=intVal,proto3" json:"int_val,omitempty"` // DT_STRING. StringVal [][]byte `protobuf:"bytes,6,rep,name=string_val,json=stringVal,proto3" json:"string_val,omitempty"` // DT_INT64. Int64Val []int64 `protobuf:"varint,7,rep,packed,name=int64_val,json=int64Val,proto3" json:"int64_val,omitempty"` // DT_BOOL. BoolVal []bool `protobuf:"varint,8,rep,packed,name=bool_val,json=boolVal,proto3" json:"bool_val,omitempty"` } func (x *ArrayProto) Reset() { *x = ArrayProto{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ArrayProto) String() string { return protoimpl.X.MessageStringOf(x) } func (*ArrayProto) ProtoMessage() {} func (x *ArrayProto) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 ArrayProto.ProtoReflect.Descriptor instead. func (*ArrayProto) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{1} } func (x *ArrayProto) GetDtype() ArrayDataType { if x != nil { return x.Dtype } return ArrayDataType_DT_INVALID } func (x *ArrayProto) GetArrayShape() *ArrayShape { if x != nil { return x.ArrayShape } return nil } func (x *ArrayProto) GetFloatVal() []float32 { if x != nil { return x.FloatVal } return nil } func (x *ArrayProto) GetDoubleVal() []float64 { if x != nil { return x.DoubleVal } return nil } func (x *ArrayProto) GetIntVal() []int32 { if x != nil { return x.IntVal } return nil } func (x *ArrayProto) GetStringVal() [][]byte { if x != nil { return x.StringVal } return nil } func (x *ArrayProto) GetInt64Val() []int64 { if x != nil { return x.Int64Val } return nil } func (x *ArrayProto) GetBoolVal() []bool { if x != nil { return x.BoolVal } return nil } // context features type ContextFeatures struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Features []*PBFeature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` } func (x *ContextFeatures) Reset() { *x = ContextFeatures{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ContextFeatures) String() string { return protoimpl.X.MessageStringOf(x) } func (*ContextFeatures) ProtoMessage() {} func (x *ContextFeatures) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 ContextFeatures.ProtoReflect.Descriptor instead. func (*ContextFeatures) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{2} } func (x *ContextFeatures) GetFeatures() []*PBFeature { if x != nil { return x.Features } return nil } // long->others type LongStringMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[int64]string `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *LongStringMap) Reset() { *x = LongStringMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LongStringMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*LongStringMap) ProtoMessage() {} func (x *LongStringMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 LongStringMap.ProtoReflect.Descriptor instead. func (*LongStringMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{3} } func (x *LongStringMap) GetMapField() map[int64]string { if x != nil { return x.MapField } return nil } type LongIntMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[int64]int32 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *LongIntMap) Reset() { *x = LongIntMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LongIntMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*LongIntMap) ProtoMessage() {} func (x *LongIntMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 LongIntMap.ProtoReflect.Descriptor instead. func (*LongIntMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{4} } func (x *LongIntMap) GetMapField() map[int64]int32 { if x != nil { return x.MapField } return nil } type LongLongMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[int64]int64 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *LongLongMap) Reset() { *x = LongLongMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LongLongMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*LongLongMap) ProtoMessage() {} func (x *LongLongMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 LongLongMap.ProtoReflect.Descriptor instead. func (*LongLongMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{5} } func (x *LongLongMap) GetMapField() map[int64]int64 { if x != nil { return x.MapField } return nil } type LongFloatMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[int64]float32 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"` } func (x *LongFloatMap) Reset() { *x = LongFloatMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LongFloatMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*LongFloatMap) ProtoMessage() {} func (x *LongFloatMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 LongFloatMap.ProtoReflect.Descriptor instead. func (*LongFloatMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{6} } func (x *LongFloatMap) GetMapField() map[int64]float32 { if x != nil { return x.MapField } return nil } type LongDoubleMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[int64]float64 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` } func (x *LongDoubleMap) Reset() { *x = LongDoubleMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LongDoubleMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*LongDoubleMap) ProtoMessage() {} func (x *LongDoubleMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 LongDoubleMap.ProtoReflect.Descriptor instead. func (*LongDoubleMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{7} } func (x *LongDoubleMap) GetMapField() map[int64]float64 { if x != nil { return x.MapField } return nil } // string->others type StringStringMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[string]string `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *StringStringMap) Reset() { *x = StringStringMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StringStringMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*StringStringMap) ProtoMessage() {} func (x *StringStringMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 StringStringMap.ProtoReflect.Descriptor instead. func (*StringStringMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{8} } func (x *StringStringMap) GetMapField() map[string]string { if x != nil { return x.MapField } return nil } type StringIntMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[string]int32 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *StringIntMap) Reset() { *x = StringIntMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StringIntMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*StringIntMap) ProtoMessage() {} func (x *StringIntMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 StringIntMap.ProtoReflect.Descriptor instead. func (*StringIntMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{9} } func (x *StringIntMap) GetMapField() map[string]int32 { if x != nil { return x.MapField } return nil } type StringLongMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[string]int64 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *StringLongMap) Reset() { *x = StringLongMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StringLongMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*StringLongMap) ProtoMessage() {} func (x *StringLongMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 StringLongMap.ProtoReflect.Descriptor instead. func (*StringLongMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{10} } func (x *StringLongMap) GetMapField() map[string]int64 { if x != nil { return x.MapField } return nil } type StringFloatMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[string]float32 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"` } func (x *StringFloatMap) Reset() { *x = StringFloatMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StringFloatMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*StringFloatMap) ProtoMessage() {} func (x *StringFloatMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 StringFloatMap.ProtoReflect.Descriptor instead. func (*StringFloatMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{11} } func (x *StringFloatMap) GetMapField() map[string]float32 { if x != nil { return x.MapField } return nil } type StringDoubleMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[string]float64 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` } func (x *StringDoubleMap) Reset() { *x = StringDoubleMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StringDoubleMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*StringDoubleMap) ProtoMessage() {} func (x *StringDoubleMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 StringDoubleMap.ProtoReflect.Descriptor instead. func (*StringDoubleMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{12} } func (x *StringDoubleMap) GetMapField() map[string]float64 { if x != nil { return x.MapField } return nil } // int32->others type IntStringMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[int32]string `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *IntStringMap) Reset() { *x = IntStringMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IntStringMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*IntStringMap) ProtoMessage() {} func (x *IntStringMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 IntStringMap.ProtoReflect.Descriptor instead. func (*IntStringMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{13} } func (x *IntStringMap) GetMapField() map[int32]string { if x != nil { return x.MapField } return nil } type IntIntMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[int32]int32 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *IntIntMap) Reset() { *x = IntIntMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IntIntMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*IntIntMap) ProtoMessage() {} func (x *IntIntMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 IntIntMap.ProtoReflect.Descriptor instead. func (*IntIntMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{14} } func (x *IntIntMap) GetMapField() map[int32]int32 { if x != nil { return x.MapField } return nil } type IntLongMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[int32]int64 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *IntLongMap) Reset() { *x = IntLongMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IntLongMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*IntLongMap) ProtoMessage() {} func (x *IntLongMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 IntLongMap.ProtoReflect.Descriptor instead. func (*IntLongMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{15} } func (x *IntLongMap) GetMapField() map[int32]int64 { if x != nil { return x.MapField } return nil } type IntFloatMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[int32]float32 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"` } func (x *IntFloatMap) Reset() { *x = IntFloatMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IntFloatMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*IntFloatMap) ProtoMessage() {} func (x *IntFloatMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 IntFloatMap.ProtoReflect.Descriptor instead. func (*IntFloatMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{16} } func (x *IntFloatMap) GetMapField() map[int32]float32 { if x != nil { return x.MapField } return nil } type IntDoubleMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MapField map[int32]float64 `protobuf:"bytes,1,rep,name=map_field,json=mapField,proto3" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` } func (x *IntDoubleMap) Reset() { *x = IntDoubleMap{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IntDoubleMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*IntDoubleMap) ProtoMessage() {} func (x *IntDoubleMap) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 IntDoubleMap.ProtoReflect.Descriptor instead. func (*IntDoubleMap) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{17} } func (x *IntDoubleMap) GetMapField() map[int32]float64 { if x != nil { return x.MapField } return nil } // list type IntList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Features []int32 `protobuf:"varint,1,rep,packed,name=features,proto3" json:"features,omitempty"` } func (x *IntList) Reset() { *x = IntList{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IntList) String() string { return protoimpl.X.MessageStringOf(x) } func (*IntList) ProtoMessage() {} func (x *IntList) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 IntList.ProtoReflect.Descriptor instead. func (*IntList) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{18} } func (x *IntList) GetFeatures() []int32 { if x != nil { return x.Features } return nil } type LongList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Features []int64 `protobuf:"varint,1,rep,packed,name=features,proto3" json:"features,omitempty"` } func (x *LongList) Reset() { *x = LongList{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LongList) String() string { return protoimpl.X.MessageStringOf(x) } func (*LongList) ProtoMessage() {} func (x *LongList) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 LongList.ProtoReflect.Descriptor instead. func (*LongList) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{19} } func (x *LongList) GetFeatures() []int64 { if x != nil { return x.Features } return nil } type FloatList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Features []float32 `protobuf:"fixed32,1,rep,packed,name=features,proto3" json:"features,omitempty"` } func (x *FloatList) Reset() { *x = FloatList{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FloatList) String() string { return protoimpl.X.MessageStringOf(x) } func (*FloatList) ProtoMessage() {} func (x *FloatList) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 FloatList.ProtoReflect.Descriptor instead. func (*FloatList) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{20} } func (x *FloatList) GetFeatures() []float32 { if x != nil { return x.Features } return nil } type DoubleList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Features []float64 `protobuf:"fixed64,1,rep,packed,name=features,proto3" json:"features,omitempty"` } func (x *DoubleList) Reset() { *x = DoubleList{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DoubleList) String() string { return protoimpl.X.MessageStringOf(x) } func (*DoubleList) ProtoMessage() {} func (x *DoubleList) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 DoubleList.ProtoReflect.Descriptor instead. func (*DoubleList) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{21} } func (x *DoubleList) GetFeatures() []float64 { if x != nil { return x.Features } return nil } type StringList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Features []string `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` } func (x *StringList) Reset() { *x = StringList{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StringList) String() string { return protoimpl.X.MessageStringOf(x) } func (*StringList) ProtoMessage() {} func (x *StringList) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 StringList.ProtoReflect.Descriptor instead. func (*StringList) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{22} } func (x *StringList) GetFeatures() []string { if x != nil { return x.Features } return nil } // lists type IntLists struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Lists []*IntList `protobuf:"bytes,1,rep,name=lists,proto3" json:"lists,omitempty"` } func (x *IntLists) Reset() { *x = IntLists{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IntLists) String() string { return protoimpl.X.MessageStringOf(x) } func (*IntLists) ProtoMessage() {} func (x *IntLists) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 IntLists.ProtoReflect.Descriptor instead. func (*IntLists) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{23} } func (x *IntLists) GetLists() []*IntList { if x != nil { return x.Lists } return nil } type LongLists struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Lists []*LongList `protobuf:"bytes,1,rep,name=lists,proto3" json:"lists,omitempty"` } func (x *LongLists) Reset() { *x = LongLists{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LongLists) String() string { return protoimpl.X.MessageStringOf(x) } func (*LongLists) ProtoMessage() {} func (x *LongLists) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 LongLists.ProtoReflect.Descriptor instead. func (*LongLists) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{24} } func (x *LongLists) GetLists() []*LongList { if x != nil { return x.Lists } return nil } type FloatLists struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Lists []*FloatList `protobuf:"bytes,1,rep,name=lists,proto3" json:"lists,omitempty"` } func (x *FloatLists) Reset() { *x = FloatLists{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FloatLists) String() string { return protoimpl.X.MessageStringOf(x) } func (*FloatLists) ProtoMessage() {} func (x *FloatLists) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 FloatLists.ProtoReflect.Descriptor instead. func (*FloatLists) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{25} } func (x *FloatLists) GetLists() []*FloatList { if x != nil { return x.Lists } return nil } type DoubleLists struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Lists []*DoubleList `protobuf:"bytes,1,rep,name=lists,proto3" json:"lists,omitempty"` } func (x *DoubleLists) Reset() { *x = DoubleLists{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DoubleLists) String() string { return protoimpl.X.MessageStringOf(x) } func (*DoubleLists) ProtoMessage() {} func (x *DoubleLists) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 DoubleLists.ProtoReflect.Descriptor instead. func (*DoubleLists) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{26} } func (x *DoubleLists) GetLists() []*DoubleList { if x != nil { return x.Lists } return nil } type StringLists struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Lists []*StringList `protobuf:"bytes,1,rep,name=lists,proto3" json:"lists,omitempty"` } func (x *StringLists) Reset() { *x = StringLists{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StringLists) String() string { return protoimpl.X.MessageStringOf(x) } func (*StringLists) ProtoMessage() {} func (x *StringLists) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 StringLists.ProtoReflect.Descriptor instead. func (*StringLists) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{27} } func (x *StringLists) GetLists() []*StringList { if x != nil { return x.Lists } return nil } type PBFeature struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Value: // // *PBFeature_IntFeature // *PBFeature_LongFeature // *PBFeature_StringFeature // *PBFeature_FloatFeature // *PBFeature_DoubleFeature // *PBFeature_LongStringMap // *PBFeature_LongIntMap // *PBFeature_LongLongMap // *PBFeature_LongFloatMap // *PBFeature_LongDoubleMap // *PBFeature_StringStringMap // *PBFeature_StringIntMap // *PBFeature_StringLongMap // *PBFeature_StringFloatMap // *PBFeature_StringDoubleMap // *PBFeature_IntStringMap // *PBFeature_IntIntMap // *PBFeature_IntLongMap // *PBFeature_IntFloatMap // *PBFeature_IntDoubleMap // *PBFeature_IntList // *PBFeature_LongList // *PBFeature_StringList // *PBFeature_FloatList // *PBFeature_DoubleList // *PBFeature_IntLists // *PBFeature_LongLists // *PBFeature_StringLists // *PBFeature_FloatLists // *PBFeature_DoubleLists Value isPBFeature_Value `protobuf_oneof:"value"` } func (x *PBFeature) Reset() { *x = PBFeature{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PBFeature) String() string { return protoimpl.X.MessageStringOf(x) } func (*PBFeature) ProtoMessage() {} func (x *PBFeature) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 PBFeature.ProtoReflect.Descriptor instead. func (*PBFeature) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{28} } func (m *PBFeature) GetValue() isPBFeature_Value { if m != nil { return m.Value } return nil } func (x *PBFeature) GetIntFeature() int32 { if x, ok := x.GetValue().(*PBFeature_IntFeature); ok { return x.IntFeature } return 0 } func (x *PBFeature) GetLongFeature() int64 { if x, ok := x.GetValue().(*PBFeature_LongFeature); ok { return x.LongFeature } return 0 } func (x *PBFeature) GetStringFeature() string { if x, ok := x.GetValue().(*PBFeature_StringFeature); ok { return x.StringFeature } return "" } func (x *PBFeature) GetFloatFeature() float32 { if x, ok := x.GetValue().(*PBFeature_FloatFeature); ok { return x.FloatFeature } return 0 } func (x *PBFeature) GetDoubleFeature() float64 { if x, ok := x.GetValue().(*PBFeature_DoubleFeature); ok { return x.DoubleFeature } return 0 } func (x *PBFeature) GetLongStringMap() *LongStringMap { if x, ok := x.GetValue().(*PBFeature_LongStringMap); ok { return x.LongStringMap } return nil } func (x *PBFeature) GetLongIntMap() *LongIntMap { if x, ok := x.GetValue().(*PBFeature_LongIntMap); ok { return x.LongIntMap } return nil } func (x *PBFeature) GetLongLongMap() *LongLongMap { if x, ok := x.GetValue().(*PBFeature_LongLongMap); ok { return x.LongLongMap } return nil } func (x *PBFeature) GetLongFloatMap() *LongFloatMap { if x, ok := x.GetValue().(*PBFeature_LongFloatMap); ok { return x.LongFloatMap } return nil } func (x *PBFeature) GetLongDoubleMap() *LongDoubleMap { if x, ok := x.GetValue().(*PBFeature_LongDoubleMap); ok { return x.LongDoubleMap } return nil } func (x *PBFeature) GetStringStringMap() *StringStringMap { if x, ok := x.GetValue().(*PBFeature_StringStringMap); ok { return x.StringStringMap } return nil } func (x *PBFeature) GetStringIntMap() *StringIntMap { if x, ok := x.GetValue().(*PBFeature_StringIntMap); ok { return x.StringIntMap } return nil } func (x *PBFeature) GetStringLongMap() *StringLongMap { if x, ok := x.GetValue().(*PBFeature_StringLongMap); ok { return x.StringLongMap } return nil } func (x *PBFeature) GetStringFloatMap() *StringFloatMap { if x, ok := x.GetValue().(*PBFeature_StringFloatMap); ok { return x.StringFloatMap } return nil } func (x *PBFeature) GetStringDoubleMap() *StringDoubleMap { if x, ok := x.GetValue().(*PBFeature_StringDoubleMap); ok { return x.StringDoubleMap } return nil } func (x *PBFeature) GetIntStringMap() *IntStringMap { if x, ok := x.GetValue().(*PBFeature_IntStringMap); ok { return x.IntStringMap } return nil } func (x *PBFeature) GetIntIntMap() *IntIntMap { if x, ok := x.GetValue().(*PBFeature_IntIntMap); ok { return x.IntIntMap } return nil } func (x *PBFeature) GetIntLongMap() *IntLongMap { if x, ok := x.GetValue().(*PBFeature_IntLongMap); ok { return x.IntLongMap } return nil } func (x *PBFeature) GetIntFloatMap() *IntFloatMap { if x, ok := x.GetValue().(*PBFeature_IntFloatMap); ok { return x.IntFloatMap } return nil } func (x *PBFeature) GetIntDoubleMap() *IntDoubleMap { if x, ok := x.GetValue().(*PBFeature_IntDoubleMap); ok { return x.IntDoubleMap } return nil } func (x *PBFeature) GetIntList() *IntList { if x, ok := x.GetValue().(*PBFeature_IntList); ok { return x.IntList } return nil } func (x *PBFeature) GetLongList() *LongList { if x, ok := x.GetValue().(*PBFeature_LongList); ok { return x.LongList } return nil } func (x *PBFeature) GetStringList() *StringList { if x, ok := x.GetValue().(*PBFeature_StringList); ok { return x.StringList } return nil } func (x *PBFeature) GetFloatList() *FloatList { if x, ok := x.GetValue().(*PBFeature_FloatList); ok { return x.FloatList } return nil } func (x *PBFeature) GetDoubleList() *DoubleList { if x, ok := x.GetValue().(*PBFeature_DoubleList); ok { return x.DoubleList } return nil } func (x *PBFeature) GetIntLists() *IntLists { if x, ok := x.GetValue().(*PBFeature_IntLists); ok { return x.IntLists } return nil } func (x *PBFeature) GetLongLists() *LongLists { if x, ok := x.GetValue().(*PBFeature_LongLists); ok { return x.LongLists } return nil } func (x *PBFeature) GetStringLists() *StringLists { if x, ok := x.GetValue().(*PBFeature_StringLists); ok { return x.StringLists } return nil } func (x *PBFeature) GetFloatLists() *FloatLists { if x, ok := x.GetValue().(*PBFeature_FloatLists); ok { return x.FloatLists } return nil } func (x *PBFeature) GetDoubleLists() *DoubleLists { if x, ok := x.GetValue().(*PBFeature_DoubleLists); ok { return x.DoubleLists } return nil } type isPBFeature_Value interface { isPBFeature_Value() } type PBFeature_IntFeature struct { IntFeature int32 `protobuf:"varint,1,opt,name=int_feature,json=intFeature,proto3,oneof"` } type PBFeature_LongFeature struct { LongFeature int64 `protobuf:"varint,2,opt,name=long_feature,json=longFeature,proto3,oneof"` } type PBFeature_StringFeature struct { StringFeature string `protobuf:"bytes,3,opt,name=string_feature,json=stringFeature,proto3,oneof"` } type PBFeature_FloatFeature struct { FloatFeature float32 `protobuf:"fixed32,4,opt,name=float_feature,json=floatFeature,proto3,oneof"` } type PBFeature_DoubleFeature struct { DoubleFeature float64 `protobuf:"fixed64,5,opt,name=double_feature,json=doubleFeature,proto3,oneof"` } type PBFeature_LongStringMap struct { LongStringMap *LongStringMap `protobuf:"bytes,6,opt,name=long_string_map,json=longStringMap,proto3,oneof"` } type PBFeature_LongIntMap struct { LongIntMap *LongIntMap `protobuf:"bytes,7,opt,name=long_int_map,json=longIntMap,proto3,oneof"` } type PBFeature_LongLongMap struct { LongLongMap *LongLongMap `protobuf:"bytes,8,opt,name=long_long_map,json=longLongMap,proto3,oneof"` } type PBFeature_LongFloatMap struct { LongFloatMap *LongFloatMap `protobuf:"bytes,9,opt,name=long_float_map,json=longFloatMap,proto3,oneof"` } type PBFeature_LongDoubleMap struct { LongDoubleMap *LongDoubleMap `protobuf:"bytes,10,opt,name=long_double_map,json=longDoubleMap,proto3,oneof"` } type PBFeature_StringStringMap struct { StringStringMap *StringStringMap `protobuf:"bytes,11,opt,name=string_string_map,json=stringStringMap,proto3,oneof"` } type PBFeature_StringIntMap struct { StringIntMap *StringIntMap `protobuf:"bytes,12,opt,name=string_int_map,json=stringIntMap,proto3,oneof"` } type PBFeature_StringLongMap struct { StringLongMap *StringLongMap `protobuf:"bytes,13,opt,name=string_long_map,json=stringLongMap,proto3,oneof"` } type PBFeature_StringFloatMap struct { StringFloatMap *StringFloatMap `protobuf:"bytes,14,opt,name=string_float_map,json=stringFloatMap,proto3,oneof"` } type PBFeature_StringDoubleMap struct { StringDoubleMap *StringDoubleMap `protobuf:"bytes,15,opt,name=string_double_map,json=stringDoubleMap,proto3,oneof"` } type PBFeature_IntStringMap struct { IntStringMap *IntStringMap `protobuf:"bytes,16,opt,name=int_string_map,json=intStringMap,proto3,oneof"` } type PBFeature_IntIntMap struct { IntIntMap *IntIntMap `protobuf:"bytes,17,opt,name=int_int_map,json=intIntMap,proto3,oneof"` } type PBFeature_IntLongMap struct { IntLongMap *IntLongMap `protobuf:"bytes,18,opt,name=int_long_map,json=intLongMap,proto3,oneof"` } type PBFeature_IntFloatMap struct { IntFloatMap *IntFloatMap `protobuf:"bytes,19,opt,name=int_float_map,json=intFloatMap,proto3,oneof"` } type PBFeature_IntDoubleMap struct { IntDoubleMap *IntDoubleMap `protobuf:"bytes,20,opt,name=int_double_map,json=intDoubleMap,proto3,oneof"` } type PBFeature_IntList struct { IntList *IntList `protobuf:"bytes,21,opt,name=int_list,json=intList,proto3,oneof"` } type PBFeature_LongList struct { LongList *LongList `protobuf:"bytes,22,opt,name=long_list,json=longList,proto3,oneof"` } type PBFeature_StringList struct { StringList *StringList `protobuf:"bytes,23,opt,name=string_list,json=stringList,proto3,oneof"` } type PBFeature_FloatList struct { FloatList *FloatList `protobuf:"bytes,24,opt,name=float_list,json=floatList,proto3,oneof"` } type PBFeature_DoubleList struct { DoubleList *DoubleList `protobuf:"bytes,25,opt,name=double_list,json=doubleList,proto3,oneof"` } type PBFeature_IntLists struct { IntLists *IntLists `protobuf:"bytes,26,opt,name=int_lists,json=intLists,proto3,oneof"` } type PBFeature_LongLists struct { LongLists *LongLists `protobuf:"bytes,27,opt,name=long_lists,json=longLists,proto3,oneof"` } type PBFeature_StringLists struct { StringLists *StringLists `protobuf:"bytes,28,opt,name=string_lists,json=stringLists,proto3,oneof"` } type PBFeature_FloatLists struct { FloatLists *FloatLists `protobuf:"bytes,29,opt,name=float_lists,json=floatLists,proto3,oneof"` } type PBFeature_DoubleLists struct { DoubleLists *DoubleLists `protobuf:"bytes,30,opt,name=double_lists,json=doubleLists,proto3,oneof"` } func (*PBFeature_IntFeature) isPBFeature_Value() {} func (*PBFeature_LongFeature) isPBFeature_Value() {} func (*PBFeature_StringFeature) isPBFeature_Value() {} func (*PBFeature_FloatFeature) isPBFeature_Value() {} func (*PBFeature_DoubleFeature) isPBFeature_Value() {} func (*PBFeature_LongStringMap) isPBFeature_Value() {} func (*PBFeature_LongIntMap) isPBFeature_Value() {} func (*PBFeature_LongLongMap) isPBFeature_Value() {} func (*PBFeature_LongFloatMap) isPBFeature_Value() {} func (*PBFeature_LongDoubleMap) isPBFeature_Value() {} func (*PBFeature_StringStringMap) isPBFeature_Value() {} func (*PBFeature_StringIntMap) isPBFeature_Value() {} func (*PBFeature_StringLongMap) isPBFeature_Value() {} func (*PBFeature_StringFloatMap) isPBFeature_Value() {} func (*PBFeature_StringDoubleMap) isPBFeature_Value() {} func (*PBFeature_IntStringMap) isPBFeature_Value() {} func (*PBFeature_IntIntMap) isPBFeature_Value() {} func (*PBFeature_IntLongMap) isPBFeature_Value() {} func (*PBFeature_IntFloatMap) isPBFeature_Value() {} func (*PBFeature_IntDoubleMap) isPBFeature_Value() {} func (*PBFeature_IntList) isPBFeature_Value() {} func (*PBFeature_LongList) isPBFeature_Value() {} func (*PBFeature_StringList) isPBFeature_Value() {} func (*PBFeature_FloatList) isPBFeature_Value() {} func (*PBFeature_DoubleList) isPBFeature_Value() {} func (*PBFeature_IntLists) isPBFeature_Value() {} func (*PBFeature_LongLists) isPBFeature_Value() {} func (*PBFeature_StringLists) isPBFeature_Value() {} func (*PBFeature_FloatLists) isPBFeature_Value() {} func (*PBFeature_DoubleLists) isPBFeature_Value() {} // PBRequest specifies the request for aggregator type PBRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // debug mode DebugLevel int32 `protobuf:"varint,1,opt,name=debug_level,json=debugLevel,proto3" json:"debug_level,omitempty"` // user features UserFeatures map[string]*PBFeature `protobuf:"bytes,2,rep,name=user_features,json=userFeatures,proto3" json:"user_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // item ids ItemIds []string `protobuf:"bytes,3,rep,name=item_ids,json=itemIds,proto3" json:"item_ids,omitempty"` // context features for each item ContextFeatures map[string]*ContextFeatures `protobuf:"bytes,4,rep,name=context_features,json=contextFeatures,proto3" json:"context_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // user realtime embedding return num FaissNeighNum int32 `protobuf:"varint,5,opt,name=faiss_neigh_num,json=faissNeighNum,proto3" json:"faiss_neigh_num,omitempty"` // item features for each item, key is item input name ItemFeatures map[string]*ContextFeatures `protobuf:"bytes,6,rep,name=item_features,json=itemFeatures,proto3" json:"item_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *PBRequest) Reset() { *x = PBRequest{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PBRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PBRequest) ProtoMessage() {} func (x *PBRequest) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 PBRequest.ProtoReflect.Descriptor instead. func (*PBRequest) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{29} } func (x *PBRequest) GetDebugLevel() int32 { if x != nil { return x.DebugLevel } return 0 } func (x *PBRequest) GetUserFeatures() map[string]*PBFeature { if x != nil { return x.UserFeatures } return nil } func (x *PBRequest) GetItemIds() []string { if x != nil { return x.ItemIds } return nil } func (x *PBRequest) GetContextFeatures() map[string]*ContextFeatures { if x != nil { return x.ContextFeatures } return nil } func (x *PBRequest) GetFaissNeighNum() int32 { if x != nil { return x.FaissNeighNum } return 0 } func (x *PBRequest) GetItemFeatures() map[string]*ContextFeatures { if x != nil { return x.ItemFeatures } return nil } // return results type Results struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Scores []float64 `protobuf:"fixed64,1,rep,packed,name=scores,proto3" json:"scores,omitempty"` } func (x *Results) Reset() { *x = Results{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Results) String() string { return protoimpl.X.MessageStringOf(x) } func (*Results) ProtoMessage() {} func (x *Results) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 Results.ProtoReflect.Descriptor instead. func (*Results) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{30} } func (x *Results) GetScores() []float64 { if x != nil { return x.Scores } return nil } // PBResponse specifies the response for aggregator type PBResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // results Results map[string]*Results `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // item features ItemFeatures map[string]string `protobuf:"bytes,2,rep,name=item_features,json=itemFeatures,proto3" json:"item_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // generate features GenerateFeatures map[string]string `protobuf:"bytes,3,rep,name=generate_features,json=generateFeatures,proto3" json:"generate_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // context features ContextFeatures map[string]*ContextFeatures `protobuf:"bytes,4,rep,name=context_features,json=contextFeatures,proto3" json:"context_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` ErrorMsg string `protobuf:"bytes,5,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` StatusCode StatusCode `protobuf:"varint,6,opt,name=status_code,json=statusCode,proto3,enum=easyrec.StatusCode" json:"status_code,omitempty"` // item ids ItemIds []string `protobuf:"bytes,7,rep,name=item_ids,json=itemIds,proto3" json:"item_ids,omitempty"` Outputs []string `protobuf:"bytes,8,rep,name=outputs,proto3" json:"outputs,omitempty"` // all fg input features RawFeatures map[string]string `protobuf:"bytes,9,rep,name=raw_features,json=rawFeatures,proto3" json:"raw_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` TfOutputs map[string]*ArrayProto `protobuf:"bytes,10,rep,name=tf_outputs,json=tfOutputs,proto3" json:"tf_outputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *PBResponse) Reset() { *x = PBResponse{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PBResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PBResponse) ProtoMessage() {} func (x *PBResponse) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 PBResponse.ProtoReflect.Descriptor instead. func (*PBResponse) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{31} } func (x *PBResponse) GetResults() map[string]*Results { if x != nil { return x.Results } return nil } func (x *PBResponse) GetItemFeatures() map[string]string { if x != nil { return x.ItemFeatures } return nil } func (x *PBResponse) GetGenerateFeatures() map[string]string { if x != nil { return x.GenerateFeatures } return nil } func (x *PBResponse) GetContextFeatures() map[string]*ContextFeatures { if x != nil { return x.ContextFeatures } return nil } func (x *PBResponse) GetErrorMsg() string { if x != nil { return x.ErrorMsg } return "" } func (x *PBResponse) GetStatusCode() StatusCode { if x != nil { return x.StatusCode } return StatusCode_OK } func (x *PBResponse) GetItemIds() []string { if x != nil { return x.ItemIds } return nil } func (x *PBResponse) GetOutputs() []string { if x != nil { return x.Outputs } return nil } func (x *PBResponse) GetRawFeatures() map[string]string { if x != nil { return x.RawFeatures } return nil } func (x *PBResponse) GetTfOutputs() map[string]*ArrayProto { if x != nil { return x.TfOutputs } return nil } // TorchRecPBResponse specifies the response for aggregator type TorchRecPBResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // torch output tensors MapOutputs map[string]*ArrayProto `protobuf:"bytes,1,rep,name=map_outputs,json=mapOutputs,proto3" json:"map_outputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // fg ouput features GenerateFeatures map[string]string `protobuf:"bytes,2,rep,name=generate_features,json=generateFeatures,proto3" json:"generate_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // all fg input features RawFeatures map[string]string `protobuf:"bytes,3,rep,name=raw_features,json=rawFeatures,proto3" json:"raw_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // item ids ItemIds []string `protobuf:"bytes,4,rep,name=item_ids,json=itemIds,proto3" json:"item_ids,omitempty"` } func (x *TorchRecPBResponse) Reset() { *x = TorchRecPBResponse{} if protoimpl.UnsafeEnabled { mi := &file_easyrec_predict_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TorchRecPBResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*TorchRecPBResponse) ProtoMessage() {} func (x *TorchRecPBResponse) ProtoReflect() protoreflect.Message { mi := &file_easyrec_predict_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 TorchRecPBResponse.ProtoReflect.Descriptor instead. func (*TorchRecPBResponse) Descriptor() ([]byte, []int) { return file_easyrec_predict_proto_rawDescGZIP(), []int{32} } func (x *TorchRecPBResponse) GetMapOutputs() map[string]*ArrayProto { if x != nil { return x.MapOutputs } return nil } func (x *TorchRecPBResponse) GetGenerateFeatures() map[string]string { if x != nil { return x.GenerateFeatures } return nil } func (x *TorchRecPBResponse) GetRawFeatures() map[string]string { if x != nil { return x.RawFeatures } return nil } func (x *TorchRecPBResponse) GetItemIds() []string { if x != nil { return x.ItemIds } return nil } var File_easyrec_predict_proto protoreflect.FileDescriptor var file_easyrec_predict_proto_rawDesc = []byte{ 0x0a, 0x15, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x22, 0x22, 0x0a, 0x0a, 0x41, 0x72, 0x72, 0x61, 0x79, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x03, 0x64, 0x69, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x42, 0x02, 0x10, 0x01, 0x52, 0x03, 0x64, 0x69, 0x6d, 0x22, 0xb0, 0x02, 0x0a, 0x0a, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2c, 0x0a, 0x05, 0x64, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x64, 0x74, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x53, 0x68, 0x61, 0x70, 0x65, 0x52, 0x0a, 0x61, 0x72, 0x72, 0x61, 0x79, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, 0x08, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0a, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x01, 0x42, 0x02, 0x10, 0x01, 0x52, 0x09, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x42, 0x02, 0x10, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x08, 0x42, 0x02, 0x10, 0x01, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x22, 0x41, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x0d, 0x4c, 0x6f, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x41, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x89, 0x01, 0x0a, 0x0a, 0x4c, 0x6f, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x3e, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x01, 0x0a, 0x0b, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x3f, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x0c, 0x4c, 0x6f, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x40, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8f, 0x01, 0x0a, 0x0d, 0x4c, 0x6f, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x41, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x93, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x43, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x40, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8f, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x41, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x42, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x93, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x43, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x40, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x87, 0x01, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x89, 0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x3e, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x3f, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x40, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x25, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x08, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x09, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x28, 0x0a, 0x0a, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x28, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x22, 0x36, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x22, 0x38, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x22, 0x38, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x22, 0xa7, 0x0d, 0x0a, 0x09, 0x50, 0x42, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x6f, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x37, 0x0a, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x3a, 0x0a, 0x0d, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x0e, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x40, 0x0a, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x46, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x40, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x43, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x46, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x34, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x37, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x3a, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x2d, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xe7, 0x04, 0x0a, 0x09, 0x50, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x49, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x52, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x73, 0x73, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x73, 0x73, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x49, 0x0a, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x53, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5c, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x25, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x42, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x9a, 0x08, 0x0a, 0x0a, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x72, 0x61, 0x77, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x77, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x72, 0x61, 0x77, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x66, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x66, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x74, 0x66, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x1a, 0x4c, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5c, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x52, 0x61, 0x77, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a, 0x0e, 0x54, 0x66, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 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, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x87, 0x04, 0x0a, 0x12, 0x54, 0x6f, 0x72, 0x63, 0x68, 0x52, 0x65, 0x63, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x54, 0x6f, 0x72, 0x63, 0x68, 0x52, 0x65, 0x63, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x5e, 0x0a, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x54, 0x6f, 0x72, 0x63, 0x68, 0x52, 0x65, 0x63, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x72, 0x61, 0x77, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x54, 0x6f, 0x72, 0x63, 0x68, 0x52, 0x65, 0x63, 0x50, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x77, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x72, 0x61, 0x77, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x1a, 0x52, 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 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, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x52, 0x61, 0x77, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0xdb, 0x02, 0x0a, 0x0d, 0x41, 0x72, 0x72, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x54, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x54, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x36, 0x34, 0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x54, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x0a, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x54, 0x5f, 0x51, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x0b, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x54, 0x5f, 0x51, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x0c, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x54, 0x5f, 0x51, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x54, 0x5f, 0x42, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x31, 0x36, 0x10, 0x0e, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x54, 0x5f, 0x51, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x0f, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x54, 0x5f, 0x51, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x10, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x54, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x11, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x31, 0x32, 0x38, 0x10, 0x12, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x54, 0x5f, 0x48, 0x41, 0x4c, 0x46, 0x10, 0x13, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x14, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x54, 0x5f, 0x56, 0x41, 0x52, 0x49, 0x41, 0x4e, 0x54, 0x10, 0x15, 0x2a, 0x34, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x42, 0x3e, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6c, 0x69, 0x62, 0x61, 0x62, 0x61, 0x2e, 0x70, 0x61, 0x69, 0x72, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x0d, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x09, 0x2e, 0x3b, 0x65, 0x61, 0x73, 0x79, 0x72, 0x65, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_easyrec_predict_proto_rawDescOnce sync.Once file_easyrec_predict_proto_rawDescData = file_easyrec_predict_proto_rawDesc ) func file_easyrec_predict_proto_rawDescGZIP() []byte { file_easyrec_predict_proto_rawDescOnce.Do(func() { file_easyrec_predict_proto_rawDescData = protoimpl.X.CompressGZIP(file_easyrec_predict_proto_rawDescData) }) return file_easyrec_predict_proto_rawDescData } var file_easyrec_predict_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_easyrec_predict_proto_msgTypes = make([]protoimpl.MessageInfo, 60) var file_easyrec_predict_proto_goTypes = []interface{}{ (ArrayDataType)(0), // 0: easyrec.ArrayDataType (StatusCode)(0), // 1: easyrec.StatusCode (*ArrayShape)(nil), // 2: easyrec.ArrayShape (*ArrayProto)(nil), // 3: easyrec.ArrayProto (*ContextFeatures)(nil), // 4: easyrec.ContextFeatures (*LongStringMap)(nil), // 5: easyrec.LongStringMap (*LongIntMap)(nil), // 6: easyrec.LongIntMap (*LongLongMap)(nil), // 7: easyrec.LongLongMap (*LongFloatMap)(nil), // 8: easyrec.LongFloatMap (*LongDoubleMap)(nil), // 9: easyrec.LongDoubleMap (*StringStringMap)(nil), // 10: easyrec.StringStringMap (*StringIntMap)(nil), // 11: easyrec.StringIntMap (*StringLongMap)(nil), // 12: easyrec.StringLongMap (*StringFloatMap)(nil), // 13: easyrec.StringFloatMap (*StringDoubleMap)(nil), // 14: easyrec.StringDoubleMap (*IntStringMap)(nil), // 15: easyrec.IntStringMap (*IntIntMap)(nil), // 16: easyrec.IntIntMap (*IntLongMap)(nil), // 17: easyrec.IntLongMap (*IntFloatMap)(nil), // 18: easyrec.IntFloatMap (*IntDoubleMap)(nil), // 19: easyrec.IntDoubleMap (*IntList)(nil), // 20: easyrec.IntList (*LongList)(nil), // 21: easyrec.LongList (*FloatList)(nil), // 22: easyrec.FloatList (*DoubleList)(nil), // 23: easyrec.DoubleList (*StringList)(nil), // 24: easyrec.StringList (*IntLists)(nil), // 25: easyrec.IntLists (*LongLists)(nil), // 26: easyrec.LongLists (*FloatLists)(nil), // 27: easyrec.FloatLists (*DoubleLists)(nil), // 28: easyrec.DoubleLists (*StringLists)(nil), // 29: easyrec.StringLists (*PBFeature)(nil), // 30: easyrec.PBFeature (*PBRequest)(nil), // 31: easyrec.PBRequest (*Results)(nil), // 32: easyrec.Results (*PBResponse)(nil), // 33: easyrec.PBResponse (*TorchRecPBResponse)(nil), // 34: easyrec.TorchRecPBResponse nil, // 35: easyrec.LongStringMap.MapFieldEntry nil, // 36: easyrec.LongIntMap.MapFieldEntry nil, // 37: easyrec.LongLongMap.MapFieldEntry nil, // 38: easyrec.LongFloatMap.MapFieldEntry nil, // 39: easyrec.LongDoubleMap.MapFieldEntry nil, // 40: easyrec.StringStringMap.MapFieldEntry nil, // 41: easyrec.StringIntMap.MapFieldEntry nil, // 42: easyrec.StringLongMap.MapFieldEntry nil, // 43: easyrec.StringFloatMap.MapFieldEntry nil, // 44: easyrec.StringDoubleMap.MapFieldEntry nil, // 45: easyrec.IntStringMap.MapFieldEntry nil, // 46: easyrec.IntIntMap.MapFieldEntry nil, // 47: easyrec.IntLongMap.MapFieldEntry nil, // 48: easyrec.IntFloatMap.MapFieldEntry nil, // 49: easyrec.IntDoubleMap.MapFieldEntry nil, // 50: easyrec.PBRequest.UserFeaturesEntry nil, // 51: easyrec.PBRequest.ContextFeaturesEntry nil, // 52: easyrec.PBRequest.ItemFeaturesEntry nil, // 53: easyrec.PBResponse.ResultsEntry nil, // 54: easyrec.PBResponse.ItemFeaturesEntry nil, // 55: easyrec.PBResponse.GenerateFeaturesEntry nil, // 56: easyrec.PBResponse.ContextFeaturesEntry nil, // 57: easyrec.PBResponse.RawFeaturesEntry nil, // 58: easyrec.PBResponse.TfOutputsEntry nil, // 59: easyrec.TorchRecPBResponse.MapOutputsEntry nil, // 60: easyrec.TorchRecPBResponse.GenerateFeaturesEntry nil, // 61: easyrec.TorchRecPBResponse.RawFeaturesEntry } var file_easyrec_predict_proto_depIdxs = []int32{ 0, // 0: easyrec.ArrayProto.dtype:type_name -> easyrec.ArrayDataType 2, // 1: easyrec.ArrayProto.array_shape:type_name -> easyrec.ArrayShape 30, // 2: easyrec.ContextFeatures.features:type_name -> easyrec.PBFeature 35, // 3: easyrec.LongStringMap.map_field:type_name -> easyrec.LongStringMap.MapFieldEntry 36, // 4: easyrec.LongIntMap.map_field:type_name -> easyrec.LongIntMap.MapFieldEntry 37, // 5: easyrec.LongLongMap.map_field:type_name -> easyrec.LongLongMap.MapFieldEntry 38, // 6: easyrec.LongFloatMap.map_field:type_name -> easyrec.LongFloatMap.MapFieldEntry 39, // 7: easyrec.LongDoubleMap.map_field:type_name -> easyrec.LongDoubleMap.MapFieldEntry 40, // 8: easyrec.StringStringMap.map_field:type_name -> easyrec.StringStringMap.MapFieldEntry 41, // 9: easyrec.StringIntMap.map_field:type_name -> easyrec.StringIntMap.MapFieldEntry 42, // 10: easyrec.StringLongMap.map_field:type_name -> easyrec.StringLongMap.MapFieldEntry 43, // 11: easyrec.StringFloatMap.map_field:type_name -> easyrec.StringFloatMap.MapFieldEntry 44, // 12: easyrec.StringDoubleMap.map_field:type_name -> easyrec.StringDoubleMap.MapFieldEntry 45, // 13: easyrec.IntStringMap.map_field:type_name -> easyrec.IntStringMap.MapFieldEntry 46, // 14: easyrec.IntIntMap.map_field:type_name -> easyrec.IntIntMap.MapFieldEntry 47, // 15: easyrec.IntLongMap.map_field:type_name -> easyrec.IntLongMap.MapFieldEntry 48, // 16: easyrec.IntFloatMap.map_field:type_name -> easyrec.IntFloatMap.MapFieldEntry 49, // 17: easyrec.IntDoubleMap.map_field:type_name -> easyrec.IntDoubleMap.MapFieldEntry 20, // 18: easyrec.IntLists.lists:type_name -> easyrec.IntList 21, // 19: easyrec.LongLists.lists:type_name -> easyrec.LongList 22, // 20: easyrec.FloatLists.lists:type_name -> easyrec.FloatList 23, // 21: easyrec.DoubleLists.lists:type_name -> easyrec.DoubleList 24, // 22: easyrec.StringLists.lists:type_name -> easyrec.StringList 5, // 23: easyrec.PBFeature.long_string_map:type_name -> easyrec.LongStringMap 6, // 24: easyrec.PBFeature.long_int_map:type_name -> easyrec.LongIntMap 7, // 25: easyrec.PBFeature.long_long_map:type_name -> easyrec.LongLongMap 8, // 26: easyrec.PBFeature.long_float_map:type_name -> easyrec.LongFloatMap 9, // 27: easyrec.PBFeature.long_double_map:type_name -> easyrec.LongDoubleMap 10, // 28: easyrec.PBFeature.string_string_map:type_name -> easyrec.StringStringMap 11, // 29: easyrec.PBFeature.string_int_map:type_name -> easyrec.StringIntMap 12, // 30: easyrec.PBFeature.string_long_map:type_name -> easyrec.StringLongMap 13, // 31: easyrec.PBFeature.string_float_map:type_name -> easyrec.StringFloatMap 14, // 32: easyrec.PBFeature.string_double_map:type_name -> easyrec.StringDoubleMap 15, // 33: easyrec.PBFeature.int_string_map:type_name -> easyrec.IntStringMap 16, // 34: easyrec.PBFeature.int_int_map:type_name -> easyrec.IntIntMap 17, // 35: easyrec.PBFeature.int_long_map:type_name -> easyrec.IntLongMap 18, // 36: easyrec.PBFeature.int_float_map:type_name -> easyrec.IntFloatMap 19, // 37: easyrec.PBFeature.int_double_map:type_name -> easyrec.IntDoubleMap 20, // 38: easyrec.PBFeature.int_list:type_name -> easyrec.IntList 21, // 39: easyrec.PBFeature.long_list:type_name -> easyrec.LongList 24, // 40: easyrec.PBFeature.string_list:type_name -> easyrec.StringList 22, // 41: easyrec.PBFeature.float_list:type_name -> easyrec.FloatList 23, // 42: easyrec.PBFeature.double_list:type_name -> easyrec.DoubleList 25, // 43: easyrec.PBFeature.int_lists:type_name -> easyrec.IntLists 26, // 44: easyrec.PBFeature.long_lists:type_name -> easyrec.LongLists 29, // 45: easyrec.PBFeature.string_lists:type_name -> easyrec.StringLists 27, // 46: easyrec.PBFeature.float_lists:type_name -> easyrec.FloatLists 28, // 47: easyrec.PBFeature.double_lists:type_name -> easyrec.DoubleLists 50, // 48: easyrec.PBRequest.user_features:type_name -> easyrec.PBRequest.UserFeaturesEntry 51, // 49: easyrec.PBRequest.context_features:type_name -> easyrec.PBRequest.ContextFeaturesEntry 52, // 50: easyrec.PBRequest.item_features:type_name -> easyrec.PBRequest.ItemFeaturesEntry 53, // 51: easyrec.PBResponse.results:type_name -> easyrec.PBResponse.ResultsEntry 54, // 52: easyrec.PBResponse.item_features:type_name -> easyrec.PBResponse.ItemFeaturesEntry 55, // 53: easyrec.PBResponse.generate_features:type_name -> easyrec.PBResponse.GenerateFeaturesEntry 56, // 54: easyrec.PBResponse.context_features:type_name -> easyrec.PBResponse.ContextFeaturesEntry 1, // 55: easyrec.PBResponse.status_code:type_name -> easyrec.StatusCode 57, // 56: easyrec.PBResponse.raw_features:type_name -> easyrec.PBResponse.RawFeaturesEntry 58, // 57: easyrec.PBResponse.tf_outputs:type_name -> easyrec.PBResponse.TfOutputsEntry 59, // 58: easyrec.TorchRecPBResponse.map_outputs:type_name -> easyrec.TorchRecPBResponse.MapOutputsEntry 60, // 59: easyrec.TorchRecPBResponse.generate_features:type_name -> easyrec.TorchRecPBResponse.GenerateFeaturesEntry 61, // 60: easyrec.TorchRecPBResponse.raw_features:type_name -> easyrec.TorchRecPBResponse.RawFeaturesEntry 30, // 61: easyrec.PBRequest.UserFeaturesEntry.value:type_name -> easyrec.PBFeature 4, // 62: easyrec.PBRequest.ContextFeaturesEntry.value:type_name -> easyrec.ContextFeatures 4, // 63: easyrec.PBRequest.ItemFeaturesEntry.value:type_name -> easyrec.ContextFeatures 32, // 64: easyrec.PBResponse.ResultsEntry.value:type_name -> easyrec.Results 4, // 65: easyrec.PBResponse.ContextFeaturesEntry.value:type_name -> easyrec.ContextFeatures 3, // 66: easyrec.PBResponse.TfOutputsEntry.value:type_name -> easyrec.ArrayProto 3, // 67: easyrec.TorchRecPBResponse.MapOutputsEntry.value:type_name -> easyrec.ArrayProto 68, // [68:68] is the sub-list for method output_type 68, // [68:68] is the sub-list for method input_type 68, // [68:68] is the sub-list for extension type_name 68, // [68:68] is the sub-list for extension extendee 0, // [0:68] is the sub-list for field type_name } func init() { file_easyrec_predict_proto_init() } func file_easyrec_predict_proto_init() { if File_easyrec_predict_proto != nil { return } if !protoimpl.UnsafeEnabled { file_easyrec_predict_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArrayShape); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArrayProto); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContextFeatures); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LongStringMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LongIntMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LongLongMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LongFloatMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LongDoubleMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StringStringMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StringIntMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StringLongMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StringFloatMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StringDoubleMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IntStringMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IntIntMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IntLongMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IntFloatMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IntDoubleMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IntList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LongList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FloatList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DoubleList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StringList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IntLists); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LongLists); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FloatLists); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DoubleLists); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StringLists); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PBFeature); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PBRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Results); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PBResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_easyrec_predict_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TorchRecPBResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_easyrec_predict_proto_msgTypes[28].OneofWrappers = []interface{}{ (*PBFeature_IntFeature)(nil), (*PBFeature_LongFeature)(nil), (*PBFeature_StringFeature)(nil), (*PBFeature_FloatFeature)(nil), (*PBFeature_DoubleFeature)(nil), (*PBFeature_LongStringMap)(nil), (*PBFeature_LongIntMap)(nil), (*PBFeature_LongLongMap)(nil), (*PBFeature_LongFloatMap)(nil), (*PBFeature_LongDoubleMap)(nil), (*PBFeature_StringStringMap)(nil), (*PBFeature_StringIntMap)(nil), (*PBFeature_StringLongMap)(nil), (*PBFeature_StringFloatMap)(nil), (*PBFeature_StringDoubleMap)(nil), (*PBFeature_IntStringMap)(nil), (*PBFeature_IntIntMap)(nil), (*PBFeature_IntLongMap)(nil), (*PBFeature_IntFloatMap)(nil), (*PBFeature_IntDoubleMap)(nil), (*PBFeature_IntList)(nil), (*PBFeature_LongList)(nil), (*PBFeature_StringList)(nil), (*PBFeature_FloatList)(nil), (*PBFeature_DoubleList)(nil), (*PBFeature_IntLists)(nil), (*PBFeature_LongLists)(nil), (*PBFeature_StringLists)(nil), (*PBFeature_FloatLists)(nil), (*PBFeature_DoubleLists)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_easyrec_predict_proto_rawDesc, NumEnums: 2, NumMessages: 60, NumExtensions: 0, NumServices: 0, }, GoTypes: file_easyrec_predict_proto_goTypes, DependencyIndexes: file_easyrec_predict_proto_depIdxs, EnumInfos: file_easyrec_predict_proto_enumTypes, MessageInfos: file_easyrec_predict_proto_msgTypes, }.Build() File_easyrec_predict_proto = out.File file_easyrec_predict_proto_rawDesc = nil file_easyrec_predict_proto_goTypes = nil file_easyrec_predict_proto_depIdxs = nil }