From 216599425ab820d243f745e790bae9fdec87e88e Mon Sep 17 00:00:00 2001 From: Alex Hong <9397363+hongalex@users.noreply.github.com> Date: Mon, 2 Mar 2026 22:26:12 +0000 Subject: [PATCH] feat: generate libraries --- .librarian/state.yaml | 2 +- auditmanager/apiv1/audit_manager_client.go | 2 +- ...audit_manager_client_example_go123_test.go | 8 +- .../audit_manager_client_example_test.go | 18 +- .../apiv1/auditmanagerpb/auditmanager.pb.go | 3168 +++++++++++++++++ .../auditmanagerpb/auditmanager_grpc.pb.go | 412 +++ auditmanager/apiv1/auxiliary.go | 2 +- auditmanager/apiv1/auxiliary_go123.go | 2 +- auditmanager/apiv1/doc.go | 2 +- .../apiv1/Client/EnrollResource/main.go | 4 +- .../apiv1/Client/GenerateAuditReport/main.go | 4 +- .../Client/GenerateAuditScopeReport/main.go | 4 +- .../apiv1/Client/GetAuditReport/main.go | 4 +- .../GetResourceEnrollmentStatus/main.go | 4 +- .../apiv1/Client/ListAuditReports/main.go | 4 +- .../apiv1/Client/ListControls/main.go | 4 +- .../ListResourceEnrollmentStatuses/main.go | 4 +- 17 files changed, 3614 insertions(+), 34 deletions(-) create mode 100644 auditmanager/apiv1/auditmanagerpb/auditmanager.pb.go create mode 100644 auditmanager/apiv1/auditmanagerpb/auditmanager_grpc.pb.go diff --git a/.librarian/state.yaml b/.librarian/state.yaml index 0be8bb8083d9..dbdf035ce7e4 100644 --- a/.librarian/state.yaml +++ b/.librarian/state.yaml @@ -704,7 +704,7 @@ libraries: tag_format: '{id}/v{version}' - id: auditmanager version: 0.1.0 - last_generated_commit: c99e8a29e1b568d183445adccde5bf9d6437cf00 + last_generated_commit: eb5a4e3f0328f0dfeac9e9bc145abb352cc42945 apis: - path: google/cloud/auditmanager/v1 service_config: auditmanager_v1.yaml diff --git a/auditmanager/apiv1/audit_manager_client.go b/auditmanager/apiv1/audit_manager_client.go index e23f21d4d501..452ff9740dc0 100644 --- a/auditmanager/apiv1/audit_manager_client.go +++ b/auditmanager/apiv1/audit_manager_client.go @@ -26,7 +26,7 @@ import ( "net/url" "time" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" "cloud.google.com/go/longrunning" lroauto "cloud.google.com/go/longrunning/autogen" longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" diff --git a/auditmanager/apiv1/audit_manager_client_example_go123_test.go b/auditmanager/apiv1/audit_manager_client_example_go123_test.go index 951af61d5bbe..98ef8ea3efb2 100644 --- a/auditmanager/apiv1/audit_manager_client_example_go123_test.go +++ b/auditmanager/apiv1/audit_manager_client_example_go123_test.go @@ -22,7 +22,7 @@ import ( "context" auditmanager "cloud.google.com/go/auditmanager/apiv1" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" locationpb "google.golang.org/genproto/googleapis/cloud/location" ) @@ -42,7 +42,7 @@ func ExampleClient_ListAuditReports_all() { req := &auditmanagerpb.ListAuditReportsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#ListAuditReportsRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#ListAuditReportsRequest. } for resp, err := range c.ListAuditReports(ctx, req).All() { if err != nil { @@ -68,7 +68,7 @@ func ExampleClient_ListControls_all() { req := &auditmanagerpb.ListControlsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#ListControlsRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#ListControlsRequest. } for resp, err := range c.ListControls(ctx, req).All() { if err != nil { @@ -94,7 +94,7 @@ func ExampleClient_ListResourceEnrollmentStatuses_all() { req := &auditmanagerpb.ListResourceEnrollmentStatusesRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#ListResourceEnrollmentStatusesRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#ListResourceEnrollmentStatusesRequest. } for resp, err := range c.ListResourceEnrollmentStatuses(ctx, req).All() { if err != nil { diff --git a/auditmanager/apiv1/audit_manager_client_example_test.go b/auditmanager/apiv1/audit_manager_client_example_test.go index e93e272558a7..12d9d8e1e5fe 100644 --- a/auditmanager/apiv1/audit_manager_client_example_test.go +++ b/auditmanager/apiv1/audit_manager_client_example_test.go @@ -20,7 +20,7 @@ import ( "context" auditmanager "cloud.google.com/go/auditmanager/apiv1" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" "google.golang.org/api/iterator" locationpb "google.golang.org/genproto/googleapis/cloud/location" @@ -75,7 +75,7 @@ func ExampleClient_EnrollResource() { req := &auditmanagerpb.EnrollResourceRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#EnrollResourceRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#EnrollResourceRequest. } resp, err := c.EnrollResource(ctx, req) if err != nil { @@ -100,7 +100,7 @@ func ExampleClient_GenerateAuditReport() { req := &auditmanagerpb.GenerateAuditReportRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#GenerateAuditReportRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#GenerateAuditReportRequest. } op, err := c.GenerateAuditReport(ctx, req) if err != nil { @@ -130,7 +130,7 @@ func ExampleClient_GenerateAuditScopeReport() { req := &auditmanagerpb.GenerateAuditScopeReportRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#GenerateAuditScopeReportRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#GenerateAuditScopeReportRequest. } resp, err := c.GenerateAuditScopeReport(ctx, req) if err != nil { @@ -155,7 +155,7 @@ func ExampleClient_GetAuditReport() { req := &auditmanagerpb.GetAuditReportRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#GetAuditReportRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#GetAuditReportRequest. } resp, err := c.GetAuditReport(ctx, req) if err != nil { @@ -180,7 +180,7 @@ func ExampleClient_GetResourceEnrollmentStatus() { req := &auditmanagerpb.GetResourceEnrollmentStatusRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#GetResourceEnrollmentStatusRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#GetResourceEnrollmentStatusRequest. } resp, err := c.GetResourceEnrollmentStatus(ctx, req) if err != nil { @@ -205,7 +205,7 @@ func ExampleClient_ListAuditReports() { req := &auditmanagerpb.ListAuditReportsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#ListAuditReportsRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#ListAuditReportsRequest. } it := c.ListAuditReports(ctx, req) for { @@ -242,7 +242,7 @@ func ExampleClient_ListControls() { req := &auditmanagerpb.ListControlsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#ListControlsRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#ListControlsRequest. } it := c.ListControls(ctx, req) for { @@ -279,7 +279,7 @@ func ExampleClient_ListResourceEnrollmentStatuses() { req := &auditmanagerpb.ListResourceEnrollmentStatusesRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#ListResourceEnrollmentStatusesRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#ListResourceEnrollmentStatusesRequest. } it := c.ListResourceEnrollmentStatuses(ctx, req) for { diff --git a/auditmanager/apiv1/auditmanagerpb/auditmanager.pb.go b/auditmanager/apiv1/auditmanagerpb/auditmanager.pb.go new file mode 100644 index 000000000000..7f0869d5d60b --- /dev/null +++ b/auditmanager/apiv1/auditmanagerpb/auditmanager.pb.go @@ -0,0 +1,3168 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/auditmanager/v1/auditmanager.proto + +package auditmanagerpb + +import ( + reflect "reflect" + sync "sync" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The different execution states of the Audit Manager service. +type OperationState int32 + +const ( + // Unspecified. Invalid state. + OperationState_OPERATION_STATE_UNSPECIFIED OperationState = 0 + // Audit report generation process has not started. + OperationState_OPERATION_STATE_NOT_STARTED OperationState = 10 + // Audit Manager is currently evaluating the workloads against specific + // standard. + OperationState_OPERATION_STATE_EVALUATION_IN_PROGRESS OperationState = 20 + // Audit Manager has completed Evaluation for the workload. + OperationState_OPERATION_STATE_EVALUATION_DONE OperationState = 21 + // Audit Manager is creating audit report from the evaluated data. + OperationState_OPERATION_STATE_EVIDENCE_REPORT_GENERATION_IN_PROGRESS OperationState = 30 + // Audit Manager has completed generation of the audit report. + OperationState_OPERATION_STATE_EVIDENCE_REPORT_GENERATION_DONE OperationState = 31 + // Audit Manager is uploading the audit report and evidences to the customer + // provided destination. + OperationState_OPERATION_STATE_EVIDENCE_UPLOAD_IN_PROGRESS OperationState = 40 + // Audit report generation process is completed. + OperationState_OPERATION_STATE_DONE OperationState = 50 + // Audit report generation process has failed. + OperationState_OPERATION_STATE_FAILED OperationState = 60 +) + +// Enum value maps for OperationState. +var ( + OperationState_name = map[int32]string{ + 0: "OPERATION_STATE_UNSPECIFIED", + 10: "OPERATION_STATE_NOT_STARTED", + 20: "OPERATION_STATE_EVALUATION_IN_PROGRESS", + 21: "OPERATION_STATE_EVALUATION_DONE", + 30: "OPERATION_STATE_EVIDENCE_REPORT_GENERATION_IN_PROGRESS", + 31: "OPERATION_STATE_EVIDENCE_REPORT_GENERATION_DONE", + 40: "OPERATION_STATE_EVIDENCE_UPLOAD_IN_PROGRESS", + 50: "OPERATION_STATE_DONE", + 60: "OPERATION_STATE_FAILED", + } + OperationState_value = map[string]int32{ + "OPERATION_STATE_UNSPECIFIED": 0, + "OPERATION_STATE_NOT_STARTED": 10, + "OPERATION_STATE_EVALUATION_IN_PROGRESS": 20, + "OPERATION_STATE_EVALUATION_DONE": 21, + "OPERATION_STATE_EVIDENCE_REPORT_GENERATION_IN_PROGRESS": 30, + "OPERATION_STATE_EVIDENCE_REPORT_GENERATION_DONE": 31, + "OPERATION_STATE_EVIDENCE_UPLOAD_IN_PROGRESS": 40, + "OPERATION_STATE_DONE": 50, + "OPERATION_STATE_FAILED": 60, + } +) + +func (x OperationState) Enum() *OperationState { + p := new(OperationState) + *p = x + return p +} + +func (x OperationState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (OperationState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[0].Descriptor() +} + +func (OperationState) Type() protoreflect.EnumType { + return &file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[0] +} + +func (x OperationState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use OperationState.Descriptor instead. +func (OperationState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{0} +} + +// The compliance state after evaluation. +type ComplianceState int32 + +const ( + // Unspecified. Invalid state. + ComplianceState_COMPLIANCE_STATE_UNSPECIFIED ComplianceState = 0 + // Compliant. + ComplianceState_COMPLIANT ComplianceState = 1 + // Violation. + ComplianceState_VIOLATION ComplianceState = 2 + // MANUAL_REVIEW_NEEDED, requires manual review + ComplianceState_MANUAL_REVIEW_NEEDED ComplianceState = 3 + // Error while computing status. + ComplianceState_ERROR ComplianceState = 4 + // Cannot be audited + ComplianceState_AUDIT_NOT_SUPPORTED ComplianceState = 5 +) + +// Enum value maps for ComplianceState. +var ( + ComplianceState_name = map[int32]string{ + 0: "COMPLIANCE_STATE_UNSPECIFIED", + 1: "COMPLIANT", + 2: "VIOLATION", + 3: "MANUAL_REVIEW_NEEDED", + 4: "ERROR", + 5: "AUDIT_NOT_SUPPORTED", + } + ComplianceState_value = map[string]int32{ + "COMPLIANCE_STATE_UNSPECIFIED": 0, + "COMPLIANT": 1, + "VIOLATION": 2, + "MANUAL_REVIEW_NEEDED": 3, + "ERROR": 4, + "AUDIT_NOT_SUPPORTED": 5, + } +) + +func (x ComplianceState) Enum() *ComplianceState { + p := new(ComplianceState) + *p = x + return p +} + +func (x ComplianceState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ComplianceState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[1].Descriptor() +} + +func (ComplianceState) Type() protoreflect.EnumType { + return &file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[1] +} + +func (x ComplianceState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ComplianceState.Descriptor instead. +func (ComplianceState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{1} +} + +// The options for the audit scope report format. +type GenerateAuditScopeReportRequest_AuditScopeReportFormat int32 + +const ( + // Unspecified. Invalid format. + GenerateAuditScopeReportRequest_AUDIT_SCOPE_REPORT_FORMAT_UNSPECIFIED GenerateAuditScopeReportRequest_AuditScopeReportFormat = 0 + // Audit Scope Report creation format is Open Document. + GenerateAuditScopeReportRequest_AUDIT_SCOPE_REPORT_FORMAT_ODF GenerateAuditScopeReportRequest_AuditScopeReportFormat = 1 +) + +// Enum value maps for GenerateAuditScopeReportRequest_AuditScopeReportFormat. +var ( + GenerateAuditScopeReportRequest_AuditScopeReportFormat_name = map[int32]string{ + 0: "AUDIT_SCOPE_REPORT_FORMAT_UNSPECIFIED", + 1: "AUDIT_SCOPE_REPORT_FORMAT_ODF", + } + GenerateAuditScopeReportRequest_AuditScopeReportFormat_value = map[string]int32{ + "AUDIT_SCOPE_REPORT_FORMAT_UNSPECIFIED": 0, + "AUDIT_SCOPE_REPORT_FORMAT_ODF": 1, + } +) + +func (x GenerateAuditScopeReportRequest_AuditScopeReportFormat) Enum() *GenerateAuditScopeReportRequest_AuditScopeReportFormat { + p := new(GenerateAuditScopeReportRequest_AuditScopeReportFormat) + *p = x + return p +} + +func (x GenerateAuditScopeReportRequest_AuditScopeReportFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GenerateAuditScopeReportRequest_AuditScopeReportFormat) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[2].Descriptor() +} + +func (GenerateAuditScopeReportRequest_AuditScopeReportFormat) Type() protoreflect.EnumType { + return &file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[2] +} + +func (x GenerateAuditScopeReportRequest_AuditScopeReportFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GenerateAuditScopeReportRequest_AuditScopeReportFormat.Descriptor instead. +func (GenerateAuditScopeReportRequest_AuditScopeReportFormat) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{1, 0} +} + +// The options for the audit report format. +type GenerateAuditReportRequest_AuditReportFormat int32 + +const ( + // Unspecified. Invalid state. + GenerateAuditReportRequest_AUDIT_REPORT_FORMAT_UNSPECIFIED GenerateAuditReportRequest_AuditReportFormat = 0 + // Audit Report creation format is Open Document. + GenerateAuditReportRequest_AUDIT_REPORT_FORMAT_ODF GenerateAuditReportRequest_AuditReportFormat = 1 +) + +// Enum value maps for GenerateAuditReportRequest_AuditReportFormat. +var ( + GenerateAuditReportRequest_AuditReportFormat_name = map[int32]string{ + 0: "AUDIT_REPORT_FORMAT_UNSPECIFIED", + 1: "AUDIT_REPORT_FORMAT_ODF", + } + GenerateAuditReportRequest_AuditReportFormat_value = map[string]int32{ + "AUDIT_REPORT_FORMAT_UNSPECIFIED": 0, + "AUDIT_REPORT_FORMAT_ODF": 1, + } +) + +func (x GenerateAuditReportRequest_AuditReportFormat) Enum() *GenerateAuditReportRequest_AuditReportFormat { + p := new(GenerateAuditReportRequest_AuditReportFormat) + *p = x + return p +} + +func (x GenerateAuditReportRequest_AuditReportFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GenerateAuditReportRequest_AuditReportFormat) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[3].Descriptor() +} + +func (GenerateAuditReportRequest_AuditReportFormat) Type() protoreflect.EnumType { + return &file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[3] +} + +func (x GenerateAuditReportRequest_AuditReportFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GenerateAuditReportRequest_AuditReportFormat.Descriptor instead. +func (GenerateAuditReportRequest_AuditReportFormat) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{2, 0} +} + +// The different enrollment states of a resource. +type ResourceEnrollmentStatus_ResourceEnrollmentState int32 + +const ( + // Unspecified. Invalid state. + ResourceEnrollmentStatus_RESOURCE_ENROLLMENT_STATE_UNSPECIFIED ResourceEnrollmentStatus_ResourceEnrollmentState = 0 + // Not enrolled. + ResourceEnrollmentStatus_NOT_ENROLLED ResourceEnrollmentStatus_ResourceEnrollmentState = 1 + // Resource is not enrolled but the parent is enrolled. + ResourceEnrollmentStatus_INHERITED ResourceEnrollmentStatus_ResourceEnrollmentState = 2 + // Enrolled. + ResourceEnrollmentStatus_ENROLLED ResourceEnrollmentStatus_ResourceEnrollmentState = 3 +) + +// Enum value maps for ResourceEnrollmentStatus_ResourceEnrollmentState. +var ( + ResourceEnrollmentStatus_ResourceEnrollmentState_name = map[int32]string{ + 0: "RESOURCE_ENROLLMENT_STATE_UNSPECIFIED", + 1: "NOT_ENROLLED", + 2: "INHERITED", + 3: "ENROLLED", + } + ResourceEnrollmentStatus_ResourceEnrollmentState_value = map[string]int32{ + "RESOURCE_ENROLLMENT_STATE_UNSPECIFIED": 0, + "NOT_ENROLLED": 1, + "INHERITED": 2, + "ENROLLED": 3, + } +) + +func (x ResourceEnrollmentStatus_ResourceEnrollmentState) Enum() *ResourceEnrollmentStatus_ResourceEnrollmentState { + p := new(ResourceEnrollmentStatus_ResourceEnrollmentState) + *p = x + return p +} + +func (x ResourceEnrollmentStatus_ResourceEnrollmentState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ResourceEnrollmentStatus_ResourceEnrollmentState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[4].Descriptor() +} + +func (ResourceEnrollmentStatus_ResourceEnrollmentState) Type() protoreflect.EnumType { + return &file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[4] +} + +func (x ResourceEnrollmentStatus_ResourceEnrollmentState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ResourceEnrollmentStatus_ResourceEnrollmentState.Descriptor instead. +func (ResourceEnrollmentStatus_ResourceEnrollmentState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{15, 0} +} + +// The different states of the Audit Manager report generation. +type AuditReport_ReportGenerationState int32 + +const ( + // Unspecified. Invalid state. + AuditReport_REPORT_GENERATION_STATE_UNSPECIFIED AuditReport_ReportGenerationState = 0 + // Audit report generation process is in progress, ie. operation state is + // neither OPERATION_STATE_DONE nor OPERATION_STATE_FAILED. + AuditReport_IN_PROGRESS AuditReport_ReportGenerationState = 1 + // Audit report generation process is completed. Operation state is + // OPERATION_STATE_DONE. + AuditReport_COMPLETED AuditReport_ReportGenerationState = 2 + // Audit report generation process has failed. Operation state is + // OPERATION_STATE_FAILED. + AuditReport_FAILED AuditReport_ReportGenerationState = 3 + // Audit report generation process has completed. But report summary is + // unknown. This is valid for older reports. + AuditReport_SUMMARY_UNKNOWN AuditReport_ReportGenerationState = 4 +) + +// Enum value maps for AuditReport_ReportGenerationState. +var ( + AuditReport_ReportGenerationState_name = map[int32]string{ + 0: "REPORT_GENERATION_STATE_UNSPECIFIED", + 1: "IN_PROGRESS", + 2: "COMPLETED", + 3: "FAILED", + 4: "SUMMARY_UNKNOWN", + } + AuditReport_ReportGenerationState_value = map[string]int32{ + "REPORT_GENERATION_STATE_UNSPECIFIED": 0, + "IN_PROGRESS": 1, + "COMPLETED": 2, + "FAILED": 3, + "SUMMARY_UNKNOWN": 4, + } +) + +func (x AuditReport_ReportGenerationState) Enum() *AuditReport_ReportGenerationState { + p := new(AuditReport_ReportGenerationState) + *p = x + return p +} + +func (x AuditReport_ReportGenerationState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AuditReport_ReportGenerationState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[5].Descriptor() +} + +func (AuditReport_ReportGenerationState) Type() protoreflect.EnumType { + return &file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[5] +} + +func (x AuditReport_ReportGenerationState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AuditReport_ReportGenerationState.Descriptor instead. +func (AuditReport_ReportGenerationState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{16, 0} +} + +// The family of the control. For example, Access Control. +type Control_Family int32 + +const ( + // Unspecified. Invalid state. + Control_FAMILY_UNSPECIFIED Control_Family = 0 + // Access Control + Control_AC Control_Family = 1 + // Awareness and Training + Control_AT Control_Family = 2 + // Audit and Accountability + Control_AU Control_Family = 3 + // Certification, Accreditation and Security Assessments + Control_CA Control_Family = 4 + // Configuration Management + Control_CM Control_Family = 5 + // Contingency Planning + Control_CP Control_Family = 6 + // Identification and Authentication + Control_IA Control_Family = 7 + // Incident Response + Control_IR Control_Family = 8 + // Maintenance + Control_MA Control_Family = 9 + // Media Protection + Control_MP Control_Family = 10 + // Physical and Environmental Protection + Control_PE Control_Family = 11 + // Security Planning + Control_PL Control_Family = 12 + // Personnel Security + Control_PS Control_Family = 13 + // Risk Assessment + Control_RA Control_Family = 14 + // System Services and Acquisition + Control_SA Control_Family = 15 + // System and Communications Protection + Control_SC Control_Family = 16 + // System and Information Integrity + Control_SI Control_Family = 17 + // Supply Chain Risk Management + Control_SR Control_Family = 18 +) + +// Enum value maps for Control_Family. +var ( + Control_Family_name = map[int32]string{ + 0: "FAMILY_UNSPECIFIED", + 1: "AC", + 2: "AT", + 3: "AU", + 4: "CA", + 5: "CM", + 6: "CP", + 7: "IA", + 8: "IR", + 9: "MA", + 10: "MP", + 11: "PE", + 12: "PL", + 13: "PS", + 14: "RA", + 15: "SA", + 16: "SC", + 17: "SI", + 18: "SR", + } + Control_Family_value = map[string]int32{ + "FAMILY_UNSPECIFIED": 0, + "AC": 1, + "AT": 2, + "AU": 3, + "CA": 4, + "CM": 5, + "CP": 6, + "IA": 7, + "IR": 8, + "MA": 9, + "MP": 10, + "PE": 11, + "PL": 12, + "PS": 13, + "RA": 14, + "SA": 15, + "SC": 16, + "SI": 17, + "SR": 18, + } +) + +func (x Control_Family) Enum() *Control_Family { + p := new(Control_Family) + *p = x + return p +} + +func (x Control_Family) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Control_Family) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[6].Descriptor() +} + +func (Control_Family) Type() protoreflect.EnumType { + return &file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes[6] +} + +func (x Control_Family) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Control_Family.Descriptor instead. +func (Control_Family) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{18, 0} +} + +// Request message to subscribe the Audit Manager service for given resource. +type EnrollResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource to be enrolled to the audit manager. Scope format + // should be resource_type/resource_identifier Eg: + // projects/{project}/locations/{location}, + // folders/{folder}/locations/{location} + // organizations/{organization}/locations/{location} + Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` + // Required. List of destination among which customer can choose to upload + // their reports during the audit process. While enrolling at a + // organization/folder level, customer can choose Cloud storage bucket in any + // project. If the audit is triggered at project level using the service agent + // at organization/folder level, all the destination options associated with + // respective organization/folder level service agent will be available to + // auditing projects. + Destinations []*EnrollResourceRequest_EligibleDestination `protobuf:"bytes,2,rep,name=destinations,proto3" json:"destinations,omitempty"` +} + +func (x *EnrollResourceRequest) Reset() { + *x = EnrollResourceRequest{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnrollResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnrollResourceRequest) ProtoMessage() {} + +func (x *EnrollResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[0] + 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 EnrollResourceRequest.ProtoReflect.Descriptor instead. +func (*EnrollResourceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{0} +} + +func (x *EnrollResourceRequest) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *EnrollResourceRequest) GetDestinations() []*EnrollResourceRequest_EligibleDestination { + if x != nil { + return x.Destinations + } + return nil +} + +// Message for requesting audit scope report. +type GenerateAuditScopeReportRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Scope for which the AuditScopeReport is required. Must be of + // format resource_type/resource_identifier Eg: + // projects/{project}/locations/{location}, + // folders/{folder}/locations/{location} + Scope string `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"` + // Required. Compliance Standard against which the Scope Report must be + // generated. Eg: FEDRAMP_MODERATE + ComplianceStandard string `protobuf:"bytes,3,opt,name=compliance_standard,json=complianceStandard,proto3" json:"compliance_standard,omitempty"` + // Required. The format in which the Scope report bytes should be returned. + ReportFormat GenerateAuditScopeReportRequest_AuditScopeReportFormat `protobuf:"varint,4,opt,name=report_format,json=reportFormat,proto3,enum=google.cloud.auditmanager.v1.GenerateAuditScopeReportRequest_AuditScopeReportFormat" json:"report_format,omitempty"` + // Required. Compliance framework against which the Scope Report must be + // generated. + ComplianceFramework string `protobuf:"bytes,5,opt,name=compliance_framework,json=complianceFramework,proto3" json:"compliance_framework,omitempty"` +} + +func (x *GenerateAuditScopeReportRequest) Reset() { + *x = GenerateAuditScopeReportRequest{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateAuditScopeReportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateAuditScopeReportRequest) ProtoMessage() {} + +func (x *GenerateAuditScopeReportRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[1] + 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 GenerateAuditScopeReportRequest.ProtoReflect.Descriptor instead. +func (*GenerateAuditScopeReportRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{1} +} + +func (x *GenerateAuditScopeReportRequest) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *GenerateAuditScopeReportRequest) GetComplianceStandard() string { + if x != nil { + return x.ComplianceStandard + } + return "" +} + +func (x *GenerateAuditScopeReportRequest) GetReportFormat() GenerateAuditScopeReportRequest_AuditScopeReportFormat { + if x != nil { + return x.ReportFormat + } + return GenerateAuditScopeReportRequest_AUDIT_SCOPE_REPORT_FORMAT_UNSPECIFIED +} + +func (x *GenerateAuditScopeReportRequest) GetComplianceFramework() string { + if x != nil { + return x.ComplianceFramework + } + return "" +} + +// Message for requesting the Audit Report. +type GenerateAuditReportRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Set of options for the report destination location. + // + // Types that are assignable to Destination: + // + // *GenerateAuditReportRequest_GcsUri + Destination isGenerateAuditReportRequest_Destination `protobuf_oneof:"destination"` + // Required. Scope for which the AuditScopeReport is required. Must be of + // format resource_type/resource_identifier Eg: + // projects/{project}/locations/{location}, + // folders/{folder}/locations/{location} + Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` + // Required. Compliance Standard against which the Scope Report must be + // generated. Eg: FEDRAMP_MODERATE + ComplianceStandard string `protobuf:"bytes,3,opt,name=compliance_standard,json=complianceStandard,proto3" json:"compliance_standard,omitempty"` + // Required. The format in which the audit report should be created. + ReportFormat GenerateAuditReportRequest_AuditReportFormat `protobuf:"varint,4,opt,name=report_format,json=reportFormat,proto3,enum=google.cloud.auditmanager.v1.GenerateAuditReportRequest_AuditReportFormat" json:"report_format,omitempty"` + // Required. Compliance framework against which the Report must be generated. + ComplianceFramework string `protobuf:"bytes,5,opt,name=compliance_framework,json=complianceFramework,proto3" json:"compliance_framework,omitempty"` +} + +func (x *GenerateAuditReportRequest) Reset() { + *x = GenerateAuditReportRequest{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateAuditReportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateAuditReportRequest) ProtoMessage() {} + +func (x *GenerateAuditReportRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[2] + 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 GenerateAuditReportRequest.ProtoReflect.Descriptor instead. +func (*GenerateAuditReportRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{2} +} + +func (m *GenerateAuditReportRequest) GetDestination() isGenerateAuditReportRequest_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *GenerateAuditReportRequest) GetGcsUri() string { + if x, ok := x.GetDestination().(*GenerateAuditReportRequest_GcsUri); ok { + return x.GcsUri + } + return "" +} + +func (x *GenerateAuditReportRequest) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *GenerateAuditReportRequest) GetComplianceStandard() string { + if x != nil { + return x.ComplianceStandard + } + return "" +} + +func (x *GenerateAuditReportRequest) GetReportFormat() GenerateAuditReportRequest_AuditReportFormat { + if x != nil { + return x.ReportFormat + } + return GenerateAuditReportRequest_AUDIT_REPORT_FORMAT_UNSPECIFIED +} + +func (x *GenerateAuditReportRequest) GetComplianceFramework() string { + if x != nil { + return x.ComplianceFramework + } + return "" +} + +type isGenerateAuditReportRequest_Destination interface { + isGenerateAuditReportRequest_Destination() +} + +type GenerateAuditReportRequest_GcsUri struct { + // Destination Cloud storage bucket where report and evidence must be + // uploaded. The Cloud storage bucket provided here must be selected among + // the buckets entered during the enrollment process. + GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"` +} + +func (*GenerateAuditReportRequest_GcsUri) isGenerateAuditReportRequest_Destination() {} + +// Message for getting the enrollment status of a resource. +type GetResourceEnrollmentStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Format + // folders/{folder}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}, + // projects/{project}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}, + // organizations/{organization}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetResourceEnrollmentStatusRequest) Reset() { + *x = GetResourceEnrollmentStatusRequest{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetResourceEnrollmentStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetResourceEnrollmentStatusRequest) ProtoMessage() {} + +func (x *GetResourceEnrollmentStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[3] + 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 GetResourceEnrollmentStatusRequest.ProtoReflect.Descriptor instead. +func (*GetResourceEnrollmentStatusRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{3} +} + +func (x *GetResourceEnrollmentStatusRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Message for listing all the descendent resources under parent with +// enrollment. +type ListResourceEnrollmentStatusesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent scope for which the list of resources with enrollments + // are required. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The maximum number of resources to return. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The next_page_token value returned from a previous List request, + // if any. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListResourceEnrollmentStatusesRequest) Reset() { + *x = ListResourceEnrollmentStatusesRequest{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListResourceEnrollmentStatusesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListResourceEnrollmentStatusesRequest) ProtoMessage() {} + +func (x *ListResourceEnrollmentStatusesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_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 ListResourceEnrollmentStatusesRequest.ProtoReflect.Descriptor instead. +func (*ListResourceEnrollmentStatusesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{4} +} + +func (x *ListResourceEnrollmentStatusesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListResourceEnrollmentStatusesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListResourceEnrollmentStatusesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message with all the descendent resources with enrollment. +type ListResourceEnrollmentStatusesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The resources with their enrollment status. + ResourceEnrollmentStatuses []*ResourceEnrollmentStatus `protobuf:"bytes,1,rep,name=resource_enrollment_statuses,json=resourceEnrollmentStatuses,proto3" json:"resource_enrollment_statuses,omitempty"` + // Output only. The token to retrieve the next page of results. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListResourceEnrollmentStatusesResponse) Reset() { + *x = ListResourceEnrollmentStatusesResponse{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListResourceEnrollmentStatusesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListResourceEnrollmentStatusesResponse) ProtoMessage() {} + +func (x *ListResourceEnrollmentStatusesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[5] + 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 ListResourceEnrollmentStatusesResponse.ProtoReflect.Descriptor instead. +func (*ListResourceEnrollmentStatusesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{5} +} + +func (x *ListResourceEnrollmentStatusesResponse) GetResourceEnrollmentStatuses() []*ResourceEnrollmentStatus { + if x != nil { + return x.ResourceEnrollmentStatuses + } + return nil +} + +func (x *ListResourceEnrollmentStatusesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Message for requesting to list the audit reports. +type ListAuditReportsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent scope for which to list the reports. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The maximum number of resources to return. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The next_page_token value returned from a previous List request, + // if any. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListAuditReportsRequest) Reset() { + *x = ListAuditReportsRequest{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAuditReportsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAuditReportsRequest) ProtoMessage() {} + +func (x *ListAuditReportsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[6] + 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 ListAuditReportsRequest.ProtoReflect.Descriptor instead. +func (*ListAuditReportsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{6} +} + +func (x *ListAuditReportsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListAuditReportsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListAuditReportsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message with all the audit reports. +type ListAuditReportsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The audit reports. + AuditReports []*AuditReport `protobuf:"bytes,1,rep,name=audit_reports,json=auditReports,proto3" json:"audit_reports,omitempty"` + // Output only. The token to retrieve the next page of results. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListAuditReportsResponse) Reset() { + *x = ListAuditReportsResponse{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAuditReportsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAuditReportsResponse) ProtoMessage() {} + +func (x *ListAuditReportsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[7] + 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 ListAuditReportsResponse.ProtoReflect.Descriptor instead. +func (*ListAuditReportsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{7} +} + +func (x *ListAuditReportsResponse) GetAuditReports() []*AuditReport { + if x != nil { + return x.AuditReports + } + return nil +} + +func (x *ListAuditReportsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Message for requesting the overall audit report for an audit report name. +type GetAuditReportRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Format + // projects/{project}/locations/{location}/auditReports/{audit_report}, + // folders/{folder}/locations/{location}/auditReports/{audit_report} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetAuditReportRequest) Reset() { + *x = GetAuditReportRequest{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAuditReportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAuditReportRequest) ProtoMessage() {} + +func (x *GetAuditReportRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[8] + 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 GetAuditReportRequest.ProtoReflect.Descriptor instead. +func (*GetAuditReportRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{8} +} + +func (x *GetAuditReportRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Message for requesting all the controls for a compliance standard. +type ListControlsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Format + // projects/{project}/locations/{location}/standards/{standard}, + // folders/{folder}/locations/{location}/standards/{standard} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The maximum number of resources to return. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The next_page_token value returned from a previous List request, + // if any. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListControlsRequest) Reset() { + *x = ListControlsRequest{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListControlsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListControlsRequest) ProtoMessage() {} + +func (x *ListControlsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[9] + 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 ListControlsRequest.ProtoReflect.Descriptor instead. +func (*ListControlsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{9} +} + +func (x *ListControlsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListControlsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListControlsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message with all the controls for a compliance standard. +type ListControlsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The controls for the compliance standard. + Controls []*Control `protobuf:"bytes,1,rep,name=controls,proto3" json:"controls,omitempty"` + // Output only. The token to retrieve the next page of results. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListControlsResponse) Reset() { + *x = ListControlsResponse{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListControlsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListControlsResponse) ProtoMessage() {} + +func (x *ListControlsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[10] + 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 ListControlsResponse.ProtoReflect.Descriptor instead. +func (*ListControlsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{10} +} + +func (x *ListControlsResponse) GetControls() []*Control { + if x != nil { + return x.Controls + } + return nil +} + +func (x *ListControlsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// The `ReportGenerationProgress` is part of +// [google.longrunning.Operation][google.longrunning.Operation] returned to the +// client for every `GetOperation` request. +type ReportGenerationProgress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The current state of execution for report generation. + State OperationState `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.auditmanager.v1.OperationState" json:"state,omitempty"` + // Output only. States the reason of failure during the audit report + // generation process. This field is set only if the state attribute is + // OPERATION_STATE_FAILED. + FailureReason string `protobuf:"bytes,2,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"` + // Shows the progress of the CESS service evaluation process. The progress is + // defined in terms of percentage complete and is being fetched from the CESS + // service. + EvaluationPercentComplete float64 `protobuf:"fixed64,20,opt,name=evaluation_percent_complete,json=evaluationPercentComplete,proto3" json:"evaluation_percent_complete,omitempty"` + // Shows the report generation progress of the CESS Result Processor Service. + // The // progress is defined in terms of percentage complete and is being + // fetched from the CESS service. If report_generation_in_progress is non zero + // then evaluation_percent_complete will be 100%. + ReportGenerationPercentComplete float64 `protobuf:"fixed64,30,opt,name=report_generation_percent_complete,json=reportGenerationPercentComplete,proto3" json:"report_generation_percent_complete,omitempty"` + // Shows the report uploading progress of the CESS Result Processor Service. + // The progress is defined in terms of percentage complete and is being + // fetched from the CESS service. If report_uploading_in_progress is non zero + // then evaluation_percent_complete and report_generation_percent_complete + // will be 100%. + ReportUploadingPercentComplete float64 `protobuf:"fixed64,40,opt,name=report_uploading_percent_complete,json=reportUploadingPercentComplete,proto3" json:"report_uploading_percent_complete,omitempty"` + // Output only. The Cloud Storage bucket where the audit report will be + // uploaded once the evaluation process is completed. + DestinationGcsBucket string `protobuf:"bytes,50,opt,name=destination_gcs_bucket,json=destinationGcsBucket,proto3" json:"destination_gcs_bucket,omitempty"` + // Output only. The name of the audit report. + AuditReport string `protobuf:"bytes,51,opt,name=audit_report,json=auditReport,proto3" json:"audit_report,omitempty"` +} + +func (x *ReportGenerationProgress) Reset() { + *x = ReportGenerationProgress{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReportGenerationProgress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReportGenerationProgress) ProtoMessage() {} + +func (x *ReportGenerationProgress) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[11] + 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 ReportGenerationProgress.ProtoReflect.Descriptor instead. +func (*ReportGenerationProgress) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{11} +} + +func (x *ReportGenerationProgress) GetState() OperationState { + if x != nil { + return x.State + } + return OperationState_OPERATION_STATE_UNSPECIFIED +} + +func (x *ReportGenerationProgress) GetFailureReason() string { + if x != nil { + return x.FailureReason + } + return "" +} + +func (x *ReportGenerationProgress) GetEvaluationPercentComplete() float64 { + if x != nil { + return x.EvaluationPercentComplete + } + return 0 +} + +func (x *ReportGenerationProgress) GetReportGenerationPercentComplete() float64 { + if x != nil { + return x.ReportGenerationPercentComplete + } + return 0 +} + +func (x *ReportGenerationProgress) GetReportUploadingPercentComplete() float64 { + if x != nil { + return x.ReportUploadingPercentComplete + } + return 0 +} + +func (x *ReportGenerationProgress) GetDestinationGcsBucket() string { + if x != nil { + return x.DestinationGcsBucket + } + return "" +} + +func (x *ReportGenerationProgress) GetAuditReport() string { + if x != nil { + return x.AuditReport + } + return "" +} + +// The enrollment resource. +type Enrollment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The name of this Enrollment, in the format of scope given in + // request. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The locations where the generated reports can be uploaded. + DestinationDetails []*DestinationDetails `protobuf:"bytes,3,rep,name=destination_details,json=destinationDetails,proto3" json:"destination_details,omitempty"` +} + +func (x *Enrollment) Reset() { + *x = Enrollment{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Enrollment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Enrollment) ProtoMessage() {} + +func (x *Enrollment) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[12] + 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 Enrollment.ProtoReflect.Descriptor instead. +func (*Enrollment) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{12} +} + +func (x *Enrollment) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Enrollment) GetDestinationDetails() []*DestinationDetails { + if x != nil { + return x.DestinationDetails + } + return nil +} + +// The audit scope report. +type AuditScopeReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The options in which the audit scope report is exported. + // + // Types that are assignable to AuditReport: + // + // *AuditScopeReport_ScopeReportContents + AuditReport isAuditScopeReport_AuditReport `protobuf_oneof:"audit_report"` + // Identifier. The name of this Audit Report, in the format of scope given in + // request. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *AuditScopeReport) Reset() { + *x = AuditScopeReport{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AuditScopeReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuditScopeReport) ProtoMessage() {} + +func (x *AuditScopeReport) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[13] + 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 AuditScopeReport.ProtoReflect.Descriptor instead. +func (*AuditScopeReport) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{13} +} + +func (m *AuditScopeReport) GetAuditReport() isAuditScopeReport_AuditReport { + if m != nil { + return m.AuditReport + } + return nil +} + +func (x *AuditScopeReport) GetScopeReportContents() []byte { + if x, ok := x.GetAuditReport().(*AuditScopeReport_ScopeReportContents); ok { + return x.ScopeReportContents + } + return nil +} + +func (x *AuditScopeReport) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type isAuditScopeReport_AuditReport interface { + isAuditScopeReport_AuditReport() +} + +type AuditScopeReport_ScopeReportContents struct { + // The audit scope report content in byte format. + ScopeReportContents []byte `protobuf:"bytes,1,opt,name=scope_report_contents,json=scopeReportContents,proto3,oneof"` +} + +func (*AuditScopeReport_ScopeReportContents) isAuditScopeReport_AuditReport() {} + +// The metadata of the long-running operation. +type OperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The time the operation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time the operation finished running. + EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Server-defined resource path for the target of the operation. + Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` + // Output only. Name of the verb executed by the operation. + Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"` + // Output only. Human-readable status of the operation, if any. + StatusMessage string `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + RequestedCancellation bool `protobuf:"varint,6,opt,name=requested_cancellation,json=requestedCancellation,proto3" json:"requested_cancellation,omitempty"` + // Output only. API version used to start the operation. + ApiVersion string `protobuf:"bytes,7,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` +} + +func (x *OperationMetadata) Reset() { + *x = OperationMetadata{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationMetadata) ProtoMessage() {} + +func (x *OperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[14] + 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 OperationMetadata.ProtoReflect.Descriptor instead. +func (*OperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{14} +} + +func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *OperationMetadata) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *OperationMetadata) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *OperationMetadata) GetVerb() string { + if x != nil { + return x.Verb + } + return "" +} + +func (x *OperationMetadata) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *OperationMetadata) GetRequestedCancellation() bool { + if x != nil { + return x.RequestedCancellation + } + return false +} + +func (x *OperationMetadata) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +// A resource with its enrollment status. +type ResourceEnrollmentStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The name of this resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Enrollment which contains enrolled destination details for a + // resource + Enrollment *Enrollment `protobuf:"bytes,2,opt,name=enrollment,proto3" json:"enrollment,omitempty"` + // Output only. Is resource enrolled. + // + // Deprecated: Marked as deprecated in google/cloud/auditmanager/v1/auditmanager.proto. + Enrolled bool `protobuf:"varint,3,opt,name=enrolled,proto3" json:"enrolled,omitempty"` + // Output only. Display name of the project/folder/organization. + DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Enrollment state of the resource. + EnrollmentState ResourceEnrollmentStatus_ResourceEnrollmentState `protobuf:"varint,5,opt,name=enrollment_state,json=enrollmentState,proto3,enum=google.cloud.auditmanager.v1.ResourceEnrollmentStatus_ResourceEnrollmentState" json:"enrollment_state,omitempty"` +} + +func (x *ResourceEnrollmentStatus) Reset() { + *x = ResourceEnrollmentStatus{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceEnrollmentStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceEnrollmentStatus) ProtoMessage() {} + +func (x *ResourceEnrollmentStatus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[15] + 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 ResourceEnrollmentStatus.ProtoReflect.Descriptor instead. +func (*ResourceEnrollmentStatus) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{15} +} + +func (x *ResourceEnrollmentStatus) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResourceEnrollmentStatus) GetEnrollment() *Enrollment { + if x != nil { + return x.Enrollment + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/auditmanager/v1/auditmanager.proto. +func (x *ResourceEnrollmentStatus) GetEnrolled() bool { + if x != nil { + return x.Enrolled + } + return false +} + +func (x *ResourceEnrollmentStatus) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ResourceEnrollmentStatus) GetEnrollmentState() ResourceEnrollmentStatus_ResourceEnrollmentState { + if x != nil { + return x.EnrollmentState + } + return ResourceEnrollmentStatus_RESOURCE_ENROLLMENT_STATE_UNSPECIFIED +} + +// An audit report. +type AuditReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The name of this Audit Report, in the format of scope given in + // request. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Report summary with compliance, violation counts etc. + ReportSummary *ReportSummary `protobuf:"bytes,2,opt,name=report_summary,json=reportSummary,proto3" json:"report_summary,omitempty"` + // Output only. ClientOperationId + OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Output only. The location where the generated report will be uploaded. + DestinationDetails *DestinationDetails `protobuf:"bytes,4,opt,name=destination_details,json=destinationDetails,proto3" json:"destination_details,omitempty"` + // Output only. Compliance Standard. + ComplianceStandard string `protobuf:"bytes,5,opt,name=compliance_standard,json=complianceStandard,proto3" json:"compliance_standard,omitempty"` + // Output only. The parent scope on which the report was generated. + Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` + // Output only. Creation time of the audit report. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The overall status of controls + ControlDetails []*ControlDetails `protobuf:"bytes,8,rep,name=control_details,json=controlDetails,proto3" json:"control_details,omitempty"` + // Output only. The state of Audit Report Generation. + ReportGenerationState AuditReport_ReportGenerationState `protobuf:"varint,9,opt,name=report_generation_state,json=reportGenerationState,proto3,enum=google.cloud.auditmanager.v1.AuditReport_ReportGenerationState" json:"report_generation_state,omitempty"` + // Output only. Compliance Framework of Audit Report + ComplianceFramework string `protobuf:"bytes,10,opt,name=compliance_framework,json=complianceFramework,proto3" json:"compliance_framework,omitempty"` + // Output only. The ID/ Number for the scope on which the audit report was + // generated. + ScopeId string `protobuf:"bytes,11,opt,name=scope_id,json=scopeId,proto3" json:"scope_id,omitempty"` +} + +func (x *AuditReport) Reset() { + *x = AuditReport{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AuditReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuditReport) ProtoMessage() {} + +func (x *AuditReport) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[16] + 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 AuditReport.ProtoReflect.Descriptor instead. +func (*AuditReport) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{16} +} + +func (x *AuditReport) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AuditReport) GetReportSummary() *ReportSummary { + if x != nil { + return x.ReportSummary + } + return nil +} + +func (x *AuditReport) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *AuditReport) GetDestinationDetails() *DestinationDetails { + if x != nil { + return x.DestinationDetails + } + return nil +} + +func (x *AuditReport) GetComplianceStandard() string { + if x != nil { + return x.ComplianceStandard + } + return "" +} + +func (x *AuditReport) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *AuditReport) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *AuditReport) GetControlDetails() []*ControlDetails { + if x != nil { + return x.ControlDetails + } + return nil +} + +func (x *AuditReport) GetReportGenerationState() AuditReport_ReportGenerationState { + if x != nil { + return x.ReportGenerationState + } + return AuditReport_REPORT_GENERATION_STATE_UNSPECIFIED +} + +func (x *AuditReport) GetComplianceFramework() string { + if x != nil { + return x.ComplianceFramework + } + return "" +} + +func (x *AuditReport) GetScopeId() string { + if x != nil { + return x.ScopeId + } + return "" +} + +// The regulatory family of the control. +type ControlFamily struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the regulatory control family. + FamilyId string `protobuf:"bytes,1,opt,name=family_id,json=familyId,proto3" json:"family_id,omitempty"` + // The display name of the regulatory control family. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` +} + +func (x *ControlFamily) Reset() { + *x = ControlFamily{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ControlFamily) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ControlFamily) ProtoMessage() {} + +func (x *ControlFamily) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[17] + 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 ControlFamily.ProtoReflect.Descriptor instead. +func (*ControlFamily) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{17} +} + +func (x *ControlFamily) GetFamilyId() string { + if x != nil { + return x.FamilyId + } + return "" +} + +func (x *ControlFamily) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +// A control. +type Control struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The control identifier used to fetch the findings. This is + // same as the control report name. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Output only. Display name of the control. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Group where the control belongs. E.g. Access Control. + Family Control_Family `protobuf:"varint,3,opt,name=family,proto3,enum=google.cloud.auditmanager.v1.Control_Family" json:"family,omitempty"` + // Output only. Regulatory Family of the control E.g. Access Control + ControlFamily *ControlFamily `protobuf:"bytes,10,opt,name=control_family,json=controlFamily,proto3" json:"control_family,omitempty"` + // Output only. Regulatory control ask of the control + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + // Output only. The type of responsibility for implementing this control. It + // can be google, customer or shared. + ResponsibilityType string `protobuf:"bytes,5,opt,name=responsibility_type,json=responsibilityType,proto3" json:"responsibility_type,omitempty"` + // Output only. Description of the google responsibility for implementing this + // control. + GoogleResponsibilityDescription string `protobuf:"bytes,6,opt,name=google_responsibility_description,json=googleResponsibilityDescription,proto3" json:"google_responsibility_description,omitempty"` + // Output only. Implementation of the google responsibility for implementing + // this control. + GoogleResponsibilityImplementation string `protobuf:"bytes,7,opt,name=google_responsibility_implementation,json=googleResponsibilityImplementation,proto3" json:"google_responsibility_implementation,omitempty"` + // Output only. Description of the customer responsibility for implementing + // this control. + CustomerResponsibilityDescription string `protobuf:"bytes,8,opt,name=customer_responsibility_description,json=customerResponsibilityDescription,proto3" json:"customer_responsibility_description,omitempty"` + // Output only. Implementation of the customer responsibility for implementing + // this control. + CustomerResponsibilityImplementation string `protobuf:"bytes,9,opt,name=customer_responsibility_implementation,json=customerResponsibilityImplementation,proto3" json:"customer_responsibility_implementation,omitempty"` +} + +func (x *Control) Reset() { + *x = Control{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Control) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Control) ProtoMessage() {} + +func (x *Control) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[18] + 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 Control.ProtoReflect.Descriptor instead. +func (*Control) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{18} +} + +func (x *Control) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Control) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Control) GetFamily() Control_Family { + if x != nil { + return x.Family + } + return Control_FAMILY_UNSPECIFIED +} + +func (x *Control) GetControlFamily() *ControlFamily { + if x != nil { + return x.ControlFamily + } + return nil +} + +func (x *Control) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Control) GetResponsibilityType() string { + if x != nil { + return x.ResponsibilityType + } + return "" +} + +func (x *Control) GetGoogleResponsibilityDescription() string { + if x != nil { + return x.GoogleResponsibilityDescription + } + return "" +} + +func (x *Control) GetGoogleResponsibilityImplementation() string { + if x != nil { + return x.GoogleResponsibilityImplementation + } + return "" +} + +func (x *Control) GetCustomerResponsibilityDescription() string { + if x != nil { + return x.CustomerResponsibilityDescription + } + return "" +} + +func (x *Control) GetCustomerResponsibilityImplementation() string { + if x != nil { + return x.CustomerResponsibilityImplementation + } + return "" +} + +// The locations where the generated reports are saved. +type DestinationDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Destination: + // + // *DestinationDetails_GcsBucketUri + Destination isDestinationDetails_Destination `protobuf_oneof:"destination"` +} + +func (x *DestinationDetails) Reset() { + *x = DestinationDetails{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DestinationDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DestinationDetails) ProtoMessage() {} + +func (x *DestinationDetails) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[19] + 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 DestinationDetails.ProtoReflect.Descriptor instead. +func (*DestinationDetails) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{19} +} + +func (m *DestinationDetails) GetDestination() isDestinationDetails_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *DestinationDetails) GetGcsBucketUri() string { + if x, ok := x.GetDestination().(*DestinationDetails_GcsBucketUri); ok { + return x.GcsBucketUri + } + return "" +} + +type isDestinationDetails_Destination interface { + isDestinationDetails_Destination() +} + +type DestinationDetails_GcsBucketUri struct { + // The Cloud Storage bucket where the audit report is/will be uploaded. + GcsBucketUri string `protobuf:"bytes,1,opt,name=gcs_bucket_uri,json=gcsBucketUri,proto3,oneof"` +} + +func (*DestinationDetails_GcsBucketUri) isDestinationDetails_Destination() {} + +// The additional information for an audit operation. +type ReportSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Total number of checks. + TotalCount int32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + // Number of compliant checks. + CompliantCount int32 `protobuf:"varint,2,opt,name=compliant_count,json=compliantCount,proto3" json:"compliant_count,omitempty"` + // Number of checks with violations. + ViolationCount int32 `protobuf:"varint,3,opt,name=violation_count,json=violationCount,proto3" json:"violation_count,omitempty"` + // Number of checks with "manual review needed" status. + ManualReviewNeededCount int32 `protobuf:"varint,4,opt,name=manual_review_needed_count,json=manualReviewNeededCount,proto3" json:"manual_review_needed_count,omitempty"` + // Number of checks that could not be performed due to errors. + ErrorCount int32 `protobuf:"varint,5,opt,name=error_count,json=errorCount,proto3" json:"error_count,omitempty"` +} + +func (x *ReportSummary) Reset() { + *x = ReportSummary{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReportSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReportSummary) ProtoMessage() {} + +func (x *ReportSummary) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[20] + 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 ReportSummary.ProtoReflect.Descriptor instead. +func (*ReportSummary) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{20} +} + +func (x *ReportSummary) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +func (x *ReportSummary) GetCompliantCount() int32 { + if x != nil { + return x.CompliantCount + } + return 0 +} + +func (x *ReportSummary) GetViolationCount() int32 { + if x != nil { + return x.ViolationCount + } + return 0 +} + +func (x *ReportSummary) GetManualReviewNeededCount() int32 { + if x != nil { + return x.ManualReviewNeededCount + } + return 0 +} + +func (x *ReportSummary) GetErrorCount() int32 { + if x != nil { + return x.ErrorCount + } + return 0 +} + +// The evaluation details for a control. +type ControlDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The control for which the findings are being reported. + Control *Control `protobuf:"bytes,1,opt,name=control,proto3" json:"control,omitempty"` + // Output only. Overall status of the findings for the control. + ComplianceState ComplianceState `protobuf:"varint,2,opt,name=compliance_state,json=complianceState,proto3,enum=google.cloud.auditmanager.v1.ComplianceState" json:"compliance_state,omitempty"` + // Report summary with compliance, violation counts etc. + ControlReportSummary *ReportSummary `protobuf:"bytes,3,opt,name=control_report_summary,json=controlReportSummary,proto3" json:"control_report_summary,omitempty"` +} + +func (x *ControlDetails) Reset() { + *x = ControlDetails{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ControlDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ControlDetails) ProtoMessage() {} + +func (x *ControlDetails) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[21] + 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 ControlDetails.ProtoReflect.Descriptor instead. +func (*ControlDetails) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{21} +} + +func (x *ControlDetails) GetControl() *Control { + if x != nil { + return x.Control + } + return nil +} + +func (x *ControlDetails) GetComplianceState() ComplianceState { + if x != nil { + return x.ComplianceState + } + return ComplianceState_COMPLIANCE_STATE_UNSPECIFIED +} + +func (x *ControlDetails) GetControlReportSummary() *ReportSummary { + if x != nil { + return x.ControlReportSummary + } + return nil +} + +// The destination details where the audit report must be uploaded. +type EnrollResourceRequest_EligibleDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The options for the report destination location. + // + // Types that are assignable to EligibleDestinations: + // + // *EnrollResourceRequest_EligibleDestination_EligibleGcsBucket + EligibleDestinations isEnrollResourceRequest_EligibleDestination_EligibleDestinations `protobuf_oneof:"eligible_destinations"` +} + +func (x *EnrollResourceRequest_EligibleDestination) Reset() { + *x = EnrollResourceRequest_EligibleDestination{} + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnrollResourceRequest_EligibleDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnrollResourceRequest_EligibleDestination) ProtoMessage() {} + +func (x *EnrollResourceRequest_EligibleDestination) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[22] + 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 EnrollResourceRequest_EligibleDestination.ProtoReflect.Descriptor instead. +func (*EnrollResourceRequest_EligibleDestination) Descriptor() ([]byte, []int) { + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP(), []int{0, 0} +} + +func (m *EnrollResourceRequest_EligibleDestination) GetEligibleDestinations() isEnrollResourceRequest_EligibleDestination_EligibleDestinations { + if m != nil { + return m.EligibleDestinations + } + return nil +} + +func (x *EnrollResourceRequest_EligibleDestination) GetEligibleGcsBucket() string { + if x, ok := x.GetEligibleDestinations().(*EnrollResourceRequest_EligibleDestination_EligibleGcsBucket); ok { + return x.EligibleGcsBucket + } + return "" +} + +type isEnrollResourceRequest_EligibleDestination_EligibleDestinations interface { + isEnrollResourceRequest_EligibleDestination_EligibleDestinations() +} + +type EnrollResourceRequest_EligibleDestination_EligibleGcsBucket struct { + // The Cloud Storage bucket location where the audit report and evidences + // can be uploaded during the `GenerateAuditReport` API call. + EligibleGcsBucket string `protobuf:"bytes,3,opt,name=eligible_gcs_bucket,json=eligibleGcsBucket,proto3,oneof"` +} + +func (*EnrollResourceRequest_EligibleDestination_EligibleGcsBucket) isEnrollResourceRequest_EligibleDestination_EligibleDestinations() { +} + +var File_google_cloud_auditmanager_v1_auditmanager_proto protoreflect.FileDescriptor + +var file_google_cloud_auditmanager_v1_auditmanager_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x02, 0x0a, 0x15, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x70, 0x0a, + 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, + 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, + 0x60, 0x0a, 0x13, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, + 0x6c, 0x65, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x47, + 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x65, 0x6c, 0x69, 0x67, + 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x92, 0x03, 0x0a, 0x1f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x12, 0x34, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, + 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x12, 0x7e, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x36, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x69, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x66, + 0x0a, 0x16, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x55, 0x44, 0x49, + 0x54, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x4f, + 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, + 0x5f, 0x4f, 0x44, 0x46, 0x10, 0x01, 0x22, 0x9c, 0x03, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, + 0x12, 0x19, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x13, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, + 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, + 0x64, 0x12, 0x74, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x36, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x22, + 0x55, 0x0a, 0x11, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x52, 0x45, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x55, 0x44, + 0x49, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, + 0x5f, 0x4f, 0x44, 0x46, 0x10, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x36, 0x0a, 0x34, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc0, 0x01, + 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, + 0x31, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0xcf, 0x01, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x1c, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x12, 0x27, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9c, 0x01, + 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, + 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5c, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8b, + 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x12, + 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf6, 0x03, 0x0a, + 0x18, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x3e, + 0x0a, 0x1b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x19, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x4b, + 0x0a, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x1f, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x21, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x18, 0x28, 0x20, 0x01, 0x28, 0x01, 0x52, 0x1e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x12, 0x52, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x29, 0x0a, + 0x27, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xa3, 0x03, 0x0a, 0x0a, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x66, 0x0a, + 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x3a, 0x93, 0x02, 0xea, 0x41, 0x8f, 0x02, 0x0a, 0x26, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x65, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x12, 0x3e, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x65, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x12, 0x4a, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x7d, 0x2a, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x32, + 0x0a, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xe9, 0x02, 0x0a, 0x10, + 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x34, 0x0a, 0x15, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x00, 0x52, 0x13, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, + 0xf5, 0x01, 0xea, 0x41, 0xf1, 0x01, 0x0a, 0x2c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x4e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, + 0x7b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x7d, 0x12, 0x4c, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, + 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x7b, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x7d, 0x2a, 0x11, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x32, 0x10, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xd5, 0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 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, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 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, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x76, 0x65, 0x72, + 0x62, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, + 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x69, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0xe0, 0x06, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x08, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x03, 0x18, 0x01, 0x52, 0x08, 0x65, + 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x7e, 0x0a, 0x10, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, + 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, + 0x73, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x52, 0x45, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, + 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x52, + 0x4f, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x48, 0x45, 0x52, + 0x49, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, + 0x45, 0x44, 0x10, 0x03, 0x3a, 0x9b, 0x03, 0xea, 0x41, 0x97, 0x03, 0x0a, 0x34, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x5d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, + 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, + 0x12, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, + 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x7d, 0x12, 0x69, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2f, + 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x7d, 0x2a, 0x1a, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x32, 0x18, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0xab, 0x08, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x66, 0x0a, 0x13, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, + 0x63, 0x65, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x7c, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x36, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x08, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x07, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x47, 0x45, + 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, + 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, + 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x55, 0x4d, 0x4d, + 0x41, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x04, 0x3a, 0xd0, 0x01, + 0xea, 0x41, 0xcc, 0x01, 0x0a, 0x27, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x43, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x7d, 0x12, 0x41, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, + 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x7d, 0x2a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x32, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x22, 0x4f, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, + 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0xd2, 0x06, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x13, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x66, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x66, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x57, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x25, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x21, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x24, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x23, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x21, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x26, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x24, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x01, 0x0a, 0x06, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x16, + 0x0a, 0x12, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x41, 0x43, 0x10, 0x01, 0x12, 0x06, + 0x0a, 0x02, 0x41, 0x54, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x41, 0x55, 0x10, 0x03, 0x12, 0x06, + 0x0a, 0x02, 0x43, 0x41, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x43, 0x4d, 0x10, 0x05, 0x12, 0x06, + 0x0a, 0x02, 0x43, 0x50, 0x10, 0x06, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x41, 0x10, 0x07, 0x12, 0x06, + 0x0a, 0x02, 0x49, 0x52, 0x10, 0x08, 0x12, 0x06, 0x0a, 0x02, 0x4d, 0x41, 0x10, 0x09, 0x12, 0x06, + 0x0a, 0x02, 0x4d, 0x50, 0x10, 0x0a, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x45, 0x10, 0x0b, 0x12, 0x06, + 0x0a, 0x02, 0x50, 0x4c, 0x10, 0x0c, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x53, 0x10, 0x0d, 0x12, 0x06, + 0x0a, 0x02, 0x52, 0x41, 0x10, 0x0e, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x41, 0x10, 0x0f, 0x12, 0x06, + 0x0a, 0x02, 0x53, 0x43, 0x10, 0x10, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x49, 0x10, 0x11, 0x12, 0x06, + 0x0a, 0x02, 0x53, 0x52, 0x10, 0x12, 0x22, 0x4b, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0e, + 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x55, 0x72, 0x69, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xe0, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, + 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x27, 0x0a, 0x0f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x6d, 0x61, 0x6e, 0x75, + 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x6d, 0x61, + 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x93, 0x02, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, + 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x16, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2a, 0xfb, 0x02, 0x0a, + 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x1f, 0x0a, 0x1b, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, + 0x0a, 0x12, 0x2a, 0x0a, 0x26, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x14, 0x12, 0x23, 0x0a, + 0x1f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x4e, 0x45, + 0x10, 0x15, 0x12, 0x3a, 0x0a, 0x36, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x52, + 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x1e, 0x12, 0x33, + 0x0a, 0x2f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x45, 0x56, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x4e, + 0x45, 0x10, 0x1f, 0x12, 0x2f, 0x0a, 0x2b, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, + 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, + 0x53, 0x53, 0x10, 0x28, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x32, 0x12, 0x1a, + 0x0a, 0x16, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x3c, 0x2a, 0x8f, 0x01, 0x0a, 0x0f, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, + 0x0a, 0x1c, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x49, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x49, 0x41, 0x4e, 0x54, 0x10, 0x01, 0x12, + 0x0d, 0x0a, 0x09, 0x56, 0x49, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x18, + 0x0a, 0x14, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x5f, + 0x4e, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x4e, 0x4f, 0x54, + 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x32, 0xc0, 0x14, 0x0a, + 0x0c, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xb8, 0x02, + 0x0a, 0x0e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x22, + 0xc6, 0x01, 0xda, 0x41, 0x12, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x2c, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xaa, 0x01, 0x3a, 0x01, + 0x2a, 0x5a, 0x36, 0x3a, 0x01, 0x2a, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5a, 0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc2, 0x02, 0x0a, 0x18, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x27, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x2c, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, + 0x61, 0x72, 0x64, 0x2c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x42, 0x3a, 0x01, 0x2a, + 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x22, + 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0xc7, 0x02, + 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd6, + 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x2c, 0x67, 0x63, 0x73, + 0x5f, 0x75, 0x72, 0x69, 0x2c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7b, 0x3a, 0x01, 0x2a, 0x5a, + 0x3d, 0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x22, 0x37, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x3a, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0xb2, 0x02, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xae, 0x01, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x5a, 0x31, + 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0xe4, 0x01, 0x0a, + 0x0e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, + 0x72, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, 0x5a, 0x32, + 0x12, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xf0, 0x02, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd6, 0x01, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xc8, 0x01, 0x5a, 0x3f, + 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x6f, 0x6c, 0x64, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, + 0x45, 0x12, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc4, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x96, 0x01, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x86, 0x01, 0x5a, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0xbe, 0x02, + 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x12, 0x31, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc6, 0x01, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb6, 0x01, 0x5a, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, + 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x73, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, + 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x12, + 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, + 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x1a, 0x4f, + 0xca, 0x41, 0x1b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, + 0x92, 0x06, 0xea, 0x41, 0x53, 0x0a, 0x2a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x25, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, + 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x65, 0x0a, 0x30, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0xea, 0x41, 0xe8, 0x01, 0x0a, 0x24, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x12, 0x3c, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x7d, 0x12, 0x3a, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, + 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x6e, 0x64, + 0x61, 0x72, 0x64, 0x7d, 0x12, 0x46, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, + 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x7d, 0xea, 0x41, 0x8d, 0x01, + 0x0a, 0x31, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x12, 0x25, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x31, 0x6f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x0a, 0x20, 0x63, + 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, + 0x0b, 0x56, 0x31, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x70, 0x62, 0xaa, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5c, + 0x56, 0x31, 0xea, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescOnce sync.Once + file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescData = file_google_cloud_auditmanager_v1_auditmanager_proto_rawDesc +) + +func file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescGZIP() []byte { + file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescOnce.Do(func() { + file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescData) + }) + return file_google_cloud_auditmanager_v1_auditmanager_proto_rawDescData +} + +var file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes = make([]protoimpl.EnumInfo, 7) +var file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_google_cloud_auditmanager_v1_auditmanager_proto_goTypes = []any{ + (OperationState)(0), // 0: google.cloud.auditmanager.v1.OperationState + (ComplianceState)(0), // 1: google.cloud.auditmanager.v1.ComplianceState + (GenerateAuditScopeReportRequest_AuditScopeReportFormat)(0), // 2: google.cloud.auditmanager.v1.GenerateAuditScopeReportRequest.AuditScopeReportFormat + (GenerateAuditReportRequest_AuditReportFormat)(0), // 3: google.cloud.auditmanager.v1.GenerateAuditReportRequest.AuditReportFormat + (ResourceEnrollmentStatus_ResourceEnrollmentState)(0), // 4: google.cloud.auditmanager.v1.ResourceEnrollmentStatus.ResourceEnrollmentState + (AuditReport_ReportGenerationState)(0), // 5: google.cloud.auditmanager.v1.AuditReport.ReportGenerationState + (Control_Family)(0), // 6: google.cloud.auditmanager.v1.Control.Family + (*EnrollResourceRequest)(nil), // 7: google.cloud.auditmanager.v1.EnrollResourceRequest + (*GenerateAuditScopeReportRequest)(nil), // 8: google.cloud.auditmanager.v1.GenerateAuditScopeReportRequest + (*GenerateAuditReportRequest)(nil), // 9: google.cloud.auditmanager.v1.GenerateAuditReportRequest + (*GetResourceEnrollmentStatusRequest)(nil), // 10: google.cloud.auditmanager.v1.GetResourceEnrollmentStatusRequest + (*ListResourceEnrollmentStatusesRequest)(nil), // 11: google.cloud.auditmanager.v1.ListResourceEnrollmentStatusesRequest + (*ListResourceEnrollmentStatusesResponse)(nil), // 12: google.cloud.auditmanager.v1.ListResourceEnrollmentStatusesResponse + (*ListAuditReportsRequest)(nil), // 13: google.cloud.auditmanager.v1.ListAuditReportsRequest + (*ListAuditReportsResponse)(nil), // 14: google.cloud.auditmanager.v1.ListAuditReportsResponse + (*GetAuditReportRequest)(nil), // 15: google.cloud.auditmanager.v1.GetAuditReportRequest + (*ListControlsRequest)(nil), // 16: google.cloud.auditmanager.v1.ListControlsRequest + (*ListControlsResponse)(nil), // 17: google.cloud.auditmanager.v1.ListControlsResponse + (*ReportGenerationProgress)(nil), // 18: google.cloud.auditmanager.v1.ReportGenerationProgress + (*Enrollment)(nil), // 19: google.cloud.auditmanager.v1.Enrollment + (*AuditScopeReport)(nil), // 20: google.cloud.auditmanager.v1.AuditScopeReport + (*OperationMetadata)(nil), // 21: google.cloud.auditmanager.v1.OperationMetadata + (*ResourceEnrollmentStatus)(nil), // 22: google.cloud.auditmanager.v1.ResourceEnrollmentStatus + (*AuditReport)(nil), // 23: google.cloud.auditmanager.v1.AuditReport + (*ControlFamily)(nil), // 24: google.cloud.auditmanager.v1.ControlFamily + (*Control)(nil), // 25: google.cloud.auditmanager.v1.Control + (*DestinationDetails)(nil), // 26: google.cloud.auditmanager.v1.DestinationDetails + (*ReportSummary)(nil), // 27: google.cloud.auditmanager.v1.ReportSummary + (*ControlDetails)(nil), // 28: google.cloud.auditmanager.v1.ControlDetails + (*EnrollResourceRequest_EligibleDestination)(nil), // 29: google.cloud.auditmanager.v1.EnrollResourceRequest.EligibleDestination + (*timestamppb.Timestamp)(nil), // 30: google.protobuf.Timestamp + (*longrunningpb.Operation)(nil), // 31: google.longrunning.Operation +} +var file_google_cloud_auditmanager_v1_auditmanager_proto_depIdxs = []int32{ + 29, // 0: google.cloud.auditmanager.v1.EnrollResourceRequest.destinations:type_name -> google.cloud.auditmanager.v1.EnrollResourceRequest.EligibleDestination + 2, // 1: google.cloud.auditmanager.v1.GenerateAuditScopeReportRequest.report_format:type_name -> google.cloud.auditmanager.v1.GenerateAuditScopeReportRequest.AuditScopeReportFormat + 3, // 2: google.cloud.auditmanager.v1.GenerateAuditReportRequest.report_format:type_name -> google.cloud.auditmanager.v1.GenerateAuditReportRequest.AuditReportFormat + 22, // 3: google.cloud.auditmanager.v1.ListResourceEnrollmentStatusesResponse.resource_enrollment_statuses:type_name -> google.cloud.auditmanager.v1.ResourceEnrollmentStatus + 23, // 4: google.cloud.auditmanager.v1.ListAuditReportsResponse.audit_reports:type_name -> google.cloud.auditmanager.v1.AuditReport + 25, // 5: google.cloud.auditmanager.v1.ListControlsResponse.controls:type_name -> google.cloud.auditmanager.v1.Control + 0, // 6: google.cloud.auditmanager.v1.ReportGenerationProgress.state:type_name -> google.cloud.auditmanager.v1.OperationState + 26, // 7: google.cloud.auditmanager.v1.Enrollment.destination_details:type_name -> google.cloud.auditmanager.v1.DestinationDetails + 30, // 8: google.cloud.auditmanager.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 30, // 9: google.cloud.auditmanager.v1.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 19, // 10: google.cloud.auditmanager.v1.ResourceEnrollmentStatus.enrollment:type_name -> google.cloud.auditmanager.v1.Enrollment + 4, // 11: google.cloud.auditmanager.v1.ResourceEnrollmentStatus.enrollment_state:type_name -> google.cloud.auditmanager.v1.ResourceEnrollmentStatus.ResourceEnrollmentState + 27, // 12: google.cloud.auditmanager.v1.AuditReport.report_summary:type_name -> google.cloud.auditmanager.v1.ReportSummary + 26, // 13: google.cloud.auditmanager.v1.AuditReport.destination_details:type_name -> google.cloud.auditmanager.v1.DestinationDetails + 30, // 14: google.cloud.auditmanager.v1.AuditReport.create_time:type_name -> google.protobuf.Timestamp + 28, // 15: google.cloud.auditmanager.v1.AuditReport.control_details:type_name -> google.cloud.auditmanager.v1.ControlDetails + 5, // 16: google.cloud.auditmanager.v1.AuditReport.report_generation_state:type_name -> google.cloud.auditmanager.v1.AuditReport.ReportGenerationState + 6, // 17: google.cloud.auditmanager.v1.Control.family:type_name -> google.cloud.auditmanager.v1.Control.Family + 24, // 18: google.cloud.auditmanager.v1.Control.control_family:type_name -> google.cloud.auditmanager.v1.ControlFamily + 25, // 19: google.cloud.auditmanager.v1.ControlDetails.control:type_name -> google.cloud.auditmanager.v1.Control + 1, // 20: google.cloud.auditmanager.v1.ControlDetails.compliance_state:type_name -> google.cloud.auditmanager.v1.ComplianceState + 27, // 21: google.cloud.auditmanager.v1.ControlDetails.control_report_summary:type_name -> google.cloud.auditmanager.v1.ReportSummary + 7, // 22: google.cloud.auditmanager.v1.AuditManager.EnrollResource:input_type -> google.cloud.auditmanager.v1.EnrollResourceRequest + 8, // 23: google.cloud.auditmanager.v1.AuditManager.GenerateAuditScopeReport:input_type -> google.cloud.auditmanager.v1.GenerateAuditScopeReportRequest + 9, // 24: google.cloud.auditmanager.v1.AuditManager.GenerateAuditReport:input_type -> google.cloud.auditmanager.v1.GenerateAuditReportRequest + 13, // 25: google.cloud.auditmanager.v1.AuditManager.ListAuditReports:input_type -> google.cloud.auditmanager.v1.ListAuditReportsRequest + 15, // 26: google.cloud.auditmanager.v1.AuditManager.GetAuditReport:input_type -> google.cloud.auditmanager.v1.GetAuditReportRequest + 10, // 27: google.cloud.auditmanager.v1.AuditManager.GetResourceEnrollmentStatus:input_type -> google.cloud.auditmanager.v1.GetResourceEnrollmentStatusRequest + 11, // 28: google.cloud.auditmanager.v1.AuditManager.ListResourceEnrollmentStatuses:input_type -> google.cloud.auditmanager.v1.ListResourceEnrollmentStatusesRequest + 16, // 29: google.cloud.auditmanager.v1.AuditManager.ListControls:input_type -> google.cloud.auditmanager.v1.ListControlsRequest + 19, // 30: google.cloud.auditmanager.v1.AuditManager.EnrollResource:output_type -> google.cloud.auditmanager.v1.Enrollment + 20, // 31: google.cloud.auditmanager.v1.AuditManager.GenerateAuditScopeReport:output_type -> google.cloud.auditmanager.v1.AuditScopeReport + 31, // 32: google.cloud.auditmanager.v1.AuditManager.GenerateAuditReport:output_type -> google.longrunning.Operation + 14, // 33: google.cloud.auditmanager.v1.AuditManager.ListAuditReports:output_type -> google.cloud.auditmanager.v1.ListAuditReportsResponse + 23, // 34: google.cloud.auditmanager.v1.AuditManager.GetAuditReport:output_type -> google.cloud.auditmanager.v1.AuditReport + 22, // 35: google.cloud.auditmanager.v1.AuditManager.GetResourceEnrollmentStatus:output_type -> google.cloud.auditmanager.v1.ResourceEnrollmentStatus + 12, // 36: google.cloud.auditmanager.v1.AuditManager.ListResourceEnrollmentStatuses:output_type -> google.cloud.auditmanager.v1.ListResourceEnrollmentStatusesResponse + 17, // 37: google.cloud.auditmanager.v1.AuditManager.ListControls:output_type -> google.cloud.auditmanager.v1.ListControlsResponse + 30, // [30:38] is the sub-list for method output_type + 22, // [22:30] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name +} + +func init() { file_google_cloud_auditmanager_v1_auditmanager_proto_init() } +func file_google_cloud_auditmanager_v1_auditmanager_proto_init() { + if File_google_cloud_auditmanager_v1_auditmanager_proto != nil { + return + } + file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[2].OneofWrappers = []any{ + (*GenerateAuditReportRequest_GcsUri)(nil), + } + file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[13].OneofWrappers = []any{ + (*AuditScopeReport_ScopeReportContents)(nil), + } + file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[19].OneofWrappers = []any{ + (*DestinationDetails_GcsBucketUri)(nil), + } + file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes[22].OneofWrappers = []any{ + (*EnrollResourceRequest_EligibleDestination_EligibleGcsBucket)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_auditmanager_v1_auditmanager_proto_rawDesc, + NumEnums: 7, + NumMessages: 23, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_auditmanager_v1_auditmanager_proto_goTypes, + DependencyIndexes: file_google_cloud_auditmanager_v1_auditmanager_proto_depIdxs, + EnumInfos: file_google_cloud_auditmanager_v1_auditmanager_proto_enumTypes, + MessageInfos: file_google_cloud_auditmanager_v1_auditmanager_proto_msgTypes, + }.Build() + File_google_cloud_auditmanager_v1_auditmanager_proto = out.File + file_google_cloud_auditmanager_v1_auditmanager_proto_rawDesc = nil + file_google_cloud_auditmanager_v1_auditmanager_proto_goTypes = nil + file_google_cloud_auditmanager_v1_auditmanager_proto_depIdxs = nil +} diff --git a/auditmanager/apiv1/auditmanagerpb/auditmanager_grpc.pb.go b/auditmanager/apiv1/auditmanagerpb/auditmanager_grpc.pb.go new file mode 100644 index 000000000000..bdb05ea544e5 --- /dev/null +++ b/auditmanager/apiv1/auditmanagerpb/auditmanager_grpc.pb.go @@ -0,0 +1,412 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.7 +// source: google/cloud/auditmanager/v1/auditmanager.proto + +package auditmanagerpb + +import ( + context "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + AuditManager_EnrollResource_FullMethodName = "/google.cloud.auditmanager.v1.AuditManager/EnrollResource" + AuditManager_GenerateAuditScopeReport_FullMethodName = "/google.cloud.auditmanager.v1.AuditManager/GenerateAuditScopeReport" + AuditManager_GenerateAuditReport_FullMethodName = "/google.cloud.auditmanager.v1.AuditManager/GenerateAuditReport" + AuditManager_ListAuditReports_FullMethodName = "/google.cloud.auditmanager.v1.AuditManager/ListAuditReports" + AuditManager_GetAuditReport_FullMethodName = "/google.cloud.auditmanager.v1.AuditManager/GetAuditReport" + AuditManager_GetResourceEnrollmentStatus_FullMethodName = "/google.cloud.auditmanager.v1.AuditManager/GetResourceEnrollmentStatus" + AuditManager_ListResourceEnrollmentStatuses_FullMethodName = "/google.cloud.auditmanager.v1.AuditManager/ListResourceEnrollmentStatuses" + AuditManager_ListControls_FullMethodName = "/google.cloud.auditmanager.v1.AuditManager/ListControls" +) + +// AuditManagerClient is the client API for AuditManager service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AuditManagerClient interface { + // Enrolls the customer resource(folder/project/organization) to the audit + // manager service by creating the audit managers Service Agent in customers + // workload and granting required permissions to the Service Agent. Please + // note that if enrollment request is made on the already enrolled workload + // then enrollment is executed overriding the existing set of destinations. + EnrollResource(ctx context.Context, in *EnrollResourceRequest, opts ...grpc.CallOption) (*Enrollment, error) + // Generates a demo report highlighting different responsibilities + // (Google/Customer/ shared) required to be fulfilled for the customer's + // workload to be compliant with the given standard. + GenerateAuditScopeReport(ctx context.Context, in *GenerateAuditScopeReportRequest, opts ...grpc.CallOption) (*AuditScopeReport, error) + // Register the Audit Report generation requests and returns the OperationId + // using which the customer can track the report generation progress. + GenerateAuditReport(ctx context.Context, in *GenerateAuditReportRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists audit reports in the selected parent scope + ListAuditReports(ctx context.Context, in *ListAuditReportsRequest, opts ...grpc.CallOption) (*ListAuditReportsResponse, error) + // Get the overall audit report + GetAuditReport(ctx context.Context, in *GetAuditReportRequest, opts ...grpc.CallOption) (*AuditReport, error) + // Get a resource along with its enrollment status. + GetResourceEnrollmentStatus(ctx context.Context, in *GetResourceEnrollmentStatusRequest, opts ...grpc.CallOption) (*ResourceEnrollmentStatus, error) + // Fetches all resources under the parent along with their enrollment. + ListResourceEnrollmentStatuses(ctx context.Context, in *ListResourceEnrollmentStatusesRequest, opts ...grpc.CallOption) (*ListResourceEnrollmentStatusesResponse, error) + // Gets controls needed to be implemented to be compliant to a standard. + ListControls(ctx context.Context, in *ListControlsRequest, opts ...grpc.CallOption) (*ListControlsResponse, error) +} + +type auditManagerClient struct { + cc grpc.ClientConnInterface +} + +func NewAuditManagerClient(cc grpc.ClientConnInterface) AuditManagerClient { + return &auditManagerClient{cc} +} + +func (c *auditManagerClient) EnrollResource(ctx context.Context, in *EnrollResourceRequest, opts ...grpc.CallOption) (*Enrollment, error) { + out := new(Enrollment) + err := c.cc.Invoke(ctx, AuditManager_EnrollResource_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *auditManagerClient) GenerateAuditScopeReport(ctx context.Context, in *GenerateAuditScopeReportRequest, opts ...grpc.CallOption) (*AuditScopeReport, error) { + out := new(AuditScopeReport) + err := c.cc.Invoke(ctx, AuditManager_GenerateAuditScopeReport_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *auditManagerClient) GenerateAuditReport(ctx context.Context, in *GenerateAuditReportRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, AuditManager_GenerateAuditReport_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *auditManagerClient) ListAuditReports(ctx context.Context, in *ListAuditReportsRequest, opts ...grpc.CallOption) (*ListAuditReportsResponse, error) { + out := new(ListAuditReportsResponse) + err := c.cc.Invoke(ctx, AuditManager_ListAuditReports_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *auditManagerClient) GetAuditReport(ctx context.Context, in *GetAuditReportRequest, opts ...grpc.CallOption) (*AuditReport, error) { + out := new(AuditReport) + err := c.cc.Invoke(ctx, AuditManager_GetAuditReport_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *auditManagerClient) GetResourceEnrollmentStatus(ctx context.Context, in *GetResourceEnrollmentStatusRequest, opts ...grpc.CallOption) (*ResourceEnrollmentStatus, error) { + out := new(ResourceEnrollmentStatus) + err := c.cc.Invoke(ctx, AuditManager_GetResourceEnrollmentStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *auditManagerClient) ListResourceEnrollmentStatuses(ctx context.Context, in *ListResourceEnrollmentStatusesRequest, opts ...grpc.CallOption) (*ListResourceEnrollmentStatusesResponse, error) { + out := new(ListResourceEnrollmentStatusesResponse) + err := c.cc.Invoke(ctx, AuditManager_ListResourceEnrollmentStatuses_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *auditManagerClient) ListControls(ctx context.Context, in *ListControlsRequest, opts ...grpc.CallOption) (*ListControlsResponse, error) { + out := new(ListControlsResponse) + err := c.cc.Invoke(ctx, AuditManager_ListControls_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AuditManagerServer is the server API for AuditManager service. +// All implementations should embed UnimplementedAuditManagerServer +// for forward compatibility +type AuditManagerServer interface { + // Enrolls the customer resource(folder/project/organization) to the audit + // manager service by creating the audit managers Service Agent in customers + // workload and granting required permissions to the Service Agent. Please + // note that if enrollment request is made on the already enrolled workload + // then enrollment is executed overriding the existing set of destinations. + EnrollResource(context.Context, *EnrollResourceRequest) (*Enrollment, error) + // Generates a demo report highlighting different responsibilities + // (Google/Customer/ shared) required to be fulfilled for the customer's + // workload to be compliant with the given standard. + GenerateAuditScopeReport(context.Context, *GenerateAuditScopeReportRequest) (*AuditScopeReport, error) + // Register the Audit Report generation requests and returns the OperationId + // using which the customer can track the report generation progress. + GenerateAuditReport(context.Context, *GenerateAuditReportRequest) (*longrunningpb.Operation, error) + // Lists audit reports in the selected parent scope + ListAuditReports(context.Context, *ListAuditReportsRequest) (*ListAuditReportsResponse, error) + // Get the overall audit report + GetAuditReport(context.Context, *GetAuditReportRequest) (*AuditReport, error) + // Get a resource along with its enrollment status. + GetResourceEnrollmentStatus(context.Context, *GetResourceEnrollmentStatusRequest) (*ResourceEnrollmentStatus, error) + // Fetches all resources under the parent along with their enrollment. + ListResourceEnrollmentStatuses(context.Context, *ListResourceEnrollmentStatusesRequest) (*ListResourceEnrollmentStatusesResponse, error) + // Gets controls needed to be implemented to be compliant to a standard. + ListControls(context.Context, *ListControlsRequest) (*ListControlsResponse, error) +} + +// UnimplementedAuditManagerServer should be embedded to have forward compatible implementations. +type UnimplementedAuditManagerServer struct { +} + +func (UnimplementedAuditManagerServer) EnrollResource(context.Context, *EnrollResourceRequest) (*Enrollment, error) { + return nil, status.Errorf(codes.Unimplemented, "method EnrollResource not implemented") +} +func (UnimplementedAuditManagerServer) GenerateAuditScopeReport(context.Context, *GenerateAuditScopeReportRequest) (*AuditScopeReport, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateAuditScopeReport not implemented") +} +func (UnimplementedAuditManagerServer) GenerateAuditReport(context.Context, *GenerateAuditReportRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateAuditReport not implemented") +} +func (UnimplementedAuditManagerServer) ListAuditReports(context.Context, *ListAuditReportsRequest) (*ListAuditReportsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListAuditReports not implemented") +} +func (UnimplementedAuditManagerServer) GetAuditReport(context.Context, *GetAuditReportRequest) (*AuditReport, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAuditReport not implemented") +} +func (UnimplementedAuditManagerServer) GetResourceEnrollmentStatus(context.Context, *GetResourceEnrollmentStatusRequest) (*ResourceEnrollmentStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetResourceEnrollmentStatus not implemented") +} +func (UnimplementedAuditManagerServer) ListResourceEnrollmentStatuses(context.Context, *ListResourceEnrollmentStatusesRequest) (*ListResourceEnrollmentStatusesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListResourceEnrollmentStatuses not implemented") +} +func (UnimplementedAuditManagerServer) ListControls(context.Context, *ListControlsRequest) (*ListControlsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListControls not implemented") +} + +// UnsafeAuditManagerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AuditManagerServer will +// result in compilation errors. +type UnsafeAuditManagerServer interface { + mustEmbedUnimplementedAuditManagerServer() +} + +func RegisterAuditManagerServer(s grpc.ServiceRegistrar, srv AuditManagerServer) { + s.RegisterService(&AuditManager_ServiceDesc, srv) +} + +func _AuditManager_EnrollResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnrollResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuditManagerServer).EnrollResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuditManager_EnrollResource_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuditManagerServer).EnrollResource(ctx, req.(*EnrollResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuditManager_GenerateAuditScopeReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateAuditScopeReportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuditManagerServer).GenerateAuditScopeReport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuditManager_GenerateAuditScopeReport_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuditManagerServer).GenerateAuditScopeReport(ctx, req.(*GenerateAuditScopeReportRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuditManager_GenerateAuditReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateAuditReportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuditManagerServer).GenerateAuditReport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuditManager_GenerateAuditReport_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuditManagerServer).GenerateAuditReport(ctx, req.(*GenerateAuditReportRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuditManager_ListAuditReports_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListAuditReportsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuditManagerServer).ListAuditReports(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuditManager_ListAuditReports_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuditManagerServer).ListAuditReports(ctx, req.(*ListAuditReportsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuditManager_GetAuditReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAuditReportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuditManagerServer).GetAuditReport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuditManager_GetAuditReport_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuditManagerServer).GetAuditReport(ctx, req.(*GetAuditReportRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuditManager_GetResourceEnrollmentStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetResourceEnrollmentStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuditManagerServer).GetResourceEnrollmentStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuditManager_GetResourceEnrollmentStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuditManagerServer).GetResourceEnrollmentStatus(ctx, req.(*GetResourceEnrollmentStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuditManager_ListResourceEnrollmentStatuses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListResourceEnrollmentStatusesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuditManagerServer).ListResourceEnrollmentStatuses(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuditManager_ListResourceEnrollmentStatuses_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuditManagerServer).ListResourceEnrollmentStatuses(ctx, req.(*ListResourceEnrollmentStatusesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuditManager_ListControls_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListControlsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuditManagerServer).ListControls(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuditManager_ListControls_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuditManagerServer).ListControls(ctx, req.(*ListControlsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// AuditManager_ServiceDesc is the grpc.ServiceDesc for AuditManager service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var AuditManager_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.auditmanager.v1.AuditManager", + HandlerType: (*AuditManagerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "EnrollResource", + Handler: _AuditManager_EnrollResource_Handler, + }, + { + MethodName: "GenerateAuditScopeReport", + Handler: _AuditManager_GenerateAuditScopeReport_Handler, + }, + { + MethodName: "GenerateAuditReport", + Handler: _AuditManager_GenerateAuditReport_Handler, + }, + { + MethodName: "ListAuditReports", + Handler: _AuditManager_ListAuditReports_Handler, + }, + { + MethodName: "GetAuditReport", + Handler: _AuditManager_GetAuditReport_Handler, + }, + { + MethodName: "GetResourceEnrollmentStatus", + Handler: _AuditManager_GetResourceEnrollmentStatus_Handler, + }, + { + MethodName: "ListResourceEnrollmentStatuses", + Handler: _AuditManager_ListResourceEnrollmentStatuses_Handler, + }, + { + MethodName: "ListControls", + Handler: _AuditManager_ListControls_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/auditmanager/v1/auditmanager.proto", +} diff --git a/auditmanager/apiv1/auxiliary.go b/auditmanager/apiv1/auxiliary.go index 0c9a8fb94462..4e31dd78164e 100644 --- a/auditmanager/apiv1/auxiliary.go +++ b/auditmanager/apiv1/auxiliary.go @@ -20,7 +20,7 @@ import ( "context" "time" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" "cloud.google.com/go/longrunning" longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" gax "github.com/googleapis/gax-go/v2" diff --git a/auditmanager/apiv1/auxiliary_go123.go b/auditmanager/apiv1/auxiliary_go123.go index 7a1c56ec7775..3f5530b98bb7 100644 --- a/auditmanager/apiv1/auxiliary_go123.go +++ b/auditmanager/apiv1/auxiliary_go123.go @@ -21,7 +21,7 @@ package auditmanager import ( "iter" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" "github.com/googleapis/gax-go/v2/iterator" locationpb "google.golang.org/genproto/googleapis/cloud/location" diff --git a/auditmanager/apiv1/doc.go b/auditmanager/apiv1/doc.go index 29d0f3c50ce0..6946e6a44903 100644 --- a/auditmanager/apiv1/doc.go +++ b/auditmanager/apiv1/doc.go @@ -58,7 +58,7 @@ // // req := &auditmanagerpb.EnrollResourceRequest{ // // TODO: Fill request struct fields. -// // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#EnrollResourceRequest. +// // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#EnrollResourceRequest. // } // resp, err := c.EnrollResource(ctx, req) // if err != nil { diff --git a/internal/generated/snippets/auditmanager/apiv1/Client/EnrollResource/main.go b/internal/generated/snippets/auditmanager/apiv1/Client/EnrollResource/main.go index 15a28aad4dd7..f793eac20fd1 100644 --- a/internal/generated/snippets/auditmanager/apiv1/Client/EnrollResource/main.go +++ b/internal/generated/snippets/auditmanager/apiv1/Client/EnrollResource/main.go @@ -22,7 +22,7 @@ import ( "context" auditmanager "cloud.google.com/go/auditmanager/apiv1" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" ) func main() { @@ -40,7 +40,7 @@ func main() { req := &auditmanagerpb.EnrollResourceRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#EnrollResourceRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#EnrollResourceRequest. } resp, err := c.EnrollResource(ctx, req) if err != nil { diff --git a/internal/generated/snippets/auditmanager/apiv1/Client/GenerateAuditReport/main.go b/internal/generated/snippets/auditmanager/apiv1/Client/GenerateAuditReport/main.go index 1cb8257d890b..9079568e4546 100644 --- a/internal/generated/snippets/auditmanager/apiv1/Client/GenerateAuditReport/main.go +++ b/internal/generated/snippets/auditmanager/apiv1/Client/GenerateAuditReport/main.go @@ -22,7 +22,7 @@ import ( "context" auditmanager "cloud.google.com/go/auditmanager/apiv1" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" ) func main() { @@ -40,7 +40,7 @@ func main() { req := &auditmanagerpb.GenerateAuditReportRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#GenerateAuditReportRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#GenerateAuditReportRequest. } op, err := c.GenerateAuditReport(ctx, req) if err != nil { diff --git a/internal/generated/snippets/auditmanager/apiv1/Client/GenerateAuditScopeReport/main.go b/internal/generated/snippets/auditmanager/apiv1/Client/GenerateAuditScopeReport/main.go index cf76b63e0a7c..b007762f3e24 100644 --- a/internal/generated/snippets/auditmanager/apiv1/Client/GenerateAuditScopeReport/main.go +++ b/internal/generated/snippets/auditmanager/apiv1/Client/GenerateAuditScopeReport/main.go @@ -22,7 +22,7 @@ import ( "context" auditmanager "cloud.google.com/go/auditmanager/apiv1" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" ) func main() { @@ -40,7 +40,7 @@ func main() { req := &auditmanagerpb.GenerateAuditScopeReportRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#GenerateAuditScopeReportRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#GenerateAuditScopeReportRequest. } resp, err := c.GenerateAuditScopeReport(ctx, req) if err != nil { diff --git a/internal/generated/snippets/auditmanager/apiv1/Client/GetAuditReport/main.go b/internal/generated/snippets/auditmanager/apiv1/Client/GetAuditReport/main.go index 0e6340796cf2..46f0767af940 100644 --- a/internal/generated/snippets/auditmanager/apiv1/Client/GetAuditReport/main.go +++ b/internal/generated/snippets/auditmanager/apiv1/Client/GetAuditReport/main.go @@ -22,7 +22,7 @@ import ( "context" auditmanager "cloud.google.com/go/auditmanager/apiv1" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" ) func main() { @@ -40,7 +40,7 @@ func main() { req := &auditmanagerpb.GetAuditReportRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#GetAuditReportRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#GetAuditReportRequest. } resp, err := c.GetAuditReport(ctx, req) if err != nil { diff --git a/internal/generated/snippets/auditmanager/apiv1/Client/GetResourceEnrollmentStatus/main.go b/internal/generated/snippets/auditmanager/apiv1/Client/GetResourceEnrollmentStatus/main.go index 0547428ad28a..65658aa68930 100644 --- a/internal/generated/snippets/auditmanager/apiv1/Client/GetResourceEnrollmentStatus/main.go +++ b/internal/generated/snippets/auditmanager/apiv1/Client/GetResourceEnrollmentStatus/main.go @@ -22,7 +22,7 @@ import ( "context" auditmanager "cloud.google.com/go/auditmanager/apiv1" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" ) func main() { @@ -40,7 +40,7 @@ func main() { req := &auditmanagerpb.GetResourceEnrollmentStatusRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#GetResourceEnrollmentStatusRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#GetResourceEnrollmentStatusRequest. } resp, err := c.GetResourceEnrollmentStatus(ctx, req) if err != nil { diff --git a/internal/generated/snippets/auditmanager/apiv1/Client/ListAuditReports/main.go b/internal/generated/snippets/auditmanager/apiv1/Client/ListAuditReports/main.go index a5c8943ab32d..b443cf4d0c91 100644 --- a/internal/generated/snippets/auditmanager/apiv1/Client/ListAuditReports/main.go +++ b/internal/generated/snippets/auditmanager/apiv1/Client/ListAuditReports/main.go @@ -22,7 +22,7 @@ import ( "context" auditmanager "cloud.google.com/go/auditmanager/apiv1" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" "google.golang.org/api/iterator" ) @@ -41,7 +41,7 @@ func main() { req := &auditmanagerpb.ListAuditReportsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#ListAuditReportsRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#ListAuditReportsRequest. } it := c.ListAuditReports(ctx, req) for { diff --git a/internal/generated/snippets/auditmanager/apiv1/Client/ListControls/main.go b/internal/generated/snippets/auditmanager/apiv1/Client/ListControls/main.go index 466dba50c8c3..90237f9ce4bc 100644 --- a/internal/generated/snippets/auditmanager/apiv1/Client/ListControls/main.go +++ b/internal/generated/snippets/auditmanager/apiv1/Client/ListControls/main.go @@ -22,7 +22,7 @@ import ( "context" auditmanager "cloud.google.com/go/auditmanager/apiv1" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" "google.golang.org/api/iterator" ) @@ -41,7 +41,7 @@ func main() { req := &auditmanagerpb.ListControlsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#ListControlsRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#ListControlsRequest. } it := c.ListControls(ctx, req) for { diff --git a/internal/generated/snippets/auditmanager/apiv1/Client/ListResourceEnrollmentStatuses/main.go b/internal/generated/snippets/auditmanager/apiv1/Client/ListResourceEnrollmentStatuses/main.go index f865a01c11ae..4b9f90d630ce 100644 --- a/internal/generated/snippets/auditmanager/apiv1/Client/ListResourceEnrollmentStatuses/main.go +++ b/internal/generated/snippets/auditmanager/apiv1/Client/ListResourceEnrollmentStatuses/main.go @@ -22,7 +22,7 @@ import ( "context" auditmanager "cloud.google.com/go/auditmanager/apiv1" - auditmanagerpb "cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb" + auditmanagerpb "cloud.google.com/go/auditmanager/apiv1/auditmanagerpb" "google.golang.org/api/iterator" ) @@ -41,7 +41,7 @@ func main() { req := &auditmanagerpb.ListResourceEnrollmentStatusesRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1main/auditmanagerpb#ListResourceEnrollmentStatusesRequest. + // See https://pkg.go.dev/cloud.google.com/go/auditmanager/apiv1/auditmanagerpb#ListResourceEnrollmentStatusesRequest. } it := c.ListResourceEnrollmentStatuses(ctx, req) for {