diff --git a/app/cloudslam/v1/cloud_slam.pb.go b/app/cloudslam/v1/cloud_slam.pb.go index 5800adb14..8d23538fe 100644 --- a/app/cloudslam/v1/cloud_slam.pb.go +++ b/app/cloudslam/v1/cloud_slam.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: app/cloudslam/v1/cloud_slam.proto diff --git a/app/data/v1/data.pb.go b/app/data/v1/data.pb.go index 12d27fac0..69aa6bd4b 100644 --- a/app/data/v1/data.pb.go +++ b/app/data/v1/data.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: app/data/v1/data.proto @@ -828,6 +828,219 @@ func (x *TabularData) GetTimeReceived() *timestamppb.Timestamp { return nil } +// TabularDataBySQLRequest requests tabular data using a SQL query. +type TabularDataBySQLRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` + // sql_query accepts any valid SQL SELECT statement. Tabular data is held in a database + // called "sensorData" and a table called readings, so queries should select from "readings" + // or "sensorData.readings". + SqlQuery string `protobuf:"bytes,2,opt,name=sql_query,json=sqlQuery,proto3" json:"sql_query,omitempty"` +} + +func (x *TabularDataBySQLRequest) Reset() { + *x = TabularDataBySQLRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_app_data_v1_data_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TabularDataBySQLRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TabularDataBySQLRequest) ProtoMessage() {} + +func (x *TabularDataBySQLRequest) ProtoReflect() protoreflect.Message { + mi := &file_app_data_v1_data_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 TabularDataBySQLRequest.ProtoReflect.Descriptor instead. +func (*TabularDataBySQLRequest) Descriptor() ([]byte, []int) { + return file_app_data_v1_data_proto_rawDescGZIP(), []int{8} +} + +func (x *TabularDataBySQLRequest) GetOrganizationId() string { + if x != nil { + return x.OrganizationId + } + return "" +} + +func (x *TabularDataBySQLRequest) GetSqlQuery() string { + if x != nil { + return x.SqlQuery + } + return "" +} + +// TabularDataBySQLResponse provides unified tabular data and metadata, queried with SQL. +type TabularDataBySQLResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*structpb.Struct `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *TabularDataBySQLResponse) Reset() { + *x = TabularDataBySQLResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_app_data_v1_data_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TabularDataBySQLResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TabularDataBySQLResponse) ProtoMessage() {} + +func (x *TabularDataBySQLResponse) ProtoReflect() protoreflect.Message { + mi := &file_app_data_v1_data_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 TabularDataBySQLResponse.ProtoReflect.Descriptor instead. +func (*TabularDataBySQLResponse) Descriptor() ([]byte, []int) { + return file_app_data_v1_data_proto_rawDescGZIP(), []int{9} +} + +func (x *TabularDataBySQLResponse) GetData() []*structpb.Struct { + if x != nil { + return x.Data + } + return nil +} + +// TabularDataByMQLRequest requests tabular data using an MQL query. +type TabularDataByMQLRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` + // mql_query accepts a MongoDB aggregation pipeline, to be run on the "sensorData.readings" + // namespace, which holds the Viam organization's tabular data. + MqlQuery string `protobuf:"bytes,2,opt,name=mql_query,json=mqlQuery,proto3" json:"mql_query,omitempty"` +} + +func (x *TabularDataByMQLRequest) Reset() { + *x = TabularDataByMQLRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_app_data_v1_data_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TabularDataByMQLRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TabularDataByMQLRequest) ProtoMessage() {} + +func (x *TabularDataByMQLRequest) ProtoReflect() protoreflect.Message { + mi := &file_app_data_v1_data_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 TabularDataByMQLRequest.ProtoReflect.Descriptor instead. +func (*TabularDataByMQLRequest) Descriptor() ([]byte, []int) { + return file_app_data_v1_data_proto_rawDescGZIP(), []int{10} +} + +func (x *TabularDataByMQLRequest) GetOrganizationId() string { + if x != nil { + return x.OrganizationId + } + return "" +} + +func (x *TabularDataByMQLRequest) GetMqlQuery() string { + if x != nil { + return x.MqlQuery + } + return "" +} + +// TabularDataByMQLResponse provides unified tabular data and metadata, queried with MQL. +type TabularDataByMQLResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*structpb.Struct `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *TabularDataByMQLResponse) Reset() { + *x = TabularDataByMQLResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_app_data_v1_data_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TabularDataByMQLResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TabularDataByMQLResponse) ProtoMessage() {} + +func (x *TabularDataByMQLResponse) ProtoReflect() protoreflect.Message { + mi := &file_app_data_v1_data_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 TabularDataByMQLResponse.ProtoReflect.Descriptor instead. +func (*TabularDataByMQLResponse) Descriptor() ([]byte, []int) { + return file_app_data_v1_data_proto_rawDescGZIP(), []int{11} +} + +func (x *TabularDataByMQLResponse) GetData() []*structpb.Struct { + if x != nil { + return x.Data + } + return nil +} + // BinaryData contains data and metadata associated with binary data. type BinaryData struct { state protoimpl.MessageState @@ -841,7 +1054,7 @@ type BinaryData struct { func (x *BinaryData) Reset() { *x = BinaryData{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[8] + mi := &file_app_data_v1_data_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -854,7 +1067,7 @@ func (x *BinaryData) String() string { func (*BinaryData) ProtoMessage() {} func (x *BinaryData) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[8] + mi := &file_app_data_v1_data_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -867,7 +1080,7 @@ func (x *BinaryData) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryData.ProtoReflect.Descriptor instead. func (*BinaryData) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{8} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{12} } func (x *BinaryData) GetBinary() []byte { @@ -899,7 +1112,7 @@ type BinaryDataByFilterRequest struct { func (x *BinaryDataByFilterRequest) Reset() { *x = BinaryDataByFilterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[9] + mi := &file_app_data_v1_data_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -912,7 +1125,7 @@ func (x *BinaryDataByFilterRequest) String() string { func (*BinaryDataByFilterRequest) ProtoMessage() {} func (x *BinaryDataByFilterRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[9] + mi := &file_app_data_v1_data_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -925,7 +1138,7 @@ func (x *BinaryDataByFilterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryDataByFilterRequest.ProtoReflect.Descriptor instead. func (*BinaryDataByFilterRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{9} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{13} } func (x *BinaryDataByFilterRequest) GetDataRequest() *DataRequest { @@ -971,7 +1184,7 @@ type BinaryDataByFilterResponse struct { func (x *BinaryDataByFilterResponse) Reset() { *x = BinaryDataByFilterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[10] + mi := &file_app_data_v1_data_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -984,7 +1197,7 @@ func (x *BinaryDataByFilterResponse) String() string { func (*BinaryDataByFilterResponse) ProtoMessage() {} func (x *BinaryDataByFilterResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[10] + mi := &file_app_data_v1_data_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -997,7 +1210,7 @@ func (x *BinaryDataByFilterResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryDataByFilterResponse.ProtoReflect.Descriptor instead. func (*BinaryDataByFilterResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{10} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{14} } func (x *BinaryDataByFilterResponse) GetData() []*BinaryData { @@ -1042,7 +1255,7 @@ type BinaryID struct { func (x *BinaryID) Reset() { *x = BinaryID{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[11] + mi := &file_app_data_v1_data_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1055,7 +1268,7 @@ func (x *BinaryID) String() string { func (*BinaryID) ProtoMessage() {} func (x *BinaryID) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[11] + mi := &file_app_data_v1_data_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1068,7 +1281,7 @@ func (x *BinaryID) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryID.ProtoReflect.Descriptor instead. func (*BinaryID) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{11} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{15} } func (x *BinaryID) GetFileId() string { @@ -1105,7 +1318,7 @@ type BinaryDataByIDsRequest struct { func (x *BinaryDataByIDsRequest) Reset() { *x = BinaryDataByIDsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[12] + mi := &file_app_data_v1_data_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1118,7 +1331,7 @@ func (x *BinaryDataByIDsRequest) String() string { func (*BinaryDataByIDsRequest) ProtoMessage() {} func (x *BinaryDataByIDsRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[12] + mi := &file_app_data_v1_data_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1131,7 +1344,7 @@ func (x *BinaryDataByIDsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryDataByIDsRequest.ProtoReflect.Descriptor instead. func (*BinaryDataByIDsRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{12} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{16} } func (x *BinaryDataByIDsRequest) GetIncludeBinary() bool { @@ -1161,7 +1374,7 @@ type BinaryDataByIDsResponse struct { func (x *BinaryDataByIDsResponse) Reset() { *x = BinaryDataByIDsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[13] + mi := &file_app_data_v1_data_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1174,7 +1387,7 @@ func (x *BinaryDataByIDsResponse) String() string { func (*BinaryDataByIDsResponse) ProtoMessage() {} func (x *BinaryDataByIDsResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[13] + mi := &file_app_data_v1_data_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1187,7 +1400,7 @@ func (x *BinaryDataByIDsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryDataByIDsResponse.ProtoReflect.Descriptor instead. func (*BinaryDataByIDsResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{13} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{17} } func (x *BinaryDataByIDsResponse) GetData() []*BinaryData { @@ -1222,7 +1435,7 @@ type BoundingBox struct { func (x *BoundingBox) Reset() { *x = BoundingBox{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[14] + mi := &file_app_data_v1_data_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1235,7 +1448,7 @@ func (x *BoundingBox) String() string { func (*BoundingBox) ProtoMessage() {} func (x *BoundingBox) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[14] + mi := &file_app_data_v1_data_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1248,7 +1461,7 @@ func (x *BoundingBox) ProtoReflect() protoreflect.Message { // Deprecated: Use BoundingBox.ProtoReflect.Descriptor instead. func (*BoundingBox) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{14} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{18} } func (x *BoundingBox) GetId() string { @@ -1305,7 +1518,7 @@ type Annotations struct { func (x *Annotations) Reset() { *x = Annotations{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[15] + mi := &file_app_data_v1_data_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1318,7 +1531,7 @@ func (x *Annotations) String() string { func (*Annotations) ProtoMessage() {} func (x *Annotations) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[15] + mi := &file_app_data_v1_data_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1331,7 +1544,7 @@ func (x *Annotations) ProtoReflect() protoreflect.Message { // Deprecated: Use Annotations.ProtoReflect.Descriptor instead. func (*Annotations) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{15} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{19} } func (x *Annotations) GetBboxes() []*BoundingBox { @@ -1361,7 +1574,7 @@ type BinaryMetadata struct { func (x *BinaryMetadata) Reset() { *x = BinaryMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[16] + mi := &file_app_data_v1_data_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1374,7 +1587,7 @@ func (x *BinaryMetadata) String() string { func (*BinaryMetadata) ProtoMessage() {} func (x *BinaryMetadata) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[16] + mi := &file_app_data_v1_data_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1387,7 +1600,7 @@ func (x *BinaryMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryMetadata.ProtoReflect.Descriptor instead. func (*BinaryMetadata) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{16} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{20} } func (x *BinaryMetadata) GetId() string { @@ -1468,7 +1681,7 @@ type DeleteTabularDataRequest struct { func (x *DeleteTabularDataRequest) Reset() { *x = DeleteTabularDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[17] + mi := &file_app_data_v1_data_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1481,7 +1694,7 @@ func (x *DeleteTabularDataRequest) String() string { func (*DeleteTabularDataRequest) ProtoMessage() {} func (x *DeleteTabularDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[17] + mi := &file_app_data_v1_data_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1494,7 +1707,7 @@ func (x *DeleteTabularDataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTabularDataRequest.ProtoReflect.Descriptor instead. func (*DeleteTabularDataRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{17} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{21} } func (x *DeleteTabularDataRequest) GetOrganizationId() string { @@ -1523,7 +1736,7 @@ type DeleteTabularDataResponse struct { func (x *DeleteTabularDataResponse) Reset() { *x = DeleteTabularDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[18] + mi := &file_app_data_v1_data_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1536,7 +1749,7 @@ func (x *DeleteTabularDataResponse) String() string { func (*DeleteTabularDataResponse) ProtoMessage() {} func (x *DeleteTabularDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[18] + mi := &file_app_data_v1_data_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1549,7 +1762,7 @@ func (x *DeleteTabularDataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTabularDataResponse.ProtoReflect.Descriptor instead. func (*DeleteTabularDataResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{18} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{22} } func (x *DeleteTabularDataResponse) GetDeletedCount() uint64 { @@ -1572,7 +1785,7 @@ type DeleteBinaryDataByFilterRequest struct { func (x *DeleteBinaryDataByFilterRequest) Reset() { *x = DeleteBinaryDataByFilterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[19] + mi := &file_app_data_v1_data_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1585,7 +1798,7 @@ func (x *DeleteBinaryDataByFilterRequest) String() string { func (*DeleteBinaryDataByFilterRequest) ProtoMessage() {} func (x *DeleteBinaryDataByFilterRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[19] + mi := &file_app_data_v1_data_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1598,7 +1811,7 @@ func (x *DeleteBinaryDataByFilterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteBinaryDataByFilterRequest.ProtoReflect.Descriptor instead. func (*DeleteBinaryDataByFilterRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{19} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{23} } func (x *DeleteBinaryDataByFilterRequest) GetFilter() *Filter { @@ -1627,7 +1840,7 @@ type DeleteBinaryDataByFilterResponse struct { func (x *DeleteBinaryDataByFilterResponse) Reset() { *x = DeleteBinaryDataByFilterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[20] + mi := &file_app_data_v1_data_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1640,7 +1853,7 @@ func (x *DeleteBinaryDataByFilterResponse) String() string { func (*DeleteBinaryDataByFilterResponse) ProtoMessage() {} func (x *DeleteBinaryDataByFilterResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[20] + mi := &file_app_data_v1_data_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1653,7 +1866,7 @@ func (x *DeleteBinaryDataByFilterResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteBinaryDataByFilterResponse.ProtoReflect.Descriptor instead. func (*DeleteBinaryDataByFilterResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{20} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{24} } func (x *DeleteBinaryDataByFilterResponse) GetDeletedCount() uint64 { @@ -1675,7 +1888,7 @@ type DeleteBinaryDataByIDsRequest struct { func (x *DeleteBinaryDataByIDsRequest) Reset() { *x = DeleteBinaryDataByIDsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[21] + mi := &file_app_data_v1_data_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1688,7 +1901,7 @@ func (x *DeleteBinaryDataByIDsRequest) String() string { func (*DeleteBinaryDataByIDsRequest) ProtoMessage() {} func (x *DeleteBinaryDataByIDsRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[21] + mi := &file_app_data_v1_data_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1701,7 +1914,7 @@ func (x *DeleteBinaryDataByIDsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteBinaryDataByIDsRequest.ProtoReflect.Descriptor instead. func (*DeleteBinaryDataByIDsRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{21} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{25} } func (x *DeleteBinaryDataByIDsRequest) GetBinaryIds() []*BinaryID { @@ -1723,7 +1936,7 @@ type DeleteBinaryDataByIDsResponse struct { func (x *DeleteBinaryDataByIDsResponse) Reset() { *x = DeleteBinaryDataByIDsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[22] + mi := &file_app_data_v1_data_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1736,7 +1949,7 @@ func (x *DeleteBinaryDataByIDsResponse) String() string { func (*DeleteBinaryDataByIDsResponse) ProtoMessage() {} func (x *DeleteBinaryDataByIDsResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[22] + mi := &file_app_data_v1_data_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1749,7 +1962,7 @@ func (x *DeleteBinaryDataByIDsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteBinaryDataByIDsResponse.ProtoReflect.Descriptor instead. func (*DeleteBinaryDataByIDsResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{22} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{26} } func (x *DeleteBinaryDataByIDsResponse) GetDeletedCount() uint64 { @@ -1772,7 +1985,7 @@ type AddTagsToBinaryDataByIDsRequest struct { func (x *AddTagsToBinaryDataByIDsRequest) Reset() { *x = AddTagsToBinaryDataByIDsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[23] + mi := &file_app_data_v1_data_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1785,7 +1998,7 @@ func (x *AddTagsToBinaryDataByIDsRequest) String() string { func (*AddTagsToBinaryDataByIDsRequest) ProtoMessage() {} func (x *AddTagsToBinaryDataByIDsRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[23] + mi := &file_app_data_v1_data_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1798,7 +2011,7 @@ func (x *AddTagsToBinaryDataByIDsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddTagsToBinaryDataByIDsRequest.ProtoReflect.Descriptor instead. func (*AddTagsToBinaryDataByIDsRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{23} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{27} } func (x *AddTagsToBinaryDataByIDsRequest) GetBinaryIds() []*BinaryID { @@ -1824,7 +2037,7 @@ type AddTagsToBinaryDataByIDsResponse struct { func (x *AddTagsToBinaryDataByIDsResponse) Reset() { *x = AddTagsToBinaryDataByIDsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[24] + mi := &file_app_data_v1_data_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1837,7 +2050,7 @@ func (x *AddTagsToBinaryDataByIDsResponse) String() string { func (*AddTagsToBinaryDataByIDsResponse) ProtoMessage() {} func (x *AddTagsToBinaryDataByIDsResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[24] + mi := &file_app_data_v1_data_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1850,7 +2063,7 @@ func (x *AddTagsToBinaryDataByIDsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddTagsToBinaryDataByIDsResponse.ProtoReflect.Descriptor instead. func (*AddTagsToBinaryDataByIDsResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{24} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{28} } // AddTagsToBinaryDataByFilterRequest requests adding all specified tags to each of the files when a filter is provided. @@ -1866,7 +2079,7 @@ type AddTagsToBinaryDataByFilterRequest struct { func (x *AddTagsToBinaryDataByFilterRequest) Reset() { *x = AddTagsToBinaryDataByFilterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[25] + mi := &file_app_data_v1_data_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1879,7 +2092,7 @@ func (x *AddTagsToBinaryDataByFilterRequest) String() string { func (*AddTagsToBinaryDataByFilterRequest) ProtoMessage() {} func (x *AddTagsToBinaryDataByFilterRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[25] + mi := &file_app_data_v1_data_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1892,7 +2105,7 @@ func (x *AddTagsToBinaryDataByFilterRequest) ProtoReflect() protoreflect.Message // Deprecated: Use AddTagsToBinaryDataByFilterRequest.ProtoReflect.Descriptor instead. func (*AddTagsToBinaryDataByFilterRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{25} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{29} } func (x *AddTagsToBinaryDataByFilterRequest) GetFilter() *Filter { @@ -1918,7 +2131,7 @@ type AddTagsToBinaryDataByFilterResponse struct { func (x *AddTagsToBinaryDataByFilterResponse) Reset() { *x = AddTagsToBinaryDataByFilterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[26] + mi := &file_app_data_v1_data_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1931,7 +2144,7 @@ func (x *AddTagsToBinaryDataByFilterResponse) String() string { func (*AddTagsToBinaryDataByFilterResponse) ProtoMessage() {} func (x *AddTagsToBinaryDataByFilterResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[26] + mi := &file_app_data_v1_data_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1944,7 +2157,7 @@ func (x *AddTagsToBinaryDataByFilterResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use AddTagsToBinaryDataByFilterResponse.ProtoReflect.Descriptor instead. func (*AddTagsToBinaryDataByFilterResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{26} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{30} } // RemoveTagsFromBinaryDataByIDsRequest requests removing the given tags value from each file when binary ids are provided. @@ -1960,7 +2173,7 @@ type RemoveTagsFromBinaryDataByIDsRequest struct { func (x *RemoveTagsFromBinaryDataByIDsRequest) Reset() { *x = RemoveTagsFromBinaryDataByIDsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[27] + mi := &file_app_data_v1_data_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1973,7 +2186,7 @@ func (x *RemoveTagsFromBinaryDataByIDsRequest) String() string { func (*RemoveTagsFromBinaryDataByIDsRequest) ProtoMessage() {} func (x *RemoveTagsFromBinaryDataByIDsRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[27] + mi := &file_app_data_v1_data_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1986,7 +2199,7 @@ func (x *RemoveTagsFromBinaryDataByIDsRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use RemoveTagsFromBinaryDataByIDsRequest.ProtoReflect.Descriptor instead. func (*RemoveTagsFromBinaryDataByIDsRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{27} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{31} } func (x *RemoveTagsFromBinaryDataByIDsRequest) GetBinaryIds() []*BinaryID { @@ -2015,7 +2228,7 @@ type RemoveTagsFromBinaryDataByIDsResponse struct { func (x *RemoveTagsFromBinaryDataByIDsResponse) Reset() { *x = RemoveTagsFromBinaryDataByIDsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[28] + mi := &file_app_data_v1_data_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2028,7 +2241,7 @@ func (x *RemoveTagsFromBinaryDataByIDsResponse) String() string { func (*RemoveTagsFromBinaryDataByIDsResponse) ProtoMessage() {} func (x *RemoveTagsFromBinaryDataByIDsResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[28] + mi := &file_app_data_v1_data_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2041,7 +2254,7 @@ func (x *RemoveTagsFromBinaryDataByIDsResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use RemoveTagsFromBinaryDataByIDsResponse.ProtoReflect.Descriptor instead. func (*RemoveTagsFromBinaryDataByIDsResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{28} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{32} } func (x *RemoveTagsFromBinaryDataByIDsResponse) GetDeletedCount() uint64 { @@ -2064,7 +2277,7 @@ type RemoveTagsFromBinaryDataByFilterRequest struct { func (x *RemoveTagsFromBinaryDataByFilterRequest) Reset() { *x = RemoveTagsFromBinaryDataByFilterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[29] + mi := &file_app_data_v1_data_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2077,7 +2290,7 @@ func (x *RemoveTagsFromBinaryDataByFilterRequest) String() string { func (*RemoveTagsFromBinaryDataByFilterRequest) ProtoMessage() {} func (x *RemoveTagsFromBinaryDataByFilterRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[29] + mi := &file_app_data_v1_data_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2090,7 +2303,7 @@ func (x *RemoveTagsFromBinaryDataByFilterRequest) ProtoReflect() protoreflect.Me // Deprecated: Use RemoveTagsFromBinaryDataByFilterRequest.ProtoReflect.Descriptor instead. func (*RemoveTagsFromBinaryDataByFilterRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{29} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{33} } func (x *RemoveTagsFromBinaryDataByFilterRequest) GetFilter() *Filter { @@ -2119,7 +2332,7 @@ type RemoveTagsFromBinaryDataByFilterResponse struct { func (x *RemoveTagsFromBinaryDataByFilterResponse) Reset() { *x = RemoveTagsFromBinaryDataByFilterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[30] + mi := &file_app_data_v1_data_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2132,7 +2345,7 @@ func (x *RemoveTagsFromBinaryDataByFilterResponse) String() string { func (*RemoveTagsFromBinaryDataByFilterResponse) ProtoMessage() {} func (x *RemoveTagsFromBinaryDataByFilterResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[30] + mi := &file_app_data_v1_data_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2145,7 +2358,7 @@ func (x *RemoveTagsFromBinaryDataByFilterResponse) ProtoReflect() protoreflect.M // Deprecated: Use RemoveTagsFromBinaryDataByFilterResponse.ProtoReflect.Descriptor instead. func (*RemoveTagsFromBinaryDataByFilterResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{30} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{34} } func (x *RemoveTagsFromBinaryDataByFilterResponse) GetDeletedCount() uint64 { @@ -2167,7 +2380,7 @@ type TagsByFilterRequest struct { func (x *TagsByFilterRequest) Reset() { *x = TagsByFilterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[31] + mi := &file_app_data_v1_data_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2180,7 +2393,7 @@ func (x *TagsByFilterRequest) String() string { func (*TagsByFilterRequest) ProtoMessage() {} func (x *TagsByFilterRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[31] + mi := &file_app_data_v1_data_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2193,7 +2406,7 @@ func (x *TagsByFilterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TagsByFilterRequest.ProtoReflect.Descriptor instead. func (*TagsByFilterRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{31} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{35} } func (x *TagsByFilterRequest) GetFilter() *Filter { @@ -2215,7 +2428,7 @@ type TagsByFilterResponse struct { func (x *TagsByFilterResponse) Reset() { *x = TagsByFilterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[32] + mi := &file_app_data_v1_data_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2228,7 +2441,7 @@ func (x *TagsByFilterResponse) String() string { func (*TagsByFilterResponse) ProtoMessage() {} func (x *TagsByFilterResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[32] + mi := &file_app_data_v1_data_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2241,7 +2454,7 @@ func (x *TagsByFilterResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TagsByFilterResponse.ProtoReflect.Descriptor instead. func (*TagsByFilterResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{32} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{36} } func (x *TagsByFilterResponse) GetTags() []string { @@ -2269,7 +2482,7 @@ type AddBoundingBoxToImageByIDRequest struct { func (x *AddBoundingBoxToImageByIDRequest) Reset() { *x = AddBoundingBoxToImageByIDRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[33] + mi := &file_app_data_v1_data_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2282,7 +2495,7 @@ func (x *AddBoundingBoxToImageByIDRequest) String() string { func (*AddBoundingBoxToImageByIDRequest) ProtoMessage() {} func (x *AddBoundingBoxToImageByIDRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[33] + mi := &file_app_data_v1_data_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2295,7 +2508,7 @@ func (x *AddBoundingBoxToImageByIDRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddBoundingBoxToImageByIDRequest.ProtoReflect.Descriptor instead. func (*AddBoundingBoxToImageByIDRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{33} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{37} } func (x *AddBoundingBoxToImageByIDRequest) GetBinaryId() *BinaryID { @@ -2352,7 +2565,7 @@ type AddBoundingBoxToImageByIDResponse struct { func (x *AddBoundingBoxToImageByIDResponse) Reset() { *x = AddBoundingBoxToImageByIDResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[34] + mi := &file_app_data_v1_data_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2365,7 +2578,7 @@ func (x *AddBoundingBoxToImageByIDResponse) String() string { func (*AddBoundingBoxToImageByIDResponse) ProtoMessage() {} func (x *AddBoundingBoxToImageByIDResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[34] + mi := &file_app_data_v1_data_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2378,7 +2591,7 @@ func (x *AddBoundingBoxToImageByIDResponse) ProtoReflect() protoreflect.Message // Deprecated: Use AddBoundingBoxToImageByIDResponse.ProtoReflect.Descriptor instead. func (*AddBoundingBoxToImageByIDResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{34} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{38} } func (x *AddBoundingBoxToImageByIDResponse) GetBboxId() string { @@ -2401,7 +2614,7 @@ type RemoveBoundingBoxFromImageByIDRequest struct { func (x *RemoveBoundingBoxFromImageByIDRequest) Reset() { *x = RemoveBoundingBoxFromImageByIDRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[35] + mi := &file_app_data_v1_data_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2414,7 +2627,7 @@ func (x *RemoveBoundingBoxFromImageByIDRequest) String() string { func (*RemoveBoundingBoxFromImageByIDRequest) ProtoMessage() {} func (x *RemoveBoundingBoxFromImageByIDRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[35] + mi := &file_app_data_v1_data_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2427,7 +2640,7 @@ func (x *RemoveBoundingBoxFromImageByIDRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use RemoveBoundingBoxFromImageByIDRequest.ProtoReflect.Descriptor instead. func (*RemoveBoundingBoxFromImageByIDRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{35} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{39} } func (x *RemoveBoundingBoxFromImageByIDRequest) GetBinaryId() *BinaryID { @@ -2453,7 +2666,7 @@ type RemoveBoundingBoxFromImageByIDResponse struct { func (x *RemoveBoundingBoxFromImageByIDResponse) Reset() { *x = RemoveBoundingBoxFromImageByIDResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[36] + mi := &file_app_data_v1_data_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2466,7 +2679,7 @@ func (x *RemoveBoundingBoxFromImageByIDResponse) String() string { func (*RemoveBoundingBoxFromImageByIDResponse) ProtoMessage() {} func (x *RemoveBoundingBoxFromImageByIDResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[36] + mi := &file_app_data_v1_data_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2479,7 +2692,7 @@ func (x *RemoveBoundingBoxFromImageByIDResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use RemoveBoundingBoxFromImageByIDResponse.ProtoReflect.Descriptor instead. func (*RemoveBoundingBoxFromImageByIDResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{36} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{40} } // BoundingBoxLabelsByFilterRequest requests all the labels of the bounding boxes from files from a given filter. @@ -2494,7 +2707,7 @@ type BoundingBoxLabelsByFilterRequest struct { func (x *BoundingBoxLabelsByFilterRequest) Reset() { *x = BoundingBoxLabelsByFilterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[37] + mi := &file_app_data_v1_data_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2507,7 +2720,7 @@ func (x *BoundingBoxLabelsByFilterRequest) String() string { func (*BoundingBoxLabelsByFilterRequest) ProtoMessage() {} func (x *BoundingBoxLabelsByFilterRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[37] + mi := &file_app_data_v1_data_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2520,7 +2733,7 @@ func (x *BoundingBoxLabelsByFilterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BoundingBoxLabelsByFilterRequest.ProtoReflect.Descriptor instead. func (*BoundingBoxLabelsByFilterRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{37} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{41} } func (x *BoundingBoxLabelsByFilterRequest) GetFilter() *Filter { @@ -2542,7 +2755,7 @@ type BoundingBoxLabelsByFilterResponse struct { func (x *BoundingBoxLabelsByFilterResponse) Reset() { *x = BoundingBoxLabelsByFilterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[38] + mi := &file_app_data_v1_data_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2555,7 +2768,7 @@ func (x *BoundingBoxLabelsByFilterResponse) String() string { func (*BoundingBoxLabelsByFilterResponse) ProtoMessage() {} func (x *BoundingBoxLabelsByFilterResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[38] + mi := &file_app_data_v1_data_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2568,7 +2781,7 @@ func (x *BoundingBoxLabelsByFilterResponse) ProtoReflect() protoreflect.Message // Deprecated: Use BoundingBoxLabelsByFilterResponse.ProtoReflect.Descriptor instead. func (*BoundingBoxLabelsByFilterResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{38} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{42} } func (x *BoundingBoxLabelsByFilterResponse) GetLabels() []string { @@ -2593,7 +2806,7 @@ type ConfigureDatabaseUserRequest struct { func (x *ConfigureDatabaseUserRequest) Reset() { *x = ConfigureDatabaseUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[39] + mi := &file_app_data_v1_data_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2606,7 +2819,7 @@ func (x *ConfigureDatabaseUserRequest) String() string { func (*ConfigureDatabaseUserRequest) ProtoMessage() {} func (x *ConfigureDatabaseUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[39] + mi := &file_app_data_v1_data_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2619,7 +2832,7 @@ func (x *ConfigureDatabaseUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureDatabaseUserRequest.ProtoReflect.Descriptor instead. func (*ConfigureDatabaseUserRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{39} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{43} } func (x *ConfigureDatabaseUserRequest) GetOrganizationId() string { @@ -2645,7 +2858,7 @@ type ConfigureDatabaseUserResponse struct { func (x *ConfigureDatabaseUserResponse) Reset() { *x = ConfigureDatabaseUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[40] + mi := &file_app_data_v1_data_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2658,7 +2871,7 @@ func (x *ConfigureDatabaseUserResponse) String() string { func (*ConfigureDatabaseUserResponse) ProtoMessage() {} func (x *ConfigureDatabaseUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[40] + mi := &file_app_data_v1_data_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2671,7 +2884,7 @@ func (x *ConfigureDatabaseUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureDatabaseUserResponse.ProtoReflect.Descriptor instead. func (*ConfigureDatabaseUserResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{40} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{44} } // GetDatabaseConnectionRequest requests the database connection hostname. @@ -2686,7 +2899,7 @@ type GetDatabaseConnectionRequest struct { func (x *GetDatabaseConnectionRequest) Reset() { *x = GetDatabaseConnectionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[41] + mi := &file_app_data_v1_data_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2699,7 +2912,7 @@ func (x *GetDatabaseConnectionRequest) String() string { func (*GetDatabaseConnectionRequest) ProtoMessage() {} func (x *GetDatabaseConnectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[41] + mi := &file_app_data_v1_data_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2712,7 +2925,7 @@ func (x *GetDatabaseConnectionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDatabaseConnectionRequest.ProtoReflect.Descriptor instead. func (*GetDatabaseConnectionRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{41} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{45} } func (x *GetDatabaseConnectionRequest) GetOrganizationId() string { @@ -2734,7 +2947,7 @@ type GetDatabaseConnectionResponse struct { func (x *GetDatabaseConnectionResponse) Reset() { *x = GetDatabaseConnectionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[42] + mi := &file_app_data_v1_data_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2747,7 +2960,7 @@ func (x *GetDatabaseConnectionResponse) String() string { func (*GetDatabaseConnectionResponse) ProtoMessage() {} func (x *GetDatabaseConnectionResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[42] + mi := &file_app_data_v1_data_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2760,7 +2973,7 @@ func (x *GetDatabaseConnectionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDatabaseConnectionResponse.ProtoReflect.Descriptor instead. func (*GetDatabaseConnectionResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{42} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{46} } func (x *GetDatabaseConnectionResponse) GetHostname() string { @@ -2783,7 +2996,7 @@ type AddBinaryDataToDatasetByIDsRequest struct { func (x *AddBinaryDataToDatasetByIDsRequest) Reset() { *x = AddBinaryDataToDatasetByIDsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[43] + mi := &file_app_data_v1_data_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2796,7 +3009,7 @@ func (x *AddBinaryDataToDatasetByIDsRequest) String() string { func (*AddBinaryDataToDatasetByIDsRequest) ProtoMessage() {} func (x *AddBinaryDataToDatasetByIDsRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[43] + mi := &file_app_data_v1_data_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2809,7 +3022,7 @@ func (x *AddBinaryDataToDatasetByIDsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use AddBinaryDataToDatasetByIDsRequest.ProtoReflect.Descriptor instead. func (*AddBinaryDataToDatasetByIDsRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{43} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{47} } func (x *AddBinaryDataToDatasetByIDsRequest) GetBinaryIds() []*BinaryID { @@ -2835,7 +3048,7 @@ type AddBinaryDataToDatasetByIDsResponse struct { func (x *AddBinaryDataToDatasetByIDsResponse) Reset() { *x = AddBinaryDataToDatasetByIDsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[44] + mi := &file_app_data_v1_data_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2848,7 +3061,7 @@ func (x *AddBinaryDataToDatasetByIDsResponse) String() string { func (*AddBinaryDataToDatasetByIDsResponse) ProtoMessage() {} func (x *AddBinaryDataToDatasetByIDsResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[44] + mi := &file_app_data_v1_data_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2861,7 +3074,7 @@ func (x *AddBinaryDataToDatasetByIDsResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use AddBinaryDataToDatasetByIDsResponse.ProtoReflect.Descriptor instead. func (*AddBinaryDataToDatasetByIDsResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{44} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{48} } // RemoveBinaryDataFromDatasetByIDsRequest removes the specified binary IDs from a dataset with dataset_id. @@ -2877,7 +3090,7 @@ type RemoveBinaryDataFromDatasetByIDsRequest struct { func (x *RemoveBinaryDataFromDatasetByIDsRequest) Reset() { *x = RemoveBinaryDataFromDatasetByIDsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[45] + mi := &file_app_data_v1_data_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2890,7 +3103,7 @@ func (x *RemoveBinaryDataFromDatasetByIDsRequest) String() string { func (*RemoveBinaryDataFromDatasetByIDsRequest) ProtoMessage() {} func (x *RemoveBinaryDataFromDatasetByIDsRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[45] + mi := &file_app_data_v1_data_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2903,7 +3116,7 @@ func (x *RemoveBinaryDataFromDatasetByIDsRequest) ProtoReflect() protoreflect.Me // Deprecated: Use RemoveBinaryDataFromDatasetByIDsRequest.ProtoReflect.Descriptor instead. func (*RemoveBinaryDataFromDatasetByIDsRequest) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{45} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{49} } func (x *RemoveBinaryDataFromDatasetByIDsRequest) GetBinaryIds() []*BinaryID { @@ -2929,7 +3142,7 @@ type RemoveBinaryDataFromDatasetByIDsResponse struct { func (x *RemoveBinaryDataFromDatasetByIDsResponse) Reset() { *x = RemoveBinaryDataFromDatasetByIDsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_data_v1_data_proto_msgTypes[46] + mi := &file_app_data_v1_data_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2942,7 +3155,7 @@ func (x *RemoveBinaryDataFromDatasetByIDsResponse) String() string { func (*RemoveBinaryDataFromDatasetByIDsResponse) ProtoMessage() {} func (x *RemoveBinaryDataFromDatasetByIDsResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_data_v1_data_proto_msgTypes[46] + mi := &file_app_data_v1_data_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2955,7 +3168,7 @@ func (x *RemoveBinaryDataFromDatasetByIDsResponse) ProtoReflect() protoreflect.M // Deprecated: Use RemoveBinaryDataFromDatasetByIDsResponse.ProtoReflect.Descriptor instead. func (*RemoveBinaryDataFromDatasetByIDsResponse) Descriptor() ([]byte, []int) { - return file_app_data_v1_data_proto_rawDescGZIP(), []int{46} + return file_app_data_v1_data_proto_rawDescGZIP(), []int{50} } var File_app_data_v1_data_proto protoreflect.FileDescriptor @@ -3103,438 +3316,472 @@ var file_app_data_v1_data_proto_rawDesc = []byte{ 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x22, 0x62, 0x0a, 0x0a, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x3c, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd7, 0x01, 0x0a, - 0x19, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x0b, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x69, 0x6e, - 0x61, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x6e, - 0x6c, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x42, 0x69, 0x6e, 0x61, 0x72, - 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x73, - 0x74, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x08, 0x42, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, - 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x42, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x0a, - 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x52, 0x09, 0x62, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x22, 0x61, 0x0a, 0x17, 0x42, 0x69, 0x6e, 0x61, 0x72, - 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xdb, 0x01, 0x0a, 0x0b, 0x42, - 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x12, 0x28, 0x0a, 0x10, 0x78, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x78, 0x4d, 0x69, 0x6e, - 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x79, 0x5f, - 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x79, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x78, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, - 0x78, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x28, - 0x0a, 0x10, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x79, 0x4d, 0x61, 0x78, 0x4e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x22, 0x44, 0x0a, 0x0b, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x62, 0x62, 0x6f, 0x78, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, - 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x52, 0x06, 0x62, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x22, 0x9e, - 0x03, 0x0a, 0x0e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x4c, 0x0a, 0x10, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, - 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x41, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x3f, 0x0a, - 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, - 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, - 0x78, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, - 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6c, 0x64, 0x65, - 0x72, 0x54, 0x68, 0x61, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x22, 0x40, 0x0a, 0x19, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x1f, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x30, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x22, 0x5f, 0x0a, 0x17, 0x54, 0x61, 0x62, 0x75, + 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x73, 0x71, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x73, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, 0x47, 0x0a, 0x18, 0x54, 0x61, 0x62, + 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x5f, 0x0a, 0x17, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x4d, 0x51, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, + 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x71, 0x6c, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x71, 0x6c, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x22, 0x47, 0x0a, 0x18, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x42, 0x79, 0x4d, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x62, 0x0a, 0x0a, + 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, + 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x12, 0x3c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x22, 0xd7, 0x01, 0x0a, 0x19, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, + 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, + 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x04, - 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x69, 0x0a, 0x1c, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, - 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x52, 0x09, 0x62, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x22, 0x52, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x04, 0x08, - 0x02, 0x10, 0x03, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x80, 0x01, 0x0a, 0x1f, - 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, - 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x39, 0x0a, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x52, - 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x4a, 0x04, - 0x08, 0x01, 0x10, 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x22, 0x22, - 0x0a, 0x20, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, - 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, + 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6c, 0x61, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, + 0x6d, 0x0a, 0x08, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x66, + 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x8a, + 0x01, 0x0a, 0x16, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, + 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, + 0x52, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, + 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x22, 0x61, 0x0a, 0x17, 0x42, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xdb, + 0x01, 0x0a, 0x0b, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x78, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, + 0x78, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x28, + 0x0a, 0x10, 0x79, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x79, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x78, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x0e, 0x78, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x79, 0x4d, + 0x61, 0x78, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x22, 0x44, 0x0a, 0x0b, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x62, + 0x62, 0x6f, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x52, 0x06, 0x62, 0x62, 0x6f, 0x78, + 0x65, 0x73, 0x22, 0x9e, 0x03, 0x0a, 0x0e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4c, 0x0a, 0x10, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x0f, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x69, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x49, 0x64, 0x73, 0x22, 0x78, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, + 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x5f, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x5f, 0x64, 0x61, + 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x68, 0x61, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x22, 0x40, 0x0a, + 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x87, 0x01, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x20, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x22, 0x69, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, + 0x52, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, + 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x22, 0x52, 0x0a, 0x1d, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, + 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, + 0x80, 0x01, 0x0a, 0x1f, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, + 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, + 0x79, 0x49, 0x44, 0x52, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, + 0x64, 0x73, 0x22, 0x22, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, + 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x22, 0x25, 0x0a, 0x23, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x24, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x49, 0x44, 0x52, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, + 0x73, 0x22, 0x4c, 0x0a, 0x25, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, + 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, + 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x6f, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, + 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, + 0x22, 0x4f, 0x0a, 0x28, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, + 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x47, 0x0a, 0x13, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x25, - 0x0a, 0x23, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, - 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, - 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, - 0x0a, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x52, 0x09, - 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x4a, 0x04, 0x08, - 0x01, 0x10, 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x22, 0x4c, 0x0a, - 0x25, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x6f, 0x0a, 0x27, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, - 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x4f, 0x0a, 0x28, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x47, 0x0a, - 0x13, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x2a, 0x0a, 0x14, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x22, 0xa8, 0x02, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x54, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, + 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x2a, 0x0a, 0x14, 0x54, 0x61, + 0x67, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xa8, 0x02, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x42, 0x6f, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x54, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x62, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x78, 0x5f, + 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x78, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x79, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, + 0x79, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x28, + 0x0a, 0x10, 0x78, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x78, 0x4d, 0x61, 0x78, 0x4e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x79, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x0e, 0x79, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, + 0x64, 0x22, 0x3c, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x42, 0x6f, 0x78, 0x54, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x62, 0x6f, 0x78, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x22, + 0x88, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, + 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x62, 0x69, 0x6e, + 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, + 0x02, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x22, 0x28, 0x0a, 0x26, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x46, + 0x72, 0x6f, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x42, 0x6f, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x3b, 0x0a, 0x21, 0x42, 0x6f, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, + 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x63, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x1f, 0x0a, 0x1d, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x0a, + 0x1c, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, + 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x7e, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x54, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, + 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x69, 0x6e, + 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x52, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, + 0x79, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x23, 0x41, 0x64, 0x64, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x54, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, + 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x27, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, + 0x72, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x78, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, - 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x0e, 0x78, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x12, 0x28, 0x0a, 0x10, 0x79, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x79, 0x4d, 0x69, 0x6e, - 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x78, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x78, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, - 0x79, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4a, 0x04, - 0x08, 0x01, 0x10, 0x02, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x22, 0x3c, 0x0a, - 0x21, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x54, - 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x25, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, - 0x78, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x49, 0x44, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x12, 0x17, - 0x0a, 0x07, 0x62, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x62, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x07, 0x66, - 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x22, 0x28, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x46, 0x72, 0x6f, 0x6d, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x54, 0x0a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x3b, 0x0a, 0x21, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x22, 0x63, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x0a, 0x1c, 0x47, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x7e, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x54, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, - 0x61, 0x72, 0x79, 0x49, 0x44, 0x52, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, - 0x25, 0x0a, 0x23, 0x41, 0x64, 0x64, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x54, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x44, - 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, - 0x49, 0x44, 0x52, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x28, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x49, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x52, 0x44, 0x45, - 0x52, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x13, - 0x0a, 0x0f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, - 0x47, 0x10, 0x02, 0x2a, 0x90, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x67, 0x73, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x41, 0x47, 0x53, 0x5f, 0x46, - 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x41, 0x47, 0x53, - 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41, 0x54, - 0x43, 0x48, 0x5f, 0x42, 0x59, 0x5f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x41, - 0x47, 0x53, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, - 0x41, 0x47, 0x47, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x41, 0x47, 0x53, 0x5f, - 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x54, 0x41, - 0x47, 0x47, 0x45, 0x44, 0x10, 0x03, 0x32, 0xa6, 0x12, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x72, 0x0a, 0x13, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, - 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x2e, + 0x6e, 0x61, 0x72, 0x79, 0x49, 0x44, 0x52, 0x09, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x22, 0x2a, 0x0a, 0x28, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, + 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x49, 0x0a, 0x05, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, + 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x41, 0x53, 0x43, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x2a, 0x90, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x67, 0x73, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x41, + 0x47, 0x53, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, + 0x54, 0x41, 0x47, 0x53, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x42, 0x59, 0x5f, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, + 0x0a, 0x17, 0x54, 0x41, 0x47, 0x53, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x54, 0x41, 0x47, 0x47, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x54, + 0x41, 0x47, 0x53, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x54, 0x41, 0x47, 0x47, 0x45, 0x44, 0x10, 0x03, 0x32, 0xfc, 0x13, 0x0a, 0x0b, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x72, 0x0a, 0x13, 0x54, 0x61, + 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, + 0x0a, 0x10, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x53, + 0x51, 0x4c, 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x12, 0x42, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x12, 0x2b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x2e, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x53, 0x51, + 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x10, 0x54, 0x61, 0x62, + 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4d, 0x51, 0x4c, 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0f, 0x42, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x28, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, - 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, - 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x81, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x31, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, - 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, + 0x2e, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4d, 0x51, + 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x75, + 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4d, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x12, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, + 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, + 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x2e, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, - 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, + 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x28, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, + 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x75, + 0x6c, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, - 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x81, 0x01, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, - 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x31, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, - 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, - 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, - 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x75, 0x6c, 0x61, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x18, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, + 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x78, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, + 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x2e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x18, 0x41, 0x64, + 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x31, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, + 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, + 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x90, 0x01, 0x0a, 0x1d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, - 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, - 0x44, 0x73, 0x12, 0x36, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, - 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, - 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x99, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, - 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x39, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, + 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, + 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x34, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, - 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, - 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5d, 0x0a, 0x0c, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, - 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, - 0x01, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, - 0x78, 0x54, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x12, 0x32, 0x2e, 0x76, + 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x61, 0x67, 0x73, 0x54, 0x6f, + 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x1d, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, + 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x36, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x64, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x54, 0x6f, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, - 0x6f, 0x78, 0x54, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x46, 0x72, 0x6f, 0x6d, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x12, 0x37, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x46, 0x72, 0x6f, - 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x38, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, - 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x19, - 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x79, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, + 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, + 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, + 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x99, 0x01, + 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, + 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x39, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, + 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x78, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x15, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0c, 0x54, 0x61, 0x67, + 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, + 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x19, 0x41, 0x64, 0x64, + 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x54, 0x6f, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x12, 0x32, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6f, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x54, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, + 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, + 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x54, 0x6f, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x93, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, + 0x49, 0x44, 0x12, 0x37, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x75, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, + 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x19, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, + 0x6f, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x79, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x42, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x54, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x34, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, + 0x2e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x8a, 0x01, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, + 0x74, 0x61, 0x54, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, + 0x12, 0x34, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, + 0x61, 0x54, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x54, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, - 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x64, 0x64, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x54, 0x6f, 0x44, - 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x99, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x39, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x69, 0x6e, - 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, - 0x1d, 0x5a, 0x1b, 0x67, 0x6f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x99, 0x01, + 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, + 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, + 0x44, 0x73, 0x12, 0x39, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, + 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1d, 0x5a, 0x1b, 0x67, 0x6f, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x70, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3550,7 +3797,7 @@ func file_app_data_v1_data_proto_rawDescGZIP() []byte { } var file_app_data_v1_data_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_app_data_v1_data_proto_msgTypes = make([]protoimpl.MessageInfo, 48) +var file_app_data_v1_data_proto_msgTypes = make([]protoimpl.MessageInfo, 52) var file_app_data_v1_data_proto_goTypes = []interface{}{ (Order)(0), // 0: viam.app.data.v1.Order (TagsFilterType)(0), // 1: viam.app.data.v1.TagsFilterType @@ -3562,49 +3809,53 @@ var file_app_data_v1_data_proto_goTypes = []interface{}{ (*TabularDataByFilterRequest)(nil), // 7: viam.app.data.v1.TabularDataByFilterRequest (*TabularDataByFilterResponse)(nil), // 8: viam.app.data.v1.TabularDataByFilterResponse (*TabularData)(nil), // 9: viam.app.data.v1.TabularData - (*BinaryData)(nil), // 10: viam.app.data.v1.BinaryData - (*BinaryDataByFilterRequest)(nil), // 11: viam.app.data.v1.BinaryDataByFilterRequest - (*BinaryDataByFilterResponse)(nil), // 12: viam.app.data.v1.BinaryDataByFilterResponse - (*BinaryID)(nil), // 13: viam.app.data.v1.BinaryID - (*BinaryDataByIDsRequest)(nil), // 14: viam.app.data.v1.BinaryDataByIDsRequest - (*BinaryDataByIDsResponse)(nil), // 15: viam.app.data.v1.BinaryDataByIDsResponse - (*BoundingBox)(nil), // 16: viam.app.data.v1.BoundingBox - (*Annotations)(nil), // 17: viam.app.data.v1.Annotations - (*BinaryMetadata)(nil), // 18: viam.app.data.v1.BinaryMetadata - (*DeleteTabularDataRequest)(nil), // 19: viam.app.data.v1.DeleteTabularDataRequest - (*DeleteTabularDataResponse)(nil), // 20: viam.app.data.v1.DeleteTabularDataResponse - (*DeleteBinaryDataByFilterRequest)(nil), // 21: viam.app.data.v1.DeleteBinaryDataByFilterRequest - (*DeleteBinaryDataByFilterResponse)(nil), // 22: viam.app.data.v1.DeleteBinaryDataByFilterResponse - (*DeleteBinaryDataByIDsRequest)(nil), // 23: viam.app.data.v1.DeleteBinaryDataByIDsRequest - (*DeleteBinaryDataByIDsResponse)(nil), // 24: viam.app.data.v1.DeleteBinaryDataByIDsResponse - (*AddTagsToBinaryDataByIDsRequest)(nil), // 25: viam.app.data.v1.AddTagsToBinaryDataByIDsRequest - (*AddTagsToBinaryDataByIDsResponse)(nil), // 26: viam.app.data.v1.AddTagsToBinaryDataByIDsResponse - (*AddTagsToBinaryDataByFilterRequest)(nil), // 27: viam.app.data.v1.AddTagsToBinaryDataByFilterRequest - (*AddTagsToBinaryDataByFilterResponse)(nil), // 28: viam.app.data.v1.AddTagsToBinaryDataByFilterResponse - (*RemoveTagsFromBinaryDataByIDsRequest)(nil), // 29: viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest - (*RemoveTagsFromBinaryDataByIDsResponse)(nil), // 30: viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse - (*RemoveTagsFromBinaryDataByFilterRequest)(nil), // 31: viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest - (*RemoveTagsFromBinaryDataByFilterResponse)(nil), // 32: viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse - (*TagsByFilterRequest)(nil), // 33: viam.app.data.v1.TagsByFilterRequest - (*TagsByFilterResponse)(nil), // 34: viam.app.data.v1.TagsByFilterResponse - (*AddBoundingBoxToImageByIDRequest)(nil), // 35: viam.app.data.v1.AddBoundingBoxToImageByIDRequest - (*AddBoundingBoxToImageByIDResponse)(nil), // 36: viam.app.data.v1.AddBoundingBoxToImageByIDResponse - (*RemoveBoundingBoxFromImageByIDRequest)(nil), // 37: viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest - (*RemoveBoundingBoxFromImageByIDResponse)(nil), // 38: viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse - (*BoundingBoxLabelsByFilterRequest)(nil), // 39: viam.app.data.v1.BoundingBoxLabelsByFilterRequest - (*BoundingBoxLabelsByFilterResponse)(nil), // 40: viam.app.data.v1.BoundingBoxLabelsByFilterResponse - (*ConfigureDatabaseUserRequest)(nil), // 41: viam.app.data.v1.ConfigureDatabaseUserRequest - (*ConfigureDatabaseUserResponse)(nil), // 42: viam.app.data.v1.ConfigureDatabaseUserResponse - (*GetDatabaseConnectionRequest)(nil), // 43: viam.app.data.v1.GetDatabaseConnectionRequest - (*GetDatabaseConnectionResponse)(nil), // 44: viam.app.data.v1.GetDatabaseConnectionResponse - (*AddBinaryDataToDatasetByIDsRequest)(nil), // 45: viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest - (*AddBinaryDataToDatasetByIDsResponse)(nil), // 46: viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse - (*RemoveBinaryDataFromDatasetByIDsRequest)(nil), // 47: viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest - (*RemoveBinaryDataFromDatasetByIDsResponse)(nil), // 48: viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponse - nil, // 49: viam.app.data.v1.CaptureMetadata.MethodParametersEntry - (*timestamppb.Timestamp)(nil), // 50: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 51: google.protobuf.Struct - (*anypb.Any)(nil), // 52: google.protobuf.Any + (*TabularDataBySQLRequest)(nil), // 10: viam.app.data.v1.TabularDataBySQLRequest + (*TabularDataBySQLResponse)(nil), // 11: viam.app.data.v1.TabularDataBySQLResponse + (*TabularDataByMQLRequest)(nil), // 12: viam.app.data.v1.TabularDataByMQLRequest + (*TabularDataByMQLResponse)(nil), // 13: viam.app.data.v1.TabularDataByMQLResponse + (*BinaryData)(nil), // 14: viam.app.data.v1.BinaryData + (*BinaryDataByFilterRequest)(nil), // 15: viam.app.data.v1.BinaryDataByFilterRequest + (*BinaryDataByFilterResponse)(nil), // 16: viam.app.data.v1.BinaryDataByFilterResponse + (*BinaryID)(nil), // 17: viam.app.data.v1.BinaryID + (*BinaryDataByIDsRequest)(nil), // 18: viam.app.data.v1.BinaryDataByIDsRequest + (*BinaryDataByIDsResponse)(nil), // 19: viam.app.data.v1.BinaryDataByIDsResponse + (*BoundingBox)(nil), // 20: viam.app.data.v1.BoundingBox + (*Annotations)(nil), // 21: viam.app.data.v1.Annotations + (*BinaryMetadata)(nil), // 22: viam.app.data.v1.BinaryMetadata + (*DeleteTabularDataRequest)(nil), // 23: viam.app.data.v1.DeleteTabularDataRequest + (*DeleteTabularDataResponse)(nil), // 24: viam.app.data.v1.DeleteTabularDataResponse + (*DeleteBinaryDataByFilterRequest)(nil), // 25: viam.app.data.v1.DeleteBinaryDataByFilterRequest + (*DeleteBinaryDataByFilterResponse)(nil), // 26: viam.app.data.v1.DeleteBinaryDataByFilterResponse + (*DeleteBinaryDataByIDsRequest)(nil), // 27: viam.app.data.v1.DeleteBinaryDataByIDsRequest + (*DeleteBinaryDataByIDsResponse)(nil), // 28: viam.app.data.v1.DeleteBinaryDataByIDsResponse + (*AddTagsToBinaryDataByIDsRequest)(nil), // 29: viam.app.data.v1.AddTagsToBinaryDataByIDsRequest + (*AddTagsToBinaryDataByIDsResponse)(nil), // 30: viam.app.data.v1.AddTagsToBinaryDataByIDsResponse + (*AddTagsToBinaryDataByFilterRequest)(nil), // 31: viam.app.data.v1.AddTagsToBinaryDataByFilterRequest + (*AddTagsToBinaryDataByFilterResponse)(nil), // 32: viam.app.data.v1.AddTagsToBinaryDataByFilterResponse + (*RemoveTagsFromBinaryDataByIDsRequest)(nil), // 33: viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest + (*RemoveTagsFromBinaryDataByIDsResponse)(nil), // 34: viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse + (*RemoveTagsFromBinaryDataByFilterRequest)(nil), // 35: viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest + (*RemoveTagsFromBinaryDataByFilterResponse)(nil), // 36: viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse + (*TagsByFilterRequest)(nil), // 37: viam.app.data.v1.TagsByFilterRequest + (*TagsByFilterResponse)(nil), // 38: viam.app.data.v1.TagsByFilterResponse + (*AddBoundingBoxToImageByIDRequest)(nil), // 39: viam.app.data.v1.AddBoundingBoxToImageByIDRequest + (*AddBoundingBoxToImageByIDResponse)(nil), // 40: viam.app.data.v1.AddBoundingBoxToImageByIDResponse + (*RemoveBoundingBoxFromImageByIDRequest)(nil), // 41: viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest + (*RemoveBoundingBoxFromImageByIDResponse)(nil), // 42: viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse + (*BoundingBoxLabelsByFilterRequest)(nil), // 43: viam.app.data.v1.BoundingBoxLabelsByFilterRequest + (*BoundingBoxLabelsByFilterResponse)(nil), // 44: viam.app.data.v1.BoundingBoxLabelsByFilterResponse + (*ConfigureDatabaseUserRequest)(nil), // 45: viam.app.data.v1.ConfigureDatabaseUserRequest + (*ConfigureDatabaseUserResponse)(nil), // 46: viam.app.data.v1.ConfigureDatabaseUserResponse + (*GetDatabaseConnectionRequest)(nil), // 47: viam.app.data.v1.GetDatabaseConnectionRequest + (*GetDatabaseConnectionResponse)(nil), // 48: viam.app.data.v1.GetDatabaseConnectionResponse + (*AddBinaryDataToDatasetByIDsRequest)(nil), // 49: viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest + (*AddBinaryDataToDatasetByIDsResponse)(nil), // 50: viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse + (*RemoveBinaryDataFromDatasetByIDsRequest)(nil), // 51: viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest + (*RemoveBinaryDataFromDatasetByIDsResponse)(nil), // 52: viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponse + nil, // 53: viam.app.data.v1.CaptureMetadata.MethodParametersEntry + (*timestamppb.Timestamp)(nil), // 54: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 55: google.protobuf.Struct + (*anypb.Any)(nil), // 56: google.protobuf.Any } var file_app_data_v1_data_proto_depIdxs = []int32{ 3, // 0: viam.app.data.v1.DataRequest.filter:type_name -> viam.app.data.v1.Filter @@ -3612,79 +3863,85 @@ var file_app_data_v1_data_proto_depIdxs = []int32{ 6, // 2: viam.app.data.v1.Filter.interval:type_name -> viam.app.data.v1.CaptureInterval 4, // 3: viam.app.data.v1.Filter.tags_filter:type_name -> viam.app.data.v1.TagsFilter 1, // 4: viam.app.data.v1.TagsFilter.type:type_name -> viam.app.data.v1.TagsFilterType - 49, // 5: viam.app.data.v1.CaptureMetadata.method_parameters:type_name -> viam.app.data.v1.CaptureMetadata.MethodParametersEntry - 50, // 6: viam.app.data.v1.CaptureInterval.start:type_name -> google.protobuf.Timestamp - 50, // 7: viam.app.data.v1.CaptureInterval.end:type_name -> google.protobuf.Timestamp + 53, // 5: viam.app.data.v1.CaptureMetadata.method_parameters:type_name -> viam.app.data.v1.CaptureMetadata.MethodParametersEntry + 54, // 6: viam.app.data.v1.CaptureInterval.start:type_name -> google.protobuf.Timestamp + 54, // 7: viam.app.data.v1.CaptureInterval.end:type_name -> google.protobuf.Timestamp 2, // 8: viam.app.data.v1.TabularDataByFilterRequest.data_request:type_name -> viam.app.data.v1.DataRequest 5, // 9: viam.app.data.v1.TabularDataByFilterResponse.metadata:type_name -> viam.app.data.v1.CaptureMetadata 9, // 10: viam.app.data.v1.TabularDataByFilterResponse.data:type_name -> viam.app.data.v1.TabularData - 51, // 11: viam.app.data.v1.TabularData.data:type_name -> google.protobuf.Struct - 50, // 12: viam.app.data.v1.TabularData.time_requested:type_name -> google.protobuf.Timestamp - 50, // 13: viam.app.data.v1.TabularData.time_received:type_name -> google.protobuf.Timestamp - 18, // 14: viam.app.data.v1.BinaryData.metadata:type_name -> viam.app.data.v1.BinaryMetadata - 2, // 15: viam.app.data.v1.BinaryDataByFilterRequest.data_request:type_name -> viam.app.data.v1.DataRequest - 10, // 16: viam.app.data.v1.BinaryDataByFilterResponse.data:type_name -> viam.app.data.v1.BinaryData - 13, // 17: viam.app.data.v1.BinaryDataByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID - 10, // 18: viam.app.data.v1.BinaryDataByIDsResponse.data:type_name -> viam.app.data.v1.BinaryData - 16, // 19: viam.app.data.v1.Annotations.bboxes:type_name -> viam.app.data.v1.BoundingBox - 5, // 20: viam.app.data.v1.BinaryMetadata.capture_metadata:type_name -> viam.app.data.v1.CaptureMetadata - 50, // 21: viam.app.data.v1.BinaryMetadata.time_requested:type_name -> google.protobuf.Timestamp - 50, // 22: viam.app.data.v1.BinaryMetadata.time_received:type_name -> google.protobuf.Timestamp - 17, // 23: viam.app.data.v1.BinaryMetadata.annotations:type_name -> viam.app.data.v1.Annotations - 3, // 24: viam.app.data.v1.DeleteBinaryDataByFilterRequest.filter:type_name -> viam.app.data.v1.Filter - 13, // 25: viam.app.data.v1.DeleteBinaryDataByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID - 13, // 26: viam.app.data.v1.AddTagsToBinaryDataByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID - 3, // 27: viam.app.data.v1.AddTagsToBinaryDataByFilterRequest.filter:type_name -> viam.app.data.v1.Filter - 13, // 28: viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID - 3, // 29: viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest.filter:type_name -> viam.app.data.v1.Filter - 3, // 30: viam.app.data.v1.TagsByFilterRequest.filter:type_name -> viam.app.data.v1.Filter - 13, // 31: viam.app.data.v1.AddBoundingBoxToImageByIDRequest.binary_id:type_name -> viam.app.data.v1.BinaryID - 13, // 32: viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest.binary_id:type_name -> viam.app.data.v1.BinaryID - 3, // 33: viam.app.data.v1.BoundingBoxLabelsByFilterRequest.filter:type_name -> viam.app.data.v1.Filter - 13, // 34: viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID - 13, // 35: viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID - 52, // 36: viam.app.data.v1.CaptureMetadata.MethodParametersEntry.value:type_name -> google.protobuf.Any - 7, // 37: viam.app.data.v1.DataService.TabularDataByFilter:input_type -> viam.app.data.v1.TabularDataByFilterRequest - 11, // 38: viam.app.data.v1.DataService.BinaryDataByFilter:input_type -> viam.app.data.v1.BinaryDataByFilterRequest - 14, // 39: viam.app.data.v1.DataService.BinaryDataByIDs:input_type -> viam.app.data.v1.BinaryDataByIDsRequest - 19, // 40: viam.app.data.v1.DataService.DeleteTabularData:input_type -> viam.app.data.v1.DeleteTabularDataRequest - 21, // 41: viam.app.data.v1.DataService.DeleteBinaryDataByFilter:input_type -> viam.app.data.v1.DeleteBinaryDataByFilterRequest - 23, // 42: viam.app.data.v1.DataService.DeleteBinaryDataByIDs:input_type -> viam.app.data.v1.DeleteBinaryDataByIDsRequest - 25, // 43: viam.app.data.v1.DataService.AddTagsToBinaryDataByIDs:input_type -> viam.app.data.v1.AddTagsToBinaryDataByIDsRequest - 27, // 44: viam.app.data.v1.DataService.AddTagsToBinaryDataByFilter:input_type -> viam.app.data.v1.AddTagsToBinaryDataByFilterRequest - 29, // 45: viam.app.data.v1.DataService.RemoveTagsFromBinaryDataByIDs:input_type -> viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest - 31, // 46: viam.app.data.v1.DataService.RemoveTagsFromBinaryDataByFilter:input_type -> viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest - 33, // 47: viam.app.data.v1.DataService.TagsByFilter:input_type -> viam.app.data.v1.TagsByFilterRequest - 35, // 48: viam.app.data.v1.DataService.AddBoundingBoxToImageByID:input_type -> viam.app.data.v1.AddBoundingBoxToImageByIDRequest - 37, // 49: viam.app.data.v1.DataService.RemoveBoundingBoxFromImageByID:input_type -> viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest - 39, // 50: viam.app.data.v1.DataService.BoundingBoxLabelsByFilter:input_type -> viam.app.data.v1.BoundingBoxLabelsByFilterRequest - 43, // 51: viam.app.data.v1.DataService.GetDatabaseConnection:input_type -> viam.app.data.v1.GetDatabaseConnectionRequest - 41, // 52: viam.app.data.v1.DataService.ConfigureDatabaseUser:input_type -> viam.app.data.v1.ConfigureDatabaseUserRequest - 45, // 53: viam.app.data.v1.DataService.AddBinaryDataToDatasetByIDs:input_type -> viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest - 47, // 54: viam.app.data.v1.DataService.RemoveBinaryDataFromDatasetByIDs:input_type -> viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest - 8, // 55: viam.app.data.v1.DataService.TabularDataByFilter:output_type -> viam.app.data.v1.TabularDataByFilterResponse - 12, // 56: viam.app.data.v1.DataService.BinaryDataByFilter:output_type -> viam.app.data.v1.BinaryDataByFilterResponse - 15, // 57: viam.app.data.v1.DataService.BinaryDataByIDs:output_type -> viam.app.data.v1.BinaryDataByIDsResponse - 20, // 58: viam.app.data.v1.DataService.DeleteTabularData:output_type -> viam.app.data.v1.DeleteTabularDataResponse - 22, // 59: viam.app.data.v1.DataService.DeleteBinaryDataByFilter:output_type -> viam.app.data.v1.DeleteBinaryDataByFilterResponse - 24, // 60: viam.app.data.v1.DataService.DeleteBinaryDataByIDs:output_type -> viam.app.data.v1.DeleteBinaryDataByIDsResponse - 26, // 61: viam.app.data.v1.DataService.AddTagsToBinaryDataByIDs:output_type -> viam.app.data.v1.AddTagsToBinaryDataByIDsResponse - 28, // 62: viam.app.data.v1.DataService.AddTagsToBinaryDataByFilter:output_type -> viam.app.data.v1.AddTagsToBinaryDataByFilterResponse - 30, // 63: viam.app.data.v1.DataService.RemoveTagsFromBinaryDataByIDs:output_type -> viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse - 32, // 64: viam.app.data.v1.DataService.RemoveTagsFromBinaryDataByFilter:output_type -> viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse - 34, // 65: viam.app.data.v1.DataService.TagsByFilter:output_type -> viam.app.data.v1.TagsByFilterResponse - 36, // 66: viam.app.data.v1.DataService.AddBoundingBoxToImageByID:output_type -> viam.app.data.v1.AddBoundingBoxToImageByIDResponse - 38, // 67: viam.app.data.v1.DataService.RemoveBoundingBoxFromImageByID:output_type -> viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse - 40, // 68: viam.app.data.v1.DataService.BoundingBoxLabelsByFilter:output_type -> viam.app.data.v1.BoundingBoxLabelsByFilterResponse - 44, // 69: viam.app.data.v1.DataService.GetDatabaseConnection:output_type -> viam.app.data.v1.GetDatabaseConnectionResponse - 42, // 70: viam.app.data.v1.DataService.ConfigureDatabaseUser:output_type -> viam.app.data.v1.ConfigureDatabaseUserResponse - 46, // 71: viam.app.data.v1.DataService.AddBinaryDataToDatasetByIDs:output_type -> viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse - 48, // 72: viam.app.data.v1.DataService.RemoveBinaryDataFromDatasetByIDs:output_type -> viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponse - 55, // [55:73] is the sub-list for method output_type - 37, // [37:55] is the sub-list for method input_type - 37, // [37:37] is the sub-list for extension type_name - 37, // [37:37] is the sub-list for extension extendee - 0, // [0:37] is the sub-list for field type_name + 55, // 11: viam.app.data.v1.TabularData.data:type_name -> google.protobuf.Struct + 54, // 12: viam.app.data.v1.TabularData.time_requested:type_name -> google.protobuf.Timestamp + 54, // 13: viam.app.data.v1.TabularData.time_received:type_name -> google.protobuf.Timestamp + 55, // 14: viam.app.data.v1.TabularDataBySQLResponse.data:type_name -> google.protobuf.Struct + 55, // 15: viam.app.data.v1.TabularDataByMQLResponse.data:type_name -> google.protobuf.Struct + 22, // 16: viam.app.data.v1.BinaryData.metadata:type_name -> viam.app.data.v1.BinaryMetadata + 2, // 17: viam.app.data.v1.BinaryDataByFilterRequest.data_request:type_name -> viam.app.data.v1.DataRequest + 14, // 18: viam.app.data.v1.BinaryDataByFilterResponse.data:type_name -> viam.app.data.v1.BinaryData + 17, // 19: viam.app.data.v1.BinaryDataByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID + 14, // 20: viam.app.data.v1.BinaryDataByIDsResponse.data:type_name -> viam.app.data.v1.BinaryData + 20, // 21: viam.app.data.v1.Annotations.bboxes:type_name -> viam.app.data.v1.BoundingBox + 5, // 22: viam.app.data.v1.BinaryMetadata.capture_metadata:type_name -> viam.app.data.v1.CaptureMetadata + 54, // 23: viam.app.data.v1.BinaryMetadata.time_requested:type_name -> google.protobuf.Timestamp + 54, // 24: viam.app.data.v1.BinaryMetadata.time_received:type_name -> google.protobuf.Timestamp + 21, // 25: viam.app.data.v1.BinaryMetadata.annotations:type_name -> viam.app.data.v1.Annotations + 3, // 26: viam.app.data.v1.DeleteBinaryDataByFilterRequest.filter:type_name -> viam.app.data.v1.Filter + 17, // 27: viam.app.data.v1.DeleteBinaryDataByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID + 17, // 28: viam.app.data.v1.AddTagsToBinaryDataByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID + 3, // 29: viam.app.data.v1.AddTagsToBinaryDataByFilterRequest.filter:type_name -> viam.app.data.v1.Filter + 17, // 30: viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID + 3, // 31: viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest.filter:type_name -> viam.app.data.v1.Filter + 3, // 32: viam.app.data.v1.TagsByFilterRequest.filter:type_name -> viam.app.data.v1.Filter + 17, // 33: viam.app.data.v1.AddBoundingBoxToImageByIDRequest.binary_id:type_name -> viam.app.data.v1.BinaryID + 17, // 34: viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest.binary_id:type_name -> viam.app.data.v1.BinaryID + 3, // 35: viam.app.data.v1.BoundingBoxLabelsByFilterRequest.filter:type_name -> viam.app.data.v1.Filter + 17, // 36: viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID + 17, // 37: viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest.binary_ids:type_name -> viam.app.data.v1.BinaryID + 56, // 38: viam.app.data.v1.CaptureMetadata.MethodParametersEntry.value:type_name -> google.protobuf.Any + 7, // 39: viam.app.data.v1.DataService.TabularDataByFilter:input_type -> viam.app.data.v1.TabularDataByFilterRequest + 10, // 40: viam.app.data.v1.DataService.TabularDataBySQL:input_type -> viam.app.data.v1.TabularDataBySQLRequest + 12, // 41: viam.app.data.v1.DataService.TabularDataByMQL:input_type -> viam.app.data.v1.TabularDataByMQLRequest + 15, // 42: viam.app.data.v1.DataService.BinaryDataByFilter:input_type -> viam.app.data.v1.BinaryDataByFilterRequest + 18, // 43: viam.app.data.v1.DataService.BinaryDataByIDs:input_type -> viam.app.data.v1.BinaryDataByIDsRequest + 23, // 44: viam.app.data.v1.DataService.DeleteTabularData:input_type -> viam.app.data.v1.DeleteTabularDataRequest + 25, // 45: viam.app.data.v1.DataService.DeleteBinaryDataByFilter:input_type -> viam.app.data.v1.DeleteBinaryDataByFilterRequest + 27, // 46: viam.app.data.v1.DataService.DeleteBinaryDataByIDs:input_type -> viam.app.data.v1.DeleteBinaryDataByIDsRequest + 29, // 47: viam.app.data.v1.DataService.AddTagsToBinaryDataByIDs:input_type -> viam.app.data.v1.AddTagsToBinaryDataByIDsRequest + 31, // 48: viam.app.data.v1.DataService.AddTagsToBinaryDataByFilter:input_type -> viam.app.data.v1.AddTagsToBinaryDataByFilterRequest + 33, // 49: viam.app.data.v1.DataService.RemoveTagsFromBinaryDataByIDs:input_type -> viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest + 35, // 50: viam.app.data.v1.DataService.RemoveTagsFromBinaryDataByFilter:input_type -> viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest + 37, // 51: viam.app.data.v1.DataService.TagsByFilter:input_type -> viam.app.data.v1.TagsByFilterRequest + 39, // 52: viam.app.data.v1.DataService.AddBoundingBoxToImageByID:input_type -> viam.app.data.v1.AddBoundingBoxToImageByIDRequest + 41, // 53: viam.app.data.v1.DataService.RemoveBoundingBoxFromImageByID:input_type -> viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest + 43, // 54: viam.app.data.v1.DataService.BoundingBoxLabelsByFilter:input_type -> viam.app.data.v1.BoundingBoxLabelsByFilterRequest + 47, // 55: viam.app.data.v1.DataService.GetDatabaseConnection:input_type -> viam.app.data.v1.GetDatabaseConnectionRequest + 45, // 56: viam.app.data.v1.DataService.ConfigureDatabaseUser:input_type -> viam.app.data.v1.ConfigureDatabaseUserRequest + 49, // 57: viam.app.data.v1.DataService.AddBinaryDataToDatasetByIDs:input_type -> viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest + 51, // 58: viam.app.data.v1.DataService.RemoveBinaryDataFromDatasetByIDs:input_type -> viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest + 8, // 59: viam.app.data.v1.DataService.TabularDataByFilter:output_type -> viam.app.data.v1.TabularDataByFilterResponse + 11, // 60: viam.app.data.v1.DataService.TabularDataBySQL:output_type -> viam.app.data.v1.TabularDataBySQLResponse + 13, // 61: viam.app.data.v1.DataService.TabularDataByMQL:output_type -> viam.app.data.v1.TabularDataByMQLResponse + 16, // 62: viam.app.data.v1.DataService.BinaryDataByFilter:output_type -> viam.app.data.v1.BinaryDataByFilterResponse + 19, // 63: viam.app.data.v1.DataService.BinaryDataByIDs:output_type -> viam.app.data.v1.BinaryDataByIDsResponse + 24, // 64: viam.app.data.v1.DataService.DeleteTabularData:output_type -> viam.app.data.v1.DeleteTabularDataResponse + 26, // 65: viam.app.data.v1.DataService.DeleteBinaryDataByFilter:output_type -> viam.app.data.v1.DeleteBinaryDataByFilterResponse + 28, // 66: viam.app.data.v1.DataService.DeleteBinaryDataByIDs:output_type -> viam.app.data.v1.DeleteBinaryDataByIDsResponse + 30, // 67: viam.app.data.v1.DataService.AddTagsToBinaryDataByIDs:output_type -> viam.app.data.v1.AddTagsToBinaryDataByIDsResponse + 32, // 68: viam.app.data.v1.DataService.AddTagsToBinaryDataByFilter:output_type -> viam.app.data.v1.AddTagsToBinaryDataByFilterResponse + 34, // 69: viam.app.data.v1.DataService.RemoveTagsFromBinaryDataByIDs:output_type -> viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse + 36, // 70: viam.app.data.v1.DataService.RemoveTagsFromBinaryDataByFilter:output_type -> viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse + 38, // 71: viam.app.data.v1.DataService.TagsByFilter:output_type -> viam.app.data.v1.TagsByFilterResponse + 40, // 72: viam.app.data.v1.DataService.AddBoundingBoxToImageByID:output_type -> viam.app.data.v1.AddBoundingBoxToImageByIDResponse + 42, // 73: viam.app.data.v1.DataService.RemoveBoundingBoxFromImageByID:output_type -> viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse + 44, // 74: viam.app.data.v1.DataService.BoundingBoxLabelsByFilter:output_type -> viam.app.data.v1.BoundingBoxLabelsByFilterResponse + 48, // 75: viam.app.data.v1.DataService.GetDatabaseConnection:output_type -> viam.app.data.v1.GetDatabaseConnectionResponse + 46, // 76: viam.app.data.v1.DataService.ConfigureDatabaseUser:output_type -> viam.app.data.v1.ConfigureDatabaseUserResponse + 50, // 77: viam.app.data.v1.DataService.AddBinaryDataToDatasetByIDs:output_type -> viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse + 52, // 78: viam.app.data.v1.DataService.RemoveBinaryDataFromDatasetByIDs:output_type -> viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponse + 59, // [59:79] is the sub-list for method output_type + 39, // [39:59] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name } func init() { file_app_data_v1_data_proto_init() } @@ -3790,7 +4047,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BinaryData); i { + switch v := v.(*TabularDataBySQLRequest); i { case 0: return &v.state case 1: @@ -3802,7 +4059,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BinaryDataByFilterRequest); i { + switch v := v.(*TabularDataBySQLResponse); i { case 0: return &v.state case 1: @@ -3814,7 +4071,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BinaryDataByFilterResponse); i { + switch v := v.(*TabularDataByMQLRequest); i { case 0: return &v.state case 1: @@ -3826,7 +4083,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BinaryID); i { + switch v := v.(*TabularDataByMQLResponse); i { case 0: return &v.state case 1: @@ -3838,7 +4095,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BinaryDataByIDsRequest); i { + switch v := v.(*BinaryData); i { case 0: return &v.state case 1: @@ -3850,7 +4107,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BinaryDataByIDsResponse); i { + switch v := v.(*BinaryDataByFilterRequest); i { case 0: return &v.state case 1: @@ -3862,7 +4119,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoundingBox); i { + switch v := v.(*BinaryDataByFilterResponse); i { case 0: return &v.state case 1: @@ -3874,7 +4131,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Annotations); i { + switch v := v.(*BinaryID); i { case 0: return &v.state case 1: @@ -3886,7 +4143,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BinaryMetadata); i { + switch v := v.(*BinaryDataByIDsRequest); i { case 0: return &v.state case 1: @@ -3898,7 +4155,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTabularDataRequest); i { + switch v := v.(*BinaryDataByIDsResponse); i { case 0: return &v.state case 1: @@ -3910,7 +4167,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTabularDataResponse); i { + switch v := v.(*BoundingBox); i { case 0: return &v.state case 1: @@ -3922,7 +4179,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteBinaryDataByFilterRequest); i { + switch v := v.(*Annotations); i { case 0: return &v.state case 1: @@ -3934,7 +4191,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteBinaryDataByFilterResponse); i { + switch v := v.(*BinaryMetadata); i { case 0: return &v.state case 1: @@ -3946,7 +4203,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteBinaryDataByIDsRequest); i { + switch v := v.(*DeleteTabularDataRequest); i { case 0: return &v.state case 1: @@ -3958,7 +4215,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteBinaryDataByIDsResponse); i { + switch v := v.(*DeleteTabularDataResponse); i { case 0: return &v.state case 1: @@ -3970,7 +4227,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddTagsToBinaryDataByIDsRequest); i { + switch v := v.(*DeleteBinaryDataByFilterRequest); i { case 0: return &v.state case 1: @@ -3982,7 +4239,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddTagsToBinaryDataByIDsResponse); i { + switch v := v.(*DeleteBinaryDataByFilterResponse); i { case 0: return &v.state case 1: @@ -3994,7 +4251,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddTagsToBinaryDataByFilterRequest); i { + switch v := v.(*DeleteBinaryDataByIDsRequest); i { case 0: return &v.state case 1: @@ -4006,7 +4263,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddTagsToBinaryDataByFilterResponse); i { + switch v := v.(*DeleteBinaryDataByIDsResponse); i { case 0: return &v.state case 1: @@ -4018,7 +4275,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveTagsFromBinaryDataByIDsRequest); i { + switch v := v.(*AddTagsToBinaryDataByIDsRequest); i { case 0: return &v.state case 1: @@ -4030,7 +4287,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveTagsFromBinaryDataByIDsResponse); i { + switch v := v.(*AddTagsToBinaryDataByIDsResponse); i { case 0: return &v.state case 1: @@ -4042,7 +4299,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveTagsFromBinaryDataByFilterRequest); i { + switch v := v.(*AddTagsToBinaryDataByFilterRequest); i { case 0: return &v.state case 1: @@ -4054,7 +4311,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveTagsFromBinaryDataByFilterResponse); i { + switch v := v.(*AddTagsToBinaryDataByFilterResponse); i { case 0: return &v.state case 1: @@ -4066,7 +4323,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagsByFilterRequest); i { + switch v := v.(*RemoveTagsFromBinaryDataByIDsRequest); i { case 0: return &v.state case 1: @@ -4078,7 +4335,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagsByFilterResponse); i { + switch v := v.(*RemoveTagsFromBinaryDataByIDsResponse); i { case 0: return &v.state case 1: @@ -4090,7 +4347,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddBoundingBoxToImageByIDRequest); i { + switch v := v.(*RemoveTagsFromBinaryDataByFilterRequest); i { case 0: return &v.state case 1: @@ -4102,7 +4359,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddBoundingBoxToImageByIDResponse); i { + switch v := v.(*RemoveTagsFromBinaryDataByFilterResponse); i { case 0: return &v.state case 1: @@ -4114,7 +4371,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveBoundingBoxFromImageByIDRequest); i { + switch v := v.(*TagsByFilterRequest); i { case 0: return &v.state case 1: @@ -4126,7 +4383,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveBoundingBoxFromImageByIDResponse); i { + switch v := v.(*TagsByFilterResponse); i { case 0: return &v.state case 1: @@ -4138,7 +4395,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoundingBoxLabelsByFilterRequest); i { + switch v := v.(*AddBoundingBoxToImageByIDRequest); i { case 0: return &v.state case 1: @@ -4150,7 +4407,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoundingBoxLabelsByFilterResponse); i { + switch v := v.(*AddBoundingBoxToImageByIDResponse); i { case 0: return &v.state case 1: @@ -4162,7 +4419,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigureDatabaseUserRequest); i { + switch v := v.(*RemoveBoundingBoxFromImageByIDRequest); i { case 0: return &v.state case 1: @@ -4174,7 +4431,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigureDatabaseUserResponse); i { + switch v := v.(*RemoveBoundingBoxFromImageByIDResponse); i { case 0: return &v.state case 1: @@ -4186,7 +4443,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDatabaseConnectionRequest); i { + switch v := v.(*BoundingBoxLabelsByFilterRequest); i { case 0: return &v.state case 1: @@ -4198,7 +4455,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDatabaseConnectionResponse); i { + switch v := v.(*BoundingBoxLabelsByFilterResponse); i { case 0: return &v.state case 1: @@ -4210,7 +4467,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddBinaryDataToDatasetByIDsRequest); i { + switch v := v.(*ConfigureDatabaseUserRequest); i { case 0: return &v.state case 1: @@ -4222,7 +4479,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddBinaryDataToDatasetByIDsResponse); i { + switch v := v.(*ConfigureDatabaseUserResponse); i { case 0: return &v.state case 1: @@ -4234,7 +4491,7 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveBinaryDataFromDatasetByIDsRequest); i { + switch v := v.(*GetDatabaseConnectionRequest); i { case 0: return &v.state case 1: @@ -4246,6 +4503,54 @@ func file_app_data_v1_data_proto_init() { } } file_app_data_v1_data_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDatabaseConnectionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_app_data_v1_data_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddBinaryDataToDatasetByIDsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_app_data_v1_data_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddBinaryDataToDatasetByIDsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_app_data_v1_data_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveBinaryDataFromDatasetByIDsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_app_data_v1_data_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveBinaryDataFromDatasetByIDsResponse); i { case 0: return &v.state @@ -4264,7 +4569,7 @@ func file_app_data_v1_data_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_app_data_v1_data_proto_rawDesc, NumEnums: 2, - NumMessages: 48, + NumMessages: 52, NumExtensions: 0, NumServices: 1, }, diff --git a/app/data/v1/data.pb.gw.go b/app/data/v1/data.pb.gw.go index f82d00796..56543017f 100644 --- a/app/data/v1/data.pb.gw.go +++ b/app/data/v1/data.pb.gw.go @@ -65,6 +65,74 @@ func local_request_DataService_TabularDataByFilter_0(ctx context.Context, marsha } +func request_DataService_TabularDataBySQL_0(ctx context.Context, marshaler runtime.Marshaler, client DataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq TabularDataBySQLRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.TabularDataBySQL(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DataService_TabularDataBySQL_0(ctx context.Context, marshaler runtime.Marshaler, server DataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq TabularDataBySQLRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.TabularDataBySQL(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DataService_TabularDataByMQL_0(ctx context.Context, marshaler runtime.Marshaler, client DataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq TabularDataByMQLRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.TabularDataByMQL(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DataService_TabularDataByMQL_0(ctx context.Context, marshaler runtime.Marshaler, server DataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq TabularDataByMQLRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.TabularDataByMQL(ctx, &protoReq) + return msg, metadata, err + +} + func request_DataService_BinaryDataByFilter_0(ctx context.Context, marshaler runtime.Marshaler, client DataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq BinaryDataByFilterRequest var metadata runtime.ServerMetadata @@ -674,6 +742,56 @@ func RegisterDataServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux }) + mux.Handle("POST", pattern_DataService_TabularDataBySQL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/viam.app.data.v1.DataService/TabularDataBySQL", runtime.WithHTTPPathPattern("/viam.app.data.v1.DataService/TabularDataBySQL")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DataService_TabularDataBySQL_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataService_TabularDataBySQL_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DataService_TabularDataByMQL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/viam.app.data.v1.DataService/TabularDataByMQL", runtime.WithHTTPPathPattern("/viam.app.data.v1.DataService/TabularDataByMQL")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DataService_TabularDataByMQL_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataService_TabularDataByMQL_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("POST", pattern_DataService_BinaryDataByFilter_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1162,6 +1280,50 @@ func RegisterDataServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux }) + mux.Handle("POST", pattern_DataService_TabularDataBySQL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/viam.app.data.v1.DataService/TabularDataBySQL", runtime.WithHTTPPathPattern("/viam.app.data.v1.DataService/TabularDataBySQL")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DataService_TabularDataBySQL_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataService_TabularDataBySQL_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DataService_TabularDataByMQL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/viam.app.data.v1.DataService/TabularDataByMQL", runtime.WithHTTPPathPattern("/viam.app.data.v1.DataService/TabularDataByMQL")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DataService_TabularDataByMQL_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataService_TabularDataByMQL_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("POST", pattern_DataService_BinaryDataByFilter_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1542,6 +1704,10 @@ func RegisterDataServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux var ( pattern_DataService_TabularDataByFilter_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"viam.app.data.v1.DataService", "TabularDataByFilter"}, "")) + pattern_DataService_TabularDataBySQL_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"viam.app.data.v1.DataService", "TabularDataBySQL"}, "")) + + pattern_DataService_TabularDataByMQL_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"viam.app.data.v1.DataService", "TabularDataByMQL"}, "")) + pattern_DataService_BinaryDataByFilter_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"viam.app.data.v1.DataService", "BinaryDataByFilter"}, "")) pattern_DataService_BinaryDataByIDs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"viam.app.data.v1.DataService", "BinaryDataByIDs"}, "")) @@ -1580,6 +1746,10 @@ var ( var ( forward_DataService_TabularDataByFilter_0 = runtime.ForwardResponseMessage + forward_DataService_TabularDataBySQL_0 = runtime.ForwardResponseMessage + + forward_DataService_TabularDataByMQL_0 = runtime.ForwardResponseMessage + forward_DataService_BinaryDataByFilter_0 = runtime.ForwardResponseMessage forward_DataService_BinaryDataByIDs_0 = runtime.ForwardResponseMessage diff --git a/app/data/v1/data_grpc.pb.go b/app/data/v1/data_grpc.pb.go index 4f09846ed..5a009848c 100644 --- a/app/data/v1/data_grpc.pb.go +++ b/app/data/v1/data_grpc.pb.go @@ -24,6 +24,10 @@ const _ = grpc.SupportPackageIsVersion7 type DataServiceClient interface { // TabularDataByFilter queries tabular data and metadata based on given filters. TabularDataByFilter(ctx context.Context, in *TabularDataByFilterRequest, opts ...grpc.CallOption) (*TabularDataByFilterResponse, error) + // TabularDataBySQL queries tabular data with a SQL query. + TabularDataBySQL(ctx context.Context, in *TabularDataBySQLRequest, opts ...grpc.CallOption) (*TabularDataBySQLResponse, error) + // TabularDataByMQL queries tabular data with an MQL (MongoDB Query Language) query. + TabularDataByMQL(ctx context.Context, in *TabularDataByMQLRequest, opts ...grpc.CallOption) (*TabularDataByMQLResponse, error) // BinaryDataByFilter queries binary data and metadata based on given filters. BinaryDataByFilter(ctx context.Context, in *BinaryDataByFilterRequest, opts ...grpc.CallOption) (*BinaryDataByFilterResponse, error) // BinaryDataByIDs queries binary data and metadata based on given IDs. @@ -79,6 +83,24 @@ func (c *dataServiceClient) TabularDataByFilter(ctx context.Context, in *Tabular return out, nil } +func (c *dataServiceClient) TabularDataBySQL(ctx context.Context, in *TabularDataBySQLRequest, opts ...grpc.CallOption) (*TabularDataBySQLResponse, error) { + out := new(TabularDataBySQLResponse) + err := c.cc.Invoke(ctx, "/viam.app.data.v1.DataService/TabularDataBySQL", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataServiceClient) TabularDataByMQL(ctx context.Context, in *TabularDataByMQLRequest, opts ...grpc.CallOption) (*TabularDataByMQLResponse, error) { + out := new(TabularDataByMQLResponse) + err := c.cc.Invoke(ctx, "/viam.app.data.v1.DataService/TabularDataByMQL", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *dataServiceClient) BinaryDataByFilter(ctx context.Context, in *BinaryDataByFilterRequest, opts ...grpc.CallOption) (*BinaryDataByFilterResponse, error) { out := new(BinaryDataByFilterResponse) err := c.cc.Invoke(ctx, "/viam.app.data.v1.DataService/BinaryDataByFilter", in, out, opts...) @@ -238,6 +260,10 @@ func (c *dataServiceClient) RemoveBinaryDataFromDatasetByIDs(ctx context.Context type DataServiceServer interface { // TabularDataByFilter queries tabular data and metadata based on given filters. TabularDataByFilter(context.Context, *TabularDataByFilterRequest) (*TabularDataByFilterResponse, error) + // TabularDataBySQL queries tabular data with a SQL query. + TabularDataBySQL(context.Context, *TabularDataBySQLRequest) (*TabularDataBySQLResponse, error) + // TabularDataByMQL queries tabular data with an MQL (MongoDB Query Language) query. + TabularDataByMQL(context.Context, *TabularDataByMQLRequest) (*TabularDataByMQLResponse, error) // BinaryDataByFilter queries binary data and metadata based on given filters. BinaryDataByFilter(context.Context, *BinaryDataByFilterRequest) (*BinaryDataByFilterResponse, error) // BinaryDataByIDs queries binary data and metadata based on given IDs. @@ -284,6 +310,12 @@ type UnimplementedDataServiceServer struct { func (UnimplementedDataServiceServer) TabularDataByFilter(context.Context, *TabularDataByFilterRequest) (*TabularDataByFilterResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method TabularDataByFilter not implemented") } +func (UnimplementedDataServiceServer) TabularDataBySQL(context.Context, *TabularDataBySQLRequest) (*TabularDataBySQLResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TabularDataBySQL not implemented") +} +func (UnimplementedDataServiceServer) TabularDataByMQL(context.Context, *TabularDataByMQLRequest) (*TabularDataByMQLResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TabularDataByMQL not implemented") +} func (UnimplementedDataServiceServer) BinaryDataByFilter(context.Context, *BinaryDataByFilterRequest) (*BinaryDataByFilterResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method BinaryDataByFilter not implemented") } @@ -366,6 +398,42 @@ func _DataService_TabularDataByFilter_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _DataService_TabularDataBySQL_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TabularDataBySQLRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataServiceServer).TabularDataBySQL(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/viam.app.data.v1.DataService/TabularDataBySQL", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataServiceServer).TabularDataBySQL(ctx, req.(*TabularDataBySQLRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataService_TabularDataByMQL_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TabularDataByMQLRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataServiceServer).TabularDataByMQL(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/viam.app.data.v1.DataService/TabularDataByMQL", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataServiceServer).TabularDataByMQL(ctx, req.(*TabularDataByMQLRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _DataService_BinaryDataByFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(BinaryDataByFilterRequest) if err := dec(in); err != nil { @@ -683,6 +751,14 @@ var DataService_ServiceDesc = grpc.ServiceDesc{ MethodName: "TabularDataByFilter", Handler: _DataService_TabularDataByFilter_Handler, }, + { + MethodName: "TabularDataBySQL", + Handler: _DataService_TabularDataBySQL_Handler, + }, + { + MethodName: "TabularDataByMQL", + Handler: _DataService_TabularDataByMQL_Handler, + }, { MethodName: "BinaryDataByFilter", Handler: _DataService_BinaryDataByFilter_Handler, diff --git a/app/dataset/v1/dataset.pb.go b/app/dataset/v1/dataset.pb.go index 8b00c80e9..8653effeb 100644 --- a/app/dataset/v1/dataset.pb.go +++ b/app/dataset/v1/dataset.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: app/dataset/v1/dataset.proto diff --git a/app/datasync/v1/data_sync.pb.go b/app/datasync/v1/data_sync.pb.go index 792edd626..2f6de609f 100644 --- a/app/datasync/v1/data_sync.pb.go +++ b/app/datasync/v1/data_sync.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: app/datasync/v1/data_sync.proto diff --git a/app/mltraining/v1/ml_training.pb.go b/app/mltraining/v1/ml_training.pb.go index 111a33deb..b1e24e8a9 100644 --- a/app/mltraining/v1/ml_training.pb.go +++ b/app/mltraining/v1/ml_training.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: app/mltraining/v1/ml_training.proto diff --git a/app/packages/v1/packages.pb.go b/app/packages/v1/packages.pb.go index 44f395aba..fef530088 100644 --- a/app/packages/v1/packages.pb.go +++ b/app/packages/v1/packages.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: app/packages/v1/packages.proto diff --git a/app/v1/app.pb.go b/app/v1/app.pb.go index b1c04b7ae..8fc734a24 100644 --- a/app/v1/app.pb.go +++ b/app/v1/app.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: app/v1/app.proto @@ -1930,7 +1930,7 @@ type LocationAuth struct { // Deprecated: use secrets field. // - // Deprecated: Do not use. + // Deprecated: Marked as deprecated in app/v1/app.proto. Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` // Location ID containing this LocationAuth. LocationId string `protobuf:"bytes,2,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` @@ -1970,7 +1970,7 @@ func (*LocationAuth) Descriptor() ([]byte, []int) { return file_app_v1_app_proto_rawDescGZIP(), []int{31} } -// Deprecated: Do not use. +// Deprecated: Marked as deprecated in app/v1/app.proto. func (x *LocationAuth) GetSecret() string { if x != nil { return x.Secret diff --git a/app/v1/billing.pb.go b/app/v1/billing.pb.go index 6bb25ac81..a7412cbca 100644 --- a/app/v1/billing.pb.go +++ b/app/v1/billing.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: app/v1/billing.proto diff --git a/app/v1/end_user.pb.go b/app/v1/end_user.pb.go index 5231f6e3e..8cd228b7e 100644 --- a/app/v1/end_user.pb.go +++ b/app/v1/end_user.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: app/v1/end_user.proto diff --git a/app/v1/robot.pb.go b/app/v1/robot.pb.go index 894ea333e..ee77a1d24 100644 --- a/app/v1/robot.pb.go +++ b/app/v1/robot.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: app/v1/robot.proto @@ -325,7 +325,7 @@ type CloudConfig struct { SignalingInsecure bool `protobuf:"varint,6,opt,name=signaling_insecure,json=signalingInsecure,proto3" json:"signaling_insecure,omitempty"` // Deprecated use location_secrets // - // Deprecated: Do not use. + // Deprecated: Marked as deprecated in app/v1/robot.proto. LocationSecret string `protobuf:"bytes,7,opt,name=location_secret,json=locationSecret,proto3" json:"location_secret,omitempty"` // Robot part secret Secret string `protobuf:"bytes,8,opt,name=secret,proto3" json:"secret,omitempty"` @@ -407,7 +407,7 @@ func (x *CloudConfig) GetSignalingInsecure() bool { return false } -// Deprecated: Do not use. +// Deprecated: Marked as deprecated in app/v1/robot.proto. func (x *CloudConfig) GetLocationSecret() string { if x != nil { return x.LocationSecret diff --git a/common/v1/common.pb.go b/common/v1/common.pb.go index 01aafdc3b..cd224381a 100644 --- a/common/v1/common.pb.go +++ b/common/v1/common.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: common/v1/common.proto diff --git a/component/arm/v1/arm.pb.go b/component/arm/v1/arm.pb.go index 42d8a4659..80face4f0 100644 --- a/component/arm/v1/arm.pb.go +++ b/component/arm/v1/arm.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/arm/v1/arm.proto diff --git a/component/audioinput/v1/audioinput.pb.go b/component/audioinput/v1/audioinput.pb.go index 49f5d70dc..ea141172f 100644 --- a/component/audioinput/v1/audioinput.pb.go +++ b/component/audioinput/v1/audioinput.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/audioinput/v1/audioinput.proto diff --git a/component/base/v1/base.pb.go b/component/base/v1/base.pb.go index 694a34b7f..eebed8ffc 100644 --- a/component/base/v1/base.pb.go +++ b/component/base/v1/base.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/base/v1/base.proto diff --git a/component/base/v1/base.pb.gw.go b/component/base/v1/base.pb.gw.go index faa48e8b0..185bd31aa 100644 --- a/component/base/v1/base.pb.gw.go +++ b/component/base/v1/base.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -439,7 +439,7 @@ var ( ) func request_BaseService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client BaseServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -472,7 +472,7 @@ func request_BaseService_DoCommand_0(ctx context.Context, marshaler runtime.Mars } func local_request_BaseService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server BaseServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -509,7 +509,7 @@ var ( ) func request_BaseService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client BaseServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -542,7 +542,7 @@ func request_BaseService_GetGeometries_0(ctx context.Context, marshaler runtime. } func local_request_BaseService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server BaseServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/board/v1/board.pb.go b/component/board/v1/board.pb.go index 53761a767..bd1531692 100644 --- a/component/board/v1/board.pb.go +++ b/component/board/v1/board.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/board/v1/board.proto diff --git a/component/board/v1/board.pb.gw.go b/component/board/v1/board.pb.gw.go index 84b5b756d..bbebd2fb5 100644 --- a/component/board/v1/board.pb.gw.go +++ b/component/board/v1/board.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -527,7 +527,7 @@ var ( ) func request_BoardService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client BoardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -560,7 +560,7 @@ func request_BoardService_DoCommand_0(ctx context.Context, marshaler runtime.Mar } func local_request_BoardService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server BoardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -917,7 +917,7 @@ var ( ) func request_BoardService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client BoardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -950,7 +950,7 @@ func request_BoardService_GetGeometries_0(ctx context.Context, marshaler runtime } func local_request_BoardService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server BoardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/camera/v1/camera.pb.go b/component/camera/v1/camera.pb.go index 4ef053056..03770f1e0 100644 --- a/component/camera/v1/camera.pb.go +++ b/component/camera/v1/camera.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/camera/v1/camera.proto diff --git a/component/encoder/v1/encoder.pb.go b/component/encoder/v1/encoder.pb.go index ceeeb5644..e6a8fb72d 100644 --- a/component/encoder/v1/encoder.pb.go +++ b/component/encoder/v1/encoder.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/encoder/v1/encoder.proto diff --git a/component/gantry/v1/gantry.pb.go b/component/gantry/v1/gantry.pb.go index 04bd49379..40bbe5cfd 100644 --- a/component/gantry/v1/gantry.pb.go +++ b/component/gantry/v1/gantry.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/gantry/v1/gantry.proto diff --git a/component/gantry/v1/gantry.pb.gw.go b/component/gantry/v1/gantry.pb.gw.go index e78f11c29..13a62b8f4 100644 --- a/component/gantry/v1/gantry.pb.gw.go +++ b/component/gantry/v1/gantry.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -439,7 +439,7 @@ var ( ) func request_GantryService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client GantryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -472,7 +472,7 @@ func request_GantryService_DoCommand_0(ctx context.Context, marshaler runtime.Ma } func local_request_GantryService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server GantryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -509,7 +509,7 @@ var ( ) func request_GantryService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client GantryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -542,7 +542,7 @@ func request_GantryService_GetGeometries_0(ctx context.Context, marshaler runtim } func local_request_GantryService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server GantryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/generic/v1/generic.pb.go b/component/generic/v1/generic.pb.go index a85770c4f..25eaef325 100644 --- a/component/generic/v1/generic.pb.go +++ b/component/generic/v1/generic.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/generic/v1/generic.proto diff --git a/component/generic/v1/generic.pb.gw.go b/component/generic/v1/generic.pb.gw.go index 81abf78ba..8b95fb2a9 100644 --- a/component/generic/v1/generic.pb.gw.go +++ b/component/generic/v1/generic.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -37,7 +37,7 @@ var ( ) func request_GenericService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client GenericServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -70,7 +70,7 @@ func request_GenericService_DoCommand_0(ctx context.Context, marshaler runtime.M } func local_request_GenericService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server GenericServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -107,7 +107,7 @@ var ( ) func request_GenericService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client GenericServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -140,7 +140,7 @@ func request_GenericService_GetGeometries_0(ctx context.Context, marshaler runti } func local_request_GenericService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server GenericServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/gripper/v1/gripper.pb.go b/component/gripper/v1/gripper.pb.go index 5fb95c8ed..284d2ef05 100644 --- a/component/gripper/v1/gripper.pb.go +++ b/component/gripper/v1/gripper.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/gripper/v1/gripper.proto diff --git a/component/gripper/v1/gripper.pb.gw.go b/component/gripper/v1/gripper.pb.gw.go index d732daf0a..b432b0c7e 100644 --- a/component/gripper/v1/gripper.pb.gw.go +++ b/component/gripper/v1/gripper.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -299,7 +299,7 @@ var ( ) func request_GripperService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client GripperServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -332,7 +332,7 @@ func request_GripperService_DoCommand_0(ctx context.Context, marshaler runtime.M } func local_request_GripperService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server GripperServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -369,7 +369,7 @@ var ( ) func request_GripperService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client GripperServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -402,7 +402,7 @@ func request_GripperService_GetGeometries_0(ctx context.Context, marshaler runti } func local_request_GripperService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server GripperServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/inputcontroller/v1/input_controller.pb.go b/component/inputcontroller/v1/input_controller.pb.go index b64b30504..f5a6d0224 100644 --- a/component/inputcontroller/v1/input_controller.pb.go +++ b/component/inputcontroller/v1/input_controller.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/inputcontroller/v1/input_controller.proto diff --git a/component/inputcontroller/v1/input_controller.pb.gw.go b/component/inputcontroller/v1/input_controller.pb.gw.go index 199f00f1d..65d0cf631 100644 --- a/component/inputcontroller/v1/input_controller.pb.gw.go +++ b/component/inputcontroller/v1/input_controller.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "go.viam.com/api/common/v1" + v1_0 "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -292,7 +292,7 @@ var ( ) func request_InputControllerService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client InputControllerServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -325,7 +325,7 @@ func request_InputControllerService_DoCommand_0(ctx context.Context, marshaler r } func local_request_InputControllerService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server InputControllerServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -362,7 +362,7 @@ var ( ) func request_InputControllerService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client InputControllerServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.GetGeometriesRequest + var protoReq v1_0.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -395,7 +395,7 @@ func request_InputControllerService_GetGeometries_0(ctx context.Context, marshal } func local_request_InputControllerService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server InputControllerServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.GetGeometriesRequest + var protoReq v1_0.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/motor/v1/motor.pb.go b/component/motor/v1/motor.pb.go index fd84644c0..b4786f6ca 100644 --- a/component/motor/v1/motor.pb.go +++ b/component/motor/v1/motor.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/motor/v1/motor.proto diff --git a/component/motor/v1/motor.pb.gw.go b/component/motor/v1/motor.pb.gw.go index 09b3358c0..6a3de9c6a 100644 --- a/component/motor/v1/motor.pb.gw.go +++ b/component/motor/v1/motor.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -649,7 +649,7 @@ var ( ) func request_MotorService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client MotorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -682,7 +682,7 @@ func request_MotorService_DoCommand_0(ctx context.Context, marshaler runtime.Mar } func local_request_MotorService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server MotorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -719,7 +719,7 @@ var ( ) func request_MotorService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client MotorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -752,7 +752,7 @@ func request_MotorService_GetGeometries_0(ctx context.Context, marshaler runtime } func local_request_MotorService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server MotorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/movementsensor/v1/movementsensor.pb.go b/component/movementsensor/v1/movementsensor.pb.go index 116e6e747..392cfdc76 100644 --- a/component/movementsensor/v1/movementsensor.pb.go +++ b/component/movementsensor/v1/movementsensor.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/movementsensor/v1/movementsensor.proto diff --git a/component/posetracker/v1/pose_tracker.pb.go b/component/posetracker/v1/pose_tracker.pb.go index 9b01e7508..b17965af7 100644 --- a/component/posetracker/v1/pose_tracker.pb.go +++ b/component/posetracker/v1/pose_tracker.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/posetracker/v1/pose_tracker.proto diff --git a/component/powersensor/v1/powersensor.pb.go b/component/powersensor/v1/powersensor.pb.go index 88a32c659..8cc6121ab 100644 --- a/component/powersensor/v1/powersensor.pb.go +++ b/component/powersensor/v1/powersensor.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/powersensor/v1/powersensor.proto diff --git a/component/sensor/v1/sensor.pb.go b/component/sensor/v1/sensor.pb.go index bdb17ec71..e74c70c48 100644 --- a/component/sensor/v1/sensor.pb.go +++ b/component/sensor/v1/sensor.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/sensor/v1/sensor.proto diff --git a/component/sensor/v1/sensor.pb.gw.go b/component/sensor/v1/sensor.pb.gw.go index 66681c369..b45747050 100644 --- a/component/sensor/v1/sensor.pb.gw.go +++ b/component/sensor/v1/sensor.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "go.viam.com/api/common/v1" + v1_0 "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -37,7 +37,7 @@ var ( ) func request_SensorService_GetReadings_0(ctx context.Context, marshaler runtime.Marshaler, client SensorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.GetReadingsRequest + var protoReq v1_0.GetReadingsRequest var metadata runtime.ServerMetadata var ( @@ -70,7 +70,7 @@ func request_SensorService_GetReadings_0(ctx context.Context, marshaler runtime. } func local_request_SensorService_GetReadings_0(ctx context.Context, marshaler runtime.Marshaler, server SensorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.GetReadingsRequest + var protoReq v1_0.GetReadingsRequest var metadata runtime.ServerMetadata var ( @@ -107,7 +107,7 @@ var ( ) func request_SensorService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client SensorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -140,7 +140,7 @@ func request_SensorService_DoCommand_0(ctx context.Context, marshaler runtime.Ma } func local_request_SensorService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server SensorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -177,7 +177,7 @@ var ( ) func request_SensorService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client SensorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.GetGeometriesRequest + var protoReq v1_0.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -210,7 +210,7 @@ func request_SensorService_GetGeometries_0(ctx context.Context, marshaler runtim } func local_request_SensorService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server SensorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.GetGeometriesRequest + var protoReq v1_0.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/servo/v1/servo.pb.go b/component/servo/v1/servo.pb.go index 62469d44a..c45dda26d 100644 --- a/component/servo/v1/servo.pb.go +++ b/component/servo/v1/servo.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/servo/v1/servo.proto diff --git a/component/testecho/v1/testecho.pb.go b/component/testecho/v1/testecho.pb.go index 1300e9dab..84e741b27 100644 --- a/component/testecho/v1/testecho.pb.go +++ b/component/testecho/v1/testecho.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: component/testecho/v1/testecho.proto diff --git a/gen/js/app/data/v1/data_grpc_web_pb.js b/gen/js/app/data/v1/data_grpc_web_pb.js index 3a56f8bb1..8b9248419 100644 --- a/gen/js/app/data/v1/data_grpc_web_pb.js +++ b/gen/js/app/data/v1/data_grpc_web_pb.js @@ -144,6 +144,128 @@ proto.viam.app.data.v1.DataServicePromiseClient.prototype.tabularDataByFilter = }; +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.viam.app.data.v1.TabularDataBySQLRequest, + * !proto.viam.app.data.v1.TabularDataBySQLResponse>} + */ +const methodDescriptor_DataService_TabularDataBySQL = new grpc.web.MethodDescriptor( + '/viam.app.data.v1.DataService/TabularDataBySQL', + grpc.web.MethodType.UNARY, + proto.viam.app.data.v1.TabularDataBySQLRequest, + proto.viam.app.data.v1.TabularDataBySQLResponse, + /** + * @param {!proto.viam.app.data.v1.TabularDataBySQLRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.viam.app.data.v1.TabularDataBySQLResponse.deserializeBinary +); + + +/** + * @param {!proto.viam.app.data.v1.TabularDataBySQLRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.RpcError, ?proto.viam.app.data.v1.TabularDataBySQLResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.viam.app.data.v1.DataServiceClient.prototype.tabularDataBySQL = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/viam.app.data.v1.DataService/TabularDataBySQL', + request, + metadata || {}, + methodDescriptor_DataService_TabularDataBySQL, + callback); +}; + + +/** + * @param {!proto.viam.app.data.v1.TabularDataBySQLRequest} request The + * request proto + * @param {?Object=} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.viam.app.data.v1.DataServicePromiseClient.prototype.tabularDataBySQL = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/viam.app.data.v1.DataService/TabularDataBySQL', + request, + metadata || {}, + methodDescriptor_DataService_TabularDataBySQL); +}; + + +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.viam.app.data.v1.TabularDataByMQLRequest, + * !proto.viam.app.data.v1.TabularDataByMQLResponse>} + */ +const methodDescriptor_DataService_TabularDataByMQL = new grpc.web.MethodDescriptor( + '/viam.app.data.v1.DataService/TabularDataByMQL', + grpc.web.MethodType.UNARY, + proto.viam.app.data.v1.TabularDataByMQLRequest, + proto.viam.app.data.v1.TabularDataByMQLResponse, + /** + * @param {!proto.viam.app.data.v1.TabularDataByMQLRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.viam.app.data.v1.TabularDataByMQLResponse.deserializeBinary +); + + +/** + * @param {!proto.viam.app.data.v1.TabularDataByMQLRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.RpcError, ?proto.viam.app.data.v1.TabularDataByMQLResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.viam.app.data.v1.DataServiceClient.prototype.tabularDataByMQL = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/viam.app.data.v1.DataService/TabularDataByMQL', + request, + metadata || {}, + methodDescriptor_DataService_TabularDataByMQL, + callback); +}; + + +/** + * @param {!proto.viam.app.data.v1.TabularDataByMQLRequest} request The + * request proto + * @param {?Object=} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.viam.app.data.v1.DataServicePromiseClient.prototype.tabularDataByMQL = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/viam.app.data.v1.DataService/TabularDataByMQL', + request, + metadata || {}, + methodDescriptor_DataService_TabularDataByMQL); +}; + + /** * @const * @type {!grpc.web.MethodDescriptor< diff --git a/gen/js/app/data/v1/data_pb.d.ts b/gen/js/app/data/v1/data_pb.d.ts index 7f20ae67f..dd5a1d26d 100644 --- a/gen/js/app/data/v1/data_pb.d.ts +++ b/gen/js/app/data/v1/data_pb.d.ts @@ -351,6 +351,98 @@ export namespace TabularData { } } +export class TabularDataBySQLRequest extends jspb.Message { + getOrganizationId(): string; + setOrganizationId(value: string): void; + + getSqlQuery(): string; + setSqlQuery(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): TabularDataBySQLRequest.AsObject; + static toObject(includeInstance: boolean, msg: TabularDataBySQLRequest): TabularDataBySQLRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: TabularDataBySQLRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): TabularDataBySQLRequest; + static deserializeBinaryFromReader(message: TabularDataBySQLRequest, reader: jspb.BinaryReader): TabularDataBySQLRequest; +} + +export namespace TabularDataBySQLRequest { + export type AsObject = { + organizationId: string, + sqlQuery: string, + } +} + +export class TabularDataBySQLResponse extends jspb.Message { + clearDataList(): void; + getDataList(): Array; + setDataList(value: Array): void; + addData(value?: google_protobuf_struct_pb.Struct, index?: number): google_protobuf_struct_pb.Struct; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): TabularDataBySQLResponse.AsObject; + static toObject(includeInstance: boolean, msg: TabularDataBySQLResponse): TabularDataBySQLResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: TabularDataBySQLResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): TabularDataBySQLResponse; + static deserializeBinaryFromReader(message: TabularDataBySQLResponse, reader: jspb.BinaryReader): TabularDataBySQLResponse; +} + +export namespace TabularDataBySQLResponse { + export type AsObject = { + dataList: Array, + } +} + +export class TabularDataByMQLRequest extends jspb.Message { + getOrganizationId(): string; + setOrganizationId(value: string): void; + + getMqlQuery(): string; + setMqlQuery(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): TabularDataByMQLRequest.AsObject; + static toObject(includeInstance: boolean, msg: TabularDataByMQLRequest): TabularDataByMQLRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: TabularDataByMQLRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): TabularDataByMQLRequest; + static deserializeBinaryFromReader(message: TabularDataByMQLRequest, reader: jspb.BinaryReader): TabularDataByMQLRequest; +} + +export namespace TabularDataByMQLRequest { + export type AsObject = { + organizationId: string, + mqlQuery: string, + } +} + +export class TabularDataByMQLResponse extends jspb.Message { + clearDataList(): void; + getDataList(): Array; + setDataList(value: Array): void; + addData(value?: google_protobuf_struct_pb.Struct, index?: number): google_protobuf_struct_pb.Struct; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): TabularDataByMQLResponse.AsObject; + static toObject(includeInstance: boolean, msg: TabularDataByMQLResponse): TabularDataByMQLResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: TabularDataByMQLResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): TabularDataByMQLResponse; + static deserializeBinaryFromReader(message: TabularDataByMQLResponse, reader: jspb.BinaryReader): TabularDataByMQLResponse; +} + +export namespace TabularDataByMQLResponse { + export type AsObject = { + dataList: Array, + } +} + export class BinaryData extends jspb.Message { getBinary(): Uint8Array | string; getBinary_asU8(): Uint8Array; diff --git a/gen/js/app/data/v1/data_pb.js b/gen/js/app/data/v1/data_pb.js index 5b864ed02..c598c1938 100644 --- a/gen/js/app/data/v1/data_pb.js +++ b/gen/js/app/data/v1/data_pb.js @@ -66,6 +66,10 @@ goog.exportSymbol('proto.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse' goog.exportSymbol('proto.viam.app.data.v1.TabularData', null, global); goog.exportSymbol('proto.viam.app.data.v1.TabularDataByFilterRequest', null, global); goog.exportSymbol('proto.viam.app.data.v1.TabularDataByFilterResponse', null, global); +goog.exportSymbol('proto.viam.app.data.v1.TabularDataByMQLRequest', null, global); +goog.exportSymbol('proto.viam.app.data.v1.TabularDataByMQLResponse', null, global); +goog.exportSymbol('proto.viam.app.data.v1.TabularDataBySQLRequest', null, global); +goog.exportSymbol('proto.viam.app.data.v1.TabularDataBySQLResponse', null, global); goog.exportSymbol('proto.viam.app.data.v1.TagsByFilterRequest', null, global); goog.exportSymbol('proto.viam.app.data.v1.TagsByFilterResponse', null, global); goog.exportSymbol('proto.viam.app.data.v1.TagsFilter', null, global); @@ -238,6 +242,90 @@ if (goog.DEBUG && !COMPILED) { */ proto.viam.app.data.v1.TabularData.displayName = 'proto.viam.app.data.v1.TabularData'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.app.data.v1.TabularDataBySQLRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.app.data.v1.TabularDataBySQLRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.data.v1.TabularDataBySQLRequest.displayName = 'proto.viam.app.data.v1.TabularDataBySQLRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.app.data.v1.TabularDataBySQLResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.viam.app.data.v1.TabularDataBySQLResponse.repeatedFields_, null); +}; +goog.inherits(proto.viam.app.data.v1.TabularDataBySQLResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.data.v1.TabularDataBySQLResponse.displayName = 'proto.viam.app.data.v1.TabularDataBySQLResponse'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.app.data.v1.TabularDataByMQLRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.app.data.v1.TabularDataByMQLRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.data.v1.TabularDataByMQLRequest.displayName = 'proto.viam.app.data.v1.TabularDataByMQLRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.app.data.v1.TabularDataByMQLResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.viam.app.data.v1.TabularDataByMQLResponse.repeatedFields_, null); +}; +goog.inherits(proto.viam.app.data.v1.TabularDataByMQLResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.data.v1.TabularDataByMQLResponse.displayName = 'proto.viam.app.data.v1.TabularDataByMQLResponse'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -3620,6 +3708,646 @@ proto.viam.app.data.v1.TabularData.prototype.hasTimeReceived = function() { +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.viam.app.data.v1.TabularDataBySQLRequest.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.data.v1.TabularDataBySQLRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.app.data.v1.TabularDataBySQLRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.data.v1.TabularDataBySQLRequest.toObject = function(includeInstance, msg) { + var f, obj = { + organizationId: jspb.Message.getFieldWithDefault(msg, 1, ""), + sqlQuery: jspb.Message.getFieldWithDefault(msg, 2, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.app.data.v1.TabularDataBySQLRequest} + */ +proto.viam.app.data.v1.TabularDataBySQLRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.data.v1.TabularDataBySQLRequest; + return proto.viam.app.data.v1.TabularDataBySQLRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.data.v1.TabularDataBySQLRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.data.v1.TabularDataBySQLRequest} + */ +proto.viam.app.data.v1.TabularDataBySQLRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setOrganizationId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setSqlQuery(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.data.v1.TabularDataBySQLRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.data.v1.TabularDataBySQLRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.app.data.v1.TabularDataBySQLRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.data.v1.TabularDataBySQLRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getOrganizationId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getSqlQuery(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * optional string organization_id = 1; + * @return {string} + */ +proto.viam.app.data.v1.TabularDataBySQLRequest.prototype.getOrganizationId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.data.v1.TabularDataBySQLRequest} returns this + */ +proto.viam.app.data.v1.TabularDataBySQLRequest.prototype.setOrganizationId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string sql_query = 2; + * @return {string} + */ +proto.viam.app.data.v1.TabularDataBySQLRequest.prototype.getSqlQuery = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.data.v1.TabularDataBySQLRequest} returns this + */ +proto.viam.app.data.v1.TabularDataBySQLRequest.prototype.setSqlQuery = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.viam.app.data.v1.TabularDataBySQLResponse.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.viam.app.data.v1.TabularDataBySQLResponse.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.data.v1.TabularDataBySQLResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.app.data.v1.TabularDataBySQLResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.data.v1.TabularDataBySQLResponse.toObject = function(includeInstance, msg) { + var f, obj = { + dataList: jspb.Message.toObjectList(msg.getDataList(), + google_protobuf_struct_pb.Struct.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.app.data.v1.TabularDataBySQLResponse} + */ +proto.viam.app.data.v1.TabularDataBySQLResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.data.v1.TabularDataBySQLResponse; + return proto.viam.app.data.v1.TabularDataBySQLResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.data.v1.TabularDataBySQLResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.data.v1.TabularDataBySQLResponse} + */ +proto.viam.app.data.v1.TabularDataBySQLResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new google_protobuf_struct_pb.Struct; + reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader); + msg.addData(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.data.v1.TabularDataBySQLResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.data.v1.TabularDataBySQLResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.app.data.v1.TabularDataBySQLResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.data.v1.TabularDataBySQLResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDataList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + google_protobuf_struct_pb.Struct.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated google.protobuf.Struct data = 1; + * @return {!Array} + */ +proto.viam.app.data.v1.TabularDataBySQLResponse.prototype.getDataList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, google_protobuf_struct_pb.Struct, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.viam.app.data.v1.TabularDataBySQLResponse} returns this +*/ +proto.viam.app.data.v1.TabularDataBySQLResponse.prototype.setDataList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.google.protobuf.Struct=} opt_value + * @param {number=} opt_index + * @return {!proto.google.protobuf.Struct} + */ +proto.viam.app.data.v1.TabularDataBySQLResponse.prototype.addData = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.google.protobuf.Struct, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.viam.app.data.v1.TabularDataBySQLResponse} returns this + */ +proto.viam.app.data.v1.TabularDataBySQLResponse.prototype.clearDataList = function() { + return this.setDataList([]); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.viam.app.data.v1.TabularDataByMQLRequest.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.data.v1.TabularDataByMQLRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.app.data.v1.TabularDataByMQLRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.data.v1.TabularDataByMQLRequest.toObject = function(includeInstance, msg) { + var f, obj = { + organizationId: jspb.Message.getFieldWithDefault(msg, 1, ""), + mqlQuery: jspb.Message.getFieldWithDefault(msg, 2, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.app.data.v1.TabularDataByMQLRequest} + */ +proto.viam.app.data.v1.TabularDataByMQLRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.data.v1.TabularDataByMQLRequest; + return proto.viam.app.data.v1.TabularDataByMQLRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.data.v1.TabularDataByMQLRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.data.v1.TabularDataByMQLRequest} + */ +proto.viam.app.data.v1.TabularDataByMQLRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setOrganizationId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setMqlQuery(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.data.v1.TabularDataByMQLRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.data.v1.TabularDataByMQLRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.app.data.v1.TabularDataByMQLRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.data.v1.TabularDataByMQLRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getOrganizationId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getMqlQuery(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } +}; + + +/** + * optional string organization_id = 1; + * @return {string} + */ +proto.viam.app.data.v1.TabularDataByMQLRequest.prototype.getOrganizationId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.data.v1.TabularDataByMQLRequest} returns this + */ +proto.viam.app.data.v1.TabularDataByMQLRequest.prototype.setOrganizationId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string mql_query = 2; + * @return {string} + */ +proto.viam.app.data.v1.TabularDataByMQLRequest.prototype.getMqlQuery = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.data.v1.TabularDataByMQLRequest} returns this + */ +proto.viam.app.data.v1.TabularDataByMQLRequest.prototype.setMqlQuery = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.viam.app.data.v1.TabularDataByMQLResponse.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.viam.app.data.v1.TabularDataByMQLResponse.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.data.v1.TabularDataByMQLResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.app.data.v1.TabularDataByMQLResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.data.v1.TabularDataByMQLResponse.toObject = function(includeInstance, msg) { + var f, obj = { + dataList: jspb.Message.toObjectList(msg.getDataList(), + google_protobuf_struct_pb.Struct.toObject, includeInstance) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.app.data.v1.TabularDataByMQLResponse} + */ +proto.viam.app.data.v1.TabularDataByMQLResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.data.v1.TabularDataByMQLResponse; + return proto.viam.app.data.v1.TabularDataByMQLResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.data.v1.TabularDataByMQLResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.data.v1.TabularDataByMQLResponse} + */ +proto.viam.app.data.v1.TabularDataByMQLResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new google_protobuf_struct_pb.Struct; + reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader); + msg.addData(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.data.v1.TabularDataByMQLResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.data.v1.TabularDataByMQLResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.app.data.v1.TabularDataByMQLResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.data.v1.TabularDataByMQLResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getDataList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 1, + f, + google_protobuf_struct_pb.Struct.serializeBinaryToWriter + ); + } +}; + + +/** + * repeated google.protobuf.Struct data = 1; + * @return {!Array} + */ +proto.viam.app.data.v1.TabularDataByMQLResponse.prototype.getDataList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, google_protobuf_struct_pb.Struct, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.viam.app.data.v1.TabularDataByMQLResponse} returns this +*/ +proto.viam.app.data.v1.TabularDataByMQLResponse.prototype.setDataList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); +}; + + +/** + * @param {!proto.google.protobuf.Struct=} opt_value + * @param {number=} opt_index + * @return {!proto.google.protobuf.Struct} + */ +proto.viam.app.data.v1.TabularDataByMQLResponse.prototype.addData = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.google.protobuf.Struct, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.viam.app.data.v1.TabularDataByMQLResponse} returns this + */ +proto.viam.app.data.v1.TabularDataByMQLResponse.prototype.clearDataList = function() { + return this.setDataList([]); +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. diff --git a/gen/js/app/data/v1/data_pb_service.d.ts b/gen/js/app/data/v1/data_pb_service.d.ts index a4164ea0d..a4e943d5c 100644 --- a/gen/js/app/data/v1/data_pb_service.d.ts +++ b/gen/js/app/data/v1/data_pb_service.d.ts @@ -13,6 +13,24 @@ type DataServiceTabularDataByFilter = { readonly responseType: typeof app_data_v1_data_pb.TabularDataByFilterResponse; }; +type DataServiceTabularDataBySQL = { + readonly methodName: string; + readonly service: typeof DataService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof app_data_v1_data_pb.TabularDataBySQLRequest; + readonly responseType: typeof app_data_v1_data_pb.TabularDataBySQLResponse; +}; + +type DataServiceTabularDataByMQL = { + readonly methodName: string; + readonly service: typeof DataService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof app_data_v1_data_pb.TabularDataByMQLRequest; + readonly responseType: typeof app_data_v1_data_pb.TabularDataByMQLResponse; +}; + type DataServiceBinaryDataByFilter = { readonly methodName: string; readonly service: typeof DataService; @@ -169,6 +187,8 @@ type DataServiceRemoveBinaryDataFromDatasetByIDs = { export class DataService { static readonly serviceName: string; static readonly TabularDataByFilter: DataServiceTabularDataByFilter; + static readonly TabularDataBySQL: DataServiceTabularDataBySQL; + static readonly TabularDataByMQL: DataServiceTabularDataByMQL; static readonly BinaryDataByFilter: DataServiceBinaryDataByFilter; static readonly BinaryDataByIDs: DataServiceBinaryDataByIDs; static readonly DeleteTabularData: DataServiceDeleteTabularData; @@ -229,6 +249,24 @@ export class DataServiceClient { requestMessage: app_data_v1_data_pb.TabularDataByFilterRequest, callback: (error: ServiceError|null, responseMessage: app_data_v1_data_pb.TabularDataByFilterResponse|null) => void ): UnaryResponse; + tabularDataBySQL( + requestMessage: app_data_v1_data_pb.TabularDataBySQLRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: app_data_v1_data_pb.TabularDataBySQLResponse|null) => void + ): UnaryResponse; + tabularDataBySQL( + requestMessage: app_data_v1_data_pb.TabularDataBySQLRequest, + callback: (error: ServiceError|null, responseMessage: app_data_v1_data_pb.TabularDataBySQLResponse|null) => void + ): UnaryResponse; + tabularDataByMQL( + requestMessage: app_data_v1_data_pb.TabularDataByMQLRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: app_data_v1_data_pb.TabularDataByMQLResponse|null) => void + ): UnaryResponse; + tabularDataByMQL( + requestMessage: app_data_v1_data_pb.TabularDataByMQLRequest, + callback: (error: ServiceError|null, responseMessage: app_data_v1_data_pb.TabularDataByMQLResponse|null) => void + ): UnaryResponse; binaryDataByFilter( requestMessage: app_data_v1_data_pb.BinaryDataByFilterRequest, metadata: grpc.Metadata, diff --git a/gen/js/app/data/v1/data_pb_service.js b/gen/js/app/data/v1/data_pb_service.js index a8cef77ff..5b40675fb 100644 --- a/gen/js/app/data/v1/data_pb_service.js +++ b/gen/js/app/data/v1/data_pb_service.js @@ -19,6 +19,24 @@ DataService.TabularDataByFilter = { responseType: app_data_v1_data_pb.TabularDataByFilterResponse }; +DataService.TabularDataBySQL = { + methodName: "TabularDataBySQL", + service: DataService, + requestStream: false, + responseStream: false, + requestType: app_data_v1_data_pb.TabularDataBySQLRequest, + responseType: app_data_v1_data_pb.TabularDataBySQLResponse +}; + +DataService.TabularDataByMQL = { + methodName: "TabularDataByMQL", + service: DataService, + requestStream: false, + responseStream: false, + requestType: app_data_v1_data_pb.TabularDataByMQLRequest, + responseType: app_data_v1_data_pb.TabularDataByMQLResponse +}; + DataService.BinaryDataByFilter = { methodName: "BinaryDataByFilter", service: DataService, @@ -210,6 +228,68 @@ DataServiceClient.prototype.tabularDataByFilter = function tabularDataByFilter(r }; }; +DataServiceClient.prototype.tabularDataBySQL = function tabularDataBySQL(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(DataService.TabularDataBySQL, { + request: requestMessage, + host: this.serviceHost, + metadata: metadata, + transport: this.options.transport, + debug: this.options.debug, + onEnd: function (response) { + if (callback) { + if (response.status !== grpc.Code.OK) { + var err = new Error(response.statusMessage); + err.code = response.status; + err.metadata = response.trailers; + callback(err, null); + } else { + callback(null, response.message); + } + } + } + }); + return { + cancel: function () { + callback = null; + client.close(); + } + }; +}; + +DataServiceClient.prototype.tabularDataByMQL = function tabularDataByMQL(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(DataService.TabularDataByMQL, { + request: requestMessage, + host: this.serviceHost, + metadata: metadata, + transport: this.options.transport, + debug: this.options.debug, + onEnd: function (response) { + if (callback) { + if (response.status !== grpc.Code.OK) { + var err = new Error(response.statusMessage); + err.code = response.status; + err.metadata = response.trailers; + callback(err, null); + } else { + callback(null, response.message); + } + } + } + }); + return { + cancel: function () { + callback = null; + client.close(); + } + }; +}; + DataServiceClient.prototype.binaryDataByFilter = function binaryDataByFilter(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; diff --git a/module/v1/module.pb.go b/module/v1/module.pb.go index 6b6aa5c5b..dd9eda49b 100644 --- a/module/v1/module.pb.go +++ b/module/v1/module.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: module/v1/module.proto diff --git a/proto/viam/app/data/v1/data.proto b/proto/viam/app/data/v1/data.proto index 0b49f9b25..d5c1d1b1b 100644 --- a/proto/viam/app/data/v1/data.proto +++ b/proto/viam/app/data/v1/data.proto @@ -13,6 +13,12 @@ service DataService { // TabularDataByFilter queries tabular data and metadata based on given filters. rpc TabularDataByFilter(TabularDataByFilterRequest) returns (TabularDataByFilterResponse); + // TabularDataBySQL queries tabular data with a SQL query. + rpc TabularDataBySQL(TabularDataBySQLRequest) returns (TabularDataBySQLResponse); + + // TabularDataByMQL queries tabular data with an MQL (MongoDB Query Language) query. + rpc TabularDataByMQL(TabularDataByMQLRequest) returns (TabularDataByMQLResponse); + // BinaryDataByFilter queries binary data and metadata based on given filters. rpc BinaryDataByFilter(BinaryDataByFilterRequest) returns (BinaryDataByFilterResponse); @@ -180,6 +186,33 @@ message TabularData { google.protobuf.Timestamp time_received = 4; } +// TabularDataBySQLRequest requests tabular data using a SQL query. +message TabularDataBySQLRequest { + string organization_id = 1; + // sql_query accepts any valid SQL SELECT statement. Tabular data is held in a database + // called "sensorData" and a table called readings, so queries should select from "readings" + // or "sensorData.readings". + string sql_query = 2; +} + +// TabularDataBySQLResponse provides unified tabular data and metadata, queried with SQL. +message TabularDataBySQLResponse { + repeated google.protobuf.Struct data = 1; +} + +// TabularDataByMQLRequest requests tabular data using an MQL query. +message TabularDataByMQLRequest { + string organization_id = 1; + // mql_query accepts a MongoDB aggregation pipeline, to be run on the "sensorData.readings" + // namespace, which holds the Viam organization's tabular data. + string mql_query = 2; +} + +// TabularDataByMQLResponse provides unified tabular data and metadata, queried with MQL. +message TabularDataByMQLResponse { + repeated google.protobuf.Struct data = 1; +} + // BinaryData contains data and metadata associated with binary data. message BinaryData { bytes binary = 1; diff --git a/robot/v1/robot.pb.go b/robot/v1/robot.pb.go index 2066c7f2e..3ccb1bb58 100644 --- a/robot/v1/robot.pb.go +++ b/robot/v1/robot.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: robot/v1/robot.proto diff --git a/service/datamanager/v1/data_manager.pb.go b/service/datamanager/v1/data_manager.pb.go index 2803313fe..3e4436128 100644 --- a/service/datamanager/v1/data_manager.pb.go +++ b/service/datamanager/v1/data_manager.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: service/datamanager/v1/data_manager.proto diff --git a/service/mlmodel/v1/mlmodel.pb.go b/service/mlmodel/v1/mlmodel.pb.go index f2c7d713e..0326747e0 100644 --- a/service/mlmodel/v1/mlmodel.pb.go +++ b/service/mlmodel/v1/mlmodel.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: service/mlmodel/v1/mlmodel.proto diff --git a/service/motion/v1/motion.pb.go b/service/motion/v1/motion.pb.go index df2051c68..3197b5925 100644 --- a/service/motion/v1/motion.pb.go +++ b/service/motion/v1/motion.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: service/motion/v1/motion.proto diff --git a/service/navigation/v1/navigation.pb.go b/service/navigation/v1/navigation.pb.go index a21c70f9c..3671837d0 100644 --- a/service/navigation/v1/navigation.pb.go +++ b/service/navigation/v1/navigation.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: service/navigation/v1/navigation.proto diff --git a/service/sensors/v1/sensors.pb.go b/service/sensors/v1/sensors.pb.go index 7d69dcf87..fabba670c 100644 --- a/service/sensors/v1/sensors.pb.go +++ b/service/sensors/v1/sensors.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: service/sensors/v1/sensors.proto diff --git a/service/sensors/v1/sensors.pb.gw.go b/service/sensors/v1/sensors.pb.gw.go index b0c69d02f..9fc2a2808 100644 --- a/service/sensors/v1/sensors.pb.gw.go +++ b/service/sensors/v1/sensors.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "go.viam.com/api/common/v1" + v1_0 "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -177,7 +177,7 @@ var ( ) func request_SensorsService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client SensorsServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -210,7 +210,7 @@ func request_SensorsService_DoCommand_0(ctx context.Context, marshaler runtime.M } func local_request_SensorsService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server SensorsServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( diff --git a/service/shell/v1/shell.pb.go b/service/shell/v1/shell.pb.go index d6a4fd1ae..f0f1a7976 100644 --- a/service/shell/v1/shell.pb.go +++ b/service/shell/v1/shell.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: service/shell/v1/shell.proto diff --git a/service/slam/v1/slam.pb.go b/service/slam/v1/slam.pb.go index ef450c9db..34e15b757 100644 --- a/service/slam/v1/slam.pb.go +++ b/service/slam/v1/slam.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: service/slam/v1/slam.proto diff --git a/service/slam/v1/slam.pb.gw.go b/service/slam/v1/slam.pb.gw.go index a26deb244..7803f2636 100644 --- a/service/slam/v1/slam.pb.gw.go +++ b/service/slam/v1/slam.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "go.viam.com/api/common/v1" + v1_0 "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -209,7 +209,7 @@ var ( ) func request_SLAMService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client SLAMServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -242,7 +242,7 @@ func request_SLAMService_DoCommand_0(ctx context.Context, marshaler runtime.Mars } func local_request_SLAMService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server SLAMServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( diff --git a/service/vision/v1/vision.pb.go b/service/vision/v1/vision.pb.go index 1533a6ddf..9d1a14a71 100644 --- a/service/vision/v1/vision.pb.go +++ b/service/vision/v1/vision.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: service/vision/v1/vision.proto diff --git a/stream/v1/stream.pb.go b/stream/v1/stream.pb.go index 8e037ea86..34aab41ca 100644 --- a/stream/v1/stream.pb.go +++ b/stream/v1/stream.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: stream/v1/stream.proto diff --git a/tagger/v1/tagger.pb.go b/tagger/v1/tagger.pb.go index ceb92b0e6..6d9d0a2a7 100644 --- a/tagger/v1/tagger.pb.go +++ b/tagger/v1/tagger.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: tagger/v1/tagger.proto