From ee4649cb80aef62049aa645e3995bbf5fef19dc0 Mon Sep 17 00:00:00 2001 From: emily hong <31592018+ehhong@users.noreply.github.com> Date: Mon, 27 Nov 2023 11:48:57 -0500 Subject: [PATCH] APP-3180 CreateRegistryItem and UpdateRegistryItem (#399) Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- app/v1/app.pb.go | 2084 ++++++++++------- app/v1/app.pb.gw.go | 170 ++ app/v1/app_grpc.pb.go | 72 + component/audioinput/v1/audioinput.pb.gw.go | 10 +- component/gantry/v1/gantry.pb.gw.go | 10 +- component/gripper/v1/gripper.pb.gw.go | 10 +- component/powersensor/v1/powersensor.pb.gw.go | 10 +- component/sensor/v1/sensor.pb.gw.go | 14 +- gen/js/app/v1/app_grpc_web_pb.js | 124 + gen/js/app/v1/app_pb.d.ts | 93 + gen/js/app/v1/app_pb.js | 702 ++++++ gen/js/app/v1/app_pb_service.d.ts | 38 + gen/js/app/v1/app_pb_service.js | 80 + proto/viam/app/v1/app.proto | 25 + service/datamanager/v1/data_manager.pb.gw.go | 6 +- service/motion/v1/motion.pb.gw.go | 6 +- service/navigation/v1/navigation.pb.gw.go | 6 +- service/slam/v1/slam.pb.gw.go | 6 +- service/vision/v1/vision.pb.gw.go | 6 +- 19 files changed, 2545 insertions(+), 927 deletions(-) diff --git a/app/v1/app.pb.go b/app/v1/app.pb.go index 8fc734a24..411b71367 100644 --- a/app/v1/app.pb.go +++ b/app/v1/app.pb.go @@ -8,6 +8,7 @@ package v1 import ( _ "github.com/srikrsna/protoc-gen-gotag/tagger" + v1 "go.viam.com/api/app/packages/v1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" structpb "google.golang.org/protobuf/types/known/structpb" @@ -6561,6 +6562,219 @@ func (x *CheckPermissionsResponse) GetAuthorizedPermissions() []*AuthorizedPermi return nil } +type CreateRegistryItemRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The organization to create the registry item under + OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` + // The name of the registry item, which must be unique within your org + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The type of the item in the registry + Type v1.PackageType `protobuf:"varint,3,opt,name=type,proto3,enum=viam.app.packages.v1.PackageType" json:"type,omitempty"` +} + +func (x *CreateRegistryItemRequest) Reset() { + *x = CreateRegistryItemRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_app_v1_app_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRegistryItemRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRegistryItemRequest) ProtoMessage() {} + +func (x *CreateRegistryItemRequest) ProtoReflect() protoreflect.Message { + mi := &file_app_v1_app_proto_msgTypes[119] + 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 CreateRegistryItemRequest.ProtoReflect.Descriptor instead. +func (*CreateRegistryItemRequest) Descriptor() ([]byte, []int) { + return file_app_v1_app_proto_rawDescGZIP(), []int{119} +} + +func (x *CreateRegistryItemRequest) GetOrganizationId() string { + if x != nil { + return x.OrganizationId + } + return "" +} + +func (x *CreateRegistryItemRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateRegistryItemRequest) GetType() v1.PackageType { + if x != nil { + return x.Type + } + return v1.PackageType(0) +} + +type CreateRegistryItemResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CreateRegistryItemResponse) Reset() { + *x = CreateRegistryItemResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_app_v1_app_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRegistryItemResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRegistryItemResponse) ProtoMessage() {} + +func (x *CreateRegistryItemResponse) ProtoReflect() protoreflect.Message { + mi := &file_app_v1_app_proto_msgTypes[120] + 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 CreateRegistryItemResponse.ProtoReflect.Descriptor instead. +func (*CreateRegistryItemResponse) Descriptor() ([]byte, []int) { + return file_app_v1_app_proto_rawDescGZIP(), []int{120} +} + +type UpdateRegistryItemRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemId string `protobuf:"bytes,1,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"` + Type v1.PackageType `protobuf:"varint,2,opt,name=type,proto3,enum=viam.app.packages.v1.PackageType" json:"type,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Visibility Visibility `protobuf:"varint,4,opt,name=visibility,proto3,enum=viam.app.v1.Visibility" json:"visibility,omitempty"` +} + +func (x *UpdateRegistryItemRequest) Reset() { + *x = UpdateRegistryItemRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_app_v1_app_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRegistryItemRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRegistryItemRequest) ProtoMessage() {} + +func (x *UpdateRegistryItemRequest) ProtoReflect() protoreflect.Message { + mi := &file_app_v1_app_proto_msgTypes[121] + 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 UpdateRegistryItemRequest.ProtoReflect.Descriptor instead. +func (*UpdateRegistryItemRequest) Descriptor() ([]byte, []int) { + return file_app_v1_app_proto_rawDescGZIP(), []int{121} +} + +func (x *UpdateRegistryItemRequest) GetItemId() string { + if x != nil { + return x.ItemId + } + return "" +} + +func (x *UpdateRegistryItemRequest) GetType() v1.PackageType { + if x != nil { + return x.Type + } + return v1.PackageType(0) +} + +func (x *UpdateRegistryItemRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateRegistryItemRequest) GetVisibility() Visibility { + if x != nil { + return x.Visibility + } + return Visibility_VISIBILITY_UNSPECIFIED +} + +type UpdateRegistryItemResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateRegistryItemResponse) Reset() { + *x = UpdateRegistryItemResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_app_v1_app_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRegistryItemResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRegistryItemResponse) ProtoMessage() {} + +func (x *UpdateRegistryItemResponse) ProtoReflect() protoreflect.Message { + mi := &file_app_v1_app_proto_msgTypes[122] + 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 UpdateRegistryItemResponse.ProtoReflect.Descriptor instead. +func (*UpdateRegistryItemResponse) Descriptor() ([]byte, []int) { + return file_app_v1_app_proto_rawDescGZIP(), []int{122} +} + // Modules type CreateModuleRequest struct { state protoimpl.MessageState @@ -6576,7 +6790,7 @@ type CreateModuleRequest struct { func (x *CreateModuleRequest) Reset() { *x = CreateModuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[119] + mi := &file_app_v1_app_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6589,7 +6803,7 @@ func (x *CreateModuleRequest) String() string { func (*CreateModuleRequest) ProtoMessage() {} func (x *CreateModuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[119] + mi := &file_app_v1_app_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6602,7 +6816,7 @@ func (x *CreateModuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateModuleRequest.ProtoReflect.Descriptor instead. func (*CreateModuleRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{119} + return file_app_v1_app_proto_rawDescGZIP(), []int{123} } func (x *CreateModuleRequest) GetOrganizationId() string { @@ -6633,7 +6847,7 @@ type CreateModuleResponse struct { func (x *CreateModuleResponse) Reset() { *x = CreateModuleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[120] + mi := &file_app_v1_app_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6646,7 +6860,7 @@ func (x *CreateModuleResponse) String() string { func (*CreateModuleResponse) ProtoMessage() {} func (x *CreateModuleResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[120] + mi := &file_app_v1_app_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6659,7 +6873,7 @@ func (x *CreateModuleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateModuleResponse.ProtoReflect.Descriptor instead. func (*CreateModuleResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{120} + return file_app_v1_app_proto_rawDescGZIP(), []int{124} } func (x *CreateModuleResponse) GetModuleId() string { @@ -6698,7 +6912,7 @@ type UpdateModuleRequest struct { func (x *UpdateModuleRequest) Reset() { *x = UpdateModuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[121] + mi := &file_app_v1_app_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6711,7 +6925,7 @@ func (x *UpdateModuleRequest) String() string { func (*UpdateModuleRequest) ProtoMessage() {} func (x *UpdateModuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[121] + mi := &file_app_v1_app_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6724,7 +6938,7 @@ func (x *UpdateModuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateModuleRequest.ProtoReflect.Descriptor instead. func (*UpdateModuleRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{121} + return file_app_v1_app_proto_rawDescGZIP(), []int{125} } func (x *UpdateModuleRequest) GetModuleId() string { @@ -6781,7 +6995,7 @@ type UpdateModuleResponse struct { func (x *UpdateModuleResponse) Reset() { *x = UpdateModuleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[122] + mi := &file_app_v1_app_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6794,7 +7008,7 @@ func (x *UpdateModuleResponse) String() string { func (*UpdateModuleResponse) ProtoMessage() {} func (x *UpdateModuleResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[122] + mi := &file_app_v1_app_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6807,7 +7021,7 @@ func (x *UpdateModuleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateModuleResponse.ProtoReflect.Descriptor instead. func (*UpdateModuleResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{122} + return file_app_v1_app_proto_rawDescGZIP(), []int{126} } func (x *UpdateModuleResponse) GetUrl() string { @@ -6831,7 +7045,7 @@ type Model struct { func (x *Model) Reset() { *x = Model{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[123] + mi := &file_app_v1_app_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6844,7 +7058,7 @@ func (x *Model) String() string { func (*Model) ProtoMessage() {} func (x *Model) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[123] + mi := &file_app_v1_app_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6857,7 +7071,7 @@ func (x *Model) ProtoReflect() protoreflect.Message { // Deprecated: Use Model.ProtoReflect.Descriptor instead. func (*Model) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{123} + return file_app_v1_app_proto_rawDescGZIP(), []int{127} } func (x *Model) GetApi() string { @@ -6890,7 +7104,7 @@ type ModuleFileInfo struct { func (x *ModuleFileInfo) Reset() { *x = ModuleFileInfo{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[124] + mi := &file_app_v1_app_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6903,7 +7117,7 @@ func (x *ModuleFileInfo) String() string { func (*ModuleFileInfo) ProtoMessage() {} func (x *ModuleFileInfo) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[124] + mi := &file_app_v1_app_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6916,7 +7130,7 @@ func (x *ModuleFileInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ModuleFileInfo.ProtoReflect.Descriptor instead. func (*ModuleFileInfo) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{124} + return file_app_v1_app_proto_rawDescGZIP(), []int{128} } func (x *ModuleFileInfo) GetModuleId() string { @@ -6955,7 +7169,7 @@ type UploadModuleFileRequest struct { func (x *UploadModuleFileRequest) Reset() { *x = UploadModuleFileRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[125] + mi := &file_app_v1_app_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6968,7 +7182,7 @@ func (x *UploadModuleFileRequest) String() string { func (*UploadModuleFileRequest) ProtoMessage() {} func (x *UploadModuleFileRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[125] + mi := &file_app_v1_app_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6981,7 +7195,7 @@ func (x *UploadModuleFileRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadModuleFileRequest.ProtoReflect.Descriptor instead. func (*UploadModuleFileRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{125} + return file_app_v1_app_proto_rawDescGZIP(), []int{129} } func (m *UploadModuleFileRequest) GetModuleFile() isUploadModuleFileRequest_ModuleFile { @@ -7035,7 +7249,7 @@ type UploadModuleFileResponse struct { func (x *UploadModuleFileResponse) Reset() { *x = UploadModuleFileResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[126] + mi := &file_app_v1_app_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7048,7 +7262,7 @@ func (x *UploadModuleFileResponse) String() string { func (*UploadModuleFileResponse) ProtoMessage() {} func (x *UploadModuleFileResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[126] + mi := &file_app_v1_app_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7061,7 +7275,7 @@ func (x *UploadModuleFileResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadModuleFileResponse.ProtoReflect.Descriptor instead. func (*UploadModuleFileResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{126} + return file_app_v1_app_proto_rawDescGZIP(), []int{130} } func (x *UploadModuleFileResponse) GetUrl() string { @@ -7083,7 +7297,7 @@ type GetModuleRequest struct { func (x *GetModuleRequest) Reset() { *x = GetModuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[127] + mi := &file_app_v1_app_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7096,7 +7310,7 @@ func (x *GetModuleRequest) String() string { func (*GetModuleRequest) ProtoMessage() {} func (x *GetModuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[127] + mi := &file_app_v1_app_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7109,7 +7323,7 @@ func (x *GetModuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetModuleRequest.ProtoReflect.Descriptor instead. func (*GetModuleRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{127} + return file_app_v1_app_proto_rawDescGZIP(), []int{131} } func (x *GetModuleRequest) GetModuleId() string { @@ -7131,7 +7345,7 @@ type GetModuleResponse struct { func (x *GetModuleResponse) Reset() { *x = GetModuleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[128] + mi := &file_app_v1_app_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7144,7 +7358,7 @@ func (x *GetModuleResponse) String() string { func (*GetModuleResponse) ProtoMessage() {} func (x *GetModuleResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[128] + mi := &file_app_v1_app_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7157,7 +7371,7 @@ func (x *GetModuleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetModuleResponse.ProtoReflect.Descriptor instead. func (*GetModuleResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{128} + return file_app_v1_app_proto_rawDescGZIP(), []int{132} } func (x *GetModuleResponse) GetModule() *Module { @@ -7203,7 +7417,7 @@ type Module struct { func (x *Module) Reset() { *x = Module{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[129] + mi := &file_app_v1_app_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7216,7 +7430,7 @@ func (x *Module) String() string { func (*Module) ProtoMessage() {} func (x *Module) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[129] + mi := &file_app_v1_app_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7229,7 +7443,7 @@ func (x *Module) ProtoReflect() protoreflect.Message { // Deprecated: Use Module.ProtoReflect.Descriptor instead. func (*Module) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{129} + return file_app_v1_app_proto_rawDescGZIP(), []int{133} } func (x *Module) GetModuleId() string { @@ -7334,7 +7548,7 @@ type VersionHistory struct { func (x *VersionHistory) Reset() { *x = VersionHistory{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[130] + mi := &file_app_v1_app_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7347,7 +7561,7 @@ func (x *VersionHistory) String() string { func (*VersionHistory) ProtoMessage() {} func (x *VersionHistory) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[130] + mi := &file_app_v1_app_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7360,7 +7574,7 @@ func (x *VersionHistory) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionHistory.ProtoReflect.Descriptor instead. func (*VersionHistory) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{130} + return file_app_v1_app_proto_rawDescGZIP(), []int{134} } func (x *VersionHistory) GetVersion() string { @@ -7405,7 +7619,7 @@ type Uploads struct { func (x *Uploads) Reset() { *x = Uploads{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[131] + mi := &file_app_v1_app_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7418,7 +7632,7 @@ func (x *Uploads) String() string { func (*Uploads) ProtoMessage() {} func (x *Uploads) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[131] + mi := &file_app_v1_app_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7431,7 +7645,7 @@ func (x *Uploads) ProtoReflect() protoreflect.Message { // Deprecated: Use Uploads.ProtoReflect.Descriptor instead. func (*Uploads) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{131} + return file_app_v1_app_proto_rawDescGZIP(), []int{135} } func (x *Uploads) GetPlatform() string { @@ -7460,7 +7674,7 @@ type ListModulesRequest struct { func (x *ListModulesRequest) Reset() { *x = ListModulesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[132] + mi := &file_app_v1_app_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7473,7 +7687,7 @@ func (x *ListModulesRequest) String() string { func (*ListModulesRequest) ProtoMessage() {} func (x *ListModulesRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[132] + mi := &file_app_v1_app_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7486,7 +7700,7 @@ func (x *ListModulesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListModulesRequest.ProtoReflect.Descriptor instead. func (*ListModulesRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{132} + return file_app_v1_app_proto_rawDescGZIP(), []int{136} } func (x *ListModulesRequest) GetOrganizationId() string { @@ -7508,7 +7722,7 @@ type ListModulesResponse struct { func (x *ListModulesResponse) Reset() { *x = ListModulesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[133] + mi := &file_app_v1_app_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7521,7 +7735,7 @@ func (x *ListModulesResponse) String() string { func (*ListModulesResponse) ProtoMessage() {} func (x *ListModulesResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[133] + mi := &file_app_v1_app_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7534,7 +7748,7 @@ func (x *ListModulesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListModulesResponse.ProtoReflect.Descriptor instead. func (*ListModulesResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{133} + return file_app_v1_app_proto_rawDescGZIP(), []int{137} } func (x *ListModulesResponse) GetModules() []*Module { @@ -7555,7 +7769,7 @@ type GetUserIDByEmailRequest struct { func (x *GetUserIDByEmailRequest) Reset() { *x = GetUserIDByEmailRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[134] + mi := &file_app_v1_app_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7568,7 +7782,7 @@ func (x *GetUserIDByEmailRequest) String() string { func (*GetUserIDByEmailRequest) ProtoMessage() {} func (x *GetUserIDByEmailRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[134] + mi := &file_app_v1_app_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7581,7 +7795,7 @@ func (x *GetUserIDByEmailRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserIDByEmailRequest.ProtoReflect.Descriptor instead. func (*GetUserIDByEmailRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{134} + return file_app_v1_app_proto_rawDescGZIP(), []int{138} } func (x *GetUserIDByEmailRequest) GetEmail() string { @@ -7602,7 +7816,7 @@ type GetUserIDByEmailResponse struct { func (x *GetUserIDByEmailResponse) Reset() { *x = GetUserIDByEmailResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[135] + mi := &file_app_v1_app_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7615,7 +7829,7 @@ func (x *GetUserIDByEmailResponse) String() string { func (*GetUserIDByEmailResponse) ProtoMessage() {} func (x *GetUserIDByEmailResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[135] + mi := &file_app_v1_app_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7628,7 +7842,7 @@ func (x *GetUserIDByEmailResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserIDByEmailResponse.ProtoReflect.Descriptor instead. func (*GetUserIDByEmailResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{135} + return file_app_v1_app_proto_rawDescGZIP(), []int{139} } func (x *GetUserIDByEmailResponse) GetUserId() string { @@ -7649,7 +7863,7 @@ type ListOrganizationsByUserRequest struct { func (x *ListOrganizationsByUserRequest) Reset() { *x = ListOrganizationsByUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[136] + mi := &file_app_v1_app_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7662,7 +7876,7 @@ func (x *ListOrganizationsByUserRequest) String() string { func (*ListOrganizationsByUserRequest) ProtoMessage() {} func (x *ListOrganizationsByUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[136] + mi := &file_app_v1_app_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7675,7 +7889,7 @@ func (x *ListOrganizationsByUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOrganizationsByUserRequest.ProtoReflect.Descriptor instead. func (*ListOrganizationsByUserRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{136} + return file_app_v1_app_proto_rawDescGZIP(), []int{140} } func (x *ListOrganizationsByUserRequest) GetUserId() string { @@ -7697,7 +7911,7 @@ type OrgDetails struct { func (x *OrgDetails) Reset() { *x = OrgDetails{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[137] + mi := &file_app_v1_app_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7710,7 +7924,7 @@ func (x *OrgDetails) String() string { func (*OrgDetails) ProtoMessage() {} func (x *OrgDetails) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[137] + mi := &file_app_v1_app_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7723,7 +7937,7 @@ func (x *OrgDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use OrgDetails.ProtoReflect.Descriptor instead. func (*OrgDetails) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{137} + return file_app_v1_app_proto_rawDescGZIP(), []int{141} } func (x *OrgDetails) GetOrgId() string { @@ -7751,7 +7965,7 @@ type ListOrganizationsByUserResponse struct { func (x *ListOrganizationsByUserResponse) Reset() { *x = ListOrganizationsByUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[138] + mi := &file_app_v1_app_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7764,7 +7978,7 @@ func (x *ListOrganizationsByUserResponse) String() string { func (*ListOrganizationsByUserResponse) ProtoMessage() {} func (x *ListOrganizationsByUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[138] + mi := &file_app_v1_app_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7777,7 +7991,7 @@ func (x *ListOrganizationsByUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOrganizationsByUserResponse.ProtoReflect.Descriptor instead. func (*ListOrganizationsByUserResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{138} + return file_app_v1_app_proto_rawDescGZIP(), []int{142} } func (x *ListOrganizationsByUserResponse) GetOrgs() []*OrgDetails { @@ -7799,7 +8013,7 @@ type CreateKeyRequest struct { func (x *CreateKeyRequest) Reset() { *x = CreateKeyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[139] + mi := &file_app_v1_app_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7812,7 +8026,7 @@ func (x *CreateKeyRequest) String() string { func (*CreateKeyRequest) ProtoMessage() {} func (x *CreateKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[139] + mi := &file_app_v1_app_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7825,7 +8039,7 @@ func (x *CreateKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateKeyRequest.ProtoReflect.Descriptor instead. func (*CreateKeyRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{139} + return file_app_v1_app_proto_rawDescGZIP(), []int{143} } func (x *CreateKeyRequest) GetAuthorizations() []*Authorization { @@ -7854,7 +8068,7 @@ type CreateKeyResponse struct { func (x *CreateKeyResponse) Reset() { *x = CreateKeyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[140] + mi := &file_app_v1_app_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7867,7 +8081,7 @@ func (x *CreateKeyResponse) String() string { func (*CreateKeyResponse) ProtoMessage() {} func (x *CreateKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[140] + mi := &file_app_v1_app_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7880,7 +8094,7 @@ func (x *CreateKeyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateKeyResponse.ProtoReflect.Descriptor instead. func (*CreateKeyResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{140} + return file_app_v1_app_proto_rawDescGZIP(), []int{144} } func (x *CreateKeyResponse) GetKey() string { @@ -7908,7 +8122,7 @@ type DeleteKeyRequest struct { func (x *DeleteKeyRequest) Reset() { *x = DeleteKeyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[141] + mi := &file_app_v1_app_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7921,7 +8135,7 @@ func (x *DeleteKeyRequest) String() string { func (*DeleteKeyRequest) ProtoMessage() {} func (x *DeleteKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[141] + mi := &file_app_v1_app_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7934,7 +8148,7 @@ func (x *DeleteKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteKeyRequest.ProtoReflect.Descriptor instead. func (*DeleteKeyRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{141} + return file_app_v1_app_proto_rawDescGZIP(), []int{145} } func (x *DeleteKeyRequest) GetId() string { @@ -7953,7 +8167,7 @@ type DeleteKeyResponse struct { func (x *DeleteKeyResponse) Reset() { *x = DeleteKeyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[142] + mi := &file_app_v1_app_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7966,7 +8180,7 @@ func (x *DeleteKeyResponse) String() string { func (*DeleteKeyResponse) ProtoMessage() {} func (x *DeleteKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[142] + mi := &file_app_v1_app_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7979,7 +8193,7 @@ func (x *DeleteKeyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteKeyResponse.ProtoReflect.Descriptor instead. func (*DeleteKeyResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{142} + return file_app_v1_app_proto_rawDescGZIP(), []int{146} } type AuthorizationDetails struct { @@ -7997,7 +8211,7 @@ type AuthorizationDetails struct { func (x *AuthorizationDetails) Reset() { *x = AuthorizationDetails{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[143] + mi := &file_app_v1_app_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8010,7 +8224,7 @@ func (x *AuthorizationDetails) String() string { func (*AuthorizationDetails) ProtoMessage() {} func (x *AuthorizationDetails) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[143] + mi := &file_app_v1_app_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8023,7 +8237,7 @@ func (x *AuthorizationDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthorizationDetails.ProtoReflect.Descriptor instead. func (*AuthorizationDetails) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{143} + return file_app_v1_app_proto_rawDescGZIP(), []int{147} } func (x *AuthorizationDetails) GetAuthorizationType() string { @@ -8073,7 +8287,7 @@ type APIKeyWithAuthorizations struct { func (x *APIKeyWithAuthorizations) Reset() { *x = APIKeyWithAuthorizations{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[144] + mi := &file_app_v1_app_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8086,7 +8300,7 @@ func (x *APIKeyWithAuthorizations) String() string { func (*APIKeyWithAuthorizations) ProtoMessage() {} func (x *APIKeyWithAuthorizations) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[144] + mi := &file_app_v1_app_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8099,7 +8313,7 @@ func (x *APIKeyWithAuthorizations) ProtoReflect() protoreflect.Message { // Deprecated: Use APIKeyWithAuthorizations.ProtoReflect.Descriptor instead. func (*APIKeyWithAuthorizations) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{144} + return file_app_v1_app_proto_rawDescGZIP(), []int{148} } func (x *APIKeyWithAuthorizations) GetApiKey() *APIKey { @@ -8127,7 +8341,7 @@ type ListKeysRequest struct { func (x *ListKeysRequest) Reset() { *x = ListKeysRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[145] + mi := &file_app_v1_app_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8140,7 +8354,7 @@ func (x *ListKeysRequest) String() string { func (*ListKeysRequest) ProtoMessage() {} func (x *ListKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[145] + mi := &file_app_v1_app_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8153,7 +8367,7 @@ func (x *ListKeysRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListKeysRequest.ProtoReflect.Descriptor instead. func (*ListKeysRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{145} + return file_app_v1_app_proto_rawDescGZIP(), []int{149} } func (x *ListKeysRequest) GetOrgId() string { @@ -8174,7 +8388,7 @@ type ListKeysResponse struct { func (x *ListKeysResponse) Reset() { *x = ListKeysResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[146] + mi := &file_app_v1_app_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8187,7 +8401,7 @@ func (x *ListKeysResponse) String() string { func (*ListKeysResponse) ProtoMessage() {} func (x *ListKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[146] + mi := &file_app_v1_app_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8200,7 +8414,7 @@ func (x *ListKeysResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListKeysResponse.ProtoReflect.Descriptor instead. func (*ListKeysResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{146} + return file_app_v1_app_proto_rawDescGZIP(), []int{150} } func (x *ListKeysResponse) GetApiKeys() []*APIKeyWithAuthorizations { @@ -8221,7 +8435,7 @@ type RotateKeyRequest struct { func (x *RotateKeyRequest) Reset() { *x = RotateKeyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[147] + mi := &file_app_v1_app_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8234,7 +8448,7 @@ func (x *RotateKeyRequest) String() string { func (*RotateKeyRequest) ProtoMessage() {} func (x *RotateKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[147] + mi := &file_app_v1_app_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8247,7 +8461,7 @@ func (x *RotateKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RotateKeyRequest.ProtoReflect.Descriptor instead. func (*RotateKeyRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{147} + return file_app_v1_app_proto_rawDescGZIP(), []int{151} } func (x *RotateKeyRequest) GetId() string { @@ -8269,7 +8483,7 @@ type RotateKeyResponse struct { func (x *RotateKeyResponse) Reset() { *x = RotateKeyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[148] + mi := &file_app_v1_app_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8282,7 +8496,7 @@ func (x *RotateKeyResponse) String() string { func (*RotateKeyResponse) ProtoMessage() {} func (x *RotateKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[148] + mi := &file_app_v1_app_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8295,7 +8509,7 @@ func (x *RotateKeyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RotateKeyResponse.ProtoReflect.Descriptor instead. func (*RotateKeyResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{148} + return file_app_v1_app_proto_rawDescGZIP(), []int{152} } func (x *RotateKeyResponse) GetId() string { @@ -8323,7 +8537,7 @@ type CreateKeyFromExistingKeyAuthorizationsRequest struct { func (x *CreateKeyFromExistingKeyAuthorizationsRequest) Reset() { *x = CreateKeyFromExistingKeyAuthorizationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[149] + mi := &file_app_v1_app_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8336,7 +8550,7 @@ func (x *CreateKeyFromExistingKeyAuthorizationsRequest) String() string { func (*CreateKeyFromExistingKeyAuthorizationsRequest) ProtoMessage() {} func (x *CreateKeyFromExistingKeyAuthorizationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[149] + mi := &file_app_v1_app_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8349,7 +8563,7 @@ func (x *CreateKeyFromExistingKeyAuthorizationsRequest) ProtoReflect() protorefl // Deprecated: Use CreateKeyFromExistingKeyAuthorizationsRequest.ProtoReflect.Descriptor instead. func (*CreateKeyFromExistingKeyAuthorizationsRequest) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{149} + return file_app_v1_app_proto_rawDescGZIP(), []int{153} } func (x *CreateKeyFromExistingKeyAuthorizationsRequest) GetId() string { @@ -8371,7 +8585,7 @@ type CreateKeyFromExistingKeyAuthorizationsResponse struct { func (x *CreateKeyFromExistingKeyAuthorizationsResponse) Reset() { *x = CreateKeyFromExistingKeyAuthorizationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_app_proto_msgTypes[150] + mi := &file_app_v1_app_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8384,7 +8598,7 @@ func (x *CreateKeyFromExistingKeyAuthorizationsResponse) String() string { func (*CreateKeyFromExistingKeyAuthorizationsResponse) ProtoMessage() {} func (x *CreateKeyFromExistingKeyAuthorizationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_app_proto_msgTypes[150] + mi := &file_app_v1_app_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8397,7 +8611,7 @@ func (x *CreateKeyFromExistingKeyAuthorizationsResponse) ProtoReflect() protoref // Deprecated: Use CreateKeyFromExistingKeyAuthorizationsResponse.ProtoReflect.Descriptor instead. func (*CreateKeyFromExistingKeyAuthorizationsResponse) Descriptor() ([]byte, []int) { - return file_app_v1_app_proto_rawDescGZIP(), []int{150} + return file_app_v1_app_proto_rawDescGZIP(), []int{154} } func (x *CreateKeyFromExistingKeyAuthorizationsResponse) GetId() string { @@ -8419,6 +8633,8 @@ var File_app_v1_app_proto protoreflect.FileDescriptor var file_app_v1_app_proto_rawDesc = []byte{ 0x0a, 0x10, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x1a, + 0x1e, 0x61, 0x70, 0x70, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, @@ -9227,587 +9443,625 @@ var file_app_v1_app_proto_rawDesc = []byte{ 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x52, 0x0a, 0x13, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x45, - 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xeb, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x76, 0x69, - 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x19, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x74, 0x65, + 0x6d, 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1c, 0x0a, 0x1a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x74, + 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x19, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x69, 0x74, 0x79, 0x22, 0x1c, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x52, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xeb, 0x01, 0x0a, + 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, + 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, + 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, + 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x14, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x10, 0x0a, + 0x03, 0x61, 0x70, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x63, 0x0a, 0x0e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x87, 0x01, 0x0a, 0x17, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, + 0x0e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x14, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, + 0x04, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2c, 0x0a, 0x18, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x22, 0xe5, 0x03, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, + 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x08, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x2f, 0x0a, - 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x63, - 0x0a, 0x0e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x22, 0x87, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x47, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2c, 0x0a, - 0x18, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x10, 0x47, - 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x22, 0xe5, - 0x03, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x76, 0x69, - 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x73, - 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2a, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x5f, 0x75, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, - 0x62, 0x6f, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, - 0x2a, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x62, 0x0a, 0x07, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x02, 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, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x41, 0x74, 0x22, - 0x56, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, - 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x2f, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x33, - 0x0a, 0x18, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3e, - 0x0a, 0x0a, 0x4f, 0x72, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x15, 0x0a, 0x06, - 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, - 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4e, - 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6f, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, - 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x04, 0x6f, 0x72, 0x67, 0x73, 0x22, 0x6a, - 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x11, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x22, 0x22, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x14, 0x41, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, - 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x22, 0x93, 0x01, 0x0a, 0x18, 0x41, - 0x50, 0x49, 0x4b, 0x65, 0x79, 0x57, 0x69, 0x74, 0x68, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x61, - 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x28, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x10, 0x4c, 0x69, - 0x73, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, - 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x50, 0x49, 0x4b, 0x65, 0x79, 0x57, 0x69, 0x74, 0x68, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, - 0x22, 0x22, 0x0a, 0x10, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x22, 0x35, 0x0a, 0x11, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x3f, 0x0a, 0x2d, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x52, 0x0a, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x2a, 0x57, 0x0a, 0x0a, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, - 0x0a, 0x16, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, - 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, - 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x02, 0x32, 0xda, 0x2f, 0x0a, 0x0a, 0x41, 0x70, - 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x24, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, - 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x62, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x2b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x65, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x62, + 0x6f, 0x74, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x38, 0x0a, 0x18, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xa2, 0x01, + 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x05, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x52, + 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x22, 0x62, 0x0a, 0x07, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 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, 0x0a, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x65, 0x64, 0x41, 0x74, 0x22, 0x56, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0f, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x44, + 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07, 0x6d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x33, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x0a, 0x4f, 0x72, 0x67, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, + 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, + 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6f, 0x72, 0x67, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x04, 0x6f, 0x72, 0x67, 0x73, 0x22, 0x6a, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0e, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x35, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x22, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, + 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, + 0x64, 0x22, 0x93, 0x01, 0x0a, 0x18, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x57, 0x69, 0x74, 0x68, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, + 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x50, + 0x49, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x0e, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x28, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4b, + 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, + 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, + 0x64, 0x22, 0x54, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x57, 0x69, 0x74, 0x68, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, + 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x22, 0x0a, 0x10, 0x52, 0x6f, 0x74, 0x61, 0x74, + 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x35, 0x0a, 0x11, 0x52, + 0x6f, 0x74, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x22, 0x3f, 0x0a, 0x2d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x46, + 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x22, 0x52, 0x0a, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, + 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x2a, 0x57, 0x0a, 0x0a, 0x56, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x53, + 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x02, + 0x32, 0xa8, 0x31, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, + 0x61, 0x69, 0x6c, 0x12, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x44, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x65, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0f, 0x47, 0x65, - 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x17, 0x4c, + 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x9b, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x38, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9b, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x12, 0x38, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, - 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, + 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, - 0x2b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x17, 0x4c, + 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x77, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x26, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, + 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x18, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x77, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x77, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x6e, + 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x18, 0x52, 0x65, 0x73, - 0x65, 0x6e, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, - 0x0b, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x59, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, - 0x0d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0f, 0x55, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x75, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x12, 0x28, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x28, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x1c, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x62, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x62, - 0x6f, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6e, 0x74, 0x61, 0x6c, - 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, - 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, - 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x53, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, - 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, - 0x74, 0x50, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0d, + 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0f, + 0x55, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6b, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x14, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x47, 0x65, 0x74, + 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x56, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x73, + 0x12, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 0x6f, + 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x11, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x6f, - 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x25, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x6f, - 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, + 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73, + 0x12, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, + 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, + 0x11, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x4c, 0x6f, + 0x67, 0x73, 0x12, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x4c, 0x6f, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, - 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x4e, 0x65, 0x77, 0x52, 0x6f, 0x62, 0x6f, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0f, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x62, 0x6f, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x23, 0x2e, 0x76, 0x69, 0x61, + 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x6f, 0x62, 0x6f, + 0x74, 0x50, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, + 0x61, 0x72, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, - 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x61, 0x72, - 0x74, 0x41, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, - 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x41, 0x73, - 0x4d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x61, - 0x72, 0x74, 0x41, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x65, 0x0a, 0x12, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x46, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x74, 0x50, 0x61, 0x72, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, + 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, + 0x12, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, + 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x4e, + 0x65, 0x77, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x12, 0x20, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x6f, 0x62, + 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x52, + 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5c, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, + 0x61, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, + 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, + 0x73, 0x12, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x41, 0x50, 0x49, + 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, + 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x41, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x72, - 0x6b, 0x50, 0x61, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x4e, 0x65, 0x77, 0x52, 0x6f, 0x62, - 0x6f, 0x74, 0x12, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, - 0x65, 0x77, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x50, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x1f, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, - 0x12, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x72, 0x61, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, - 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x61, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x61, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, - 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, - 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, + 0x6b, 0x50, 0x61, 0x72, 0x74, 0x41, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x41, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x4d, 0x61, 0x72, 0x6b, 0x50, + 0x61, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x72, 0x6b, + 0x50, 0x61, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x52, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, + 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, + 0x74, 0x50, 0x61, 0x72, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, + 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, + 0x74, 0x50, 0x61, 0x72, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x61, 0x72, 0x74, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, + 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, + 0x08, 0x4e, 0x65, 0x77, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x6f, 0x62, 0x6f, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x62, + 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x72, + 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x72, + 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, + 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x59, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x52, 0x6f, 0x6c, 0x65, + 0x12, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x64, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, + 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x6f, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x6f, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5f, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x65, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x61, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, - 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, - 0x0a, 0x07, 0x41, 0x64, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, - 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x6f, 0x6c, - 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x53, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, - 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x53, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, + 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x4a, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x12, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1d, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, - 0x08, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, - 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x10, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x24, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x4a, 0x0a, 0x09, + 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, + 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x41, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1c, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b, + 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x52, + 0x6f, 0x74, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, - 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x18, 0x5a, 0x16, 0x67, 0x6f, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x73, 0x12, 0x3a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x18, 0x5a, 0x16, 0x67, + 0x6f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x70, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -9823,7 +10077,7 @@ func file_app_v1_app_proto_rawDescGZIP() []byte { } var file_app_v1_app_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_app_v1_app_proto_msgTypes = make([]protoimpl.MessageInfo, 151) +var file_app_v1_app_proto_msgTypes = make([]protoimpl.MessageInfo, 155) var file_app_v1_app_proto_goTypes = []interface{}{ (Visibility)(0), // 0: viam.app.v1.Visibility (SharedSecret_State)(0), // 1: viam.app.v1.SharedSecret.State @@ -9946,56 +10200,61 @@ var file_app_v1_app_proto_goTypes = []interface{}{ (*CheckPermissionsRequest)(nil), // 118: viam.app.v1.CheckPermissionsRequest (*AuthorizedPermissions)(nil), // 119: viam.app.v1.AuthorizedPermissions (*CheckPermissionsResponse)(nil), // 120: viam.app.v1.CheckPermissionsResponse - (*CreateModuleRequest)(nil), // 121: viam.app.v1.CreateModuleRequest - (*CreateModuleResponse)(nil), // 122: viam.app.v1.CreateModuleResponse - (*UpdateModuleRequest)(nil), // 123: viam.app.v1.UpdateModuleRequest - (*UpdateModuleResponse)(nil), // 124: viam.app.v1.UpdateModuleResponse - (*Model)(nil), // 125: viam.app.v1.Model - (*ModuleFileInfo)(nil), // 126: viam.app.v1.ModuleFileInfo - (*UploadModuleFileRequest)(nil), // 127: viam.app.v1.UploadModuleFileRequest - (*UploadModuleFileResponse)(nil), // 128: viam.app.v1.UploadModuleFileResponse - (*GetModuleRequest)(nil), // 129: viam.app.v1.GetModuleRequest - (*GetModuleResponse)(nil), // 130: viam.app.v1.GetModuleResponse - (*Module)(nil), // 131: viam.app.v1.Module - (*VersionHistory)(nil), // 132: viam.app.v1.VersionHistory - (*Uploads)(nil), // 133: viam.app.v1.Uploads - (*ListModulesRequest)(nil), // 134: viam.app.v1.ListModulesRequest - (*ListModulesResponse)(nil), // 135: viam.app.v1.ListModulesResponse - (*GetUserIDByEmailRequest)(nil), // 136: viam.app.v1.GetUserIDByEmailRequest - (*GetUserIDByEmailResponse)(nil), // 137: viam.app.v1.GetUserIDByEmailResponse - (*ListOrganizationsByUserRequest)(nil), // 138: viam.app.v1.ListOrganizationsByUserRequest - (*OrgDetails)(nil), // 139: viam.app.v1.OrgDetails - (*ListOrganizationsByUserResponse)(nil), // 140: viam.app.v1.ListOrganizationsByUserResponse - (*CreateKeyRequest)(nil), // 141: viam.app.v1.CreateKeyRequest - (*CreateKeyResponse)(nil), // 142: viam.app.v1.CreateKeyResponse - (*DeleteKeyRequest)(nil), // 143: viam.app.v1.DeleteKeyRequest - (*DeleteKeyResponse)(nil), // 144: viam.app.v1.DeleteKeyResponse - (*AuthorizationDetails)(nil), // 145: viam.app.v1.AuthorizationDetails - (*APIKeyWithAuthorizations)(nil), // 146: viam.app.v1.APIKeyWithAuthorizations - (*ListKeysRequest)(nil), // 147: viam.app.v1.ListKeysRequest - (*ListKeysResponse)(nil), // 148: viam.app.v1.ListKeysResponse - (*RotateKeyRequest)(nil), // 149: viam.app.v1.RotateKeyRequest - (*RotateKeyResponse)(nil), // 150: viam.app.v1.RotateKeyResponse - (*CreateKeyFromExistingKeyAuthorizationsRequest)(nil), // 151: viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest - (*CreateKeyFromExistingKeyAuthorizationsResponse)(nil), // 152: viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponse - (*timestamppb.Timestamp)(nil), // 153: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 154: google.protobuf.Struct + (*CreateRegistryItemRequest)(nil), // 121: viam.app.v1.CreateRegistryItemRequest + (*CreateRegistryItemResponse)(nil), // 122: viam.app.v1.CreateRegistryItemResponse + (*UpdateRegistryItemRequest)(nil), // 123: viam.app.v1.UpdateRegistryItemRequest + (*UpdateRegistryItemResponse)(nil), // 124: viam.app.v1.UpdateRegistryItemResponse + (*CreateModuleRequest)(nil), // 125: viam.app.v1.CreateModuleRequest + (*CreateModuleResponse)(nil), // 126: viam.app.v1.CreateModuleResponse + (*UpdateModuleRequest)(nil), // 127: viam.app.v1.UpdateModuleRequest + (*UpdateModuleResponse)(nil), // 128: viam.app.v1.UpdateModuleResponse + (*Model)(nil), // 129: viam.app.v1.Model + (*ModuleFileInfo)(nil), // 130: viam.app.v1.ModuleFileInfo + (*UploadModuleFileRequest)(nil), // 131: viam.app.v1.UploadModuleFileRequest + (*UploadModuleFileResponse)(nil), // 132: viam.app.v1.UploadModuleFileResponse + (*GetModuleRequest)(nil), // 133: viam.app.v1.GetModuleRequest + (*GetModuleResponse)(nil), // 134: viam.app.v1.GetModuleResponse + (*Module)(nil), // 135: viam.app.v1.Module + (*VersionHistory)(nil), // 136: viam.app.v1.VersionHistory + (*Uploads)(nil), // 137: viam.app.v1.Uploads + (*ListModulesRequest)(nil), // 138: viam.app.v1.ListModulesRequest + (*ListModulesResponse)(nil), // 139: viam.app.v1.ListModulesResponse + (*GetUserIDByEmailRequest)(nil), // 140: viam.app.v1.GetUserIDByEmailRequest + (*GetUserIDByEmailResponse)(nil), // 141: viam.app.v1.GetUserIDByEmailResponse + (*ListOrganizationsByUserRequest)(nil), // 142: viam.app.v1.ListOrganizationsByUserRequest + (*OrgDetails)(nil), // 143: viam.app.v1.OrgDetails + (*ListOrganizationsByUserResponse)(nil), // 144: viam.app.v1.ListOrganizationsByUserResponse + (*CreateKeyRequest)(nil), // 145: viam.app.v1.CreateKeyRequest + (*CreateKeyResponse)(nil), // 146: viam.app.v1.CreateKeyResponse + (*DeleteKeyRequest)(nil), // 147: viam.app.v1.DeleteKeyRequest + (*DeleteKeyResponse)(nil), // 148: viam.app.v1.DeleteKeyResponse + (*AuthorizationDetails)(nil), // 149: viam.app.v1.AuthorizationDetails + (*APIKeyWithAuthorizations)(nil), // 150: viam.app.v1.APIKeyWithAuthorizations + (*ListKeysRequest)(nil), // 151: viam.app.v1.ListKeysRequest + (*ListKeysResponse)(nil), // 152: viam.app.v1.ListKeysResponse + (*RotateKeyRequest)(nil), // 153: viam.app.v1.RotateKeyRequest + (*RotateKeyResponse)(nil), // 154: viam.app.v1.RotateKeyResponse + (*CreateKeyFromExistingKeyAuthorizationsRequest)(nil), // 155: viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest + (*CreateKeyFromExistingKeyAuthorizationsResponse)(nil), // 156: viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponse + (*timestamppb.Timestamp)(nil), // 157: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 158: google.protobuf.Struct + (v1.PackageType)(0), // 159: viam.app.packages.v1.PackageType } var file_app_v1_app_proto_depIdxs = []int32{ - 153, // 0: viam.app.v1.Robot.last_access:type_name -> google.protobuf.Timestamp - 153, // 1: viam.app.v1.Robot.created_on:type_name -> google.protobuf.Timestamp - 154, // 2: viam.app.v1.RobotPart.robot_config:type_name -> google.protobuf.Struct - 153, // 3: viam.app.v1.RobotPart.last_access:type_name -> google.protobuf.Timestamp - 154, // 4: viam.app.v1.RobotPart.user_supplied_info:type_name -> google.protobuf.Struct - 153, // 5: viam.app.v1.RobotPart.created_on:type_name -> google.protobuf.Timestamp + 157, // 0: viam.app.v1.Robot.last_access:type_name -> google.protobuf.Timestamp + 157, // 1: viam.app.v1.Robot.created_on:type_name -> google.protobuf.Timestamp + 158, // 2: viam.app.v1.RobotPart.robot_config:type_name -> google.protobuf.Struct + 157, // 3: viam.app.v1.RobotPart.last_access:type_name -> google.protobuf.Timestamp + 158, // 4: viam.app.v1.RobotPart.user_supplied_info:type_name -> google.protobuf.Struct + 157, // 5: viam.app.v1.RobotPart.created_on:type_name -> google.protobuf.Timestamp 36, // 6: viam.app.v1.RobotPart.secrets:type_name -> viam.app.v1.SharedSecret - 153, // 7: viam.app.v1.RobotPartHistoryEntry.when:type_name -> google.protobuf.Timestamp + 157, // 7: viam.app.v1.RobotPartHistoryEntry.when:type_name -> google.protobuf.Timestamp 3, // 8: viam.app.v1.RobotPartHistoryEntry.old:type_name -> viam.app.v1.RobotPart - 153, // 9: viam.app.v1.Organization.created_on:type_name -> google.protobuf.Timestamp - 153, // 10: viam.app.v1.OrganizationMember.date_added:type_name -> google.protobuf.Timestamp - 153, // 11: viam.app.v1.OrganizationMember.last_login:type_name -> google.protobuf.Timestamp + 157, // 9: viam.app.v1.Organization.created_on:type_name -> google.protobuf.Timestamp + 157, // 10: viam.app.v1.OrganizationMember.date_added:type_name -> google.protobuf.Timestamp + 157, // 11: viam.app.v1.OrganizationMember.last_login:type_name -> google.protobuf.Timestamp 6, // 12: viam.app.v1.ListOrganizationsResponse.organizations:type_name -> viam.app.v1.Organization - 153, // 13: viam.app.v1.OrganizationInvite.created_on:type_name -> google.protobuf.Timestamp + 157, // 13: viam.app.v1.OrganizationInvite.created_on:type_name -> google.protobuf.Timestamp 109, // 14: viam.app.v1.OrganizationInvite.authorizations:type_name -> viam.app.v1.Authorization 6, // 15: viam.app.v1.CreateOrganizationResponse.organization:type_name -> viam.app.v1.Organization 6, // 16: viam.app.v1.GetOrganizationResponse.organization:type_name -> viam.app.v1.Organization @@ -10011,9 +10270,9 @@ var file_app_v1_app_proto_depIdxs = []int32{ 36, // 26: viam.app.v1.LocationAuth.secrets:type_name -> viam.app.v1.SharedSecret 33, // 27: viam.app.v1.Location.auth:type_name -> viam.app.v1.LocationAuth 32, // 28: viam.app.v1.Location.organizations:type_name -> viam.app.v1.LocationOrganization - 153, // 29: viam.app.v1.Location.created_on:type_name -> google.protobuf.Timestamp + 157, // 29: viam.app.v1.Location.created_on:type_name -> google.protobuf.Timestamp 34, // 30: viam.app.v1.Location.config:type_name -> viam.app.v1.StorageConfig - 153, // 31: viam.app.v1.SharedSecret.created_on:type_name -> google.protobuf.Timestamp + 157, // 31: viam.app.v1.SharedSecret.created_on:type_name -> google.protobuf.Timestamp 1, // 32: viam.app.v1.SharedSecret.state:type_name -> viam.app.v1.SharedSecret.State 35, // 33: viam.app.v1.CreateLocationResponse.location:type_name -> viam.app.v1.Location 35, // 34: viam.app.v1.GetLocationResponse.location:type_name -> viam.app.v1.Location @@ -10025,23 +10284,23 @@ var file_app_v1_app_proto_depIdxs = []int32{ 2, // 40: viam.app.v1.GetRobotResponse.robot:type_name -> viam.app.v1.Robot 3, // 41: viam.app.v1.GetRobotPartsResponse.parts:type_name -> viam.app.v1.RobotPart 3, // 42: viam.app.v1.GetRobotPartResponse.part:type_name -> viam.app.v1.RobotPart - 153, // 43: viam.app.v1.LogEntry.time:type_name -> google.protobuf.Timestamp - 154, // 44: viam.app.v1.LogEntry.caller:type_name -> google.protobuf.Struct - 154, // 45: viam.app.v1.LogEntry.fields:type_name -> google.protobuf.Struct + 157, // 43: viam.app.v1.LogEntry.time:type_name -> google.protobuf.Timestamp + 158, // 44: viam.app.v1.LogEntry.caller:type_name -> google.protobuf.Struct + 158, // 45: viam.app.v1.LogEntry.fields:type_name -> google.protobuf.Struct 67, // 46: viam.app.v1.GetRobotPartLogsResponse.logs:type_name -> viam.app.v1.LogEntry 67, // 47: viam.app.v1.TailRobotPartLogsResponse.logs:type_name -> viam.app.v1.LogEntry 4, // 48: viam.app.v1.GetRobotPartHistoryResponse.history:type_name -> viam.app.v1.RobotPartHistoryEntry - 154, // 49: viam.app.v1.UpdateRobotPartRequest.robot_config:type_name -> google.protobuf.Struct + 158, // 49: viam.app.v1.UpdateRobotPartRequest.robot_config:type_name -> google.protobuf.Struct 3, // 50: viam.app.v1.UpdateRobotPartResponse.part:type_name -> viam.app.v1.RobotPart - 153, // 51: viam.app.v1.APIKey.created_on:type_name -> google.protobuf.Timestamp + 157, // 51: viam.app.v1.APIKey.created_on:type_name -> google.protobuf.Timestamp 79, // 52: viam.app.v1.GetRobotAPIKeysResponse.api_keys:type_name -> viam.app.v1.APIKey - 154, // 53: viam.app.v1.Fragment.fragment:type_name -> google.protobuf.Struct - 153, // 54: viam.app.v1.Fragment.created_on:type_name -> google.protobuf.Timestamp + 158, // 53: viam.app.v1.Fragment.fragment:type_name -> google.protobuf.Struct + 157, // 54: viam.app.v1.Fragment.created_on:type_name -> google.protobuf.Timestamp 82, // 55: viam.app.v1.ListFragmentsResponse.fragments:type_name -> viam.app.v1.Fragment 82, // 56: viam.app.v1.GetFragmentResponse.fragment:type_name -> viam.app.v1.Fragment - 154, // 57: viam.app.v1.CreateFragmentRequest.config:type_name -> google.protobuf.Struct + 158, // 57: viam.app.v1.CreateFragmentRequest.config:type_name -> google.protobuf.Struct 82, // 58: viam.app.v1.CreateFragmentResponse.fragment:type_name -> viam.app.v1.Fragment - 154, // 59: viam.app.v1.UpdateFragmentRequest.config:type_name -> google.protobuf.Struct + 158, // 59: viam.app.v1.UpdateFragmentRequest.config:type_name -> google.protobuf.Struct 82, // 60: viam.app.v1.UpdateFragmentResponse.fragment:type_name -> viam.app.v1.Fragment 2, // 61: viam.app.v1.ListRobotsResponse.robots:type_name -> viam.app.v1.Robot 2, // 62: viam.app.v1.UpdateRobotResponse.robot:type_name -> viam.app.v1.Robot @@ -10053,153 +10312,160 @@ var file_app_v1_app_proto_depIdxs = []int32{ 109, // 68: viam.app.v1.ListAuthorizationsResponse.authorizations:type_name -> viam.app.v1.Authorization 119, // 69: viam.app.v1.CheckPermissionsRequest.permissions:type_name -> viam.app.v1.AuthorizedPermissions 119, // 70: viam.app.v1.CheckPermissionsResponse.authorized_permissions:type_name -> viam.app.v1.AuthorizedPermissions - 0, // 71: viam.app.v1.UpdateModuleRequest.visibility:type_name -> viam.app.v1.Visibility - 125, // 72: viam.app.v1.UpdateModuleRequest.models:type_name -> viam.app.v1.Model - 126, // 73: viam.app.v1.UploadModuleFileRequest.module_file_info:type_name -> viam.app.v1.ModuleFileInfo - 131, // 74: viam.app.v1.GetModuleResponse.module:type_name -> viam.app.v1.Module - 0, // 75: viam.app.v1.Module.visibility:type_name -> viam.app.v1.Visibility - 132, // 76: viam.app.v1.Module.versions:type_name -> viam.app.v1.VersionHistory - 125, // 77: viam.app.v1.Module.models:type_name -> viam.app.v1.Model - 133, // 78: viam.app.v1.VersionHistory.files:type_name -> viam.app.v1.Uploads - 125, // 79: viam.app.v1.VersionHistory.models:type_name -> viam.app.v1.Model - 153, // 80: viam.app.v1.Uploads.uploaded_at:type_name -> google.protobuf.Timestamp - 131, // 81: viam.app.v1.ListModulesResponse.modules:type_name -> viam.app.v1.Module - 139, // 82: viam.app.v1.ListOrganizationsByUserResponse.orgs:type_name -> viam.app.v1.OrgDetails - 109, // 83: viam.app.v1.CreateKeyRequest.authorizations:type_name -> viam.app.v1.Authorization - 79, // 84: viam.app.v1.APIKeyWithAuthorizations.api_key:type_name -> viam.app.v1.APIKey - 145, // 85: viam.app.v1.APIKeyWithAuthorizations.authorizations:type_name -> viam.app.v1.AuthorizationDetails - 146, // 86: viam.app.v1.ListKeysResponse.api_keys:type_name -> viam.app.v1.APIKeyWithAuthorizations - 136, // 87: viam.app.v1.AppService.GetUserIDByEmail:input_type -> viam.app.v1.GetUserIDByEmailRequest - 10, // 88: viam.app.v1.AppService.CreateOrganization:input_type -> viam.app.v1.CreateOrganizationRequest - 5, // 89: viam.app.v1.AppService.ListOrganizations:input_type -> viam.app.v1.ListOrganizationsRequest - 138, // 90: viam.app.v1.AppService.ListOrganizationsByUser:input_type -> viam.app.v1.ListOrganizationsByUserRequest - 12, // 91: viam.app.v1.AppService.GetOrganization:input_type -> viam.app.v1.GetOrganizationRequest - 14, // 92: viam.app.v1.AppService.GetOrganizationNamespaceAvailability:input_type -> viam.app.v1.GetOrganizationNamespaceAvailabilityRequest - 16, // 93: viam.app.v1.AppService.UpdateOrganization:input_type -> viam.app.v1.UpdateOrganizationRequest - 18, // 94: viam.app.v1.AppService.DeleteOrganization:input_type -> viam.app.v1.DeleteOrganizationRequest - 20, // 95: viam.app.v1.AppService.ListOrganizationMembers:input_type -> viam.app.v1.ListOrganizationMembersRequest - 22, // 96: viam.app.v1.AppService.CreateOrganizationInvite:input_type -> viam.app.v1.CreateOrganizationInviteRequest - 24, // 97: viam.app.v1.AppService.UpdateOrganizationInviteAuthorizations:input_type -> viam.app.v1.UpdateOrganizationInviteAuthorizationsRequest - 30, // 98: viam.app.v1.AppService.DeleteOrganizationMember:input_type -> viam.app.v1.DeleteOrganizationMemberRequest - 26, // 99: viam.app.v1.AppService.DeleteOrganizationInvite:input_type -> viam.app.v1.DeleteOrganizationInviteRequest - 28, // 100: viam.app.v1.AppService.ResendOrganizationInvite:input_type -> viam.app.v1.ResendOrganizationInviteRequest - 37, // 101: viam.app.v1.AppService.CreateLocation:input_type -> viam.app.v1.CreateLocationRequest - 39, // 102: viam.app.v1.AppService.GetLocation:input_type -> viam.app.v1.GetLocationRequest - 41, // 103: viam.app.v1.AppService.UpdateLocation:input_type -> viam.app.v1.UpdateLocationRequest - 43, // 104: viam.app.v1.AppService.DeleteLocation:input_type -> viam.app.v1.DeleteLocationRequest - 45, // 105: viam.app.v1.AppService.ListLocations:input_type -> viam.app.v1.ListLocationsRequest - 46, // 106: viam.app.v1.AppService.ShareLocation:input_type -> viam.app.v1.ShareLocationRequest - 48, // 107: viam.app.v1.AppService.UnshareLocation:input_type -> viam.app.v1.UnshareLocationRequest - 55, // 108: viam.app.v1.AppService.LocationAuth:input_type -> viam.app.v1.LocationAuthRequest - 51, // 109: viam.app.v1.AppService.CreateLocationSecret:input_type -> viam.app.v1.CreateLocationSecretRequest - 53, // 110: viam.app.v1.AppService.DeleteLocationSecret:input_type -> viam.app.v1.DeleteLocationSecretRequest - 57, // 111: viam.app.v1.AppService.GetRobot:input_type -> viam.app.v1.GetRobotRequest - 58, // 112: viam.app.v1.AppService.GetRoverRentalRobots:input_type -> viam.app.v1.GetRoverRentalRobotsRequest - 62, // 113: viam.app.v1.AppService.GetRobotParts:input_type -> viam.app.v1.GetRobotPartsRequest - 64, // 114: viam.app.v1.AppService.GetRobotPart:input_type -> viam.app.v1.GetRobotPartRequest - 66, // 115: viam.app.v1.AppService.GetRobotPartLogs:input_type -> viam.app.v1.GetRobotPartLogsRequest - 69, // 116: viam.app.v1.AppService.TailRobotPartLogs:input_type -> viam.app.v1.TailRobotPartLogsRequest - 71, // 117: viam.app.v1.AppService.GetRobotPartHistory:input_type -> viam.app.v1.GetRobotPartHistoryRequest - 73, // 118: viam.app.v1.AppService.UpdateRobotPart:input_type -> viam.app.v1.UpdateRobotPartRequest - 75, // 119: viam.app.v1.AppService.NewRobotPart:input_type -> viam.app.v1.NewRobotPartRequest - 77, // 120: viam.app.v1.AppService.DeleteRobotPart:input_type -> viam.app.v1.DeleteRobotPartRequest - 78, // 121: viam.app.v1.AppService.GetRobotAPIKeys:input_type -> viam.app.v1.GetRobotAPIKeysRequest - 101, // 122: viam.app.v1.AppService.MarkPartAsMain:input_type -> viam.app.v1.MarkPartAsMainRequest - 103, // 123: viam.app.v1.AppService.MarkPartForRestart:input_type -> viam.app.v1.MarkPartForRestartRequest - 105, // 124: viam.app.v1.AppService.CreateRobotPartSecret:input_type -> viam.app.v1.CreateRobotPartSecretRequest - 107, // 125: viam.app.v1.AppService.DeleteRobotPartSecret:input_type -> viam.app.v1.DeleteRobotPartSecretRequest - 93, // 126: viam.app.v1.AppService.ListRobots:input_type -> viam.app.v1.ListRobotsRequest - 95, // 127: viam.app.v1.AppService.NewRobot:input_type -> viam.app.v1.NewRobotRequest - 97, // 128: viam.app.v1.AppService.UpdateRobot:input_type -> viam.app.v1.UpdateRobotRequest - 99, // 129: viam.app.v1.AppService.DeleteRobot:input_type -> viam.app.v1.DeleteRobotRequest - 83, // 130: viam.app.v1.AppService.ListFragments:input_type -> viam.app.v1.ListFragmentsRequest - 85, // 131: viam.app.v1.AppService.GetFragment:input_type -> viam.app.v1.GetFragmentRequest - 87, // 132: viam.app.v1.AppService.CreateFragment:input_type -> viam.app.v1.CreateFragmentRequest - 89, // 133: viam.app.v1.AppService.UpdateFragment:input_type -> viam.app.v1.UpdateFragmentRequest - 91, // 134: viam.app.v1.AppService.DeleteFragment:input_type -> viam.app.v1.DeleteFragmentRequest - 110, // 135: viam.app.v1.AppService.AddRole:input_type -> viam.app.v1.AddRoleRequest - 112, // 136: viam.app.v1.AppService.RemoveRole:input_type -> viam.app.v1.RemoveRoleRequest - 114, // 137: viam.app.v1.AppService.ChangeRole:input_type -> viam.app.v1.ChangeRoleRequest - 116, // 138: viam.app.v1.AppService.ListAuthorizations:input_type -> viam.app.v1.ListAuthorizationsRequest - 118, // 139: viam.app.v1.AppService.CheckPermissions:input_type -> viam.app.v1.CheckPermissionsRequest - 121, // 140: viam.app.v1.AppService.CreateModule:input_type -> viam.app.v1.CreateModuleRequest - 123, // 141: viam.app.v1.AppService.UpdateModule:input_type -> viam.app.v1.UpdateModuleRequest - 127, // 142: viam.app.v1.AppService.UploadModuleFile:input_type -> viam.app.v1.UploadModuleFileRequest - 129, // 143: viam.app.v1.AppService.GetModule:input_type -> viam.app.v1.GetModuleRequest - 134, // 144: viam.app.v1.AppService.ListModules:input_type -> viam.app.v1.ListModulesRequest - 141, // 145: viam.app.v1.AppService.CreateKey:input_type -> viam.app.v1.CreateKeyRequest - 143, // 146: viam.app.v1.AppService.DeleteKey:input_type -> viam.app.v1.DeleteKeyRequest - 147, // 147: viam.app.v1.AppService.ListKeys:input_type -> viam.app.v1.ListKeysRequest - 149, // 148: viam.app.v1.AppService.RotateKey:input_type -> viam.app.v1.RotateKeyRequest - 151, // 149: viam.app.v1.AppService.CreateKeyFromExistingKeyAuthorizations:input_type -> viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest - 137, // 150: viam.app.v1.AppService.GetUserIDByEmail:output_type -> viam.app.v1.GetUserIDByEmailResponse - 11, // 151: viam.app.v1.AppService.CreateOrganization:output_type -> viam.app.v1.CreateOrganizationResponse - 8, // 152: viam.app.v1.AppService.ListOrganizations:output_type -> viam.app.v1.ListOrganizationsResponse - 140, // 153: viam.app.v1.AppService.ListOrganizationsByUser:output_type -> viam.app.v1.ListOrganizationsByUserResponse - 13, // 154: viam.app.v1.AppService.GetOrganization:output_type -> viam.app.v1.GetOrganizationResponse - 15, // 155: viam.app.v1.AppService.GetOrganizationNamespaceAvailability:output_type -> viam.app.v1.GetOrganizationNamespaceAvailabilityResponse - 17, // 156: viam.app.v1.AppService.UpdateOrganization:output_type -> viam.app.v1.UpdateOrganizationResponse - 19, // 157: viam.app.v1.AppService.DeleteOrganization:output_type -> viam.app.v1.DeleteOrganizationResponse - 21, // 158: viam.app.v1.AppService.ListOrganizationMembers:output_type -> viam.app.v1.ListOrganizationMembersResponse - 23, // 159: viam.app.v1.AppService.CreateOrganizationInvite:output_type -> viam.app.v1.CreateOrganizationInviteResponse - 25, // 160: viam.app.v1.AppService.UpdateOrganizationInviteAuthorizations:output_type -> viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse - 31, // 161: viam.app.v1.AppService.DeleteOrganizationMember:output_type -> viam.app.v1.DeleteOrganizationMemberResponse - 27, // 162: viam.app.v1.AppService.DeleteOrganizationInvite:output_type -> viam.app.v1.DeleteOrganizationInviteResponse - 29, // 163: viam.app.v1.AppService.ResendOrganizationInvite:output_type -> viam.app.v1.ResendOrganizationInviteResponse - 38, // 164: viam.app.v1.AppService.CreateLocation:output_type -> viam.app.v1.CreateLocationResponse - 40, // 165: viam.app.v1.AppService.GetLocation:output_type -> viam.app.v1.GetLocationResponse - 42, // 166: viam.app.v1.AppService.UpdateLocation:output_type -> viam.app.v1.UpdateLocationResponse - 44, // 167: viam.app.v1.AppService.DeleteLocation:output_type -> viam.app.v1.DeleteLocationResponse - 50, // 168: viam.app.v1.AppService.ListLocations:output_type -> viam.app.v1.ListLocationsResponse - 47, // 169: viam.app.v1.AppService.ShareLocation:output_type -> viam.app.v1.ShareLocationResponse - 49, // 170: viam.app.v1.AppService.UnshareLocation:output_type -> viam.app.v1.UnshareLocationResponse - 56, // 171: viam.app.v1.AppService.LocationAuth:output_type -> viam.app.v1.LocationAuthResponse - 52, // 172: viam.app.v1.AppService.CreateLocationSecret:output_type -> viam.app.v1.CreateLocationSecretResponse - 54, // 173: viam.app.v1.AppService.DeleteLocationSecret:output_type -> viam.app.v1.DeleteLocationSecretResponse - 61, // 174: viam.app.v1.AppService.GetRobot:output_type -> viam.app.v1.GetRobotResponse - 60, // 175: viam.app.v1.AppService.GetRoverRentalRobots:output_type -> viam.app.v1.GetRoverRentalRobotsResponse - 63, // 176: viam.app.v1.AppService.GetRobotParts:output_type -> viam.app.v1.GetRobotPartsResponse - 65, // 177: viam.app.v1.AppService.GetRobotPart:output_type -> viam.app.v1.GetRobotPartResponse - 68, // 178: viam.app.v1.AppService.GetRobotPartLogs:output_type -> viam.app.v1.GetRobotPartLogsResponse - 70, // 179: viam.app.v1.AppService.TailRobotPartLogs:output_type -> viam.app.v1.TailRobotPartLogsResponse - 72, // 180: viam.app.v1.AppService.GetRobotPartHistory:output_type -> viam.app.v1.GetRobotPartHistoryResponse - 74, // 181: viam.app.v1.AppService.UpdateRobotPart:output_type -> viam.app.v1.UpdateRobotPartResponse - 76, // 182: viam.app.v1.AppService.NewRobotPart:output_type -> viam.app.v1.NewRobotPartResponse - 81, // 183: viam.app.v1.AppService.DeleteRobotPart:output_type -> viam.app.v1.DeleteRobotPartResponse - 80, // 184: viam.app.v1.AppService.GetRobotAPIKeys:output_type -> viam.app.v1.GetRobotAPIKeysResponse - 102, // 185: viam.app.v1.AppService.MarkPartAsMain:output_type -> viam.app.v1.MarkPartAsMainResponse - 104, // 186: viam.app.v1.AppService.MarkPartForRestart:output_type -> viam.app.v1.MarkPartForRestartResponse - 106, // 187: viam.app.v1.AppService.CreateRobotPartSecret:output_type -> viam.app.v1.CreateRobotPartSecretResponse - 108, // 188: viam.app.v1.AppService.DeleteRobotPartSecret:output_type -> viam.app.v1.DeleteRobotPartSecretResponse - 94, // 189: viam.app.v1.AppService.ListRobots:output_type -> viam.app.v1.ListRobotsResponse - 96, // 190: viam.app.v1.AppService.NewRobot:output_type -> viam.app.v1.NewRobotResponse - 98, // 191: viam.app.v1.AppService.UpdateRobot:output_type -> viam.app.v1.UpdateRobotResponse - 100, // 192: viam.app.v1.AppService.DeleteRobot:output_type -> viam.app.v1.DeleteRobotResponse - 84, // 193: viam.app.v1.AppService.ListFragments:output_type -> viam.app.v1.ListFragmentsResponse - 86, // 194: viam.app.v1.AppService.GetFragment:output_type -> viam.app.v1.GetFragmentResponse - 88, // 195: viam.app.v1.AppService.CreateFragment:output_type -> viam.app.v1.CreateFragmentResponse - 90, // 196: viam.app.v1.AppService.UpdateFragment:output_type -> viam.app.v1.UpdateFragmentResponse - 92, // 197: viam.app.v1.AppService.DeleteFragment:output_type -> viam.app.v1.DeleteFragmentResponse - 111, // 198: viam.app.v1.AppService.AddRole:output_type -> viam.app.v1.AddRoleResponse - 113, // 199: viam.app.v1.AppService.RemoveRole:output_type -> viam.app.v1.RemoveRoleResponse - 115, // 200: viam.app.v1.AppService.ChangeRole:output_type -> viam.app.v1.ChangeRoleResponse - 117, // 201: viam.app.v1.AppService.ListAuthorizations:output_type -> viam.app.v1.ListAuthorizationsResponse - 120, // 202: viam.app.v1.AppService.CheckPermissions:output_type -> viam.app.v1.CheckPermissionsResponse - 122, // 203: viam.app.v1.AppService.CreateModule:output_type -> viam.app.v1.CreateModuleResponse - 124, // 204: viam.app.v1.AppService.UpdateModule:output_type -> viam.app.v1.UpdateModuleResponse - 128, // 205: viam.app.v1.AppService.UploadModuleFile:output_type -> viam.app.v1.UploadModuleFileResponse - 130, // 206: viam.app.v1.AppService.GetModule:output_type -> viam.app.v1.GetModuleResponse - 135, // 207: viam.app.v1.AppService.ListModules:output_type -> viam.app.v1.ListModulesResponse - 142, // 208: viam.app.v1.AppService.CreateKey:output_type -> viam.app.v1.CreateKeyResponse - 144, // 209: viam.app.v1.AppService.DeleteKey:output_type -> viam.app.v1.DeleteKeyResponse - 148, // 210: viam.app.v1.AppService.ListKeys:output_type -> viam.app.v1.ListKeysResponse - 150, // 211: viam.app.v1.AppService.RotateKey:output_type -> viam.app.v1.RotateKeyResponse - 152, // 212: viam.app.v1.AppService.CreateKeyFromExistingKeyAuthorizations:output_type -> viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponse - 150, // [150:213] is the sub-list for method output_type - 87, // [87:150] is the sub-list for method input_type - 87, // [87:87] is the sub-list for extension type_name - 87, // [87:87] is the sub-list for extension extendee - 0, // [0:87] is the sub-list for field type_name + 159, // 71: viam.app.v1.CreateRegistryItemRequest.type:type_name -> viam.app.packages.v1.PackageType + 159, // 72: viam.app.v1.UpdateRegistryItemRequest.type:type_name -> viam.app.packages.v1.PackageType + 0, // 73: viam.app.v1.UpdateRegistryItemRequest.visibility:type_name -> viam.app.v1.Visibility + 0, // 74: viam.app.v1.UpdateModuleRequest.visibility:type_name -> viam.app.v1.Visibility + 129, // 75: viam.app.v1.UpdateModuleRequest.models:type_name -> viam.app.v1.Model + 130, // 76: viam.app.v1.UploadModuleFileRequest.module_file_info:type_name -> viam.app.v1.ModuleFileInfo + 135, // 77: viam.app.v1.GetModuleResponse.module:type_name -> viam.app.v1.Module + 0, // 78: viam.app.v1.Module.visibility:type_name -> viam.app.v1.Visibility + 136, // 79: viam.app.v1.Module.versions:type_name -> viam.app.v1.VersionHistory + 129, // 80: viam.app.v1.Module.models:type_name -> viam.app.v1.Model + 137, // 81: viam.app.v1.VersionHistory.files:type_name -> viam.app.v1.Uploads + 129, // 82: viam.app.v1.VersionHistory.models:type_name -> viam.app.v1.Model + 157, // 83: viam.app.v1.Uploads.uploaded_at:type_name -> google.protobuf.Timestamp + 135, // 84: viam.app.v1.ListModulesResponse.modules:type_name -> viam.app.v1.Module + 143, // 85: viam.app.v1.ListOrganizationsByUserResponse.orgs:type_name -> viam.app.v1.OrgDetails + 109, // 86: viam.app.v1.CreateKeyRequest.authorizations:type_name -> viam.app.v1.Authorization + 79, // 87: viam.app.v1.APIKeyWithAuthorizations.api_key:type_name -> viam.app.v1.APIKey + 149, // 88: viam.app.v1.APIKeyWithAuthorizations.authorizations:type_name -> viam.app.v1.AuthorizationDetails + 150, // 89: viam.app.v1.ListKeysResponse.api_keys:type_name -> viam.app.v1.APIKeyWithAuthorizations + 140, // 90: viam.app.v1.AppService.GetUserIDByEmail:input_type -> viam.app.v1.GetUserIDByEmailRequest + 10, // 91: viam.app.v1.AppService.CreateOrganization:input_type -> viam.app.v1.CreateOrganizationRequest + 5, // 92: viam.app.v1.AppService.ListOrganizations:input_type -> viam.app.v1.ListOrganizationsRequest + 142, // 93: viam.app.v1.AppService.ListOrganizationsByUser:input_type -> viam.app.v1.ListOrganizationsByUserRequest + 12, // 94: viam.app.v1.AppService.GetOrganization:input_type -> viam.app.v1.GetOrganizationRequest + 14, // 95: viam.app.v1.AppService.GetOrganizationNamespaceAvailability:input_type -> viam.app.v1.GetOrganizationNamespaceAvailabilityRequest + 16, // 96: viam.app.v1.AppService.UpdateOrganization:input_type -> viam.app.v1.UpdateOrganizationRequest + 18, // 97: viam.app.v1.AppService.DeleteOrganization:input_type -> viam.app.v1.DeleteOrganizationRequest + 20, // 98: viam.app.v1.AppService.ListOrganizationMembers:input_type -> viam.app.v1.ListOrganizationMembersRequest + 22, // 99: viam.app.v1.AppService.CreateOrganizationInvite:input_type -> viam.app.v1.CreateOrganizationInviteRequest + 24, // 100: viam.app.v1.AppService.UpdateOrganizationInviteAuthorizations:input_type -> viam.app.v1.UpdateOrganizationInviteAuthorizationsRequest + 30, // 101: viam.app.v1.AppService.DeleteOrganizationMember:input_type -> viam.app.v1.DeleteOrganizationMemberRequest + 26, // 102: viam.app.v1.AppService.DeleteOrganizationInvite:input_type -> viam.app.v1.DeleteOrganizationInviteRequest + 28, // 103: viam.app.v1.AppService.ResendOrganizationInvite:input_type -> viam.app.v1.ResendOrganizationInviteRequest + 37, // 104: viam.app.v1.AppService.CreateLocation:input_type -> viam.app.v1.CreateLocationRequest + 39, // 105: viam.app.v1.AppService.GetLocation:input_type -> viam.app.v1.GetLocationRequest + 41, // 106: viam.app.v1.AppService.UpdateLocation:input_type -> viam.app.v1.UpdateLocationRequest + 43, // 107: viam.app.v1.AppService.DeleteLocation:input_type -> viam.app.v1.DeleteLocationRequest + 45, // 108: viam.app.v1.AppService.ListLocations:input_type -> viam.app.v1.ListLocationsRequest + 46, // 109: viam.app.v1.AppService.ShareLocation:input_type -> viam.app.v1.ShareLocationRequest + 48, // 110: viam.app.v1.AppService.UnshareLocation:input_type -> viam.app.v1.UnshareLocationRequest + 55, // 111: viam.app.v1.AppService.LocationAuth:input_type -> viam.app.v1.LocationAuthRequest + 51, // 112: viam.app.v1.AppService.CreateLocationSecret:input_type -> viam.app.v1.CreateLocationSecretRequest + 53, // 113: viam.app.v1.AppService.DeleteLocationSecret:input_type -> viam.app.v1.DeleteLocationSecretRequest + 57, // 114: viam.app.v1.AppService.GetRobot:input_type -> viam.app.v1.GetRobotRequest + 58, // 115: viam.app.v1.AppService.GetRoverRentalRobots:input_type -> viam.app.v1.GetRoverRentalRobotsRequest + 62, // 116: viam.app.v1.AppService.GetRobotParts:input_type -> viam.app.v1.GetRobotPartsRequest + 64, // 117: viam.app.v1.AppService.GetRobotPart:input_type -> viam.app.v1.GetRobotPartRequest + 66, // 118: viam.app.v1.AppService.GetRobotPartLogs:input_type -> viam.app.v1.GetRobotPartLogsRequest + 69, // 119: viam.app.v1.AppService.TailRobotPartLogs:input_type -> viam.app.v1.TailRobotPartLogsRequest + 71, // 120: viam.app.v1.AppService.GetRobotPartHistory:input_type -> viam.app.v1.GetRobotPartHistoryRequest + 73, // 121: viam.app.v1.AppService.UpdateRobotPart:input_type -> viam.app.v1.UpdateRobotPartRequest + 75, // 122: viam.app.v1.AppService.NewRobotPart:input_type -> viam.app.v1.NewRobotPartRequest + 77, // 123: viam.app.v1.AppService.DeleteRobotPart:input_type -> viam.app.v1.DeleteRobotPartRequest + 78, // 124: viam.app.v1.AppService.GetRobotAPIKeys:input_type -> viam.app.v1.GetRobotAPIKeysRequest + 101, // 125: viam.app.v1.AppService.MarkPartAsMain:input_type -> viam.app.v1.MarkPartAsMainRequest + 103, // 126: viam.app.v1.AppService.MarkPartForRestart:input_type -> viam.app.v1.MarkPartForRestartRequest + 105, // 127: viam.app.v1.AppService.CreateRobotPartSecret:input_type -> viam.app.v1.CreateRobotPartSecretRequest + 107, // 128: viam.app.v1.AppService.DeleteRobotPartSecret:input_type -> viam.app.v1.DeleteRobotPartSecretRequest + 93, // 129: viam.app.v1.AppService.ListRobots:input_type -> viam.app.v1.ListRobotsRequest + 95, // 130: viam.app.v1.AppService.NewRobot:input_type -> viam.app.v1.NewRobotRequest + 97, // 131: viam.app.v1.AppService.UpdateRobot:input_type -> viam.app.v1.UpdateRobotRequest + 99, // 132: viam.app.v1.AppService.DeleteRobot:input_type -> viam.app.v1.DeleteRobotRequest + 83, // 133: viam.app.v1.AppService.ListFragments:input_type -> viam.app.v1.ListFragmentsRequest + 85, // 134: viam.app.v1.AppService.GetFragment:input_type -> viam.app.v1.GetFragmentRequest + 87, // 135: viam.app.v1.AppService.CreateFragment:input_type -> viam.app.v1.CreateFragmentRequest + 89, // 136: viam.app.v1.AppService.UpdateFragment:input_type -> viam.app.v1.UpdateFragmentRequest + 91, // 137: viam.app.v1.AppService.DeleteFragment:input_type -> viam.app.v1.DeleteFragmentRequest + 110, // 138: viam.app.v1.AppService.AddRole:input_type -> viam.app.v1.AddRoleRequest + 112, // 139: viam.app.v1.AppService.RemoveRole:input_type -> viam.app.v1.RemoveRoleRequest + 114, // 140: viam.app.v1.AppService.ChangeRole:input_type -> viam.app.v1.ChangeRoleRequest + 116, // 141: viam.app.v1.AppService.ListAuthorizations:input_type -> viam.app.v1.ListAuthorizationsRequest + 118, // 142: viam.app.v1.AppService.CheckPermissions:input_type -> viam.app.v1.CheckPermissionsRequest + 121, // 143: viam.app.v1.AppService.CreateRegistryItem:input_type -> viam.app.v1.CreateRegistryItemRequest + 123, // 144: viam.app.v1.AppService.UpdateRegistryItem:input_type -> viam.app.v1.UpdateRegistryItemRequest + 125, // 145: viam.app.v1.AppService.CreateModule:input_type -> viam.app.v1.CreateModuleRequest + 127, // 146: viam.app.v1.AppService.UpdateModule:input_type -> viam.app.v1.UpdateModuleRequest + 131, // 147: viam.app.v1.AppService.UploadModuleFile:input_type -> viam.app.v1.UploadModuleFileRequest + 133, // 148: viam.app.v1.AppService.GetModule:input_type -> viam.app.v1.GetModuleRequest + 138, // 149: viam.app.v1.AppService.ListModules:input_type -> viam.app.v1.ListModulesRequest + 145, // 150: viam.app.v1.AppService.CreateKey:input_type -> viam.app.v1.CreateKeyRequest + 147, // 151: viam.app.v1.AppService.DeleteKey:input_type -> viam.app.v1.DeleteKeyRequest + 151, // 152: viam.app.v1.AppService.ListKeys:input_type -> viam.app.v1.ListKeysRequest + 153, // 153: viam.app.v1.AppService.RotateKey:input_type -> viam.app.v1.RotateKeyRequest + 155, // 154: viam.app.v1.AppService.CreateKeyFromExistingKeyAuthorizations:input_type -> viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest + 141, // 155: viam.app.v1.AppService.GetUserIDByEmail:output_type -> viam.app.v1.GetUserIDByEmailResponse + 11, // 156: viam.app.v1.AppService.CreateOrganization:output_type -> viam.app.v1.CreateOrganizationResponse + 8, // 157: viam.app.v1.AppService.ListOrganizations:output_type -> viam.app.v1.ListOrganizationsResponse + 144, // 158: viam.app.v1.AppService.ListOrganizationsByUser:output_type -> viam.app.v1.ListOrganizationsByUserResponse + 13, // 159: viam.app.v1.AppService.GetOrganization:output_type -> viam.app.v1.GetOrganizationResponse + 15, // 160: viam.app.v1.AppService.GetOrganizationNamespaceAvailability:output_type -> viam.app.v1.GetOrganizationNamespaceAvailabilityResponse + 17, // 161: viam.app.v1.AppService.UpdateOrganization:output_type -> viam.app.v1.UpdateOrganizationResponse + 19, // 162: viam.app.v1.AppService.DeleteOrganization:output_type -> viam.app.v1.DeleteOrganizationResponse + 21, // 163: viam.app.v1.AppService.ListOrganizationMembers:output_type -> viam.app.v1.ListOrganizationMembersResponse + 23, // 164: viam.app.v1.AppService.CreateOrganizationInvite:output_type -> viam.app.v1.CreateOrganizationInviteResponse + 25, // 165: viam.app.v1.AppService.UpdateOrganizationInviteAuthorizations:output_type -> viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse + 31, // 166: viam.app.v1.AppService.DeleteOrganizationMember:output_type -> viam.app.v1.DeleteOrganizationMemberResponse + 27, // 167: viam.app.v1.AppService.DeleteOrganizationInvite:output_type -> viam.app.v1.DeleteOrganizationInviteResponse + 29, // 168: viam.app.v1.AppService.ResendOrganizationInvite:output_type -> viam.app.v1.ResendOrganizationInviteResponse + 38, // 169: viam.app.v1.AppService.CreateLocation:output_type -> viam.app.v1.CreateLocationResponse + 40, // 170: viam.app.v1.AppService.GetLocation:output_type -> viam.app.v1.GetLocationResponse + 42, // 171: viam.app.v1.AppService.UpdateLocation:output_type -> viam.app.v1.UpdateLocationResponse + 44, // 172: viam.app.v1.AppService.DeleteLocation:output_type -> viam.app.v1.DeleteLocationResponse + 50, // 173: viam.app.v1.AppService.ListLocations:output_type -> viam.app.v1.ListLocationsResponse + 47, // 174: viam.app.v1.AppService.ShareLocation:output_type -> viam.app.v1.ShareLocationResponse + 49, // 175: viam.app.v1.AppService.UnshareLocation:output_type -> viam.app.v1.UnshareLocationResponse + 56, // 176: viam.app.v1.AppService.LocationAuth:output_type -> viam.app.v1.LocationAuthResponse + 52, // 177: viam.app.v1.AppService.CreateLocationSecret:output_type -> viam.app.v1.CreateLocationSecretResponse + 54, // 178: viam.app.v1.AppService.DeleteLocationSecret:output_type -> viam.app.v1.DeleteLocationSecretResponse + 61, // 179: viam.app.v1.AppService.GetRobot:output_type -> viam.app.v1.GetRobotResponse + 60, // 180: viam.app.v1.AppService.GetRoverRentalRobots:output_type -> viam.app.v1.GetRoverRentalRobotsResponse + 63, // 181: viam.app.v1.AppService.GetRobotParts:output_type -> viam.app.v1.GetRobotPartsResponse + 65, // 182: viam.app.v1.AppService.GetRobotPart:output_type -> viam.app.v1.GetRobotPartResponse + 68, // 183: viam.app.v1.AppService.GetRobotPartLogs:output_type -> viam.app.v1.GetRobotPartLogsResponse + 70, // 184: viam.app.v1.AppService.TailRobotPartLogs:output_type -> viam.app.v1.TailRobotPartLogsResponse + 72, // 185: viam.app.v1.AppService.GetRobotPartHistory:output_type -> viam.app.v1.GetRobotPartHistoryResponse + 74, // 186: viam.app.v1.AppService.UpdateRobotPart:output_type -> viam.app.v1.UpdateRobotPartResponse + 76, // 187: viam.app.v1.AppService.NewRobotPart:output_type -> viam.app.v1.NewRobotPartResponse + 81, // 188: viam.app.v1.AppService.DeleteRobotPart:output_type -> viam.app.v1.DeleteRobotPartResponse + 80, // 189: viam.app.v1.AppService.GetRobotAPIKeys:output_type -> viam.app.v1.GetRobotAPIKeysResponse + 102, // 190: viam.app.v1.AppService.MarkPartAsMain:output_type -> viam.app.v1.MarkPartAsMainResponse + 104, // 191: viam.app.v1.AppService.MarkPartForRestart:output_type -> viam.app.v1.MarkPartForRestartResponse + 106, // 192: viam.app.v1.AppService.CreateRobotPartSecret:output_type -> viam.app.v1.CreateRobotPartSecretResponse + 108, // 193: viam.app.v1.AppService.DeleteRobotPartSecret:output_type -> viam.app.v1.DeleteRobotPartSecretResponse + 94, // 194: viam.app.v1.AppService.ListRobots:output_type -> viam.app.v1.ListRobotsResponse + 96, // 195: viam.app.v1.AppService.NewRobot:output_type -> viam.app.v1.NewRobotResponse + 98, // 196: viam.app.v1.AppService.UpdateRobot:output_type -> viam.app.v1.UpdateRobotResponse + 100, // 197: viam.app.v1.AppService.DeleteRobot:output_type -> viam.app.v1.DeleteRobotResponse + 84, // 198: viam.app.v1.AppService.ListFragments:output_type -> viam.app.v1.ListFragmentsResponse + 86, // 199: viam.app.v1.AppService.GetFragment:output_type -> viam.app.v1.GetFragmentResponse + 88, // 200: viam.app.v1.AppService.CreateFragment:output_type -> viam.app.v1.CreateFragmentResponse + 90, // 201: viam.app.v1.AppService.UpdateFragment:output_type -> viam.app.v1.UpdateFragmentResponse + 92, // 202: viam.app.v1.AppService.DeleteFragment:output_type -> viam.app.v1.DeleteFragmentResponse + 111, // 203: viam.app.v1.AppService.AddRole:output_type -> viam.app.v1.AddRoleResponse + 113, // 204: viam.app.v1.AppService.RemoveRole:output_type -> viam.app.v1.RemoveRoleResponse + 115, // 205: viam.app.v1.AppService.ChangeRole:output_type -> viam.app.v1.ChangeRoleResponse + 117, // 206: viam.app.v1.AppService.ListAuthorizations:output_type -> viam.app.v1.ListAuthorizationsResponse + 120, // 207: viam.app.v1.AppService.CheckPermissions:output_type -> viam.app.v1.CheckPermissionsResponse + 122, // 208: viam.app.v1.AppService.CreateRegistryItem:output_type -> viam.app.v1.CreateRegistryItemResponse + 124, // 209: viam.app.v1.AppService.UpdateRegistryItem:output_type -> viam.app.v1.UpdateRegistryItemResponse + 126, // 210: viam.app.v1.AppService.CreateModule:output_type -> viam.app.v1.CreateModuleResponse + 128, // 211: viam.app.v1.AppService.UpdateModule:output_type -> viam.app.v1.UpdateModuleResponse + 132, // 212: viam.app.v1.AppService.UploadModuleFile:output_type -> viam.app.v1.UploadModuleFileResponse + 134, // 213: viam.app.v1.AppService.GetModule:output_type -> viam.app.v1.GetModuleResponse + 139, // 214: viam.app.v1.AppService.ListModules:output_type -> viam.app.v1.ListModulesResponse + 146, // 215: viam.app.v1.AppService.CreateKey:output_type -> viam.app.v1.CreateKeyResponse + 148, // 216: viam.app.v1.AppService.DeleteKey:output_type -> viam.app.v1.DeleteKeyResponse + 152, // 217: viam.app.v1.AppService.ListKeys:output_type -> viam.app.v1.ListKeysResponse + 154, // 218: viam.app.v1.AppService.RotateKey:output_type -> viam.app.v1.RotateKeyResponse + 156, // 219: viam.app.v1.AppService.CreateKeyFromExistingKeyAuthorizations:output_type -> viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponse + 155, // [155:220] is the sub-list for method output_type + 90, // [90:155] is the sub-list for method input_type + 90, // [90:90] is the sub-list for extension type_name + 90, // [90:90] is the sub-list for extension extendee + 0, // [0:90] is the sub-list for field type_name } func init() { file_app_v1_app_proto_init() } @@ -11637,7 +11903,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateModuleRequest); i { + switch v := v.(*CreateRegistryItemRequest); i { case 0: return &v.state case 1: @@ -11649,7 +11915,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateModuleResponse); i { + switch v := v.(*CreateRegistryItemResponse); i { case 0: return &v.state case 1: @@ -11661,7 +11927,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateModuleRequest); i { + switch v := v.(*UpdateRegistryItemRequest); i { case 0: return &v.state case 1: @@ -11673,7 +11939,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateModuleResponse); i { + switch v := v.(*UpdateRegistryItemResponse); i { case 0: return &v.state case 1: @@ -11685,7 +11951,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Model); i { + switch v := v.(*CreateModuleRequest); i { case 0: return &v.state case 1: @@ -11697,7 +11963,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleFileInfo); i { + switch v := v.(*CreateModuleResponse); i { case 0: return &v.state case 1: @@ -11709,7 +11975,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadModuleFileRequest); i { + switch v := v.(*UpdateModuleRequest); i { case 0: return &v.state case 1: @@ -11721,7 +11987,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadModuleFileResponse); i { + switch v := v.(*UpdateModuleResponse); i { case 0: return &v.state case 1: @@ -11733,7 +11999,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModuleRequest); i { + switch v := v.(*Model); i { case 0: return &v.state case 1: @@ -11745,7 +12011,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModuleResponse); i { + switch v := v.(*ModuleFileInfo); i { case 0: return &v.state case 1: @@ -11757,7 +12023,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Module); i { + switch v := v.(*UploadModuleFileRequest); i { case 0: return &v.state case 1: @@ -11769,7 +12035,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VersionHistory); i { + switch v := v.(*UploadModuleFileResponse); i { case 0: return &v.state case 1: @@ -11781,7 +12047,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Uploads); i { + switch v := v.(*GetModuleRequest); i { case 0: return &v.state case 1: @@ -11793,7 +12059,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListModulesRequest); i { + switch v := v.(*GetModuleResponse); i { case 0: return &v.state case 1: @@ -11805,7 +12071,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListModulesResponse); i { + switch v := v.(*Module); i { case 0: return &v.state case 1: @@ -11817,7 +12083,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserIDByEmailRequest); i { + switch v := v.(*VersionHistory); i { case 0: return &v.state case 1: @@ -11829,7 +12095,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserIDByEmailResponse); i { + switch v := v.(*Uploads); i { case 0: return &v.state case 1: @@ -11841,7 +12107,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListOrganizationsByUserRequest); i { + switch v := v.(*ListModulesRequest); i { case 0: return &v.state case 1: @@ -11853,7 +12119,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrgDetails); i { + switch v := v.(*ListModulesResponse); i { case 0: return &v.state case 1: @@ -11865,7 +12131,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListOrganizationsByUserResponse); i { + switch v := v.(*GetUserIDByEmailRequest); i { case 0: return &v.state case 1: @@ -11877,7 +12143,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateKeyRequest); i { + switch v := v.(*GetUserIDByEmailResponse); i { case 0: return &v.state case 1: @@ -11889,7 +12155,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateKeyResponse); i { + switch v := v.(*ListOrganizationsByUserRequest); i { case 0: return &v.state case 1: @@ -11901,7 +12167,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteKeyRequest); i { + switch v := v.(*OrgDetails); i { case 0: return &v.state case 1: @@ -11913,7 +12179,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteKeyResponse); i { + switch v := v.(*ListOrganizationsByUserResponse); i { case 0: return &v.state case 1: @@ -11925,7 +12191,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuthorizationDetails); i { + switch v := v.(*CreateKeyRequest); i { case 0: return &v.state case 1: @@ -11937,7 +12203,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*APIKeyWithAuthorizations); i { + switch v := v.(*CreateKeyResponse); i { case 0: return &v.state case 1: @@ -11949,7 +12215,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListKeysRequest); i { + switch v := v.(*DeleteKeyRequest); i { case 0: return &v.state case 1: @@ -11961,7 +12227,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListKeysResponse); i { + switch v := v.(*DeleteKeyResponse); i { case 0: return &v.state case 1: @@ -11973,7 +12239,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RotateKeyRequest); i { + switch v := v.(*AuthorizationDetails); i { case 0: return &v.state case 1: @@ -11985,7 +12251,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RotateKeyResponse); i { + switch v := v.(*APIKeyWithAuthorizations); i { case 0: return &v.state case 1: @@ -11997,7 +12263,7 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateKeyFromExistingKeyAuthorizationsRequest); i { + switch v := v.(*ListKeysRequest); i { case 0: return &v.state case 1: @@ -12009,6 +12275,54 @@ func file_app_v1_app_proto_init() { } } file_app_v1_app_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListKeysResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_app_v1_app_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RotateKeyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_app_v1_app_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RotateKeyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_app_v1_app_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateKeyFromExistingKeyAuthorizationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_app_v1_app_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateKeyFromExistingKeyAuthorizationsResponse); i { case 0: return &v.state @@ -12029,18 +12343,18 @@ func file_app_v1_app_proto_init() { file_app_v1_app_proto_msgTypes[64].OneofWrappers = []interface{}{} file_app_v1_app_proto_msgTypes[67].OneofWrappers = []interface{}{} file_app_v1_app_proto_msgTypes[87].OneofWrappers = []interface{}{} - file_app_v1_app_proto_msgTypes[125].OneofWrappers = []interface{}{ + file_app_v1_app_proto_msgTypes[129].OneofWrappers = []interface{}{ (*UploadModuleFileRequest_ModuleFileInfo)(nil), (*UploadModuleFileRequest_File)(nil), } - file_app_v1_app_proto_msgTypes[132].OneofWrappers = []interface{}{} + file_app_v1_app_proto_msgTypes[136].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_app_v1_app_proto_rawDesc, NumEnums: 2, - NumMessages: 151, + NumMessages: 155, NumExtensions: 0, NumServices: 1, }, diff --git a/app/v1/app.pb.gw.go b/app/v1/app.pb.gw.go index 1f513b861..94c821733 100644 --- a/app/v1/app.pb.gw.go +++ b/app/v1/app.pb.gw.go @@ -1824,6 +1824,74 @@ func local_request_AppService_CheckPermissions_0(ctx context.Context, marshaler } +func request_AppService_CreateRegistryItem_0(ctx context.Context, marshaler runtime.Marshaler, client AppServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateRegistryItemRequest + 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.CreateRegistryItem(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AppService_CreateRegistryItem_0(ctx context.Context, marshaler runtime.Marshaler, server AppServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateRegistryItemRequest + 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.CreateRegistryItem(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AppService_UpdateRegistryItem_0(ctx context.Context, marshaler runtime.Marshaler, client AppServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateRegistryItemRequest + 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.UpdateRegistryItem(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AppService_UpdateRegistryItem_0(ctx context.Context, marshaler runtime.Marshaler, server AppServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateRegistryItemRequest + 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.UpdateRegistryItem(ctx, &protoReq) + return msg, metadata, err + +} + func request_AppService_CreateModule_0(ctx context.Context, marshaler runtime.Marshaler, client AppServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq CreateModuleRequest var metadata runtime.ServerMetadata @@ -3487,6 +3555,56 @@ func RegisterAppServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, }) + mux.Handle("POST", pattern_AppService_CreateRegistryItem_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.v1.AppService/CreateRegistryItem", runtime.WithHTTPPathPattern("/viam.app.v1.AppService/CreateRegistryItem")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AppService_CreateRegistryItem_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_AppService_CreateRegistryItem_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AppService_UpdateRegistryItem_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.v1.AppService/UpdateRegistryItem", runtime.WithHTTPPathPattern("/viam.app.v1.AppService/UpdateRegistryItem")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AppService_UpdateRegistryItem_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_AppService_UpdateRegistryItem_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("POST", pattern_AppService_CreateModule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -4926,6 +5044,50 @@ func RegisterAppServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, }) + mux.Handle("POST", pattern_AppService_CreateRegistryItem_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.v1.AppService/CreateRegistryItem", runtime.WithHTTPPathPattern("/viam.app.v1.AppService/CreateRegistryItem")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AppService_CreateRegistryItem_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AppService_CreateRegistryItem_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AppService_UpdateRegistryItem_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.v1.AppService/UpdateRegistryItem", runtime.WithHTTPPathPattern("/viam.app.v1.AppService/UpdateRegistryItem")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AppService_UpdateRegistryItem_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AppService_UpdateRegistryItem_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("POST", pattern_AppService_CreateModule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -5256,6 +5418,10 @@ var ( pattern_AppService_CheckPermissions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"viam.app.v1.AppService", "CheckPermissions"}, "")) + pattern_AppService_CreateRegistryItem_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"viam.app.v1.AppService", "CreateRegistryItem"}, "")) + + pattern_AppService_UpdateRegistryItem_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"viam.app.v1.AppService", "UpdateRegistryItem"}, "")) + pattern_AppService_CreateModule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"viam.app.v1.AppService", "CreateModule"}, "")) pattern_AppService_UpdateModule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"viam.app.v1.AppService", "UpdateModule"}, "")) @@ -5384,6 +5550,10 @@ var ( forward_AppService_CheckPermissions_0 = runtime.ForwardResponseMessage + forward_AppService_CreateRegistryItem_0 = runtime.ForwardResponseMessage + + forward_AppService_UpdateRegistryItem_0 = runtime.ForwardResponseMessage + forward_AppService_CreateModule_0 = runtime.ForwardResponseMessage forward_AppService_UpdateModule_0 = runtime.ForwardResponseMessage diff --git a/app/v1/app_grpc.pb.go b/app/v1/app_grpc.pb.go index 674e9a528..73a337da9 100644 --- a/app/v1/app_grpc.pb.go +++ b/app/v1/app_grpc.pb.go @@ -131,6 +131,8 @@ type AppServiceClient interface { ListAuthorizations(ctx context.Context, in *ListAuthorizationsRequest, opts ...grpc.CallOption) (*ListAuthorizationsResponse, error) // Validates a permission for the current user CheckPermissions(ctx context.Context, in *CheckPermissionsRequest, opts ...grpc.CallOption) (*CheckPermissionsResponse, error) + CreateRegistryItem(ctx context.Context, in *CreateRegistryItemRequest, opts ...grpc.CallOption) (*CreateRegistryItemResponse, error) + UpdateRegistryItem(ctx context.Context, in *UpdateRegistryItemRequest, opts ...grpc.CallOption) (*UpdateRegistryItemResponse, error) CreateModule(ctx context.Context, in *CreateModuleRequest, opts ...grpc.CallOption) (*CreateModuleResponse, error) UpdateModule(ctx context.Context, in *UpdateModuleRequest, opts ...grpc.CallOption) (*UpdateModuleResponse, error) UploadModuleFile(ctx context.Context, opts ...grpc.CallOption) (AppService_UploadModuleFileClient, error) @@ -651,6 +653,24 @@ func (c *appServiceClient) CheckPermissions(ctx context.Context, in *CheckPermis return out, nil } +func (c *appServiceClient) CreateRegistryItem(ctx context.Context, in *CreateRegistryItemRequest, opts ...grpc.CallOption) (*CreateRegistryItemResponse, error) { + out := new(CreateRegistryItemResponse) + err := c.cc.Invoke(ctx, "/viam.app.v1.AppService/CreateRegistryItem", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *appServiceClient) UpdateRegistryItem(ctx context.Context, in *UpdateRegistryItemRequest, opts ...grpc.CallOption) (*UpdateRegistryItemResponse, error) { + out := new(UpdateRegistryItemResponse) + err := c.cc.Invoke(ctx, "/viam.app.v1.AppService/UpdateRegistryItem", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *appServiceClient) CreateModule(ctx context.Context, in *CreateModuleRequest, opts ...grpc.CallOption) (*CreateModuleResponse, error) { out := new(CreateModuleResponse) err := c.cc.Invoke(ctx, "/viam.app.v1.AppService/CreateModule", in, out, opts...) @@ -879,6 +899,8 @@ type AppServiceServer interface { ListAuthorizations(context.Context, *ListAuthorizationsRequest) (*ListAuthorizationsResponse, error) // Validates a permission for the current user CheckPermissions(context.Context, *CheckPermissionsRequest) (*CheckPermissionsResponse, error) + CreateRegistryItem(context.Context, *CreateRegistryItemRequest) (*CreateRegistryItemResponse, error) + UpdateRegistryItem(context.Context, *UpdateRegistryItemRequest) (*UpdateRegistryItemResponse, error) CreateModule(context.Context, *CreateModuleRequest) (*CreateModuleResponse, error) UpdateModule(context.Context, *UpdateModuleRequest) (*UpdateModuleResponse, error) UploadModuleFile(AppService_UploadModuleFileServer) error @@ -1055,6 +1077,12 @@ func (UnimplementedAppServiceServer) ListAuthorizations(context.Context, *ListAu func (UnimplementedAppServiceServer) CheckPermissions(context.Context, *CheckPermissionsRequest) (*CheckPermissionsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CheckPermissions not implemented") } +func (UnimplementedAppServiceServer) CreateRegistryItem(context.Context, *CreateRegistryItemRequest) (*CreateRegistryItemResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateRegistryItem not implemented") +} +func (UnimplementedAppServiceServer) UpdateRegistryItem(context.Context, *UpdateRegistryItemRequest) (*UpdateRegistryItemResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateRegistryItem not implemented") +} func (UnimplementedAppServiceServer) CreateModule(context.Context, *CreateModuleRequest) (*CreateModuleResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateModule not implemented") } @@ -2055,6 +2083,42 @@ func _AppService_CheckPermissions_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _AppService_CreateRegistryItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateRegistryItemRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AppServiceServer).CreateRegistryItem(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/viam.app.v1.AppService/CreateRegistryItem", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AppServiceServer).CreateRegistryItem(ctx, req.(*CreateRegistryItemRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AppService_UpdateRegistryItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateRegistryItemRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AppServiceServer).UpdateRegistryItem(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/viam.app.v1.AppService/UpdateRegistryItem", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AppServiceServer).UpdateRegistryItem(ctx, req.(*UpdateRegistryItemRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _AppService_CreateModule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateModuleRequest) if err := dec(in); err != nil { @@ -2458,6 +2522,14 @@ var AppService_ServiceDesc = grpc.ServiceDesc{ MethodName: "CheckPermissions", Handler: _AppService_CheckPermissions_Handler, }, + { + MethodName: "CreateRegistryItem", + Handler: _AppService_CreateRegistryItem_Handler, + }, + { + MethodName: "UpdateRegistryItem", + Handler: _AppService_UpdateRegistryItem_Handler, + }, { MethodName: "CreateModule", Handler: _AppService_CreateModule_Handler, diff --git a/component/audioinput/v1/audioinput.pb.gw.go b/component/audioinput/v1/audioinput.pb.gw.go index 571f1e11f..97662546a 100644 --- a/component/audioinput/v1/audioinput.pb.gw.go +++ b/component/audioinput/v1/audioinput.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" @@ -184,7 +184,7 @@ var ( ) func request_AudioInputService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client AudioInputServiceClient, 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 ( @@ -217,7 +217,7 @@ func request_AudioInputService_DoCommand_0(ctx context.Context, marshaler runtim } func local_request_AudioInputService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server AudioInputServiceServer, 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 ( @@ -254,7 +254,7 @@ var ( ) func request_AudioInputService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client AudioInputServiceClient, 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 ( @@ -287,7 +287,7 @@ func request_AudioInputService_GetGeometries_0(ctx context.Context, marshaler ru } func local_request_AudioInputService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server AudioInputServiceServer, 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/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/gripper/v1/gripper.pb.gw.go b/component/gripper/v1/gripper.pb.gw.go index b432b0c7e..d732daf0a 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" - "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" @@ -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.DoCommandRequest + var protoReq v1_0.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.DoCommandRequest + var protoReq v1_0.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.GetGeometriesRequest + var protoReq v1_0.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.GetGeometriesRequest + var protoReq v1_0.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/powersensor/v1/powersensor.pb.gw.go b/component/powersensor/v1/powersensor.pb.gw.go index 9a80a7e4a..c60c7e312 100644 --- a/component/powersensor/v1/powersensor.pb.gw.go +++ b/component/powersensor/v1/powersensor.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" @@ -247,7 +247,7 @@ var ( ) func request_PowerSensorService_GetReadings_0(ctx context.Context, marshaler runtime.Marshaler, client PowerSensorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetReadingsRequest + var protoReq v1.GetReadingsRequest var metadata runtime.ServerMetadata var ( @@ -280,7 +280,7 @@ func request_PowerSensorService_GetReadings_0(ctx context.Context, marshaler run } func local_request_PowerSensorService_GetReadings_0(ctx context.Context, marshaler runtime.Marshaler, server PowerSensorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetReadingsRequest + var protoReq v1.GetReadingsRequest var metadata runtime.ServerMetadata var ( @@ -317,7 +317,7 @@ var ( ) func request_PowerSensorService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client PowerSensorServiceClient, 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 ( @@ -350,7 +350,7 @@ func request_PowerSensorService_DoCommand_0(ctx context.Context, marshaler runti } func local_request_PowerSensorService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server PowerSensorServiceServer, 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 ( 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/gen/js/app/v1/app_grpc_web_pb.js b/gen/js/app/v1/app_grpc_web_pb.js index 7e17c4fd6..bd148df34 100644 --- a/gen/js/app/v1/app_grpc_web_pb.js +++ b/gen/js/app/v1/app_grpc_web_pb.js @@ -20,6 +20,8 @@ const grpc = {}; grpc.web = require('grpc-web'); +var app_packages_v1_packages_pb = require('../../app/packages/v1/packages_pb.js') + var google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js') var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js') @@ -3310,6 +3312,128 @@ proto.viam.app.v1.AppServicePromiseClient.prototype.checkPermissions = }; +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.viam.app.v1.CreateRegistryItemRequest, + * !proto.viam.app.v1.CreateRegistryItemResponse>} + */ +const methodDescriptor_AppService_CreateRegistryItem = new grpc.web.MethodDescriptor( + '/viam.app.v1.AppService/CreateRegistryItem', + grpc.web.MethodType.UNARY, + proto.viam.app.v1.CreateRegistryItemRequest, + proto.viam.app.v1.CreateRegistryItemResponse, + /** + * @param {!proto.viam.app.v1.CreateRegistryItemRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.viam.app.v1.CreateRegistryItemResponse.deserializeBinary +); + + +/** + * @param {!proto.viam.app.v1.CreateRegistryItemRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.RpcError, ?proto.viam.app.v1.CreateRegistryItemResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.viam.app.v1.AppServiceClient.prototype.createRegistryItem = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/viam.app.v1.AppService/CreateRegistryItem', + request, + metadata || {}, + methodDescriptor_AppService_CreateRegistryItem, + callback); +}; + + +/** + * @param {!proto.viam.app.v1.CreateRegistryItemRequest} request The + * request proto + * @param {?Object=} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.viam.app.v1.AppServicePromiseClient.prototype.createRegistryItem = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/viam.app.v1.AppService/CreateRegistryItem', + request, + metadata || {}, + methodDescriptor_AppService_CreateRegistryItem); +}; + + +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.viam.app.v1.UpdateRegistryItemRequest, + * !proto.viam.app.v1.UpdateRegistryItemResponse>} + */ +const methodDescriptor_AppService_UpdateRegistryItem = new grpc.web.MethodDescriptor( + '/viam.app.v1.AppService/UpdateRegistryItem', + grpc.web.MethodType.UNARY, + proto.viam.app.v1.UpdateRegistryItemRequest, + proto.viam.app.v1.UpdateRegistryItemResponse, + /** + * @param {!proto.viam.app.v1.UpdateRegistryItemRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.viam.app.v1.UpdateRegistryItemResponse.deserializeBinary +); + + +/** + * @param {!proto.viam.app.v1.UpdateRegistryItemRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.RpcError, ?proto.viam.app.v1.UpdateRegistryItemResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.viam.app.v1.AppServiceClient.prototype.updateRegistryItem = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/viam.app.v1.AppService/UpdateRegistryItem', + request, + metadata || {}, + methodDescriptor_AppService_UpdateRegistryItem, + callback); +}; + + +/** + * @param {!proto.viam.app.v1.UpdateRegistryItemRequest} request The + * request proto + * @param {?Object=} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.viam.app.v1.AppServicePromiseClient.prototype.updateRegistryItem = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/viam.app.v1.AppService/UpdateRegistryItem', + request, + metadata || {}, + methodDescriptor_AppService_UpdateRegistryItem); +}; + + /** * @const * @type {!grpc.web.MethodDescriptor< diff --git a/gen/js/app/v1/app_pb.d.ts b/gen/js/app/v1/app_pb.d.ts index 7b8adc517..27d18a501 100644 --- a/gen/js/app/v1/app_pb.d.ts +++ b/gen/js/app/v1/app_pb.d.ts @@ -2,6 +2,7 @@ // file: app/v1/app.proto import * as jspb from "google-protobuf"; +import * as app_packages_v1_packages_pb from "../../app/packages/v1/packages_pb"; import * as google_protobuf_struct_pb from "google-protobuf/google/protobuf/struct_pb"; import * as google_protobuf_timestamp_pb from "google-protobuf/google/protobuf/timestamp_pb"; import * as tagger_v1_tagger_pb from "../../tagger/v1/tagger_pb"; @@ -2970,6 +2971,98 @@ export namespace CheckPermissionsResponse { } } +export class CreateRegistryItemRequest extends jspb.Message { + getOrganizationId(): string; + setOrganizationId(value: string): void; + + getName(): string; + setName(value: string): void; + + getType(): app_packages_v1_packages_pb.PackageTypeMap[keyof app_packages_v1_packages_pb.PackageTypeMap]; + setType(value: app_packages_v1_packages_pb.PackageTypeMap[keyof app_packages_v1_packages_pb.PackageTypeMap]): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CreateRegistryItemRequest.AsObject; + static toObject(includeInstance: boolean, msg: CreateRegistryItemRequest): CreateRegistryItemRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CreateRegistryItemRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CreateRegistryItemRequest; + static deserializeBinaryFromReader(message: CreateRegistryItemRequest, reader: jspb.BinaryReader): CreateRegistryItemRequest; +} + +export namespace CreateRegistryItemRequest { + export type AsObject = { + organizationId: string, + name: string, + type: app_packages_v1_packages_pb.PackageTypeMap[keyof app_packages_v1_packages_pb.PackageTypeMap], + } +} + +export class CreateRegistryItemResponse extends jspb.Message { + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): CreateRegistryItemResponse.AsObject; + static toObject(includeInstance: boolean, msg: CreateRegistryItemResponse): CreateRegistryItemResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: CreateRegistryItemResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): CreateRegistryItemResponse; + static deserializeBinaryFromReader(message: CreateRegistryItemResponse, reader: jspb.BinaryReader): CreateRegistryItemResponse; +} + +export namespace CreateRegistryItemResponse { + export type AsObject = { + } +} + +export class UpdateRegistryItemRequest extends jspb.Message { + getItemId(): string; + setItemId(value: string): void; + + getType(): app_packages_v1_packages_pb.PackageTypeMap[keyof app_packages_v1_packages_pb.PackageTypeMap]; + setType(value: app_packages_v1_packages_pb.PackageTypeMap[keyof app_packages_v1_packages_pb.PackageTypeMap]): void; + + getDescription(): string; + setDescription(value: string): void; + + getVisibility(): VisibilityMap[keyof VisibilityMap]; + setVisibility(value: VisibilityMap[keyof VisibilityMap]): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): UpdateRegistryItemRequest.AsObject; + static toObject(includeInstance: boolean, msg: UpdateRegistryItemRequest): UpdateRegistryItemRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: UpdateRegistryItemRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): UpdateRegistryItemRequest; + static deserializeBinaryFromReader(message: UpdateRegistryItemRequest, reader: jspb.BinaryReader): UpdateRegistryItemRequest; +} + +export namespace UpdateRegistryItemRequest { + export type AsObject = { + itemId: string, + type: app_packages_v1_packages_pb.PackageTypeMap[keyof app_packages_v1_packages_pb.PackageTypeMap], + description: string, + visibility: VisibilityMap[keyof VisibilityMap], + } +} + +export class UpdateRegistryItemResponse extends jspb.Message { + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): UpdateRegistryItemResponse.AsObject; + static toObject(includeInstance: boolean, msg: UpdateRegistryItemResponse): UpdateRegistryItemResponse.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: UpdateRegistryItemResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): UpdateRegistryItemResponse; + static deserializeBinaryFromReader(message: UpdateRegistryItemResponse, reader: jspb.BinaryReader): UpdateRegistryItemResponse; +} + +export namespace UpdateRegistryItemResponse { + export type AsObject = { + } +} + export class CreateModuleRequest extends jspb.Message { getOrganizationId(): string; setOrganizationId(value: string): void; diff --git a/gen/js/app/v1/app_pb.js b/gen/js/app/v1/app_pb.js index 2b3524094..bd6ca844c 100644 --- a/gen/js/app/v1/app_pb.js +++ b/gen/js/app/v1/app_pb.js @@ -15,6 +15,8 @@ var jspb = require('google-protobuf'); var goog = jspb; var global = (function() { return this || window || global || self || Function('return this')(); }).call(null); +var app_packages_v1_packages_pb = require('../../app/packages/v1/packages_pb.js'); +goog.object.extend(proto, app_packages_v1_packages_pb); var google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js'); goog.object.extend(proto, google_protobuf_struct_pb); var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js'); @@ -48,6 +50,8 @@ goog.exportSymbol('proto.viam.app.v1.CreateOrganizationInviteRequest', null, glo goog.exportSymbol('proto.viam.app.v1.CreateOrganizationInviteResponse', null, global); goog.exportSymbol('proto.viam.app.v1.CreateOrganizationRequest', null, global); goog.exportSymbol('proto.viam.app.v1.CreateOrganizationResponse', null, global); +goog.exportSymbol('proto.viam.app.v1.CreateRegistryItemRequest', null, global); +goog.exportSymbol('proto.viam.app.v1.CreateRegistryItemResponse', null, global); goog.exportSymbol('proto.viam.app.v1.CreateRobotPartSecretRequest', null, global); goog.exportSymbol('proto.viam.app.v1.CreateRobotPartSecretResponse', null, global); goog.exportSymbol('proto.viam.app.v1.DeleteFragmentRequest', null, global); @@ -165,6 +169,8 @@ goog.exportSymbol('proto.viam.app.v1.UpdateOrganizationInviteAuthorizationsReque goog.exportSymbol('proto.viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse', null, global); goog.exportSymbol('proto.viam.app.v1.UpdateOrganizationRequest', null, global); goog.exportSymbol('proto.viam.app.v1.UpdateOrganizationResponse', null, global); +goog.exportSymbol('proto.viam.app.v1.UpdateRegistryItemRequest', null, global); +goog.exportSymbol('proto.viam.app.v1.UpdateRegistryItemResponse', null, global); goog.exportSymbol('proto.viam.app.v1.UpdateRobotPartRequest', null, global); goog.exportSymbol('proto.viam.app.v1.UpdateRobotPartResponse', null, global); goog.exportSymbol('proto.viam.app.v1.UpdateRobotRequest', null, global); @@ -2674,6 +2680,90 @@ if (goog.DEBUG && !COMPILED) { */ proto.viam.app.v1.CheckPermissionsResponse.displayName = 'proto.viam.app.v1.CheckPermissionsResponse'; } +/** + * 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.v1.CreateRegistryItemRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.app.v1.CreateRegistryItemRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.v1.CreateRegistryItemRequest.displayName = 'proto.viam.app.v1.CreateRegistryItemRequest'; +} +/** + * 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.v1.CreateRegistryItemResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.app.v1.CreateRegistryItemResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.v1.CreateRegistryItemResponse.displayName = 'proto.viam.app.v1.CreateRegistryItemResponse'; +} +/** + * 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.v1.UpdateRegistryItemRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.app.v1.UpdateRegistryItemRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.v1.UpdateRegistryItemRequest.displayName = 'proto.viam.app.v1.UpdateRegistryItemRequest'; +} +/** + * 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.v1.UpdateRegistryItemResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.app.v1.UpdateRegistryItemResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.v1.UpdateRegistryItemResponse.displayName = 'proto.viam.app.v1.UpdateRegistryItemResponse'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -23850,6 +23940,618 @@ proto.viam.app.v1.CheckPermissionsResponse.prototype.clearAuthorizedPermissionsL +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.v1.CreateRegistryItemRequest.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.v1.CreateRegistryItemRequest.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.v1.CreateRegistryItemRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.CreateRegistryItemRequest.toObject = function(includeInstance, msg) { + var f, obj = { + organizationId: jspb.Message.getFieldWithDefault(msg, 1, ""), + name: jspb.Message.getFieldWithDefault(msg, 2, ""), + type: jspb.Message.getFieldWithDefault(msg, 3, 0) + }; + + 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.v1.CreateRegistryItemRequest} + */ +proto.viam.app.v1.CreateRegistryItemRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.v1.CreateRegistryItemRequest; + return proto.viam.app.v1.CreateRegistryItemRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.v1.CreateRegistryItemRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.v1.CreateRegistryItemRequest} + */ +proto.viam.app.v1.CreateRegistryItemRequest.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.setName(value); + break; + case 3: + var value = /** @type {!proto.viam.app.packages.v1.PackageType} */ (reader.readEnum()); + msg.setType(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.v1.CreateRegistryItemRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.v1.CreateRegistryItemRequest.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.v1.CreateRegistryItemRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.CreateRegistryItemRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getOrganizationId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getType(); + if (f !== 0.0) { + writer.writeEnum( + 3, + f + ); + } +}; + + +/** + * optional string organization_id = 1; + * @return {string} + */ +proto.viam.app.v1.CreateRegistryItemRequest.prototype.getOrganizationId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.v1.CreateRegistryItemRequest} returns this + */ +proto.viam.app.v1.CreateRegistryItemRequest.prototype.setOrganizationId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional string name = 2; + * @return {string} + */ +proto.viam.app.v1.CreateRegistryItemRequest.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.v1.CreateRegistryItemRequest} returns this + */ +proto.viam.app.v1.CreateRegistryItemRequest.prototype.setName = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); +}; + + +/** + * optional viam.app.packages.v1.PackageType type = 3; + * @return {!proto.viam.app.packages.v1.PackageType} + */ +proto.viam.app.v1.CreateRegistryItemRequest.prototype.getType = function() { + return /** @type {!proto.viam.app.packages.v1.PackageType} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); +}; + + +/** + * @param {!proto.viam.app.packages.v1.PackageType} value + * @return {!proto.viam.app.v1.CreateRegistryItemRequest} returns this + */ +proto.viam.app.v1.CreateRegistryItemRequest.prototype.setType = function(value) { + return jspb.Message.setProto3EnumField(this, 3, value); +}; + + + + + +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.v1.CreateRegistryItemResponse.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.v1.CreateRegistryItemResponse.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.v1.CreateRegistryItemResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.CreateRegistryItemResponse.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + 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.v1.CreateRegistryItemResponse} + */ +proto.viam.app.v1.CreateRegistryItemResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.v1.CreateRegistryItemResponse; + return proto.viam.app.v1.CreateRegistryItemResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.v1.CreateRegistryItemResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.v1.CreateRegistryItemResponse} + */ +proto.viam.app.v1.CreateRegistryItemResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.v1.CreateRegistryItemResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.v1.CreateRegistryItemResponse.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.v1.CreateRegistryItemResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.CreateRegistryItemResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + + + +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.v1.UpdateRegistryItemRequest.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.v1.UpdateRegistryItemRequest.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.v1.UpdateRegistryItemRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.UpdateRegistryItemRequest.toObject = function(includeInstance, msg) { + var f, obj = { + itemId: jspb.Message.getFieldWithDefault(msg, 1, ""), + type: jspb.Message.getFieldWithDefault(msg, 2, 0), + description: jspb.Message.getFieldWithDefault(msg, 3, ""), + visibility: jspb.Message.getFieldWithDefault(msg, 4, 0) + }; + + 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.v1.UpdateRegistryItemRequest} + */ +proto.viam.app.v1.UpdateRegistryItemRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.v1.UpdateRegistryItemRequest; + return proto.viam.app.v1.UpdateRegistryItemRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.v1.UpdateRegistryItemRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.v1.UpdateRegistryItemRequest} + */ +proto.viam.app.v1.UpdateRegistryItemRequest.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.setItemId(value); + break; + case 2: + var value = /** @type {!proto.viam.app.packages.v1.PackageType} */ (reader.readEnum()); + msg.setType(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setDescription(value); + break; + case 4: + var value = /** @type {!proto.viam.app.v1.Visibility} */ (reader.readEnum()); + msg.setVisibility(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.v1.UpdateRegistryItemRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.v1.UpdateRegistryItemRequest.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.v1.UpdateRegistryItemRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.UpdateRegistryItemRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getItemId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getType(); + if (f !== 0.0) { + writer.writeEnum( + 2, + f + ); + } + f = message.getDescription(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getVisibility(); + if (f !== 0.0) { + writer.writeEnum( + 4, + f + ); + } +}; + + +/** + * optional string item_id = 1; + * @return {string} + */ +proto.viam.app.v1.UpdateRegistryItemRequest.prototype.getItemId = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.v1.UpdateRegistryItemRequest} returns this + */ +proto.viam.app.v1.UpdateRegistryItemRequest.prototype.setItemId = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional viam.app.packages.v1.PackageType type = 2; + * @return {!proto.viam.app.packages.v1.PackageType} + */ +proto.viam.app.v1.UpdateRegistryItemRequest.prototype.getType = function() { + return /** @type {!proto.viam.app.packages.v1.PackageType} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {!proto.viam.app.packages.v1.PackageType} value + * @return {!proto.viam.app.v1.UpdateRegistryItemRequest} returns this + */ +proto.viam.app.v1.UpdateRegistryItemRequest.prototype.setType = function(value) { + return jspb.Message.setProto3EnumField(this, 2, value); +}; + + +/** + * optional string description = 3; + * @return {string} + */ +proto.viam.app.v1.UpdateRegistryItemRequest.prototype.getDescription = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.v1.UpdateRegistryItemRequest} returns this + */ +proto.viam.app.v1.UpdateRegistryItemRequest.prototype.setDescription = function(value) { + return jspb.Message.setProto3StringField(this, 3, value); +}; + + +/** + * optional Visibility visibility = 4; + * @return {!proto.viam.app.v1.Visibility} + */ +proto.viam.app.v1.UpdateRegistryItemRequest.prototype.getVisibility = function() { + return /** @type {!proto.viam.app.v1.Visibility} */ (jspb.Message.getFieldWithDefault(this, 4, 0)); +}; + + +/** + * @param {!proto.viam.app.v1.Visibility} value + * @return {!proto.viam.app.v1.UpdateRegistryItemRequest} returns this + */ +proto.viam.app.v1.UpdateRegistryItemRequest.prototype.setVisibility = function(value) { + return jspb.Message.setProto3EnumField(this, 4, value); +}; + + + + + +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.v1.UpdateRegistryItemResponse.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.v1.UpdateRegistryItemResponse.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.v1.UpdateRegistryItemResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.UpdateRegistryItemResponse.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + 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.v1.UpdateRegistryItemResponse} + */ +proto.viam.app.v1.UpdateRegistryItemResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.v1.UpdateRegistryItemResponse; + return proto.viam.app.v1.UpdateRegistryItemResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.v1.UpdateRegistryItemResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.v1.UpdateRegistryItemResponse} + */ +proto.viam.app.v1.UpdateRegistryItemResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.v1.UpdateRegistryItemResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.v1.UpdateRegistryItemResponse.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.v1.UpdateRegistryItemResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.UpdateRegistryItemResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. diff --git a/gen/js/app/v1/app_pb_service.d.ts b/gen/js/app/v1/app_pb_service.d.ts index b1aaf4e6c..616b29024 100644 --- a/gen/js/app/v1/app_pb_service.d.ts +++ b/gen/js/app/v1/app_pb_service.d.ts @@ -481,6 +481,24 @@ type AppServiceCheckPermissions = { readonly responseType: typeof app_v1_app_pb.CheckPermissionsResponse; }; +type AppServiceCreateRegistryItem = { + readonly methodName: string; + readonly service: typeof AppService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof app_v1_app_pb.CreateRegistryItemRequest; + readonly responseType: typeof app_v1_app_pb.CreateRegistryItemResponse; +}; + +type AppServiceUpdateRegistryItem = { + readonly methodName: string; + readonly service: typeof AppService; + readonly requestStream: false; + readonly responseStream: false; + readonly requestType: typeof app_v1_app_pb.UpdateRegistryItemRequest; + readonly responseType: typeof app_v1_app_pb.UpdateRegistryItemResponse; +}; + type AppServiceCreateModule = { readonly methodName: string; readonly service: typeof AppService; @@ -626,6 +644,8 @@ export class AppService { static readonly ChangeRole: AppServiceChangeRole; static readonly ListAuthorizations: AppServiceListAuthorizations; static readonly CheckPermissions: AppServiceCheckPermissions; + static readonly CreateRegistryItem: AppServiceCreateRegistryItem; + static readonly UpdateRegistryItem: AppServiceUpdateRegistryItem; static readonly CreateModule: AppServiceCreateModule; static readonly UpdateModule: AppServiceUpdateModule; static readonly UploadModuleFile: AppServiceUploadModuleFile; @@ -1139,6 +1159,24 @@ export class AppServiceClient { requestMessage: app_v1_app_pb.CheckPermissionsRequest, callback: (error: ServiceError|null, responseMessage: app_v1_app_pb.CheckPermissionsResponse|null) => void ): UnaryResponse; + createRegistryItem( + requestMessage: app_v1_app_pb.CreateRegistryItemRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: app_v1_app_pb.CreateRegistryItemResponse|null) => void + ): UnaryResponse; + createRegistryItem( + requestMessage: app_v1_app_pb.CreateRegistryItemRequest, + callback: (error: ServiceError|null, responseMessage: app_v1_app_pb.CreateRegistryItemResponse|null) => void + ): UnaryResponse; + updateRegistryItem( + requestMessage: app_v1_app_pb.UpdateRegistryItemRequest, + metadata: grpc.Metadata, + callback: (error: ServiceError|null, responseMessage: app_v1_app_pb.UpdateRegistryItemResponse|null) => void + ): UnaryResponse; + updateRegistryItem( + requestMessage: app_v1_app_pb.UpdateRegistryItemRequest, + callback: (error: ServiceError|null, responseMessage: app_v1_app_pb.UpdateRegistryItemResponse|null) => void + ): UnaryResponse; createModule( requestMessage: app_v1_app_pb.CreateModuleRequest, metadata: grpc.Metadata, diff --git a/gen/js/app/v1/app_pb_service.js b/gen/js/app/v1/app_pb_service.js index 1c11ddd4b..ef0a1f0a9 100644 --- a/gen/js/app/v1/app_pb_service.js +++ b/gen/js/app/v1/app_pb_service.js @@ -487,6 +487,24 @@ AppService.CheckPermissions = { responseType: app_v1_app_pb.CheckPermissionsResponse }; +AppService.CreateRegistryItem = { + methodName: "CreateRegistryItem", + service: AppService, + requestStream: false, + responseStream: false, + requestType: app_v1_app_pb.CreateRegistryItemRequest, + responseType: app_v1_app_pb.CreateRegistryItemResponse +}; + +AppService.UpdateRegistryItem = { + methodName: "UpdateRegistryItem", + service: AppService, + requestStream: false, + responseStream: false, + requestType: app_v1_app_pb.UpdateRegistryItemRequest, + responseType: app_v1_app_pb.UpdateRegistryItemResponse +}; + AppService.CreateModule = { methodName: "CreateModule", service: AppService, @@ -2235,6 +2253,68 @@ AppServiceClient.prototype.checkPermissions = function checkPermissions(requestM }; }; +AppServiceClient.prototype.createRegistryItem = function createRegistryItem(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(AppService.CreateRegistryItem, { + 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(); + } + }; +}; + +AppServiceClient.prototype.updateRegistryItem = function updateRegistryItem(requestMessage, metadata, callback) { + if (arguments.length === 2) { + callback = arguments[1]; + } + var client = grpc.unary(AppService.UpdateRegistryItem, { + 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(); + } + }; +}; + AppServiceClient.prototype.createModule = function createModule(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; diff --git a/proto/viam/app/v1/app.proto b/proto/viam/app/v1/app.proto index a61643ce2..a28abed03 100644 --- a/proto/viam/app/v1/app.proto +++ b/proto/viam/app/v1/app.proto @@ -2,6 +2,7 @@ syntax = "proto3"; package viam.app.v1; +import "app/packages/v1/packages.proto"; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; import "tagger/v1/tagger.proto"; @@ -179,6 +180,10 @@ service AppService { // Validates a permission for the current user rpc CheckPermissions(CheckPermissionsRequest) returns (CheckPermissionsResponse); + rpc CreateRegistryItem(CreateRegistryItemRequest) returns (CreateRegistryItemResponse); + + rpc UpdateRegistryItem(UpdateRegistryItemRequest) returns (UpdateRegistryItemResponse); + rpc CreateModule(CreateModuleRequest) returns (CreateModuleResponse); rpc UpdateModule(UpdateModuleRequest) returns (UpdateModuleResponse); @@ -825,6 +830,26 @@ message CheckPermissionsResponse { repeated AuthorizedPermissions authorized_permissions = 1; } +message CreateRegistryItemRequest { + // The organization to create the registry item under + string organization_id = 1; + // The name of the registry item, which must be unique within your org + string name = 2; + // The type of the item in the registry + viam.app.packages.v1.PackageType type = 3; +} + +message CreateRegistryItemResponse {} + +message UpdateRegistryItemRequest { + string item_id = 1; + viam.app.packages.v1.PackageType type = 2; + string description = 3; + Visibility visibility = 4; +} + +message UpdateRegistryItemResponse {} + // Modules message CreateModuleRequest { // The organization to create the module under diff --git a/service/datamanager/v1/data_manager.pb.gw.go b/service/datamanager/v1/data_manager.pb.gw.go index 5f497f653..5a7e61ab2 100644 --- a/service/datamanager/v1/data_manager.pb.gw.go +++ b/service/datamanager/v1/data_manager.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" @@ -107,7 +107,7 @@ var ( ) func request_DataManagerService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client DataManagerServiceClient, 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_DataManagerService_DoCommand_0(ctx context.Context, marshaler runti } func local_request_DataManagerService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server DataManagerServiceServer, 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/motion/v1/motion.pb.gw.go b/service/motion/v1/motion.pb.gw.go index aa33b532f..91bc2a4b0 100644 --- a/service/motion/v1/motion.pb.gw.go +++ b/service/motion/v1/motion.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" @@ -597,7 +597,7 @@ var ( ) func request_MotionService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client MotionServiceClient, 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 ( @@ -630,7 +630,7 @@ func request_MotionService_DoCommand_0(ctx context.Context, marshaler runtime.Ma } func local_request_MotionService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server MotionServiceServer, 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/navigation/v1/navigation.pb.gw.go b/service/navigation/v1/navigation.pb.gw.go index e95f24696..71526c478 100644 --- a/service/navigation/v1/navigation.pb.gw.go +++ b/service/navigation/v1/navigation.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" @@ -617,7 +617,7 @@ var ( ) func request_NavigationService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client NavigationServiceClient, 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 ( @@ -650,7 +650,7 @@ func request_NavigationService_DoCommand_0(ctx context.Context, marshaler runtim } func local_request_NavigationService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server NavigationServiceServer, 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 ( diff --git a/service/slam/v1/slam.pb.gw.go b/service/slam/v1/slam.pb.gw.go index 7803f2636..a26deb244 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" - 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" @@ -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_0.DoCommandRequest + var protoReq v1.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_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( diff --git a/service/vision/v1/vision.pb.gw.go b/service/vision/v1/vision.pb.gw.go index bb8aa90da..174735d0a 100644 --- a/service/vision/v1/vision.pb.gw.go +++ b/service/vision/v1/vision.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" @@ -387,7 +387,7 @@ var ( ) func request_VisionService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client VisionServiceClient, 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 ( @@ -420,7 +420,7 @@ func request_VisionService_DoCommand_0(ctx context.Context, marshaler runtime.Ma } func local_request_VisionService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server VisionServiceServer, 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 (