From f91205f4efa0087f82d031ab81feccbcf91e4f07 Mon Sep 17 00:00:00 2001 From: SCALIBR Team Date: Thu, 23 Oct 2025 16:35:19 -0700 Subject: [PATCH] Remove before checking in PiperOrigin-RevId: 823233991 --- annotator/annotator.go | 2 +- binary/proto/plugin.go | 26 +- binary/proto/plugin_test.go | 25 + binary/proto/scan_result.proto | 7 + .../scan_result_go_proto/scan_result.pb.go | 2940 ++++++----------- detector/detectorrunner/detectorrunner.go | 2 +- enricher/enricher.go | 2 +- extractor/filesystem/filesystem.go | 41 +- extractor/filesystem/filesystem_test.go | 33 +- extractor/standalone/standalone.go | 4 +- plugin/plugin.go | 14 +- scalibr_test.go | 5 +- 12 files changed, 1223 insertions(+), 1878 deletions(-) diff --git a/annotator/annotator.go b/annotator/annotator.go index c9a7ddeff..9978a90ee 100644 --- a/annotator/annotator.go +++ b/annotator/annotator.go @@ -59,7 +59,7 @@ func Run(ctx context.Context, config *Config, inventory *inventory.Inventory) ([ for _, a := range config.Annotators { err := a.Annotate(ctx, input, inventory) - statuses = append(statuses, plugin.StatusFromErr(a, false, err)) + statuses = append(statuses, plugin.StatusFromErr(a, false, err, nil)) } return statuses, nil } diff --git a/binary/proto/plugin.go b/binary/proto/plugin.go index b8aab786c..76c7f6c39 100644 --- a/binary/proto/plugin.go +++ b/binary/proto/plugin.go @@ -61,7 +61,18 @@ func scanStatusToProto(s *plugin.ScanStatus) *spb.ScanStatus { return nil } statusEnum := structToProtoScanStatus[s.Status] - return &spb.ScanStatus{Status: statusEnum, FailureReason: s.FailureReason} + return &spb.ScanStatus{Status: statusEnum, FailureReason: s.FailureReason, FileErrors: fileErrorsToProto(s.FileErrors)} +} + +func fileErrorsToProto(s []*plugin.FileError) []*spb.FileError { + if s == nil { + return nil + } + var res []*spb.FileError + for _, e := range s { + res = append(res, &spb.FileError{FilePath: e.FilePath, ErrorMessage: e.ErrorMessage}) + } + return res } // --- Proto to Struct @@ -84,5 +95,16 @@ func scanStatusToStruct(s *spb.ScanStatus) *plugin.ScanStatus { return nil } statusEnum := protoToStructScanStatus[s.GetStatus()] - return &plugin.ScanStatus{Status: statusEnum, FailureReason: s.GetFailureReason()} + return &plugin.ScanStatus{Status: statusEnum, FailureReason: s.GetFailureReason(), FileErrors: fileErrorsToStruct(s.GetFileErrors())} +} + +func fileErrorsToStruct(s []*spb.FileError) []*plugin.FileError { + if s == nil { + return nil + } + var res []*plugin.FileError + for _, e := range s { + res = append(res, &plugin.FileError{FilePath: e.GetFilePath(), ErrorMessage: e.GetErrorMessage()}) + } + return res } diff --git a/binary/proto/plugin_test.go b/binary/proto/plugin_test.go index 6c9051a4d..8b06abb20 100644 --- a/binary/proto/plugin_test.go +++ b/binary/proto/plugin_test.go @@ -52,6 +52,31 @@ func TestPluginStatusToProto(t *testing.T) { }, }, }, + { + desc: "converts file errors", + s: &plugin.Status{ + Name: "test-plugin-with-file-errors", + Version: 1, + Status: &plugin.ScanStatus{ + Status: plugin.ScanStatusPartiallySucceeded, + FileErrors: []*plugin.FileError{ + {FilePath: "file1", ErrorMessage: "error1"}, + {FilePath: "file2", ErrorMessage: "error2"}, + }, + }, + }, + want: &spb.PluginStatus{ + Name: "test-plugin-with-file-errors", + Version: 1, + Status: &spb.ScanStatus{ + Status: spb.ScanStatus_PARTIALLY_SUCCEEDED, + FileErrors: []*spb.FileError{ + {FilePath: "file1", ErrorMessage: "error1"}, + {FilePath: "file2", ErrorMessage: "error2"}, + }, + }, + }, + }, { desc: "nil status", s: &plugin.Status{ diff --git a/binary/proto/scan_result.proto b/binary/proto/scan_result.proto index fdd4c3b9f..c553386e0 100644 --- a/binary/proto/scan_result.proto +++ b/binary/proto/scan_result.proto @@ -53,6 +53,8 @@ message Inventory { message ScanStatus { ScanStatusEnum status = 1; string failure_reason = 2; + repeated FileError file_errors = 4; + enum ScanStatusEnum { UNSPECIFIED = 0; SUCCEEDED = 1; @@ -67,6 +69,11 @@ message PluginStatus { ScanStatus status = 3; } +message FileError { + string file_path = 1; + string error_message = 2; +} + // A software package or library found by an extractor. // PURL or CPE needs to be set, maybe both. message Package { diff --git a/binary/proto/scan_result_go_proto/scan_result.pb.go b/binary/proto/scan_result_go_proto/scan_result.pb.go index 467060324..6f2bbad9f 100644 --- a/binary/proto/scan_result_go_proto/scan_result.pb.go +++ b/binary/proto/scan_result_go_proto/scan_result.pb.go @@ -319,7 +319,7 @@ func (x Package_AnnotationEnum) Number() protoreflect.EnumNumber { // Deprecated: Use Package_AnnotationEnum.Descriptor instead. func (Package_AnnotationEnum) EnumDescriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{4, 0} + return file_proto_scan_result_proto_rawDescGZIP(), []int{5, 0} } type SecretStatus_SecretStatusEnum int32 @@ -386,7 +386,7 @@ func (x SecretStatus_SecretStatusEnum) Number() protoreflect.EnumNumber { // Deprecated: Use SecretStatus_SecretStatusEnum.Descriptor instead. func (SecretStatus_SecretStatusEnum) EnumDescriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 0} + return file_proto_scan_result_proto_rawDescGZIP(), []int{57, 0} } // The results of a scan incl. scan status and artifacts found. @@ -576,6 +576,8 @@ type ScanStatus struct { Status ScanStatus_ScanStatusEnum `protobuf:"varint,1,opt,name=status,proto3,enum=scalibr.ScanStatus_ScanStatusEnum" json:"status,omitempty"` FailureReason string `protobuf:"bytes,2,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ScanStatus) Reset() { @@ -622,6 +624,13 @@ func (x *ScanStatus) GetFailureReason() string { return "" } +func (x *ScanStatus) GetFileErrors() []*FileError { + if x != nil { + return x.FileErrors + } + return nil +} + type PluginStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -683,6 +692,58 @@ func (x *PluginStatus) GetStatus() *ScanStatus { return nil } +type FileError struct { + state protoimpl.MessageState `protogen:"open.v1"` + FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FileError) Reset() { + *x = FileError{} + mi := &file_proto_scan_result_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FileError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileError) ProtoMessage() {} + +func (x *FileError) ProtoReflect() protoreflect.Message { + mi := &file_proto_scan_result_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileError.ProtoReflect.Descriptor instead. +func (*FileError) Descriptor() ([]byte, []int) { + return file_proto_scan_result_proto_rawDescGZIP(), []int{4} +} + +func (x *FileError) GetFilePath() string { + if x != nil { + return x.FilePath + } + return "" +} + +func (x *FileError) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + // A software package or library found by an extractor. // PURL or CPE needs to be set, maybe both. type Package struct { @@ -768,7 +829,7 @@ type Package struct { func (x *Package) Reset() { *x = Package{} - mi := &file_proto_scan_result_proto_msgTypes[4] + mi := &file_proto_scan_result_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -780,7 +841,7 @@ func (x *Package) String() string { func (*Package) ProtoMessage() {} func (x *Package) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[4] + mi := &file_proto_scan_result_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -793,7 +854,7 @@ func (x *Package) ProtoReflect() protoreflect.Message { // Deprecated: Use Package.ProtoReflect.Descriptor instead. func (*Package) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{4} + return file_proto_scan_result_proto_rawDescGZIP(), []int{5} } func (x *Package) GetName() string { @@ -1373,7 +1434,7 @@ type SourceCodeIdentifier struct { func (x *SourceCodeIdentifier) Reset() { *x = SourceCodeIdentifier{} - mi := &file_proto_scan_result_proto_msgTypes[5] + mi := &file_proto_scan_result_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1385,7 +1446,7 @@ func (x *SourceCodeIdentifier) String() string { func (*SourceCodeIdentifier) ProtoMessage() {} func (x *SourceCodeIdentifier) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[5] + mi := &file_proto_scan_result_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1398,7 +1459,7 @@ func (x *SourceCodeIdentifier) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceCodeIdentifier.ProtoReflect.Descriptor instead. func (*SourceCodeIdentifier) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{5} + return file_proto_scan_result_proto_rawDescGZIP(), []int{6} } func (x *SourceCodeIdentifier) GetRepo() string { @@ -1437,7 +1498,7 @@ type LayerDetails struct { func (x *LayerDetails) Reset() { *x = LayerDetails{} - mi := &file_proto_scan_result_proto_msgTypes[6] + mi := &file_proto_scan_result_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1449,7 +1510,7 @@ func (x *LayerDetails) String() string { func (*LayerDetails) ProtoMessage() {} func (x *LayerDetails) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[6] + mi := &file_proto_scan_result_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1462,7 +1523,7 @@ func (x *LayerDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use LayerDetails.ProtoReflect.Descriptor instead. func (*LayerDetails) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{6} + return file_proto_scan_result_proto_rawDescGZIP(), []int{7} } func (x *LayerDetails) GetIndex() int32 { @@ -1520,7 +1581,7 @@ type PackageExploitabilitySignal struct { func (x *PackageExploitabilitySignal) Reset() { *x = PackageExploitabilitySignal{} - mi := &file_proto_scan_result_proto_msgTypes[7] + mi := &file_proto_scan_result_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1532,7 +1593,7 @@ func (x *PackageExploitabilitySignal) String() string { func (*PackageExploitabilitySignal) ProtoMessage() {} func (x *PackageExploitabilitySignal) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[7] + mi := &file_proto_scan_result_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1545,7 +1606,7 @@ func (x *PackageExploitabilitySignal) ProtoReflect() protoreflect.Message { // Deprecated: Use PackageExploitabilitySignal.ProtoReflect.Descriptor instead. func (*PackageExploitabilitySignal) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{7} + return file_proto_scan_result_proto_rawDescGZIP(), []int{8} } func (x *PackageExploitabilitySignal) GetPlugin() string { @@ -1613,7 +1674,7 @@ type VulnIdentifiers struct { func (x *VulnIdentifiers) Reset() { *x = VulnIdentifiers{} - mi := &file_proto_scan_result_proto_msgTypes[8] + mi := &file_proto_scan_result_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1625,7 +1686,7 @@ func (x *VulnIdentifiers) String() string { func (*VulnIdentifiers) ProtoMessage() {} func (x *VulnIdentifiers) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[8] + mi := &file_proto_scan_result_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1638,7 +1699,7 @@ func (x *VulnIdentifiers) ProtoReflect() protoreflect.Message { // Deprecated: Use VulnIdentifiers.ProtoReflect.Descriptor instead. func (*VulnIdentifiers) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{8} + return file_proto_scan_result_proto_rawDescGZIP(), []int{9} } func (x *VulnIdentifiers) GetIdentifiers() []string { @@ -1663,7 +1724,7 @@ type FindingExploitabilitySignal struct { func (x *FindingExploitabilitySignal) Reset() { *x = FindingExploitabilitySignal{} - mi := &file_proto_scan_result_proto_msgTypes[9] + mi := &file_proto_scan_result_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1675,7 +1736,7 @@ func (x *FindingExploitabilitySignal) String() string { func (*FindingExploitabilitySignal) ProtoMessage() {} func (x *FindingExploitabilitySignal) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[9] + mi := &file_proto_scan_result_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1688,7 +1749,7 @@ func (x *FindingExploitabilitySignal) ProtoReflect() protoreflect.Message { // Deprecated: Use FindingExploitabilitySignal.ProtoReflect.Descriptor instead. func (*FindingExploitabilitySignal) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{9} + return file_proto_scan_result_proto_rawDescGZIP(), []int{10} } func (x *FindingExploitabilitySignal) GetPlugin() string { @@ -1729,7 +1790,7 @@ type Purl struct { func (x *Purl) Reset() { *x = Purl{} - mi := &file_proto_scan_result_proto_msgTypes[10] + mi := &file_proto_scan_result_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1741,7 +1802,7 @@ func (x *Purl) String() string { func (*Purl) ProtoMessage() {} func (x *Purl) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[10] + mi := &file_proto_scan_result_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1754,7 +1815,7 @@ func (x *Purl) ProtoReflect() protoreflect.Message { // Deprecated: Use Purl.ProtoReflect.Descriptor instead. func (*Purl) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{10} + return file_proto_scan_result_proto_rawDescGZIP(), []int{11} } func (x *Purl) GetPurl() string { @@ -1817,7 +1878,7 @@ type Qualifier struct { func (x *Qualifier) Reset() { *x = Qualifier{} - mi := &file_proto_scan_result_proto_msgTypes[11] + mi := &file_proto_scan_result_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1829,7 +1890,7 @@ func (x *Qualifier) String() string { func (*Qualifier) ProtoMessage() {} func (x *Qualifier) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[11] + mi := &file_proto_scan_result_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1842,7 +1903,7 @@ func (x *Qualifier) ProtoReflect() protoreflect.Message { // Deprecated: Use Qualifier.ProtoReflect.Descriptor instead. func (*Qualifier) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{11} + return file_proto_scan_result_proto_rawDescGZIP(), []int{12} } func (x *Qualifier) GetKey() string { @@ -1879,7 +1940,7 @@ type GenericFinding struct { func (x *GenericFinding) Reset() { *x = GenericFinding{} - mi := &file_proto_scan_result_proto_msgTypes[12] + mi := &file_proto_scan_result_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1891,7 +1952,7 @@ func (x *GenericFinding) String() string { func (*GenericFinding) ProtoMessage() {} func (x *GenericFinding) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[12] + mi := &file_proto_scan_result_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1904,7 +1965,7 @@ func (x *GenericFinding) ProtoReflect() protoreflect.Message { // Deprecated: Use GenericFinding.ProtoReflect.Descriptor instead. func (*GenericFinding) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{12} + return file_proto_scan_result_proto_rawDescGZIP(), []int{13} } func (x *GenericFinding) GetAdv() *GenericFindingAdvisory { @@ -1954,7 +2015,7 @@ type GenericFindingAdvisory struct { func (x *GenericFindingAdvisory) Reset() { *x = GenericFindingAdvisory{} - mi := &file_proto_scan_result_proto_msgTypes[13] + mi := &file_proto_scan_result_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1966,7 +2027,7 @@ func (x *GenericFindingAdvisory) String() string { func (*GenericFindingAdvisory) ProtoMessage() {} func (x *GenericFindingAdvisory) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[13] + mi := &file_proto_scan_result_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1979,7 +2040,7 @@ func (x *GenericFindingAdvisory) ProtoReflect() protoreflect.Message { // Deprecated: Use GenericFindingAdvisory.ProtoReflect.Descriptor instead. func (*GenericFindingAdvisory) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{13} + return file_proto_scan_result_proto_rawDescGZIP(), []int{14} } func (x *GenericFindingAdvisory) GetId() *AdvisoryId { @@ -2029,7 +2090,7 @@ type AdvisoryId struct { func (x *AdvisoryId) Reset() { *x = AdvisoryId{} - mi := &file_proto_scan_result_proto_msgTypes[14] + mi := &file_proto_scan_result_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2041,7 +2102,7 @@ func (x *AdvisoryId) String() string { func (*AdvisoryId) ProtoMessage() {} func (x *AdvisoryId) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[14] + mi := &file_proto_scan_result_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2054,7 +2115,7 @@ func (x *AdvisoryId) ProtoReflect() protoreflect.Message { // Deprecated: Use AdvisoryId.ProtoReflect.Descriptor instead. func (*AdvisoryId) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{14} + return file_proto_scan_result_proto_rawDescGZIP(), []int{15} } func (x *AdvisoryId) GetPublisher() string { @@ -2083,7 +2144,7 @@ type GenericFindingTargetDetails struct { func (x *GenericFindingTargetDetails) Reset() { *x = GenericFindingTargetDetails{} - mi := &file_proto_scan_result_proto_msgTypes[15] + mi := &file_proto_scan_result_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2095,7 +2156,7 @@ func (x *GenericFindingTargetDetails) String() string { func (*GenericFindingTargetDetails) ProtoMessage() {} func (x *GenericFindingTargetDetails) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[15] + mi := &file_proto_scan_result_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2108,7 +2169,7 @@ func (x *GenericFindingTargetDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use GenericFindingTargetDetails.ProtoReflect.Descriptor instead. func (*GenericFindingTargetDetails) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{15} + return file_proto_scan_result_proto_rawDescGZIP(), []int{16} } func (x *GenericFindingTargetDetails) GetExtra() string { @@ -2130,7 +2191,7 @@ type PythonPackageMetadata struct { func (x *PythonPackageMetadata) Reset() { *x = PythonPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[16] + mi := &file_proto_scan_result_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2142,7 +2203,7 @@ func (x *PythonPackageMetadata) String() string { func (*PythonPackageMetadata) ProtoMessage() {} func (x *PythonPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[16] + mi := &file_proto_scan_result_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2155,7 +2216,7 @@ func (x *PythonPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use PythonPackageMetadata.ProtoReflect.Descriptor instead. func (*PythonPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{16} + return file_proto_scan_result_proto_rawDescGZIP(), []int{17} } func (x *PythonPackageMetadata) GetAuthor() string { @@ -2186,7 +2247,7 @@ type JavascriptPackageJSONMetadata struct { func (x *JavascriptPackageJSONMetadata) Reset() { *x = JavascriptPackageJSONMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[17] + mi := &file_proto_scan_result_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2198,7 +2259,7 @@ func (x *JavascriptPackageJSONMetadata) String() string { func (*JavascriptPackageJSONMetadata) ProtoMessage() {} func (x *JavascriptPackageJSONMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[17] + mi := &file_proto_scan_result_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2211,7 +2272,7 @@ func (x *JavascriptPackageJSONMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use JavascriptPackageJSONMetadata.ProtoReflect.Descriptor instead. func (*JavascriptPackageJSONMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{17} + return file_proto_scan_result_proto_rawDescGZIP(), []int{18} } func (x *JavascriptPackageJSONMetadata) GetAuthor() string { @@ -2258,7 +2319,7 @@ type APKPackageMetadata struct { func (x *APKPackageMetadata) Reset() { *x = APKPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[18] + mi := &file_proto_scan_result_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2270,7 +2331,7 @@ func (x *APKPackageMetadata) String() string { func (*APKPackageMetadata) ProtoMessage() {} func (x *APKPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[18] + mi := &file_proto_scan_result_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2283,7 +2344,7 @@ func (x *APKPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use APKPackageMetadata.ProtoReflect.Descriptor instead. func (*APKPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{18} + return file_proto_scan_result_proto_rawDescGZIP(), []int{19} } func (x *APKPackageMetadata) GetPackageName() string { @@ -2349,7 +2410,7 @@ type DPKGPackageMetadata struct { func (x *DPKGPackageMetadata) Reset() { *x = DPKGPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[19] + mi := &file_proto_scan_result_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2361,7 +2422,7 @@ func (x *DPKGPackageMetadata) String() string { func (*DPKGPackageMetadata) ProtoMessage() {} func (x *DPKGPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[19] + mi := &file_proto_scan_result_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2374,7 +2435,7 @@ func (x *DPKGPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use DPKGPackageMetadata.ProtoReflect.Descriptor instead. func (*DPKGPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{19} + return file_proto_scan_result_proto_rawDescGZIP(), []int{20} } func (x *DPKGPackageMetadata) GetPackageName() string { @@ -2467,7 +2528,7 @@ type RPMPackageMetadata struct { func (x *RPMPackageMetadata) Reset() { *x = RPMPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[20] + mi := &file_proto_scan_result_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2479,7 +2540,7 @@ func (x *RPMPackageMetadata) String() string { func (*RPMPackageMetadata) ProtoMessage() {} func (x *RPMPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[20] + mi := &file_proto_scan_result_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2492,7 +2553,7 @@ func (x *RPMPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use RPMPackageMetadata.ProtoReflect.Descriptor instead. func (*RPMPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{20} + return file_proto_scan_result_proto_rawDescGZIP(), []int{21} } func (x *RPMPackageMetadata) GetPackageName() string { @@ -2581,7 +2642,7 @@ type COSPackageMetadata struct { func (x *COSPackageMetadata) Reset() { *x = COSPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[21] + mi := &file_proto_scan_result_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2593,7 +2654,7 @@ func (x *COSPackageMetadata) String() string { func (*COSPackageMetadata) ProtoMessage() {} func (x *COSPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[21] + mi := &file_proto_scan_result_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2606,7 +2667,7 @@ func (x *COSPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use COSPackageMetadata.ProtoReflect.Descriptor instead. func (*COSPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{21} + return file_proto_scan_result_proto_rawDescGZIP(), []int{22} } func (x *COSPackageMetadata) GetName() string { @@ -2667,7 +2728,7 @@ type PACMANPackageMetadata struct { func (x *PACMANPackageMetadata) Reset() { *x = PACMANPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[22] + mi := &file_proto_scan_result_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2679,7 +2740,7 @@ func (x *PACMANPackageMetadata) String() string { func (*PACMANPackageMetadata) ProtoMessage() {} func (x *PACMANPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[22] + mi := &file_proto_scan_result_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2692,7 +2753,7 @@ func (x *PACMANPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use PACMANPackageMetadata.ProtoReflect.Descriptor instead. func (*PACMANPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{22} + return file_proto_scan_result_proto_rawDescGZIP(), []int{23} } func (x *PACMANPackageMetadata) GetPackageName() string { @@ -2754,7 +2815,7 @@ type NixPackageMetadata struct { func (x *NixPackageMetadata) Reset() { *x = NixPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[23] + mi := &file_proto_scan_result_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2766,7 +2827,7 @@ func (x *NixPackageMetadata) String() string { func (*NixPackageMetadata) ProtoMessage() {} func (x *NixPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[23] + mi := &file_proto_scan_result_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2779,7 +2840,7 @@ func (x *NixPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use NixPackageMetadata.ProtoReflect.Descriptor instead. func (*NixPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{23} + return file_proto_scan_result_proto_rawDescGZIP(), []int{24} } func (x *NixPackageMetadata) GetPackageName() string { @@ -2844,7 +2905,7 @@ type DEPSJSONMetadata struct { func (x *DEPSJSONMetadata) Reset() { *x = DEPSJSONMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[24] + mi := &file_proto_scan_result_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2856,7 +2917,7 @@ func (x *DEPSJSONMetadata) String() string { func (*DEPSJSONMetadata) ProtoMessage() {} func (x *DEPSJSONMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[24] + mi := &file_proto_scan_result_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2869,7 +2930,7 @@ func (x *DEPSJSONMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use DEPSJSONMetadata.ProtoReflect.Descriptor instead. func (*DEPSJSONMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{24} + return file_proto_scan_result_proto_rawDescGZIP(), []int{25} } func (x *DEPSJSONMetadata) GetPackageName() string { @@ -2911,7 +2972,7 @@ type SNAPPackageMetadata struct { func (x *SNAPPackageMetadata) Reset() { *x = SNAPPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[25] + mi := &file_proto_scan_result_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2923,7 +2984,7 @@ func (x *SNAPPackageMetadata) String() string { func (*SNAPPackageMetadata) ProtoMessage() {} func (x *SNAPPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[25] + mi := &file_proto_scan_result_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2936,7 +2997,7 @@ func (x *SNAPPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use SNAPPackageMetadata.ProtoReflect.Descriptor instead. func (*SNAPPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{25} + return file_proto_scan_result_proto_rawDescGZIP(), []int{26} } func (x *SNAPPackageMetadata) GetName() string { @@ -3009,7 +3070,7 @@ type PortagePackageMetadata struct { func (x *PortagePackageMetadata) Reset() { *x = PortagePackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[26] + mi := &file_proto_scan_result_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3021,7 +3082,7 @@ func (x *PortagePackageMetadata) String() string { func (*PortagePackageMetadata) ProtoMessage() {} func (x *PortagePackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[26] + mi := &file_proto_scan_result_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3034,7 +3095,7 @@ func (x *PortagePackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use PortagePackageMetadata.ProtoReflect.Descriptor instead. func (*PortagePackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{26} + return file_proto_scan_result_proto_rawDescGZIP(), []int{27} } func (x *PortagePackageMetadata) GetPackageName() string { @@ -3084,7 +3145,7 @@ type FlatpakPackageMetadata struct { func (x *FlatpakPackageMetadata) Reset() { *x = FlatpakPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[27] + mi := &file_proto_scan_result_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3096,7 +3157,7 @@ func (x *FlatpakPackageMetadata) String() string { func (*FlatpakPackageMetadata) ProtoMessage() {} func (x *FlatpakPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[27] + mi := &file_proto_scan_result_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3109,7 +3170,7 @@ func (x *FlatpakPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use FlatpakPackageMetadata.ProtoReflect.Descriptor instead. func (*FlatpakPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{27} + return file_proto_scan_result_proto_rawDescGZIP(), []int{28} } func (x *FlatpakPackageMetadata) GetPackageName() string { @@ -3193,7 +3254,7 @@ type KernelModuleMetadata struct { func (x *KernelModuleMetadata) Reset() { *x = KernelModuleMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[28] + mi := &file_proto_scan_result_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3205,7 +3266,7 @@ func (x *KernelModuleMetadata) String() string { func (*KernelModuleMetadata) ProtoMessage() {} func (x *KernelModuleMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[28] + mi := &file_proto_scan_result_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3218,7 +3279,7 @@ func (x *KernelModuleMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use KernelModuleMetadata.ProtoReflect.Descriptor instead. func (*KernelModuleMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{28} + return file_proto_scan_result_proto_rawDescGZIP(), []int{29} } func (x *KernelModuleMetadata) GetPackageName() string { @@ -3299,7 +3360,7 @@ type VmlinuzMetadata struct { func (x *VmlinuzMetadata) Reset() { *x = VmlinuzMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[29] + mi := &file_proto_scan_result_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3311,7 +3372,7 @@ func (x *VmlinuzMetadata) String() string { func (*VmlinuzMetadata) ProtoMessage() {} func (x *VmlinuzMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[29] + mi := &file_proto_scan_result_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3324,7 +3385,7 @@ func (x *VmlinuzMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use VmlinuzMetadata.ProtoReflect.Descriptor instead. func (*VmlinuzMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{29} + return file_proto_scan_result_proto_rawDescGZIP(), []int{30} } func (x *VmlinuzMetadata) GetName() string { @@ -3431,7 +3492,7 @@ type MacAppsMetadata struct { func (x *MacAppsMetadata) Reset() { *x = MacAppsMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[30] + mi := &file_proto_scan_result_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3443,7 +3504,7 @@ func (x *MacAppsMetadata) String() string { func (*MacAppsMetadata) ProtoMessage() {} func (x *MacAppsMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[30] + mi := &file_proto_scan_result_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3456,7 +3517,7 @@ func (x *MacAppsMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use MacAppsMetadata.ProtoReflect.Descriptor instead. func (*MacAppsMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{30} + return file_proto_scan_result_proto_rawDescGZIP(), []int{31} } func (x *MacAppsMetadata) GetBundleDisplayName() string { @@ -3542,7 +3603,7 @@ type MacportsPackageMetadata struct { func (x *MacportsPackageMetadata) Reset() { *x = MacportsPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[31] + mi := &file_proto_scan_result_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3554,7 +3615,7 @@ func (x *MacportsPackageMetadata) String() string { func (*MacportsPackageMetadata) ProtoMessage() {} func (x *MacportsPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[31] + mi := &file_proto_scan_result_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3567,7 +3628,7 @@ func (x *MacportsPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use MacportsPackageMetadata.ProtoReflect.Descriptor instead. func (*MacportsPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{31} + return file_proto_scan_result_proto_rawDescGZIP(), []int{32} } func (x *MacportsPackageMetadata) GetPackageName() string { @@ -3603,7 +3664,7 @@ type SPDXPackageMetadata struct { func (x *SPDXPackageMetadata) Reset() { *x = SPDXPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[32] + mi := &file_proto_scan_result_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3615,7 +3676,7 @@ func (x *SPDXPackageMetadata) String() string { func (*SPDXPackageMetadata) ProtoMessage() {} func (x *SPDXPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[32] + mi := &file_proto_scan_result_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3628,7 +3689,7 @@ func (x *SPDXPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use SPDXPackageMetadata.ProtoReflect.Descriptor instead. func (*SPDXPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{32} + return file_proto_scan_result_proto_rawDescGZIP(), []int{33} } func (x *SPDXPackageMetadata) GetPurl() *Purl { @@ -3657,7 +3718,7 @@ type CDXPackageMetadata struct { func (x *CDXPackageMetadata) Reset() { *x = CDXPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[33] + mi := &file_proto_scan_result_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3669,7 +3730,7 @@ func (x *CDXPackageMetadata) String() string { func (*CDXPackageMetadata) ProtoMessage() {} func (x *CDXPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[33] + mi := &file_proto_scan_result_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3682,7 +3743,7 @@ func (x *CDXPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use CDXPackageMetadata.ProtoReflect.Descriptor instead. func (*CDXPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{33} + return file_proto_scan_result_proto_rawDescGZIP(), []int{34} } func (x *CDXPackageMetadata) GetPurl() *Purl { @@ -3712,7 +3773,7 @@ type JavaArchiveMetadata struct { func (x *JavaArchiveMetadata) Reset() { *x = JavaArchiveMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[34] + mi := &file_proto_scan_result_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3724,7 +3785,7 @@ func (x *JavaArchiveMetadata) String() string { func (*JavaArchiveMetadata) ProtoMessage() {} func (x *JavaArchiveMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[34] + mi := &file_proto_scan_result_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3737,7 +3798,7 @@ func (x *JavaArchiveMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use JavaArchiveMetadata.ProtoReflect.Descriptor instead. func (*JavaArchiveMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{34} + return file_proto_scan_result_proto_rawDescGZIP(), []int{35} } func (x *JavaArchiveMetadata) GetArtifactId() string { @@ -3775,7 +3836,7 @@ type JavaLockfileMetadata struct { func (x *JavaLockfileMetadata) Reset() { *x = JavaLockfileMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[35] + mi := &file_proto_scan_result_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3787,7 +3848,7 @@ func (x *JavaLockfileMetadata) String() string { func (*JavaLockfileMetadata) ProtoMessage() {} func (x *JavaLockfileMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[35] + mi := &file_proto_scan_result_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3800,7 +3861,7 @@ func (x *JavaLockfileMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use JavaLockfileMetadata.ProtoReflect.Descriptor instead. func (*JavaLockfileMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{35} + return file_proto_scan_result_proto_rawDescGZIP(), []int{36} } func (x *JavaLockfileMetadata) GetArtifactId() string { @@ -3845,7 +3906,7 @@ type OSVPackageMetadata struct { func (x *OSVPackageMetadata) Reset() { *x = OSVPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[36] + mi := &file_proto_scan_result_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3857,7 +3918,7 @@ func (x *OSVPackageMetadata) String() string { func (*OSVPackageMetadata) ProtoMessage() {} func (x *OSVPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[36] + mi := &file_proto_scan_result_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3870,7 +3931,7 @@ func (x *OSVPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use OSVPackageMetadata.ProtoReflect.Descriptor instead. func (*OSVPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{36} + return file_proto_scan_result_proto_rawDescGZIP(), []int{37} } func (x *OSVPackageMetadata) GetPurlType() string { @@ -3913,7 +3974,7 @@ type PythonRequirementsMetadata struct { func (x *PythonRequirementsMetadata) Reset() { *x = PythonRequirementsMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[37] + mi := &file_proto_scan_result_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3925,7 +3986,7 @@ func (x *PythonRequirementsMetadata) String() string { func (*PythonRequirementsMetadata) ProtoMessage() {} func (x *PythonRequirementsMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[37] + mi := &file_proto_scan_result_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3938,7 +3999,7 @@ func (x *PythonRequirementsMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use PythonRequirementsMetadata.ProtoReflect.Descriptor instead. func (*PythonRequirementsMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{37} + return file_proto_scan_result_proto_rawDescGZIP(), []int{38} } func (x *PythonRequirementsMetadata) GetHashCheckingModeValues() []string { @@ -3972,7 +4033,7 @@ type PythonSetupMetadata struct { func (x *PythonSetupMetadata) Reset() { *x = PythonSetupMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[38] + mi := &file_proto_scan_result_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3984,7 +4045,7 @@ func (x *PythonSetupMetadata) String() string { func (*PythonSetupMetadata) ProtoMessage() {} func (x *PythonSetupMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[38] + mi := &file_proto_scan_result_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3997,7 +4058,7 @@ func (x *PythonSetupMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use PythonSetupMetadata.ProtoReflect.Descriptor instead. func (*PythonSetupMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{38} + return file_proto_scan_result_proto_rawDescGZIP(), []int{39} } func (x *PythonSetupMetadata) GetVersionComparator() string { @@ -4020,7 +4081,7 @@ type NetportsMetadata struct { func (x *NetportsMetadata) Reset() { *x = NetportsMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[39] + mi := &file_proto_scan_result_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4032,7 +4093,7 @@ func (x *NetportsMetadata) String() string { func (*NetportsMetadata) ProtoMessage() {} func (x *NetportsMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[39] + mi := &file_proto_scan_result_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4045,7 +4106,7 @@ func (x *NetportsMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use NetportsMetadata.ProtoReflect.Descriptor instead. func (*NetportsMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{39} + return file_proto_scan_result_proto_rawDescGZIP(), []int{40} } func (x *NetportsMetadata) GetPort() uint32 { @@ -4091,7 +4152,7 @@ type ContainerdContainerMetadata struct { func (x *ContainerdContainerMetadata) Reset() { *x = ContainerdContainerMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[40] + mi := &file_proto_scan_result_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4103,7 +4164,7 @@ func (x *ContainerdContainerMetadata) String() string { func (*ContainerdContainerMetadata) ProtoMessage() {} func (x *ContainerdContainerMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[40] + mi := &file_proto_scan_result_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4116,7 +4177,7 @@ func (x *ContainerdContainerMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainerdContainerMetadata.ProtoReflect.Descriptor instead. func (*ContainerdContainerMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{40} + return file_proto_scan_result_proto_rawDescGZIP(), []int{41} } func (x *ContainerdContainerMetadata) GetNamespaceName() string { @@ -4226,7 +4287,7 @@ type ContainerdRuntimeContainerMetadata struct { func (x *ContainerdRuntimeContainerMetadata) Reset() { *x = ContainerdRuntimeContainerMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[41] + mi := &file_proto_scan_result_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4238,7 +4299,7 @@ func (x *ContainerdRuntimeContainerMetadata) String() string { func (*ContainerdRuntimeContainerMetadata) ProtoMessage() {} func (x *ContainerdRuntimeContainerMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[41] + mi := &file_proto_scan_result_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4251,7 +4312,7 @@ func (x *ContainerdRuntimeContainerMetadata) ProtoReflect() protoreflect.Message // Deprecated: Use ContainerdRuntimeContainerMetadata.ProtoReflect.Descriptor instead. func (*ContainerdRuntimeContainerMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{41} + return file_proto_scan_result_proto_rawDescGZIP(), []int{42} } func (x *ContainerdRuntimeContainerMetadata) GetNamespaceName() string { @@ -4314,7 +4375,7 @@ type WindowsOSVersion struct { func (x *WindowsOSVersion) Reset() { *x = WindowsOSVersion{} - mi := &file_proto_scan_result_proto_msgTypes[42] + mi := &file_proto_scan_result_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4326,7 +4387,7 @@ func (x *WindowsOSVersion) String() string { func (*WindowsOSVersion) ProtoMessage() {} func (x *WindowsOSVersion) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[42] + mi := &file_proto_scan_result_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4339,7 +4400,7 @@ func (x *WindowsOSVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use WindowsOSVersion.ProtoReflect.Descriptor instead. func (*WindowsOSVersion) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{42} + return file_proto_scan_result_proto_rawDescGZIP(), []int{43} } func (x *WindowsOSVersion) GetProduct() string { @@ -4365,7 +4426,7 @@ type HomebrewPackageMetadata struct { func (x *HomebrewPackageMetadata) Reset() { *x = HomebrewPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[43] + mi := &file_proto_scan_result_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4377,7 +4438,7 @@ func (x *HomebrewPackageMetadata) String() string { func (*HomebrewPackageMetadata) ProtoMessage() {} func (x *HomebrewPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[43] + mi := &file_proto_scan_result_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4390,7 +4451,7 @@ func (x *HomebrewPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use HomebrewPackageMetadata.ProtoReflect.Descriptor instead. func (*HomebrewPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{43} + return file_proto_scan_result_proto_rawDescGZIP(), []int{44} } // The additional data found in Chrome extensions. @@ -4411,7 +4472,7 @@ type ChromeExtensionsMetadata struct { func (x *ChromeExtensionsMetadata) Reset() { *x = ChromeExtensionsMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[44] + mi := &file_proto_scan_result_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4423,7 +4484,7 @@ func (x *ChromeExtensionsMetadata) String() string { func (*ChromeExtensionsMetadata) ProtoMessage() {} func (x *ChromeExtensionsMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[44] + mi := &file_proto_scan_result_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4436,7 +4497,7 @@ func (x *ChromeExtensionsMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use ChromeExtensionsMetadata.ProtoReflect.Descriptor instead. func (*ChromeExtensionsMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{44} + return file_proto_scan_result_proto_rawDescGZIP(), []int{45} } func (x *ChromeExtensionsMetadata) GetName() string { @@ -4512,7 +4573,7 @@ type VSCodeExtensionsMetadata struct { func (x *VSCodeExtensionsMetadata) Reset() { *x = VSCodeExtensionsMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[45] + mi := &file_proto_scan_result_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4524,7 +4585,7 @@ func (x *VSCodeExtensionsMetadata) String() string { func (*VSCodeExtensionsMetadata) ProtoMessage() {} func (x *VSCodeExtensionsMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[45] + mi := &file_proto_scan_result_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4537,7 +4598,7 @@ func (x *VSCodeExtensionsMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use VSCodeExtensionsMetadata.ProtoReflect.Descriptor instead. func (*VSCodeExtensionsMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{45} + return file_proto_scan_result_proto_rawDescGZIP(), []int{46} } func (x *VSCodeExtensionsMetadata) GetId() string { @@ -4607,7 +4668,7 @@ type PodmanMetadata struct { func (x *PodmanMetadata) Reset() { *x = PodmanMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[46] + mi := &file_proto_scan_result_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4619,7 +4680,7 @@ func (x *PodmanMetadata) String() string { func (*PodmanMetadata) ProtoMessage() {} func (x *PodmanMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[46] + mi := &file_proto_scan_result_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4632,7 +4693,7 @@ func (x *PodmanMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use PodmanMetadata.ProtoReflect.Descriptor instead. func (*PodmanMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{46} + return file_proto_scan_result_proto_rawDescGZIP(), []int{47} } func (x *PodmanMetadata) GetExposedPorts() map[uint32]*Protocol { @@ -4701,7 +4762,7 @@ type Protocol struct { func (x *Protocol) Reset() { *x = Protocol{} - mi := &file_proto_scan_result_proto_msgTypes[47] + mi := &file_proto_scan_result_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4713,7 +4774,7 @@ func (x *Protocol) String() string { func (*Protocol) ProtoMessage() {} func (x *Protocol) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[47] + mi := &file_proto_scan_result_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4726,7 +4787,7 @@ func (x *Protocol) ProtoReflect() protoreflect.Message { // Deprecated: Use Protocol.ProtoReflect.Descriptor instead. func (*Protocol) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{47} + return file_proto_scan_result_proto_rawDescGZIP(), []int{48} } func (x *Protocol) GetNames() []string { @@ -4749,7 +4810,7 @@ type DockerContainersMetadata struct { func (x *DockerContainersMetadata) Reset() { *x = DockerContainersMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[48] + mi := &file_proto_scan_result_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4761,7 +4822,7 @@ func (x *DockerContainersMetadata) String() string { func (*DockerContainersMetadata) ProtoMessage() {} func (x *DockerContainersMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[48] + mi := &file_proto_scan_result_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4774,7 +4835,7 @@ func (x *DockerContainersMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use DockerContainersMetadata.ProtoReflect.Descriptor instead. func (*DockerContainersMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{48} + return file_proto_scan_result_proto_rawDescGZIP(), []int{49} } func (x *DockerContainersMetadata) GetImageName() string { @@ -4816,7 +4877,7 @@ type AsdfMetadata struct { func (x *AsdfMetadata) Reset() { *x = AsdfMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[49] + mi := &file_proto_scan_result_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4828,7 +4889,7 @@ func (x *AsdfMetadata) String() string { func (*AsdfMetadata) ProtoMessage() {} func (x *AsdfMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[49] + mi := &file_proto_scan_result_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4841,7 +4902,7 @@ func (x *AsdfMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use AsdfMetadata.ProtoReflect.Descriptor instead. func (*AsdfMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{49} + return file_proto_scan_result_proto_rawDescGZIP(), []int{50} } func (x *AsdfMetadata) GetToolName() string { @@ -4868,7 +4929,7 @@ type NvmMetadata struct { func (x *NvmMetadata) Reset() { *x = NvmMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[50] + mi := &file_proto_scan_result_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4880,7 +4941,7 @@ func (x *NvmMetadata) String() string { func (*NvmMetadata) ProtoMessage() {} func (x *NvmMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[50] + mi := &file_proto_scan_result_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4893,7 +4954,7 @@ func (x *NvmMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use NvmMetadata.ProtoReflect.Descriptor instead. func (*NvmMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{50} + return file_proto_scan_result_proto_rawDescGZIP(), []int{51} } func (x *NvmMetadata) GetNodejsVersion() string { @@ -4913,7 +4974,7 @@ type NodeVersionMetadata struct { func (x *NodeVersionMetadata) Reset() { *x = NodeVersionMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[51] + mi := &file_proto_scan_result_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4925,7 +4986,7 @@ func (x *NodeVersionMetadata) String() string { func (*NodeVersionMetadata) ProtoMessage() {} func (x *NodeVersionMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[51] + mi := &file_proto_scan_result_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4938,7 +4999,7 @@ func (x *NodeVersionMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeVersionMetadata.ProtoReflect.Descriptor instead. func (*NodeVersionMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{51} + return file_proto_scan_result_proto_rawDescGZIP(), []int{52} } func (x *NodeVersionMetadata) GetNodejsVersion() string { @@ -4961,7 +5022,7 @@ type DockerPort struct { func (x *DockerPort) Reset() { *x = DockerPort{} - mi := &file_proto_scan_result_proto_msgTypes[52] + mi := &file_proto_scan_result_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4973,7 +5034,7 @@ func (x *DockerPort) String() string { func (*DockerPort) ProtoMessage() {} func (x *DockerPort) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[52] + mi := &file_proto_scan_result_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4986,7 +5047,7 @@ func (x *DockerPort) ProtoReflect() protoreflect.Message { // Deprecated: Use DockerPort.ProtoReflect.Descriptor instead. func (*DockerPort) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{52} + return file_proto_scan_result_proto_rawDescGZIP(), []int{53} } func (x *DockerPort) GetIp() string { @@ -5034,7 +5095,7 @@ type WingetPackageMetadata struct { func (x *WingetPackageMetadata) Reset() { *x = WingetPackageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[53] + mi := &file_proto_scan_result_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5046,7 +5107,7 @@ func (x *WingetPackageMetadata) String() string { func (*WingetPackageMetadata) ProtoMessage() {} func (x *WingetPackageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[53] + mi := &file_proto_scan_result_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5059,7 +5120,7 @@ func (x *WingetPackageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use WingetPackageMetadata.ProtoReflect.Descriptor instead. func (*WingetPackageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{53} + return file_proto_scan_result_proto_rawDescGZIP(), []int{54} } func (x *WingetPackageMetadata) GetName() string { @@ -5124,7 +5185,7 @@ type Secret struct { func (x *Secret) Reset() { *x = Secret{} - mi := &file_proto_scan_result_proto_msgTypes[54] + mi := &file_proto_scan_result_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5136,7 +5197,7 @@ func (x *Secret) String() string { func (*Secret) ProtoMessage() {} func (x *Secret) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[54] + mi := &file_proto_scan_result_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5149,7 +5210,7 @@ func (x *Secret) ProtoReflect() protoreflect.Message { // Deprecated: Use Secret.ProtoReflect.Descriptor instead. func (*Secret) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{54} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55} } func (x *Secret) GetSecret() *SecretData { @@ -5230,7 +5291,7 @@ type SecretData struct { func (x *SecretData) Reset() { *x = SecretData{} - mi := &file_proto_scan_result_proto_msgTypes[55] + mi := &file_proto_scan_result_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5242,7 +5303,7 @@ func (x *SecretData) String() string { func (*SecretData) ProtoMessage() {} func (x *SecretData) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[55] + mi := &file_proto_scan_result_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5255,7 +5316,7 @@ func (x *SecretData) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData.ProtoReflect.Descriptor instead. func (*SecretData) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56} } func (m *SecretData) GetSecret() isSecretData_Secret { @@ -5865,7 +5926,7 @@ type SecretStatus struct { func (x *SecretStatus) Reset() { *x = SecretStatus{} - mi := &file_proto_scan_result_proto_msgTypes[56] + mi := &file_proto_scan_result_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5877,7 +5938,7 @@ func (x *SecretStatus) String() string { func (*SecretStatus) ProtoMessage() {} func (x *SecretStatus) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[56] + mi := &file_proto_scan_result_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5890,7 +5951,7 @@ func (x *SecretStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretStatus.ProtoReflect.Descriptor instead. func (*SecretStatus) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{56} + return file_proto_scan_result_proto_rawDescGZIP(), []int{57} } func (x *SecretStatus) GetStatus() SecretStatus_SecretStatusEnum { @@ -5923,7 +5984,7 @@ type Location struct { func (x *Location) Reset() { *x = Location{} - mi := &file_proto_scan_result_proto_msgTypes[57] + mi := &file_proto_scan_result_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5935,7 +5996,7 @@ func (x *Location) String() string { func (*Location) ProtoMessage() {} func (x *Location) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[57] + mi := &file_proto_scan_result_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5948,7 +6009,7 @@ func (x *Location) ProtoReflect() protoreflect.Message { // Deprecated: Use Location.ProtoReflect.Descriptor instead. func (*Location) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{57} + return file_proto_scan_result_proto_rawDescGZIP(), []int{58} } func (m *Location) GetLocation() isLocation_Location { @@ -6024,7 +6085,7 @@ type Filepath struct { func (x *Filepath) Reset() { *x = Filepath{} - mi := &file_proto_scan_result_proto_msgTypes[58] + mi := &file_proto_scan_result_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6036,7 +6097,7 @@ func (x *Filepath) String() string { func (*Filepath) ProtoMessage() {} func (x *Filepath) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[58] + mi := &file_proto_scan_result_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6049,7 +6110,7 @@ func (x *Filepath) ProtoReflect() protoreflect.Message { // Deprecated: Use Filepath.ProtoReflect.Descriptor instead. func (*Filepath) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{58} + return file_proto_scan_result_proto_rawDescGZIP(), []int{59} } func (x *Filepath) GetPath() string { @@ -6070,7 +6131,7 @@ type FilepathWithLayerDetails struct { func (x *FilepathWithLayerDetails) Reset() { *x = FilepathWithLayerDetails{} - mi := &file_proto_scan_result_proto_msgTypes[59] + mi := &file_proto_scan_result_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6082,7 +6143,7 @@ func (x *FilepathWithLayerDetails) String() string { func (*FilepathWithLayerDetails) ProtoMessage() {} func (x *FilepathWithLayerDetails) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[59] + mi := &file_proto_scan_result_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6095,7 +6156,7 @@ func (x *FilepathWithLayerDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use FilepathWithLayerDetails.ProtoReflect.Descriptor instead. func (*FilepathWithLayerDetails) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{59} + return file_proto_scan_result_proto_rawDescGZIP(), []int{60} } func (x *FilepathWithLayerDetails) GetPath() string { @@ -6122,7 +6183,7 @@ type EnvironmentVariable struct { func (x *EnvironmentVariable) Reset() { *x = EnvironmentVariable{} - mi := &file_proto_scan_result_proto_msgTypes[60] + mi := &file_proto_scan_result_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6134,7 +6195,7 @@ func (x *EnvironmentVariable) String() string { func (*EnvironmentVariable) ProtoMessage() {} func (x *EnvironmentVariable) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[60] + mi := &file_proto_scan_result_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6147,7 +6208,7 @@ func (x *EnvironmentVariable) ProtoReflect() protoreflect.Message { // Deprecated: Use EnvironmentVariable.ProtoReflect.Descriptor instead. func (*EnvironmentVariable) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{60} + return file_proto_scan_result_proto_rawDescGZIP(), []int{61} } func (x *EnvironmentVariable) GetName() string { @@ -6167,7 +6228,7 @@ type ContainerCommand struct { func (x *ContainerCommand) Reset() { *x = ContainerCommand{} - mi := &file_proto_scan_result_proto_msgTypes[61] + mi := &file_proto_scan_result_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6179,7 +6240,7 @@ func (x *ContainerCommand) String() string { func (*ContainerCommand) ProtoMessage() {} func (x *ContainerCommand) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[61] + mi := &file_proto_scan_result_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6192,7 +6253,7 @@ func (x *ContainerCommand) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainerCommand.ProtoReflect.Descriptor instead. func (*ContainerCommand) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{61} + return file_proto_scan_result_proto_rawDescGZIP(), []int{62} } func (x *ContainerCommand) GetCommand() string { @@ -6224,7 +6285,7 @@ type ContainerImageMetadata struct { func (x *ContainerImageMetadata) Reset() { *x = ContainerImageMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[62] + mi := &file_proto_scan_result_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6236,7 +6297,7 @@ func (x *ContainerImageMetadata) String() string { func (*ContainerImageMetadata) ProtoMessage() {} func (x *ContainerImageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[62] + mi := &file_proto_scan_result_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6249,7 +6310,7 @@ func (x *ContainerImageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainerImageMetadata.ProtoReflect.Descriptor instead. func (*ContainerImageMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{62} + return file_proto_scan_result_proto_rawDescGZIP(), []int{63} } func (x *ContainerImageMetadata) GetIndex() int32 { @@ -6293,7 +6354,7 @@ type BaseImageChain struct { func (x *BaseImageChain) Reset() { *x = BaseImageChain{} - mi := &file_proto_scan_result_proto_msgTypes[63] + mi := &file_proto_scan_result_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6305,7 +6366,7 @@ func (x *BaseImageChain) String() string { func (*BaseImageChain) ProtoMessage() {} func (x *BaseImageChain) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[63] + mi := &file_proto_scan_result_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6318,7 +6379,7 @@ func (x *BaseImageChain) ProtoReflect() protoreflect.Message { // Deprecated: Use BaseImageChain.ProtoReflect.Descriptor instead. func (*BaseImageChain) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{63} + return file_proto_scan_result_proto_rawDescGZIP(), []int{64} } func (x *BaseImageChain) GetBaseImages() []*BaseImageDetails { @@ -6350,7 +6411,7 @@ type BaseImageDetails struct { func (x *BaseImageDetails) Reset() { *x = BaseImageDetails{} - mi := &file_proto_scan_result_proto_msgTypes[64] + mi := &file_proto_scan_result_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6362,7 +6423,7 @@ func (x *BaseImageDetails) String() string { func (*BaseImageDetails) ProtoMessage() {} func (x *BaseImageDetails) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[64] + mi := &file_proto_scan_result_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6375,7 +6436,7 @@ func (x *BaseImageDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use BaseImageDetails.ProtoReflect.Descriptor instead. func (*BaseImageDetails) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{64} + return file_proto_scan_result_proto_rawDescGZIP(), []int{65} } func (x *BaseImageDetails) GetRepository() string { @@ -6420,7 +6481,7 @@ type LayerMetadata struct { func (x *LayerMetadata) Reset() { *x = LayerMetadata{} - mi := &file_proto_scan_result_proto_msgTypes[65] + mi := &file_proto_scan_result_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6432,7 +6493,7 @@ func (x *LayerMetadata) String() string { func (*LayerMetadata) ProtoMessage() {} func (x *LayerMetadata) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[65] + mi := &file_proto_scan_result_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6445,7 +6506,7 @@ func (x *LayerMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use LayerMetadata.ProtoReflect.Descriptor instead. func (*LayerMetadata) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{65} + return file_proto_scan_result_proto_rawDescGZIP(), []int{66} } func (x *LayerMetadata) GetIndex() int32 { @@ -6504,7 +6565,7 @@ type Package_ContainerImageMetadataIndexes struct { func (x *Package_ContainerImageMetadataIndexes) Reset() { *x = Package_ContainerImageMetadataIndexes{} - mi := &file_proto_scan_result_proto_msgTypes[66] + mi := &file_proto_scan_result_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6516,7 +6577,7 @@ func (x *Package_ContainerImageMetadataIndexes) String() string { func (*Package_ContainerImageMetadataIndexes) ProtoMessage() {} func (x *Package_ContainerImageMetadataIndexes) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[66] + mi := &file_proto_scan_result_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6529,7 +6590,7 @@ func (x *Package_ContainerImageMetadataIndexes) ProtoReflect() protoreflect.Mess // Deprecated: Use Package_ContainerImageMetadataIndexes.ProtoReflect.Descriptor instead. func (*Package_ContainerImageMetadataIndexes) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{4, 0} + return file_proto_scan_result_proto_rawDescGZIP(), []int{5, 0} } func (x *Package_ContainerImageMetadataIndexes) GetContainerImageIndex() int32 { @@ -6571,7 +6632,7 @@ type SecretData_GCPSAK struct { func (x *SecretData_GCPSAK) Reset() { *x = SecretData_GCPSAK{} - mi := &file_proto_scan_result_proto_msgTypes[68] + mi := &file_proto_scan_result_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6583,7 +6644,7 @@ func (x *SecretData_GCPSAK) String() string { func (*SecretData_GCPSAK) ProtoMessage() {} func (x *SecretData_GCPSAK) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[68] + mi := &file_proto_scan_result_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6596,7 +6657,7 @@ func (x *SecretData_GCPSAK) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_GCPSAK.ProtoReflect.Descriptor instead. func (*SecretData_GCPSAK) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 0} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 0} } func (x *SecretData_GCPSAK) GetPrivateKeyId() string { @@ -6694,7 +6755,7 @@ type SecretData_AnthropicWorkspaceAPIKey struct { func (x *SecretData_AnthropicWorkspaceAPIKey) Reset() { *x = SecretData_AnthropicWorkspaceAPIKey{} - mi := &file_proto_scan_result_proto_msgTypes[69] + mi := &file_proto_scan_result_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6706,7 +6767,7 @@ func (x *SecretData_AnthropicWorkspaceAPIKey) String() string { func (*SecretData_AnthropicWorkspaceAPIKey) ProtoMessage() {} func (x *SecretData_AnthropicWorkspaceAPIKey) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[69] + mi := &file_proto_scan_result_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6719,7 +6780,7 @@ func (x *SecretData_AnthropicWorkspaceAPIKey) ProtoReflect() protoreflect.Messag // Deprecated: Use SecretData_AnthropicWorkspaceAPIKey.ProtoReflect.Descriptor instead. func (*SecretData_AnthropicWorkspaceAPIKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 1} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 1} } func (x *SecretData_AnthropicWorkspaceAPIKey) GetKey() string { @@ -6740,7 +6801,7 @@ type SecretData_AnthropicModelAPIKey struct { func (x *SecretData_AnthropicModelAPIKey) Reset() { *x = SecretData_AnthropicModelAPIKey{} - mi := &file_proto_scan_result_proto_msgTypes[70] + mi := &file_proto_scan_result_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6752,7 +6813,7 @@ func (x *SecretData_AnthropicModelAPIKey) String() string { func (*SecretData_AnthropicModelAPIKey) ProtoMessage() {} func (x *SecretData_AnthropicModelAPIKey) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[70] + mi := &file_proto_scan_result_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6765,7 +6826,7 @@ func (x *SecretData_AnthropicModelAPIKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_AnthropicModelAPIKey.ProtoReflect.Descriptor instead. func (*SecretData_AnthropicModelAPIKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 2} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 2} } func (x *SecretData_AnthropicModelAPIKey) GetKey() string { @@ -6785,7 +6846,7 @@ type SecretData_PerplexityAPIKey struct { func (x *SecretData_PerplexityAPIKey) Reset() { *x = SecretData_PerplexityAPIKey{} - mi := &file_proto_scan_result_proto_msgTypes[71] + mi := &file_proto_scan_result_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6797,7 +6858,7 @@ func (x *SecretData_PerplexityAPIKey) String() string { func (*SecretData_PerplexityAPIKey) ProtoMessage() {} func (x *SecretData_PerplexityAPIKey) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[71] + mi := &file_proto_scan_result_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6810,7 +6871,7 @@ func (x *SecretData_PerplexityAPIKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_PerplexityAPIKey.ProtoReflect.Descriptor instead. func (*SecretData_PerplexityAPIKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 3} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 3} } func (x *SecretData_PerplexityAPIKey) GetKey() string { @@ -6830,7 +6891,7 @@ type SecretData_GrokXAIAPIKey struct { func (x *SecretData_GrokXAIAPIKey) Reset() { *x = SecretData_GrokXAIAPIKey{} - mi := &file_proto_scan_result_proto_msgTypes[72] + mi := &file_proto_scan_result_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6842,7 +6903,7 @@ func (x *SecretData_GrokXAIAPIKey) String() string { func (*SecretData_GrokXAIAPIKey) ProtoMessage() {} func (x *SecretData_GrokXAIAPIKey) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[72] + mi := &file_proto_scan_result_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6855,7 +6916,7 @@ func (x *SecretData_GrokXAIAPIKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_GrokXAIAPIKey.ProtoReflect.Descriptor instead. func (*SecretData_GrokXAIAPIKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 4} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 4} } func (x *SecretData_GrokXAIAPIKey) GetKey() string { @@ -6875,7 +6936,7 @@ type SecretData_GrokXAIManagementAPIKey struct { func (x *SecretData_GrokXAIManagementAPIKey) Reset() { *x = SecretData_GrokXAIManagementAPIKey{} - mi := &file_proto_scan_result_proto_msgTypes[73] + mi := &file_proto_scan_result_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6887,7 +6948,7 @@ func (x *SecretData_GrokXAIManagementAPIKey) String() string { func (*SecretData_GrokXAIManagementAPIKey) ProtoMessage() {} func (x *SecretData_GrokXAIManagementAPIKey) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[73] + mi := &file_proto_scan_result_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6900,7 +6961,7 @@ func (x *SecretData_GrokXAIManagementAPIKey) ProtoReflect() protoreflect.Message // Deprecated: Use SecretData_GrokXAIManagementAPIKey.ProtoReflect.Descriptor instead. func (*SecretData_GrokXAIManagementAPIKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 5} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 5} } func (x *SecretData_GrokXAIManagementAPIKey) GetKey() string { @@ -6920,7 +6981,7 @@ type SecretData_AzureStorageAccountAccessKey struct { func (x *SecretData_AzureStorageAccountAccessKey) Reset() { *x = SecretData_AzureStorageAccountAccessKey{} - mi := &file_proto_scan_result_proto_msgTypes[74] + mi := &file_proto_scan_result_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6932,7 +6993,7 @@ func (x *SecretData_AzureStorageAccountAccessKey) String() string { func (*SecretData_AzureStorageAccountAccessKey) ProtoMessage() {} func (x *SecretData_AzureStorageAccountAccessKey) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[74] + mi := &file_proto_scan_result_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6945,7 +7006,7 @@ func (x *SecretData_AzureStorageAccountAccessKey) ProtoReflect() protoreflect.Me // Deprecated: Use SecretData_AzureStorageAccountAccessKey.ProtoReflect.Descriptor instead. func (*SecretData_AzureStorageAccountAccessKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 6} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 6} } func (x *SecretData_AzureStorageAccountAccessKey) GetKey() string { @@ -6966,7 +7027,7 @@ type SecretData_PrivateKey struct { func (x *SecretData_PrivateKey) Reset() { *x = SecretData_PrivateKey{} - mi := &file_proto_scan_result_proto_msgTypes[75] + mi := &file_proto_scan_result_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6978,7 +7039,7 @@ func (x *SecretData_PrivateKey) String() string { func (*SecretData_PrivateKey) ProtoMessage() {} func (x *SecretData_PrivateKey) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[75] + mi := &file_proto_scan_result_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6991,7 +7052,7 @@ func (x *SecretData_PrivateKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_PrivateKey.ProtoReflect.Descriptor instead. func (*SecretData_PrivateKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 7} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 7} } func (x *SecretData_PrivateKey) GetBlock() string { @@ -7018,7 +7079,7 @@ type SecretData_AzureAccessToken struct { func (x *SecretData_AzureAccessToken) Reset() { *x = SecretData_AzureAccessToken{} - mi := &file_proto_scan_result_proto_msgTypes[76] + mi := &file_proto_scan_result_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7030,7 +7091,7 @@ func (x *SecretData_AzureAccessToken) String() string { func (*SecretData_AzureAccessToken) ProtoMessage() {} func (x *SecretData_AzureAccessToken) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[76] + mi := &file_proto_scan_result_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7043,7 +7104,7 @@ func (x *SecretData_AzureAccessToken) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_AzureAccessToken.ProtoReflect.Descriptor instead. func (*SecretData_AzureAccessToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 8} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 8} } func (x *SecretData_AzureAccessToken) GetToken() string { @@ -7067,7 +7128,7 @@ type SecretData_Pgpass struct { func (x *SecretData_Pgpass) Reset() { *x = SecretData_Pgpass{} - mi := &file_proto_scan_result_proto_msgTypes[77] + mi := &file_proto_scan_result_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7079,7 +7140,7 @@ func (x *SecretData_Pgpass) String() string { func (*SecretData_Pgpass) ProtoMessage() {} func (x *SecretData_Pgpass) ProtoReflect() protoreflect.Message { - mi := &file_proto_scan_result_proto_msgTypes[77] + mi := &file_proto_scan_result_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7092,7 +7153,7 @@ func (x *SecretData_Pgpass) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_Pgpass.ProtoReflect.Descriptor instead. func (*SecretData_Pgpass) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 9} + return file_proto_scan_result_proto_rawDescGZIP(), []int{56, 9} } func (x *SecretData_Pgpass) GetHostname() string { @@ -7242,7 +7303,7 @@ func (x *SecretData_AzureIdentityToken) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_AzureIdentityToken.ProtoReflect.Descriptor instead. func (*SecretData_AzureIdentityToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 11} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 10} } func (x *SecretData_AzureIdentityToken) GetToken() string { @@ -7287,7 +7348,7 @@ func (x *SecretData_OpenAIAPIKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_OpenAIAPIKey.ProtoReflect.Descriptor instead. func (*SecretData_OpenAIAPIKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 12} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 11} } func (x *SecretData_OpenAIAPIKey) GetKey() string { @@ -7333,7 +7394,7 @@ func (x *SecretData_DockerHubPat) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_DockerHubPat.ProtoReflect.Descriptor instead. func (*SecretData_DockerHubPat) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 13} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 12} } func (x *SecretData_DockerHubPat) GetPat() string { @@ -7385,7 +7446,7 @@ func (x *SecretData_GitlabPat) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_GitlabPat.ProtoReflect.Descriptor instead. func (*SecretData_GitlabPat) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 14} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 13} } func (x *SecretData_GitlabPat) GetPat() string { @@ -7430,7 +7491,7 @@ func (x *SecretData_SlackAppLevelToken) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_SlackAppLevelToken.ProtoReflect.Descriptor instead. func (*SecretData_SlackAppLevelToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 15} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 14} } func (x *SecretData_SlackAppLevelToken) GetToken() string { @@ -7475,7 +7536,7 @@ func (x *SecretData_SlackAppConfigAccessToken) ProtoReflect() protoreflect.Messa // Deprecated: Use SecretData_SlackAppConfigAccessToken.ProtoReflect.Descriptor instead. func (*SecretData_SlackAppConfigAccessToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 16} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 15} } func (x *SecretData_SlackAppConfigAccessToken) GetToken() string { @@ -7520,7 +7581,7 @@ func (x *SecretData_SlackAppConfigRefreshToken) ProtoReflect() protoreflect.Mess // Deprecated: Use SecretData_SlackAppConfigRefreshToken.ProtoReflect.Descriptor instead. func (*SecretData_SlackAppConfigRefreshToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 17} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 16} } func (x *SecretData_SlackAppConfigRefreshToken) GetToken() string { @@ -7565,7 +7626,7 @@ func (x *SecretData_PostmanAPIKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_PostmanAPIKey.ProtoReflect.Descriptor instead. func (*SecretData_PostmanAPIKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 18} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 17} } func (x *SecretData_PostmanAPIKey) GetKey() string { @@ -7610,7 +7671,7 @@ func (x *SecretData_PostmanCollectionAccessToken) ProtoReflect() protoreflect.Me // Deprecated: Use SecretData_PostmanCollectionAccessToken.ProtoReflect.Descriptor instead. func (*SecretData_PostmanCollectionAccessToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 19} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 18} } func (x *SecretData_PostmanCollectionAccessToken) GetKey() string { @@ -7655,7 +7716,7 @@ func (x *SecretData_DigitalOceanAPIToken) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_DigitalOceanAPIToken.ProtoReflect.Descriptor instead. func (*SecretData_DigitalOceanAPIToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 20} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 19} } func (x *SecretData_DigitalOceanAPIToken) GetKey() string { @@ -7700,7 +7761,7 @@ func (x *SecretData_CratesIOAPIToken) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_CratesIOAPIToken.ProtoReflect.Descriptor instead. func (*SecretData_CratesIOAPIToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 21} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 20} } func (x *SecretData_CratesIOAPIToken) GetToken() string { @@ -7745,7 +7806,7 @@ func (x *SecretData_GithubAppRefreshToken) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_GithubAppRefreshToken.ProtoReflect.Descriptor instead. func (*SecretData_GithubAppRefreshToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 22} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 21} } func (x *SecretData_GithubAppRefreshToken) GetToken() string { @@ -7790,7 +7851,7 @@ func (x *SecretData_GithubAppServerToServerToken) ProtoReflect() protoreflect.Me // Deprecated: Use SecretData_GithubAppServerToServerToken.ProtoReflect.Descriptor instead. func (*SecretData_GithubAppServerToServerToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 23} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 22} } func (x *SecretData_GithubAppServerToServerToken) GetToken() string { @@ -7835,7 +7896,7 @@ func (x *SecretData_GithubClassicPersonalAccessToken) ProtoReflect() protoreflec // Deprecated: Use SecretData_GithubClassicPersonalAccessToken.ProtoReflect.Descriptor instead. func (*SecretData_GithubClassicPersonalAccessToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 24} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 23} } func (x *SecretData_GithubClassicPersonalAccessToken) GetToken() string { @@ -7880,7 +7941,7 @@ func (x *SecretData_GithubFineGrainedPersonalAccessToken) ProtoReflect() protore // Deprecated: Use SecretData_GithubFineGrainedPersonalAccessToken.ProtoReflect.Descriptor instead. func (*SecretData_GithubFineGrainedPersonalAccessToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 25} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 24} } func (x *SecretData_GithubFineGrainedPersonalAccessToken) GetToken() string { @@ -7925,7 +7986,7 @@ func (x *SecretData_GithubOAuthToken) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_GithubOAuthToken.ProtoReflect.Descriptor instead. func (*SecretData_GithubOAuthToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 26} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 25} } func (x *SecretData_GithubOAuthToken) GetToken() string { @@ -7970,7 +8031,7 @@ func (x *SecretData_GithubAppUserToServerToken) ProtoReflect() protoreflect.Mess // Deprecated: Use SecretData_GithubAppUserToServerToken.ProtoReflect.Descriptor instead. func (*SecretData_GithubAppUserToServerToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 27} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 26} } func (x *SecretData_GithubAppUserToServerToken) GetToken() string { @@ -8015,7 +8076,7 @@ func (x *SecretData_PyPIAPIToken) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_PyPIAPIToken.ProtoReflect.Descriptor instead. func (*SecretData_PyPIAPIToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 28} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 27} } func (x *SecretData_PyPIAPIToken) GetToken() string { @@ -8060,7 +8121,7 @@ func (x *SecretData_TinkKeyset) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_TinkKeyset.ProtoReflect.Descriptor instead. func (*SecretData_TinkKeyset) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 29} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 28} } func (x *SecretData_TinkKeyset) GetContent() string { @@ -8105,7 +8166,7 @@ func (x *SecretData_HashiCorpVaultToken) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_HashiCorpVaultToken.ProtoReflect.Descriptor instead. func (*SecretData_HashiCorpVaultToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 30} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 29} } func (x *SecretData_HashiCorpVaultToken) GetToken() string { @@ -8152,7 +8213,7 @@ func (x *SecretData_HashiCorpVaultAppRoleCredentials) ProtoReflect() protoreflec // Deprecated: Use SecretData_HashiCorpVaultAppRoleCredentials.ProtoReflect.Descriptor instead. func (*SecretData_HashiCorpVaultAppRoleCredentials) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 31} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 30} } func (x *SecretData_HashiCorpVaultAppRoleCredentials) GetRoleId() string { @@ -8211,7 +8272,7 @@ func (x *SecretData_GCPAPIKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_GCPAPIKey.ProtoReflect.Descriptor instead. func (*SecretData_GCPAPIKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 32} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 31} } func (x *SecretData_GCPAPIKey) GetKey() string { @@ -8258,7 +8319,7 @@ func (x *SecretData_HuggingfaceAPIKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_HuggingfaceAPIKey.ProtoReflect.Descriptor instead. func (*SecretData_HuggingfaceAPIKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 33} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 32} } func (x *SecretData_HuggingfaceAPIKey) GetKey() string { @@ -8318,7 +8379,7 @@ func (x *SecretData_HashiCorpCloudPlatformCredentials) ProtoReflect() protorefle // Deprecated: Use SecretData_HashiCorpCloudPlatformCredentials.ProtoReflect.Descriptor instead. func (*SecretData_HashiCorpCloudPlatformCredentials) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 34} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 33} } func (x *SecretData_HashiCorpCloudPlatformCredentials) GetClientId() string { @@ -8379,7 +8440,7 @@ func (x *SecretData_HashiCorpCloudPlatformToken) ProtoReflect() protoreflect.Mes // Deprecated: Use SecretData_HashiCorpCloudPlatformToken.ProtoReflect.Descriptor instead. func (*SecretData_HashiCorpCloudPlatformToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 35} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 34} } func (x *SecretData_HashiCorpCloudPlatformToken) GetToken() string { @@ -8480,7 +8541,7 @@ func (x *SecretData_StripeSecretKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_StripeSecretKey.ProtoReflect.Descriptor instead. func (*SecretData_StripeSecretKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 36} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 35} } func (x *SecretData_StripeSecretKey) GetKey() string { @@ -8525,7 +8586,7 @@ func (x *SecretData_StripeRestrictedKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_StripeRestrictedKey.ProtoReflect.Descriptor instead. func (*SecretData_StripeRestrictedKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 37} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 36} } func (x *SecretData_StripeRestrictedKey) GetKey() string { @@ -8570,7 +8631,7 @@ func (x *SecretData_StripeWebhookSecret) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_StripeWebhookSecret.ProtoReflect.Descriptor instead. func (*SecretData_StripeWebhookSecret) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 38} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 37} } func (x *SecretData_StripeWebhookSecret) GetKey() string { @@ -8620,7 +8681,7 @@ func (x *SecretData_GCPOAuth2ClientCredentials) ProtoReflect() protoreflect.Mess // Deprecated: Use SecretData_GCPOAuth2ClientCredentials.ProtoReflect.Descriptor instead. func (*SecretData_GCPOAuth2ClientCredentials) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 39} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 38} } func (x *SecretData_GCPOAuth2ClientCredentials) GetId() string { @@ -8674,7 +8735,7 @@ func (x *SecretData_GCPOAuth2AccessToken) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_GCPOAuth2AccessToken.ProtoReflect.Descriptor instead. func (*SecretData_GCPOAuth2AccessToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 40} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 39} } func (x *SecretData_GCPOAuth2AccessToken) GetToken() string { @@ -8734,7 +8795,7 @@ func (x *SecretData_OnePasswordConnectToken) ProtoReflect() protoreflect.Message // Deprecated: Use SecretData_OnePasswordConnectToken.ProtoReflect.Descriptor instead. func (*SecretData_OnePasswordConnectToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 41} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 40} } func (x *SecretData_OnePasswordConnectToken) GetDeviceUuid() string { @@ -8828,7 +8889,7 @@ func (x *SecretData_OnePasswordSecretKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SecretData_OnePasswordSecretKey.ProtoReflect.Descriptor instead. func (*SecretData_OnePasswordSecretKey) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 42} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 41} } func (x *SecretData_OnePasswordSecretKey) GetKey() string { @@ -8873,7 +8934,7 @@ func (x *SecretData_OnePasswordServiceToken) ProtoReflect() protoreflect.Message // Deprecated: Use SecretData_OnePasswordServiceToken.ProtoReflect.Descriptor instead. func (*SecretData_OnePasswordServiceToken) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 43} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 42} } func (x *SecretData_OnePasswordServiceToken) GetKey() string { @@ -8918,7 +8979,7 @@ func (x *SecretData_OnePasswordRecoveryCode) ProtoReflect() protoreflect.Message // Deprecated: Use SecretData_OnePasswordRecoveryCode.ProtoReflect.Descriptor instead. func (*SecretData_OnePasswordRecoveryCode) Descriptor() ([]byte, []int) { - return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 44} + return file_proto_scan_result_proto_rawDescGZIP(), []int{55, 43} } func (x *SecretData_OnePasswordRecoveryCode) GetKey() string { @@ -8930,1497 +8991,684 @@ func (x *SecretData_OnePasswordRecoveryCode) GetKey() string { var File_proto_scan_result_proto protoreflect.FileDescriptor -var file_proto_scan_result_proto_rawDesc = []byte{ - 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x62, 0x72, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x03, 0x0a, 0x0a, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 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, 0x39, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x09, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x0d, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x69, 0x6e, 0x76, 0x65, 0x6e, - 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, - 0x72, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x69, - 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, - 0x61, 0x74, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, - 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x69, 0x63, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, - 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x12, 0x30, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, - 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, - 0x74, 0x6f, 0x72, 0x79, 0x22, 0x83, 0x02, 0x0a, 0x09, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, - 0x12, 0x42, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x63, 0x61, - 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, - 0x59, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc6, 0x01, 0x0a, 0x0a, 0x53, - 0x63, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x63, 0x61, 0x6c, - 0x69, 0x62, 0x72, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, - 0x63, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x0e, - 0x53, 0x63, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, - 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x17, - 0x0a, 0x13, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x53, 0x55, 0x43, 0x43, - 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x03, 0x22, 0x69, 0x0a, 0x0c, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x63, 0x61, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd0, - 0x1d, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, - 0x64, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x75, 0x72, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x50, 0x75, 0x72, 0x6c, 0x52, 0x04, 0x70, 0x75, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x65, - 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x31, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x70, 0x79, 0x74, 0x68, - 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x79, 0x74, 0x68, - 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x4a, 0x61, 0x76, 0x61, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4a, 0x53, 0x4f, 0x4e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x12, 0x6a, 0x61, 0x76, 0x61, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, - 0x0a, 0x0c, 0x61, 0x70, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x41, - 0x50, 0x4b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x43, 0x0a, 0x0d, 0x64, 0x70, 0x6b, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, - 0x72, 0x2e, 0x44, 0x50, 0x4b, 0x47, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x70, 0x6b, 0x67, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0c, 0x72, 0x70, 0x6d, 0x5f, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x63, - 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x52, 0x50, 0x4d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x70, 0x6d, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0c, 0x63, 0x6f, 0x73, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x43, 0x4f, 0x53, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, - 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x11, 0x64, 0x65, 0x70, - 0x73, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x28, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x44, - 0x45, 0x50, 0x53, 0x4a, 0x53, 0x4f, 0x4e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x10, 0x64, 0x65, 0x70, 0x73, 0x6a, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x0d, 0x73, 0x70, 0x64, 0x78, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x63, 0x61, - 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x50, 0x44, 0x58, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x70, 0x64, 0x78, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x52, 0x0a, 0x15, 0x6a, 0x61, 0x76, 0x61, - 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, - 0x72, 0x2e, 0x4a, 0x61, 0x76, 0x61, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x16, - 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, - 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x4a, 0x61, 0x76, 0x61, 0x4c, 0x6f, 0x63, 0x6b, 0x66, - 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x14, 0x6a, - 0x61, 0x76, 0x61, 0x4c, 0x6f, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6d, 0x61, 0x6e, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, - 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x41, 0x43, 0x4d, 0x41, 0x4e, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0e, - 0x70, 0x61, 0x63, 0x6d, 0x61, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, - 0x0a, 0x0c, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x25, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x4e, - 0x69, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x69, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x55, 0x0a, 0x16, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x4b, 0x65, 0x72, 0x6e, 0x65, - 0x6c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x14, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x10, 0x76, 0x6d, 0x6c, 0x69, 0x6e, - 0x75, 0x7a, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x27, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x56, 0x6d, 0x6c, 0x69, - 0x6e, 0x75, 0x7a, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0f, 0x76, - 0x6d, 0x6c, 0x69, 0x6e, 0x75, 0x7a, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4c, - 0x0a, 0x10, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x62, 0x72, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x6f, 0x72, - 0x74, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0c, - 0x6f, 0x73, 0x76, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x4f, 0x53, 0x56, - 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x0b, 0x6f, 0x73, 0x76, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x48, - 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x63, 0x61, 0x6c, - 0x69, 0x62, 0x72, 0x2e, 0x4e, 0x65, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x67, 0x0a, 0x1c, 0x70, 0x79, 0x74, 0x68, - 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1a, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x52, 0x0a, 0x15, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x75, - 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x79, 0x74, 0x68, 0x6f, - 0x6e, 0x53, 0x65, 0x74, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x13, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x75, 0x70, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x6a, 0x0a, 0x1d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, - 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x1b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x43, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x62, 0x72, 0x2e, 0x53, 0x4e, 0x41, 0x50, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4c, 0x0a, 0x10, 0x66, 0x6c, 0x61, 0x74, 0x70, 0x61, - 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x70, - 0x61, 0x6b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x0f, 0x66, 0x6c, 0x61, 0x74, 0x70, 0x61, 0x6b, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x11, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x70, 0x70, 0x73, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x4d, 0x61, 0x63, 0x41, 0x70, 0x70, - 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x61, 0x63, - 0x41, 0x70, 0x70, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x80, 0x01, 0x0a, - 0x25, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, - 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x22, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x40, 0x0a, 0x0c, 0x63, 0x64, 0x78, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, - 0x43, 0x44, 0x58, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x64, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x5a, 0x0a, 0x1b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x5f, 0x6f, 0x73, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x4f, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x48, 0x00, 0x52, 0x18, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x4f, 0x73, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, - 0x11, 0x68, 0x6f, 0x6d, 0x65, 0x62, 0x72, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x62, 0x72, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x62, 0x72, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x10, 0x68, 0x6f, - 0x6d, 0x65, 0x62, 0x72, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x61, - 0x0a, 0x1a, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x2f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x43, 0x68, 0x72, - 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x18, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x61, 0x0a, 0x1a, 0x76, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, - 0x56, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x18, 0x76, 0x73, 0x63, 0x6f, - 0x64, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0f, 0x70, 0x6f, 0x64, 0x6d, 0x61, 0x6e, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x6f, 0x64, 0x6d, 0x61, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x6f, 0x64, 0x6d, 0x61, 0x6e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x1a, 0x64, 0x6f, 0x63, 0x6b, - 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, - 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x18, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x11, 0x6d, - 0x61, 0x63, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x4d, 0x61, 0x63, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x61, 0x63, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x0f, - 0x77, 0x69, 0x6e, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, - 0x57, 0x69, 0x6e, 0x67, 0x65, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x69, 0x6e, 0x67, 0x65, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x0d, 0x61, 0x73, 0x64, 0x66, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x41, 0x73, 0x64, 0x66, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x73, 0x64, 0x66, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x0c, 0x6e, 0x76, 0x6d, 0x5f, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x63, - 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x4e, 0x76, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x76, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x51, 0x0a, 0x14, 0x6e, 0x6f, 0x64, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x13, - 0x6e, 0x6f, 0x64, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, 0x16, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x1c, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x5b, 0x0a, 0x16, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x15, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x34, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x7c, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x39, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x65, 0x73, 0x48, 0x01, 0x52, 0x1d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x65, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x74, 0x0a, 0x1d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x60, 0x0a, 0x0e, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, - 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x10, 0x0a, 0x0c, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, - 0x01, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x4f, 0x53, 0x5f, 0x50, - 0x41, 0x43, 0x4b, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x53, 0x49, - 0x44, 0x45, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, 0x49, 0x52, 0x10, 0x03, 0x42, 0x0a, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x4a, - 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x23, 0x10, - 0x24, 0x22, 0x42, 0x0a, 0x14, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x70, - 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x0c, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, - 0x64, 0x69, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, - 0x69, 0x66, 0x66, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, - 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xfa, - 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x69, - 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x16, - 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, - 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x56, 0x65, 0x78, 0x4a, 0x75, 0x73, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x10, 0x76, 0x75, 0x6c, 0x6e, 0x5f, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x56, 0x75, 0x6c, 0x6e, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x76, - 0x75, 0x6c, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x2c, - 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x76, 0x75, - 0x6c, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x41, 0x6c, 0x6c, 0x56, 0x75, 0x6c, 0x6e, 0x73, 0x42, 0x0d, 0x0a, 0x0b, - 0x76, 0x75, 0x6c, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x0f, 0x56, - 0x75, 0x6c, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x20, - 0x0a, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, - 0x22, 0x76, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x6c, 0x6f, - 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, - 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x56, 0x65, 0x78, 0x4a, 0x75, 0x73, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x01, 0x0a, 0x04, 0x50, 0x75, 0x72, - 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x63, 0x61, 0x6c, - 0x69, 0x62, 0x72, 0x2e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x71, - 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x70, - 0x61, 0x74, 0x68, 0x22, 0x33, 0x0a, 0x09, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xfe, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x0a, 0x03, 0x61, - 0x64, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x62, 0x72, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x52, 0x03, 0x61, 0x64, 0x76, 0x12, 0x3c, - 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, - 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x16, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, - 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x15, 0x65, 0x78, - 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xd2, 0x01, 0x0a, 0x16, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x76, 0x69, - 0x73, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x41, 0x64, 0x76, 0x69, 0x73, - 0x6f, 0x72, 0x79, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 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, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x03, 0x73, 0x65, 0x76, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x03, 0x73, - 0x65, 0x76, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x48, - 0x0a, 0x0a, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x45, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x69, 0x63, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x4a, 0x04, 0x08, - 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, - 0x52, 0x0a, 0x15, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x45, 0x6d, - 0x61, 0x69, 0x6c, 0x22, 0xb3, 0x01, 0x0a, 0x1d, 0x4a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x20, 0x0a, - 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, - 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0xe4, 0x01, 0x0a, 0x12, 0x41, 0x50, - 0x4b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6f, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x22, 0x0a, - 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x22, 0xee, 0x02, 0x0a, 0x13, 0x44, 0x50, 0x4b, 0x47, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x05, - 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6f, 0x73, 0x49, - 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x63, 0x6f, 0x64, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, - 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, - 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0xcf, 0x02, 0x0a, 0x12, 0x52, 0x50, 0x4d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x70, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x12, 0x13, 0x0a, 0x05, 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6f, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x73, 0x5f, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6f, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x73, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x73, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x24, - 0x0a, 0x0e, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x74, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x73, 0x50, 0x72, 0x65, 0x74, 0x74, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x12, 0x43, 0x4f, 0x53, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x80, - 0x02, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4d, 0x41, 0x4e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x05, 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6f, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, - 0x13, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, - 0x0a, 0x14, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, - 0x73, 0x22, 0x93, 0x02, 0x0a, 0x12, 0x4e, 0x69, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x13, - 0x0a, 0x05, 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6f, - 0x73, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x72, 0x0a, 0x10, 0x44, 0x45, 0x50, 0x53, 0x4a, - 0x53, 0x4f, 0x4e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x70, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, - 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x13, - 0x53, 0x4e, 0x41, 0x50, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x12, 0x13, 0x0a, 0x05, 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6f, 0x73, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x64, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, - 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x16, 0x50, - 0x6f, 0x72, 0x74, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x13, 0x0a, 0x05, 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6f, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, - 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xb6, 0x02, 0x0a, 0x16, 0x46, - 0x6c, 0x61, 0x74, 0x70, 0x61, 0x6b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x0a, 0x05, - 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6f, 0x73, 0x49, - 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x73, 0x5f, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x42, 0x75, - 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, - 0x70, 0x65, 0x72, 0x22, 0xe8, 0x02, 0x0a, 0x14, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x6d, 0x61, - 0x67, 0x69, 0x63, 0x12, 0x49, 0x0a, 0x21, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x13, - 0x0a, 0x05, 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6f, - 0x73, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x22, 0x8e, - 0x03, 0x0a, 0x0f, 0x56, 0x6d, 0x6c, 0x69, 0x6e, 0x75, 0x7a, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x77, 0x61, 0x70, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x77, - 0x61, 0x70, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, - 0x6f, 0x6f, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x6f, 0x73, 0x5f, 0x69, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6f, 0x73, 0x49, 0x64, 0x12, 0x2e, 0x0a, - 0x13, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x73, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, - 0x0d, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x72, 0x77, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x66, 0x73, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x77, 0x52, 0x6f, 0x6f, 0x74, 0x46, 0x73, 0x22, - 0xbb, 0x03, 0x0a, 0x0f, 0x4d, 0x61, 0x63, 0x41, 0x70, 0x70, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x12, 0x3d, 0x0a, 0x1b, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x53, 0x68, 0x6f, - 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, - 0x2b, 0x0a, 0x11, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, - 0x13, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, - 0x10, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, - 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x90, 0x01, - 0x0a, 0x17, 0x4d, 0x61, 0x63, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0x4c, 0x0a, 0x13, 0x53, 0x50, 0x44, 0x58, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x75, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, - 0x50, 0x75, 0x72, 0x6c, 0x52, 0x04, 0x70, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x70, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x63, 0x70, 0x65, 0x73, 0x22, 0x4b, - 0x0a, 0x12, 0x43, 0x44, 0x58, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x75, 0x72, - 0x6c, 0x52, 0x04, 0x70, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x70, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x63, 0x70, 0x65, 0x73, 0x22, 0x65, 0x0a, 0x13, 0x4a, - 0x61, 0x76, 0x61, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x68, 0x61, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x68, - 0x61, 0x31, 0x22, 0x9d, 0x01, 0x0a, 0x14, 0x4a, 0x61, 0x76, 0x61, 0x4c, 0x6f, 0x63, 0x6b, 0x66, - 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x61, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0c, 0x64, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x61, 0x6c, 0x73, 0x12, 0x23, 0x0a, - 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, - 0x76, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x12, 0x4f, 0x53, 0x56, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x72, - 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, - 0x72, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x41, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x1a, - 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x19, 0x68, 0x61, - 0x73, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x68, - 0x61, 0x73, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x13, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, - 0x53, 0x65, 0x74, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, - 0x12, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x65, 0x0a, 0x10, - 0x4e, 0x65, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, - 0x69, 0x6e, 0x65, 0x22, 0x9c, 0x03, 0x0a, 0x1b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, - 0x09, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x69, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, - 0x70, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, - 0x70, 0x70, 0x65, 0x72, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x64, 0x69, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, - 0x69, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x22, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x69, 0x67, 0x65, - 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x70, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74, 0x66, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x66, 0x73, 0x50, 0x61, 0x74, 0x68, 0x22, - 0x4f, 0x0a, 0x10, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x4f, 0x53, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x21, 0x0a, - 0x0c, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0x19, 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x62, 0x72, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc0, 0x02, 0x0a, 0x18, - 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, - 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x45, 0x6d, 0x61, 0x69, - 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x6f, 0x73, - 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, - 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x69, 0x6d, - 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x22, 0xac, - 0x02, 0x0a, 0x18, 0x56, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, - 0x0a, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, - 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x70, 0x72, - 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x50, 0x72, 0x65, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xba, 0x03, - 0x0a, 0x0e, 0x50, 0x6f, 0x64, 0x6d, 0x61, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x4e, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, - 0x72, 0x2e, 0x50, 0x6f, 0x64, 0x6d, 0x61, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, - 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, - 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x66, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x65, 0x78, 0x69, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x65, 0x78, 0x69, 0x74, 0x65, 0x64, 0x1a, 0x52, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, - 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x27, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, - 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, 0x08, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x97, 0x01, 0x0a, - 0x18, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x05, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x63, 0x61, - 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x52, - 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x4e, 0x0a, 0x0c, 0x41, 0x73, 0x64, 0x66, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x6f, 0x6f, 0x6c, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x34, 0x0a, 0x0b, 0x4e, 0x76, 0x6d, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x6a, 0x73, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, - 0x6f, 0x64, 0x65, 0x6a, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x13, - 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x6a, 0x73, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x64, - 0x65, 0x6a, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x74, 0x0a, 0x0a, 0x44, 0x6f, - 0x63, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x22, 0xb9, 0x01, 0x0a, 0x15, 0x57, 0x69, 0x6e, 0x67, 0x65, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, - 0x6b, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, - 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x95, 0x01, 0x0a, - 0x06, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, - 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfb, 0x3b, 0x0a, 0x0a, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x06, 0x67, 0x63, 0x70, 0x73, 0x61, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x43, 0x50, 0x53, 0x41, 0x4b, 0x48, - 0x00, 0x52, 0x06, 0x67, 0x63, 0x70, 0x73, 0x61, 0x6b, 0x12, 0x6d, 0x0a, 0x1b, 0x61, 0x6e, 0x74, - 0x68, 0x72, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, - 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x41, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x18, - 0x61, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x61, 0x0a, 0x17, 0x61, 0x6e, 0x74, 0x68, - 0x72, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x61, 0x6c, - 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, - 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x50, 0x49, - 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x14, 0x61, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69, 0x63, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x0a, 0x70, - 0x65, 0x72, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x41, - 0x50, 0x49, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x70, 0x6c, 0x65, 0x78, - 0x69, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x4c, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x6b, 0x5f, 0x78, - 0x61, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x72, 0x6f, 0x6b, 0x58, 0x41, 0x49, 0x41, 0x50, 0x49, - 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x6b, 0x58, 0x61, 0x69, 0x41, 0x70, - 0x69, 0x4b, 0x65, 0x79, 0x12, 0x6b, 0x0a, 0x1b, 0x67, 0x72, 0x6f, 0x6b, 0x5f, 0x78, 0x61, 0x69, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x63, 0x61, 0x6c, - 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, - 0x72, 0x6f, 0x6b, 0x58, 0x41, 0x49, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x17, 0x67, 0x72, 0x6f, 0x6b, 0x58, 0x61, - 0x69, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, - 0x79, 0x12, 0x48, 0x0a, 0x0e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x68, 0x75, 0x62, 0x5f, - 0x70, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x61, 0x6c, - 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, - 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x75, 0x62, 0x50, 0x61, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x64, - 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x75, 0x62, 0x50, 0x61, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x64, - 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x4f, 0x63, - 0x65, 0x61, 0x6e, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x64, - 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x12, 0x48, 0x0a, 0x0e, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x49, 0x41, - 0x50, 0x49, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x69, 0x41, - 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, - 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x41, 0x50, 0x49, 0x4b, 0x65, - 0x79, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x41, 0x70, 0x69, 0x4b, - 0x65, 0x79, 0x12, 0x79, 0x0a, 0x1f, 0x70, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x5f, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x63, - 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, - 0x1c, 0x70, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x54, 0x0a, - 0x12, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x63, 0x61, 0x6c, - 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, - 0x7a, 0x75, 0x72, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, - 0x00, 0x52, 0x10, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x12, 0x5a, 0x0a, 0x14, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x61, 0x7a, 0x75, - 0x72, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x41, 0x0a, 0x0b, 0x74, 0x69, 0x6e, 0x6b, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x65, 0x74, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x69, 0x6e, 0x6b, 0x4b, 0x65, - 0x79, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x69, 0x6e, 0x6b, 0x4b, 0x65, 0x79, 0x73, - 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x5f, 0x70, 0x61, 0x74, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x6c, - 0x61, 0x62, 0x50, 0x61, 0x74, 0x48, 0x00, 0x52, 0x09, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x50, - 0x61, 0x74, 0x12, 0x5d, 0x0a, 0x15, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5f, - 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x69, 0x43, 0x6f, 0x72, 0x70, - 0x56, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x86, 0x01, 0x0a, 0x24, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5f, - 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x63, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x69, 0x43, 0x6f, 0x72, 0x70, 0x56, - 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x20, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x70, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x43, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x67, 0x63, - 0x70, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x43, 0x50, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x48, 0x00, - 0x52, 0x09, 0x67, 0x63, 0x70, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x0a, 0x68, - 0x75, 0x67, 0x67, 0x69, 0x6e, 0x66, 0x61, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, 0x65, - 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x75, 0x67, 0x67, 0x69, 0x6e, - 0x66, 0x61, 0x63, 0x65, 0x12, 0x64, 0x0a, 0x18, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61, - 0x70, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x41, 0x70, 0x70, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x48, 0x00, 0x52, 0x15, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x41, 0x70, 0x70, 0x52, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x51, 0x0a, 0x11, 0x73, 0x74, - 0x72, 0x69, 0x70, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x70, - 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, - 0x72, 0x69, 0x70, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x5d, 0x0a, - 0x15, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, - 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, - 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, - 0x65, 0x64, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x13, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, - 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x5d, 0x0a, 0x15, - 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x63, - 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x48, 0x00, 0x52, 0x13, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x57, 0x65, - 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x73, 0x0a, 0x1d, 0x67, - 0x63, 0x70, 0x5f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x19, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x43, 0x50, 0x4f, 0x41, 0x75, 0x74, 0x68, - 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x73, 0x48, 0x00, 0x52, 0x1a, 0x67, 0x63, 0x70, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, - 0x12, 0x61, 0x0a, 0x17, 0x67, 0x63, 0x70, 0x5f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x43, 0x50, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x14, 0x67, - 0x63, 0x70, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x12, 0x7b, 0x0a, 0x21, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61, 0x70, - 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, - 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x41, 0x70, 0x70, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x48, 0x00, 0x52, 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x41, 0x70, 0x70, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x86, 0x01, 0x0a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x69, 0x63, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x34, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x69, 0x63, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x20, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x93, 0x01, 0x0a, 0x29, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x5f, 0x66, 0x69, 0x6e, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x69, 0x6e, 0x65, - 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, - 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x72, 0x61, - 0x69, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x72, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x75, 0x0a, 0x1f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x41, 0x70, 0x70, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x1a, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x41, 0x70, 0x70, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x54, 0x0a, 0x12, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x5f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x1f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x4f, 0x41, - 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x74, 0x0a, 0x1e, - 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x21, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x41, - 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x1a, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x41, 0x70, 0x70, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x5b, 0x0a, 0x15, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x70, 0x70, 0x5f, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x73, 0x6c, 0x61, - 0x63, 0x6b, 0x41, 0x70, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x71, 0x0a, 0x1d, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x61, 0x63, - 0x6b, 0x41, 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x19, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x41, 0x70, - 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x7a, 0x0a, 0x20, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, - 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x48, 0x00, - 0x52, 0x1c, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x88, - 0x01, 0x0a, 0x24, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x63, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, - 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x69, 0x43, 0x6f, 0x72, 0x70, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x21, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x76, 0x0a, 0x1e, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x26, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x69, 0x43, 0x6f, 0x72, 0x70, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x48, 0x00, 0x52, 0x1b, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x60, 0x0a, 0x16, 0x6f, 0x6e, 0x65, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x27, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x6e, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x14, 0x6f, - 0x6e, 0x65, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x4b, 0x65, 0x79, 0x12, 0x69, 0x0a, 0x19, 0x6f, 0x6e, 0x65, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x6e, 0x65, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x17, 0x6f, 0x6e, 0x65, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x69, - 0x0a, 0x19, 0x6f, 0x6e, 0x65, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x72, 0x65, - 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x6e, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x48, 0x00, - 0x52, 0x17, 0x6f, 0x6e, 0x65, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x63, - 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x69, 0x0a, 0x19, 0x6f, 0x6e, 0x65, - 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, - 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x4f, 0x6e, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x17, 0x6f, 0x6e, 0x65, - 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x06, 0x70, 0x67, 0x70, 0x61, 0x73, 0x73, 0x18, 0x2b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x67, 0x70, 0x61, 0x73, 0x73, - 0x48, 0x00, 0x52, 0x06, 0x70, 0x67, 0x70, 0x61, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x04, 0x70, 0x79, - 0x70, 0x69, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x79, - 0x50, 0x49, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x79, - 0x70, 0x69, 0x12, 0x55, 0x0a, 0x13, 0x63, 0x72, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x69, 0x6f, 0x5f, - 0x61, 0x70, 0x69, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x61, 0x74, 0x65, 0x73, 0x49, 0x4f, 0x41, 0x50, 0x49, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x61, 0x74, 0x65, 0x73, 0x49, - 0x6f, 0x41, 0x70, 0x69, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5a, 0x0a, 0x14, 0x6d, 0x61, 0x72, - 0x69, 0x61, 0x5f, 0x64, 0x62, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, - 0x72, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x61, 0x72, - 0x69, 0x61, 0x44, 0x42, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, - 0x00, 0x52, 0x12, 0x6d, 0x61, 0x72, 0x69, 0x61, 0x44, 0x62, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0xb0, 0x03, 0x0a, 0x06, 0x47, 0x43, 0x50, 0x53, 0x41, 0x4b, - 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x5f, - 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, - 0x72, 0x69, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x75, 0x72, 0x69, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x72, 0x69, 0x12, - 0x3c, 0x0a, 0x1b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x5f, 0x78, 0x35, 0x30, 0x39, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x58, 0x35, 0x30, 0x39, 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x2f, 0x0a, - 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x78, 0x35, 0x30, 0x39, 0x5f, 0x63, 0x65, 0x72, - 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x58, 0x35, 0x30, 0x39, 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x27, - 0x0a, 0x0f, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, - 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x1a, 0x2c, 0x0a, 0x18, 0x41, 0x6e, 0x74, 0x68, - 0x72, 0x6f, 0x70, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x50, - 0x49, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x28, 0x0a, 0x14, 0x41, 0x6e, 0x74, 0x68, 0x72, 0x6f, - 0x70, 0x69, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x1a, 0x24, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x41, 0x50, - 0x49, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x21, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x6b, 0x58, 0x41, - 0x49, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x2b, 0x0a, 0x17, 0x47, 0x72, 0x6f, - 0x6b, 0x58, 0x41, 0x49, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x50, - 0x49, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x30, 0x0a, 0x1c, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x34, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, - 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x64, 0x65, 0x72, 0x1a, 0x28, - 0x0a, 0x10, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x8c, 0x01, 0x0a, 0x06, 0x50, 0x67, 0x70, - 0x61, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0x86, 0x01, 0x0a, 0x12, 0x4d, 0x61, 0x72, 0x69, - 0x61, 0x44, 0x42, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x2a, 0x0a, 0x12, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x20, 0x0a, 0x0c, - 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x49, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x3c, - 0x0a, 0x0c, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x75, 0x62, 0x50, 0x61, 0x74, 0x12, 0x10, - 0x0a, 0x03, 0x70, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x61, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x1d, 0x0a, 0x09, - 0x47, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x50, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x61, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x61, 0x74, 0x1a, 0x2a, 0x0a, 0x12, 0x53, - 0x6c, 0x61, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x31, 0x0a, 0x19, 0x53, 0x6c, 0x61, 0x63, 0x6b, - 0x41, 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x32, 0x0a, 0x1a, 0x53, 0x6c, - 0x61, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x21, - 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x1a, 0x30, 0x0a, 0x1c, 0x50, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x1a, 0x28, 0x0a, 0x14, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x4f, 0x63, - 0x65, 0x61, 0x6e, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x28, 0x0a, - 0x10, 0x43, 0x72, 0x61, 0x74, 0x65, 0x73, 0x49, 0x4f, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x2d, 0x0a, 0x15, 0x47, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x41, 0x70, 0x70, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x34, 0x0a, 0x1c, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x41, 0x70, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x38, 0x0a, 0x20, - 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x50, 0x65, 0x72, - 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x3c, 0x0a, 0x24, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x46, 0x69, 0x6e, 0x65, 0x47, 0x72, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, - 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x28, 0x0a, 0x10, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x4f, 0x41, - 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x32, - 0x0a, 0x1a, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x41, 0x70, 0x70, 0x55, 0x73, 0x65, 0x72, 0x54, - 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x1a, 0x24, 0x0a, 0x0c, 0x50, 0x79, 0x50, 0x49, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x26, 0x0a, 0x0a, 0x54, 0x69, 0x6e, 0x6b, - 0x4b, 0x65, 0x79, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x1a, 0x2b, 0x0a, 0x13, 0x48, 0x61, 0x73, 0x68, 0x69, 0x43, 0x6f, 0x72, 0x70, 0x56, 0x61, 0x75, - 0x6c, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x68, 0x0a, - 0x20, 0x48, 0x61, 0x73, 0x68, 0x69, 0x43, 0x6f, 0x72, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x41, - 0x70, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x73, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x1d, 0x0a, 0x09, 0x47, 0x43, 0x50, 0x41, 0x50, - 0x49, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x67, 0x0a, 0x11, 0x48, 0x75, 0x67, 0x67, 0x69, 0x6e, - 0x67, 0x66, 0x61, 0x63, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x69, 0x6e, 0x65, - 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x66, - 0x69, 0x6e, 0x65, 0x47, 0x72, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x1a, - 0x65, 0x0a, 0x21, 0x48, 0x61, 0x73, 0x68, 0x69, 0x43, 0x6f, 0x72, 0x70, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0xbd, 0x02, 0x0a, 0x1b, 0x48, 0x61, 0x73, 0x68, 0x69, - 0x43, 0x6f, 0x72, 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x27, 0x0a, 0x0f, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, - 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6e, - 0x63, 0x69, 0x70, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6e, 0x63, - 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x64, 0x73, 0x1a, 0x23, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x27, 0x0a, 0x13, 0x53, - 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x4b, - 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x27, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x57, 0x65, - 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x44, 0x0a, - 0x1a, 0x47, 0x43, 0x50, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x1a, 0x2c, 0x0a, 0x14, 0x47, 0x43, 0x50, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x1a, 0xb0, 0x02, 0x0a, 0x17, 0x4f, 0x6e, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1f, 0x0a, - 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x75, 0x69, 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, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x76, 0x12, 0x22, 0x0a, 0x0d, 0x75, - 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, - 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x6c, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x53, 0x61, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x48, 0x61, 0x73, 0x68, 0x1a, 0x28, 0x0a, 0x14, 0x4f, 0x6e, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x2b, - 0x0a, 0x17, 0x4f, 0x6e, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x2b, 0x0a, 0x17, 0x4f, - 0x6e, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x22, 0xf8, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x22, 0x69, 0x0a, 0x10, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x03, - 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, - 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0xc8, 0x02, - 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x08, 0x66, 0x69, - 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, - 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x48, - 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x12, 0x62, 0x0a, 0x1b, 0x66, - 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x70, - 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x18, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x57, - 0x69, 0x74, 0x68, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x51, 0x0a, 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x13, 0x65, - 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x0a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1e, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, - 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x6a, 0x0a, 0x18, 0x46, 0x69, 0x6c, 0x65, - 0x70, 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x3a, 0x0a, 0x0d, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x22, 0x29, 0x0a, 0x13, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x2c, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xb3, 0x02, - 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3d, - 0x0a, 0x0e, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, - 0x11, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x62, 0x72, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x52, 0x0f, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x06, 0x6f, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x39, 0x0a, 0x0b, 0x4f, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x67, 0x0a, 0x0e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x63, 0x61, - 0x6c, 0x69, 0x62, 0x72, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x10, - 0x42, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x22, 0xb8, 0x01, 0x0a, 0x0d, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, - 0x64, 0x69, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, - 0x69, 0x66, 0x66, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, - 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0e, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2a, - 0xf7, 0x01, 0x0a, 0x10, 0x56, 0x65, 0x78, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x45, 0x58, 0x5f, 0x4a, 0x55, 0x53, 0x54, - 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4d, 0x50, 0x4f, - 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, - 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x55, 0x4c, 0x4e, 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, - 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x56, 0x55, 0x4c, 0x4e, 0x45, 0x52, 0x41, 0x42, 0x4c, - 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x58, - 0x45, 0x43, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x03, 0x12, 0x35, 0x0a, 0x31, - 0x56, 0x55, 0x4c, 0x4e, 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, - 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, - 0x4c, 0x4c, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x53, 0x41, 0x52, - 0x59, 0x10, 0x04, 0x12, 0x24, 0x0a, 0x20, 0x49, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x4d, 0x49, - 0x54, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, - 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x05, 0x2a, 0x62, 0x0a, 0x0c, 0x53, 0x65, 0x76, - 0x65, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, - 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x10, 0x01, - 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, - 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x12, - 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x05, 0x2a, 0x47, 0x0a, - 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, - 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x59, 0x10, 0x01, - 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4c, - 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x03, 0x42, 0x3f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x63, - 0x61, 0x6c, 0x69, 0x62, 0x72, 0x2f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x67, - 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_proto_scan_result_proto_rawDesc = "" + + "\n" + + "\x17proto/scan_result.proto\x12\ascalibr\x1a\x1fgoogle/protobuf/timestamp.proto\"\xce\x03\n" + + "\n" + + "ScanResult\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\x129\n" + + "\n" + + "start_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x125\n" + + "\bend_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\x12+\n" + + "\x06status\x18\x04 \x01(\v2\x13.scalibr.ScanStatusR\x06status\x12:\n" + + "\rplugin_status\x18\x05 \x03(\v2\x15.scalibr.PluginStatusR\fpluginStatus\x12K\n" + + "\x16inventories_deprecated\x18\x06 \x03(\v2\x10.scalibr.PackageB\x02\x18\x01R\x15inventoriesDeprecated\x12L\n" + + "\x13findings_deprecated\x18\a \x03(\v2\x17.scalibr.GenericFindingB\x02\x18\x01R\x12findingsDeprecated\x120\n" + + "\tinventory\x18\b \x01(\v2\x12.scalibr.InventoryR\tinventory\"\x83\x02\n" + + "\tInventory\x12,\n" + + "\bpackages\x18\x01 \x03(\v2\x10.scalibr.PackageR\bpackages\x12B\n" + + "\x10generic_findings\x18\x02 \x03(\v2\x17.scalibr.GenericFindingR\x0fgenericFindings\x12)\n" + + "\asecrets\x18\x03 \x03(\v2\x0f.scalibr.SecretR\asecrets\x12Y\n" + + "\x18container_image_metadata\x18\x05 \x03(\v2\x1f.scalibr.ContainerImageMetadataR\x16containerImageMetadata\"\xc6\x01\n" + + "\n" + + "ScanStatus\x12:\n" + + "\x06status\x18\x01 \x01(\x0e2\".scalibr.ScanStatus.ScanStatusEnumR\x06status\x12%\n" + + "\x0efailure_reason\x18\x02 \x01(\tR\rfailureReason\"U\n" + + "\x0eScanStatusEnum\x12\x0f\n" + + "\vUNSPECIFIED\x10\x00\x12\r\n" + + "\tSUCCEEDED\x10\x01\x12\x17\n" + + "\x13PARTIALLY_SUCCEEDED\x10\x02\x12\n" + + "\n" + + "\x06FAILED\x10\x03\"i\n" + + "\fPluginStatus\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" + + "\aversion\x18\x02 \x01(\x05R\aversion\x12+\n" + + "\x06status\x18\x03 \x01(\v2\x13.scalibr.ScanStatusR\x06status\"\xd0\x1d\n" + + "\aPackage\x12\x12\n" + + "\x04name\x18\v \x01(\tR\x04name\x12\x18\n" + + "\aversion\x18\f \x01(\tR\aversion\x12>\n" + + "\vsource_code\x18\x1a \x01(\v2\x1d.scalibr.SourceCodeIdentifierR\n" + + "sourceCode\x12!\n" + + "\x04purl\x18\x01 \x01(\v2\r.scalibr.PurlR\x04purl\x12\x1c\n" + + "\tecosystem\x18\x1b \x01(\tR\tecosystem\x12\x1c\n" + + "\tlocations\x18\x02 \x03(\tR\tlocations\x125\n" + + "\x14extractor_deprecated\x18\n" + + " \x01(\tB\x02\x18\x01R\x13extractorDeprecated\x12\x18\n" + + "\aplugins\x181 \x03(\tR\aplugins\x12I\n" + + "\x0fpython_metadata\x18\x05 \x01(\v2\x1e.scalibr.PythonPackageMetadataH\x00R\x0epythonMetadata\x12Y\n" + + "\x13javascript_metadata\x18\x06 \x01(\v2&.scalibr.JavascriptPackageJSONMetadataH\x00R\x12javascriptMetadata\x12@\n" + + "\fapk_metadata\x18\a \x01(\v2\x1b.scalibr.APKPackageMetadataH\x00R\vapkMetadata\x12C\n" + + "\rdpkg_metadata\x18\b \x01(\v2\x1c.scalibr.DPKGPackageMetadataH\x00R\fdpkgMetadata\x12@\n" + + "\frpm_metadata\x18\t \x01(\v2\x1b.scalibr.RPMPackageMetadataH\x00R\vrpmMetadata\x12@\n" + + "\fcos_metadata\x18\r \x01(\v2\x1b.scalibr.COSPackageMetadataH\x00R\vcosMetadata\x12H\n" + + "\x11depsjson_metadata\x18( \x01(\v2\x19.scalibr.DEPSJSONMetadataH\x00R\x10depsjsonMetadata\x12C\n" + + "\rspdx_metadata\x18\x0e \x01(\v2\x1c.scalibr.SPDXPackageMetadataH\x00R\fspdxMetadata\x12R\n" + + "\x15java_archive_metadata\x18\x0f \x01(\v2\x1c.scalibr.JavaArchiveMetadataH\x00R\x13javaArchiveMetadata\x12U\n" + + "\x16java_lockfile_metadata\x18\x1f \x01(\v2\x1d.scalibr.JavaLockfileMetadataH\x00R\x14javaLockfileMetadata\x12I\n" + + "\x0fpacman_metadata\x18$ \x01(\v2\x1e.scalibr.PACMANPackageMetadataH\x00R\x0epacmanMetadata\x12@\n" + + "\fnix_metadata\x18% \x01(\v2\x1b.scalibr.NixPackageMetadataH\x00R\vnixMetadata\x12U\n" + + "\x16kernel_module_metadata\x18& \x01(\v2\x1d.scalibr.KernelModuleMetadataH\x00R\x14kernelModuleMetadata\x12E\n" + + "\x10vmlinuz_metadata\x18' \x01(\v2\x18.scalibr.VmlinuzMetadataH\x00R\x0fvmlinuzMetadata\x12L\n" + + "\x10portage_metadata\x18) \x01(\v2\x1f.scalibr.PortagePackageMetadataH\x00R\x0fportageMetadata\x12@\n" + + "\fosv_metadata\x18\x10 \x01(\v2\x1b.scalibr.OSVPackageMetadataH\x00R\vosvMetadata\x12H\n" + + "\x11netports_metadata\x18- \x01(\v2\x19.scalibr.NetportsMetadataH\x00R\x10netportsMetadata\x12g\n" + + "\x1cpython_requirements_metadata\x18\x15 \x01(\v2#.scalibr.PythonRequirementsMetadataH\x00R\x1apythonRequirementsMetadata\x12R\n" + + "\x15python_setup_metadata\x18, \x01(\v2\x1c.scalibr.PythonSetupMetadataH\x00R\x13pythonSetupMetadata\x12j\n" + + "\x1dcontainerd_container_metadata\x18\x16 \x01(\v2$.scalibr.ContainerdContainerMetadataH\x00R\x1bcontainerdContainerMetadata\x12C\n" + + "\rsnap_metadata\x18\x17 \x01(\v2\x1c.scalibr.SNAPPackageMetadataH\x00R\fsnapMetadata\x12L\n" + + "\x10flatpak_metadata\x18\x18 \x01(\v2\x1f.scalibr.FlatpakPackageMetadataH\x00R\x0fflatpakMetadata\x12F\n" + + "\x11mac_apps_metadata\x18\" \x01(\v2\x18.scalibr.MacAppsMetadataH\x00R\x0fmacAppsMetadata\x12\x80\x01\n" + + "%containerd_runtime_container_metadata\x18\x19 \x01(\v2+.scalibr.ContainerdRuntimeContainerMetadataH\x00R\"containerdRuntimeContainerMetadata\x12@\n" + + "\fcdx_metadata\x18\x1e \x01(\v2\x1b.scalibr.CDXPackageMetadataH\x00R\vcdxMetadata\x12Z\n" + + "\x1bwindows_os_version_metadata\x18! \x01(\v2\x19.scalibr.WindowsOSVersionH\x00R\x18windowsOsVersionMetadata\x12O\n" + + "\x11homebrew_metadata\x18* \x01(\v2 .scalibr.HomebrewPackageMetadataH\x00R\x10homebrewMetadata\x12a\n" + + "\x1achrome_extensions_metadata\x18/ \x01(\v2!.scalibr.ChromeExtensionsMetadataH\x00R\x18chromeExtensionsMetadata\x12a\n" + + "\x1avscode_extensions_metadata\x18. \x01(\v2!.scalibr.VSCodeExtensionsMetadataH\x00R\x18vscodeExtensionsMetadata\x12B\n" + + "\x0fpodman_metadata\x182 \x01(\v2\x17.scalibr.PodmanMetadataH\x00R\x0epodmanMetadata\x12a\n" + + "\x1adocker_containers_metadata\x180 \x01(\v2!.scalibr.DockerContainersMetadataH\x00R\x18dockerContainersMetadata\x12O\n" + + "\x11macports_metadata\x185 \x01(\v2 .scalibr.MacportsPackageMetadataH\x00R\x10macportsMetadata\x12I\n" + + "\x0fwinget_metadata\x186 \x01(\v2\x1e.scalibr.WingetPackageMetadataH\x00R\x0ewingetMetadata\x12<\n" + + "\rasdf_metadata\x187 \x01(\v2\x15.scalibr.AsdfMetadataH\x00R\fasdfMetadata\x129\n" + + "\fnvm_metadata\x188 \x01(\v2\x14.scalibr.NvmMetadataH\x00R\vnvmMetadata\x12Q\n" + + "\x14nodeversion_metadata\x18: \x01(\v2\x1c.scalibr.NodeVersionMetadataH\x00R\x13nodeversionMetadata\x12Z\n" + + "\x16annotations_deprecated\x18\x1c \x03(\x0e2\x1f.scalibr.Package.AnnotationEnumB\x02\x18\x01R\x15annotationsDeprecated\x12[\n" + + "\x16exploitability_signals\x183 \x03(\v2$.scalibr.PackageExploitabilitySignalR\x15exploitabilitySignals\x12\x1a\n" + + "\blicenses\x184 \x03(\tR\blicenses\x12|\n" + + " container_image_metadata_indexes\x189 \x01(\v2..scalibr.Package.ContainerImageMetadataIndexesH\x01R\x1dcontainerImageMetadataIndexes\x88\x01\x01\x1at\n" + + "\x1dContainerImageMetadataIndexes\x122\n" + + "\x15container_image_index\x18\x01 \x01(\x05R\x13containerImageIndex\x12\x1f\n" + + "\vlayer_index\x18\x02 \x01(\x05R\n" + + "layerIndex\"`\n" + + "\x0eAnnotationEnum\x12\x0f\n" + + "\vUNSPECIFIED\x10\x00\x12\x10\n" + + "\fTRANSITIONAL\x10\x01\x12\x15\n" + + "\x11INSIDE_OS_PACKAGE\x10\x02\x12\x14\n" + + "\x10INSIDE_CACHE_DIR\x10\x03B\n" + + "\n" + + "\bmetadataB#\n" + + "!_container_image_metadata_indexesJ\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b#\x10$\"B\n" + + "\x14SourceCodeIdentifier\x12\x12\n" + + "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" + + "\x06commit\x18\x02 \x01(\tR\x06commit\"\x96\x01\n" + + "\fLayerDetails\x12\x14\n" + + "\x05index\x18\x01 \x01(\x05R\x05index\x12\x17\n" + + "\adiff_id\x18\x02 \x01(\tR\x06diffId\x12\x19\n" + + "\bchain_id\x18\x05 \x01(\tR\achainId\x12\x18\n" + + "\acommand\x18\x03 \x01(\tR\acommand\x12\"\n" + + "\rin_base_image\x18\x04 \x01(\bR\vinBaseImage\"\xfa\x01\n" + + "\x1bPackageExploitabilitySignal\x12\x16\n" + + "\x06plugin\x18\x01 \x01(\tR\x06plugin\x12?\n" + + "\rjustification\x18\x02 \x01(\x0e2\x19.scalibr.VexJustificationR\rjustification\x12E\n" + + "\x10vuln_identifiers\x18\x03 \x01(\v2\x18.scalibr.VulnIdentifiersH\x00R\x0fvulnIdentifiers\x12,\n" + + "\x11matches_all_vulns\x18\x04 \x01(\bH\x00R\x0fmatchesAllVulnsB\r\n" + + "\vvuln_filter\"3\n" + + "\x0fVulnIdentifiers\x12 \n" + + "\videntifiers\x18\x01 \x03(\tR\videntifiers\"v\n" + + "\x1bFindingExploitabilitySignal\x12\x16\n" + + "\x06plugin\x18\x01 \x01(\tR\x06plugin\x12?\n" + + "\rjustification\x18\x02 \x01(\x0e2\x19.scalibr.VexJustificationR\rjustification\"\xc8\x01\n" + + "\x04Purl\x12\x12\n" + + "\x04purl\x18\x01 \x01(\tR\x04purl\x12\x12\n" + + "\x04type\x18\x02 \x01(\tR\x04type\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12\x18\n" + + "\aversion\x18\x04 \x01(\tR\aversion\x12\x1c\n" + + "\tnamespace\x18\x05 \x01(\tR\tnamespace\x122\n" + + "\n" + + "qualifiers\x18\x06 \x03(\v2\x12.scalibr.QualifierR\n" + + "qualifiers\x12\x18\n" + + "\asubpath\x18\a \x01(\tR\asubpath\"3\n" + + "\tQualifier\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\"\xfe\x01\n" + + "\x0eGenericFinding\x121\n" + + "\x03adv\x18\x01 \x01(\v2\x1f.scalibr.GenericFindingAdvisoryR\x03adv\x12<\n" + + "\x06target\x18\x02 \x01(\v2$.scalibr.GenericFindingTargetDetailsR\x06target\x12\x18\n" + + "\aplugins\x18\x04 \x03(\tR\aplugins\x12[\n" + + "\x16exploitability_signals\x18\x05 \x03(\v2$.scalibr.FindingExploitabilitySignalR\x15exploitabilitySignalsJ\x04\b\x03\x10\x04\"\xd2\x01\n" + + "\x16GenericFindingAdvisory\x12#\n" + + "\x02id\x18\x01 \x01(\v2\x13.scalibr.AdvisoryIdR\x02id\x12\x14\n" + + "\x05title\x18\x03 \x01(\tR\x05title\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12&\n" + + "\x0erecommendation\x18\x05 \x01(\tR\x0erecommendation\x12'\n" + + "\x03sev\x18\a \x01(\x0e2\x15.scalibr.SeverityEnumR\x03sevJ\x04\b\x02\x10\x03J\x04\b\x06\x10\a\"H\n" + + "\n" + + "AdvisoryId\x12\x1c\n" + + "\tpublisher\x18\x01 \x01(\tR\tpublisher\x12\x1c\n" + + "\treference\x18\x02 \x01(\tR\treference\"E\n" + + "\x1bGenericFindingTargetDetails\x12\x14\n" + + "\x05extra\x18\x04 \x01(\tR\x05extraJ\x04\b\x01\x10\x02J\x04\b\x02\x10\x03J\x04\b\x03\x10\x04\"R\n" + + "\x15PythonPackageMetadata\x12\x16\n" + + "\x06author\x18\x01 \x01(\tR\x06author\x12!\n" + + "\fauthor_email\x18\x02 \x01(\tR\vauthorEmail\"\xb3\x01\n" + + "\x1dJavascriptPackageJSONMetadata\x12\x16\n" + + "\x06author\x18\x01 \x01(\tR\x06author\x12 \n" + + "\vmaintainers\x18\x02 \x03(\tR\vmaintainers\x12\"\n" + + "\fcontributors\x18\x03 \x03(\tR\fcontributors\x12.\n" + + "\x06source\x18\x05 \x01(\x0e2\x16.scalibr.PackageSourceR\x06sourceJ\x04\b\x04\x10\x05\"\xe4\x01\n" + + "\x12APKPackageMetadata\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12\x1f\n" + + "\vorigin_name\x18\x02 \x01(\tR\n" + + "originName\x12\x13\n" + + "\x05os_id\x18\x03 \x01(\tR\x04osId\x12\"\n" + + "\ros_version_id\x18\x04 \x01(\tR\vosVersionId\x12\x1e\n" + + "\n" + + "maintainer\x18\x05 \x01(\tR\n" + + "maintainer\x12\"\n" + + "\farchitecture\x18\x06 \x01(\tR\farchitectureJ\x04\b\a\x10\bR\alicense\"\xee\x02\n" + + "\x13DPKGPackageMetadata\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12\x1f\n" + + "\vsource_name\x18\x02 \x01(\tR\n" + + "sourceName\x12%\n" + + "\x0esource_version\x18\x03 \x01(\tR\rsourceVersion\x12'\n" + + "\x0fpackage_version\x18\x04 \x01(\tR\x0epackageVersion\x12\x13\n" + + "\x05os_id\x18\x05 \x01(\tR\x04osId\x12.\n" + + "\x13os_version_codename\x18\x06 \x01(\tR\x11osVersionCodename\x12\"\n" + + "\ros_version_id\x18\a \x01(\tR\vosVersionId\x12\x1e\n" + + "\n" + + "maintainer\x18\b \x01(\tR\n" + + "maintainer\x12\"\n" + + "\farchitecture\x18\t \x01(\tR\farchitecture\x12\x16\n" + + "\x06status\x18\n" + + " \x01(\tR\x06status\"\xcf\x02\n" + + "\x12RPMPackageMetadata\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12\x1d\n" + + "\n" + + "source_rpm\x18\x02 \x01(\tR\tsourceRpm\x12\x14\n" + + "\x05epoch\x18\x03 \x01(\x05R\x05epoch\x12\x13\n" + + "\x05os_id\x18\x04 \x01(\tR\x04osId\x12\"\n" + + "\ros_version_id\x18\x05 \x01(\tR\vosVersionId\x12\x1e\n" + + "\vos_build_id\x18\x06 \x01(\tR\tosBuildId\x12\x17\n" + + "\aos_name\x18\a \x01(\tR\x06osName\x12\x16\n" + + "\x06vendor\x18\b \x01(\tR\x06vendor\x12\"\n" + + "\farchitecture\x18\t \x01(\tR\farchitecture\x12$\n" + + "\x0eos_pretty_name\x18\v \x01(\tR\fosPrettyNameJ\x04\b\n" + + "\x10\vR\alicense\"\xc8\x01\n" + + "\x12COSPackageMetadata\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\x12\x1a\n" + + "\bcategory\x18\x03 \x01(\tR\bcategory\x12\x1d\n" + + "\n" + + "os_version\x18\x04 \x01(\tR\tosVersion\x12\"\n" + + "\ros_version_id\x18\x05 \x01(\tR\vosVersionId\x12%\n" + + "\x0eebuild_version\x18\x06 \x01(\tR\rebuildVersion\"\x80\x02\n" + + "\x15PACMANPackageMetadata\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12'\n" + + "\x0fpackage_version\x18\x02 \x01(\tR\x0epackageVersion\x12\x13\n" + + "\x05os_id\x18\x03 \x01(\tR\x04osId\x12\"\n" + + "\ros_version_id\x18\x04 \x01(\tR\vosVersionId\x12/\n" + + "\x13package_description\x18\x05 \x01(\tR\x12packageDescription\x121\n" + + "\x14package_dependencies\x18\x06 \x01(\tR\x13packageDependencies\"\x93\x02\n" + + "\x12NixPackageMetadata\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12'\n" + + "\x0fpackage_version\x18\x02 \x01(\tR\x0epackageVersion\x12!\n" + + "\fpackage_hash\x18\x03 \x01(\tR\vpackageHash\x12%\n" + + "\x0epackage_output\x18\x04 \x01(\tR\rpackageOutput\x12\x13\n" + + "\x05os_id\x18\x05 \x01(\tR\x04osId\x12.\n" + + "\x13os_version_codename\x18\x06 \x01(\tR\x11osVersionCodename\x12\"\n" + + "\ros_version_id\x18\a \x01(\tR\vosVersionId\"r\n" + + "\x10DEPSJSONMetadata\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12'\n" + + "\x0fpackage_version\x18\x02 \x01(\tR\x0epackageVersion\x12\x12\n" + + "\x04type\x18\x03 \x01(\tR\x04type\"\xfc\x01\n" + + "\x13SNAPPackageMetadata\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\x12\x14\n" + + "\x05grade\x18\x03 \x01(\tR\x05grade\x12\x12\n" + + "\x04type\x18\x04 \x01(\tR\x04type\x12$\n" + + "\rarchitectures\x18\x05 \x03(\tR\rarchitectures\x12\x13\n" + + "\x05os_id\x18\x06 \x01(\tR\x04osId\x12.\n" + + "\x13os_version_codename\x18\a \x01(\tR\x11osVersionCodename\x12\"\n" + + "\ros_version_id\x18\b \x01(\tR\vosVersionId\"\x9d\x01\n" + + "\x16PortagePackageMetadata\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12'\n" + + "\x0fpackage_version\x18\x02 \x01(\tR\x0epackageVersion\x12\x13\n" + + "\x05os_id\x18\x03 \x01(\tR\x04osId\x12\"\n" + + "\ros_version_id\x18\x04 \x01(\tR\vosVersionId\"\xb6\x02\n" + + "\x16FlatpakPackageMetadata\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12\x1d\n" + + "\n" + + "package_id\x18\x02 \x01(\tR\tpackageId\x12'\n" + + "\x0fpackage_version\x18\x03 \x01(\tR\x0epackageVersion\x12!\n" + + "\frelease_date\x18\x04 \x01(\tR\vreleaseDate\x12\x17\n" + + "\aos_name\x18\x05 \x01(\tR\x06osName\x12\x13\n" + + "\x05os_id\x18\x06 \x01(\tR\x04osId\x12\"\n" + + "\ros_version_id\x18\a \x01(\tR\vosVersionId\x12\x1e\n" + + "\vos_build_id\x18\b \x01(\tR\tosBuildId\x12\x1c\n" + + "\tdeveloper\x18\t \x01(\tR\tdeveloper\"\xe8\x02\n" + + "\x14KernelModuleMetadata\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12'\n" + + "\x0fpackage_version\x18\x02 \x01(\tR\x0epackageVersion\x12)\n" + + "\x10package_vermagic\x18\x03 \x01(\tR\x0fpackageVermagic\x12I\n" + + "!package_source_version_identifier\x18\x04 \x01(\tR\x1epackageSourceVersionIdentifier\x12\x13\n" + + "\x05os_id\x18\x05 \x01(\tR\x04osId\x12.\n" + + "\x13os_version_codename\x18\x06 \x01(\tR\x11osVersionCodename\x12\"\n" + + "\ros_version_id\x18\a \x01(\tR\vosVersionId\x12%\n" + + "\x0epackage_author\x18\b \x01(\tR\rpackageAuthor\"\x8e\x03\n" + + "\x0fVmlinuzMetadata\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\x12\"\n" + + "\farchitecture\x18\x03 \x01(\tR\farchitecture\x12)\n" + + "\x10extended_version\x18\x04 \x01(\tR\x0fextendedVersion\x12\x16\n" + + "\x06format\x18\x05 \x01(\tR\x06format\x12\x1f\n" + + "\vswap_device\x18\x06 \x01(\x05R\n" + + "swapDevice\x12\x1f\n" + + "\vroot_device\x18\a \x01(\x05R\n" + + "rootDevice\x12\x1d\n" + + "\n" + + "video_mode\x18\b \x01(\tR\tvideoMode\x12\x13\n" + + "\x05os_id\x18\t \x01(\tR\x04osId\x12.\n" + + "\x13os_version_codename\x18\n" + + " \x01(\tR\x11osVersionCodename\x12\"\n" + + "\ros_version_id\x18\v \x01(\tR\vosVersionId\x12\x1c\n" + + "\n" + + "rw_root_fs\x18\f \x01(\bR\brwRootFs\"\xbb\x03\n" + + "\x0fMacAppsMetadata\x12.\n" + + "\x13bundle_display_name\x18\x01 \x01(\tR\x11bundleDisplayName\x12+\n" + + "\x11bundle_identifier\x18\x02 \x01(\tR\x10bundleIdentifier\x12=\n" + + "\x1bbundle_short_version_string\x18\x03 \x01(\tR\x18bundleShortVersionString\x12+\n" + + "\x11bundle_executable\x18\x04 \x01(\tR\x10bundleExecutable\x12\x1f\n" + + "\vbundle_name\x18\x05 \x01(\tR\n" + + "bundleName\x12.\n" + + "\x13bundle_package_type\x18\x06 \x01(\tR\x11bundlePackageType\x12)\n" + + "\x10bundle_signature\x18\a \x01(\tR\x0fbundleSignature\x12%\n" + + "\x0ebundle_version\x18\b \x01(\tR\rbundleVersion\x12\x1d\n" + + "\n" + + "product_id\x18\t \x01(\tR\tproductId\x12\x1d\n" + + "\n" + + "update_url\x18\n" + + " \x01(\tR\tupdateUrl\"\x90\x01\n" + + "\x17MacportsPackageMetadata\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12'\n" + + "\x0fpackage_version\x18\x02 \x01(\tR\x0epackageVersion\x12)\n" + + "\x10package_revision\x18\x03 \x01(\tR\x0fpackageRevision\"L\n" + + "\x13SPDXPackageMetadata\x12!\n" + + "\x04purl\x18\x01 \x01(\v2\r.scalibr.PurlR\x04purl\x12\x12\n" + + "\x04cpes\x18\x02 \x03(\tR\x04cpes\"K\n" + + "\x12CDXPackageMetadata\x12!\n" + + "\x04purl\x18\x01 \x01(\v2\r.scalibr.PurlR\x04purl\x12\x12\n" + + "\x04cpes\x18\x02 \x03(\tR\x04cpes\"e\n" + + "\x13JavaArchiveMetadata\x12\x1f\n" + + "\vartifact_id\x18\x02 \x01(\tR\n" + + "artifactId\x12\x19\n" + + "\bgroup_id\x18\x03 \x01(\tR\agroupId\x12\x12\n" + + "\x04sha1\x18\x04 \x01(\tR\x04sha1\"\x9d\x01\n" + + "\x14JavaLockfileMetadata\x12\x1f\n" + + "\vartifact_id\x18\x01 \x01(\tR\n" + + "artifactId\x12\x19\n" + + "\bgroup_id\x18\x02 \x01(\tR\agroupId\x12$\n" + + "\x0edep_group_vals\x18\x03 \x03(\tR\fdepGroupVals\x12#\n" + + "\ris_transitive\x18\x04 \x01(\bR\fisTransitive\"\x86\x01\n" + + "\x12OSVPackageMetadata\x12\x1b\n" + + "\tpurl_type\x18\x01 \x01(\tR\bpurlType\x12\x16\n" + + "\x06commit\x18\x02 \x01(\tR\x06commit\x12\x1c\n" + + "\tecosystem\x18\x03 \x01(\tR\tecosystem\x12\x1d\n" + + "\n" + + "compare_as\x18\x04 \x01(\tR\tcompareAs\"\xa8\x01\n" + + "\x1aPythonRequirementsMetadata\x129\n" + + "\x19hash_checking_mode_values\x18\x01 \x03(\tR\x16hashCheckingModeValues\x12-\n" + + "\x12version_comparator\x18\x02 \x01(\tR\x11versionComparator\x12 \n" + + "\vrequirement\x18\x03 \x01(\tR\vrequirement\"D\n" + + "\x13PythonSetupMetadata\x12-\n" + + "\x12version_comparator\x18\x02 \x01(\tR\x11versionComparator\"e\n" + + "\x10NetportsMetadata\x12\x12\n" + + "\x04port\x18\x01 \x01(\rR\x04port\x12\x1a\n" + + "\bprotocol\x18\x02 \x01(\tR\bprotocol\x12!\n" + + "\fcommand_line\x18\x03 \x01(\tR\vcommandLine\"\x9c\x03\n" + + "\x1bContainerdContainerMetadata\x12%\n" + + "\x0enamespace_name\x18\x01 \x01(\tR\rnamespaceName\x12\x1d\n" + + "\n" + + "image_name\x18\x02 \x01(\tR\timageName\x12!\n" + + "\fimage_digest\x18\x03 \x01(\tR\vimageDigest\x12\x18\n" + + "\aruntime\x18\x04 \x01(\tR\aruntime\x12\x10\n" + + "\x03pid\x18\x05 \x01(\x05R\x03pid\x12 \n" + + "\vsnapshotter\x18\x06 \x01(\tR\vsnapshotter\x12!\n" + + "\fsnapshot_key\x18\a \x01(\tR\vsnapshotKey\x12\x1b\n" + + "\tlower_dir\x18\b \x01(\tR\blowerDir\x12\x1b\n" + + "\tupper_dir\x18\t \x01(\tR\bupperDir\x12\x19\n" + + "\bwork_dir\x18\n" + + " \x01(\tR\aworkDir\x12\x0e\n" + + "\x02id\x18\v \x01(\tR\x02id\x12\x19\n" + + "\bpod_name\x18\f \x01(\tR\apodName\x12#\n" + + "\rpod_namespace\x18\r \x01(\tR\fpodNamespace\"\xea\x01\n" + + "\"ContainerdRuntimeContainerMetadata\x12%\n" + + "\x0enamespace_name\x18\x01 \x01(\tR\rnamespaceName\x12\x1d\n" + + "\n" + + "image_name\x18\x02 \x01(\tR\timageName\x12!\n" + + "\fimage_digest\x18\x03 \x01(\tR\vimageDigest\x12\x18\n" + + "\aruntime\x18\x04 \x01(\tR\aruntime\x12\x0e\n" + + "\x02id\x18\x05 \x01(\tR\x02id\x12\x10\n" + + "\x03pid\x18\x06 \x01(\x05R\x03pid\x12\x1f\n" + + "\vrootfs_path\x18\a \x01(\tR\n" + + "rootfsPath\"O\n" + + "\x10WindowsOSVersion\x12\x18\n" + + "\aproduct\x18\x01 \x01(\tR\aproduct\x12!\n" + + "\ffull_version\x18\x02 \x01(\tR\vfullVersion\"\x19\n" + + "\x17HomebrewPackageMetadata\"\xc0\x02\n" + + "\x18ChromeExtensionsMetadata\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x12!\n" + + "\fauthor_email\x18\x03 \x01(\tR\vauthorEmail\x12)\n" + + "\x10host_permissions\x18\x04 \x03(\tR\x0fhostPermissions\x12)\n" + + "\x10manifest_version\x18\x05 \x01(\x05R\x0fmanifestVersion\x124\n" + + "\x16minimum_chrome_version\x18\x06 \x01(\tR\x14minimumChromeVersion\x12 \n" + + "\vpermissions\x18\a \x03(\tR\vpermissions\x12\x1d\n" + + "\n" + + "update_url\x18\b \x01(\tR\tupdateUrl\"\xac\x02\n" + + "\x18VSCodeExtensionsMetadata\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fpublisher_id\x18\x02 \x01(\tR\vpublisherId\x124\n" + + "\x16publisher_display_name\x18\x03 \x01(\tR\x14publisherDisplayName\x12'\n" + + "\x0ftarget_platform\x18\x04 \x01(\tR\x0etargetPlatform\x12\x18\n" + + "\aupdated\x18\x05 \x01(\bR\aupdated\x123\n" + + "\x16is_pre_release_version\x18\x06 \x01(\bR\x13isPreReleaseVersion\x12/\n" + + "\x13installed_timestamp\x18\a \x01(\x03R\x12installedTimestamp\"\xba\x03\n" + + "\x0ePodmanMetadata\x12N\n" + + "\rexposed_ports\x18\x01 \x03(\v2).scalibr.PodmanMetadata.ExposedPortsEntryR\fexposedPorts\x12\x10\n" + + "\x03pid\x18\x02 \x01(\x05R\x03pid\x12%\n" + + "\x0enamespace_name\x18\x03 \x01(\tR\rnamespaceName\x12=\n" + + "\fstarted_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\vstartedTime\x12?\n" + + "\rfinished_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\ffinishedTime\x12\x16\n" + + "\x06status\x18\x06 \x01(\tR\x06status\x12\x1b\n" + + "\texit_code\x18\a \x01(\x05R\bexitCode\x12\x16\n" + + "\x06exited\x18\b \x01(\bR\x06exited\x1aR\n" + + "\x11ExposedPortsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\rR\x03key\x12'\n" + + "\x05value\x18\x02 \x01(\v2\x11.scalibr.ProtocolR\x05value:\x028\x01\" \n" + + "\bProtocol\x12\x14\n" + + "\x05names\x18\x01 \x03(\tR\x05names\"\x97\x01\n" + + "\x18DockerContainersMetadata\x12\x1d\n" + + "\n" + + "image_name\x18\x01 \x01(\tR\timageName\x12!\n" + + "\fimage_digest\x18\x02 \x01(\tR\vimageDigest\x12\x0e\n" + + "\x02id\x18\x03 \x01(\tR\x02id\x12)\n" + + "\x05ports\x18\x04 \x03(\v2\x13.scalibr.DockerPortR\x05ports\"N\n" + + "\fAsdfMetadata\x12\x1b\n" + + "\ttool_name\x18\x01 \x01(\tR\btoolName\x12!\n" + + "\ftool_version\x18\x02 \x01(\tR\vtoolVersion\"4\n" + + "\vNvmMetadata\x12%\n" + + "\x0enodejs_version\x18\x02 \x01(\tR\rnodejsVersion\"<\n" + + "\x13NodeVersionMetadata\x12%\n" + + "\x0enodejs_version\x18\x02 \x01(\tR\rnodejsVersion\"t\n" + + "\n" + + "DockerPort\x12\x0e\n" + + "\x02ip\x18\x01 \x01(\tR\x02ip\x12!\n" + + "\fprivate_port\x18\x02 \x01(\rR\vprivatePort\x12\x1f\n" + + "\vpublic_port\x18\x03 \x01(\rR\n" + + "publicPort\x12\x12\n" + + "\x04type\x18\x04 \x01(\tR\x04type\"\xb9\x01\n" + + "\x15WingetPackageMetadata\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\x12\x18\n" + + "\aversion\x18\x03 \x01(\tR\aversion\x12\x18\n" + + "\amoniker\x18\x04 \x01(\tR\amoniker\x12\x18\n" + + "\achannel\x18\x05 \x01(\tR\achannel\x12\x12\n" + + "\x04tags\x18\x06 \x03(\tR\x04tags\x12\x1a\n" + + "\bcommands\x18\a \x03(\tR\bcommands\"\x95\x01\n" + + "\x06Secret\x12+\n" + + "\x06secret\x18\x01 \x01(\v2\x13.scalibr.SecretDataR\x06secret\x12-\n" + + "\x06status\x18\x02 \x01(\v2\x15.scalibr.SecretStatusR\x06status\x12/\n" + + "\tlocations\x18\x03 \x03(\v2\x11.scalibr.LocationR\tlocations\"\x96:\n" + + "\n" + + "SecretData\x124\n" + + "\x06gcpsak\x18\x01 \x01(\v2\x1a.scalibr.SecretData.GCPSAKH\x00R\x06gcpsak\x12m\n" + + "\x1banthropic_workspace_api_key\x18\x02 \x01(\v2,.scalibr.SecretData.AnthropicWorkspaceAPIKeyH\x00R\x18anthropicWorkspaceApiKey\x12a\n" + + "\x17anthropic_model_api_key\x18\x03 \x01(\v2(.scalibr.SecretData.AnthropicModelAPIKeyH\x00R\x14anthropicModelApiKey\x12F\n" + + "\n" + + "perplexity\x18\x04 \x01(\v2$.scalibr.SecretData.PerplexityAPIKeyH\x00R\n" + + "perplexity\x12A\n" + + "\vprivate_key\x18\x05 \x01(\v2\x1e.scalibr.SecretData.PrivateKeyH\x00R\n" + + "privateKey\x12L\n" + + "\x10grok_xai_api_key\x18\x06 \x01(\v2!.scalibr.SecretData.GrokXAIAPIKeyH\x00R\rgrokXaiApiKey\x12k\n" + + "\x1bgrok_xai_management_api_key\x18\a \x01(\v2+.scalibr.SecretData.GrokXAIManagementAPIKeyH\x00R\x17grokXaiManagementApiKey\x12H\n" + + "\x0edocker_hub_pat\x18\b \x01(\v2 .scalibr.SecretData.DockerHubPatH\x00R\fdockerHubPat\x12N\n" + + "\fdigitalocean\x18\t \x01(\v2(.scalibr.SecretData.DigitalOceanAPITokenH\x00R\fdigitalocean\x12H\n" + + "\x0eopenai_api_key\x18\n" + + " \x01(\v2 .scalibr.SecretData.OpenAIAPIKeyH\x00R\fopenaiApiKey\x12K\n" + + "\x0fpostman_api_key\x18\v \x01(\v2!.scalibr.SecretData.PostmanAPIKeyH\x00R\rpostmanApiKey\x12y\n" + + "\x1fpostman_collection_access_token\x18\f \x01(\v20.scalibr.SecretData.PostmanCollectionAccessTokenH\x00R\x1cpostmanCollectionAccessToken\x12T\n" + + "\x12azure_access_token\x18\r \x01(\v2$.scalibr.SecretData.AzureAccessTokenH\x00R\x10azureAccessToken\x12Z\n" + + "\x14azure_identity_token\x18\x0e \x01(\v2&.scalibr.SecretData.AzureIdentityTokenH\x00R\x12azureIdentityToken\x12A\n" + + "\vtink_keyset\x18\x0f \x01(\v2\x1e.scalibr.SecretData.TinkKeysetH\x00R\n" + + "tinkKeyset\x12>\n" + + "\n" + + "gitlab_pat\x18\x10 \x01(\v2\x1d.scalibr.SecretData.GitlabPatH\x00R\tgitlabPat\x12]\n" + + "\x15hashicorp_vault_token\x18\x11 \x01(\v2'.scalibr.SecretData.HashiCorpVaultTokenH\x00R\x13hashicorpVaultToken\x12\x86\x01\n" + + "$hashicorp_vault_app_role_credentials\x18\x12 \x01(\v24.scalibr.SecretData.HashiCorpVaultAppRoleCredentialsH\x00R hashicorpVaultAppRoleCredentials\x12?\n" + + "\vgcp_api_key\x18\x13 \x01(\v2\x1d.scalibr.SecretData.GCPAPIKeyH\x00R\tgcpApiKey\x12G\n" + + "\n" + + "hugginface\x18\x14 \x01(\v2%.scalibr.SecretData.HuggingfaceAPIKeyH\x00R\n" + + "hugginface\x12d\n" + + "\x18github_app_refresh_token\x18\x15 \x01(\v2).scalibr.SecretData.GithubAppRefreshTokenH\x00R\x15githubAppRefreshToken\x12Q\n" + + "\x11stripe_secret_key\x18\x16 \x01(\v2#.scalibr.SecretData.StripeSecretKeyH\x00R\x0fstripeSecretKey\x12]\n" + + "\x15stripe_restricted_key\x18\x17 \x01(\v2'.scalibr.SecretData.StripeRestrictedKeyH\x00R\x13stripeRestrictedKey\x12]\n" + + "\x15stripe_webhook_secret\x18\x18 \x01(\v2'.scalibr.SecretData.StripeWebhookSecretH\x00R\x13stripeWebhookSecret\x12s\n" + + "\x1dgcp_oauth2_client_credentials\x18\x19 \x01(\v2..scalibr.SecretData.GCPOAuth2ClientCredentialsH\x00R\x1agcpOauth2ClientCredentials\x12a\n" + + "\x17gcp_oauth2_access_token\x18\x1a \x01(\v2(.scalibr.SecretData.GCPOAuth2AccessTokenH\x00R\x14gcpOauth2AccessToken\x12{\n" + + "!github_app_server_to_server_token\x18\x1b \x01(\v20.scalibr.SecretData.GithubAppServerToServerTokenH\x00R\x1cgithubAppServerToServerToken\x12\x86\x01\n" + + "$github_classic_personal_access_token\x18\x1c \x01(\v24.scalibr.SecretData.GithubClassicPersonalAccessTokenH\x00R githubClassicPersonalAccessToken\x12\x93\x01\n" + + ")github_fine_grained_personal_access_token\x18\x1d \x01(\v28.scalibr.SecretData.GithubFineGrainedPersonalAccessTokenH\x00R$githubFineGrainedPersonalAccessToken\x12u\n" + + "\x1fgithub_app_user_to_server_token\x18\x1e \x01(\v2..scalibr.SecretData.GithubAppUserToServerTokenH\x00R\x1agithubAppUserToServerToken\x12T\n" + + "\x12github_oauth_token\x18\x1f \x01(\v2$.scalibr.SecretData.GithubOAuthTokenH\x00R\x10githubOauthToken\x12t\n" + + "\x1eslack_app_config_refresh_token\x18! \x01(\v2..scalibr.SecretData.SlackAppConfigRefreshTokenH\x00R\x1aslackAppConfigRefreshToken\x12[\n" + + "\x15slack_app_level_token\x18\" \x01(\v2&.scalibr.SecretData.SlackAppLevelTokenH\x00R\x12slackAppLevelToken\x12q\n" + + "\x1dslack_app_config_access_token\x18# \x01(\v2-.scalibr.SecretData.SlackAppConfigAccessTokenH\x00R\x19slackAppConfigAccessToken\x12z\n" + + " azure_storage_account_access_key\x18$ \x01(\v20.scalibr.SecretData.AzureStorageAccountAccessKeyH\x00R\x1cazureStorageAccountAccessKey\x12\x88\x01\n" + + "$hashicorp_cloud_platform_credentials\x18% \x01(\v25.scalibr.SecretData.HashiCorpCloudPlatformCredentialsH\x00R!hashicorpCloudPlatformCredentials\x12v\n" + + "\x1ehashicorp_cloud_platform_token\x18& \x01(\v2/.scalibr.SecretData.HashiCorpCloudPlatformTokenH\x00R\x1bhashicorpCloudPlatformToken\x12`\n" + + "\x16onepassword_secret_key\x18' \x01(\v2(.scalibr.SecretData.OnePasswordSecretKeyH\x00R\x14onepasswordSecretKey\x12i\n" + + "\x19onepassword_service_token\x18( \x01(\v2+.scalibr.SecretData.OnePasswordServiceTokenH\x00R\x17onepasswordServiceToken\x12i\n" + + "\x19onepassword_recovery_code\x18) \x01(\v2+.scalibr.SecretData.OnePasswordRecoveryCodeH\x00R\x17onepasswordRecoveryCode\x12i\n" + + "\x19onepassword_connect_token\x18* \x01(\v2+.scalibr.SecretData.OnePasswordConnectTokenH\x00R\x17onepasswordConnectToken\x124\n" + + "\x06pgpass\x18+ \x01(\v2\x1a.scalibr.SecretData.PgpassH\x00R\x06pgpass\x126\n" + + "\x04pypi\x18, \x01(\v2 .scalibr.SecretData.PyPIAPITokenH\x00R\x04pypi\x12U\n" + + "\x13crates_io_api_token\x18- \x01(\v2$.scalibr.SecretData.CratesIOAPITokenH\x00R\x10cratesIoApiToken\x1a\xb0\x03\n" + + "\x06GCPSAK\x12$\n" + + "\x0eprivate_key_id\x18\x01 \x01(\tR\fprivateKeyId\x12!\n" + + "\fclient_email\x18\x02 \x01(\tR\vclientEmail\x12\x1c\n" + + "\tsignature\x18\x03 \x01(\fR\tsignature\x12\x12\n" + + "\x04type\x18\x04 \x01(\tR\x04type\x12\x1d\n" + + "\n" + + "project_id\x18\x05 \x01(\tR\tprojectId\x12\x1b\n" + + "\tclient_id\x18\x06 \x01(\tR\bclientId\x12\x19\n" + + "\bauth_uri\x18\a \x01(\tR\aauthUri\x12\x1b\n" + + "\ttoken_uri\x18\b \x01(\tR\btokenUri\x12<\n" + + "\x1bauth_provider_x509_cert_url\x18\t \x01(\tR\x17authProviderX509CertUrl\x12/\n" + + "\x14client_x509_cert_url\x18\n" + + " \x01(\tR\x11clientX509CertUrl\x12'\n" + + "\x0funiverse_domain\x18\v \x01(\tR\x0euniverseDomain\x12\x1f\n" + + "\vprivate_key\x18\f \x01(\tR\n" + + "privateKey\x1a,\n" + + "\x18AnthropicWorkspaceAPIKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a(\n" + + "\x14AnthropicModelAPIKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a$\n" + + "\x10PerplexityAPIKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a!\n" + + "\rGrokXAIAPIKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a+\n" + + "\x17GrokXAIManagementAPIKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a0\n" + + "\x1cAzureStorageAccountAccessKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a4\n" + + "\n" + + "PrivateKey\x12\x14\n" + + "\x05block\x18\x01 \x01(\tR\x05block\x12\x10\n" + + "\x03der\x18\x02 \x01(\fR\x03der\x1a(\n" + + "\x10AzureAccessToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a\x8c\x01\n" + + "\x06Pgpass\x12\x1a\n" + + "\bhostname\x18\x01 \x01(\tR\bhostname\x12\x12\n" + + "\x04port\x18\x02 \x01(\tR\x04port\x12\x1a\n" + + "\bdatabase\x18\x03 \x01(\tR\bdatabase\x12\x1a\n" + + "\busername\x18\x04 \x01(\tR\busername\x12\x1a\n" + + "\bpassword\x18\x05 \x01(\tR\bpassword\x1a*\n" + + "\x12AzureIdentityToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a \n" + + "\fOpenAIAPIKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a<\n" + + "\fDockerHubPat\x12\x10\n" + + "\x03pat\x18\x01 \x01(\tR\x03pat\x12\x1a\n" + + "\busername\x18\x02 \x01(\tR\busername\x1a\x1d\n" + + "\tGitlabPat\x12\x10\n" + + "\x03pat\x18\x01 \x01(\tR\x03pat\x1a*\n" + + "\x12SlackAppLevelToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a1\n" + + "\x19SlackAppConfigAccessToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a2\n" + + "\x1aSlackAppConfigRefreshToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a!\n" + + "\rPostmanAPIKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a0\n" + + "\x1cPostmanCollectionAccessToken\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a(\n" + + "\x14DigitalOceanAPIToken\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a(\n" + + "\x10CratesIOAPIToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a-\n" + + "\x15GithubAppRefreshToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a4\n" + + "\x1cGithubAppServerToServerToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a8\n" + + " GithubClassicPersonalAccessToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a<\n" + + "$GithubFineGrainedPersonalAccessToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a(\n" + + "\x10GithubOAuthToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a2\n" + + "\x1aGithubAppUserToServerToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a$\n" + + "\fPyPIAPIToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a&\n" + + "\n" + + "TinkKeyset\x12\x18\n" + + "\acontent\x18\x01 \x01(\tR\acontent\x1a+\n" + + "\x13HashiCorpVaultToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1ah\n" + + " HashiCorpVaultAppRoleCredentials\x12\x17\n" + + "\arole_id\x18\x01 \x01(\tR\x06roleId\x12\x1b\n" + + "\tsecret_id\x18\x02 \x01(\tR\bsecretId\x12\x0e\n" + + "\x02id\x18\x03 \x01(\tR\x02id\x1a\x1d\n" + + "\tGCPAPIKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1ag\n" + + "\x11HuggingfaceAPIKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x12\n" + + "\x04role\x18\x02 \x01(\tR\x04role\x12,\n" + + "\x12fine_grained_scope\x18\x03 \x03(\tR\x10fineGrainedScope\x1ae\n" + + "!HashiCorpCloudPlatformCredentials\x12\x1b\n" + + "\tclient_id\x18\x01 \x01(\tR\bclientId\x12#\n" + + "\rclient_secret\x18\x02 \x01(\tR\fclientSecret\x1a\xbd\x02\n" + + "\x1bHashiCorpCloudPlatformToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x12'\n" + + "\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x1d\n" + + "\n" + + "project_id\x18\x03 \x01(\tR\tprojectId\x12!\n" + + "\fprincipal_id\x18\x04 \x01(\tR\vprincipalId\x12%\n" + + "\x0eprincipal_type\x18\x05 \x01(\tR\rprincipalType\x12!\n" + + "\fservice_name\x18\x06 \x01(\tR\vserviceName\x12\x17\n" + + "\auser_id\x18\a \x01(\tR\x06userId\x12\x1d\n" + + "\n" + + "user_email\x18\b \x01(\tR\tuserEmail\x12\x1b\n" + + "\tgroup_ids\x18\t \x03(\tR\bgroupIds\x1a#\n" + + "\x0fStripeSecretKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a'\n" + + "\x13StripeRestrictedKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a'\n" + + "\x13StripeWebhookSecret\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1aD\n" + + "\x1aGCPOAuth2ClientCredentials\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" + + "\x06secret\x18\x02 \x01(\tR\x06secret\x1a,\n" + + "\x14GCPOAuth2AccessToken\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x1a\xb0\x02\n" + + "\x17OnePasswordConnectToken\x12\x1f\n" + + "\vdevice_uuid\x18\x01 \x01(\tR\n" + + "deviceUuid\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\x12%\n" + + "\x0eencrypted_data\x18\x03 \x01(\tR\rencryptedData\x12*\n" + + "\x11encryption_key_id\x18\x04 \x01(\tR\x0fencryptionKeyId\x12\x0e\n" + + "\x02iv\x18\x05 \x01(\tR\x02iv\x12\"\n" + + "\runique_key_id\x18\x06 \x01(\tR\vuniqueKeyId\x12#\n" + + "\rverifier_salt\x18\a \x01(\tR\fverifierSalt\x12.\n" + + "\x13verifier_local_hash\x18\b \x01(\tR\x11verifierLocalHash\x1a(\n" + + "\x14OnePasswordSecretKey\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a+\n" + + "\x17OnePasswordServiceToken\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x1a+\n" + + "\x17OnePasswordRecoveryCode\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03keyB\b\n" + + "\x06secret\"\xf8\x01\n" + + "\fSecretStatus\x12>\n" + + "\x06status\x18\x01 \x01(\x0e2&.scalibr.SecretStatus.SecretStatusEnumR\x06status\x12=\n" + + "\flast_updated\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\vlastUpdated\"i\n" + + "\x10SecretStatusEnum\x12\x0f\n" + + "\vUNSPECIFIED\x10\x00\x12\x0f\n" + + "\aUNKNOWN\x10\x01\x1a\x02\b\x01\x12\v\n" + + "\aINVALID\x10\x02\x12\t\n" + + "\x05VALID\x10\x03\x12\x0f\n" + + "\vUNSUPPORTED\x10\x04\x12\n" + + "\n" + + "\x06FAILED\x10\x05\"\xc8\x02\n" + + "\bLocation\x12/\n" + + "\bfilepath\x18\x01 \x01(\v2\x11.scalibr.FilepathH\x00R\bfilepath\x12b\n" + + "\x1bfilepath_with_layer_details\x18\x02 \x01(\v2!.scalibr.FilepathWithLayerDetailsH\x00R\x18filepathWithLayerDetails\x12Q\n" + + "\x14environment_variable\x18\x03 \x01(\v2\x1c.scalibr.EnvironmentVariableH\x00R\x13environmentVariable\x12H\n" + + "\x11container_command\x18\x04 \x01(\v2\x19.scalibr.ContainerCommandH\x00R\x10containerCommandB\n" + + "\n" + + "\blocation\"\x1e\n" + + "\bFilepath\x12\x12\n" + + "\x04path\x18\x01 \x01(\tR\x04path\"j\n" + + "\x18FilepathWithLayerDetails\x12\x12\n" + + "\x04path\x18\x01 \x01(\tR\x04path\x12:\n" + + "\rlayer_details\x18\x02 \x01(\v2\x15.scalibr.LayerDetailsR\flayerDetails\")\n" + + "\x13EnvironmentVariable\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\",\n" + + "\x10ContainerCommand\x12\x18\n" + + "\acommand\x18\x01 \x01(\tR\acommand\"\xb3\x02\n" + + "\x16ContainerImageMetadata\x12\x14\n" + + "\x05index\x18\x01 \x01(\x05R\x05index\x12=\n" + + "\x0elayer_metadata\x18\x02 \x03(\v2\x16.scalibr.LayerMetadataR\rlayerMetadata\x12C\n" + + "\x11base_image_chains\x18\x03 \x03(\v2\x17.scalibr.BaseImageChainR\x0fbaseImageChains\x12D\n" + + "\aos_info\x18\x04 \x03(\v2+.scalibr.ContainerImageMetadata.OsInfoEntryR\x06osInfo\x1a9\n" + + "\vOsInfoEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"g\n" + + "\x0eBaseImageChain\x12:\n" + + "\vbase_images\x18\x01 \x03(\v2\x19.scalibr.BaseImageDetailsR\n" + + "baseImages\x12\x19\n" + + "\bchain_id\x18\x02 \x01(\tR\achainId\"f\n" + + "\x10BaseImageDetails\x12\x1e\n" + + "\n" + + "repository\x18\x01 \x01(\tR\n" + + "repository\x12\x1a\n" + + "\bregistry\x18\x02 \x01(\tR\bregistry\x12\x16\n" + + "\x06plugin\x18\x03 \x01(\tR\x06plugin\"\xb8\x01\n" + + "\rLayerMetadata\x12\x14\n" + + "\x05index\x18\x01 \x01(\x05R\x05index\x12\x17\n" + + "\adiff_id\x18\x02 \x01(\tR\x06diffId\x12\x19\n" + + "\bchain_id\x18\x03 \x01(\tR\achainId\x12\x18\n" + + "\acommand\x18\x04 \x01(\tR\acommand\x12\x19\n" + + "\bis_empty\x18\x05 \x01(\bR\aisEmpty\x12(\n" + + "\x10base_image_index\x18\x06 \x01(\x05R\x0ebaseImageIndex*\xf7\x01\n" + + "\x10VexJustification\x12!\n" + + "\x1dVEX_JUSTIFICATION_UNSPECIFIED\x10\x00\x12\x19\n" + + "\x15COMPONENT_NOT_PRESENT\x10\x01\x12\x1f\n" + + "\x1bVULNERABLE_CODE_NOT_PRESENT\x10\x02\x12'\n" + + "#VULNERABLE_CODE_NOT_IN_EXECUTE_PATH\x10\x03\x125\n" + + "1VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY\x10\x04\x12$\n" + + " INLINE_MITIGATION_ALREADY_EXISTS\x10\x05*b\n" + + "\fSeverityEnum\x12\x18\n" + + "\x14SEVERITY_UNSPECIFIED\x10\x00\x12\v\n" + + "\aMINIMAL\x10\x01\x12\a\n" + + "\x03LOW\x10\x02\x12\n" + + "\n" + + "\x06MEDIUM\x10\x03\x12\b\n" + + "\x04HIGH\x10\x04\x12\f\n" + + "\bCRITICAL\x10\x05*G\n" + + "\rPackageSource\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\x13\n" + + "\x0fPUBLIC_REGISTRY\x10\x01\x12\t\n" + + "\x05OTHER\x10\x02\x12\t\n" + + "\x05LOCAL\x10\x03B?P\x01Z;github.com/google/scalibr/binary/proto/scan_result_go_protob\x06proto3" var ( file_proto_scan_result_proto_rawDescOnce sync.Once @@ -10521,56 +9769,55 @@ var file_proto_scan_result_proto_goTypes = []any{ (*SecretData_PrivateKey)(nil), // 81: scalibr.SecretData.PrivateKey (*SecretData_AzureAccessToken)(nil), // 82: scalibr.SecretData.AzureAccessToken (*SecretData_Pgpass)(nil), // 83: scalibr.SecretData.Pgpass - (*SecretData_MariaDBCredentials)(nil), // 84: scalibr.SecretData.MariaDBCredentials - (*SecretData_AzureIdentityToken)(nil), // 85: scalibr.SecretData.AzureIdentityToken - (*SecretData_OpenAIAPIKey)(nil), // 86: scalibr.SecretData.OpenAIAPIKey - (*SecretData_DockerHubPat)(nil), // 87: scalibr.SecretData.DockerHubPat - (*SecretData_GitlabPat)(nil), // 88: scalibr.SecretData.GitlabPat - (*SecretData_SlackAppLevelToken)(nil), // 89: scalibr.SecretData.SlackAppLevelToken - (*SecretData_SlackAppConfigAccessToken)(nil), // 90: scalibr.SecretData.SlackAppConfigAccessToken - (*SecretData_SlackAppConfigRefreshToken)(nil), // 91: scalibr.SecretData.SlackAppConfigRefreshToken - (*SecretData_PostmanAPIKey)(nil), // 92: scalibr.SecretData.PostmanAPIKey - (*SecretData_PostmanCollectionAccessToken)(nil), // 93: scalibr.SecretData.PostmanCollectionAccessToken - (*SecretData_DigitalOceanAPIToken)(nil), // 94: scalibr.SecretData.DigitalOceanAPIToken - (*SecretData_CratesIOAPIToken)(nil), // 95: scalibr.SecretData.CratesIOAPIToken - (*SecretData_GithubAppRefreshToken)(nil), // 96: scalibr.SecretData.GithubAppRefreshToken - (*SecretData_GithubAppServerToServerToken)(nil), // 97: scalibr.SecretData.GithubAppServerToServerToken - (*SecretData_GithubClassicPersonalAccessToken)(nil), // 98: scalibr.SecretData.GithubClassicPersonalAccessToken - (*SecretData_GithubFineGrainedPersonalAccessToken)(nil), // 99: scalibr.SecretData.GithubFineGrainedPersonalAccessToken - (*SecretData_GithubOAuthToken)(nil), // 100: scalibr.SecretData.GithubOAuthToken - (*SecretData_GithubAppUserToServerToken)(nil), // 101: scalibr.SecretData.GithubAppUserToServerToken - (*SecretData_PyPIAPIToken)(nil), // 102: scalibr.SecretData.PyPIAPIToken - (*SecretData_TinkKeyset)(nil), // 103: scalibr.SecretData.TinkKeyset - (*SecretData_HashiCorpVaultToken)(nil), // 104: scalibr.SecretData.HashiCorpVaultToken - (*SecretData_HashiCorpVaultAppRoleCredentials)(nil), // 105: scalibr.SecretData.HashiCorpVaultAppRoleCredentials - (*SecretData_GCPAPIKey)(nil), // 106: scalibr.SecretData.GCPAPIKey - (*SecretData_HuggingfaceAPIKey)(nil), // 107: scalibr.SecretData.HuggingfaceAPIKey - (*SecretData_HashiCorpCloudPlatformCredentials)(nil), // 108: scalibr.SecretData.HashiCorpCloudPlatformCredentials - (*SecretData_HashiCorpCloudPlatformToken)(nil), // 109: scalibr.SecretData.HashiCorpCloudPlatformToken - (*SecretData_StripeSecretKey)(nil), // 110: scalibr.SecretData.StripeSecretKey - (*SecretData_StripeRestrictedKey)(nil), // 111: scalibr.SecretData.StripeRestrictedKey - (*SecretData_StripeWebhookSecret)(nil), // 112: scalibr.SecretData.StripeWebhookSecret - (*SecretData_GCPOAuth2ClientCredentials)(nil), // 113: scalibr.SecretData.GCPOAuth2ClientCredentials - (*SecretData_GCPOAuth2AccessToken)(nil), // 114: scalibr.SecretData.GCPOAuth2AccessToken - (*SecretData_OnePasswordConnectToken)(nil), // 115: scalibr.SecretData.OnePasswordConnectToken - (*SecretData_OnePasswordSecretKey)(nil), // 116: scalibr.SecretData.OnePasswordSecretKey - (*SecretData_OnePasswordServiceToken)(nil), // 117: scalibr.SecretData.OnePasswordServiceToken - (*SecretData_OnePasswordRecoveryCode)(nil), // 118: scalibr.SecretData.OnePasswordRecoveryCode - nil, // 119: scalibr.ContainerImageMetadata.OsInfoEntry - (*timestamppb.Timestamp)(nil), // 120: google.protobuf.Timestamp + (*SecretData_AzureIdentityToken)(nil), // 84: scalibr.SecretData.AzureIdentityToken + (*SecretData_OpenAIAPIKey)(nil), // 85: scalibr.SecretData.OpenAIAPIKey + (*SecretData_DockerHubPat)(nil), // 86: scalibr.SecretData.DockerHubPat + (*SecretData_GitlabPat)(nil), // 87: scalibr.SecretData.GitlabPat + (*SecretData_SlackAppLevelToken)(nil), // 88: scalibr.SecretData.SlackAppLevelToken + (*SecretData_SlackAppConfigAccessToken)(nil), // 89: scalibr.SecretData.SlackAppConfigAccessToken + (*SecretData_SlackAppConfigRefreshToken)(nil), // 90: scalibr.SecretData.SlackAppConfigRefreshToken + (*SecretData_PostmanAPIKey)(nil), // 91: scalibr.SecretData.PostmanAPIKey + (*SecretData_PostmanCollectionAccessToken)(nil), // 92: scalibr.SecretData.PostmanCollectionAccessToken + (*SecretData_DigitalOceanAPIToken)(nil), // 93: scalibr.SecretData.DigitalOceanAPIToken + (*SecretData_CratesIOAPIToken)(nil), // 94: scalibr.SecretData.CratesIOAPIToken + (*SecretData_GithubAppRefreshToken)(nil), // 95: scalibr.SecretData.GithubAppRefreshToken + (*SecretData_GithubAppServerToServerToken)(nil), // 96: scalibr.SecretData.GithubAppServerToServerToken + (*SecretData_GithubClassicPersonalAccessToken)(nil), // 97: scalibr.SecretData.GithubClassicPersonalAccessToken + (*SecretData_GithubFineGrainedPersonalAccessToken)(nil), // 98: scalibr.SecretData.GithubFineGrainedPersonalAccessToken + (*SecretData_GithubOAuthToken)(nil), // 99: scalibr.SecretData.GithubOAuthToken + (*SecretData_GithubAppUserToServerToken)(nil), // 100: scalibr.SecretData.GithubAppUserToServerToken + (*SecretData_PyPIAPIToken)(nil), // 101: scalibr.SecretData.PyPIAPIToken + (*SecretData_TinkKeyset)(nil), // 102: scalibr.SecretData.TinkKeyset + (*SecretData_HashiCorpVaultToken)(nil), // 103: scalibr.SecretData.HashiCorpVaultToken + (*SecretData_HashiCorpVaultAppRoleCredentials)(nil), // 104: scalibr.SecretData.HashiCorpVaultAppRoleCredentials + (*SecretData_GCPAPIKey)(nil), // 105: scalibr.SecretData.GCPAPIKey + (*SecretData_HuggingfaceAPIKey)(nil), // 106: scalibr.SecretData.HuggingfaceAPIKey + (*SecretData_HashiCorpCloudPlatformCredentials)(nil), // 107: scalibr.SecretData.HashiCorpCloudPlatformCredentials + (*SecretData_HashiCorpCloudPlatformToken)(nil), // 108: scalibr.SecretData.HashiCorpCloudPlatformToken + (*SecretData_StripeSecretKey)(nil), // 109: scalibr.SecretData.StripeSecretKey + (*SecretData_StripeRestrictedKey)(nil), // 110: scalibr.SecretData.StripeRestrictedKey + (*SecretData_StripeWebhookSecret)(nil), // 111: scalibr.SecretData.StripeWebhookSecret + (*SecretData_GCPOAuth2ClientCredentials)(nil), // 112: scalibr.SecretData.GCPOAuth2ClientCredentials + (*SecretData_GCPOAuth2AccessToken)(nil), // 113: scalibr.SecretData.GCPOAuth2AccessToken + (*SecretData_OnePasswordConnectToken)(nil), // 114: scalibr.SecretData.OnePasswordConnectToken + (*SecretData_OnePasswordSecretKey)(nil), // 115: scalibr.SecretData.OnePasswordSecretKey + (*SecretData_OnePasswordServiceToken)(nil), // 116: scalibr.SecretData.OnePasswordServiceToken + (*SecretData_OnePasswordRecoveryCode)(nil), // 117: scalibr.SecretData.OnePasswordRecoveryCode + nil, // 118: scalibr.ContainerImageMetadata.OsInfoEntry + (*timestamppb.Timestamp)(nil), // 119: google.protobuf.Timestamp } var file_proto_scan_result_proto_depIdxs = []int32{ 120, // 0: scalibr.ScanResult.start_time:type_name -> google.protobuf.Timestamp 120, // 1: scalibr.ScanResult.end_time:type_name -> google.protobuf.Timestamp 8, // 2: scalibr.ScanResult.status:type_name -> scalibr.ScanStatus 9, // 3: scalibr.ScanResult.plugin_status:type_name -> scalibr.PluginStatus - 10, // 4: scalibr.ScanResult.inventories_deprecated:type_name -> scalibr.Package - 18, // 5: scalibr.ScanResult.findings_deprecated:type_name -> scalibr.GenericFinding + 11, // 4: scalibr.ScanResult.inventories_deprecated:type_name -> scalibr.Package + 19, // 5: scalibr.ScanResult.findings_deprecated:type_name -> scalibr.GenericFinding 7, // 6: scalibr.ScanResult.inventory:type_name -> scalibr.Inventory - 10, // 7: scalibr.Inventory.packages:type_name -> scalibr.Package - 18, // 8: scalibr.Inventory.generic_findings:type_name -> scalibr.GenericFinding - 60, // 9: scalibr.Inventory.secrets:type_name -> scalibr.Secret - 68, // 10: scalibr.Inventory.container_image_metadata:type_name -> scalibr.ContainerImageMetadata + 11, // 7: scalibr.Inventory.packages:type_name -> scalibr.Package + 19, // 8: scalibr.Inventory.generic_findings:type_name -> scalibr.GenericFinding + 61, // 9: scalibr.Inventory.secrets:type_name -> scalibr.Secret + 69, // 10: scalibr.Inventory.container_image_metadata:type_name -> scalibr.ContainerImageMetadata 3, // 11: scalibr.ScanStatus.status:type_name -> scalibr.ScanStatus.ScanStatusEnum 8, // 12: scalibr.PluginStatus.status:type_name -> scalibr.ScanStatus 11, // 13: scalibr.Package.source_code:type_name -> scalibr.SourceCodeIdentifier @@ -10627,8 +9874,8 @@ var file_proto_scan_result_proto_depIdxs = []int32{ 16, // 64: scalibr.SPDXPackageMetadata.purl:type_name -> scalibr.Purl 16, // 65: scalibr.CDXPackageMetadata.purl:type_name -> scalibr.Purl 73, // 66: scalibr.PodmanMetadata.exposed_ports:type_name -> scalibr.PodmanMetadata.ExposedPortsEntry - 120, // 67: scalibr.PodmanMetadata.started_time:type_name -> google.protobuf.Timestamp - 120, // 68: scalibr.PodmanMetadata.finished_time:type_name -> google.protobuf.Timestamp + 119, // 67: scalibr.PodmanMetadata.started_time:type_name -> google.protobuf.Timestamp + 119, // 68: scalibr.PodmanMetadata.finished_time:type_name -> google.protobuf.Timestamp 58, // 69: scalibr.DockerContainersMetadata.ports:type_name -> scalibr.DockerPort 61, // 70: scalibr.Secret.secret:type_name -> scalibr.SecretData 62, // 71: scalibr.Secret.status:type_name -> scalibr.SecretStatus @@ -10640,61 +9887,60 @@ var file_proto_scan_result_proto_depIdxs = []int32{ 81, // 77: scalibr.SecretData.private_key:type_name -> scalibr.SecretData.PrivateKey 78, // 78: scalibr.SecretData.grok_xai_api_key:type_name -> scalibr.SecretData.GrokXAIAPIKey 79, // 79: scalibr.SecretData.grok_xai_management_api_key:type_name -> scalibr.SecretData.GrokXAIManagementAPIKey - 87, // 80: scalibr.SecretData.docker_hub_pat:type_name -> scalibr.SecretData.DockerHubPat - 94, // 81: scalibr.SecretData.digitalocean:type_name -> scalibr.SecretData.DigitalOceanAPIToken - 86, // 82: scalibr.SecretData.openai_api_key:type_name -> scalibr.SecretData.OpenAIAPIKey - 92, // 83: scalibr.SecretData.postman_api_key:type_name -> scalibr.SecretData.PostmanAPIKey - 93, // 84: scalibr.SecretData.postman_collection_access_token:type_name -> scalibr.SecretData.PostmanCollectionAccessToken + 86, // 80: scalibr.SecretData.docker_hub_pat:type_name -> scalibr.SecretData.DockerHubPat + 93, // 81: scalibr.SecretData.digitalocean:type_name -> scalibr.SecretData.DigitalOceanAPIToken + 85, // 82: scalibr.SecretData.openai_api_key:type_name -> scalibr.SecretData.OpenAIAPIKey + 91, // 83: scalibr.SecretData.postman_api_key:type_name -> scalibr.SecretData.PostmanAPIKey + 92, // 84: scalibr.SecretData.postman_collection_access_token:type_name -> scalibr.SecretData.PostmanCollectionAccessToken 82, // 85: scalibr.SecretData.azure_access_token:type_name -> scalibr.SecretData.AzureAccessToken - 85, // 86: scalibr.SecretData.azure_identity_token:type_name -> scalibr.SecretData.AzureIdentityToken - 103, // 87: scalibr.SecretData.tink_keyset:type_name -> scalibr.SecretData.TinkKeyset - 88, // 88: scalibr.SecretData.gitlab_pat:type_name -> scalibr.SecretData.GitlabPat - 104, // 89: scalibr.SecretData.hashicorp_vault_token:type_name -> scalibr.SecretData.HashiCorpVaultToken - 105, // 90: scalibr.SecretData.hashicorp_vault_app_role_credentials:type_name -> scalibr.SecretData.HashiCorpVaultAppRoleCredentials - 106, // 91: scalibr.SecretData.gcp_api_key:type_name -> scalibr.SecretData.GCPAPIKey - 107, // 92: scalibr.SecretData.hugginface:type_name -> scalibr.SecretData.HuggingfaceAPIKey - 96, // 93: scalibr.SecretData.github_app_refresh_token:type_name -> scalibr.SecretData.GithubAppRefreshToken - 110, // 94: scalibr.SecretData.stripe_secret_key:type_name -> scalibr.SecretData.StripeSecretKey - 111, // 95: scalibr.SecretData.stripe_restricted_key:type_name -> scalibr.SecretData.StripeRestrictedKey - 112, // 96: scalibr.SecretData.stripe_webhook_secret:type_name -> scalibr.SecretData.StripeWebhookSecret - 113, // 97: scalibr.SecretData.gcp_oauth2_client_credentials:type_name -> scalibr.SecretData.GCPOAuth2ClientCredentials - 114, // 98: scalibr.SecretData.gcp_oauth2_access_token:type_name -> scalibr.SecretData.GCPOAuth2AccessToken - 97, // 99: scalibr.SecretData.github_app_server_to_server_token:type_name -> scalibr.SecretData.GithubAppServerToServerToken - 98, // 100: scalibr.SecretData.github_classic_personal_access_token:type_name -> scalibr.SecretData.GithubClassicPersonalAccessToken - 99, // 101: scalibr.SecretData.github_fine_grained_personal_access_token:type_name -> scalibr.SecretData.GithubFineGrainedPersonalAccessToken - 101, // 102: scalibr.SecretData.github_app_user_to_server_token:type_name -> scalibr.SecretData.GithubAppUserToServerToken - 100, // 103: scalibr.SecretData.github_oauth_token:type_name -> scalibr.SecretData.GithubOAuthToken - 91, // 104: scalibr.SecretData.slack_app_config_refresh_token:type_name -> scalibr.SecretData.SlackAppConfigRefreshToken - 89, // 105: scalibr.SecretData.slack_app_level_token:type_name -> scalibr.SecretData.SlackAppLevelToken - 90, // 106: scalibr.SecretData.slack_app_config_access_token:type_name -> scalibr.SecretData.SlackAppConfigAccessToken + 84, // 86: scalibr.SecretData.azure_identity_token:type_name -> scalibr.SecretData.AzureIdentityToken + 102, // 87: scalibr.SecretData.tink_keyset:type_name -> scalibr.SecretData.TinkKeyset + 87, // 88: scalibr.SecretData.gitlab_pat:type_name -> scalibr.SecretData.GitlabPat + 103, // 89: scalibr.SecretData.hashicorp_vault_token:type_name -> scalibr.SecretData.HashiCorpVaultToken + 104, // 90: scalibr.SecretData.hashicorp_vault_app_role_credentials:type_name -> scalibr.SecretData.HashiCorpVaultAppRoleCredentials + 105, // 91: scalibr.SecretData.gcp_api_key:type_name -> scalibr.SecretData.GCPAPIKey + 106, // 92: scalibr.SecretData.hugginface:type_name -> scalibr.SecretData.HuggingfaceAPIKey + 95, // 93: scalibr.SecretData.github_app_refresh_token:type_name -> scalibr.SecretData.GithubAppRefreshToken + 109, // 94: scalibr.SecretData.stripe_secret_key:type_name -> scalibr.SecretData.StripeSecretKey + 110, // 95: scalibr.SecretData.stripe_restricted_key:type_name -> scalibr.SecretData.StripeRestrictedKey + 111, // 96: scalibr.SecretData.stripe_webhook_secret:type_name -> scalibr.SecretData.StripeWebhookSecret + 112, // 97: scalibr.SecretData.gcp_oauth2_client_credentials:type_name -> scalibr.SecretData.GCPOAuth2ClientCredentials + 113, // 98: scalibr.SecretData.gcp_oauth2_access_token:type_name -> scalibr.SecretData.GCPOAuth2AccessToken + 96, // 99: scalibr.SecretData.github_app_server_to_server_token:type_name -> scalibr.SecretData.GithubAppServerToServerToken + 97, // 100: scalibr.SecretData.github_classic_personal_access_token:type_name -> scalibr.SecretData.GithubClassicPersonalAccessToken + 98, // 101: scalibr.SecretData.github_fine_grained_personal_access_token:type_name -> scalibr.SecretData.GithubFineGrainedPersonalAccessToken + 100, // 102: scalibr.SecretData.github_app_user_to_server_token:type_name -> scalibr.SecretData.GithubAppUserToServerToken + 99, // 103: scalibr.SecretData.github_oauth_token:type_name -> scalibr.SecretData.GithubOAuthToken + 90, // 104: scalibr.SecretData.slack_app_config_refresh_token:type_name -> scalibr.SecretData.SlackAppConfigRefreshToken + 88, // 105: scalibr.SecretData.slack_app_level_token:type_name -> scalibr.SecretData.SlackAppLevelToken + 89, // 106: scalibr.SecretData.slack_app_config_access_token:type_name -> scalibr.SecretData.SlackAppConfigAccessToken 80, // 107: scalibr.SecretData.azure_storage_account_access_key:type_name -> scalibr.SecretData.AzureStorageAccountAccessKey - 108, // 108: scalibr.SecretData.hashicorp_cloud_platform_credentials:type_name -> scalibr.SecretData.HashiCorpCloudPlatformCredentials - 109, // 109: scalibr.SecretData.hashicorp_cloud_platform_token:type_name -> scalibr.SecretData.HashiCorpCloudPlatformToken - 116, // 110: scalibr.SecretData.onepassword_secret_key:type_name -> scalibr.SecretData.OnePasswordSecretKey - 117, // 111: scalibr.SecretData.onepassword_service_token:type_name -> scalibr.SecretData.OnePasswordServiceToken - 118, // 112: scalibr.SecretData.onepassword_recovery_code:type_name -> scalibr.SecretData.OnePasswordRecoveryCode - 115, // 113: scalibr.SecretData.onepassword_connect_token:type_name -> scalibr.SecretData.OnePasswordConnectToken + 107, // 108: scalibr.SecretData.hashicorp_cloud_platform_credentials:type_name -> scalibr.SecretData.HashiCorpCloudPlatformCredentials + 108, // 109: scalibr.SecretData.hashicorp_cloud_platform_token:type_name -> scalibr.SecretData.HashiCorpCloudPlatformToken + 115, // 110: scalibr.SecretData.onepassword_secret_key:type_name -> scalibr.SecretData.OnePasswordSecretKey + 116, // 111: scalibr.SecretData.onepassword_service_token:type_name -> scalibr.SecretData.OnePasswordServiceToken + 117, // 112: scalibr.SecretData.onepassword_recovery_code:type_name -> scalibr.SecretData.OnePasswordRecoveryCode + 114, // 113: scalibr.SecretData.onepassword_connect_token:type_name -> scalibr.SecretData.OnePasswordConnectToken 83, // 114: scalibr.SecretData.pgpass:type_name -> scalibr.SecretData.Pgpass - 102, // 115: scalibr.SecretData.pypi:type_name -> scalibr.SecretData.PyPIAPIToken - 95, // 116: scalibr.SecretData.crates_io_api_token:type_name -> scalibr.SecretData.CratesIOAPIToken - 84, // 117: scalibr.SecretData.maria_db_credentials:type_name -> scalibr.SecretData.MariaDBCredentials - 5, // 118: scalibr.SecretStatus.status:type_name -> scalibr.SecretStatus.SecretStatusEnum - 120, // 119: scalibr.SecretStatus.last_updated:type_name -> google.protobuf.Timestamp - 64, // 120: scalibr.Location.filepath:type_name -> scalibr.Filepath - 65, // 121: scalibr.Location.filepath_with_layer_details:type_name -> scalibr.FilepathWithLayerDetails - 66, // 122: scalibr.Location.environment_variable:type_name -> scalibr.EnvironmentVariable - 67, // 123: scalibr.Location.container_command:type_name -> scalibr.ContainerCommand - 12, // 124: scalibr.FilepathWithLayerDetails.layer_details:type_name -> scalibr.LayerDetails - 71, // 125: scalibr.ContainerImageMetadata.layer_metadata:type_name -> scalibr.LayerMetadata - 69, // 126: scalibr.ContainerImageMetadata.base_image_chains:type_name -> scalibr.BaseImageChain - 119, // 127: scalibr.ContainerImageMetadata.os_info:type_name -> scalibr.ContainerImageMetadata.OsInfoEntry - 70, // 128: scalibr.BaseImageChain.base_images:type_name -> scalibr.BaseImageDetails - 53, // 129: scalibr.PodmanMetadata.ExposedPortsEntry.value:type_name -> scalibr.Protocol - 130, // [130:130] is the sub-list for method output_type - 130, // [130:130] is the sub-list for method input_type - 130, // [130:130] is the sub-list for extension type_name - 130, // [130:130] is the sub-list for extension extendee - 0, // [0:130] is the sub-list for field type_name + 101, // 115: scalibr.SecretData.pypi:type_name -> scalibr.SecretData.PyPIAPIToken + 94, // 116: scalibr.SecretData.crates_io_api_token:type_name -> scalibr.SecretData.CratesIOAPIToken + 5, // 117: scalibr.SecretStatus.status:type_name -> scalibr.SecretStatus.SecretStatusEnum + 119, // 118: scalibr.SecretStatus.last_updated:type_name -> google.protobuf.Timestamp + 64, // 119: scalibr.Location.filepath:type_name -> scalibr.Filepath + 65, // 120: scalibr.Location.filepath_with_layer_details:type_name -> scalibr.FilepathWithLayerDetails + 66, // 121: scalibr.Location.environment_variable:type_name -> scalibr.EnvironmentVariable + 67, // 122: scalibr.Location.container_command:type_name -> scalibr.ContainerCommand + 12, // 123: scalibr.FilepathWithLayerDetails.layer_details:type_name -> scalibr.LayerDetails + 71, // 124: scalibr.ContainerImageMetadata.layer_metadata:type_name -> scalibr.LayerMetadata + 69, // 125: scalibr.ContainerImageMetadata.base_image_chains:type_name -> scalibr.BaseImageChain + 118, // 126: scalibr.ContainerImageMetadata.os_info:type_name -> scalibr.ContainerImageMetadata.OsInfoEntry + 70, // 127: scalibr.BaseImageChain.base_images:type_name -> scalibr.BaseImageDetails + 53, // 128: scalibr.PodmanMetadata.ExposedPortsEntry.value:type_name -> scalibr.Protocol + 129, // [129:129] is the sub-list for method output_type + 129, // [129:129] is the sub-list for method input_type + 129, // [129:129] is the sub-list for extension type_name + 129, // [129:129] is the sub-list for extension extendee + 0, // [0:129] is the sub-list for field type_name } func init() { file_proto_scan_result_proto_init() } @@ -10702,7 +9948,7 @@ func file_proto_scan_result_proto_init() { if File_proto_scan_result_proto != nil { return } - file_proto_scan_result_proto_msgTypes[4].OneofWrappers = []any{ + file_proto_scan_result_proto_msgTypes[5].OneofWrappers = []any{ (*Package_PythonMetadata)(nil), (*Package_JavascriptMetadata)(nil), (*Package_ApkMetadata)(nil), @@ -10740,11 +9986,11 @@ func file_proto_scan_result_proto_init() { (*Package_NvmMetadata)(nil), (*Package_NodeversionMetadata)(nil), } - file_proto_scan_result_proto_msgTypes[7].OneofWrappers = []any{ + file_proto_scan_result_proto_msgTypes[8].OneofWrappers = []any{ (*PackageExploitabilitySignal_VulnIdentifiers)(nil), (*PackageExploitabilitySignal_MatchesAllVulns)(nil), } - file_proto_scan_result_proto_msgTypes[55].OneofWrappers = []any{ + file_proto_scan_result_proto_msgTypes[56].OneofWrappers = []any{ (*SecretData_Gcpsak)(nil), (*SecretData_AnthropicWorkspaceApiKey)(nil), (*SecretData_AnthropicModelApiKey)(nil), @@ -10791,7 +10037,7 @@ func file_proto_scan_result_proto_init() { (*SecretData_CratesIoApiToken)(nil), (*SecretData_MariaDbCredentials)(nil), } - file_proto_scan_result_proto_msgTypes[57].OneofWrappers = []any{ + file_proto_scan_result_proto_msgTypes[58].OneofWrappers = []any{ (*Location_Filepath)(nil), (*Location_FilepathWithLayerDetails)(nil), (*Location_EnvironmentVariable)(nil), diff --git a/detector/detectorrunner/detectorrunner.go b/detector/detectorrunner/detectorrunner.go index 7e0ba1f65..b947a3371 100644 --- a/detector/detectorrunner/detectorrunner.go +++ b/detector/detectorrunner/detectorrunner.go @@ -49,7 +49,7 @@ func Run(ctx context.Context, c stats.Collector, detectors []detector.Detector, } findings.PackageVulns = append(findings.PackageVulns, result.PackageVulns...) findings.GenericFindings = append(findings.GenericFindings, result.GenericFindings...) - status = append(status, plugin.StatusFromErr(d, false, err)) + status = append(status, plugin.StatusFromErr(d, false, err, nil)) } if err := validateAdvisories(findings.GenericFindings); err != nil { return inventory.Finding{}, status, err diff --git a/enricher/enricher.go b/enricher/enricher.go index 7bb8e80b0..5cd8bfa63 100644 --- a/enricher/enricher.go +++ b/enricher/enricher.go @@ -97,7 +97,7 @@ func Run(ctx context.Context, config *Config, inventory *inventory.Inventory) ([ for _, e := range config.Enrichers { err := e.Enrich(ctx, input, inventory) // TODO - b/410630503: Support partial success. - statuses = append(statuses, plugin.StatusFromErr(e, false, err)) + statuses = append(statuses, plugin.StatusFromErr(e, false, err, nil)) } return statuses, nil } diff --git a/extractor/filesystem/filesystem.go b/extractor/filesystem/filesystem.go index 7a451d2e7..4445adbd5 100644 --- a/extractor/filesystem/filesystem.go +++ b/extractor/filesystem/filesystem.go @@ -277,7 +277,7 @@ func InitWalkContext(ctx context.Context, config *Config, absScanRoots []*scalib lastStatus: time.Now(), inventory: inventory.Inventory{}, - errors: make(map[string]error), + errors: make(map[string]map[string]error), foundInv: make(map[string]bool), fileAPI: &lazyFileAPI{}, @@ -350,8 +350,8 @@ type walkContext struct { gitignores []internal.GitignorePattern // Inventories found. inventory inventory.Inventory - // Extractor name to runtime errors. - errors map[string]error + // Extractor name to file path to runtime errors. + errors map[string]map[string]error // Whether an extractor found any inventory. foundInv map[string]bool // Whether to read symlinks. @@ -572,14 +572,14 @@ func (wc *walkContext) runExtractor(ex Extractor, path string, isDir bool) { if !isDir { rc, err = wc.fs.Open(path) if err != nil { - addErrToMap(wc.errors, ex.Name(), fmt.Errorf("Open(%s): %w", path, err)) + addErrToMap(wc.errors, ex.Name(), path, fmt.Errorf("Open(%s): %w", path, err)) return } defer rc.Close() info, err = rc.Stat() if err != nil { - addErrToMap(wc.errors, ex.Name(), fmt.Errorf("stat(%s): %w", path, err)) + addErrToMap(wc.errors, ex.Name(), path, fmt.Errorf("stat(%s): %w", path, err)) return } } @@ -603,7 +603,7 @@ func (wc *walkContext) runExtractor(ex Extractor, path string, isDir bool) { }) if err != nil { - addErrToMap(wc.errors, ex.Name(), fmt.Errorf("%s: %w", path, err)) + addErrToMap(wc.errors, ex.Name(), path, err) } if !results.IsEmpty() { @@ -707,22 +707,37 @@ func pathStringListToMap(paths []string) map[string]bool { return result } -func addErrToMap(errors map[string]error, key string, err error) { - if prev, ok := errors[key]; !ok { - errors[key] = err - } else { - errors[key] = fmt.Errorf("%w\n%w", prev, err) +func addErrToMap(errors map[string]map[string]error, extractor string, path string, err error) { + if _, ok := errors[extractor]; !ok { + errors[extractor] = make(map[string]error) } + errors[extractor][path] = err } -func errToExtractorStatus(extractors []Extractor, foundInv map[string]bool, errors map[string]error) []*plugin.Status { +func errToExtractorStatus(extractors []Extractor, foundInv map[string]bool, errs map[string]map[string]error) []*plugin.Status { result := make([]*plugin.Status, 0, len(extractors)) for _, ex := range extractors { - result = append(result, plugin.StatusFromErr(ex, foundInv[ex.Name()], errors[ex.Name()])) + fileErrs, overallErr := createFileErrorsForPlugin(errs[ex.Name()]) + result = append(result, plugin.StatusFromErr(ex, foundInv[ex.Name()], overallErr, fileErrs)) } return result } +func createFileErrorsForPlugin(errorMap map[string]error) ([]*plugin.FileError, error) { + if len(errorMap) == 0 { + return nil, nil + } + + var fileErrors []*plugin.FileError + for path, err := range errorMap { + fileErrors = append(fileErrors, &plugin.FileError{ + FilePath: path, + ErrorMessage: err.Error(), + }) + } + return fileErrors, fmt.Errorf("encountered %d error(s) while running plugin; check file-specific errors for details", len(fileErrors)) +} + func (wc *walkContext) printStatus() { log.Infof("Status: new inodes: %d, %.1f inodes/s, new extract calls: %d, path: %q\n", wc.inodesVisited-wc.lastInodes, diff --git a/extractor/filesystem/filesystem_test.go b/extractor/filesystem/filesystem_test.go index e5dbaf80a..abc140ea4 100644 --- a/extractor/filesystem/filesystem_test.go +++ b/extractor/filesystem/filesystem_test.go @@ -671,7 +671,11 @@ func TestRunFS(t *testing.T) { }}, wantStatus: []*plugin.Status{ {Name: "ex1", Version: 1, Status: &plugin.ScanStatus{ - Status: plugin.ScanStatusPartiallySucceeded, + Status: plugin.ScanStatusPartiallySucceeded, + FailureReason: "encountered 1 error(s) while running plugin; check file-specific errors for details", + FileErrors: []*plugin.FileError{ + {FilePath: path1, ErrorMessage: "extraction failed"}, + }, }}, }, wantInodeCount: 6, @@ -684,7 +688,11 @@ func TestRunFS(t *testing.T) { wantPkg: inventory.Inventory{}, wantStatus: []*plugin.Status{ {Name: "ex1", Version: 1, Status: &plugin.ScanStatus{ - Status: plugin.ScanStatusFailed, + Status: plugin.ScanStatusFailed, + FailureReason: "encountered 1 error(s) while running plugin; check file-specific errors for details", + FileErrors: []*plugin.FileError{ + {FilePath: path1, ErrorMessage: "extraction failed"}, + }, }}, }, wantInodeCount: 6, @@ -700,7 +708,12 @@ func TestRunFS(t *testing.T) { wantPkg: inventory.Inventory{}, wantStatus: []*plugin.Status{ {Name: "ex1", Version: 1, Status: &plugin.ScanStatus{ - Status: plugin.ScanStatusFailed, + Status: plugin.ScanStatusFailed, + FailureReason: "encountered 2 error(s) while running plugin; check file-specific errors for details", + FileErrors: []*plugin.FileError{ + {FilePath: path1, ErrorMessage: "extraction failed"}, + {FilePath: path2, ErrorMessage: "extraction failed"}, + }, }}, }, wantInodeCount: 6, @@ -866,11 +879,15 @@ func TestRunFS(t *testing.T) { t.Errorf("extractor.Run(%v): unexpected findings (-want +got):\n%s", tc.ex, diff) } + // The order of the statuses doesn't matter. for _, s := range gotStatus { - // Failure reason can be non-deterministic depending on the order of - // files traversed so we're ignoring it. - s.Status.FailureReason = "" + if s.Status.FileErrors != nil { + sort.Slice(s.Status.FileErrors, func(i, j int) bool { + return s.Status.FileErrors[i].FilePath < s.Status.FileErrors[j].FilePath + }) + } } + sortStatus := func(s1, s2 *plugin.Status) bool { return s1.Name < s2.Name } @@ -1142,7 +1159,9 @@ func TestRunFS_ReadError(t *testing.T) { } wantStatus := []*plugin.Status{ {Name: "ex1", Version: 1, Status: &plugin.ScanStatus{ - Status: plugin.ScanStatusFailed, FailureReason: "Open(file): failed to open", + Status: plugin.ScanStatusFailed, FailureReason: "encountered 1 error(s) while running plugin; check file-specific errors for details", FileErrors: []*plugin.FileError{ + {FilePath: "file", ErrorMessage: "Open(file): failed to open"}, + }, }}, } fsys := &fakeFS{} diff --git a/extractor/standalone/standalone.go b/extractor/standalone/standalone.go index 6ab0ad12b..adc838483 100644 --- a/extractor/standalone/standalone.go +++ b/extractor/standalone/standalone.go @@ -69,7 +69,7 @@ func Run(ctx context.Context, config *Config) (inventory.Inventory, []*plugin.St exInv, err := extractor.Extract(ctx, scanInput) if err != nil { - statuses = append(statuses, plugin.StatusFromErr(extractor, false, err)) + statuses = append(statuses, plugin.StatusFromErr(extractor, false, err, nil)) continue } for _, p := range exInv.Packages { @@ -77,7 +77,7 @@ func Run(ctx context.Context, config *Config) (inventory.Inventory, []*plugin.St } inv.Append(exInv) - statuses = append(statuses, plugin.StatusFromErr(extractor, false, nil)) + statuses = append(statuses, plugin.StatusFromErr(extractor, false, nil, nil)) } return inv, statuses, nil diff --git a/plugin/plugin.go b/plugin/plugin.go index 30e924179..4e2472a4b 100644 --- a/plugin/plugin.go +++ b/plugin/plugin.go @@ -102,6 +102,13 @@ type Status struct { type ScanStatus struct { Status ScanStatusEnum FailureReason string + FileErrors []*FileError +} + +// FileError contains the errors that occurred while scanning a specific file. +type FileError struct { + FilePath string + ErrorMessage string } // ScanStatusEnum is the enum for the scan status. @@ -164,9 +171,9 @@ func FilterByCapabilities(pls []Plugin, capabs *Capabilities) []Plugin { } // StatusFromErr returns a successful or failed plugin scan status for a given plugin based on an error. -func StatusFromErr(p Plugin, partial bool, err error) *Status { +func StatusFromErr(p Plugin, partial bool, overallErr error, fileErrors []*FileError) *Status { status := &ScanStatus{} - if err == nil { + if overallErr == nil { status.Status = ScanStatusSucceeded } else { if partial { @@ -174,7 +181,8 @@ func StatusFromErr(p Plugin, partial bool, err error) *Status { } else { status.Status = ScanStatusFailed } - status.FailureReason = err.Error() + status.FileErrors = fileErrors + status.FailureReason = overallErr.Error() } return &Status{ Name: p.Name(), diff --git a/scalibr_test.go b/scalibr_test.go index 2b1925dc0..964265148 100644 --- a/scalibr_test.go +++ b/scalibr_test.go @@ -60,7 +60,10 @@ func TestScan(t *testing.T) { pluginFailure := "failed to run plugin" extFailure := &plugin.ScanStatus{ Status: plugin.ScanStatusFailed, - FailureReason: "file.txt: " + pluginFailure, + FailureReason: "encountered 1 error(s) while running plugin; check file-specific errors for details", + FileErrors: []*plugin.FileError{ + {FilePath: "file.txt", ErrorMessage: pluginFailure}, + }, } detFailure := &plugin.ScanStatus{ Status: plugin.ScanStatusFailed,