1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/kms/v1/service.proto
20
21package kms
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	grpc "google.golang.org/grpc"
30	codes "google.golang.org/grpc/codes"
31	status "google.golang.org/grpc/status"
32	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
33	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
34	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
35	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
36)
37
38const (
39	// Verify that this generated code is sufficiently up-to-date.
40	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
41	// Verify that runtime/protoimpl is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
43)
44
45// Request message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
46type ListKeyRingsRequest struct {
47	state         protoimpl.MessageState
48	sizeCache     protoimpl.SizeCache
49	unknownFields protoimpl.UnknownFields
50
51	// Required. The resource name of the location associated with the
52	// [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
53	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
54	// Optional. Optional limit on the number of [KeyRings][google.cloud.kms.v1.KeyRing] to include in the
55	// response.  Further [KeyRings][google.cloud.kms.v1.KeyRing] can subsequently be obtained by
56	// including the [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token] in a subsequent
57	// request.  If unspecified, the server will pick an appropriate default.
58	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
59	// Optional. Optional pagination token, returned earlier via
60	// [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token].
61	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
62	// Optional. Only include resources that match the filter in the response. For
63	// more information, see
64	// [Sorting and filtering list
65	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
66	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
67	// Optional. Specify how the results should be sorted. If not specified, the
68	// results will be sorted in the default order.  For more information, see
69	// [Sorting and filtering list
70	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
71	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
72}
73
74func (x *ListKeyRingsRequest) Reset() {
75	*x = ListKeyRingsRequest{}
76	if protoimpl.UnsafeEnabled {
77		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[0]
78		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
79		ms.StoreMessageInfo(mi)
80	}
81}
82
83func (x *ListKeyRingsRequest) String() string {
84	return protoimpl.X.MessageStringOf(x)
85}
86
87func (*ListKeyRingsRequest) ProtoMessage() {}
88
89func (x *ListKeyRingsRequest) ProtoReflect() protoreflect.Message {
90	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[0]
91	if protoimpl.UnsafeEnabled && x != nil {
92		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
93		if ms.LoadMessageInfo() == nil {
94			ms.StoreMessageInfo(mi)
95		}
96		return ms
97	}
98	return mi.MessageOf(x)
99}
100
101// Deprecated: Use ListKeyRingsRequest.ProtoReflect.Descriptor instead.
102func (*ListKeyRingsRequest) Descriptor() ([]byte, []int) {
103	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{0}
104}
105
106func (x *ListKeyRingsRequest) GetParent() string {
107	if x != nil {
108		return x.Parent
109	}
110	return ""
111}
112
113func (x *ListKeyRingsRequest) GetPageSize() int32 {
114	if x != nil {
115		return x.PageSize
116	}
117	return 0
118}
119
120func (x *ListKeyRingsRequest) GetPageToken() string {
121	if x != nil {
122		return x.PageToken
123	}
124	return ""
125}
126
127func (x *ListKeyRingsRequest) GetFilter() string {
128	if x != nil {
129		return x.Filter
130	}
131	return ""
132}
133
134func (x *ListKeyRingsRequest) GetOrderBy() string {
135	if x != nil {
136		return x.OrderBy
137	}
138	return ""
139}
140
141// Request message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
142type ListCryptoKeysRequest struct {
143	state         protoimpl.MessageState
144	sizeCache     protoimpl.SizeCache
145	unknownFields protoimpl.UnknownFields
146
147	// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to list, in the format
148	// `projects/*/locations/*/keyRings/*`.
149	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
150	// Optional. Optional limit on the number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] to include in the
151	// response.  Further [CryptoKeys][google.cloud.kms.v1.CryptoKey] can subsequently be obtained by
152	// including the [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token] in a subsequent
153	// request.  If unspecified, the server will pick an appropriate default.
154	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
155	// Optional. Optional pagination token, returned earlier via
156	// [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token].
157	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
158	// The fields of the primary version to include in the response.
159	VersionView CryptoKeyVersion_CryptoKeyVersionView `protobuf:"varint,4,opt,name=version_view,json=versionView,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView" json:"version_view,omitempty"`
160	// Optional. Only include resources that match the filter in the response. For
161	// more information, see
162	// [Sorting and filtering list
163	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
164	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
165	// Optional. Specify how the results should be sorted. If not specified, the
166	// results will be sorted in the default order. For more information, see
167	// [Sorting and filtering list
168	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
169	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
170}
171
172func (x *ListCryptoKeysRequest) Reset() {
173	*x = ListCryptoKeysRequest{}
174	if protoimpl.UnsafeEnabled {
175		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[1]
176		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
177		ms.StoreMessageInfo(mi)
178	}
179}
180
181func (x *ListCryptoKeysRequest) String() string {
182	return protoimpl.X.MessageStringOf(x)
183}
184
185func (*ListCryptoKeysRequest) ProtoMessage() {}
186
187func (x *ListCryptoKeysRequest) ProtoReflect() protoreflect.Message {
188	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[1]
189	if protoimpl.UnsafeEnabled && x != nil {
190		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
191		if ms.LoadMessageInfo() == nil {
192			ms.StoreMessageInfo(mi)
193		}
194		return ms
195	}
196	return mi.MessageOf(x)
197}
198
199// Deprecated: Use ListCryptoKeysRequest.ProtoReflect.Descriptor instead.
200func (*ListCryptoKeysRequest) Descriptor() ([]byte, []int) {
201	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{1}
202}
203
204func (x *ListCryptoKeysRequest) GetParent() string {
205	if x != nil {
206		return x.Parent
207	}
208	return ""
209}
210
211func (x *ListCryptoKeysRequest) GetPageSize() int32 {
212	if x != nil {
213		return x.PageSize
214	}
215	return 0
216}
217
218func (x *ListCryptoKeysRequest) GetPageToken() string {
219	if x != nil {
220		return x.PageToken
221	}
222	return ""
223}
224
225func (x *ListCryptoKeysRequest) GetVersionView() CryptoKeyVersion_CryptoKeyVersionView {
226	if x != nil {
227		return x.VersionView
228	}
229	return CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED
230}
231
232func (x *ListCryptoKeysRequest) GetFilter() string {
233	if x != nil {
234		return x.Filter
235	}
236	return ""
237}
238
239func (x *ListCryptoKeysRequest) GetOrderBy() string {
240	if x != nil {
241		return x.OrderBy
242	}
243	return ""
244}
245
246// Request message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
247type ListCryptoKeyVersionsRequest struct {
248	state         protoimpl.MessageState
249	sizeCache     protoimpl.SizeCache
250	unknownFields protoimpl.UnknownFields
251
252	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to list, in the format
253	// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
254	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
255	// Optional. Optional limit on the number of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] to
256	// include in the response. Further [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can
257	// subsequently be obtained by including the
258	// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token] in a subsequent request.
259	// If unspecified, the server will pick an appropriate default.
260	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
261	// Optional. Optional pagination token, returned earlier via
262	// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token].
263	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
264	// The fields to include in the response.
265	View CryptoKeyVersion_CryptoKeyVersionView `protobuf:"varint,4,opt,name=view,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView" json:"view,omitempty"`
266	// Optional. Only include resources that match the filter in the response. For
267	// more information, see
268	// [Sorting and filtering list
269	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
270	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
271	// Optional. Specify how the results should be sorted. If not specified, the
272	// results will be sorted in the default order. For more information, see
273	// [Sorting and filtering list
274	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
275	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
276}
277
278func (x *ListCryptoKeyVersionsRequest) Reset() {
279	*x = ListCryptoKeyVersionsRequest{}
280	if protoimpl.UnsafeEnabled {
281		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[2]
282		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
283		ms.StoreMessageInfo(mi)
284	}
285}
286
287func (x *ListCryptoKeyVersionsRequest) String() string {
288	return protoimpl.X.MessageStringOf(x)
289}
290
291func (*ListCryptoKeyVersionsRequest) ProtoMessage() {}
292
293func (x *ListCryptoKeyVersionsRequest) ProtoReflect() protoreflect.Message {
294	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[2]
295	if protoimpl.UnsafeEnabled && x != nil {
296		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
297		if ms.LoadMessageInfo() == nil {
298			ms.StoreMessageInfo(mi)
299		}
300		return ms
301	}
302	return mi.MessageOf(x)
303}
304
305// Deprecated: Use ListCryptoKeyVersionsRequest.ProtoReflect.Descriptor instead.
306func (*ListCryptoKeyVersionsRequest) Descriptor() ([]byte, []int) {
307	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{2}
308}
309
310func (x *ListCryptoKeyVersionsRequest) GetParent() string {
311	if x != nil {
312		return x.Parent
313	}
314	return ""
315}
316
317func (x *ListCryptoKeyVersionsRequest) GetPageSize() int32 {
318	if x != nil {
319		return x.PageSize
320	}
321	return 0
322}
323
324func (x *ListCryptoKeyVersionsRequest) GetPageToken() string {
325	if x != nil {
326		return x.PageToken
327	}
328	return ""
329}
330
331func (x *ListCryptoKeyVersionsRequest) GetView() CryptoKeyVersion_CryptoKeyVersionView {
332	if x != nil {
333		return x.View
334	}
335	return CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED
336}
337
338func (x *ListCryptoKeyVersionsRequest) GetFilter() string {
339	if x != nil {
340		return x.Filter
341	}
342	return ""
343}
344
345func (x *ListCryptoKeyVersionsRequest) GetOrderBy() string {
346	if x != nil {
347		return x.OrderBy
348	}
349	return ""
350}
351
352// Request message for [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs].
353type ListImportJobsRequest struct {
354	state         protoimpl.MessageState
355	sizeCache     protoimpl.SizeCache
356	unknownFields protoimpl.UnknownFields
357
358	// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to list, in the format
359	// `projects/*/locations/*/keyRings/*`.
360	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
361	// Optional. Optional limit on the number of [ImportJobs][google.cloud.kms.v1.ImportJob] to include in the
362	// response. Further [ImportJobs][google.cloud.kms.v1.ImportJob] can subsequently be obtained by
363	// including the [ListImportJobsResponse.next_page_token][google.cloud.kms.v1.ListImportJobsResponse.next_page_token] in a subsequent
364	// request. If unspecified, the server will pick an appropriate default.
365	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
366	// Optional. Optional pagination token, returned earlier via
367	// [ListImportJobsResponse.next_page_token][google.cloud.kms.v1.ListImportJobsResponse.next_page_token].
368	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
369	// Optional. Only include resources that match the filter in the response. For
370	// more information, see
371	// [Sorting and filtering list
372	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
373	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
374	// Optional. Specify how the results should be sorted. If not specified, the
375	// results will be sorted in the default order. For more information, see
376	// [Sorting and filtering list
377	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
378	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
379}
380
381func (x *ListImportJobsRequest) Reset() {
382	*x = ListImportJobsRequest{}
383	if protoimpl.UnsafeEnabled {
384		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[3]
385		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
386		ms.StoreMessageInfo(mi)
387	}
388}
389
390func (x *ListImportJobsRequest) String() string {
391	return protoimpl.X.MessageStringOf(x)
392}
393
394func (*ListImportJobsRequest) ProtoMessage() {}
395
396func (x *ListImportJobsRequest) ProtoReflect() protoreflect.Message {
397	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[3]
398	if protoimpl.UnsafeEnabled && x != nil {
399		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
400		if ms.LoadMessageInfo() == nil {
401			ms.StoreMessageInfo(mi)
402		}
403		return ms
404	}
405	return mi.MessageOf(x)
406}
407
408// Deprecated: Use ListImportJobsRequest.ProtoReflect.Descriptor instead.
409func (*ListImportJobsRequest) Descriptor() ([]byte, []int) {
410	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{3}
411}
412
413func (x *ListImportJobsRequest) GetParent() string {
414	if x != nil {
415		return x.Parent
416	}
417	return ""
418}
419
420func (x *ListImportJobsRequest) GetPageSize() int32 {
421	if x != nil {
422		return x.PageSize
423	}
424	return 0
425}
426
427func (x *ListImportJobsRequest) GetPageToken() string {
428	if x != nil {
429		return x.PageToken
430	}
431	return ""
432}
433
434func (x *ListImportJobsRequest) GetFilter() string {
435	if x != nil {
436		return x.Filter
437	}
438	return ""
439}
440
441func (x *ListImportJobsRequest) GetOrderBy() string {
442	if x != nil {
443		return x.OrderBy
444	}
445	return ""
446}
447
448// Response message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
449type ListKeyRingsResponse struct {
450	state         protoimpl.MessageState
451	sizeCache     protoimpl.SizeCache
452	unknownFields protoimpl.UnknownFields
453
454	// The list of [KeyRings][google.cloud.kms.v1.KeyRing].
455	KeyRings []*KeyRing `protobuf:"bytes,1,rep,name=key_rings,json=keyRings,proto3" json:"key_rings,omitempty"`
456	// A token to retrieve next page of results. Pass this value in
457	// [ListKeyRingsRequest.page_token][google.cloud.kms.v1.ListKeyRingsRequest.page_token] to retrieve the next page of results.
458	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
459	// The total number of [KeyRings][google.cloud.kms.v1.KeyRing] that matched the query.
460	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
461}
462
463func (x *ListKeyRingsResponse) Reset() {
464	*x = ListKeyRingsResponse{}
465	if protoimpl.UnsafeEnabled {
466		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[4]
467		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
468		ms.StoreMessageInfo(mi)
469	}
470}
471
472func (x *ListKeyRingsResponse) String() string {
473	return protoimpl.X.MessageStringOf(x)
474}
475
476func (*ListKeyRingsResponse) ProtoMessage() {}
477
478func (x *ListKeyRingsResponse) ProtoReflect() protoreflect.Message {
479	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[4]
480	if protoimpl.UnsafeEnabled && x != nil {
481		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
482		if ms.LoadMessageInfo() == nil {
483			ms.StoreMessageInfo(mi)
484		}
485		return ms
486	}
487	return mi.MessageOf(x)
488}
489
490// Deprecated: Use ListKeyRingsResponse.ProtoReflect.Descriptor instead.
491func (*ListKeyRingsResponse) Descriptor() ([]byte, []int) {
492	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{4}
493}
494
495func (x *ListKeyRingsResponse) GetKeyRings() []*KeyRing {
496	if x != nil {
497		return x.KeyRings
498	}
499	return nil
500}
501
502func (x *ListKeyRingsResponse) GetNextPageToken() string {
503	if x != nil {
504		return x.NextPageToken
505	}
506	return ""
507}
508
509func (x *ListKeyRingsResponse) GetTotalSize() int32 {
510	if x != nil {
511		return x.TotalSize
512	}
513	return 0
514}
515
516// Response message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
517type ListCryptoKeysResponse struct {
518	state         protoimpl.MessageState
519	sizeCache     protoimpl.SizeCache
520	unknownFields protoimpl.UnknownFields
521
522	// The list of [CryptoKeys][google.cloud.kms.v1.CryptoKey].
523	CryptoKeys []*CryptoKey `protobuf:"bytes,1,rep,name=crypto_keys,json=cryptoKeys,proto3" json:"crypto_keys,omitempty"`
524	// A token to retrieve next page of results. Pass this value in
525	// [ListCryptoKeysRequest.page_token][google.cloud.kms.v1.ListCryptoKeysRequest.page_token] to retrieve the next page of results.
526	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
527	// The total number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] that matched the query.
528	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
529}
530
531func (x *ListCryptoKeysResponse) Reset() {
532	*x = ListCryptoKeysResponse{}
533	if protoimpl.UnsafeEnabled {
534		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[5]
535		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
536		ms.StoreMessageInfo(mi)
537	}
538}
539
540func (x *ListCryptoKeysResponse) String() string {
541	return protoimpl.X.MessageStringOf(x)
542}
543
544func (*ListCryptoKeysResponse) ProtoMessage() {}
545
546func (x *ListCryptoKeysResponse) ProtoReflect() protoreflect.Message {
547	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[5]
548	if protoimpl.UnsafeEnabled && x != nil {
549		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
550		if ms.LoadMessageInfo() == nil {
551			ms.StoreMessageInfo(mi)
552		}
553		return ms
554	}
555	return mi.MessageOf(x)
556}
557
558// Deprecated: Use ListCryptoKeysResponse.ProtoReflect.Descriptor instead.
559func (*ListCryptoKeysResponse) Descriptor() ([]byte, []int) {
560	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{5}
561}
562
563func (x *ListCryptoKeysResponse) GetCryptoKeys() []*CryptoKey {
564	if x != nil {
565		return x.CryptoKeys
566	}
567	return nil
568}
569
570func (x *ListCryptoKeysResponse) GetNextPageToken() string {
571	if x != nil {
572		return x.NextPageToken
573	}
574	return ""
575}
576
577func (x *ListCryptoKeysResponse) GetTotalSize() int32 {
578	if x != nil {
579		return x.TotalSize
580	}
581	return 0
582}
583
584// Response message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
585type ListCryptoKeyVersionsResponse struct {
586	state         protoimpl.MessageState
587	sizeCache     protoimpl.SizeCache
588	unknownFields protoimpl.UnknownFields
589
590	// The list of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
591	CryptoKeyVersions []*CryptoKeyVersion `protobuf:"bytes,1,rep,name=crypto_key_versions,json=cryptoKeyVersions,proto3" json:"crypto_key_versions,omitempty"`
592	// A token to retrieve next page of results. Pass this value in
593	// [ListCryptoKeyVersionsRequest.page_token][google.cloud.kms.v1.ListCryptoKeyVersionsRequest.page_token] to retrieve the next page of
594	// results.
595	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
596	// The total number of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] that matched the
597	// query.
598	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
599}
600
601func (x *ListCryptoKeyVersionsResponse) Reset() {
602	*x = ListCryptoKeyVersionsResponse{}
603	if protoimpl.UnsafeEnabled {
604		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[6]
605		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
606		ms.StoreMessageInfo(mi)
607	}
608}
609
610func (x *ListCryptoKeyVersionsResponse) String() string {
611	return protoimpl.X.MessageStringOf(x)
612}
613
614func (*ListCryptoKeyVersionsResponse) ProtoMessage() {}
615
616func (x *ListCryptoKeyVersionsResponse) ProtoReflect() protoreflect.Message {
617	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[6]
618	if protoimpl.UnsafeEnabled && x != nil {
619		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
620		if ms.LoadMessageInfo() == nil {
621			ms.StoreMessageInfo(mi)
622		}
623		return ms
624	}
625	return mi.MessageOf(x)
626}
627
628// Deprecated: Use ListCryptoKeyVersionsResponse.ProtoReflect.Descriptor instead.
629func (*ListCryptoKeyVersionsResponse) Descriptor() ([]byte, []int) {
630	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{6}
631}
632
633func (x *ListCryptoKeyVersionsResponse) GetCryptoKeyVersions() []*CryptoKeyVersion {
634	if x != nil {
635		return x.CryptoKeyVersions
636	}
637	return nil
638}
639
640func (x *ListCryptoKeyVersionsResponse) GetNextPageToken() string {
641	if x != nil {
642		return x.NextPageToken
643	}
644	return ""
645}
646
647func (x *ListCryptoKeyVersionsResponse) GetTotalSize() int32 {
648	if x != nil {
649		return x.TotalSize
650	}
651	return 0
652}
653
654// Response message for [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs].
655type ListImportJobsResponse struct {
656	state         protoimpl.MessageState
657	sizeCache     protoimpl.SizeCache
658	unknownFields protoimpl.UnknownFields
659
660	// The list of [ImportJobs][google.cloud.kms.v1.ImportJob].
661	ImportJobs []*ImportJob `protobuf:"bytes,1,rep,name=import_jobs,json=importJobs,proto3" json:"import_jobs,omitempty"`
662	// A token to retrieve next page of results. Pass this value in
663	// [ListImportJobsRequest.page_token][google.cloud.kms.v1.ListImportJobsRequest.page_token] to retrieve the next page of results.
664	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
665	// The total number of [ImportJobs][google.cloud.kms.v1.ImportJob] that matched the query.
666	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
667}
668
669func (x *ListImportJobsResponse) Reset() {
670	*x = ListImportJobsResponse{}
671	if protoimpl.UnsafeEnabled {
672		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[7]
673		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
674		ms.StoreMessageInfo(mi)
675	}
676}
677
678func (x *ListImportJobsResponse) String() string {
679	return protoimpl.X.MessageStringOf(x)
680}
681
682func (*ListImportJobsResponse) ProtoMessage() {}
683
684func (x *ListImportJobsResponse) ProtoReflect() protoreflect.Message {
685	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[7]
686	if protoimpl.UnsafeEnabled && x != nil {
687		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
688		if ms.LoadMessageInfo() == nil {
689			ms.StoreMessageInfo(mi)
690		}
691		return ms
692	}
693	return mi.MessageOf(x)
694}
695
696// Deprecated: Use ListImportJobsResponse.ProtoReflect.Descriptor instead.
697func (*ListImportJobsResponse) Descriptor() ([]byte, []int) {
698	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{7}
699}
700
701func (x *ListImportJobsResponse) GetImportJobs() []*ImportJob {
702	if x != nil {
703		return x.ImportJobs
704	}
705	return nil
706}
707
708func (x *ListImportJobsResponse) GetNextPageToken() string {
709	if x != nil {
710		return x.NextPageToken
711	}
712	return ""
713}
714
715func (x *ListImportJobsResponse) GetTotalSize() int32 {
716	if x != nil {
717		return x.TotalSize
718	}
719	return 0
720}
721
722// Request message for [KeyManagementService.GetKeyRing][google.cloud.kms.v1.KeyManagementService.GetKeyRing].
723type GetKeyRingRequest struct {
724	state         protoimpl.MessageState
725	sizeCache     protoimpl.SizeCache
726	unknownFields protoimpl.UnknownFields
727
728	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the [KeyRing][google.cloud.kms.v1.KeyRing] to get.
729	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
730}
731
732func (x *GetKeyRingRequest) Reset() {
733	*x = GetKeyRingRequest{}
734	if protoimpl.UnsafeEnabled {
735		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[8]
736		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
737		ms.StoreMessageInfo(mi)
738	}
739}
740
741func (x *GetKeyRingRequest) String() string {
742	return protoimpl.X.MessageStringOf(x)
743}
744
745func (*GetKeyRingRequest) ProtoMessage() {}
746
747func (x *GetKeyRingRequest) ProtoReflect() protoreflect.Message {
748	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[8]
749	if protoimpl.UnsafeEnabled && x != nil {
750		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
751		if ms.LoadMessageInfo() == nil {
752			ms.StoreMessageInfo(mi)
753		}
754		return ms
755	}
756	return mi.MessageOf(x)
757}
758
759// Deprecated: Use GetKeyRingRequest.ProtoReflect.Descriptor instead.
760func (*GetKeyRingRequest) Descriptor() ([]byte, []int) {
761	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{8}
762}
763
764func (x *GetKeyRingRequest) GetName() string {
765	if x != nil {
766		return x.Name
767	}
768	return ""
769}
770
771// Request message for [KeyManagementService.GetCryptoKey][google.cloud.kms.v1.KeyManagementService.GetCryptoKey].
772type GetCryptoKeyRequest struct {
773	state         protoimpl.MessageState
774	sizeCache     protoimpl.SizeCache
775	unknownFields protoimpl.UnknownFields
776
777	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
778	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
779}
780
781func (x *GetCryptoKeyRequest) Reset() {
782	*x = GetCryptoKeyRequest{}
783	if protoimpl.UnsafeEnabled {
784		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[9]
785		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
786		ms.StoreMessageInfo(mi)
787	}
788}
789
790func (x *GetCryptoKeyRequest) String() string {
791	return protoimpl.X.MessageStringOf(x)
792}
793
794func (*GetCryptoKeyRequest) ProtoMessage() {}
795
796func (x *GetCryptoKeyRequest) ProtoReflect() protoreflect.Message {
797	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[9]
798	if protoimpl.UnsafeEnabled && x != nil {
799		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
800		if ms.LoadMessageInfo() == nil {
801			ms.StoreMessageInfo(mi)
802		}
803		return ms
804	}
805	return mi.MessageOf(x)
806}
807
808// Deprecated: Use GetCryptoKeyRequest.ProtoReflect.Descriptor instead.
809func (*GetCryptoKeyRequest) Descriptor() ([]byte, []int) {
810	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{9}
811}
812
813func (x *GetCryptoKeyRequest) GetName() string {
814	if x != nil {
815		return x.Name
816	}
817	return ""
818}
819
820// Request message for [KeyManagementService.GetCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion].
821type GetCryptoKeyVersionRequest struct {
822	state         protoimpl.MessageState
823	sizeCache     protoimpl.SizeCache
824	unknownFields protoimpl.UnknownFields
825
826	// Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
827	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
828}
829
830func (x *GetCryptoKeyVersionRequest) Reset() {
831	*x = GetCryptoKeyVersionRequest{}
832	if protoimpl.UnsafeEnabled {
833		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[10]
834		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
835		ms.StoreMessageInfo(mi)
836	}
837}
838
839func (x *GetCryptoKeyVersionRequest) String() string {
840	return protoimpl.X.MessageStringOf(x)
841}
842
843func (*GetCryptoKeyVersionRequest) ProtoMessage() {}
844
845func (x *GetCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
846	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[10]
847	if protoimpl.UnsafeEnabled && x != nil {
848		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
849		if ms.LoadMessageInfo() == nil {
850			ms.StoreMessageInfo(mi)
851		}
852		return ms
853	}
854	return mi.MessageOf(x)
855}
856
857// Deprecated: Use GetCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
858func (*GetCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
859	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{10}
860}
861
862func (x *GetCryptoKeyVersionRequest) GetName() string {
863	if x != nil {
864		return x.Name
865	}
866	return ""
867}
868
869// Request message for [KeyManagementService.GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
870type GetPublicKeyRequest struct {
871	state         protoimpl.MessageState
872	sizeCache     protoimpl.SizeCache
873	unknownFields protoimpl.UnknownFields
874
875	// Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to
876	// get.
877	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
878}
879
880func (x *GetPublicKeyRequest) Reset() {
881	*x = GetPublicKeyRequest{}
882	if protoimpl.UnsafeEnabled {
883		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[11]
884		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
885		ms.StoreMessageInfo(mi)
886	}
887}
888
889func (x *GetPublicKeyRequest) String() string {
890	return protoimpl.X.MessageStringOf(x)
891}
892
893func (*GetPublicKeyRequest) ProtoMessage() {}
894
895func (x *GetPublicKeyRequest) ProtoReflect() protoreflect.Message {
896	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[11]
897	if protoimpl.UnsafeEnabled && x != nil {
898		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
899		if ms.LoadMessageInfo() == nil {
900			ms.StoreMessageInfo(mi)
901		}
902		return ms
903	}
904	return mi.MessageOf(x)
905}
906
907// Deprecated: Use GetPublicKeyRequest.ProtoReflect.Descriptor instead.
908func (*GetPublicKeyRequest) Descriptor() ([]byte, []int) {
909	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{11}
910}
911
912func (x *GetPublicKeyRequest) GetName() string {
913	if x != nil {
914		return x.Name
915	}
916	return ""
917}
918
919// Request message for [KeyManagementService.GetImportJob][google.cloud.kms.v1.KeyManagementService.GetImportJob].
920type GetImportJobRequest struct {
921	state         protoimpl.MessageState
922	sizeCache     protoimpl.SizeCache
923	unknownFields protoimpl.UnknownFields
924
925	// Required. The [name][google.cloud.kms.v1.ImportJob.name] of the [ImportJob][google.cloud.kms.v1.ImportJob] to get.
926	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
927}
928
929func (x *GetImportJobRequest) Reset() {
930	*x = GetImportJobRequest{}
931	if protoimpl.UnsafeEnabled {
932		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[12]
933		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
934		ms.StoreMessageInfo(mi)
935	}
936}
937
938func (x *GetImportJobRequest) String() string {
939	return protoimpl.X.MessageStringOf(x)
940}
941
942func (*GetImportJobRequest) ProtoMessage() {}
943
944func (x *GetImportJobRequest) ProtoReflect() protoreflect.Message {
945	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[12]
946	if protoimpl.UnsafeEnabled && x != nil {
947		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
948		if ms.LoadMessageInfo() == nil {
949			ms.StoreMessageInfo(mi)
950		}
951		return ms
952	}
953	return mi.MessageOf(x)
954}
955
956// Deprecated: Use GetImportJobRequest.ProtoReflect.Descriptor instead.
957func (*GetImportJobRequest) Descriptor() ([]byte, []int) {
958	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{12}
959}
960
961func (x *GetImportJobRequest) GetName() string {
962	if x != nil {
963		return x.Name
964	}
965	return ""
966}
967
968// Request message for [KeyManagementService.CreateKeyRing][google.cloud.kms.v1.KeyManagementService.CreateKeyRing].
969type CreateKeyRingRequest struct {
970	state         protoimpl.MessageState
971	sizeCache     protoimpl.SizeCache
972	unknownFields protoimpl.UnknownFields
973
974	// Required. The resource name of the location associated with the
975	// [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
976	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
977	// Required. It must be unique within a location and match the regular
978	// expression `[a-zA-Z0-9_-]{1,63}`
979	KeyRingId string `protobuf:"bytes,2,opt,name=key_ring_id,json=keyRingId,proto3" json:"key_ring_id,omitempty"`
980	// Required. A [KeyRing][google.cloud.kms.v1.KeyRing] with initial field values.
981	KeyRing *KeyRing `protobuf:"bytes,3,opt,name=key_ring,json=keyRing,proto3" json:"key_ring,omitempty"`
982}
983
984func (x *CreateKeyRingRequest) Reset() {
985	*x = CreateKeyRingRequest{}
986	if protoimpl.UnsafeEnabled {
987		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[13]
988		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
989		ms.StoreMessageInfo(mi)
990	}
991}
992
993func (x *CreateKeyRingRequest) String() string {
994	return protoimpl.X.MessageStringOf(x)
995}
996
997func (*CreateKeyRingRequest) ProtoMessage() {}
998
999func (x *CreateKeyRingRequest) ProtoReflect() protoreflect.Message {
1000	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[13]
1001	if protoimpl.UnsafeEnabled && x != nil {
1002		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1003		if ms.LoadMessageInfo() == nil {
1004			ms.StoreMessageInfo(mi)
1005		}
1006		return ms
1007	}
1008	return mi.MessageOf(x)
1009}
1010
1011// Deprecated: Use CreateKeyRingRequest.ProtoReflect.Descriptor instead.
1012func (*CreateKeyRingRequest) Descriptor() ([]byte, []int) {
1013	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{13}
1014}
1015
1016func (x *CreateKeyRingRequest) GetParent() string {
1017	if x != nil {
1018		return x.Parent
1019	}
1020	return ""
1021}
1022
1023func (x *CreateKeyRingRequest) GetKeyRingId() string {
1024	if x != nil {
1025		return x.KeyRingId
1026	}
1027	return ""
1028}
1029
1030func (x *CreateKeyRingRequest) GetKeyRing() *KeyRing {
1031	if x != nil {
1032		return x.KeyRing
1033	}
1034	return nil
1035}
1036
1037// Request message for [KeyManagementService.CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey].
1038type CreateCryptoKeyRequest struct {
1039	state         protoimpl.MessageState
1040	sizeCache     protoimpl.SizeCache
1041	unknownFields protoimpl.UnknownFields
1042
1043	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing associated with the
1044	// [CryptoKeys][google.cloud.kms.v1.CryptoKey].
1045	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1046	// Required. It must be unique within a KeyRing and match the regular
1047	// expression `[a-zA-Z0-9_-]{1,63}`
1048	CryptoKeyId string `protobuf:"bytes,2,opt,name=crypto_key_id,json=cryptoKeyId,proto3" json:"crypto_key_id,omitempty"`
1049	// Required. A [CryptoKey][google.cloud.kms.v1.CryptoKey] with initial field values.
1050	CryptoKey *CryptoKey `protobuf:"bytes,3,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
1051	// If set to true, the request will create a [CryptoKey][google.cloud.kms.v1.CryptoKey] without any
1052	// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. You must manually call
1053	// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or
1054	// [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]
1055	// before you can use this [CryptoKey][google.cloud.kms.v1.CryptoKey].
1056	SkipInitialVersionCreation bool `protobuf:"varint,5,opt,name=skip_initial_version_creation,json=skipInitialVersionCreation,proto3" json:"skip_initial_version_creation,omitempty"`
1057}
1058
1059func (x *CreateCryptoKeyRequest) Reset() {
1060	*x = CreateCryptoKeyRequest{}
1061	if protoimpl.UnsafeEnabled {
1062		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[14]
1063		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1064		ms.StoreMessageInfo(mi)
1065	}
1066}
1067
1068func (x *CreateCryptoKeyRequest) String() string {
1069	return protoimpl.X.MessageStringOf(x)
1070}
1071
1072func (*CreateCryptoKeyRequest) ProtoMessage() {}
1073
1074func (x *CreateCryptoKeyRequest) ProtoReflect() protoreflect.Message {
1075	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[14]
1076	if protoimpl.UnsafeEnabled && x != nil {
1077		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1078		if ms.LoadMessageInfo() == nil {
1079			ms.StoreMessageInfo(mi)
1080		}
1081		return ms
1082	}
1083	return mi.MessageOf(x)
1084}
1085
1086// Deprecated: Use CreateCryptoKeyRequest.ProtoReflect.Descriptor instead.
1087func (*CreateCryptoKeyRequest) Descriptor() ([]byte, []int) {
1088	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{14}
1089}
1090
1091func (x *CreateCryptoKeyRequest) GetParent() string {
1092	if x != nil {
1093		return x.Parent
1094	}
1095	return ""
1096}
1097
1098func (x *CreateCryptoKeyRequest) GetCryptoKeyId() string {
1099	if x != nil {
1100		return x.CryptoKeyId
1101	}
1102	return ""
1103}
1104
1105func (x *CreateCryptoKeyRequest) GetCryptoKey() *CryptoKey {
1106	if x != nil {
1107		return x.CryptoKey
1108	}
1109	return nil
1110}
1111
1112func (x *CreateCryptoKeyRequest) GetSkipInitialVersionCreation() bool {
1113	if x != nil {
1114		return x.SkipInitialVersionCreation
1115	}
1116	return false
1117}
1118
1119// Request message for [KeyManagementService.CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion].
1120type CreateCryptoKeyVersionRequest struct {
1121	state         protoimpl.MessageState
1122	sizeCache     protoimpl.SizeCache
1123	unknownFields protoimpl.UnknownFields
1124
1125	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with
1126	// the [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
1127	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1128	// Required. A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with initial field values.
1129	CryptoKeyVersion *CryptoKeyVersion `protobuf:"bytes,2,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
1130}
1131
1132func (x *CreateCryptoKeyVersionRequest) Reset() {
1133	*x = CreateCryptoKeyVersionRequest{}
1134	if protoimpl.UnsafeEnabled {
1135		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[15]
1136		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1137		ms.StoreMessageInfo(mi)
1138	}
1139}
1140
1141func (x *CreateCryptoKeyVersionRequest) String() string {
1142	return protoimpl.X.MessageStringOf(x)
1143}
1144
1145func (*CreateCryptoKeyVersionRequest) ProtoMessage() {}
1146
1147func (x *CreateCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1148	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[15]
1149	if protoimpl.UnsafeEnabled && x != nil {
1150		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1151		if ms.LoadMessageInfo() == nil {
1152			ms.StoreMessageInfo(mi)
1153		}
1154		return ms
1155	}
1156	return mi.MessageOf(x)
1157}
1158
1159// Deprecated: Use CreateCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1160func (*CreateCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1161	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{15}
1162}
1163
1164func (x *CreateCryptoKeyVersionRequest) GetParent() string {
1165	if x != nil {
1166		return x.Parent
1167	}
1168	return ""
1169}
1170
1171func (x *CreateCryptoKeyVersionRequest) GetCryptoKeyVersion() *CryptoKeyVersion {
1172	if x != nil {
1173		return x.CryptoKeyVersion
1174	}
1175	return nil
1176}
1177
1178// Request message for [KeyManagementService.ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion].
1179type ImportCryptoKeyVersionRequest struct {
1180	state         protoimpl.MessageState
1181	sizeCache     protoimpl.SizeCache
1182	unknownFields protoimpl.UnknownFields
1183
1184	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
1185	// be imported into.
1186	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1187	// Required. The [algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] of
1188	// the key being imported. This does not need to match the
1189	// [version_template][google.cloud.kms.v1.CryptoKey.version_template] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] this
1190	// version imports into.
1191	Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"`
1192	// Required. The [name][google.cloud.kms.v1.ImportJob.name] of the [ImportJob][google.cloud.kms.v1.ImportJob] that was used to
1193	// wrap this key material.
1194	ImportJob string `protobuf:"bytes,4,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
1195	// Required. The incoming wrapped key material that is to be imported.
1196	//
1197	// Types that are assignable to WrappedKeyMaterial:
1198	//	*ImportCryptoKeyVersionRequest_RsaAesWrappedKey
1199	WrappedKeyMaterial isImportCryptoKeyVersionRequest_WrappedKeyMaterial `protobuf_oneof:"wrapped_key_material"`
1200}
1201
1202func (x *ImportCryptoKeyVersionRequest) Reset() {
1203	*x = ImportCryptoKeyVersionRequest{}
1204	if protoimpl.UnsafeEnabled {
1205		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[16]
1206		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1207		ms.StoreMessageInfo(mi)
1208	}
1209}
1210
1211func (x *ImportCryptoKeyVersionRequest) String() string {
1212	return protoimpl.X.MessageStringOf(x)
1213}
1214
1215func (*ImportCryptoKeyVersionRequest) ProtoMessage() {}
1216
1217func (x *ImportCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1218	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[16]
1219	if protoimpl.UnsafeEnabled && x != nil {
1220		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1221		if ms.LoadMessageInfo() == nil {
1222			ms.StoreMessageInfo(mi)
1223		}
1224		return ms
1225	}
1226	return mi.MessageOf(x)
1227}
1228
1229// Deprecated: Use ImportCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1230func (*ImportCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1231	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{16}
1232}
1233
1234func (x *ImportCryptoKeyVersionRequest) GetParent() string {
1235	if x != nil {
1236		return x.Parent
1237	}
1238	return ""
1239}
1240
1241func (x *ImportCryptoKeyVersionRequest) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithm {
1242	if x != nil {
1243		return x.Algorithm
1244	}
1245	return CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED
1246}
1247
1248func (x *ImportCryptoKeyVersionRequest) GetImportJob() string {
1249	if x != nil {
1250		return x.ImportJob
1251	}
1252	return ""
1253}
1254
1255func (m *ImportCryptoKeyVersionRequest) GetWrappedKeyMaterial() isImportCryptoKeyVersionRequest_WrappedKeyMaterial {
1256	if m != nil {
1257		return m.WrappedKeyMaterial
1258	}
1259	return nil
1260}
1261
1262func (x *ImportCryptoKeyVersionRequest) GetRsaAesWrappedKey() []byte {
1263	if x, ok := x.GetWrappedKeyMaterial().(*ImportCryptoKeyVersionRequest_RsaAesWrappedKey); ok {
1264		return x.RsaAesWrappedKey
1265	}
1266	return nil
1267}
1268
1269type isImportCryptoKeyVersionRequest_WrappedKeyMaterial interface {
1270	isImportCryptoKeyVersionRequest_WrappedKeyMaterial()
1271}
1272
1273type ImportCryptoKeyVersionRequest_RsaAesWrappedKey struct {
1274	// Wrapped key material produced with
1275	// [RSA_OAEP_3072_SHA1_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256]
1276	// or
1277	// [RSA_OAEP_4096_SHA1_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_4096_SHA1_AES_256].
1278	//
1279	// This field contains the concatenation of two wrapped keys:
1280	// <ol>
1281	//   <li>An ephemeral AES-256 wrapping key wrapped with the
1282	//       [public_key][google.cloud.kms.v1.ImportJob.public_key] using RSAES-OAEP with SHA-1,
1283	//       MGF1 with SHA-1, and an empty label.
1284	//   </li>
1285	//   <li>The key to be imported, wrapped with the ephemeral AES-256 key
1286	//       using AES-KWP (RFC 5649).
1287	//   </li>
1288	// </ol>
1289	//
1290	// If importing symmetric key material, it is expected that the unwrapped
1291	// key contains plain bytes. If importing asymmetric key material, it is
1292	// expected that the unwrapped key is in PKCS#8-encoded DER format (the
1293	// PrivateKeyInfo structure from RFC 5208).
1294	//
1295	// This format is the same as the format produced by PKCS#11 mechanism
1296	// CKM_RSA_AES_KEY_WRAP.
1297	RsaAesWrappedKey []byte `protobuf:"bytes,5,opt,name=rsa_aes_wrapped_key,json=rsaAesWrappedKey,proto3,oneof"`
1298}
1299
1300func (*ImportCryptoKeyVersionRequest_RsaAesWrappedKey) isImportCryptoKeyVersionRequest_WrappedKeyMaterial() {
1301}
1302
1303// Request message for [KeyManagementService.CreateImportJob][google.cloud.kms.v1.KeyManagementService.CreateImportJob].
1304type CreateImportJobRequest struct {
1305	state         protoimpl.MessageState
1306	sizeCache     protoimpl.SizeCache
1307	unknownFields protoimpl.UnknownFields
1308
1309	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the [KeyRing][google.cloud.kms.v1.KeyRing] associated with the
1310	// [ImportJobs][google.cloud.kms.v1.ImportJob].
1311	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1312	// Required. It must be unique within a KeyRing and match the regular
1313	// expression `[a-zA-Z0-9_-]{1,63}`
1314	ImportJobId string `protobuf:"bytes,2,opt,name=import_job_id,json=importJobId,proto3" json:"import_job_id,omitempty"`
1315	// Required. An [ImportJob][google.cloud.kms.v1.ImportJob] with initial field values.
1316	ImportJob *ImportJob `protobuf:"bytes,3,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
1317}
1318
1319func (x *CreateImportJobRequest) Reset() {
1320	*x = CreateImportJobRequest{}
1321	if protoimpl.UnsafeEnabled {
1322		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[17]
1323		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1324		ms.StoreMessageInfo(mi)
1325	}
1326}
1327
1328func (x *CreateImportJobRequest) String() string {
1329	return protoimpl.X.MessageStringOf(x)
1330}
1331
1332func (*CreateImportJobRequest) ProtoMessage() {}
1333
1334func (x *CreateImportJobRequest) ProtoReflect() protoreflect.Message {
1335	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[17]
1336	if protoimpl.UnsafeEnabled && x != nil {
1337		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1338		if ms.LoadMessageInfo() == nil {
1339			ms.StoreMessageInfo(mi)
1340		}
1341		return ms
1342	}
1343	return mi.MessageOf(x)
1344}
1345
1346// Deprecated: Use CreateImportJobRequest.ProtoReflect.Descriptor instead.
1347func (*CreateImportJobRequest) Descriptor() ([]byte, []int) {
1348	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{17}
1349}
1350
1351func (x *CreateImportJobRequest) GetParent() string {
1352	if x != nil {
1353		return x.Parent
1354	}
1355	return ""
1356}
1357
1358func (x *CreateImportJobRequest) GetImportJobId() string {
1359	if x != nil {
1360		return x.ImportJobId
1361	}
1362	return ""
1363}
1364
1365func (x *CreateImportJobRequest) GetImportJob() *ImportJob {
1366	if x != nil {
1367		return x.ImportJob
1368	}
1369	return nil
1370}
1371
1372// Request message for [KeyManagementService.UpdateCryptoKey][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey].
1373type UpdateCryptoKeyRequest struct {
1374	state         protoimpl.MessageState
1375	sizeCache     protoimpl.SizeCache
1376	unknownFields protoimpl.UnknownFields
1377
1378	// Required. [CryptoKey][google.cloud.kms.v1.CryptoKey] with updated values.
1379	CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
1380	// Required. List of fields to be updated in this request.
1381	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1382}
1383
1384func (x *UpdateCryptoKeyRequest) Reset() {
1385	*x = UpdateCryptoKeyRequest{}
1386	if protoimpl.UnsafeEnabled {
1387		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[18]
1388		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1389		ms.StoreMessageInfo(mi)
1390	}
1391}
1392
1393func (x *UpdateCryptoKeyRequest) String() string {
1394	return protoimpl.X.MessageStringOf(x)
1395}
1396
1397func (*UpdateCryptoKeyRequest) ProtoMessage() {}
1398
1399func (x *UpdateCryptoKeyRequest) ProtoReflect() protoreflect.Message {
1400	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[18]
1401	if protoimpl.UnsafeEnabled && x != nil {
1402		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1403		if ms.LoadMessageInfo() == nil {
1404			ms.StoreMessageInfo(mi)
1405		}
1406		return ms
1407	}
1408	return mi.MessageOf(x)
1409}
1410
1411// Deprecated: Use UpdateCryptoKeyRequest.ProtoReflect.Descriptor instead.
1412func (*UpdateCryptoKeyRequest) Descriptor() ([]byte, []int) {
1413	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{18}
1414}
1415
1416func (x *UpdateCryptoKeyRequest) GetCryptoKey() *CryptoKey {
1417	if x != nil {
1418		return x.CryptoKey
1419	}
1420	return nil
1421}
1422
1423func (x *UpdateCryptoKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1424	if x != nil {
1425		return x.UpdateMask
1426	}
1427	return nil
1428}
1429
1430// Request message for [KeyManagementService.UpdateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion].
1431type UpdateCryptoKeyVersionRequest struct {
1432	state         protoimpl.MessageState
1433	sizeCache     protoimpl.SizeCache
1434	unknownFields protoimpl.UnknownFields
1435
1436	// Required. [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with updated values.
1437	CryptoKeyVersion *CryptoKeyVersion `protobuf:"bytes,1,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
1438	// Required. List of fields to be updated in this request.
1439	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1440}
1441
1442func (x *UpdateCryptoKeyVersionRequest) Reset() {
1443	*x = UpdateCryptoKeyVersionRequest{}
1444	if protoimpl.UnsafeEnabled {
1445		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[19]
1446		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1447		ms.StoreMessageInfo(mi)
1448	}
1449}
1450
1451func (x *UpdateCryptoKeyVersionRequest) String() string {
1452	return protoimpl.X.MessageStringOf(x)
1453}
1454
1455func (*UpdateCryptoKeyVersionRequest) ProtoMessage() {}
1456
1457func (x *UpdateCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1458	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[19]
1459	if protoimpl.UnsafeEnabled && x != nil {
1460		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1461		if ms.LoadMessageInfo() == nil {
1462			ms.StoreMessageInfo(mi)
1463		}
1464		return ms
1465	}
1466	return mi.MessageOf(x)
1467}
1468
1469// Deprecated: Use UpdateCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1470func (*UpdateCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1471	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{19}
1472}
1473
1474func (x *UpdateCryptoKeyVersionRequest) GetCryptoKeyVersion() *CryptoKeyVersion {
1475	if x != nil {
1476		return x.CryptoKeyVersion
1477	}
1478	return nil
1479}
1480
1481func (x *UpdateCryptoKeyVersionRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1482	if x != nil {
1483		return x.UpdateMask
1484	}
1485	return nil
1486}
1487
1488// Request message for [KeyManagementService.UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
1489type UpdateCryptoKeyPrimaryVersionRequest struct {
1490	state         protoimpl.MessageState
1491	sizeCache     protoimpl.SizeCache
1492	unknownFields protoimpl.UnknownFields
1493
1494	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to update.
1495	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1496	// Required. The id of the child [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
1497	CryptoKeyVersionId string `protobuf:"bytes,2,opt,name=crypto_key_version_id,json=cryptoKeyVersionId,proto3" json:"crypto_key_version_id,omitempty"`
1498}
1499
1500func (x *UpdateCryptoKeyPrimaryVersionRequest) Reset() {
1501	*x = UpdateCryptoKeyPrimaryVersionRequest{}
1502	if protoimpl.UnsafeEnabled {
1503		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[20]
1504		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1505		ms.StoreMessageInfo(mi)
1506	}
1507}
1508
1509func (x *UpdateCryptoKeyPrimaryVersionRequest) String() string {
1510	return protoimpl.X.MessageStringOf(x)
1511}
1512
1513func (*UpdateCryptoKeyPrimaryVersionRequest) ProtoMessage() {}
1514
1515func (x *UpdateCryptoKeyPrimaryVersionRequest) ProtoReflect() protoreflect.Message {
1516	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[20]
1517	if protoimpl.UnsafeEnabled && x != nil {
1518		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1519		if ms.LoadMessageInfo() == nil {
1520			ms.StoreMessageInfo(mi)
1521		}
1522		return ms
1523	}
1524	return mi.MessageOf(x)
1525}
1526
1527// Deprecated: Use UpdateCryptoKeyPrimaryVersionRequest.ProtoReflect.Descriptor instead.
1528func (*UpdateCryptoKeyPrimaryVersionRequest) Descriptor() ([]byte, []int) {
1529	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{20}
1530}
1531
1532func (x *UpdateCryptoKeyPrimaryVersionRequest) GetName() string {
1533	if x != nil {
1534		return x.Name
1535	}
1536	return ""
1537}
1538
1539func (x *UpdateCryptoKeyPrimaryVersionRequest) GetCryptoKeyVersionId() string {
1540	if x != nil {
1541		return x.CryptoKeyVersionId
1542	}
1543	return ""
1544}
1545
1546// Request message for [KeyManagementService.DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion].
1547type DestroyCryptoKeyVersionRequest struct {
1548	state         protoimpl.MessageState
1549	sizeCache     protoimpl.SizeCache
1550	unknownFields protoimpl.UnknownFields
1551
1552	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
1553	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1554}
1555
1556func (x *DestroyCryptoKeyVersionRequest) Reset() {
1557	*x = DestroyCryptoKeyVersionRequest{}
1558	if protoimpl.UnsafeEnabled {
1559		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[21]
1560		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1561		ms.StoreMessageInfo(mi)
1562	}
1563}
1564
1565func (x *DestroyCryptoKeyVersionRequest) String() string {
1566	return protoimpl.X.MessageStringOf(x)
1567}
1568
1569func (*DestroyCryptoKeyVersionRequest) ProtoMessage() {}
1570
1571func (x *DestroyCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1572	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[21]
1573	if protoimpl.UnsafeEnabled && x != nil {
1574		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1575		if ms.LoadMessageInfo() == nil {
1576			ms.StoreMessageInfo(mi)
1577		}
1578		return ms
1579	}
1580	return mi.MessageOf(x)
1581}
1582
1583// Deprecated: Use DestroyCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1584func (*DestroyCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1585	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{21}
1586}
1587
1588func (x *DestroyCryptoKeyVersionRequest) GetName() string {
1589	if x != nil {
1590		return x.Name
1591	}
1592	return ""
1593}
1594
1595// Request message for [KeyManagementService.RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion].
1596type RestoreCryptoKeyVersionRequest struct {
1597	state         protoimpl.MessageState
1598	sizeCache     protoimpl.SizeCache
1599	unknownFields protoimpl.UnknownFields
1600
1601	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
1602	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1603}
1604
1605func (x *RestoreCryptoKeyVersionRequest) Reset() {
1606	*x = RestoreCryptoKeyVersionRequest{}
1607	if protoimpl.UnsafeEnabled {
1608		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[22]
1609		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1610		ms.StoreMessageInfo(mi)
1611	}
1612}
1613
1614func (x *RestoreCryptoKeyVersionRequest) String() string {
1615	return protoimpl.X.MessageStringOf(x)
1616}
1617
1618func (*RestoreCryptoKeyVersionRequest) ProtoMessage() {}
1619
1620func (x *RestoreCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1621	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[22]
1622	if protoimpl.UnsafeEnabled && x != nil {
1623		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1624		if ms.LoadMessageInfo() == nil {
1625			ms.StoreMessageInfo(mi)
1626		}
1627		return ms
1628	}
1629	return mi.MessageOf(x)
1630}
1631
1632// Deprecated: Use RestoreCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1633func (*RestoreCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1634	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{22}
1635}
1636
1637func (x *RestoreCryptoKeyVersionRequest) GetName() string {
1638	if x != nil {
1639		return x.Name
1640	}
1641	return ""
1642}
1643
1644// Request message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
1645type EncryptRequest struct {
1646	state         protoimpl.MessageState
1647	sizeCache     protoimpl.SizeCache
1648	unknownFields protoimpl.UnknownFields
1649
1650	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
1651	// to use for encryption.
1652	//
1653	// If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its
1654	// [primary version][google.cloud.kms.v1.CryptoKey.primary].
1655	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1656	// Required. The data to encrypt. Must be no larger than 64KiB.
1657	//
1658	// The maximum size depends on the key version's
1659	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For
1660	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no larger
1661	// than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of the
1662	// plaintext and additional_authenticated_data fields must be no larger than
1663	// 8KiB.
1664	Plaintext []byte `protobuf:"bytes,2,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
1665	// Optional. Optional data that, if specified, must also be provided during decryption
1666	// through [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data].
1667	//
1668	// The maximum size depends on the key version's
1669	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For
1670	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the AAD must be no larger than
1671	// 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of the
1672	// plaintext and additional_authenticated_data fields must be no larger than
1673	// 8KiB.
1674	AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
1675	// Optional. An optional CRC32C checksum of the [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]. If
1676	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1677	// received [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext] using this checksum.
1678	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1679	// fails. If you receive a checksum error, your client should verify that
1680	// CRC32C([EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]) is equal to
1681	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c], and if so, perform a limited number of
1682	// retries. A persistent mismatch may indicate an issue in your computation of
1683	// the CRC32C checksum.
1684	// Note: This field is defined as int64 for reasons of compatibility across
1685	// different languages. However, it is a non-negative integer, which will
1686	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1687	// that support this type.
1688	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,7,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
1689	// Optional. An optional CRC32C checksum of the
1690	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]. If specified,
1691	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the received
1692	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data] using this checksum.
1693	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1694	// fails. If you receive a checksum error, your client should verify that
1695	// CRC32C([EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]) is equal to
1696	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c], and if so, perform
1697	// a limited number of retries. A persistent mismatch may indicate an issue in
1698	// your computation of the CRC32C checksum.
1699	// Note: This field is defined as int64 for reasons of compatibility across
1700	// different languages. However, it is a non-negative integer, which will
1701	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1702	// that support this type.
1703	AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,8,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
1704}
1705
1706func (x *EncryptRequest) Reset() {
1707	*x = EncryptRequest{}
1708	if protoimpl.UnsafeEnabled {
1709		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[23]
1710		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1711		ms.StoreMessageInfo(mi)
1712	}
1713}
1714
1715func (x *EncryptRequest) String() string {
1716	return protoimpl.X.MessageStringOf(x)
1717}
1718
1719func (*EncryptRequest) ProtoMessage() {}
1720
1721func (x *EncryptRequest) ProtoReflect() protoreflect.Message {
1722	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[23]
1723	if protoimpl.UnsafeEnabled && x != nil {
1724		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1725		if ms.LoadMessageInfo() == nil {
1726			ms.StoreMessageInfo(mi)
1727		}
1728		return ms
1729	}
1730	return mi.MessageOf(x)
1731}
1732
1733// Deprecated: Use EncryptRequest.ProtoReflect.Descriptor instead.
1734func (*EncryptRequest) Descriptor() ([]byte, []int) {
1735	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{23}
1736}
1737
1738func (x *EncryptRequest) GetName() string {
1739	if x != nil {
1740		return x.Name
1741	}
1742	return ""
1743}
1744
1745func (x *EncryptRequest) GetPlaintext() []byte {
1746	if x != nil {
1747		return x.Plaintext
1748	}
1749	return nil
1750}
1751
1752func (x *EncryptRequest) GetAdditionalAuthenticatedData() []byte {
1753	if x != nil {
1754		return x.AdditionalAuthenticatedData
1755	}
1756	return nil
1757}
1758
1759func (x *EncryptRequest) GetPlaintextCrc32C() *wrapperspb.Int64Value {
1760	if x != nil {
1761		return x.PlaintextCrc32C
1762	}
1763	return nil
1764}
1765
1766func (x *EncryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Value {
1767	if x != nil {
1768		return x.AdditionalAuthenticatedDataCrc32C
1769	}
1770	return nil
1771}
1772
1773// Request message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
1774type DecryptRequest struct {
1775	state         protoimpl.MessageState
1776	sizeCache     protoimpl.SizeCache
1777	unknownFields protoimpl.UnknownFields
1778
1779	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to use for decryption.
1780	// The server will choose the appropriate version.
1781	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1782	// Required. The encrypted data originally returned in
1783	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext].
1784	Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
1785	// Optional. Optional data that must match the data originally supplied in
1786	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data].
1787	AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
1788	// Optional. An optional CRC32C checksum of the [DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext]. If
1789	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1790	// received [DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext] using this checksum.
1791	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1792	// fails. If you receive a checksum error, your client should verify that
1793	// CRC32C([DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext]) is equal to
1794	// [DecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.DecryptRequest.ciphertext_crc32c], and if so, perform a limited number
1795	// of retries. A persistent mismatch may indicate an issue in your computation
1796	// of the CRC32C checksum.
1797	// Note: This field is defined as int64 for reasons of compatibility across
1798	// different languages. However, it is a non-negative integer, which will
1799	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1800	// that support this type.
1801	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
1802	// Optional. An optional CRC32C checksum of the
1803	// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data]. If specified,
1804	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the received
1805	// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data] using this checksum.
1806	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1807	// fails. If you receive a checksum error, your client should verify that
1808	// CRC32C([DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data]) is equal to
1809	// [DecryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data_crc32c], and if so, perform
1810	// a limited number of retries. A persistent mismatch may indicate an issue in
1811	// your computation of the CRC32C checksum.
1812	// Note: This field is defined as int64 for reasons of compatibility across
1813	// different languages. However, it is a non-negative integer, which will
1814	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1815	// that support this type.
1816	AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,6,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
1817}
1818
1819func (x *DecryptRequest) Reset() {
1820	*x = DecryptRequest{}
1821	if protoimpl.UnsafeEnabled {
1822		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[24]
1823		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1824		ms.StoreMessageInfo(mi)
1825	}
1826}
1827
1828func (x *DecryptRequest) String() string {
1829	return protoimpl.X.MessageStringOf(x)
1830}
1831
1832func (*DecryptRequest) ProtoMessage() {}
1833
1834func (x *DecryptRequest) ProtoReflect() protoreflect.Message {
1835	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[24]
1836	if protoimpl.UnsafeEnabled && x != nil {
1837		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1838		if ms.LoadMessageInfo() == nil {
1839			ms.StoreMessageInfo(mi)
1840		}
1841		return ms
1842	}
1843	return mi.MessageOf(x)
1844}
1845
1846// Deprecated: Use DecryptRequest.ProtoReflect.Descriptor instead.
1847func (*DecryptRequest) Descriptor() ([]byte, []int) {
1848	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{24}
1849}
1850
1851func (x *DecryptRequest) GetName() string {
1852	if x != nil {
1853		return x.Name
1854	}
1855	return ""
1856}
1857
1858func (x *DecryptRequest) GetCiphertext() []byte {
1859	if x != nil {
1860		return x.Ciphertext
1861	}
1862	return nil
1863}
1864
1865func (x *DecryptRequest) GetAdditionalAuthenticatedData() []byte {
1866	if x != nil {
1867		return x.AdditionalAuthenticatedData
1868	}
1869	return nil
1870}
1871
1872func (x *DecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Value {
1873	if x != nil {
1874		return x.CiphertextCrc32C
1875	}
1876	return nil
1877}
1878
1879func (x *DecryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Value {
1880	if x != nil {
1881		return x.AdditionalAuthenticatedDataCrc32C
1882	}
1883	return nil
1884}
1885
1886// Request message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
1887type AsymmetricSignRequest struct {
1888	state         protoimpl.MessageState
1889	sizeCache     protoimpl.SizeCache
1890	unknownFields protoimpl.UnknownFields
1891
1892	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
1893	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1894	// Required. The digest of the data to sign. The digest must be produced with
1895	// the same digest algorithm as specified by the key version's
1896	// [algorithm][google.cloud.kms.v1.CryptoKeyVersion.algorithm].
1897	Digest *Digest `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
1898	// Optional. An optional CRC32C checksum of the [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]. If
1899	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1900	// received [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest] using this checksum.
1901	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1902	// fails. If you receive a checksum error, your client should verify that
1903	// CRC32C([AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]) is equal to
1904	// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c], and if so, perform a limited
1905	// number of retries. A persistent mismatch may indicate an issue in your
1906	// computation of the CRC32C checksum.
1907	// Note: This field is defined as int64 for reasons of compatibility across
1908	// different languages. However, it is a non-negative integer, which will
1909	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1910	// that support this type.
1911	DigestCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=digest_crc32c,json=digestCrc32c,proto3" json:"digest_crc32c,omitempty"`
1912}
1913
1914func (x *AsymmetricSignRequest) Reset() {
1915	*x = AsymmetricSignRequest{}
1916	if protoimpl.UnsafeEnabled {
1917		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[25]
1918		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1919		ms.StoreMessageInfo(mi)
1920	}
1921}
1922
1923func (x *AsymmetricSignRequest) String() string {
1924	return protoimpl.X.MessageStringOf(x)
1925}
1926
1927func (*AsymmetricSignRequest) ProtoMessage() {}
1928
1929func (x *AsymmetricSignRequest) ProtoReflect() protoreflect.Message {
1930	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[25]
1931	if protoimpl.UnsafeEnabled && x != nil {
1932		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1933		if ms.LoadMessageInfo() == nil {
1934			ms.StoreMessageInfo(mi)
1935		}
1936		return ms
1937	}
1938	return mi.MessageOf(x)
1939}
1940
1941// Deprecated: Use AsymmetricSignRequest.ProtoReflect.Descriptor instead.
1942func (*AsymmetricSignRequest) Descriptor() ([]byte, []int) {
1943	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{25}
1944}
1945
1946func (x *AsymmetricSignRequest) GetName() string {
1947	if x != nil {
1948		return x.Name
1949	}
1950	return ""
1951}
1952
1953func (x *AsymmetricSignRequest) GetDigest() *Digest {
1954	if x != nil {
1955		return x.Digest
1956	}
1957	return nil
1958}
1959
1960func (x *AsymmetricSignRequest) GetDigestCrc32C() *wrapperspb.Int64Value {
1961	if x != nil {
1962		return x.DigestCrc32C
1963	}
1964	return nil
1965}
1966
1967// Request message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
1968type AsymmetricDecryptRequest struct {
1969	state         protoimpl.MessageState
1970	sizeCache     protoimpl.SizeCache
1971	unknownFields protoimpl.UnknownFields
1972
1973	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
1974	// decryption.
1975	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1976	// Required. The data encrypted with the named [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public
1977	// key using OAEP.
1978	Ciphertext []byte `protobuf:"bytes,3,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
1979	// Optional. An optional CRC32C checksum of the [AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext].
1980	// If specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1981	// received [AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext] using this checksum.
1982	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1983	// fails. If you receive a checksum error, your client should verify that
1984	// CRC32C([AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext]) is equal to
1985	// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c], and if so, perform a
1986	// limited number of retries. A persistent mismatch may indicate an issue in
1987	// your computation of the CRC32C checksum.
1988	// Note: This field is defined as int64 for reasons of compatibility across
1989	// different languages. However, it is a non-negative integer, which will
1990	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1991	// that support this type.
1992	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
1993}
1994
1995func (x *AsymmetricDecryptRequest) Reset() {
1996	*x = AsymmetricDecryptRequest{}
1997	if protoimpl.UnsafeEnabled {
1998		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[26]
1999		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2000		ms.StoreMessageInfo(mi)
2001	}
2002}
2003
2004func (x *AsymmetricDecryptRequest) String() string {
2005	return protoimpl.X.MessageStringOf(x)
2006}
2007
2008func (*AsymmetricDecryptRequest) ProtoMessage() {}
2009
2010func (x *AsymmetricDecryptRequest) ProtoReflect() protoreflect.Message {
2011	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[26]
2012	if protoimpl.UnsafeEnabled && x != nil {
2013		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2014		if ms.LoadMessageInfo() == nil {
2015			ms.StoreMessageInfo(mi)
2016		}
2017		return ms
2018	}
2019	return mi.MessageOf(x)
2020}
2021
2022// Deprecated: Use AsymmetricDecryptRequest.ProtoReflect.Descriptor instead.
2023func (*AsymmetricDecryptRequest) Descriptor() ([]byte, []int) {
2024	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{26}
2025}
2026
2027func (x *AsymmetricDecryptRequest) GetName() string {
2028	if x != nil {
2029		return x.Name
2030	}
2031	return ""
2032}
2033
2034func (x *AsymmetricDecryptRequest) GetCiphertext() []byte {
2035	if x != nil {
2036		return x.Ciphertext
2037	}
2038	return nil
2039}
2040
2041func (x *AsymmetricDecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Value {
2042	if x != nil {
2043		return x.CiphertextCrc32C
2044	}
2045	return nil
2046}
2047
2048// Request message for [KeyManagementService.MacSign][google.cloud.kms.v1.KeyManagementService.MacSign].
2049type MacSignRequest struct {
2050	state         protoimpl.MessageState
2051	sizeCache     protoimpl.SizeCache
2052	unknownFields protoimpl.UnknownFields
2053
2054	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
2055	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2056	// Required. The data to sign. The MAC tag is computed over this data field based on
2057	// the specific algorithm.
2058	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
2059	// Optional. An optional CRC32C checksum of the [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data]. If
2060	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2061	// received [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data] using this checksum.
2062	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2063	// fails. If you receive a checksum error, your client should verify that
2064	// CRC32C([MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data]) is equal to
2065	// [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c], and if so, perform a limited
2066	// number of retries. A persistent mismatch may indicate an issue in your
2067	// computation of the CRC32C checksum.
2068	// Note: This field is defined as int64 for reasons of compatibility across
2069	// different languages. However, it is a non-negative integer, which will
2070	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2071	// that support this type.
2072	DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
2073}
2074
2075func (x *MacSignRequest) Reset() {
2076	*x = MacSignRequest{}
2077	if protoimpl.UnsafeEnabled {
2078		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[27]
2079		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2080		ms.StoreMessageInfo(mi)
2081	}
2082}
2083
2084func (x *MacSignRequest) String() string {
2085	return protoimpl.X.MessageStringOf(x)
2086}
2087
2088func (*MacSignRequest) ProtoMessage() {}
2089
2090func (x *MacSignRequest) ProtoReflect() protoreflect.Message {
2091	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[27]
2092	if protoimpl.UnsafeEnabled && x != nil {
2093		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2094		if ms.LoadMessageInfo() == nil {
2095			ms.StoreMessageInfo(mi)
2096		}
2097		return ms
2098	}
2099	return mi.MessageOf(x)
2100}
2101
2102// Deprecated: Use MacSignRequest.ProtoReflect.Descriptor instead.
2103func (*MacSignRequest) Descriptor() ([]byte, []int) {
2104	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{27}
2105}
2106
2107func (x *MacSignRequest) GetName() string {
2108	if x != nil {
2109		return x.Name
2110	}
2111	return ""
2112}
2113
2114func (x *MacSignRequest) GetData() []byte {
2115	if x != nil {
2116		return x.Data
2117	}
2118	return nil
2119}
2120
2121func (x *MacSignRequest) GetDataCrc32C() *wrapperspb.Int64Value {
2122	if x != nil {
2123		return x.DataCrc32C
2124	}
2125	return nil
2126}
2127
2128// Request message for [KeyManagementService.MacVerify][google.cloud.kms.v1.KeyManagementService.MacVerify].
2129type MacVerifyRequest struct {
2130	state         protoimpl.MessageState
2131	sizeCache     protoimpl.SizeCache
2132	unknownFields protoimpl.UnknownFields
2133
2134	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for verification.
2135	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2136	// Required. The data used previously as a [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data] to generate the MAC
2137	// tag.
2138	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
2139	// Optional. An optional CRC32C checksum of the [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data]. If
2140	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2141	// received [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data] using this checksum.
2142	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2143	// fails. If you receive a checksum error, your client should verify that
2144	// CRC32C([MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data]) is equal to
2145	// [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c], and if so, perform a limited
2146	// number of retries. A persistent mismatch may indicate an issue in your
2147	// computation of the CRC32C checksum.
2148	// Note: This field is defined as int64 for reasons of compatibility across
2149	// different languages. However, it is a non-negative integer, which will
2150	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2151	// that support this type.
2152	DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
2153	// Required. The signature to verify.
2154	Mac []byte `protobuf:"bytes,4,opt,name=mac,proto3" json:"mac,omitempty"`
2155	// Optional. An optional CRC32C checksum of the [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac]. If
2156	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2157	// received [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac] using this checksum.
2158	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2159	// fails. If you receive a checksum error, your client should verify that
2160	// CRC32C([MacVerifyRequest.tag][]) is equal to
2161	// [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c], and if so, perform a limited
2162	// number of retries. A persistent mismatch may indicate an issue in your
2163	// computation of the CRC32C checksum.
2164	// Note: This field is defined as int64 for reasons of compatibility across
2165	// different languages. However, it is a non-negative integer, which will
2166	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2167	// that support this type.
2168	MacCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=mac_crc32c,json=macCrc32c,proto3" json:"mac_crc32c,omitempty"`
2169}
2170
2171func (x *MacVerifyRequest) Reset() {
2172	*x = MacVerifyRequest{}
2173	if protoimpl.UnsafeEnabled {
2174		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[28]
2175		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2176		ms.StoreMessageInfo(mi)
2177	}
2178}
2179
2180func (x *MacVerifyRequest) String() string {
2181	return protoimpl.X.MessageStringOf(x)
2182}
2183
2184func (*MacVerifyRequest) ProtoMessage() {}
2185
2186func (x *MacVerifyRequest) ProtoReflect() protoreflect.Message {
2187	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[28]
2188	if protoimpl.UnsafeEnabled && x != nil {
2189		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2190		if ms.LoadMessageInfo() == nil {
2191			ms.StoreMessageInfo(mi)
2192		}
2193		return ms
2194	}
2195	return mi.MessageOf(x)
2196}
2197
2198// Deprecated: Use MacVerifyRequest.ProtoReflect.Descriptor instead.
2199func (*MacVerifyRequest) Descriptor() ([]byte, []int) {
2200	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{28}
2201}
2202
2203func (x *MacVerifyRequest) GetName() string {
2204	if x != nil {
2205		return x.Name
2206	}
2207	return ""
2208}
2209
2210func (x *MacVerifyRequest) GetData() []byte {
2211	if x != nil {
2212		return x.Data
2213	}
2214	return nil
2215}
2216
2217func (x *MacVerifyRequest) GetDataCrc32C() *wrapperspb.Int64Value {
2218	if x != nil {
2219		return x.DataCrc32C
2220	}
2221	return nil
2222}
2223
2224func (x *MacVerifyRequest) GetMac() []byte {
2225	if x != nil {
2226		return x.Mac
2227	}
2228	return nil
2229}
2230
2231func (x *MacVerifyRequest) GetMacCrc32C() *wrapperspb.Int64Value {
2232	if x != nil {
2233		return x.MacCrc32C
2234	}
2235	return nil
2236}
2237
2238// Request message for [KeyManagementService.GenerateRandomBytes][google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes].
2239type GenerateRandomBytesRequest struct {
2240	state         protoimpl.MessageState
2241	sizeCache     protoimpl.SizeCache
2242	unknownFields protoimpl.UnknownFields
2243
2244	// The project-specific location in which to generate random bytes.
2245	// For example, "projects/my-project/locations/us-central1".
2246	Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
2247	// The length in bytes of the amount of randomness to retrieve.  Minimum 8
2248	// bytes, maximum 1024 bytes.
2249	LengthBytes int32 `protobuf:"varint,2,opt,name=length_bytes,json=lengthBytes,proto3" json:"length_bytes,omitempty"`
2250	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when generating the random data. Defaults to
2251	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
2252	ProtectionLevel ProtectionLevel `protobuf:"varint,3,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2253}
2254
2255func (x *GenerateRandomBytesRequest) Reset() {
2256	*x = GenerateRandomBytesRequest{}
2257	if protoimpl.UnsafeEnabled {
2258		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[29]
2259		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2260		ms.StoreMessageInfo(mi)
2261	}
2262}
2263
2264func (x *GenerateRandomBytesRequest) String() string {
2265	return protoimpl.X.MessageStringOf(x)
2266}
2267
2268func (*GenerateRandomBytesRequest) ProtoMessage() {}
2269
2270func (x *GenerateRandomBytesRequest) ProtoReflect() protoreflect.Message {
2271	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[29]
2272	if protoimpl.UnsafeEnabled && x != nil {
2273		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2274		if ms.LoadMessageInfo() == nil {
2275			ms.StoreMessageInfo(mi)
2276		}
2277		return ms
2278	}
2279	return mi.MessageOf(x)
2280}
2281
2282// Deprecated: Use GenerateRandomBytesRequest.ProtoReflect.Descriptor instead.
2283func (*GenerateRandomBytesRequest) Descriptor() ([]byte, []int) {
2284	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{29}
2285}
2286
2287func (x *GenerateRandomBytesRequest) GetLocation() string {
2288	if x != nil {
2289		return x.Location
2290	}
2291	return ""
2292}
2293
2294func (x *GenerateRandomBytesRequest) GetLengthBytes() int32 {
2295	if x != nil {
2296		return x.LengthBytes
2297	}
2298	return 0
2299}
2300
2301func (x *GenerateRandomBytesRequest) GetProtectionLevel() ProtectionLevel {
2302	if x != nil {
2303		return x.ProtectionLevel
2304	}
2305	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2306}
2307
2308// Response message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
2309type EncryptResponse struct {
2310	state         protoimpl.MessageState
2311	sizeCache     protoimpl.SizeCache
2312	unknownFields protoimpl.UnknownFields
2313
2314	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in encryption. Check
2315	// this field to verify that the intended resource was used for encryption.
2316	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2317	// The encrypted data.
2318	Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
2319	// Integrity verification field. A CRC32C checksum of the returned
2320	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext]. An integrity check of
2321	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext] can be performed by computing the CRC32C
2322	// checksum of [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext] and comparing your results to
2323	// this field. Discard the response in case of non-matching checksum values,
2324	// and perform a limited number of retries. A persistent mismatch may indicate
2325	// an issue in your computation of the CRC32C checksum.
2326	// Note: This field is defined as int64 for reasons of compatibility across
2327	// different languages. However, it is a non-negative integer, which will
2328	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2329	// that support this type.
2330	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
2331	// Integrity verification field. A flag indicating whether
2332	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] was received by
2333	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2334	// [plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]. A false value of this field
2335	// indicates either that [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] was left unset or
2336	// that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've set
2337	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] but this field is still false, discard
2338	// the response and perform a limited number of retries.
2339	VerifiedPlaintextCrc32C bool `protobuf:"varint,5,opt,name=verified_plaintext_crc32c,json=verifiedPlaintextCrc32c,proto3" json:"verified_plaintext_crc32c,omitempty"`
2340	// Integrity verification field. A flag indicating whether
2341	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] was received by
2342	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2343	// [AAD][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]. A false value of this
2344	// field indicates either that
2345	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] was left unset or
2346	// that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've set
2347	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] but this field is
2348	// still false, discard the response and perform a limited number of retries.
2349	VerifiedAdditionalAuthenticatedDataCrc32C bool `protobuf:"varint,6,opt,name=verified_additional_authenticated_data_crc32c,json=verifiedAdditionalAuthenticatedDataCrc32c,proto3" json:"verified_additional_authenticated_data_crc32c,omitempty"`
2350	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in encryption.
2351	ProtectionLevel ProtectionLevel `protobuf:"varint,7,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2352}
2353
2354func (x *EncryptResponse) Reset() {
2355	*x = EncryptResponse{}
2356	if protoimpl.UnsafeEnabled {
2357		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[30]
2358		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2359		ms.StoreMessageInfo(mi)
2360	}
2361}
2362
2363func (x *EncryptResponse) String() string {
2364	return protoimpl.X.MessageStringOf(x)
2365}
2366
2367func (*EncryptResponse) ProtoMessage() {}
2368
2369func (x *EncryptResponse) ProtoReflect() protoreflect.Message {
2370	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[30]
2371	if protoimpl.UnsafeEnabled && x != nil {
2372		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2373		if ms.LoadMessageInfo() == nil {
2374			ms.StoreMessageInfo(mi)
2375		}
2376		return ms
2377	}
2378	return mi.MessageOf(x)
2379}
2380
2381// Deprecated: Use EncryptResponse.ProtoReflect.Descriptor instead.
2382func (*EncryptResponse) Descriptor() ([]byte, []int) {
2383	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{30}
2384}
2385
2386func (x *EncryptResponse) GetName() string {
2387	if x != nil {
2388		return x.Name
2389	}
2390	return ""
2391}
2392
2393func (x *EncryptResponse) GetCiphertext() []byte {
2394	if x != nil {
2395		return x.Ciphertext
2396	}
2397	return nil
2398}
2399
2400func (x *EncryptResponse) GetCiphertextCrc32C() *wrapperspb.Int64Value {
2401	if x != nil {
2402		return x.CiphertextCrc32C
2403	}
2404	return nil
2405}
2406
2407func (x *EncryptResponse) GetVerifiedPlaintextCrc32C() bool {
2408	if x != nil {
2409		return x.VerifiedPlaintextCrc32C
2410	}
2411	return false
2412}
2413
2414func (x *EncryptResponse) GetVerifiedAdditionalAuthenticatedDataCrc32C() bool {
2415	if x != nil {
2416		return x.VerifiedAdditionalAuthenticatedDataCrc32C
2417	}
2418	return false
2419}
2420
2421func (x *EncryptResponse) GetProtectionLevel() ProtectionLevel {
2422	if x != nil {
2423		return x.ProtectionLevel
2424	}
2425	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2426}
2427
2428// Response message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
2429type DecryptResponse struct {
2430	state         protoimpl.MessageState
2431	sizeCache     protoimpl.SizeCache
2432	unknownFields protoimpl.UnknownFields
2433
2434	// The decrypted data originally supplied in [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext].
2435	Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
2436	// Integrity verification field. A CRC32C checksum of the returned
2437	// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext]. An integrity check of
2438	// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext] can be performed by computing the CRC32C
2439	// checksum of [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext] and comparing your results to
2440	// this field. Discard the response in case of non-matching checksum values,
2441	// and perform a limited number of retries. A persistent mismatch may indicate
2442	// an issue in your computation of the CRC32C checksum. Note: receiving this
2443	// response message indicates that [KeyManagementService][google.cloud.kms.v1.KeyManagementService] is able to
2444	// successfully decrypt the [ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext].
2445	// Note: This field is defined as int64 for reasons of compatibility across
2446	// different languages. However, it is a non-negative integer, which will
2447	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2448	// that support this type.
2449	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
2450	// Whether the Decryption was performed using the primary key version.
2451	UsedPrimary bool `protobuf:"varint,3,opt,name=used_primary,json=usedPrimary,proto3" json:"used_primary,omitempty"`
2452	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in decryption.
2453	ProtectionLevel ProtectionLevel `protobuf:"varint,4,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2454}
2455
2456func (x *DecryptResponse) Reset() {
2457	*x = DecryptResponse{}
2458	if protoimpl.UnsafeEnabled {
2459		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[31]
2460		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2461		ms.StoreMessageInfo(mi)
2462	}
2463}
2464
2465func (x *DecryptResponse) String() string {
2466	return protoimpl.X.MessageStringOf(x)
2467}
2468
2469func (*DecryptResponse) ProtoMessage() {}
2470
2471func (x *DecryptResponse) ProtoReflect() protoreflect.Message {
2472	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[31]
2473	if protoimpl.UnsafeEnabled && x != nil {
2474		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2475		if ms.LoadMessageInfo() == nil {
2476			ms.StoreMessageInfo(mi)
2477		}
2478		return ms
2479	}
2480	return mi.MessageOf(x)
2481}
2482
2483// Deprecated: Use DecryptResponse.ProtoReflect.Descriptor instead.
2484func (*DecryptResponse) Descriptor() ([]byte, []int) {
2485	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{31}
2486}
2487
2488func (x *DecryptResponse) GetPlaintext() []byte {
2489	if x != nil {
2490		return x.Plaintext
2491	}
2492	return nil
2493}
2494
2495func (x *DecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Value {
2496	if x != nil {
2497		return x.PlaintextCrc32C
2498	}
2499	return nil
2500}
2501
2502func (x *DecryptResponse) GetUsedPrimary() bool {
2503	if x != nil {
2504		return x.UsedPrimary
2505	}
2506	return false
2507}
2508
2509func (x *DecryptResponse) GetProtectionLevel() ProtectionLevel {
2510	if x != nil {
2511		return x.ProtectionLevel
2512	}
2513	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2514}
2515
2516// Response message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
2517type AsymmetricSignResponse struct {
2518	state         protoimpl.MessageState
2519	sizeCache     protoimpl.SizeCache
2520	unknownFields protoimpl.UnknownFields
2521
2522	// The created signature.
2523	Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
2524	// Integrity verification field. A CRC32C checksum of the returned
2525	// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature]. An integrity check of
2526	// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature] can be performed by computing the
2527	// CRC32C checksum of [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature] and comparing your
2528	// results to this field. Discard the response in case of non-matching
2529	// checksum values, and perform a limited number of retries. A persistent
2530	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2531	// Note: This field is defined as int64 for reasons of compatibility across
2532	// different languages. However, it is a non-negative integer, which will
2533	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2534	// that support this type.
2535	SignatureCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=signature_crc32c,json=signatureCrc32c,proto3" json:"signature_crc32c,omitempty"`
2536	// Integrity verification field. A flag indicating whether
2537	// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] was received by
2538	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2539	// [digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]. A false value of this field
2540	// indicates either that [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] was left
2541	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2542	// set [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] but this field is still false,
2543	// discard the response and perform a limited number of retries.
2544	VerifiedDigestCrc32C bool `protobuf:"varint,3,opt,name=verified_digest_crc32c,json=verifiedDigestCrc32c,proto3" json:"verified_digest_crc32c,omitempty"`
2545	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing. Check
2546	// this field to verify that the intended resource was used for signing.
2547	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
2548	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing.
2549	ProtectionLevel ProtectionLevel `protobuf:"varint,6,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2550}
2551
2552func (x *AsymmetricSignResponse) Reset() {
2553	*x = AsymmetricSignResponse{}
2554	if protoimpl.UnsafeEnabled {
2555		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[32]
2556		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2557		ms.StoreMessageInfo(mi)
2558	}
2559}
2560
2561func (x *AsymmetricSignResponse) String() string {
2562	return protoimpl.X.MessageStringOf(x)
2563}
2564
2565func (*AsymmetricSignResponse) ProtoMessage() {}
2566
2567func (x *AsymmetricSignResponse) ProtoReflect() protoreflect.Message {
2568	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[32]
2569	if protoimpl.UnsafeEnabled && x != nil {
2570		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2571		if ms.LoadMessageInfo() == nil {
2572			ms.StoreMessageInfo(mi)
2573		}
2574		return ms
2575	}
2576	return mi.MessageOf(x)
2577}
2578
2579// Deprecated: Use AsymmetricSignResponse.ProtoReflect.Descriptor instead.
2580func (*AsymmetricSignResponse) Descriptor() ([]byte, []int) {
2581	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{32}
2582}
2583
2584func (x *AsymmetricSignResponse) GetSignature() []byte {
2585	if x != nil {
2586		return x.Signature
2587	}
2588	return nil
2589}
2590
2591func (x *AsymmetricSignResponse) GetSignatureCrc32C() *wrapperspb.Int64Value {
2592	if x != nil {
2593		return x.SignatureCrc32C
2594	}
2595	return nil
2596}
2597
2598func (x *AsymmetricSignResponse) GetVerifiedDigestCrc32C() bool {
2599	if x != nil {
2600		return x.VerifiedDigestCrc32C
2601	}
2602	return false
2603}
2604
2605func (x *AsymmetricSignResponse) GetName() string {
2606	if x != nil {
2607		return x.Name
2608	}
2609	return ""
2610}
2611
2612func (x *AsymmetricSignResponse) GetProtectionLevel() ProtectionLevel {
2613	if x != nil {
2614		return x.ProtectionLevel
2615	}
2616	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2617}
2618
2619// Response message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
2620type AsymmetricDecryptResponse struct {
2621	state         protoimpl.MessageState
2622	sizeCache     protoimpl.SizeCache
2623	unknownFields protoimpl.UnknownFields
2624
2625	// The decrypted data originally encrypted with the matching public key.
2626	Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
2627	// Integrity verification field. A CRC32C checksum of the returned
2628	// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext]. An integrity check of
2629	// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext] can be performed by computing the
2630	// CRC32C checksum of [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext] and comparing
2631	// your results to this field. Discard the response in case of non-matching
2632	// checksum values, and perform a limited number of retries. A persistent
2633	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2634	// Note: This field is defined as int64 for reasons of compatibility across
2635	// different languages. However, it is a non-negative integer, which will
2636	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2637	// that support this type.
2638	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
2639	// Integrity verification field. A flag indicating whether
2640	// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c] was received by
2641	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2642	// [ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext]. A false value of this
2643	// field indicates either that [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c]
2644	// was left unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If
2645	// you've set [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c] but this field is
2646	// still false, discard the response and perform a limited number of retries.
2647	VerifiedCiphertextCrc32C bool `protobuf:"varint,3,opt,name=verified_ciphertext_crc32c,json=verifiedCiphertextCrc32c,proto3" json:"verified_ciphertext_crc32c,omitempty"`
2648	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in decryption.
2649	ProtectionLevel ProtectionLevel `protobuf:"varint,4,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2650}
2651
2652func (x *AsymmetricDecryptResponse) Reset() {
2653	*x = AsymmetricDecryptResponse{}
2654	if protoimpl.UnsafeEnabled {
2655		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[33]
2656		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2657		ms.StoreMessageInfo(mi)
2658	}
2659}
2660
2661func (x *AsymmetricDecryptResponse) String() string {
2662	return protoimpl.X.MessageStringOf(x)
2663}
2664
2665func (*AsymmetricDecryptResponse) ProtoMessage() {}
2666
2667func (x *AsymmetricDecryptResponse) ProtoReflect() protoreflect.Message {
2668	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[33]
2669	if protoimpl.UnsafeEnabled && x != nil {
2670		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2671		if ms.LoadMessageInfo() == nil {
2672			ms.StoreMessageInfo(mi)
2673		}
2674		return ms
2675	}
2676	return mi.MessageOf(x)
2677}
2678
2679// Deprecated: Use AsymmetricDecryptResponse.ProtoReflect.Descriptor instead.
2680func (*AsymmetricDecryptResponse) Descriptor() ([]byte, []int) {
2681	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{33}
2682}
2683
2684func (x *AsymmetricDecryptResponse) GetPlaintext() []byte {
2685	if x != nil {
2686		return x.Plaintext
2687	}
2688	return nil
2689}
2690
2691func (x *AsymmetricDecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Value {
2692	if x != nil {
2693		return x.PlaintextCrc32C
2694	}
2695	return nil
2696}
2697
2698func (x *AsymmetricDecryptResponse) GetVerifiedCiphertextCrc32C() bool {
2699	if x != nil {
2700		return x.VerifiedCiphertextCrc32C
2701	}
2702	return false
2703}
2704
2705func (x *AsymmetricDecryptResponse) GetProtectionLevel() ProtectionLevel {
2706	if x != nil {
2707		return x.ProtectionLevel
2708	}
2709	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2710}
2711
2712// Response message for [KeyManagementService.MacSign][google.cloud.kms.v1.KeyManagementService.MacSign].
2713type MacSignResponse struct {
2714	state         protoimpl.MessageState
2715	sizeCache     protoimpl.SizeCache
2716	unknownFields protoimpl.UnknownFields
2717
2718	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing. Check
2719	// this field to verify that the intended resource was used for signing.
2720	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2721	// The created signature.
2722	Mac []byte `protobuf:"bytes,2,opt,name=mac,proto3" json:"mac,omitempty"`
2723	// Integrity verification field. A CRC32C checksum of the returned
2724	// [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac]. An integrity check of
2725	// [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac] can be performed by computing the
2726	// CRC32C checksum of [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac] and comparing your
2727	// results to this field. Discard the response in case of non-matching
2728	// checksum values, and perform a limited number of retries. A persistent
2729	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2730	// Note: This field is defined as int64 for reasons of compatibility across
2731	// different languages. However, it is a non-negative integer, which will
2732	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2733	// that support this type.
2734	MacCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=mac_crc32c,json=macCrc32c,proto3" json:"mac_crc32c,omitempty"`
2735	// Integrity verification field. A flag indicating whether
2736	// [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c] was received by
2737	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2738	// [data][google.cloud.kms.v1.MacSignRequest.data]. A false value of this field
2739	// indicates either that [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c] was left
2740	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2741	// set [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c] but this field is still false,
2742	// discard the response and perform a limited number of retries.
2743	VerifiedDataCrc32C bool `protobuf:"varint,4,opt,name=verified_data_crc32c,json=verifiedDataCrc32c,proto3" json:"verified_data_crc32c,omitempty"`
2744	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing.
2745	ProtectionLevel ProtectionLevel `protobuf:"varint,5,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2746}
2747
2748func (x *MacSignResponse) Reset() {
2749	*x = MacSignResponse{}
2750	if protoimpl.UnsafeEnabled {
2751		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[34]
2752		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2753		ms.StoreMessageInfo(mi)
2754	}
2755}
2756
2757func (x *MacSignResponse) String() string {
2758	return protoimpl.X.MessageStringOf(x)
2759}
2760
2761func (*MacSignResponse) ProtoMessage() {}
2762
2763func (x *MacSignResponse) ProtoReflect() protoreflect.Message {
2764	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[34]
2765	if protoimpl.UnsafeEnabled && x != nil {
2766		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2767		if ms.LoadMessageInfo() == nil {
2768			ms.StoreMessageInfo(mi)
2769		}
2770		return ms
2771	}
2772	return mi.MessageOf(x)
2773}
2774
2775// Deprecated: Use MacSignResponse.ProtoReflect.Descriptor instead.
2776func (*MacSignResponse) Descriptor() ([]byte, []int) {
2777	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{34}
2778}
2779
2780func (x *MacSignResponse) GetName() string {
2781	if x != nil {
2782		return x.Name
2783	}
2784	return ""
2785}
2786
2787func (x *MacSignResponse) GetMac() []byte {
2788	if x != nil {
2789		return x.Mac
2790	}
2791	return nil
2792}
2793
2794func (x *MacSignResponse) GetMacCrc32C() *wrapperspb.Int64Value {
2795	if x != nil {
2796		return x.MacCrc32C
2797	}
2798	return nil
2799}
2800
2801func (x *MacSignResponse) GetVerifiedDataCrc32C() bool {
2802	if x != nil {
2803		return x.VerifiedDataCrc32C
2804	}
2805	return false
2806}
2807
2808func (x *MacSignResponse) GetProtectionLevel() ProtectionLevel {
2809	if x != nil {
2810		return x.ProtectionLevel
2811	}
2812	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2813}
2814
2815// Response message for [KeyManagementService.MacVerify][google.cloud.kms.v1.KeyManagementService.MacVerify].
2816type MacVerifyResponse struct {
2817	state         protoimpl.MessageState
2818	sizeCache     protoimpl.SizeCache
2819	unknownFields protoimpl.UnknownFields
2820
2821	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for verification.
2822	// Check this field to verify that the intended resource was used for
2823	// verification.
2824	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2825	// This field indicates whether or not the verification operation for
2826	// [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac] over [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data] was successful.
2827	Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"`
2828	// Integrity verification field. A flag indicating whether
2829	// [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c] was received by
2830	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2831	// [data][google.cloud.kms.v1.MacVerifyRequest.data]. A false value of this field
2832	// indicates either that [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c] was left
2833	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2834	// set [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c] but this field is still false,
2835	// discard the response and perform a limited number of retries.
2836	VerifiedDataCrc32C bool `protobuf:"varint,3,opt,name=verified_data_crc32c,json=verifiedDataCrc32c,proto3" json:"verified_data_crc32c,omitempty"`
2837	// Integrity verification field. A flag indicating whether
2838	// [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c] was received by
2839	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2840	// [data][google.cloud.kms.v1.MacVerifyRequest.mac]. A false value of this field
2841	// indicates either that [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c] was left
2842	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2843	// set [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c] but this field is still false,
2844	// discard the response and perform a limited number of retries.
2845	VerifiedMacCrc32C bool `protobuf:"varint,4,opt,name=verified_mac_crc32c,json=verifiedMacCrc32c,proto3" json:"verified_mac_crc32c,omitempty"`
2846	// Integrity verification field. This value is used for the integrity
2847	// verification of [MacVerifyResponse.success]. If the value of this field
2848	// contradicts the value of [MacVerifyResponse.success], discard the response
2849	// and perform a limited number of retries.
2850	VerifiedSuccessIntegrity bool `protobuf:"varint,5,opt,name=verified_success_integrity,json=verifiedSuccessIntegrity,proto3" json:"verified_success_integrity,omitempty"`
2851	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for verification.
2852	ProtectionLevel ProtectionLevel `protobuf:"varint,6,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2853}
2854
2855func (x *MacVerifyResponse) Reset() {
2856	*x = MacVerifyResponse{}
2857	if protoimpl.UnsafeEnabled {
2858		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[35]
2859		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2860		ms.StoreMessageInfo(mi)
2861	}
2862}
2863
2864func (x *MacVerifyResponse) String() string {
2865	return protoimpl.X.MessageStringOf(x)
2866}
2867
2868func (*MacVerifyResponse) ProtoMessage() {}
2869
2870func (x *MacVerifyResponse) ProtoReflect() protoreflect.Message {
2871	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[35]
2872	if protoimpl.UnsafeEnabled && x != nil {
2873		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2874		if ms.LoadMessageInfo() == nil {
2875			ms.StoreMessageInfo(mi)
2876		}
2877		return ms
2878	}
2879	return mi.MessageOf(x)
2880}
2881
2882// Deprecated: Use MacVerifyResponse.ProtoReflect.Descriptor instead.
2883func (*MacVerifyResponse) Descriptor() ([]byte, []int) {
2884	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{35}
2885}
2886
2887func (x *MacVerifyResponse) GetName() string {
2888	if x != nil {
2889		return x.Name
2890	}
2891	return ""
2892}
2893
2894func (x *MacVerifyResponse) GetSuccess() bool {
2895	if x != nil {
2896		return x.Success
2897	}
2898	return false
2899}
2900
2901func (x *MacVerifyResponse) GetVerifiedDataCrc32C() bool {
2902	if x != nil {
2903		return x.VerifiedDataCrc32C
2904	}
2905	return false
2906}
2907
2908func (x *MacVerifyResponse) GetVerifiedMacCrc32C() bool {
2909	if x != nil {
2910		return x.VerifiedMacCrc32C
2911	}
2912	return false
2913}
2914
2915func (x *MacVerifyResponse) GetVerifiedSuccessIntegrity() bool {
2916	if x != nil {
2917		return x.VerifiedSuccessIntegrity
2918	}
2919	return false
2920}
2921
2922func (x *MacVerifyResponse) GetProtectionLevel() ProtectionLevel {
2923	if x != nil {
2924		return x.ProtectionLevel
2925	}
2926	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2927}
2928
2929// Response message for [KeyManagementService.GenerateRandomBytes][google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes].
2930type GenerateRandomBytesResponse struct {
2931	state         protoimpl.MessageState
2932	sizeCache     protoimpl.SizeCache
2933	unknownFields protoimpl.UnknownFields
2934
2935	// The generated data.
2936	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
2937	// Integrity verification field. A CRC32C checksum of the returned
2938	// [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data]. An integrity check of
2939	// [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data] can be performed by computing the
2940	// CRC32C checksum of [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data] and comparing your
2941	// results to this field. Discard the response in case of non-matching
2942	// checksum values, and perform a limited number of retries. A persistent
2943	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2944	// Note: This field is defined as int64 for reasons of compatibility across
2945	// different languages. However, it is a non-negative integer, which will
2946	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2947	// that support this type.
2948	DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
2949}
2950
2951func (x *GenerateRandomBytesResponse) Reset() {
2952	*x = GenerateRandomBytesResponse{}
2953	if protoimpl.UnsafeEnabled {
2954		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[36]
2955		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2956		ms.StoreMessageInfo(mi)
2957	}
2958}
2959
2960func (x *GenerateRandomBytesResponse) String() string {
2961	return protoimpl.X.MessageStringOf(x)
2962}
2963
2964func (*GenerateRandomBytesResponse) ProtoMessage() {}
2965
2966func (x *GenerateRandomBytesResponse) ProtoReflect() protoreflect.Message {
2967	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[36]
2968	if protoimpl.UnsafeEnabled && x != nil {
2969		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2970		if ms.LoadMessageInfo() == nil {
2971			ms.StoreMessageInfo(mi)
2972		}
2973		return ms
2974	}
2975	return mi.MessageOf(x)
2976}
2977
2978// Deprecated: Use GenerateRandomBytesResponse.ProtoReflect.Descriptor instead.
2979func (*GenerateRandomBytesResponse) Descriptor() ([]byte, []int) {
2980	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{36}
2981}
2982
2983func (x *GenerateRandomBytesResponse) GetData() []byte {
2984	if x != nil {
2985		return x.Data
2986	}
2987	return nil
2988}
2989
2990func (x *GenerateRandomBytesResponse) GetDataCrc32C() *wrapperspb.Int64Value {
2991	if x != nil {
2992		return x.DataCrc32C
2993	}
2994	return nil
2995}
2996
2997// A [Digest][google.cloud.kms.v1.Digest] holds a cryptographic message digest.
2998type Digest struct {
2999	state         protoimpl.MessageState
3000	sizeCache     protoimpl.SizeCache
3001	unknownFields protoimpl.UnknownFields
3002
3003	// Required. The message digest.
3004	//
3005	// Types that are assignable to Digest:
3006	//	*Digest_Sha256
3007	//	*Digest_Sha384
3008	//	*Digest_Sha512
3009	Digest isDigest_Digest `protobuf_oneof:"digest"`
3010}
3011
3012func (x *Digest) Reset() {
3013	*x = Digest{}
3014	if protoimpl.UnsafeEnabled {
3015		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[37]
3016		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3017		ms.StoreMessageInfo(mi)
3018	}
3019}
3020
3021func (x *Digest) String() string {
3022	return protoimpl.X.MessageStringOf(x)
3023}
3024
3025func (*Digest) ProtoMessage() {}
3026
3027func (x *Digest) ProtoReflect() protoreflect.Message {
3028	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[37]
3029	if protoimpl.UnsafeEnabled && x != nil {
3030		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3031		if ms.LoadMessageInfo() == nil {
3032			ms.StoreMessageInfo(mi)
3033		}
3034		return ms
3035	}
3036	return mi.MessageOf(x)
3037}
3038
3039// Deprecated: Use Digest.ProtoReflect.Descriptor instead.
3040func (*Digest) Descriptor() ([]byte, []int) {
3041	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{37}
3042}
3043
3044func (m *Digest) GetDigest() isDigest_Digest {
3045	if m != nil {
3046		return m.Digest
3047	}
3048	return nil
3049}
3050
3051func (x *Digest) GetSha256() []byte {
3052	if x, ok := x.GetDigest().(*Digest_Sha256); ok {
3053		return x.Sha256
3054	}
3055	return nil
3056}
3057
3058func (x *Digest) GetSha384() []byte {
3059	if x, ok := x.GetDigest().(*Digest_Sha384); ok {
3060		return x.Sha384
3061	}
3062	return nil
3063}
3064
3065func (x *Digest) GetSha512() []byte {
3066	if x, ok := x.GetDigest().(*Digest_Sha512); ok {
3067		return x.Sha512
3068	}
3069	return nil
3070}
3071
3072type isDigest_Digest interface {
3073	isDigest_Digest()
3074}
3075
3076type Digest_Sha256 struct {
3077	// A message digest produced with the SHA-256 algorithm.
3078	Sha256 []byte `protobuf:"bytes,1,opt,name=sha256,proto3,oneof"`
3079}
3080
3081type Digest_Sha384 struct {
3082	// A message digest produced with the SHA-384 algorithm.
3083	Sha384 []byte `protobuf:"bytes,2,opt,name=sha384,proto3,oneof"`
3084}
3085
3086type Digest_Sha512 struct {
3087	// A message digest produced with the SHA-512 algorithm.
3088	Sha512 []byte `protobuf:"bytes,3,opt,name=sha512,proto3,oneof"`
3089}
3090
3091func (*Digest_Sha256) isDigest_Digest() {}
3092
3093func (*Digest_Sha384) isDigest_Digest() {}
3094
3095func (*Digest_Sha512) isDigest_Digest() {}
3096
3097// Cloud KMS metadata for the given [google.cloud.location.Location][google.cloud.location.Location].
3098type LocationMetadata struct {
3099	state         protoimpl.MessageState
3100	sizeCache     protoimpl.SizeCache
3101	unknownFields protoimpl.UnknownFields
3102
3103	// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
3104	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
3105	// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] can be created in this location.
3106	HsmAvailable bool `protobuf:"varint,1,opt,name=hsm_available,json=hsmAvailable,proto3" json:"hsm_available,omitempty"`
3107	// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
3108	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
3109	// [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] can be created in this location.
3110	EkmAvailable bool `protobuf:"varint,2,opt,name=ekm_available,json=ekmAvailable,proto3" json:"ekm_available,omitempty"`
3111}
3112
3113func (x *LocationMetadata) Reset() {
3114	*x = LocationMetadata{}
3115	if protoimpl.UnsafeEnabled {
3116		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[38]
3117		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3118		ms.StoreMessageInfo(mi)
3119	}
3120}
3121
3122func (x *LocationMetadata) String() string {
3123	return protoimpl.X.MessageStringOf(x)
3124}
3125
3126func (*LocationMetadata) ProtoMessage() {}
3127
3128func (x *LocationMetadata) ProtoReflect() protoreflect.Message {
3129	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[38]
3130	if protoimpl.UnsafeEnabled && x != nil {
3131		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3132		if ms.LoadMessageInfo() == nil {
3133			ms.StoreMessageInfo(mi)
3134		}
3135		return ms
3136	}
3137	return mi.MessageOf(x)
3138}
3139
3140// Deprecated: Use LocationMetadata.ProtoReflect.Descriptor instead.
3141func (*LocationMetadata) Descriptor() ([]byte, []int) {
3142	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{38}
3143}
3144
3145func (x *LocationMetadata) GetHsmAvailable() bool {
3146	if x != nil {
3147		return x.HsmAvailable
3148	}
3149	return false
3150}
3151
3152func (x *LocationMetadata) GetEkmAvailable() bool {
3153	if x != nil {
3154		return x.EkmAvailable
3155	}
3156	return false
3157}
3158
3159var File_google_cloud_kms_v1_service_proto protoreflect.FileDescriptor
3160
3161var file_google_cloud_kms_v1_service_proto_rawDesc = []byte{
3162	0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b,
3163	0x6d, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72,
3164	0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3165	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3166	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3167	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
3168	0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
3169	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c,
3170	0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3171	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
3172	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f,
3173	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b, 0x6d, 0x73, 0x2f, 0x76, 0x31,
3174	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3175	0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3176	0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f,
3177	0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3178	0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f,
3179	0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69,
3180	0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61,
3181	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
3182	0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f,
3183	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63,
3184	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a,
3185	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
3186	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
3187	0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20,
3188	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
3189	0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20,
3190	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
3191	0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01,
3192	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
3193	0x22, 0xba, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3194	0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61,
3195	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa,
3196	0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3197	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52,
3198	0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70,
3199	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
3200	0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a,
3201	0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
3202	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
3203	0x6e, 0x12, 0x5d, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x69, 0x65,
3204	0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3205	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
3206	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43,
3207	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56,
3208	0x69, 0x65, 0x77, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77,
3209	0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
3210	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a,
3211	0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42,
3212	0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xb4, 0x02,
3213	0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3214	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41,
3215	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
3216	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
3217	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3218	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3219	0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
3220	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
3221	0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
3222	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61,
3223	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4e, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18,
3224	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3225	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70,
3226	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79,
3227	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65,
3228	0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
3229	0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69,
3230	0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79,
3231	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64,
3232	0x65, 0x72, 0x42, 0x79, 0x22, 0xdb, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70,
3233	0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
3234	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27,
3235	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
3236	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3237	0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
3238	0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
3239	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
3240	0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
3241	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
3242	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
3243	0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
3244	0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05,
3245	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72,
3246	0x42, 0x79, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69,
3247	0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6b,
3248	0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
3249	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3250	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6b, 0x65,
3251	0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
3252	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3253	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d,
3254	0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01,
3255	0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa0, 0x01,
3256	0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73,
3257	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x72, 0x79, 0x70,
3258	0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
3259	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3260	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x63,
3261	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
3262	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
3263	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
3264	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
3265	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
3266	0x22, 0xbd, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3267	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3268	0x73, 0x65, 0x12, 0x55, 0x0a, 0x13, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
3269	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
3270	0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3271	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3272	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3273	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
3274	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
3275	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
3276	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
3277	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
3278	0x22, 0xa0, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a,
3279	0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x69,
3280	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3281	0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3282	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62,
3283	0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f,
3284	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
3285	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
3286	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69,
3287	0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53,
3288	0x69, 0x7a, 0x65, 0x22, 0x50, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3289	0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3290	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f,
3291	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3292	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52,
3293	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70,
3294	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04,
3295	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
3296	0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3297	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70,
3298	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x1a, 0x47,
3299	0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
3300	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
3301	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a,
3302	0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3303	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3304	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
3305	0x5b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52,
3306	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
3307	0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c,
3308	0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
3309	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3310	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x13,
3311	0x47, 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75,
3312	0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3313	0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3314	0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3315	0x6f, 0x6d, 0x2f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61,
3316	0x6d, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
3317	0x52, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70,
3318	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02,
3319	0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67,
3320	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f,
3321	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x23,
3322	0x0a, 0x0b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
3323	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3324	0x67, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x18,
3325	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3326	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52,
3327	0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3328	0x67, 0x22, 0x89, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70,
3329	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06,
3330	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41,
3331	0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67,
3332	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65,
3333	0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a,
3334	0x0d, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02,
3335	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x79, 0x70, 0x74,
3336	0x6f, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3337	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
3338	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3339	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
3340	0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x6b,
3341	0x69, 0x70, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
3342	0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
3343	0x08, 0x52, 0x1a, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x65,
3344	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01,
3345	0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3346	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
3347	0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
3348	0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d,
3349	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3350	0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
3351	0x6e, 0x74, 0x12, 0x58, 0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
3352	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
3353	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3354	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3355	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70,
3356	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x02, 0x0a,
3357	0x1d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3358	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41,
3359	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
3360	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
3361	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3362	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3363	0x74, 0x12, 0x62, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02,
3364	0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3365	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74,
3366	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79, 0x70,
3367	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f,
3368	0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f,
3369	0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
3370	0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
3371	0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x73, 0x61,
3372	0x5f, 0x61, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79,
3373	0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x10, 0x72, 0x73, 0x61, 0x41, 0x65, 0x73,
3374	0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x77, 0x72,
3375	0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69,
3376	0x61, 0x6c, 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70,
3377	0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a,
3378	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0,
3379	0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e,
3380	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b,
3381	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x27,
3382	0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18,
3383	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6d, 0x70, 0x6f,
3384	0x72, 0x74, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72,
3385	0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
3386	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3387	0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02,
3388	0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x22, 0x9e, 0x01, 0x0a, 0x16,
3389	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52,
3390	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3391	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
3392	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3393	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
3394	0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70,
3395	0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
3396	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3397	0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02,
3398	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xbb, 0x01, 0x0a,
3399	0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3400	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58,
3401	0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72,
3402	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
3403	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3404	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3405	0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3406	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
3407	0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
3408	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
3409	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
3410	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x9d, 0x01, 0x0a, 0x24, 0x55,
3411	0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x72,
3412	0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
3413	0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3414	0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3415	0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3416	0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61,
3417	0x6d, 0x65, 0x12, 0x36, 0x0a, 0x15, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
3418	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
3419	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3420	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x1e, 0x44, 0x65,
3421	0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3422	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04,
3423	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa,
3424	0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3425	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70,
3426	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61,
3427	0x6d, 0x65, 0x22, 0x66, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79,
3428	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
3429	0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3430	0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75,
3431	0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3432	0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3433	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdb, 0x02, 0x0a, 0x0e, 0x45,
3434	0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a,
3435	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02,
3436	0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09,
3437	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42,
3438	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
3439	0x47, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75,
3440	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61,
3441	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x61, 0x64, 0x64,
3442	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
3443	0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4b, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69,
3444	0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x07, 0x20, 0x01,
3445	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3446	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
3447	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43,
3448	0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x71, 0x0a, 0x24, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
3449	0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
3450	0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x08, 0x20,
3451	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3452	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
3453	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
3454	0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61,
3455	0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xff, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x63,
3456	0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e,
3457	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41,
3458	0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3459	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74,
3460	0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x69,
3461	0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03,
3462	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12,
3463	0x47, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75,
3464	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61,
3465	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x61, 0x64, 0x64,
3466	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
3467	0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x69, 0x70, 0x68,
3468	0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x05, 0x20,
3469	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3470	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
3471	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
3472	0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x71, 0x0a, 0x24, 0x61, 0x64, 0x64, 0x69, 0x74,
3473	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
3474	0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18,
3475	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
3476	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
3477	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
3478	0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
3479	0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x41,
3480	0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71,
3481	0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3482	0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75,
3483	0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3484	0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3485	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x64, 0x69,
3486	0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
3487	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3488	0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x64, 0x69,
3489	0x67, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x63,
3490	0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
3491	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
3492	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x64,
3493	0x69, 0x67, 0x65, 0x73, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xd4, 0x01, 0x0a, 0x18,
3494	0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70,
3495	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3496	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28,
3497	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3498	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3499	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23,
3500	0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01,
3501	0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74,
3502	0x65, 0x78, 0x74, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
3503	0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
3504	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
3505	0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01,
3506	0x52, 0x10, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33,
3507	0x32, 0x63, 0x22, 0xb2, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65,
3508	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
3509	0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f,
3510	0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
3511	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3512	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x64,
3513	0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04,
3514	0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63,
3515	0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3516	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
3517	0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x64, 0x61, 0x74,
3518	0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x8c, 0x02, 0x0a, 0x10, 0x4d, 0x61, 0x63, 0x56,
3519	0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04,
3520	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa,
3521	0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3522	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70,
3523	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61,
3524	0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
3525	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0b, 0x64,
3526	0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
3527	0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
3528	0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0,
3529	0x41, 0x01, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x15,
3530	0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02,
3531	0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x3f, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x5f, 0x63, 0x72, 0x63,
3532	0x33, 0x32, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3533	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
3534	0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6d, 0x61, 0x63,
3535	0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xac, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72,
3536	0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65,
3537	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3538	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3539	0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65,
3540	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42,
3541	0x79, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69,
3542	0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24,
3543	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3544	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c,
3545	0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
3546	0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xfe, 0x02, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
3547	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
3548	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a,
3549	0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
3550	0x0c, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12, 0x48, 0x0a,
3551	0x11, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33,
3552	0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3553	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34,
3554	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
3555	0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x3a, 0x0a, 0x19, 0x76, 0x65, 0x72, 0x69, 0x66,
3556	0x69, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72,
3557	0x63, 0x33, 0x32, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x76, 0x65, 0x72, 0x69,
3558	0x66, 0x69, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63,
3559	0x33, 0x32, 0x63, 0x12, 0x60, 0x0a, 0x2d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f,
3560	0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65,
3561	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72,
3562	0x63, 0x33, 0x32, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x29, 0x76, 0x65, 0x72, 0x69,
3563	0x66, 0x69, 0x65, 0x64, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75,
3564	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43,
3565	0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
3566	0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32,
3567	0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3568	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
3569	0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
3570	0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x63, 0x72, 0x79,
3571	0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c,
3572	0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70,
3573	0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69,
3574	0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01,
3575	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3576	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
3577	0x0f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63,
3578	0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
3579	0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d,
3580	0x61, 0x72, 0x79, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
3581	0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e,
3582	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3583	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65,
3584	0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c,
3585	0x65, 0x76, 0x65, 0x6c, 0x22, 0x99, 0x02, 0x0a, 0x16, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74,
3586	0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3587	0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01,
3588	0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x46, 0x0a,
3589	0x10, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32,
3590	0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3591	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
3592	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43,
3593	0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x34, 0x0a, 0x16, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65,
3594	0x64, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18,
3595	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44,
3596	0x69, 0x67, 0x65, 0x73, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e,
3597	0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
3598	0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65,
3599	0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3600	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e,
3601	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52,
3602	0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c,
3603	0x22, 0x90, 0x02, 0x0a, 0x19, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44,
3604	0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c,
3605	0x0a, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
3606	0x0c, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x10,
3607	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63,
3608	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3609	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
3610	0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72,
3611	0x63, 0x33, 0x32, 0x63, 0x12, 0x3c, 0x0a, 0x1a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
3612	0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33,
3613	0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69,
3614	0x65, 0x64, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33,
3615	0x32, 0x63, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
3616	0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67,
3617	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3618	0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76,
3619	0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65,
3620	0x76, 0x65, 0x6c, 0x22, 0xf6, 0x01, 0x0a, 0x0f, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52,
3621	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
3622	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d,
3623	0x61, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x3a, 0x0a,
3624	0x0a, 0x6d, 0x61, 0x63, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28,
3625	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3626	0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09,
3627	0x6d, 0x61, 0x63, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x30, 0x0a, 0x14, 0x76, 0x65, 0x72,
3628	0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32,
3629	0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65,
3630	0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x4f, 0x0a, 0x10, 0x70,
3631	0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
3632	0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3633	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74,
3634	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f,
3635	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xb2, 0x02, 0x0a,
3636	0x11, 0x4d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3637	0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
3638	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
3639	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
3640	0x12, 0x30, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74,
3641	0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12,
3642	0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33,
3643	0x32, 0x63, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x6d,
3644	0x61, 0x63, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
3645	0x11, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4d, 0x61, 0x63, 0x43, 0x72, 0x63, 0x33,
3646	0x32, 0x63, 0x12, 0x3c, 0x0a, 0x1a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x73,
3647	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79,
3648	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
3649	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79,
3650	0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c,
3651	0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
3652	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3653	0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c,
3654	0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65,
3655	0x6c, 0x22, 0x6f, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e,
3656	0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3657	0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04,
3658	0x64, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63,
3659	0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3660	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
3661	0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33,
3662	0x32, 0x63, 0x22, 0x60, 0x0a, 0x06, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x06,
3663	0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06,
3664	0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x33, 0x38, 0x34,
3665	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x33, 0x38, 0x34,
3666	0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
3667	0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x69,
3668	0x67, 0x65, 0x73, 0x74, 0x22, 0x5c, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3669	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x73, 0x6d, 0x5f,
3670	0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
3671	0x0c, 0x68, 0x73, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a,
3672	0x0d, 0x65, 0x6b, 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02,
3673	0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x6b, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
3674	0x6c, 0x65, 0x32, 0x86, 0x2b, 0x0a, 0x14, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65,
3675	0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c,
3676	0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x2e, 0x67,
3677	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3678	0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x52,
3679	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3680	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
3681	0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3682	0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
3683	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
3684	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b,
3685	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3686	0x12, 0xb5, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3687	0x65, 0x79, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3688	0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72,
3689	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3690	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3691	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3692	0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3,
3693	0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
3694	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
3695	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3696	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0xda,
3697	0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xde, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73,
3698	0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3699	0x6e, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3700	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79,
3701	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
3702	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3703	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
3704	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
3705	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02,
3706	0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
3707	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3708	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a,
3709	0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63,
3710	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
3711	0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb5, 0x01, 0x0a, 0x0e, 0x4c, 0x69,
3712	0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x2a, 0x2e, 0x67,
3713	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3714	0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62,
3715	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3716	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
3717	0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73,
3718	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f,
3719	0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3720	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3721	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d,
3722	0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3723	0x74, 0x12, 0x8f, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3724	0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3725	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3726	0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3727	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b,
3728	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c,
3729	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3730	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
3731	0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e,
3732	0x61, 0x6d, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74,
3733	0x6f, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3734	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72,
3735	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
3736	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3737	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x48,
3738	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
3739	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
3740	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3741	0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a,
3742	0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcb, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74,
3743	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
3744	0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3745	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3746	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3747	0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3748	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3749	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f,
3750	0x12, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
3751	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3752	0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72,
3753	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
3754	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda,
3755	0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc0, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x50, 0x75,
3756	0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3757	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
3758	0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3759	0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3760	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65,
3761	0x79, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
3762	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3763	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52,
3764	0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3765	0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3766	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b,
3767	0x65, 0x79, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c, 0x47, 0x65,
3768	0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
3769	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3770	0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71,
3771	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3772	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
3773	0x74, 0x4a, 0x6f, 0x62, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76,
3774	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3775	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b,
3776	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
3777	0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb6,
3778	0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3779	0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3780	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
3781	0x52, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f,
3782	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3783	0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02,
3784	0x38, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
3785	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3786	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x3a,
3787	0x08, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65,
3788	0x6e, 0x74, 0x2c, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x2c, 0x6b,
3789	0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0xcf, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61,
3790	0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x67, 0x6f,
3791	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3792	0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3793	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3794	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43,
3795	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47,
3796	0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
3797	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3798	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d,
3799	0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x3a, 0x0a, 0x63, 0x72, 0x79,
3800	0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0xda, 0x41, 0x1f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3801	0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x2c, 0x63,
3802	0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0xfb, 0x01, 0x0a, 0x16, 0x43, 0x72,
3803	0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3804	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3805	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
3806	0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3807	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3808	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43,
3809	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22,
3810	0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70,
3811	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
3812	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79,
3813	0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3814	0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3815	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f,
3816	0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x19, 0x70, 0x61,
3817	0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
3818	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xd4, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f,
3819	0x72, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
3820	0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3821	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43,
3822	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
3823	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3824	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79,
3825	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x82,
3826	0xd3, 0xe4, 0x93, 0x02, 0x59, 0x22, 0x54, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
3827	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
3828	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3829	0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f,
3830	0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73,
3831	0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xcf,
3832	0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a,
3833	0x6f, 0x62, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3834	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49,
3835	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3836	0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3837	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x22,
3838	0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61,
3839	0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3840	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52,
3841	0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f,
3842	0x62, 0x73, 0x3a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41,
3843	0x1f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a,
3844	0x6f, 0x62, 0x5f, 0x69, 0x64, 0x2c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62,
3845	0x12, 0xd1, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74,
3846	0x6f, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3847	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
3848	0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3849	0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3850	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3851	0x79, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x32, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
3852	0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
3853	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
3854	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f,
3855	0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
3856	0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0xda, 0x41, 0x16, 0x63, 0x72,
3857	0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
3858	0x6d, 0x61, 0x73, 0x6b, 0x12, 0x93, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
3859	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
3860	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3861	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70,
3862	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
3863	0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3864	0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3865	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4,
3866	0x93, 0x02, 0x76, 0x32, 0x60, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3867	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d,
3868	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
3869	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3870	0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a,
3871	0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3872	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65,
3873	0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x1e, 0x63, 0x72, 0x79, 0x70,
3874	0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x75,
3875	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xf2, 0x01, 0x0a, 0x1d, 0x55,
3876	0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x72,
3877	0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67,
3878	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3879	0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3880	0x65, 0x79, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
3881	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3882	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
3883	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x22,
3884	0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3885	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3886	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
3887	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74,
3888	0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
3889	0x01, 0x2a, 0xda, 0x41, 0x1a, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3890	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12,
3891	0xde, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74,
3892	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x67, 0x6f,
3893	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3894	0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3895	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3896	0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3897	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3898	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22,
3899	0x55, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3900	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3901	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
3902	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3903	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64,
3904	0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3905	0x12, 0xde, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79, 0x70,
3906	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x67,
3907	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3908	0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3909	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3910	0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3911	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3912	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a,
3913	0x22, 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
3914	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3915	0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72,
3916	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
3917	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
3918	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
3919	0x65, 0x12, 0xb4, 0x01, 0x0a, 0x07, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x23, 0x2e,
3920	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3921	0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
3922	0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3923	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
3924	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47,
3925	0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
3926	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3927	0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72,
3928	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x65, 0x6e, 0x63,
3929	0x72, 0x79, 0x70, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70,
3930	0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0xb4, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x63,
3931	0x72, 0x79, 0x70, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3932	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79,
3933	0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3934	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e,
3935	0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
3936	0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
3937	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
3938	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3939	0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f,
3940	0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f,
3941	0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12,
3942	0xe0, 0x01, 0x0a, 0x0e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69,
3943	0x67, 0x6e, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3944	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74,
3945	0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b,
3946	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3947	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53,
3948	0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0x82, 0xd3, 0xe4,
3949	0x93, 0x02, 0x61, 0x22, 0x5c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
3950	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3951	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a,
3952	0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72,
3953	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3954	0x2a, 0x7d, 0x3a, 0x61, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67,
3955	0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x64, 0x69, 0x67, 0x65,
3956	0x73, 0x74, 0x12, 0xf0, 0x01, 0x0a, 0x11, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69,
3957	0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3958	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41,
3959	0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74,
3960	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3961	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73,
3962	0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52,
3963	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x22,
3964	0x5f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3965	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3966	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
3967	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3968	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61,
3969	0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74,
3970	0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x69, 0x70, 0x68, 0x65,
3971	0x72, 0x74, 0x65, 0x78, 0x74, 0x12, 0xc2, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67,
3972	0x6e, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3973	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52,
3974	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3975	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63,
3976	0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x82, 0xd3,
3977	0xe4, 0x93, 0x02, 0x5a, 0x22, 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
3978	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
3979	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f,
3980	0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63,
3981	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
3982	0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41,
3983	0x09, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x12, 0xce, 0x01, 0x0a, 0x09, 0x4d,
3984	0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3985	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d,
3986	0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3987	0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3988	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52,
3989	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x22,
3990	0x57, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3991	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3992	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
3993	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3994	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d,
3995	0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0d, 0x6e, 0x61,
3996	0x6d, 0x65, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x6d, 0x61, 0x63, 0x12, 0xe7, 0x01, 0x0a, 0x13,
3997	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79,
3998	0x74, 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3999	0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
4000	0x74, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71,
4001	0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4002	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
4003	0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65,
4004	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, 0x39,
4005	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72,
4006	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
4007	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61,
4008	0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x26, 0x6c,
4009	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x62,
4010	0x79, 0x74, 0x65, 0x73, 0x2c, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
4011	0x6c, 0x65, 0x76, 0x65, 0x6c, 0x1a, 0x74, 0xca, 0x41, 0x17, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b,
4012	0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
4013	0x6d, 0xd2, 0x41, 0x57, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
4014	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
4015	0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
4016	0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67,
4017	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75,
4018	0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x42, 0x8c, 0x01, 0x0a, 0x17,
4019	0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4020	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x4b, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74,
4021	0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61,
4022	0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
4023	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4024	0x2f, 0x6b, 0x6d, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x6b, 0x6d, 0x73, 0xf8, 0x01, 0x01, 0xaa, 0x02,
4025	0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4b, 0x6d,
4026	0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c,
4027	0x6f, 0x75, 0x64, 0x5c, 0x4b, 0x6d, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
4028	0x6f, 0x33,
4029}
4030
4031var (
4032	file_google_cloud_kms_v1_service_proto_rawDescOnce sync.Once
4033	file_google_cloud_kms_v1_service_proto_rawDescData = file_google_cloud_kms_v1_service_proto_rawDesc
4034)
4035
4036func file_google_cloud_kms_v1_service_proto_rawDescGZIP() []byte {
4037	file_google_cloud_kms_v1_service_proto_rawDescOnce.Do(func() {
4038		file_google_cloud_kms_v1_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_kms_v1_service_proto_rawDescData)
4039	})
4040	return file_google_cloud_kms_v1_service_proto_rawDescData
4041}
4042
4043var file_google_cloud_kms_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
4044var file_google_cloud_kms_v1_service_proto_goTypes = []interface{}{
4045	(*ListKeyRingsRequest)(nil),                     // 0: google.cloud.kms.v1.ListKeyRingsRequest
4046	(*ListCryptoKeysRequest)(nil),                   // 1: google.cloud.kms.v1.ListCryptoKeysRequest
4047	(*ListCryptoKeyVersionsRequest)(nil),            // 2: google.cloud.kms.v1.ListCryptoKeyVersionsRequest
4048	(*ListImportJobsRequest)(nil),                   // 3: google.cloud.kms.v1.ListImportJobsRequest
4049	(*ListKeyRingsResponse)(nil),                    // 4: google.cloud.kms.v1.ListKeyRingsResponse
4050	(*ListCryptoKeysResponse)(nil),                  // 5: google.cloud.kms.v1.ListCryptoKeysResponse
4051	(*ListCryptoKeyVersionsResponse)(nil),           // 6: google.cloud.kms.v1.ListCryptoKeyVersionsResponse
4052	(*ListImportJobsResponse)(nil),                  // 7: google.cloud.kms.v1.ListImportJobsResponse
4053	(*GetKeyRingRequest)(nil),                       // 8: google.cloud.kms.v1.GetKeyRingRequest
4054	(*GetCryptoKeyRequest)(nil),                     // 9: google.cloud.kms.v1.GetCryptoKeyRequest
4055	(*GetCryptoKeyVersionRequest)(nil),              // 10: google.cloud.kms.v1.GetCryptoKeyVersionRequest
4056	(*GetPublicKeyRequest)(nil),                     // 11: google.cloud.kms.v1.GetPublicKeyRequest
4057	(*GetImportJobRequest)(nil),                     // 12: google.cloud.kms.v1.GetImportJobRequest
4058	(*CreateKeyRingRequest)(nil),                    // 13: google.cloud.kms.v1.CreateKeyRingRequest
4059	(*CreateCryptoKeyRequest)(nil),                  // 14: google.cloud.kms.v1.CreateCryptoKeyRequest
4060	(*CreateCryptoKeyVersionRequest)(nil),           // 15: google.cloud.kms.v1.CreateCryptoKeyVersionRequest
4061	(*ImportCryptoKeyVersionRequest)(nil),           // 16: google.cloud.kms.v1.ImportCryptoKeyVersionRequest
4062	(*CreateImportJobRequest)(nil),                  // 17: google.cloud.kms.v1.CreateImportJobRequest
4063	(*UpdateCryptoKeyRequest)(nil),                  // 18: google.cloud.kms.v1.UpdateCryptoKeyRequest
4064	(*UpdateCryptoKeyVersionRequest)(nil),           // 19: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest
4065	(*UpdateCryptoKeyPrimaryVersionRequest)(nil),    // 20: google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest
4066	(*DestroyCryptoKeyVersionRequest)(nil),          // 21: google.cloud.kms.v1.DestroyCryptoKeyVersionRequest
4067	(*RestoreCryptoKeyVersionRequest)(nil),          // 22: google.cloud.kms.v1.RestoreCryptoKeyVersionRequest
4068	(*EncryptRequest)(nil),                          // 23: google.cloud.kms.v1.EncryptRequest
4069	(*DecryptRequest)(nil),                          // 24: google.cloud.kms.v1.DecryptRequest
4070	(*AsymmetricSignRequest)(nil),                   // 25: google.cloud.kms.v1.AsymmetricSignRequest
4071	(*AsymmetricDecryptRequest)(nil),                // 26: google.cloud.kms.v1.AsymmetricDecryptRequest
4072	(*MacSignRequest)(nil),                          // 27: google.cloud.kms.v1.MacSignRequest
4073	(*MacVerifyRequest)(nil),                        // 28: google.cloud.kms.v1.MacVerifyRequest
4074	(*GenerateRandomBytesRequest)(nil),              // 29: google.cloud.kms.v1.GenerateRandomBytesRequest
4075	(*EncryptResponse)(nil),                         // 30: google.cloud.kms.v1.EncryptResponse
4076	(*DecryptResponse)(nil),                         // 31: google.cloud.kms.v1.DecryptResponse
4077	(*AsymmetricSignResponse)(nil),                  // 32: google.cloud.kms.v1.AsymmetricSignResponse
4078	(*AsymmetricDecryptResponse)(nil),               // 33: google.cloud.kms.v1.AsymmetricDecryptResponse
4079	(*MacSignResponse)(nil),                         // 34: google.cloud.kms.v1.MacSignResponse
4080	(*MacVerifyResponse)(nil),                       // 35: google.cloud.kms.v1.MacVerifyResponse
4081	(*GenerateRandomBytesResponse)(nil),             // 36: google.cloud.kms.v1.GenerateRandomBytesResponse
4082	(*Digest)(nil),                                  // 37: google.cloud.kms.v1.Digest
4083	(*LocationMetadata)(nil),                        // 38: google.cloud.kms.v1.LocationMetadata
4084	(CryptoKeyVersion_CryptoKeyVersionView)(0),      // 39: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
4085	(*KeyRing)(nil),                                 // 40: google.cloud.kms.v1.KeyRing
4086	(*CryptoKey)(nil),                               // 41: google.cloud.kms.v1.CryptoKey
4087	(*CryptoKeyVersion)(nil),                        // 42: google.cloud.kms.v1.CryptoKeyVersion
4088	(*ImportJob)(nil),                               // 43: google.cloud.kms.v1.ImportJob
4089	(CryptoKeyVersion_CryptoKeyVersionAlgorithm)(0), // 44: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm
4090	(*fieldmaskpb.FieldMask)(nil),                   // 45: google.protobuf.FieldMask
4091	(*wrapperspb.Int64Value)(nil),                   // 46: google.protobuf.Int64Value
4092	(ProtectionLevel)(0),                            // 47: google.cloud.kms.v1.ProtectionLevel
4093	(*PublicKey)(nil),                               // 48: google.cloud.kms.v1.PublicKey
4094}
4095var file_google_cloud_kms_v1_service_proto_depIdxs = []int32{
4096	39, // 0: google.cloud.kms.v1.ListCryptoKeysRequest.version_view:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
4097	39, // 1: google.cloud.kms.v1.ListCryptoKeyVersionsRequest.view:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
4098	40, // 2: google.cloud.kms.v1.ListKeyRingsResponse.key_rings:type_name -> google.cloud.kms.v1.KeyRing
4099	41, // 3: google.cloud.kms.v1.ListCryptoKeysResponse.crypto_keys:type_name -> google.cloud.kms.v1.CryptoKey
4100	42, // 4: google.cloud.kms.v1.ListCryptoKeyVersionsResponse.crypto_key_versions:type_name -> google.cloud.kms.v1.CryptoKeyVersion
4101	43, // 5: google.cloud.kms.v1.ListImportJobsResponse.import_jobs:type_name -> google.cloud.kms.v1.ImportJob
4102	40, // 6: google.cloud.kms.v1.CreateKeyRingRequest.key_ring:type_name -> google.cloud.kms.v1.KeyRing
4103	41, // 7: google.cloud.kms.v1.CreateCryptoKeyRequest.crypto_key:type_name -> google.cloud.kms.v1.CryptoKey
4104	42, // 8: google.cloud.kms.v1.CreateCryptoKeyVersionRequest.crypto_key_version:type_name -> google.cloud.kms.v1.CryptoKeyVersion
4105	44, // 9: google.cloud.kms.v1.ImportCryptoKeyVersionRequest.algorithm:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm
4106	43, // 10: google.cloud.kms.v1.CreateImportJobRequest.import_job:type_name -> google.cloud.kms.v1.ImportJob
4107	41, // 11: google.cloud.kms.v1.UpdateCryptoKeyRequest.crypto_key:type_name -> google.cloud.kms.v1.CryptoKey
4108	45, // 12: google.cloud.kms.v1.UpdateCryptoKeyRequest.update_mask:type_name -> google.protobuf.FieldMask
4109	42, // 13: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest.crypto_key_version:type_name -> google.cloud.kms.v1.CryptoKeyVersion
4110	45, // 14: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest.update_mask:type_name -> google.protobuf.FieldMask
4111	46, // 15: google.cloud.kms.v1.EncryptRequest.plaintext_crc32c:type_name -> google.protobuf.Int64Value
4112	46, // 16: google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c:type_name -> google.protobuf.Int64Value
4113	46, // 17: google.cloud.kms.v1.DecryptRequest.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
4114	46, // 18: google.cloud.kms.v1.DecryptRequest.additional_authenticated_data_crc32c:type_name -> google.protobuf.Int64Value
4115	37, // 19: google.cloud.kms.v1.AsymmetricSignRequest.digest:type_name -> google.cloud.kms.v1.Digest
4116	46, // 20: google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c:type_name -> google.protobuf.Int64Value
4117	46, // 21: google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
4118	46, // 22: google.cloud.kms.v1.MacSignRequest.data_crc32c:type_name -> google.protobuf.Int64Value
4119	46, // 23: google.cloud.kms.v1.MacVerifyRequest.data_crc32c:type_name -> google.protobuf.Int64Value
4120	46, // 24: google.cloud.kms.v1.MacVerifyRequest.mac_crc32c:type_name -> google.protobuf.Int64Value
4121	47, // 25: google.cloud.kms.v1.GenerateRandomBytesRequest.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4122	46, // 26: google.cloud.kms.v1.EncryptResponse.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
4123	47, // 27: google.cloud.kms.v1.EncryptResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4124	46, // 28: google.cloud.kms.v1.DecryptResponse.plaintext_crc32c:type_name -> google.protobuf.Int64Value
4125	47, // 29: google.cloud.kms.v1.DecryptResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4126	46, // 30: google.cloud.kms.v1.AsymmetricSignResponse.signature_crc32c:type_name -> google.protobuf.Int64Value
4127	47, // 31: google.cloud.kms.v1.AsymmetricSignResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4128	46, // 32: google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext_crc32c:type_name -> google.protobuf.Int64Value
4129	47, // 33: google.cloud.kms.v1.AsymmetricDecryptResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4130	46, // 34: google.cloud.kms.v1.MacSignResponse.mac_crc32c:type_name -> google.protobuf.Int64Value
4131	47, // 35: google.cloud.kms.v1.MacSignResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4132	47, // 36: google.cloud.kms.v1.MacVerifyResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4133	46, // 37: google.cloud.kms.v1.GenerateRandomBytesResponse.data_crc32c:type_name -> google.protobuf.Int64Value
4134	0,  // 38: google.cloud.kms.v1.KeyManagementService.ListKeyRings:input_type -> google.cloud.kms.v1.ListKeyRingsRequest
4135	1,  // 39: google.cloud.kms.v1.KeyManagementService.ListCryptoKeys:input_type -> google.cloud.kms.v1.ListCryptoKeysRequest
4136	2,  // 40: google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions:input_type -> google.cloud.kms.v1.ListCryptoKeyVersionsRequest
4137	3,  // 41: google.cloud.kms.v1.KeyManagementService.ListImportJobs:input_type -> google.cloud.kms.v1.ListImportJobsRequest
4138	8,  // 42: google.cloud.kms.v1.KeyManagementService.GetKeyRing:input_type -> google.cloud.kms.v1.GetKeyRingRequest
4139	9,  // 43: google.cloud.kms.v1.KeyManagementService.GetCryptoKey:input_type -> google.cloud.kms.v1.GetCryptoKeyRequest
4140	10, // 44: google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion:input_type -> google.cloud.kms.v1.GetCryptoKeyVersionRequest
4141	11, // 45: google.cloud.kms.v1.KeyManagementService.GetPublicKey:input_type -> google.cloud.kms.v1.GetPublicKeyRequest
4142	12, // 46: google.cloud.kms.v1.KeyManagementService.GetImportJob:input_type -> google.cloud.kms.v1.GetImportJobRequest
4143	13, // 47: google.cloud.kms.v1.KeyManagementService.CreateKeyRing:input_type -> google.cloud.kms.v1.CreateKeyRingRequest
4144	14, // 48: google.cloud.kms.v1.KeyManagementService.CreateCryptoKey:input_type -> google.cloud.kms.v1.CreateCryptoKeyRequest
4145	15, // 49: google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion:input_type -> google.cloud.kms.v1.CreateCryptoKeyVersionRequest
4146	16, // 50: google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion:input_type -> google.cloud.kms.v1.ImportCryptoKeyVersionRequest
4147	17, // 51: google.cloud.kms.v1.KeyManagementService.CreateImportJob:input_type -> google.cloud.kms.v1.CreateImportJobRequest
4148	18, // 52: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey:input_type -> google.cloud.kms.v1.UpdateCryptoKeyRequest
4149	19, // 53: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion:input_type -> google.cloud.kms.v1.UpdateCryptoKeyVersionRequest
4150	20, // 54: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion:input_type -> google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest
4151	21, // 55: google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion:input_type -> google.cloud.kms.v1.DestroyCryptoKeyVersionRequest
4152	22, // 56: google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion:input_type -> google.cloud.kms.v1.RestoreCryptoKeyVersionRequest
4153	23, // 57: google.cloud.kms.v1.KeyManagementService.Encrypt:input_type -> google.cloud.kms.v1.EncryptRequest
4154	24, // 58: google.cloud.kms.v1.KeyManagementService.Decrypt:input_type -> google.cloud.kms.v1.DecryptRequest
4155	25, // 59: google.cloud.kms.v1.KeyManagementService.AsymmetricSign:input_type -> google.cloud.kms.v1.AsymmetricSignRequest
4156	26, // 60: google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt:input_type -> google.cloud.kms.v1.AsymmetricDecryptRequest
4157	27, // 61: google.cloud.kms.v1.KeyManagementService.MacSign:input_type -> google.cloud.kms.v1.MacSignRequest
4158	28, // 62: google.cloud.kms.v1.KeyManagementService.MacVerify:input_type -> google.cloud.kms.v1.MacVerifyRequest
4159	29, // 63: google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes:input_type -> google.cloud.kms.v1.GenerateRandomBytesRequest
4160	4,  // 64: google.cloud.kms.v1.KeyManagementService.ListKeyRings:output_type -> google.cloud.kms.v1.ListKeyRingsResponse
4161	5,  // 65: google.cloud.kms.v1.KeyManagementService.ListCryptoKeys:output_type -> google.cloud.kms.v1.ListCryptoKeysResponse
4162	6,  // 66: google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions:output_type -> google.cloud.kms.v1.ListCryptoKeyVersionsResponse
4163	7,  // 67: google.cloud.kms.v1.KeyManagementService.ListImportJobs:output_type -> google.cloud.kms.v1.ListImportJobsResponse
4164	40, // 68: google.cloud.kms.v1.KeyManagementService.GetKeyRing:output_type -> google.cloud.kms.v1.KeyRing
4165	41, // 69: google.cloud.kms.v1.KeyManagementService.GetCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
4166	42, // 70: google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4167	48, // 71: google.cloud.kms.v1.KeyManagementService.GetPublicKey:output_type -> google.cloud.kms.v1.PublicKey
4168	43, // 72: google.cloud.kms.v1.KeyManagementService.GetImportJob:output_type -> google.cloud.kms.v1.ImportJob
4169	40, // 73: google.cloud.kms.v1.KeyManagementService.CreateKeyRing:output_type -> google.cloud.kms.v1.KeyRing
4170	41, // 74: google.cloud.kms.v1.KeyManagementService.CreateCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
4171	42, // 75: google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4172	42, // 76: google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4173	43, // 77: google.cloud.kms.v1.KeyManagementService.CreateImportJob:output_type -> google.cloud.kms.v1.ImportJob
4174	41, // 78: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
4175	42, // 79: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4176	41, // 80: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion:output_type -> google.cloud.kms.v1.CryptoKey
4177	42, // 81: google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4178	42, // 82: google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4179	30, // 83: google.cloud.kms.v1.KeyManagementService.Encrypt:output_type -> google.cloud.kms.v1.EncryptResponse
4180	31, // 84: google.cloud.kms.v1.KeyManagementService.Decrypt:output_type -> google.cloud.kms.v1.DecryptResponse
4181	32, // 85: google.cloud.kms.v1.KeyManagementService.AsymmetricSign:output_type -> google.cloud.kms.v1.AsymmetricSignResponse
4182	33, // 86: google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt:output_type -> google.cloud.kms.v1.AsymmetricDecryptResponse
4183	34, // 87: google.cloud.kms.v1.KeyManagementService.MacSign:output_type -> google.cloud.kms.v1.MacSignResponse
4184	35, // 88: google.cloud.kms.v1.KeyManagementService.MacVerify:output_type -> google.cloud.kms.v1.MacVerifyResponse
4185	36, // 89: google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes:output_type -> google.cloud.kms.v1.GenerateRandomBytesResponse
4186	64, // [64:90] is the sub-list for method output_type
4187	38, // [38:64] is the sub-list for method input_type
4188	38, // [38:38] is the sub-list for extension type_name
4189	38, // [38:38] is the sub-list for extension extendee
4190	0,  // [0:38] is the sub-list for field type_name
4191}
4192
4193func init() { file_google_cloud_kms_v1_service_proto_init() }
4194func file_google_cloud_kms_v1_service_proto_init() {
4195	if File_google_cloud_kms_v1_service_proto != nil {
4196		return
4197	}
4198	file_google_cloud_kms_v1_resources_proto_init()
4199	if !protoimpl.UnsafeEnabled {
4200		file_google_cloud_kms_v1_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4201			switch v := v.(*ListKeyRingsRequest); i {
4202			case 0:
4203				return &v.state
4204			case 1:
4205				return &v.sizeCache
4206			case 2:
4207				return &v.unknownFields
4208			default:
4209				return nil
4210			}
4211		}
4212		file_google_cloud_kms_v1_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4213			switch v := v.(*ListCryptoKeysRequest); i {
4214			case 0:
4215				return &v.state
4216			case 1:
4217				return &v.sizeCache
4218			case 2:
4219				return &v.unknownFields
4220			default:
4221				return nil
4222			}
4223		}
4224		file_google_cloud_kms_v1_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4225			switch v := v.(*ListCryptoKeyVersionsRequest); i {
4226			case 0:
4227				return &v.state
4228			case 1:
4229				return &v.sizeCache
4230			case 2:
4231				return &v.unknownFields
4232			default:
4233				return nil
4234			}
4235		}
4236		file_google_cloud_kms_v1_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4237			switch v := v.(*ListImportJobsRequest); i {
4238			case 0:
4239				return &v.state
4240			case 1:
4241				return &v.sizeCache
4242			case 2:
4243				return &v.unknownFields
4244			default:
4245				return nil
4246			}
4247		}
4248		file_google_cloud_kms_v1_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4249			switch v := v.(*ListKeyRingsResponse); i {
4250			case 0:
4251				return &v.state
4252			case 1:
4253				return &v.sizeCache
4254			case 2:
4255				return &v.unknownFields
4256			default:
4257				return nil
4258			}
4259		}
4260		file_google_cloud_kms_v1_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4261			switch v := v.(*ListCryptoKeysResponse); i {
4262			case 0:
4263				return &v.state
4264			case 1:
4265				return &v.sizeCache
4266			case 2:
4267				return &v.unknownFields
4268			default:
4269				return nil
4270			}
4271		}
4272		file_google_cloud_kms_v1_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4273			switch v := v.(*ListCryptoKeyVersionsResponse); i {
4274			case 0:
4275				return &v.state
4276			case 1:
4277				return &v.sizeCache
4278			case 2:
4279				return &v.unknownFields
4280			default:
4281				return nil
4282			}
4283		}
4284		file_google_cloud_kms_v1_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4285			switch v := v.(*ListImportJobsResponse); i {
4286			case 0:
4287				return &v.state
4288			case 1:
4289				return &v.sizeCache
4290			case 2:
4291				return &v.unknownFields
4292			default:
4293				return nil
4294			}
4295		}
4296		file_google_cloud_kms_v1_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4297			switch v := v.(*GetKeyRingRequest); i {
4298			case 0:
4299				return &v.state
4300			case 1:
4301				return &v.sizeCache
4302			case 2:
4303				return &v.unknownFields
4304			default:
4305				return nil
4306			}
4307		}
4308		file_google_cloud_kms_v1_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4309			switch v := v.(*GetCryptoKeyRequest); i {
4310			case 0:
4311				return &v.state
4312			case 1:
4313				return &v.sizeCache
4314			case 2:
4315				return &v.unknownFields
4316			default:
4317				return nil
4318			}
4319		}
4320		file_google_cloud_kms_v1_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4321			switch v := v.(*GetCryptoKeyVersionRequest); i {
4322			case 0:
4323				return &v.state
4324			case 1:
4325				return &v.sizeCache
4326			case 2:
4327				return &v.unknownFields
4328			default:
4329				return nil
4330			}
4331		}
4332		file_google_cloud_kms_v1_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4333			switch v := v.(*GetPublicKeyRequest); i {
4334			case 0:
4335				return &v.state
4336			case 1:
4337				return &v.sizeCache
4338			case 2:
4339				return &v.unknownFields
4340			default:
4341				return nil
4342			}
4343		}
4344		file_google_cloud_kms_v1_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4345			switch v := v.(*GetImportJobRequest); i {
4346			case 0:
4347				return &v.state
4348			case 1:
4349				return &v.sizeCache
4350			case 2:
4351				return &v.unknownFields
4352			default:
4353				return nil
4354			}
4355		}
4356		file_google_cloud_kms_v1_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4357			switch v := v.(*CreateKeyRingRequest); i {
4358			case 0:
4359				return &v.state
4360			case 1:
4361				return &v.sizeCache
4362			case 2:
4363				return &v.unknownFields
4364			default:
4365				return nil
4366			}
4367		}
4368		file_google_cloud_kms_v1_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4369			switch v := v.(*CreateCryptoKeyRequest); i {
4370			case 0:
4371				return &v.state
4372			case 1:
4373				return &v.sizeCache
4374			case 2:
4375				return &v.unknownFields
4376			default:
4377				return nil
4378			}
4379		}
4380		file_google_cloud_kms_v1_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4381			switch v := v.(*CreateCryptoKeyVersionRequest); i {
4382			case 0:
4383				return &v.state
4384			case 1:
4385				return &v.sizeCache
4386			case 2:
4387				return &v.unknownFields
4388			default:
4389				return nil
4390			}
4391		}
4392		file_google_cloud_kms_v1_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4393			switch v := v.(*ImportCryptoKeyVersionRequest); i {
4394			case 0:
4395				return &v.state
4396			case 1:
4397				return &v.sizeCache
4398			case 2:
4399				return &v.unknownFields
4400			default:
4401				return nil
4402			}
4403		}
4404		file_google_cloud_kms_v1_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4405			switch v := v.(*CreateImportJobRequest); i {
4406			case 0:
4407				return &v.state
4408			case 1:
4409				return &v.sizeCache
4410			case 2:
4411				return &v.unknownFields
4412			default:
4413				return nil
4414			}
4415		}
4416		file_google_cloud_kms_v1_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4417			switch v := v.(*UpdateCryptoKeyRequest); i {
4418			case 0:
4419				return &v.state
4420			case 1:
4421				return &v.sizeCache
4422			case 2:
4423				return &v.unknownFields
4424			default:
4425				return nil
4426			}
4427		}
4428		file_google_cloud_kms_v1_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4429			switch v := v.(*UpdateCryptoKeyVersionRequest); i {
4430			case 0:
4431				return &v.state
4432			case 1:
4433				return &v.sizeCache
4434			case 2:
4435				return &v.unknownFields
4436			default:
4437				return nil
4438			}
4439		}
4440		file_google_cloud_kms_v1_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4441			switch v := v.(*UpdateCryptoKeyPrimaryVersionRequest); i {
4442			case 0:
4443				return &v.state
4444			case 1:
4445				return &v.sizeCache
4446			case 2:
4447				return &v.unknownFields
4448			default:
4449				return nil
4450			}
4451		}
4452		file_google_cloud_kms_v1_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4453			switch v := v.(*DestroyCryptoKeyVersionRequest); i {
4454			case 0:
4455				return &v.state
4456			case 1:
4457				return &v.sizeCache
4458			case 2:
4459				return &v.unknownFields
4460			default:
4461				return nil
4462			}
4463		}
4464		file_google_cloud_kms_v1_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4465			switch v := v.(*RestoreCryptoKeyVersionRequest); i {
4466			case 0:
4467				return &v.state
4468			case 1:
4469				return &v.sizeCache
4470			case 2:
4471				return &v.unknownFields
4472			default:
4473				return nil
4474			}
4475		}
4476		file_google_cloud_kms_v1_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4477			switch v := v.(*EncryptRequest); i {
4478			case 0:
4479				return &v.state
4480			case 1:
4481				return &v.sizeCache
4482			case 2:
4483				return &v.unknownFields
4484			default:
4485				return nil
4486			}
4487		}
4488		file_google_cloud_kms_v1_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4489			switch v := v.(*DecryptRequest); i {
4490			case 0:
4491				return &v.state
4492			case 1:
4493				return &v.sizeCache
4494			case 2:
4495				return &v.unknownFields
4496			default:
4497				return nil
4498			}
4499		}
4500		file_google_cloud_kms_v1_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4501			switch v := v.(*AsymmetricSignRequest); i {
4502			case 0:
4503				return &v.state
4504			case 1:
4505				return &v.sizeCache
4506			case 2:
4507				return &v.unknownFields
4508			default:
4509				return nil
4510			}
4511		}
4512		file_google_cloud_kms_v1_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4513			switch v := v.(*AsymmetricDecryptRequest); i {
4514			case 0:
4515				return &v.state
4516			case 1:
4517				return &v.sizeCache
4518			case 2:
4519				return &v.unknownFields
4520			default:
4521				return nil
4522			}
4523		}
4524		file_google_cloud_kms_v1_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4525			switch v := v.(*MacSignRequest); i {
4526			case 0:
4527				return &v.state
4528			case 1:
4529				return &v.sizeCache
4530			case 2:
4531				return &v.unknownFields
4532			default:
4533				return nil
4534			}
4535		}
4536		file_google_cloud_kms_v1_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4537			switch v := v.(*MacVerifyRequest); i {
4538			case 0:
4539				return &v.state
4540			case 1:
4541				return &v.sizeCache
4542			case 2:
4543				return &v.unknownFields
4544			default:
4545				return nil
4546			}
4547		}
4548		file_google_cloud_kms_v1_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4549			switch v := v.(*GenerateRandomBytesRequest); i {
4550			case 0:
4551				return &v.state
4552			case 1:
4553				return &v.sizeCache
4554			case 2:
4555				return &v.unknownFields
4556			default:
4557				return nil
4558			}
4559		}
4560		file_google_cloud_kms_v1_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4561			switch v := v.(*EncryptResponse); i {
4562			case 0:
4563				return &v.state
4564			case 1:
4565				return &v.sizeCache
4566			case 2:
4567				return &v.unknownFields
4568			default:
4569				return nil
4570			}
4571		}
4572		file_google_cloud_kms_v1_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4573			switch v := v.(*DecryptResponse); i {
4574			case 0:
4575				return &v.state
4576			case 1:
4577				return &v.sizeCache
4578			case 2:
4579				return &v.unknownFields
4580			default:
4581				return nil
4582			}
4583		}
4584		file_google_cloud_kms_v1_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4585			switch v := v.(*AsymmetricSignResponse); i {
4586			case 0:
4587				return &v.state
4588			case 1:
4589				return &v.sizeCache
4590			case 2:
4591				return &v.unknownFields
4592			default:
4593				return nil
4594			}
4595		}
4596		file_google_cloud_kms_v1_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4597			switch v := v.(*AsymmetricDecryptResponse); i {
4598			case 0:
4599				return &v.state
4600			case 1:
4601				return &v.sizeCache
4602			case 2:
4603				return &v.unknownFields
4604			default:
4605				return nil
4606			}
4607		}
4608		file_google_cloud_kms_v1_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4609			switch v := v.(*MacSignResponse); i {
4610			case 0:
4611				return &v.state
4612			case 1:
4613				return &v.sizeCache
4614			case 2:
4615				return &v.unknownFields
4616			default:
4617				return nil
4618			}
4619		}
4620		file_google_cloud_kms_v1_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4621			switch v := v.(*MacVerifyResponse); i {
4622			case 0:
4623				return &v.state
4624			case 1:
4625				return &v.sizeCache
4626			case 2:
4627				return &v.unknownFields
4628			default:
4629				return nil
4630			}
4631		}
4632		file_google_cloud_kms_v1_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4633			switch v := v.(*GenerateRandomBytesResponse); i {
4634			case 0:
4635				return &v.state
4636			case 1:
4637				return &v.sizeCache
4638			case 2:
4639				return &v.unknownFields
4640			default:
4641				return nil
4642			}
4643		}
4644		file_google_cloud_kms_v1_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4645			switch v := v.(*Digest); i {
4646			case 0:
4647				return &v.state
4648			case 1:
4649				return &v.sizeCache
4650			case 2:
4651				return &v.unknownFields
4652			default:
4653				return nil
4654			}
4655		}
4656		file_google_cloud_kms_v1_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4657			switch v := v.(*LocationMetadata); i {
4658			case 0:
4659				return &v.state
4660			case 1:
4661				return &v.sizeCache
4662			case 2:
4663				return &v.unknownFields
4664			default:
4665				return nil
4666			}
4667		}
4668	}
4669	file_google_cloud_kms_v1_service_proto_msgTypes[16].OneofWrappers = []interface{}{
4670		(*ImportCryptoKeyVersionRequest_RsaAesWrappedKey)(nil),
4671	}
4672	file_google_cloud_kms_v1_service_proto_msgTypes[37].OneofWrappers = []interface{}{
4673		(*Digest_Sha256)(nil),
4674		(*Digest_Sha384)(nil),
4675		(*Digest_Sha512)(nil),
4676	}
4677	type x struct{}
4678	out := protoimpl.TypeBuilder{
4679		File: protoimpl.DescBuilder{
4680			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4681			RawDescriptor: file_google_cloud_kms_v1_service_proto_rawDesc,
4682			NumEnums:      0,
4683			NumMessages:   39,
4684			NumExtensions: 0,
4685			NumServices:   1,
4686		},
4687		GoTypes:           file_google_cloud_kms_v1_service_proto_goTypes,
4688		DependencyIndexes: file_google_cloud_kms_v1_service_proto_depIdxs,
4689		MessageInfos:      file_google_cloud_kms_v1_service_proto_msgTypes,
4690	}.Build()
4691	File_google_cloud_kms_v1_service_proto = out.File
4692	file_google_cloud_kms_v1_service_proto_rawDesc = nil
4693	file_google_cloud_kms_v1_service_proto_goTypes = nil
4694	file_google_cloud_kms_v1_service_proto_depIdxs = nil
4695}
4696
4697// Reference imports to suppress errors if they are not otherwise used.
4698var _ context.Context
4699var _ grpc.ClientConnInterface
4700
4701// This is a compile-time assertion to ensure that this generated file
4702// is compatible with the grpc package it is being compiled against.
4703const _ = grpc.SupportPackageIsVersion6
4704
4705// KeyManagementServiceClient is the client API for KeyManagementService service.
4706//
4707// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4708type KeyManagementServiceClient interface {
4709	// Lists [KeyRings][google.cloud.kms.v1.KeyRing].
4710	ListKeyRings(ctx context.Context, in *ListKeyRingsRequest, opts ...grpc.CallOption) (*ListKeyRingsResponse, error)
4711	// Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
4712	ListCryptoKeys(ctx context.Context, in *ListCryptoKeysRequest, opts ...grpc.CallOption) (*ListCryptoKeysResponse, error)
4713	// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
4714	ListCryptoKeyVersions(ctx context.Context, in *ListCryptoKeyVersionsRequest, opts ...grpc.CallOption) (*ListCryptoKeyVersionsResponse, error)
4715	// Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
4716	ListImportJobs(ctx context.Context, in *ListImportJobsRequest, opts ...grpc.CallOption) (*ListImportJobsResponse, error)
4717	// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
4718	GetKeyRing(ctx context.Context, in *GetKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error)
4719	// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
4720	// [primary][google.cloud.kms.v1.CryptoKey.primary] [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
4721	GetCryptoKey(ctx context.Context, in *GetCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4722	// Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
4723	GetCryptoKeyVersion(ctx context.Context, in *GetCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4724	// Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
4725	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
4726	// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
4727	// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
4728	GetPublicKey(ctx context.Context, in *GetPublicKeyRequest, opts ...grpc.CallOption) (*PublicKey, error)
4729	// Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
4730	GetImportJob(ctx context.Context, in *GetImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error)
4731	// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
4732	CreateKeyRing(ctx context.Context, in *CreateKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error)
4733	// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a [KeyRing][google.cloud.kms.v1.KeyRing].
4734	//
4735	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
4736	// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
4737	// are required.
4738	CreateCryptoKey(ctx context.Context, in *CreateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4739	// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a [CryptoKey][google.cloud.kms.v1.CryptoKey].
4740	//
4741	// The server will assign the next sequential id. If unset,
4742	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
4743	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
4744	CreateCryptoKeyVersion(ctx context.Context, in *CreateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4745	// Imports a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] into an existing [CryptoKey][google.cloud.kms.v1.CryptoKey] using the
4746	// wrapped key material provided in the request.
4747	//
4748	// The version ID will be assigned the next sequential id within the
4749	// [CryptoKey][google.cloud.kms.v1.CryptoKey].
4750	ImportCryptoKeyVersion(ctx context.Context, in *ImportCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4751	// Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a [KeyRing][google.cloud.kms.v1.KeyRing].
4752	//
4753	// [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required.
4754	CreateImportJob(ctx context.Context, in *CreateImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error)
4755	// Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
4756	UpdateCryptoKey(ctx context.Context, in *UpdateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4757	// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
4758	//
4759	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
4760	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and
4761	// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this
4762	// method. See [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to
4763	// move between other states.
4764	UpdateCryptoKeyVersion(ctx context.Context, in *UpdateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4765	// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
4766	//
4767	// Returns an error if called on a key whose purpose is not
4768	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4769	UpdateCryptoKeyPrimaryVersion(ctx context.Context, in *UpdateCryptoKeyPrimaryVersionRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4770	// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
4771	//
4772	// Upon calling this method, [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
4773	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
4774	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24
4775	// hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state]
4776	// will be changed to
4777	// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key
4778	// material will be irrevocably destroyed.
4779	//
4780	// Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached,
4781	// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may be called to reverse the process.
4782	DestroyCryptoKeyVersion(ctx context.Context, in *DestroyCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4783	// Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
4784	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
4785	// state.
4786	//
4787	// Upon restoration of the CryptoKeyVersion, [state][google.cloud.kms.v1.CryptoKeyVersion.state]
4788	// will be set to [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
4789	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared.
4790	RestoreCryptoKeyVersion(ctx context.Context, in *RestoreCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4791	// Encrypts data, so that it can only be recovered by a call to [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
4792	// The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
4793	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4794	Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error)
4795	// Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4796	// must be [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4797	Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error)
4798	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4799	// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
4800	// key retrieved from [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
4801	AsymmetricSign(ctx context.Context, in *AsymmetricSignRequest, opts ...grpc.CallOption) (*AsymmetricSignResponse, error)
4802	// Decrypts data that was encrypted with a public key retrieved from
4803	// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
4804	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
4805	AsymmetricDecrypt(ctx context.Context, in *AsymmetricDecryptRequest, opts ...grpc.CallOption) (*AsymmetricDecryptResponse, error)
4806	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4807	// MAC, producing a tag that can be verified by another source with the
4808	// same key.
4809	MacSign(ctx context.Context, in *MacSignRequest, opts ...grpc.CallOption) (*MacSignResponse, error)
4810	// Verifies MAC tag using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4811	// MAC, and returns a response that indicates whether or not the verification
4812	// was successful.
4813	MacVerify(ctx context.Context, in *MacVerifyRequest, opts ...grpc.CallOption) (*MacVerifyResponse, error)
4814	// Generate random bytes using the Cloud KMS randomness source in the provided
4815	// location.
4816	GenerateRandomBytes(ctx context.Context, in *GenerateRandomBytesRequest, opts ...grpc.CallOption) (*GenerateRandomBytesResponse, error)
4817}
4818
4819type keyManagementServiceClient struct {
4820	cc grpc.ClientConnInterface
4821}
4822
4823func NewKeyManagementServiceClient(cc grpc.ClientConnInterface) KeyManagementServiceClient {
4824	return &keyManagementServiceClient{cc}
4825}
4826
4827func (c *keyManagementServiceClient) ListKeyRings(ctx context.Context, in *ListKeyRingsRequest, opts ...grpc.CallOption) (*ListKeyRingsResponse, error) {
4828	out := new(ListKeyRingsResponse)
4829	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListKeyRings", in, out, opts...)
4830	if err != nil {
4831		return nil, err
4832	}
4833	return out, nil
4834}
4835
4836func (c *keyManagementServiceClient) ListCryptoKeys(ctx context.Context, in *ListCryptoKeysRequest, opts ...grpc.CallOption) (*ListCryptoKeysResponse, error) {
4837	out := new(ListCryptoKeysResponse)
4838	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeys", in, out, opts...)
4839	if err != nil {
4840		return nil, err
4841	}
4842	return out, nil
4843}
4844
4845func (c *keyManagementServiceClient) ListCryptoKeyVersions(ctx context.Context, in *ListCryptoKeyVersionsRequest, opts ...grpc.CallOption) (*ListCryptoKeyVersionsResponse, error) {
4846	out := new(ListCryptoKeyVersionsResponse)
4847	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeyVersions", in, out, opts...)
4848	if err != nil {
4849		return nil, err
4850	}
4851	return out, nil
4852}
4853
4854func (c *keyManagementServiceClient) ListImportJobs(ctx context.Context, in *ListImportJobsRequest, opts ...grpc.CallOption) (*ListImportJobsResponse, error) {
4855	out := new(ListImportJobsResponse)
4856	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListImportJobs", in, out, opts...)
4857	if err != nil {
4858		return nil, err
4859	}
4860	return out, nil
4861}
4862
4863func (c *keyManagementServiceClient) GetKeyRing(ctx context.Context, in *GetKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error) {
4864	out := new(KeyRing)
4865	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetKeyRing", in, out, opts...)
4866	if err != nil {
4867		return nil, err
4868	}
4869	return out, nil
4870}
4871
4872func (c *keyManagementServiceClient) GetCryptoKey(ctx context.Context, in *GetCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4873	out := new(CryptoKey)
4874	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetCryptoKey", in, out, opts...)
4875	if err != nil {
4876		return nil, err
4877	}
4878	return out, nil
4879}
4880
4881func (c *keyManagementServiceClient) GetCryptoKeyVersion(ctx context.Context, in *GetCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4882	out := new(CryptoKeyVersion)
4883	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetCryptoKeyVersion", in, out, opts...)
4884	if err != nil {
4885		return nil, err
4886	}
4887	return out, nil
4888}
4889
4890func (c *keyManagementServiceClient) GetPublicKey(ctx context.Context, in *GetPublicKeyRequest, opts ...grpc.CallOption) (*PublicKey, error) {
4891	out := new(PublicKey)
4892	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetPublicKey", in, out, opts...)
4893	if err != nil {
4894		return nil, err
4895	}
4896	return out, nil
4897}
4898
4899func (c *keyManagementServiceClient) GetImportJob(ctx context.Context, in *GetImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error) {
4900	out := new(ImportJob)
4901	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetImportJob", in, out, opts...)
4902	if err != nil {
4903		return nil, err
4904	}
4905	return out, nil
4906}
4907
4908func (c *keyManagementServiceClient) CreateKeyRing(ctx context.Context, in *CreateKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error) {
4909	out := new(KeyRing)
4910	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateKeyRing", in, out, opts...)
4911	if err != nil {
4912		return nil, err
4913	}
4914	return out, nil
4915}
4916
4917func (c *keyManagementServiceClient) CreateCryptoKey(ctx context.Context, in *CreateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4918	out := new(CryptoKey)
4919	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKey", in, out, opts...)
4920	if err != nil {
4921		return nil, err
4922	}
4923	return out, nil
4924}
4925
4926func (c *keyManagementServiceClient) CreateCryptoKeyVersion(ctx context.Context, in *CreateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4927	out := new(CryptoKeyVersion)
4928	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKeyVersion", in, out, opts...)
4929	if err != nil {
4930		return nil, err
4931	}
4932	return out, nil
4933}
4934
4935func (c *keyManagementServiceClient) ImportCryptoKeyVersion(ctx context.Context, in *ImportCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4936	out := new(CryptoKeyVersion)
4937	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ImportCryptoKeyVersion", in, out, opts...)
4938	if err != nil {
4939		return nil, err
4940	}
4941	return out, nil
4942}
4943
4944func (c *keyManagementServiceClient) CreateImportJob(ctx context.Context, in *CreateImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error) {
4945	out := new(ImportJob)
4946	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateImportJob", in, out, opts...)
4947	if err != nil {
4948		return nil, err
4949	}
4950	return out, nil
4951}
4952
4953func (c *keyManagementServiceClient) UpdateCryptoKey(ctx context.Context, in *UpdateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4954	out := new(CryptoKey)
4955	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKey", in, out, opts...)
4956	if err != nil {
4957		return nil, err
4958	}
4959	return out, nil
4960}
4961
4962func (c *keyManagementServiceClient) UpdateCryptoKeyVersion(ctx context.Context, in *UpdateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4963	out := new(CryptoKeyVersion)
4964	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyVersion", in, out, opts...)
4965	if err != nil {
4966		return nil, err
4967	}
4968	return out, nil
4969}
4970
4971func (c *keyManagementServiceClient) UpdateCryptoKeyPrimaryVersion(ctx context.Context, in *UpdateCryptoKeyPrimaryVersionRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4972	out := new(CryptoKey)
4973	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyPrimaryVersion", in, out, opts...)
4974	if err != nil {
4975		return nil, err
4976	}
4977	return out, nil
4978}
4979
4980func (c *keyManagementServiceClient) DestroyCryptoKeyVersion(ctx context.Context, in *DestroyCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4981	out := new(CryptoKeyVersion)
4982	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/DestroyCryptoKeyVersion", in, out, opts...)
4983	if err != nil {
4984		return nil, err
4985	}
4986	return out, nil
4987}
4988
4989func (c *keyManagementServiceClient) RestoreCryptoKeyVersion(ctx context.Context, in *RestoreCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4990	out := new(CryptoKeyVersion)
4991	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/RestoreCryptoKeyVersion", in, out, opts...)
4992	if err != nil {
4993		return nil, err
4994	}
4995	return out, nil
4996}
4997
4998func (c *keyManagementServiceClient) Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error) {
4999	out := new(EncryptResponse)
5000	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/Encrypt", in, out, opts...)
5001	if err != nil {
5002		return nil, err
5003	}
5004	return out, nil
5005}
5006
5007func (c *keyManagementServiceClient) Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error) {
5008	out := new(DecryptResponse)
5009	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/Decrypt", in, out, opts...)
5010	if err != nil {
5011		return nil, err
5012	}
5013	return out, nil
5014}
5015
5016func (c *keyManagementServiceClient) AsymmetricSign(ctx context.Context, in *AsymmetricSignRequest, opts ...grpc.CallOption) (*AsymmetricSignResponse, error) {
5017	out := new(AsymmetricSignResponse)
5018	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/AsymmetricSign", in, out, opts...)
5019	if err != nil {
5020		return nil, err
5021	}
5022	return out, nil
5023}
5024
5025func (c *keyManagementServiceClient) AsymmetricDecrypt(ctx context.Context, in *AsymmetricDecryptRequest, opts ...grpc.CallOption) (*AsymmetricDecryptResponse, error) {
5026	out := new(AsymmetricDecryptResponse)
5027	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/AsymmetricDecrypt", in, out, opts...)
5028	if err != nil {
5029		return nil, err
5030	}
5031	return out, nil
5032}
5033
5034func (c *keyManagementServiceClient) MacSign(ctx context.Context, in *MacSignRequest, opts ...grpc.CallOption) (*MacSignResponse, error) {
5035	out := new(MacSignResponse)
5036	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/MacSign", in, out, opts...)
5037	if err != nil {
5038		return nil, err
5039	}
5040	return out, nil
5041}
5042
5043func (c *keyManagementServiceClient) MacVerify(ctx context.Context, in *MacVerifyRequest, opts ...grpc.CallOption) (*MacVerifyResponse, error) {
5044	out := new(MacVerifyResponse)
5045	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/MacVerify", in, out, opts...)
5046	if err != nil {
5047		return nil, err
5048	}
5049	return out, nil
5050}
5051
5052func (c *keyManagementServiceClient) GenerateRandomBytes(ctx context.Context, in *GenerateRandomBytesRequest, opts ...grpc.CallOption) (*GenerateRandomBytesResponse, error) {
5053	out := new(GenerateRandomBytesResponse)
5054	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GenerateRandomBytes", in, out, opts...)
5055	if err != nil {
5056		return nil, err
5057	}
5058	return out, nil
5059}
5060
5061// KeyManagementServiceServer is the server API for KeyManagementService service.
5062type KeyManagementServiceServer interface {
5063	// Lists [KeyRings][google.cloud.kms.v1.KeyRing].
5064	ListKeyRings(context.Context, *ListKeyRingsRequest) (*ListKeyRingsResponse, error)
5065	// Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
5066	ListCryptoKeys(context.Context, *ListCryptoKeysRequest) (*ListCryptoKeysResponse, error)
5067	// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
5068	ListCryptoKeyVersions(context.Context, *ListCryptoKeyVersionsRequest) (*ListCryptoKeyVersionsResponse, error)
5069	// Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
5070	ListImportJobs(context.Context, *ListImportJobsRequest) (*ListImportJobsResponse, error)
5071	// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
5072	GetKeyRing(context.Context, *GetKeyRingRequest) (*KeyRing, error)
5073	// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
5074	// [primary][google.cloud.kms.v1.CryptoKey.primary] [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
5075	GetCryptoKey(context.Context, *GetCryptoKeyRequest) (*CryptoKey, error)
5076	// Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
5077	GetCryptoKeyVersion(context.Context, *GetCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5078	// Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
5079	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
5080	// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
5081	// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
5082	GetPublicKey(context.Context, *GetPublicKeyRequest) (*PublicKey, error)
5083	// Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
5084	GetImportJob(context.Context, *GetImportJobRequest) (*ImportJob, error)
5085	// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
5086	CreateKeyRing(context.Context, *CreateKeyRingRequest) (*KeyRing, error)
5087	// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a [KeyRing][google.cloud.kms.v1.KeyRing].
5088	//
5089	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
5090	// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
5091	// are required.
5092	CreateCryptoKey(context.Context, *CreateCryptoKeyRequest) (*CryptoKey, error)
5093	// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a [CryptoKey][google.cloud.kms.v1.CryptoKey].
5094	//
5095	// The server will assign the next sequential id. If unset,
5096	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
5097	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
5098	CreateCryptoKeyVersion(context.Context, *CreateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5099	// Imports a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] into an existing [CryptoKey][google.cloud.kms.v1.CryptoKey] using the
5100	// wrapped key material provided in the request.
5101	//
5102	// The version ID will be assigned the next sequential id within the
5103	// [CryptoKey][google.cloud.kms.v1.CryptoKey].
5104	ImportCryptoKeyVersion(context.Context, *ImportCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5105	// Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a [KeyRing][google.cloud.kms.v1.KeyRing].
5106	//
5107	// [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required.
5108	CreateImportJob(context.Context, *CreateImportJobRequest) (*ImportJob, error)
5109	// Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
5110	UpdateCryptoKey(context.Context, *UpdateCryptoKeyRequest) (*CryptoKey, error)
5111	// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
5112	//
5113	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
5114	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and
5115	// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this
5116	// method. See [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to
5117	// move between other states.
5118	UpdateCryptoKeyVersion(context.Context, *UpdateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5119	// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
5120	//
5121	// Returns an error if called on a key whose purpose is not
5122	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
5123	UpdateCryptoKeyPrimaryVersion(context.Context, *UpdateCryptoKeyPrimaryVersionRequest) (*CryptoKey, error)
5124	// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
5125	//
5126	// Upon calling this method, [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
5127	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
5128	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24
5129	// hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state]
5130	// will be changed to
5131	// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key
5132	// material will be irrevocably destroyed.
5133	//
5134	// Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached,
5135	// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may be called to reverse the process.
5136	DestroyCryptoKeyVersion(context.Context, *DestroyCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5137	// Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
5138	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
5139	// state.
5140	//
5141	// Upon restoration of the CryptoKeyVersion, [state][google.cloud.kms.v1.CryptoKeyVersion.state]
5142	// will be set to [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
5143	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared.
5144	RestoreCryptoKeyVersion(context.Context, *RestoreCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5145	// Encrypts data, so that it can only be recovered by a call to [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
5146	// The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
5147	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
5148	Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error)
5149	// Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5150	// must be [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
5151	Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error)
5152	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5153	// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
5154	// key retrieved from [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
5155	AsymmetricSign(context.Context, *AsymmetricSignRequest) (*AsymmetricSignResponse, error)
5156	// Decrypts data that was encrypted with a public key retrieved from
5157	// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
5158	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
5159	AsymmetricDecrypt(context.Context, *AsymmetricDecryptRequest) (*AsymmetricDecryptResponse, error)
5160	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5161	// MAC, producing a tag that can be verified by another source with the
5162	// same key.
5163	MacSign(context.Context, *MacSignRequest) (*MacSignResponse, error)
5164	// Verifies MAC tag using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5165	// MAC, and returns a response that indicates whether or not the verification
5166	// was successful.
5167	MacVerify(context.Context, *MacVerifyRequest) (*MacVerifyResponse, error)
5168	// Generate random bytes using the Cloud KMS randomness source in the provided
5169	// location.
5170	GenerateRandomBytes(context.Context, *GenerateRandomBytesRequest) (*GenerateRandomBytesResponse, error)
5171}
5172
5173// UnimplementedKeyManagementServiceServer can be embedded to have forward compatible implementations.
5174type UnimplementedKeyManagementServiceServer struct {
5175}
5176
5177func (*UnimplementedKeyManagementServiceServer) ListKeyRings(context.Context, *ListKeyRingsRequest) (*ListKeyRingsResponse, error) {
5178	return nil, status.Errorf(codes.Unimplemented, "method ListKeyRings not implemented")
5179}
5180func (*UnimplementedKeyManagementServiceServer) ListCryptoKeys(context.Context, *ListCryptoKeysRequest) (*ListCryptoKeysResponse, error) {
5181	return nil, status.Errorf(codes.Unimplemented, "method ListCryptoKeys not implemented")
5182}
5183func (*UnimplementedKeyManagementServiceServer) ListCryptoKeyVersions(context.Context, *ListCryptoKeyVersionsRequest) (*ListCryptoKeyVersionsResponse, error) {
5184	return nil, status.Errorf(codes.Unimplemented, "method ListCryptoKeyVersions not implemented")
5185}
5186func (*UnimplementedKeyManagementServiceServer) ListImportJobs(context.Context, *ListImportJobsRequest) (*ListImportJobsResponse, error) {
5187	return nil, status.Errorf(codes.Unimplemented, "method ListImportJobs not implemented")
5188}
5189func (*UnimplementedKeyManagementServiceServer) GetKeyRing(context.Context, *GetKeyRingRequest) (*KeyRing, error) {
5190	return nil, status.Errorf(codes.Unimplemented, "method GetKeyRing not implemented")
5191}
5192func (*UnimplementedKeyManagementServiceServer) GetCryptoKey(context.Context, *GetCryptoKeyRequest) (*CryptoKey, error) {
5193	return nil, status.Errorf(codes.Unimplemented, "method GetCryptoKey not implemented")
5194}
5195func (*UnimplementedKeyManagementServiceServer) GetCryptoKeyVersion(context.Context, *GetCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5196	return nil, status.Errorf(codes.Unimplemented, "method GetCryptoKeyVersion not implemented")
5197}
5198func (*UnimplementedKeyManagementServiceServer) GetPublicKey(context.Context, *GetPublicKeyRequest) (*PublicKey, error) {
5199	return nil, status.Errorf(codes.Unimplemented, "method GetPublicKey not implemented")
5200}
5201func (*UnimplementedKeyManagementServiceServer) GetImportJob(context.Context, *GetImportJobRequest) (*ImportJob, error) {
5202	return nil, status.Errorf(codes.Unimplemented, "method GetImportJob not implemented")
5203}
5204func (*UnimplementedKeyManagementServiceServer) CreateKeyRing(context.Context, *CreateKeyRingRequest) (*KeyRing, error) {
5205	return nil, status.Errorf(codes.Unimplemented, "method CreateKeyRing not implemented")
5206}
5207func (*UnimplementedKeyManagementServiceServer) CreateCryptoKey(context.Context, *CreateCryptoKeyRequest) (*CryptoKey, error) {
5208	return nil, status.Errorf(codes.Unimplemented, "method CreateCryptoKey not implemented")
5209}
5210func (*UnimplementedKeyManagementServiceServer) CreateCryptoKeyVersion(context.Context, *CreateCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5211	return nil, status.Errorf(codes.Unimplemented, "method CreateCryptoKeyVersion not implemented")
5212}
5213func (*UnimplementedKeyManagementServiceServer) ImportCryptoKeyVersion(context.Context, *ImportCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5214	return nil, status.Errorf(codes.Unimplemented, "method ImportCryptoKeyVersion not implemented")
5215}
5216func (*UnimplementedKeyManagementServiceServer) CreateImportJob(context.Context, *CreateImportJobRequest) (*ImportJob, error) {
5217	return nil, status.Errorf(codes.Unimplemented, "method CreateImportJob not implemented")
5218}
5219func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKey(context.Context, *UpdateCryptoKeyRequest) (*CryptoKey, error) {
5220	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKey not implemented")
5221}
5222func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKeyVersion(context.Context, *UpdateCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5223	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKeyVersion not implemented")
5224}
5225func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKeyPrimaryVersion(context.Context, *UpdateCryptoKeyPrimaryVersionRequest) (*CryptoKey, error) {
5226	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKeyPrimaryVersion not implemented")
5227}
5228func (*UnimplementedKeyManagementServiceServer) DestroyCryptoKeyVersion(context.Context, *DestroyCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5229	return nil, status.Errorf(codes.Unimplemented, "method DestroyCryptoKeyVersion not implemented")
5230}
5231func (*UnimplementedKeyManagementServiceServer) RestoreCryptoKeyVersion(context.Context, *RestoreCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5232	return nil, status.Errorf(codes.Unimplemented, "method RestoreCryptoKeyVersion not implemented")
5233}
5234func (*UnimplementedKeyManagementServiceServer) Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error) {
5235	return nil, status.Errorf(codes.Unimplemented, "method Encrypt not implemented")
5236}
5237func (*UnimplementedKeyManagementServiceServer) Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error) {
5238	return nil, status.Errorf(codes.Unimplemented, "method Decrypt not implemented")
5239}
5240func (*UnimplementedKeyManagementServiceServer) AsymmetricSign(context.Context, *AsymmetricSignRequest) (*AsymmetricSignResponse, error) {
5241	return nil, status.Errorf(codes.Unimplemented, "method AsymmetricSign not implemented")
5242}
5243func (*UnimplementedKeyManagementServiceServer) AsymmetricDecrypt(context.Context, *AsymmetricDecryptRequest) (*AsymmetricDecryptResponse, error) {
5244	return nil, status.Errorf(codes.Unimplemented, "method AsymmetricDecrypt not implemented")
5245}
5246func (*UnimplementedKeyManagementServiceServer) MacSign(context.Context, *MacSignRequest) (*MacSignResponse, error) {
5247	return nil, status.Errorf(codes.Unimplemented, "method MacSign not implemented")
5248}
5249func (*UnimplementedKeyManagementServiceServer) MacVerify(context.Context, *MacVerifyRequest) (*MacVerifyResponse, error) {
5250	return nil, status.Errorf(codes.Unimplemented, "method MacVerify not implemented")
5251}
5252func (*UnimplementedKeyManagementServiceServer) GenerateRandomBytes(context.Context, *GenerateRandomBytesRequest) (*GenerateRandomBytesResponse, error) {
5253	return nil, status.Errorf(codes.Unimplemented, "method GenerateRandomBytes not implemented")
5254}
5255
5256func RegisterKeyManagementServiceServer(s *grpc.Server, srv KeyManagementServiceServer) {
5257	s.RegisterService(&_KeyManagementService_serviceDesc, srv)
5258}
5259
5260func _KeyManagementService_ListKeyRings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5261	in := new(ListKeyRingsRequest)
5262	if err := dec(in); err != nil {
5263		return nil, err
5264	}
5265	if interceptor == nil {
5266		return srv.(KeyManagementServiceServer).ListKeyRings(ctx, in)
5267	}
5268	info := &grpc.UnaryServerInfo{
5269		Server:     srv,
5270		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListKeyRings",
5271	}
5272	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5273		return srv.(KeyManagementServiceServer).ListKeyRings(ctx, req.(*ListKeyRingsRequest))
5274	}
5275	return interceptor(ctx, in, info, handler)
5276}
5277
5278func _KeyManagementService_ListCryptoKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5279	in := new(ListCryptoKeysRequest)
5280	if err := dec(in); err != nil {
5281		return nil, err
5282	}
5283	if interceptor == nil {
5284		return srv.(KeyManagementServiceServer).ListCryptoKeys(ctx, in)
5285	}
5286	info := &grpc.UnaryServerInfo{
5287		Server:     srv,
5288		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeys",
5289	}
5290	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5291		return srv.(KeyManagementServiceServer).ListCryptoKeys(ctx, req.(*ListCryptoKeysRequest))
5292	}
5293	return interceptor(ctx, in, info, handler)
5294}
5295
5296func _KeyManagementService_ListCryptoKeyVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5297	in := new(ListCryptoKeyVersionsRequest)
5298	if err := dec(in); err != nil {
5299		return nil, err
5300	}
5301	if interceptor == nil {
5302		return srv.(KeyManagementServiceServer).ListCryptoKeyVersions(ctx, in)
5303	}
5304	info := &grpc.UnaryServerInfo{
5305		Server:     srv,
5306		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeyVersions",
5307	}
5308	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5309		return srv.(KeyManagementServiceServer).ListCryptoKeyVersions(ctx, req.(*ListCryptoKeyVersionsRequest))
5310	}
5311	return interceptor(ctx, in, info, handler)
5312}
5313
5314func _KeyManagementService_ListImportJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5315	in := new(ListImportJobsRequest)
5316	if err := dec(in); err != nil {
5317		return nil, err
5318	}
5319	if interceptor == nil {
5320		return srv.(KeyManagementServiceServer).ListImportJobs(ctx, in)
5321	}
5322	info := &grpc.UnaryServerInfo{
5323		Server:     srv,
5324		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListImportJobs",
5325	}
5326	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5327		return srv.(KeyManagementServiceServer).ListImportJobs(ctx, req.(*ListImportJobsRequest))
5328	}
5329	return interceptor(ctx, in, info, handler)
5330}
5331
5332func _KeyManagementService_GetKeyRing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5333	in := new(GetKeyRingRequest)
5334	if err := dec(in); err != nil {
5335		return nil, err
5336	}
5337	if interceptor == nil {
5338		return srv.(KeyManagementServiceServer).GetKeyRing(ctx, in)
5339	}
5340	info := &grpc.UnaryServerInfo{
5341		Server:     srv,
5342		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetKeyRing",
5343	}
5344	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5345		return srv.(KeyManagementServiceServer).GetKeyRing(ctx, req.(*GetKeyRingRequest))
5346	}
5347	return interceptor(ctx, in, info, handler)
5348}
5349
5350func _KeyManagementService_GetCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5351	in := new(GetCryptoKeyRequest)
5352	if err := dec(in); err != nil {
5353		return nil, err
5354	}
5355	if interceptor == nil {
5356		return srv.(KeyManagementServiceServer).GetCryptoKey(ctx, in)
5357	}
5358	info := &grpc.UnaryServerInfo{
5359		Server:     srv,
5360		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetCryptoKey",
5361	}
5362	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5363		return srv.(KeyManagementServiceServer).GetCryptoKey(ctx, req.(*GetCryptoKeyRequest))
5364	}
5365	return interceptor(ctx, in, info, handler)
5366}
5367
5368func _KeyManagementService_GetCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5369	in := new(GetCryptoKeyVersionRequest)
5370	if err := dec(in); err != nil {
5371		return nil, err
5372	}
5373	if interceptor == nil {
5374		return srv.(KeyManagementServiceServer).GetCryptoKeyVersion(ctx, in)
5375	}
5376	info := &grpc.UnaryServerInfo{
5377		Server:     srv,
5378		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetCryptoKeyVersion",
5379	}
5380	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5381		return srv.(KeyManagementServiceServer).GetCryptoKeyVersion(ctx, req.(*GetCryptoKeyVersionRequest))
5382	}
5383	return interceptor(ctx, in, info, handler)
5384}
5385
5386func _KeyManagementService_GetPublicKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5387	in := new(GetPublicKeyRequest)
5388	if err := dec(in); err != nil {
5389		return nil, err
5390	}
5391	if interceptor == nil {
5392		return srv.(KeyManagementServiceServer).GetPublicKey(ctx, in)
5393	}
5394	info := &grpc.UnaryServerInfo{
5395		Server:     srv,
5396		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetPublicKey",
5397	}
5398	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5399		return srv.(KeyManagementServiceServer).GetPublicKey(ctx, req.(*GetPublicKeyRequest))
5400	}
5401	return interceptor(ctx, in, info, handler)
5402}
5403
5404func _KeyManagementService_GetImportJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5405	in := new(GetImportJobRequest)
5406	if err := dec(in); err != nil {
5407		return nil, err
5408	}
5409	if interceptor == nil {
5410		return srv.(KeyManagementServiceServer).GetImportJob(ctx, in)
5411	}
5412	info := &grpc.UnaryServerInfo{
5413		Server:     srv,
5414		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetImportJob",
5415	}
5416	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5417		return srv.(KeyManagementServiceServer).GetImportJob(ctx, req.(*GetImportJobRequest))
5418	}
5419	return interceptor(ctx, in, info, handler)
5420}
5421
5422func _KeyManagementService_CreateKeyRing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5423	in := new(CreateKeyRingRequest)
5424	if err := dec(in); err != nil {
5425		return nil, err
5426	}
5427	if interceptor == nil {
5428		return srv.(KeyManagementServiceServer).CreateKeyRing(ctx, in)
5429	}
5430	info := &grpc.UnaryServerInfo{
5431		Server:     srv,
5432		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateKeyRing",
5433	}
5434	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5435		return srv.(KeyManagementServiceServer).CreateKeyRing(ctx, req.(*CreateKeyRingRequest))
5436	}
5437	return interceptor(ctx, in, info, handler)
5438}
5439
5440func _KeyManagementService_CreateCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5441	in := new(CreateCryptoKeyRequest)
5442	if err := dec(in); err != nil {
5443		return nil, err
5444	}
5445	if interceptor == nil {
5446		return srv.(KeyManagementServiceServer).CreateCryptoKey(ctx, in)
5447	}
5448	info := &grpc.UnaryServerInfo{
5449		Server:     srv,
5450		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKey",
5451	}
5452	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5453		return srv.(KeyManagementServiceServer).CreateCryptoKey(ctx, req.(*CreateCryptoKeyRequest))
5454	}
5455	return interceptor(ctx, in, info, handler)
5456}
5457
5458func _KeyManagementService_CreateCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5459	in := new(CreateCryptoKeyVersionRequest)
5460	if err := dec(in); err != nil {
5461		return nil, err
5462	}
5463	if interceptor == nil {
5464		return srv.(KeyManagementServiceServer).CreateCryptoKeyVersion(ctx, in)
5465	}
5466	info := &grpc.UnaryServerInfo{
5467		Server:     srv,
5468		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKeyVersion",
5469	}
5470	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5471		return srv.(KeyManagementServiceServer).CreateCryptoKeyVersion(ctx, req.(*CreateCryptoKeyVersionRequest))
5472	}
5473	return interceptor(ctx, in, info, handler)
5474}
5475
5476func _KeyManagementService_ImportCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5477	in := new(ImportCryptoKeyVersionRequest)
5478	if err := dec(in); err != nil {
5479		return nil, err
5480	}
5481	if interceptor == nil {
5482		return srv.(KeyManagementServiceServer).ImportCryptoKeyVersion(ctx, in)
5483	}
5484	info := &grpc.UnaryServerInfo{
5485		Server:     srv,
5486		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ImportCryptoKeyVersion",
5487	}
5488	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5489		return srv.(KeyManagementServiceServer).ImportCryptoKeyVersion(ctx, req.(*ImportCryptoKeyVersionRequest))
5490	}
5491	return interceptor(ctx, in, info, handler)
5492}
5493
5494func _KeyManagementService_CreateImportJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5495	in := new(CreateImportJobRequest)
5496	if err := dec(in); err != nil {
5497		return nil, err
5498	}
5499	if interceptor == nil {
5500		return srv.(KeyManagementServiceServer).CreateImportJob(ctx, in)
5501	}
5502	info := &grpc.UnaryServerInfo{
5503		Server:     srv,
5504		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateImportJob",
5505	}
5506	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5507		return srv.(KeyManagementServiceServer).CreateImportJob(ctx, req.(*CreateImportJobRequest))
5508	}
5509	return interceptor(ctx, in, info, handler)
5510}
5511
5512func _KeyManagementService_UpdateCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5513	in := new(UpdateCryptoKeyRequest)
5514	if err := dec(in); err != nil {
5515		return nil, err
5516	}
5517	if interceptor == nil {
5518		return srv.(KeyManagementServiceServer).UpdateCryptoKey(ctx, in)
5519	}
5520	info := &grpc.UnaryServerInfo{
5521		Server:     srv,
5522		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKey",
5523	}
5524	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5525		return srv.(KeyManagementServiceServer).UpdateCryptoKey(ctx, req.(*UpdateCryptoKeyRequest))
5526	}
5527	return interceptor(ctx, in, info, handler)
5528}
5529
5530func _KeyManagementService_UpdateCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5531	in := new(UpdateCryptoKeyVersionRequest)
5532	if err := dec(in); err != nil {
5533		return nil, err
5534	}
5535	if interceptor == nil {
5536		return srv.(KeyManagementServiceServer).UpdateCryptoKeyVersion(ctx, in)
5537	}
5538	info := &grpc.UnaryServerInfo{
5539		Server:     srv,
5540		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyVersion",
5541	}
5542	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5543		return srv.(KeyManagementServiceServer).UpdateCryptoKeyVersion(ctx, req.(*UpdateCryptoKeyVersionRequest))
5544	}
5545	return interceptor(ctx, in, info, handler)
5546}
5547
5548func _KeyManagementService_UpdateCryptoKeyPrimaryVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5549	in := new(UpdateCryptoKeyPrimaryVersionRequest)
5550	if err := dec(in); err != nil {
5551		return nil, err
5552	}
5553	if interceptor == nil {
5554		return srv.(KeyManagementServiceServer).UpdateCryptoKeyPrimaryVersion(ctx, in)
5555	}
5556	info := &grpc.UnaryServerInfo{
5557		Server:     srv,
5558		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyPrimaryVersion",
5559	}
5560	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5561		return srv.(KeyManagementServiceServer).UpdateCryptoKeyPrimaryVersion(ctx, req.(*UpdateCryptoKeyPrimaryVersionRequest))
5562	}
5563	return interceptor(ctx, in, info, handler)
5564}
5565
5566func _KeyManagementService_DestroyCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5567	in := new(DestroyCryptoKeyVersionRequest)
5568	if err := dec(in); err != nil {
5569		return nil, err
5570	}
5571	if interceptor == nil {
5572		return srv.(KeyManagementServiceServer).DestroyCryptoKeyVersion(ctx, in)
5573	}
5574	info := &grpc.UnaryServerInfo{
5575		Server:     srv,
5576		FullMethod: "/google.cloud.kms.v1.KeyManagementService/DestroyCryptoKeyVersion",
5577	}
5578	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5579		return srv.(KeyManagementServiceServer).DestroyCryptoKeyVersion(ctx, req.(*DestroyCryptoKeyVersionRequest))
5580	}
5581	return interceptor(ctx, in, info, handler)
5582}
5583
5584func _KeyManagementService_RestoreCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5585	in := new(RestoreCryptoKeyVersionRequest)
5586	if err := dec(in); err != nil {
5587		return nil, err
5588	}
5589	if interceptor == nil {
5590		return srv.(KeyManagementServiceServer).RestoreCryptoKeyVersion(ctx, in)
5591	}
5592	info := &grpc.UnaryServerInfo{
5593		Server:     srv,
5594		FullMethod: "/google.cloud.kms.v1.KeyManagementService/RestoreCryptoKeyVersion",
5595	}
5596	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5597		return srv.(KeyManagementServiceServer).RestoreCryptoKeyVersion(ctx, req.(*RestoreCryptoKeyVersionRequest))
5598	}
5599	return interceptor(ctx, in, info, handler)
5600}
5601
5602func _KeyManagementService_Encrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5603	in := new(EncryptRequest)
5604	if err := dec(in); err != nil {
5605		return nil, err
5606	}
5607	if interceptor == nil {
5608		return srv.(KeyManagementServiceServer).Encrypt(ctx, in)
5609	}
5610	info := &grpc.UnaryServerInfo{
5611		Server:     srv,
5612		FullMethod: "/google.cloud.kms.v1.KeyManagementService/Encrypt",
5613	}
5614	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5615		return srv.(KeyManagementServiceServer).Encrypt(ctx, req.(*EncryptRequest))
5616	}
5617	return interceptor(ctx, in, info, handler)
5618}
5619
5620func _KeyManagementService_Decrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5621	in := new(DecryptRequest)
5622	if err := dec(in); err != nil {
5623		return nil, err
5624	}
5625	if interceptor == nil {
5626		return srv.(KeyManagementServiceServer).Decrypt(ctx, in)
5627	}
5628	info := &grpc.UnaryServerInfo{
5629		Server:     srv,
5630		FullMethod: "/google.cloud.kms.v1.KeyManagementService/Decrypt",
5631	}
5632	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5633		return srv.(KeyManagementServiceServer).Decrypt(ctx, req.(*DecryptRequest))
5634	}
5635	return interceptor(ctx, in, info, handler)
5636}
5637
5638func _KeyManagementService_AsymmetricSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5639	in := new(AsymmetricSignRequest)
5640	if err := dec(in); err != nil {
5641		return nil, err
5642	}
5643	if interceptor == nil {
5644		return srv.(KeyManagementServiceServer).AsymmetricSign(ctx, in)
5645	}
5646	info := &grpc.UnaryServerInfo{
5647		Server:     srv,
5648		FullMethod: "/google.cloud.kms.v1.KeyManagementService/AsymmetricSign",
5649	}
5650	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5651		return srv.(KeyManagementServiceServer).AsymmetricSign(ctx, req.(*AsymmetricSignRequest))
5652	}
5653	return interceptor(ctx, in, info, handler)
5654}
5655
5656func _KeyManagementService_AsymmetricDecrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5657	in := new(AsymmetricDecryptRequest)
5658	if err := dec(in); err != nil {
5659		return nil, err
5660	}
5661	if interceptor == nil {
5662		return srv.(KeyManagementServiceServer).AsymmetricDecrypt(ctx, in)
5663	}
5664	info := &grpc.UnaryServerInfo{
5665		Server:     srv,
5666		FullMethod: "/google.cloud.kms.v1.KeyManagementService/AsymmetricDecrypt",
5667	}
5668	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5669		return srv.(KeyManagementServiceServer).AsymmetricDecrypt(ctx, req.(*AsymmetricDecryptRequest))
5670	}
5671	return interceptor(ctx, in, info, handler)
5672}
5673
5674func _KeyManagementService_MacSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5675	in := new(MacSignRequest)
5676	if err := dec(in); err != nil {
5677		return nil, err
5678	}
5679	if interceptor == nil {
5680		return srv.(KeyManagementServiceServer).MacSign(ctx, in)
5681	}
5682	info := &grpc.UnaryServerInfo{
5683		Server:     srv,
5684		FullMethod: "/google.cloud.kms.v1.KeyManagementService/MacSign",
5685	}
5686	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5687		return srv.(KeyManagementServiceServer).MacSign(ctx, req.(*MacSignRequest))
5688	}
5689	return interceptor(ctx, in, info, handler)
5690}
5691
5692func _KeyManagementService_MacVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5693	in := new(MacVerifyRequest)
5694	if err := dec(in); err != nil {
5695		return nil, err
5696	}
5697	if interceptor == nil {
5698		return srv.(KeyManagementServiceServer).MacVerify(ctx, in)
5699	}
5700	info := &grpc.UnaryServerInfo{
5701		Server:     srv,
5702		FullMethod: "/google.cloud.kms.v1.KeyManagementService/MacVerify",
5703	}
5704	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5705		return srv.(KeyManagementServiceServer).MacVerify(ctx, req.(*MacVerifyRequest))
5706	}
5707	return interceptor(ctx, in, info, handler)
5708}
5709
5710func _KeyManagementService_GenerateRandomBytes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5711	in := new(GenerateRandomBytesRequest)
5712	if err := dec(in); err != nil {
5713		return nil, err
5714	}
5715	if interceptor == nil {
5716		return srv.(KeyManagementServiceServer).GenerateRandomBytes(ctx, in)
5717	}
5718	info := &grpc.UnaryServerInfo{
5719		Server:     srv,
5720		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GenerateRandomBytes",
5721	}
5722	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5723		return srv.(KeyManagementServiceServer).GenerateRandomBytes(ctx, req.(*GenerateRandomBytesRequest))
5724	}
5725	return interceptor(ctx, in, info, handler)
5726}
5727
5728var _KeyManagementService_serviceDesc = grpc.ServiceDesc{
5729	ServiceName: "google.cloud.kms.v1.KeyManagementService",
5730	HandlerType: (*KeyManagementServiceServer)(nil),
5731	Methods: []grpc.MethodDesc{
5732		{
5733			MethodName: "ListKeyRings",
5734			Handler:    _KeyManagementService_ListKeyRings_Handler,
5735		},
5736		{
5737			MethodName: "ListCryptoKeys",
5738			Handler:    _KeyManagementService_ListCryptoKeys_Handler,
5739		},
5740		{
5741			MethodName: "ListCryptoKeyVersions",
5742			Handler:    _KeyManagementService_ListCryptoKeyVersions_Handler,
5743		},
5744		{
5745			MethodName: "ListImportJobs",
5746			Handler:    _KeyManagementService_ListImportJobs_Handler,
5747		},
5748		{
5749			MethodName: "GetKeyRing",
5750			Handler:    _KeyManagementService_GetKeyRing_Handler,
5751		},
5752		{
5753			MethodName: "GetCryptoKey",
5754			Handler:    _KeyManagementService_GetCryptoKey_Handler,
5755		},
5756		{
5757			MethodName: "GetCryptoKeyVersion",
5758			Handler:    _KeyManagementService_GetCryptoKeyVersion_Handler,
5759		},
5760		{
5761			MethodName: "GetPublicKey",
5762			Handler:    _KeyManagementService_GetPublicKey_Handler,
5763		},
5764		{
5765			MethodName: "GetImportJob",
5766			Handler:    _KeyManagementService_GetImportJob_Handler,
5767		},
5768		{
5769			MethodName: "CreateKeyRing",
5770			Handler:    _KeyManagementService_CreateKeyRing_Handler,
5771		},
5772		{
5773			MethodName: "CreateCryptoKey",
5774			Handler:    _KeyManagementService_CreateCryptoKey_Handler,
5775		},
5776		{
5777			MethodName: "CreateCryptoKeyVersion",
5778			Handler:    _KeyManagementService_CreateCryptoKeyVersion_Handler,
5779		},
5780		{
5781			MethodName: "ImportCryptoKeyVersion",
5782			Handler:    _KeyManagementService_ImportCryptoKeyVersion_Handler,
5783		},
5784		{
5785			MethodName: "CreateImportJob",
5786			Handler:    _KeyManagementService_CreateImportJob_Handler,
5787		},
5788		{
5789			MethodName: "UpdateCryptoKey",
5790			Handler:    _KeyManagementService_UpdateCryptoKey_Handler,
5791		},
5792		{
5793			MethodName: "UpdateCryptoKeyVersion",
5794			Handler:    _KeyManagementService_UpdateCryptoKeyVersion_Handler,
5795		},
5796		{
5797			MethodName: "UpdateCryptoKeyPrimaryVersion",
5798			Handler:    _KeyManagementService_UpdateCryptoKeyPrimaryVersion_Handler,
5799		},
5800		{
5801			MethodName: "DestroyCryptoKeyVersion",
5802			Handler:    _KeyManagementService_DestroyCryptoKeyVersion_Handler,
5803		},
5804		{
5805			MethodName: "RestoreCryptoKeyVersion",
5806			Handler:    _KeyManagementService_RestoreCryptoKeyVersion_Handler,
5807		},
5808		{
5809			MethodName: "Encrypt",
5810			Handler:    _KeyManagementService_Encrypt_Handler,
5811		},
5812		{
5813			MethodName: "Decrypt",
5814			Handler:    _KeyManagementService_Decrypt_Handler,
5815		},
5816		{
5817			MethodName: "AsymmetricSign",
5818			Handler:    _KeyManagementService_AsymmetricSign_Handler,
5819		},
5820		{
5821			MethodName: "AsymmetricDecrypt",
5822			Handler:    _KeyManagementService_AsymmetricDecrypt_Handler,
5823		},
5824		{
5825			MethodName: "MacSign",
5826			Handler:    _KeyManagementService_MacSign_Handler,
5827		},
5828		{
5829			MethodName: "MacVerify",
5830			Handler:    _KeyManagementService_MacVerify_Handler,
5831		},
5832		{
5833			MethodName: "GenerateRandomBytes",
5834			Handler:    _KeyManagementService_GenerateRandomBytes_Handler,
5835		},
5836	},
5837	Streams:  []grpc.StreamDesc{},
5838	Metadata: "google/cloud/kms/v1/service.proto",
5839}
5840