1// Copyright 2020 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.25.0
18// 	protoc        v3.13.0
19// source: google/cloud/recaptchaenterprise/v1/recaptchaenterprise.proto
20
21package recaptchaenterprise
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	grpc "google.golang.org/grpc"
31	codes "google.golang.org/grpc/codes"
32	status "google.golang.org/grpc/status"
33	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
34	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
35	emptypb "google.golang.org/protobuf/types/known/emptypb"
36	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
37	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
38)
39
40const (
41	// Verify that this generated code is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
43	// Verify that runtime/protoimpl is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
45)
46
47// This is a compile-time assertion that a sufficiently up-to-date version
48// of the legacy proto package is being used.
49const _ = proto.ProtoPackageIsVersion4
50
51// Enum that reprensents the types of annotations.
52type AnnotateAssessmentRequest_Annotation int32
53
54const (
55	// Default unspecified type.
56	AnnotateAssessmentRequest_ANNOTATION_UNSPECIFIED AnnotateAssessmentRequest_Annotation = 0
57	// Provides information that the event turned out to be legitimate.
58	AnnotateAssessmentRequest_LEGITIMATE AnnotateAssessmentRequest_Annotation = 1
59	// Provides information that the event turned out to be fraudulent.
60	AnnotateAssessmentRequest_FRAUDULENT AnnotateAssessmentRequest_Annotation = 2
61	// Provides information that the event was related to a login event in which
62	// the user typed the correct password.
63	AnnotateAssessmentRequest_PASSWORD_CORRECT AnnotateAssessmentRequest_Annotation = 3
64	// Provides information that the event was related to a login event in which
65	// the user typed the incorrect password.
66	AnnotateAssessmentRequest_PASSWORD_INCORRECT AnnotateAssessmentRequest_Annotation = 4
67)
68
69// Enum value maps for AnnotateAssessmentRequest_Annotation.
70var (
71	AnnotateAssessmentRequest_Annotation_name = map[int32]string{
72		0: "ANNOTATION_UNSPECIFIED",
73		1: "LEGITIMATE",
74		2: "FRAUDULENT",
75		3: "PASSWORD_CORRECT",
76		4: "PASSWORD_INCORRECT",
77	}
78	AnnotateAssessmentRequest_Annotation_value = map[string]int32{
79		"ANNOTATION_UNSPECIFIED": 0,
80		"LEGITIMATE":             1,
81		"FRAUDULENT":             2,
82		"PASSWORD_CORRECT":       3,
83		"PASSWORD_INCORRECT":     4,
84	}
85)
86
87func (x AnnotateAssessmentRequest_Annotation) Enum() *AnnotateAssessmentRequest_Annotation {
88	p := new(AnnotateAssessmentRequest_Annotation)
89	*p = x
90	return p
91}
92
93func (x AnnotateAssessmentRequest_Annotation) String() string {
94	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
95}
96
97func (AnnotateAssessmentRequest_Annotation) Descriptor() protoreflect.EnumDescriptor {
98	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes[0].Descriptor()
99}
100
101func (AnnotateAssessmentRequest_Annotation) Type() protoreflect.EnumType {
102	return &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes[0]
103}
104
105func (x AnnotateAssessmentRequest_Annotation) Number() protoreflect.EnumNumber {
106	return protoreflect.EnumNumber(x)
107}
108
109// Deprecated: Use AnnotateAssessmentRequest_Annotation.Descriptor instead.
110func (AnnotateAssessmentRequest_Annotation) EnumDescriptor() ([]byte, []int) {
111	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{1, 0}
112}
113
114// LINT.IfChange(classification_reason)
115// Reasons contributing to the risk analysis verdict.
116type RiskAnalysis_ClassificationReason int32
117
118const (
119	// Default unspecified type.
120	RiskAnalysis_CLASSIFICATION_REASON_UNSPECIFIED RiskAnalysis_ClassificationReason = 0
121	// Interactions matched the behavior of an automated agent.
122	RiskAnalysis_AUTOMATION RiskAnalysis_ClassificationReason = 1
123	// The event originated from an illegitimate environment.
124	RiskAnalysis_UNEXPECTED_ENVIRONMENT RiskAnalysis_ClassificationReason = 2
125	// Traffic volume from the event source is higher than normal.
126	RiskAnalysis_TOO_MUCH_TRAFFIC RiskAnalysis_ClassificationReason = 3
127	// Interactions with the site were significantly different than expected
128	// patterns.
129	RiskAnalysis_UNEXPECTED_USAGE_PATTERNS RiskAnalysis_ClassificationReason = 4
130	// Too little traffic has been received from this site thus far to generate
131	// quality risk analysis.
132	RiskAnalysis_LOW_CONFIDENCE_SCORE RiskAnalysis_ClassificationReason = 5
133)
134
135// Enum value maps for RiskAnalysis_ClassificationReason.
136var (
137	RiskAnalysis_ClassificationReason_name = map[int32]string{
138		0: "CLASSIFICATION_REASON_UNSPECIFIED",
139		1: "AUTOMATION",
140		2: "UNEXPECTED_ENVIRONMENT",
141		3: "TOO_MUCH_TRAFFIC",
142		4: "UNEXPECTED_USAGE_PATTERNS",
143		5: "LOW_CONFIDENCE_SCORE",
144	}
145	RiskAnalysis_ClassificationReason_value = map[string]int32{
146		"CLASSIFICATION_REASON_UNSPECIFIED": 0,
147		"AUTOMATION":                        1,
148		"UNEXPECTED_ENVIRONMENT":            2,
149		"TOO_MUCH_TRAFFIC":                  3,
150		"UNEXPECTED_USAGE_PATTERNS":         4,
151		"LOW_CONFIDENCE_SCORE":              5,
152	}
153)
154
155func (x RiskAnalysis_ClassificationReason) Enum() *RiskAnalysis_ClassificationReason {
156	p := new(RiskAnalysis_ClassificationReason)
157	*p = x
158	return p
159}
160
161func (x RiskAnalysis_ClassificationReason) String() string {
162	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
163}
164
165func (RiskAnalysis_ClassificationReason) Descriptor() protoreflect.EnumDescriptor {
166	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes[1].Descriptor()
167}
168
169func (RiskAnalysis_ClassificationReason) Type() protoreflect.EnumType {
170	return &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes[1]
171}
172
173func (x RiskAnalysis_ClassificationReason) Number() protoreflect.EnumNumber {
174	return protoreflect.EnumNumber(x)
175}
176
177// Deprecated: Use RiskAnalysis_ClassificationReason.Descriptor instead.
178func (RiskAnalysis_ClassificationReason) EnumDescriptor() ([]byte, []int) {
179	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{5, 0}
180}
181
182// LINT.IfChange
183// Enum that represents the types of invalid token reasons.
184type TokenProperties_InvalidReason int32
185
186const (
187	// Default unspecified type.
188	TokenProperties_INVALID_REASON_UNSPECIFIED TokenProperties_InvalidReason = 0
189	// If the failure reason was not accounted for.
190	TokenProperties_UNKNOWN_INVALID_REASON TokenProperties_InvalidReason = 1
191	// The provided user verification token was malformed.
192	TokenProperties_MALFORMED TokenProperties_InvalidReason = 2
193	// The user verification token had expired.
194	TokenProperties_EXPIRED TokenProperties_InvalidReason = 3
195	// The user verification had already been seen.
196	TokenProperties_DUPE TokenProperties_InvalidReason = 4
197	// The user verification token was not present.
198	TokenProperties_MISSING TokenProperties_InvalidReason = 5
199)
200
201// Enum value maps for TokenProperties_InvalidReason.
202var (
203	TokenProperties_InvalidReason_name = map[int32]string{
204		0: "INVALID_REASON_UNSPECIFIED",
205		1: "UNKNOWN_INVALID_REASON",
206		2: "MALFORMED",
207		3: "EXPIRED",
208		4: "DUPE",
209		5: "MISSING",
210	}
211	TokenProperties_InvalidReason_value = map[string]int32{
212		"INVALID_REASON_UNSPECIFIED": 0,
213		"UNKNOWN_INVALID_REASON":     1,
214		"MALFORMED":                  2,
215		"EXPIRED":                    3,
216		"DUPE":                       4,
217		"MISSING":                    5,
218	}
219)
220
221func (x TokenProperties_InvalidReason) Enum() *TokenProperties_InvalidReason {
222	p := new(TokenProperties_InvalidReason)
223	*p = x
224	return p
225}
226
227func (x TokenProperties_InvalidReason) String() string {
228	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
229}
230
231func (TokenProperties_InvalidReason) Descriptor() protoreflect.EnumDescriptor {
232	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes[2].Descriptor()
233}
234
235func (TokenProperties_InvalidReason) Type() protoreflect.EnumType {
236	return &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes[2]
237}
238
239func (x TokenProperties_InvalidReason) Number() protoreflect.EnumNumber {
240	return protoreflect.EnumNumber(x)
241}
242
243// Deprecated: Use TokenProperties_InvalidReason.Descriptor instead.
244func (TokenProperties_InvalidReason) EnumDescriptor() ([]byte, []int) {
245	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{6, 0}
246}
247
248// Enum that represents the integration types for web keys.
249type WebKeySettings_IntegrationType int32
250
251const (
252	// Default type that indicates this enum hasn't been specified. This is not
253	// a valid IntegrationType, one of the other types must be specified
254	// instead.
255	WebKeySettings_INTEGRATION_TYPE_UNSPECIFIED WebKeySettings_IntegrationType = 0
256	// Only used to produce scores. It doesn't display the "I'm not a robot"
257	// checkbox and never shows captcha challenges.
258	WebKeySettings_SCORE WebKeySettings_IntegrationType = 1
259	// Displays the "I'm not a robot" checkbox and may show captcha challenges
260	// after it is checked.
261	WebKeySettings_CHECKBOX WebKeySettings_IntegrationType = 2
262	// Doesn't display the "I'm not a robot" checkbox, but may show captcha
263	// challenges after risk analysis.
264	WebKeySettings_INVISIBLE WebKeySettings_IntegrationType = 3
265)
266
267// Enum value maps for WebKeySettings_IntegrationType.
268var (
269	WebKeySettings_IntegrationType_name = map[int32]string{
270		0: "INTEGRATION_TYPE_UNSPECIFIED",
271		1: "SCORE",
272		2: "CHECKBOX",
273		3: "INVISIBLE",
274	}
275	WebKeySettings_IntegrationType_value = map[string]int32{
276		"INTEGRATION_TYPE_UNSPECIFIED": 0,
277		"SCORE":                        1,
278		"CHECKBOX":                     2,
279		"INVISIBLE":                    3,
280	}
281)
282
283func (x WebKeySettings_IntegrationType) Enum() *WebKeySettings_IntegrationType {
284	p := new(WebKeySettings_IntegrationType)
285	*p = x
286	return p
287}
288
289func (x WebKeySettings_IntegrationType) String() string {
290	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
291}
292
293func (WebKeySettings_IntegrationType) Descriptor() protoreflect.EnumDescriptor {
294	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes[3].Descriptor()
295}
296
297func (WebKeySettings_IntegrationType) Type() protoreflect.EnumType {
298	return &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes[3]
299}
300
301func (x WebKeySettings_IntegrationType) Number() protoreflect.EnumNumber {
302	return protoreflect.EnumNumber(x)
303}
304
305// Deprecated: Use WebKeySettings_IntegrationType.Descriptor instead.
306func (WebKeySettings_IntegrationType) EnumDescriptor() ([]byte, []int) {
307	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{14, 0}
308}
309
310// Enum that represents the possible challenge frequency and difficulty
311// configurations for a web key.
312type WebKeySettings_ChallengeSecurityPreference int32
313
314const (
315	// Default type that indicates this enum hasn't been specified.
316	WebKeySettings_CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED WebKeySettings_ChallengeSecurityPreference = 0
317	// Key tends to show fewer and easier challenges.
318	WebKeySettings_USABILITY WebKeySettings_ChallengeSecurityPreference = 1
319	// Key tends to show balanced (in amount and difficulty) challenges.
320	WebKeySettings_BALANCE WebKeySettings_ChallengeSecurityPreference = 2
321	// Key tends to show more and harder challenges.
322	WebKeySettings_SECURITY WebKeySettings_ChallengeSecurityPreference = 3
323)
324
325// Enum value maps for WebKeySettings_ChallengeSecurityPreference.
326var (
327	WebKeySettings_ChallengeSecurityPreference_name = map[int32]string{
328		0: "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED",
329		1: "USABILITY",
330		2: "BALANCE",
331		3: "SECURITY",
332	}
333	WebKeySettings_ChallengeSecurityPreference_value = map[string]int32{
334		"CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED": 0,
335		"USABILITY": 1,
336		"BALANCE":   2,
337		"SECURITY":  3,
338	}
339)
340
341func (x WebKeySettings_ChallengeSecurityPreference) Enum() *WebKeySettings_ChallengeSecurityPreference {
342	p := new(WebKeySettings_ChallengeSecurityPreference)
343	*p = x
344	return p
345}
346
347func (x WebKeySettings_ChallengeSecurityPreference) String() string {
348	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
349}
350
351func (WebKeySettings_ChallengeSecurityPreference) Descriptor() protoreflect.EnumDescriptor {
352	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes[4].Descriptor()
353}
354
355func (WebKeySettings_ChallengeSecurityPreference) Type() protoreflect.EnumType {
356	return &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes[4]
357}
358
359func (x WebKeySettings_ChallengeSecurityPreference) Number() protoreflect.EnumNumber {
360	return protoreflect.EnumNumber(x)
361}
362
363// Deprecated: Use WebKeySettings_ChallengeSecurityPreference.Descriptor instead.
364func (WebKeySettings_ChallengeSecurityPreference) EnumDescriptor() ([]byte, []int) {
365	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{14, 1}
366}
367
368// The create assessment request message.
369type CreateAssessmentRequest struct {
370	state         protoimpl.MessageState
371	sizeCache     protoimpl.SizeCache
372	unknownFields protoimpl.UnknownFields
373
374	// Required. The name of the project in which the assessment will be created,
375	// in the format "projects/{project}".
376	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
377	// Required. The assessment details.
378	Assessment *Assessment `protobuf:"bytes,2,opt,name=assessment,proto3" json:"assessment,omitempty"`
379}
380
381func (x *CreateAssessmentRequest) Reset() {
382	*x = CreateAssessmentRequest{}
383	if protoimpl.UnsafeEnabled {
384		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[0]
385		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
386		ms.StoreMessageInfo(mi)
387	}
388}
389
390func (x *CreateAssessmentRequest) String() string {
391	return protoimpl.X.MessageStringOf(x)
392}
393
394func (*CreateAssessmentRequest) ProtoMessage() {}
395
396func (x *CreateAssessmentRequest) ProtoReflect() protoreflect.Message {
397	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[0]
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 CreateAssessmentRequest.ProtoReflect.Descriptor instead.
409func (*CreateAssessmentRequest) Descriptor() ([]byte, []int) {
410	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{0}
411}
412
413func (x *CreateAssessmentRequest) GetParent() string {
414	if x != nil {
415		return x.Parent
416	}
417	return ""
418}
419
420func (x *CreateAssessmentRequest) GetAssessment() *Assessment {
421	if x != nil {
422		return x.Assessment
423	}
424	return nil
425}
426
427// The request message to annotate an Assessment.
428type AnnotateAssessmentRequest struct {
429	state         protoimpl.MessageState
430	sizeCache     protoimpl.SizeCache
431	unknownFields protoimpl.UnknownFields
432
433	// Required. The resource name of the Assessment, in the format
434	// "projects/{project}/assessments/{assessment}".
435	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
436	// Required. The annotation that will be assigned to the Event.
437	Annotation AnnotateAssessmentRequest_Annotation `protobuf:"varint,2,opt,name=annotation,proto3,enum=google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest_Annotation" json:"annotation,omitempty"`
438}
439
440func (x *AnnotateAssessmentRequest) Reset() {
441	*x = AnnotateAssessmentRequest{}
442	if protoimpl.UnsafeEnabled {
443		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[1]
444		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
445		ms.StoreMessageInfo(mi)
446	}
447}
448
449func (x *AnnotateAssessmentRequest) String() string {
450	return protoimpl.X.MessageStringOf(x)
451}
452
453func (*AnnotateAssessmentRequest) ProtoMessage() {}
454
455func (x *AnnotateAssessmentRequest) ProtoReflect() protoreflect.Message {
456	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[1]
457	if protoimpl.UnsafeEnabled && x != nil {
458		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
459		if ms.LoadMessageInfo() == nil {
460			ms.StoreMessageInfo(mi)
461		}
462		return ms
463	}
464	return mi.MessageOf(x)
465}
466
467// Deprecated: Use AnnotateAssessmentRequest.ProtoReflect.Descriptor instead.
468func (*AnnotateAssessmentRequest) Descriptor() ([]byte, []int) {
469	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{1}
470}
471
472func (x *AnnotateAssessmentRequest) GetName() string {
473	if x != nil {
474		return x.Name
475	}
476	return ""
477}
478
479func (x *AnnotateAssessmentRequest) GetAnnotation() AnnotateAssessmentRequest_Annotation {
480	if x != nil {
481		return x.Annotation
482	}
483	return AnnotateAssessmentRequest_ANNOTATION_UNSPECIFIED
484}
485
486// Empty response for AnnotateAssessment.
487type AnnotateAssessmentResponse struct {
488	state         protoimpl.MessageState
489	sizeCache     protoimpl.SizeCache
490	unknownFields protoimpl.UnknownFields
491}
492
493func (x *AnnotateAssessmentResponse) Reset() {
494	*x = AnnotateAssessmentResponse{}
495	if protoimpl.UnsafeEnabled {
496		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[2]
497		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
498		ms.StoreMessageInfo(mi)
499	}
500}
501
502func (x *AnnotateAssessmentResponse) String() string {
503	return protoimpl.X.MessageStringOf(x)
504}
505
506func (*AnnotateAssessmentResponse) ProtoMessage() {}
507
508func (x *AnnotateAssessmentResponse) ProtoReflect() protoreflect.Message {
509	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[2]
510	if protoimpl.UnsafeEnabled && x != nil {
511		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
512		if ms.LoadMessageInfo() == nil {
513			ms.StoreMessageInfo(mi)
514		}
515		return ms
516	}
517	return mi.MessageOf(x)
518}
519
520// Deprecated: Use AnnotateAssessmentResponse.ProtoReflect.Descriptor instead.
521func (*AnnotateAssessmentResponse) Descriptor() ([]byte, []int) {
522	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{2}
523}
524
525// A recaptcha assessment resource.
526type Assessment struct {
527	state         protoimpl.MessageState
528	sizeCache     protoimpl.SizeCache
529	unknownFields protoimpl.UnknownFields
530
531	// Output only. The resource name for the Assessment in the format
532	// "projects/{project}/assessments/{assessment}".
533	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
534	// The event being assessed.
535	Event *Event `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"`
536	// Output only. The risk analysis result for the event being assessed.
537	RiskAnalysis *RiskAnalysis `protobuf:"bytes,3,opt,name=risk_analysis,json=riskAnalysis,proto3" json:"risk_analysis,omitempty"`
538	// Output only. Properties of the provided event token.
539	TokenProperties *TokenProperties `protobuf:"bytes,4,opt,name=token_properties,json=tokenProperties,proto3" json:"token_properties,omitempty"`
540}
541
542func (x *Assessment) Reset() {
543	*x = Assessment{}
544	if protoimpl.UnsafeEnabled {
545		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[3]
546		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
547		ms.StoreMessageInfo(mi)
548	}
549}
550
551func (x *Assessment) String() string {
552	return protoimpl.X.MessageStringOf(x)
553}
554
555func (*Assessment) ProtoMessage() {}
556
557func (x *Assessment) ProtoReflect() protoreflect.Message {
558	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[3]
559	if protoimpl.UnsafeEnabled && x != nil {
560		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
561		if ms.LoadMessageInfo() == nil {
562			ms.StoreMessageInfo(mi)
563		}
564		return ms
565	}
566	return mi.MessageOf(x)
567}
568
569// Deprecated: Use Assessment.ProtoReflect.Descriptor instead.
570func (*Assessment) Descriptor() ([]byte, []int) {
571	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{3}
572}
573
574func (x *Assessment) GetName() string {
575	if x != nil {
576		return x.Name
577	}
578	return ""
579}
580
581func (x *Assessment) GetEvent() *Event {
582	if x != nil {
583		return x.Event
584	}
585	return nil
586}
587
588func (x *Assessment) GetRiskAnalysis() *RiskAnalysis {
589	if x != nil {
590		return x.RiskAnalysis
591	}
592	return nil
593}
594
595func (x *Assessment) GetTokenProperties() *TokenProperties {
596	if x != nil {
597		return x.TokenProperties
598	}
599	return nil
600}
601
602type Event struct {
603	state         protoimpl.MessageState
604	sizeCache     protoimpl.SizeCache
605	unknownFields protoimpl.UnknownFields
606
607	// Optional. The user response token provided by the reCAPTCHA client-side integration
608	// on your site.
609	Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
610	// Optional. The site key that was used to invoke reCAPTCHA on your site and generate
611	// the token.
612	SiteKey string `protobuf:"bytes,2,opt,name=site_key,json=siteKey,proto3" json:"site_key,omitempty"`
613	// Optional. The user agent present in the request from the user's device related to
614	// this event.
615	UserAgent string `protobuf:"bytes,3,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
616	// Optional. The IP address in the request from the user's device related to this event.
617	UserIpAddress string `protobuf:"bytes,4,opt,name=user_ip_address,json=userIpAddress,proto3" json:"user_ip_address,omitempty"`
618	// Optional. The expected action for this type of event. This should be the same action
619	// provided at token generation time on client-side platforms already
620	// integrated with recaptcha enterprise.
621	ExpectedAction string `protobuf:"bytes,5,opt,name=expected_action,json=expectedAction,proto3" json:"expected_action,omitempty"`
622}
623
624func (x *Event) Reset() {
625	*x = Event{}
626	if protoimpl.UnsafeEnabled {
627		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[4]
628		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
629		ms.StoreMessageInfo(mi)
630	}
631}
632
633func (x *Event) String() string {
634	return protoimpl.X.MessageStringOf(x)
635}
636
637func (*Event) ProtoMessage() {}
638
639func (x *Event) ProtoReflect() protoreflect.Message {
640	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[4]
641	if protoimpl.UnsafeEnabled && x != nil {
642		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
643		if ms.LoadMessageInfo() == nil {
644			ms.StoreMessageInfo(mi)
645		}
646		return ms
647	}
648	return mi.MessageOf(x)
649}
650
651// Deprecated: Use Event.ProtoReflect.Descriptor instead.
652func (*Event) Descriptor() ([]byte, []int) {
653	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{4}
654}
655
656func (x *Event) GetToken() string {
657	if x != nil {
658		return x.Token
659	}
660	return ""
661}
662
663func (x *Event) GetSiteKey() string {
664	if x != nil {
665		return x.SiteKey
666	}
667	return ""
668}
669
670func (x *Event) GetUserAgent() string {
671	if x != nil {
672		return x.UserAgent
673	}
674	return ""
675}
676
677func (x *Event) GetUserIpAddress() string {
678	if x != nil {
679		return x.UserIpAddress
680	}
681	return ""
682}
683
684func (x *Event) GetExpectedAction() string {
685	if x != nil {
686		return x.ExpectedAction
687	}
688	return ""
689}
690
691// Risk analysis result for an event.
692type RiskAnalysis struct {
693	state         protoimpl.MessageState
694	sizeCache     protoimpl.SizeCache
695	unknownFields protoimpl.UnknownFields
696
697	// Legitimate event score from 0.0 to 1.0.
698	// (1.0 means very likely legitimate traffic while 0.0 means very likely
699	// non-legitimate traffic).
700	Score float32 `protobuf:"fixed32,1,opt,name=score,proto3" json:"score,omitempty"`
701	// Reasons contributing to the risk analysis verdict.
702	Reasons []RiskAnalysis_ClassificationReason `protobuf:"varint,2,rep,packed,name=reasons,proto3,enum=google.cloud.recaptchaenterprise.v1.RiskAnalysis_ClassificationReason" json:"reasons,omitempty"`
703}
704
705func (x *RiskAnalysis) Reset() {
706	*x = RiskAnalysis{}
707	if protoimpl.UnsafeEnabled {
708		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[5]
709		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
710		ms.StoreMessageInfo(mi)
711	}
712}
713
714func (x *RiskAnalysis) String() string {
715	return protoimpl.X.MessageStringOf(x)
716}
717
718func (*RiskAnalysis) ProtoMessage() {}
719
720func (x *RiskAnalysis) ProtoReflect() protoreflect.Message {
721	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[5]
722	if protoimpl.UnsafeEnabled && x != nil {
723		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
724		if ms.LoadMessageInfo() == nil {
725			ms.StoreMessageInfo(mi)
726		}
727		return ms
728	}
729	return mi.MessageOf(x)
730}
731
732// Deprecated: Use RiskAnalysis.ProtoReflect.Descriptor instead.
733func (*RiskAnalysis) Descriptor() ([]byte, []int) {
734	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{5}
735}
736
737func (x *RiskAnalysis) GetScore() float32 {
738	if x != nil {
739		return x.Score
740	}
741	return 0
742}
743
744func (x *RiskAnalysis) GetReasons() []RiskAnalysis_ClassificationReason {
745	if x != nil {
746		return x.Reasons
747	}
748	return nil
749}
750
751type TokenProperties struct {
752	state         protoimpl.MessageState
753	sizeCache     protoimpl.SizeCache
754	unknownFields protoimpl.UnknownFields
755
756	// Whether the provided user response token is valid. When valid = false, the
757	// reason could be specified in invalid_reason or it could also be due to
758	// a user failing to solve a challenge or a sitekey mismatch (i.e the sitekey
759	// used to generate the token was different than the one specified in the
760	// assessment).
761	Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
762	// Reason associated with the response when valid = false.
763	InvalidReason TokenProperties_InvalidReason `protobuf:"varint,2,opt,name=invalid_reason,json=invalidReason,proto3,enum=google.cloud.recaptchaenterprise.v1.TokenProperties_InvalidReason" json:"invalid_reason,omitempty"`
764	// The timestamp corresponding to the generation of the token.
765	CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
766	// The hostname of the page on which the token was generated.
767	Hostname string `protobuf:"bytes,4,opt,name=hostname,proto3" json:"hostname,omitempty"`
768	// Action name provided at token generation.
769	Action string `protobuf:"bytes,5,opt,name=action,proto3" json:"action,omitempty"`
770}
771
772func (x *TokenProperties) Reset() {
773	*x = TokenProperties{}
774	if protoimpl.UnsafeEnabled {
775		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[6]
776		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
777		ms.StoreMessageInfo(mi)
778	}
779}
780
781func (x *TokenProperties) String() string {
782	return protoimpl.X.MessageStringOf(x)
783}
784
785func (*TokenProperties) ProtoMessage() {}
786
787func (x *TokenProperties) ProtoReflect() protoreflect.Message {
788	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[6]
789	if protoimpl.UnsafeEnabled && x != nil {
790		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
791		if ms.LoadMessageInfo() == nil {
792			ms.StoreMessageInfo(mi)
793		}
794		return ms
795	}
796	return mi.MessageOf(x)
797}
798
799// Deprecated: Use TokenProperties.ProtoReflect.Descriptor instead.
800func (*TokenProperties) Descriptor() ([]byte, []int) {
801	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{6}
802}
803
804func (x *TokenProperties) GetValid() bool {
805	if x != nil {
806		return x.Valid
807	}
808	return false
809}
810
811func (x *TokenProperties) GetInvalidReason() TokenProperties_InvalidReason {
812	if x != nil {
813		return x.InvalidReason
814	}
815	return TokenProperties_INVALID_REASON_UNSPECIFIED
816}
817
818func (x *TokenProperties) GetCreateTime() *timestamppb.Timestamp {
819	if x != nil {
820		return x.CreateTime
821	}
822	return nil
823}
824
825func (x *TokenProperties) GetHostname() string {
826	if x != nil {
827		return x.Hostname
828	}
829	return ""
830}
831
832func (x *TokenProperties) GetAction() string {
833	if x != nil {
834		return x.Action
835	}
836	return ""
837}
838
839// The create key request message.
840type CreateKeyRequest struct {
841	state         protoimpl.MessageState
842	sizeCache     protoimpl.SizeCache
843	unknownFields protoimpl.UnknownFields
844
845	// Required. The name of the project in which the key will be created, in the
846	// format "projects/{project}".
847	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
848	// Required. Information to create a reCAPTCHA Enterprise key.
849	Key *Key `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
850}
851
852func (x *CreateKeyRequest) Reset() {
853	*x = CreateKeyRequest{}
854	if protoimpl.UnsafeEnabled {
855		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[7]
856		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
857		ms.StoreMessageInfo(mi)
858	}
859}
860
861func (x *CreateKeyRequest) String() string {
862	return protoimpl.X.MessageStringOf(x)
863}
864
865func (*CreateKeyRequest) ProtoMessage() {}
866
867func (x *CreateKeyRequest) ProtoReflect() protoreflect.Message {
868	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[7]
869	if protoimpl.UnsafeEnabled && x != nil {
870		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
871		if ms.LoadMessageInfo() == nil {
872			ms.StoreMessageInfo(mi)
873		}
874		return ms
875	}
876	return mi.MessageOf(x)
877}
878
879// Deprecated: Use CreateKeyRequest.ProtoReflect.Descriptor instead.
880func (*CreateKeyRequest) Descriptor() ([]byte, []int) {
881	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{7}
882}
883
884func (x *CreateKeyRequest) GetParent() string {
885	if x != nil {
886		return x.Parent
887	}
888	return ""
889}
890
891func (x *CreateKeyRequest) GetKey() *Key {
892	if x != nil {
893		return x.Key
894	}
895	return nil
896}
897
898// The list keys request message.
899type ListKeysRequest struct {
900	state         protoimpl.MessageState
901	sizeCache     protoimpl.SizeCache
902	unknownFields protoimpl.UnknownFields
903
904	// Required. The name of the project that contains the keys that will be
905	// listed, in the format "projects/{project}".
906	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
907	// Optional. The maximum number of keys to return. Default is 10. Max limit is
908	// 1000.
909	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
910	// Optional. The next_page_token value returned from a previous.
911	// ListKeysRequest, if any.
912	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
913}
914
915func (x *ListKeysRequest) Reset() {
916	*x = ListKeysRequest{}
917	if protoimpl.UnsafeEnabled {
918		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[8]
919		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
920		ms.StoreMessageInfo(mi)
921	}
922}
923
924func (x *ListKeysRequest) String() string {
925	return protoimpl.X.MessageStringOf(x)
926}
927
928func (*ListKeysRequest) ProtoMessage() {}
929
930func (x *ListKeysRequest) ProtoReflect() protoreflect.Message {
931	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[8]
932	if protoimpl.UnsafeEnabled && x != nil {
933		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
934		if ms.LoadMessageInfo() == nil {
935			ms.StoreMessageInfo(mi)
936		}
937		return ms
938	}
939	return mi.MessageOf(x)
940}
941
942// Deprecated: Use ListKeysRequest.ProtoReflect.Descriptor instead.
943func (*ListKeysRequest) Descriptor() ([]byte, []int) {
944	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{8}
945}
946
947func (x *ListKeysRequest) GetParent() string {
948	if x != nil {
949		return x.Parent
950	}
951	return ""
952}
953
954func (x *ListKeysRequest) GetPageSize() int32 {
955	if x != nil {
956		return x.PageSize
957	}
958	return 0
959}
960
961func (x *ListKeysRequest) GetPageToken() string {
962	if x != nil {
963		return x.PageToken
964	}
965	return ""
966}
967
968// Response to request to list keys in a project.
969type ListKeysResponse struct {
970	state         protoimpl.MessageState
971	sizeCache     protoimpl.SizeCache
972	unknownFields protoimpl.UnknownFields
973
974	// Key details.
975	Keys []*Key `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
976	// Token to retrieve the next page of results. It is set to empty if no keys
977	// remain in results.
978	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
979}
980
981func (x *ListKeysResponse) Reset() {
982	*x = ListKeysResponse{}
983	if protoimpl.UnsafeEnabled {
984		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[9]
985		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
986		ms.StoreMessageInfo(mi)
987	}
988}
989
990func (x *ListKeysResponse) String() string {
991	return protoimpl.X.MessageStringOf(x)
992}
993
994func (*ListKeysResponse) ProtoMessage() {}
995
996func (x *ListKeysResponse) ProtoReflect() protoreflect.Message {
997	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[9]
998	if protoimpl.UnsafeEnabled && x != nil {
999		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1000		if ms.LoadMessageInfo() == nil {
1001			ms.StoreMessageInfo(mi)
1002		}
1003		return ms
1004	}
1005	return mi.MessageOf(x)
1006}
1007
1008// Deprecated: Use ListKeysResponse.ProtoReflect.Descriptor instead.
1009func (*ListKeysResponse) Descriptor() ([]byte, []int) {
1010	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{9}
1011}
1012
1013func (x *ListKeysResponse) GetKeys() []*Key {
1014	if x != nil {
1015		return x.Keys
1016	}
1017	return nil
1018}
1019
1020func (x *ListKeysResponse) GetNextPageToken() string {
1021	if x != nil {
1022		return x.NextPageToken
1023	}
1024	return ""
1025}
1026
1027// The get key request message.
1028type GetKeyRequest struct {
1029	state         protoimpl.MessageState
1030	sizeCache     protoimpl.SizeCache
1031	unknownFields protoimpl.UnknownFields
1032
1033	// Required. The name of the requested key, in the format
1034	// "projects/{project}/keys/{key}".
1035	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1036}
1037
1038func (x *GetKeyRequest) Reset() {
1039	*x = GetKeyRequest{}
1040	if protoimpl.UnsafeEnabled {
1041		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[10]
1042		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1043		ms.StoreMessageInfo(mi)
1044	}
1045}
1046
1047func (x *GetKeyRequest) String() string {
1048	return protoimpl.X.MessageStringOf(x)
1049}
1050
1051func (*GetKeyRequest) ProtoMessage() {}
1052
1053func (x *GetKeyRequest) ProtoReflect() protoreflect.Message {
1054	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[10]
1055	if protoimpl.UnsafeEnabled && x != nil {
1056		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1057		if ms.LoadMessageInfo() == nil {
1058			ms.StoreMessageInfo(mi)
1059		}
1060		return ms
1061	}
1062	return mi.MessageOf(x)
1063}
1064
1065// Deprecated: Use GetKeyRequest.ProtoReflect.Descriptor instead.
1066func (*GetKeyRequest) Descriptor() ([]byte, []int) {
1067	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{10}
1068}
1069
1070func (x *GetKeyRequest) GetName() string {
1071	if x != nil {
1072		return x.Name
1073	}
1074	return ""
1075}
1076
1077// The update key request message.
1078type UpdateKeyRequest struct {
1079	state         protoimpl.MessageState
1080	sizeCache     protoimpl.SizeCache
1081	unknownFields protoimpl.UnknownFields
1082
1083	// Required. The key to update.
1084	Key *Key `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
1085	// Optional. The mask to control which field of the key get updated. If the mask is not
1086	// present, all fields will be updated.
1087	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1088}
1089
1090func (x *UpdateKeyRequest) Reset() {
1091	*x = UpdateKeyRequest{}
1092	if protoimpl.UnsafeEnabled {
1093		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[11]
1094		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1095		ms.StoreMessageInfo(mi)
1096	}
1097}
1098
1099func (x *UpdateKeyRequest) String() string {
1100	return protoimpl.X.MessageStringOf(x)
1101}
1102
1103func (*UpdateKeyRequest) ProtoMessage() {}
1104
1105func (x *UpdateKeyRequest) ProtoReflect() protoreflect.Message {
1106	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[11]
1107	if protoimpl.UnsafeEnabled && x != nil {
1108		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1109		if ms.LoadMessageInfo() == nil {
1110			ms.StoreMessageInfo(mi)
1111		}
1112		return ms
1113	}
1114	return mi.MessageOf(x)
1115}
1116
1117// Deprecated: Use UpdateKeyRequest.ProtoReflect.Descriptor instead.
1118func (*UpdateKeyRequest) Descriptor() ([]byte, []int) {
1119	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{11}
1120}
1121
1122func (x *UpdateKeyRequest) GetKey() *Key {
1123	if x != nil {
1124		return x.Key
1125	}
1126	return nil
1127}
1128
1129func (x *UpdateKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1130	if x != nil {
1131		return x.UpdateMask
1132	}
1133	return nil
1134}
1135
1136// The delete key request message.
1137type DeleteKeyRequest struct {
1138	state         protoimpl.MessageState
1139	sizeCache     protoimpl.SizeCache
1140	unknownFields protoimpl.UnknownFields
1141
1142	// Required. The name of the key to be deleted, in the format
1143	// "projects/{project}/keys/{key}".
1144	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1145}
1146
1147func (x *DeleteKeyRequest) Reset() {
1148	*x = DeleteKeyRequest{}
1149	if protoimpl.UnsafeEnabled {
1150		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[12]
1151		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1152		ms.StoreMessageInfo(mi)
1153	}
1154}
1155
1156func (x *DeleteKeyRequest) String() string {
1157	return protoimpl.X.MessageStringOf(x)
1158}
1159
1160func (*DeleteKeyRequest) ProtoMessage() {}
1161
1162func (x *DeleteKeyRequest) ProtoReflect() protoreflect.Message {
1163	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[12]
1164	if protoimpl.UnsafeEnabled && x != nil {
1165		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1166		if ms.LoadMessageInfo() == nil {
1167			ms.StoreMessageInfo(mi)
1168		}
1169		return ms
1170	}
1171	return mi.MessageOf(x)
1172}
1173
1174// Deprecated: Use DeleteKeyRequest.ProtoReflect.Descriptor instead.
1175func (*DeleteKeyRequest) Descriptor() ([]byte, []int) {
1176	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{12}
1177}
1178
1179func (x *DeleteKeyRequest) GetName() string {
1180	if x != nil {
1181		return x.Name
1182	}
1183	return ""
1184}
1185
1186// A key used to identify and configure applications (web and/or mobile) that
1187// use reCAPTCHA Enterprise.
1188type Key struct {
1189	state         protoimpl.MessageState
1190	sizeCache     protoimpl.SizeCache
1191	unknownFields protoimpl.UnknownFields
1192
1193	// The resource name for the Key in the format
1194	// "projects/{project}/keys/{key}".
1195	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1196	// Human-readable display name of this key. Modifiable by user.
1197	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
1198	// Platform specific settings for this key. The key can only be used on one
1199	// platform, the one it has settings for.
1200	//
1201	// Types that are assignable to PlatformSettings:
1202	//	*Key_WebSettings
1203	//	*Key_AndroidSettings
1204	//	*Key_IosSettings
1205	PlatformSettings isKey_PlatformSettings `protobuf_oneof:"platform_settings"`
1206	// Optional. See <a href="https://cloud.google.com/recaptcha-enterprise/docs/labels">
1207	// Creating and managing labels</a>.
1208	Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1209	// The timestamp corresponding to the creation of this Key.
1210	CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
1211}
1212
1213func (x *Key) Reset() {
1214	*x = Key{}
1215	if protoimpl.UnsafeEnabled {
1216		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[13]
1217		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1218		ms.StoreMessageInfo(mi)
1219	}
1220}
1221
1222func (x *Key) String() string {
1223	return protoimpl.X.MessageStringOf(x)
1224}
1225
1226func (*Key) ProtoMessage() {}
1227
1228func (x *Key) ProtoReflect() protoreflect.Message {
1229	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[13]
1230	if protoimpl.UnsafeEnabled && x != nil {
1231		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1232		if ms.LoadMessageInfo() == nil {
1233			ms.StoreMessageInfo(mi)
1234		}
1235		return ms
1236	}
1237	return mi.MessageOf(x)
1238}
1239
1240// Deprecated: Use Key.ProtoReflect.Descriptor instead.
1241func (*Key) Descriptor() ([]byte, []int) {
1242	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{13}
1243}
1244
1245func (x *Key) GetName() string {
1246	if x != nil {
1247		return x.Name
1248	}
1249	return ""
1250}
1251
1252func (x *Key) GetDisplayName() string {
1253	if x != nil {
1254		return x.DisplayName
1255	}
1256	return ""
1257}
1258
1259func (m *Key) GetPlatformSettings() isKey_PlatformSettings {
1260	if m != nil {
1261		return m.PlatformSettings
1262	}
1263	return nil
1264}
1265
1266func (x *Key) GetWebSettings() *WebKeySettings {
1267	if x, ok := x.GetPlatformSettings().(*Key_WebSettings); ok {
1268		return x.WebSettings
1269	}
1270	return nil
1271}
1272
1273func (x *Key) GetAndroidSettings() *AndroidKeySettings {
1274	if x, ok := x.GetPlatformSettings().(*Key_AndroidSettings); ok {
1275		return x.AndroidSettings
1276	}
1277	return nil
1278}
1279
1280func (x *Key) GetIosSettings() *IOSKeySettings {
1281	if x, ok := x.GetPlatformSettings().(*Key_IosSettings); ok {
1282		return x.IosSettings
1283	}
1284	return nil
1285}
1286
1287func (x *Key) GetLabels() map[string]string {
1288	if x != nil {
1289		return x.Labels
1290	}
1291	return nil
1292}
1293
1294func (x *Key) GetCreateTime() *timestamppb.Timestamp {
1295	if x != nil {
1296		return x.CreateTime
1297	}
1298	return nil
1299}
1300
1301type isKey_PlatformSettings interface {
1302	isKey_PlatformSettings()
1303}
1304
1305type Key_WebSettings struct {
1306	// Settings for keys that can be used by websites.
1307	WebSettings *WebKeySettings `protobuf:"bytes,3,opt,name=web_settings,json=webSettings,proto3,oneof"`
1308}
1309
1310type Key_AndroidSettings struct {
1311	// Settings for keys that can be used by Android apps.
1312	AndroidSettings *AndroidKeySettings `protobuf:"bytes,4,opt,name=android_settings,json=androidSettings,proto3,oneof"`
1313}
1314
1315type Key_IosSettings struct {
1316	// Settings for keys that can be used by iOS apps.
1317	IosSettings *IOSKeySettings `protobuf:"bytes,5,opt,name=ios_settings,json=iosSettings,proto3,oneof"`
1318}
1319
1320func (*Key_WebSettings) isKey_PlatformSettings() {}
1321
1322func (*Key_AndroidSettings) isKey_PlatformSettings() {}
1323
1324func (*Key_IosSettings) isKey_PlatformSettings() {}
1325
1326// Settings specific to keys that can be used by websites.
1327type WebKeySettings struct {
1328	state         protoimpl.MessageState
1329	sizeCache     protoimpl.SizeCache
1330	unknownFields protoimpl.UnknownFields
1331
1332	// If set to true, it means allowed_domains will not be enforced.
1333	AllowAllDomains bool `protobuf:"varint,3,opt,name=allow_all_domains,json=allowAllDomains,proto3" json:"allow_all_domains,omitempty"`
1334	// Domains or subdomains of websites allowed to use the key. All subdomains
1335	// of an allowed domain are automatically allowed. A valid domain requires a
1336	// host and must not include any path, port, query or fragment.
1337	// Examples: 'example.com' or 'subdomain.example.com'
1338	AllowedDomains []string `protobuf:"bytes,1,rep,name=allowed_domains,json=allowedDomains,proto3" json:"allowed_domains,omitempty"`
1339	// Required. Whether this key can be used on AMP (Accelerated Mobile Pages) websites.
1340	AllowAmpTraffic bool `protobuf:"varint,2,opt,name=allow_amp_traffic,json=allowAmpTraffic,proto3" json:"allow_amp_traffic,omitempty"`
1341	// Required. Describes how this key is integrated with the website.
1342	IntegrationType WebKeySettings_IntegrationType `protobuf:"varint,4,opt,name=integration_type,json=integrationType,proto3,enum=google.cloud.recaptchaenterprise.v1.WebKeySettings_IntegrationType" json:"integration_type,omitempty"`
1343	// Settings for the frequency and difficulty at which this key triggers
1344	// captcha challenges. This should only be specified for IntegrationTypes
1345	// CHECKBOX and INVISIBLE.
1346	ChallengeSecurityPreference WebKeySettings_ChallengeSecurityPreference `protobuf:"varint,5,opt,name=challenge_security_preference,json=challengeSecurityPreference,proto3,enum=google.cloud.recaptchaenterprise.v1.WebKeySettings_ChallengeSecurityPreference" json:"challenge_security_preference,omitempty"`
1347}
1348
1349func (x *WebKeySettings) Reset() {
1350	*x = WebKeySettings{}
1351	if protoimpl.UnsafeEnabled {
1352		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[14]
1353		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1354		ms.StoreMessageInfo(mi)
1355	}
1356}
1357
1358func (x *WebKeySettings) String() string {
1359	return protoimpl.X.MessageStringOf(x)
1360}
1361
1362func (*WebKeySettings) ProtoMessage() {}
1363
1364func (x *WebKeySettings) ProtoReflect() protoreflect.Message {
1365	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[14]
1366	if protoimpl.UnsafeEnabled && x != nil {
1367		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1368		if ms.LoadMessageInfo() == nil {
1369			ms.StoreMessageInfo(mi)
1370		}
1371		return ms
1372	}
1373	return mi.MessageOf(x)
1374}
1375
1376// Deprecated: Use WebKeySettings.ProtoReflect.Descriptor instead.
1377func (*WebKeySettings) Descriptor() ([]byte, []int) {
1378	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{14}
1379}
1380
1381func (x *WebKeySettings) GetAllowAllDomains() bool {
1382	if x != nil {
1383		return x.AllowAllDomains
1384	}
1385	return false
1386}
1387
1388func (x *WebKeySettings) GetAllowedDomains() []string {
1389	if x != nil {
1390		return x.AllowedDomains
1391	}
1392	return nil
1393}
1394
1395func (x *WebKeySettings) GetAllowAmpTraffic() bool {
1396	if x != nil {
1397		return x.AllowAmpTraffic
1398	}
1399	return false
1400}
1401
1402func (x *WebKeySettings) GetIntegrationType() WebKeySettings_IntegrationType {
1403	if x != nil {
1404		return x.IntegrationType
1405	}
1406	return WebKeySettings_INTEGRATION_TYPE_UNSPECIFIED
1407}
1408
1409func (x *WebKeySettings) GetChallengeSecurityPreference() WebKeySettings_ChallengeSecurityPreference {
1410	if x != nil {
1411		return x.ChallengeSecurityPreference
1412	}
1413	return WebKeySettings_CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED
1414}
1415
1416// Settings specific to keys that can be used by Android apps.
1417type AndroidKeySettings struct {
1418	state         protoimpl.MessageState
1419	sizeCache     protoimpl.SizeCache
1420	unknownFields protoimpl.UnknownFields
1421
1422	// Android package names of apps allowed to use the key.
1423	// Example: 'com.companyname.appname'
1424	AllowedPackageNames []string `protobuf:"bytes,1,rep,name=allowed_package_names,json=allowedPackageNames,proto3" json:"allowed_package_names,omitempty"`
1425}
1426
1427func (x *AndroidKeySettings) Reset() {
1428	*x = AndroidKeySettings{}
1429	if protoimpl.UnsafeEnabled {
1430		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[15]
1431		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1432		ms.StoreMessageInfo(mi)
1433	}
1434}
1435
1436func (x *AndroidKeySettings) String() string {
1437	return protoimpl.X.MessageStringOf(x)
1438}
1439
1440func (*AndroidKeySettings) ProtoMessage() {}
1441
1442func (x *AndroidKeySettings) ProtoReflect() protoreflect.Message {
1443	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[15]
1444	if protoimpl.UnsafeEnabled && x != nil {
1445		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1446		if ms.LoadMessageInfo() == nil {
1447			ms.StoreMessageInfo(mi)
1448		}
1449		return ms
1450	}
1451	return mi.MessageOf(x)
1452}
1453
1454// Deprecated: Use AndroidKeySettings.ProtoReflect.Descriptor instead.
1455func (*AndroidKeySettings) Descriptor() ([]byte, []int) {
1456	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{15}
1457}
1458
1459func (x *AndroidKeySettings) GetAllowedPackageNames() []string {
1460	if x != nil {
1461		return x.AllowedPackageNames
1462	}
1463	return nil
1464}
1465
1466// Settings specific to keys that can be used by iOS apps.
1467type IOSKeySettings struct {
1468	state         protoimpl.MessageState
1469	sizeCache     protoimpl.SizeCache
1470	unknownFields protoimpl.UnknownFields
1471
1472	// iOS bundle ids of apps allowed to use the key.
1473	// Example: 'com.companyname.productname.appname'
1474	AllowedBundleIds []string `protobuf:"bytes,1,rep,name=allowed_bundle_ids,json=allowedBundleIds,proto3" json:"allowed_bundle_ids,omitempty"`
1475}
1476
1477func (x *IOSKeySettings) Reset() {
1478	*x = IOSKeySettings{}
1479	if protoimpl.UnsafeEnabled {
1480		mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[16]
1481		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1482		ms.StoreMessageInfo(mi)
1483	}
1484}
1485
1486func (x *IOSKeySettings) String() string {
1487	return protoimpl.X.MessageStringOf(x)
1488}
1489
1490func (*IOSKeySettings) ProtoMessage() {}
1491
1492func (x *IOSKeySettings) ProtoReflect() protoreflect.Message {
1493	mi := &file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[16]
1494	if protoimpl.UnsafeEnabled && x != nil {
1495		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1496		if ms.LoadMessageInfo() == nil {
1497			ms.StoreMessageInfo(mi)
1498		}
1499		return ms
1500	}
1501	return mi.MessageOf(x)
1502}
1503
1504// Deprecated: Use IOSKeySettings.ProtoReflect.Descriptor instead.
1505func (*IOSKeySettings) Descriptor() ([]byte, []int) {
1506	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP(), []int{16}
1507}
1508
1509func (x *IOSKeySettings) GetAllowedBundleIds() []string {
1510	if x != nil {
1511		return x.AllowedBundleIds
1512	}
1513	return nil
1514}
1515
1516var File_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto protoreflect.FileDescriptor
1517
1518var file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDesc = []byte{
1519	0x0a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72,
1520	0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69,
1521	0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65,
1522	0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
1523	0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
1524	0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73,
1525	0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
1526	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
1527	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
1528	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
1529	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
1530	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f,
1531	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
1532	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
1533	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70,
1534	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
1535	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
1536	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
1537	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
1538	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61,
1539	0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
1540	0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
1541	0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f,
1542	0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
1543	0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
1544	0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
1545	0x12, 0x54, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02,
1546	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
1547	0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74,
1548	0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x73,
1549	0x73, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65,
1550	0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xce, 0x02, 0x0a, 0x19, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
1551	0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
1552	0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
1553	0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x72, 0x65, 0x63, 0x61,
1554	0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e,
1555	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41,
1556	0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
1557	0x6e, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
1558	0x01, 0x28, 0x0e, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1559	0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65,
1560	0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
1561	0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
1562	0x65, 0x73, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03,
1563	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
1564	0x76, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a,
1565	0x16, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50,
1566	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x45, 0x47,
1567	0x49, 0x54, 0x49, 0x4d, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x52, 0x41,
1568	0x55, 0x44, 0x55, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x53,
1569	0x53, 0x57, 0x4f, 0x52, 0x44, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12,
1570	0x16, 0x0a, 0x12, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x5f, 0x49, 0x4e, 0x43, 0x4f,
1571	0x52, 0x52, 0x45, 0x43, 0x54, 0x10, 0x04, 0x22, 0x1c, 0x0a, 0x1a, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
1572	0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
1573	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x03, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73,
1574	0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
1575	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a,
1576	0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
1577	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61,
1578	0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e,
1579	0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12,
1580	0x5b, 0x0a, 0x0d, 0x72, 0x69, 0x73, 0x6b, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
1581	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1582	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65,
1583	0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x69, 0x73,
1584	0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c,
1585	0x72, 0x69, 0x73, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x64, 0x0a, 0x10,
1586	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
1587	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1588	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65,
1589	0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b,
1590	0x65, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41,
1591	0x03, 0x52, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
1592	0x65, 0x73, 0x3a, 0x5f, 0xea, 0x41, 0x5c, 0x0a, 0x2d, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63,
1593	0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6f, 0x6f,
1594	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x73, 0x73, 0x65,
1595	0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
1596	0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x73,
1597	0x73, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65,
1598	0x6e, 0x74, 0x7d, 0x22, 0xc1, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a,
1599	0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
1600	0x01, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x08, 0x73, 0x69, 0x74, 0x65,
1601	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
1602	0x07, 0x73, 0x69, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72,
1603	0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
1604	0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x0f,
1605	0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
1606	0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72,
1607	0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x65, 0x78, 0x70,
1608	0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
1609	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65,
1610	0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc1, 0x02, 0x0a, 0x0c, 0x52, 0x69, 0x73, 0x6b,
1611	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72,
1612	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x60,
1613	0x0a, 0x07, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32,
1614	0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
1615	0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69,
1616	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x69, 0x73, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73,
1617	0x69, 0x73, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
1618	0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73,
1619	0x22, 0xb8, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
1620	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x4c, 0x41,
1621	0x53, 0x53, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x53,
1622	0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
1623	0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01,
1624	0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x45,
1625	0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10,
1626	0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x55, 0x43, 0x48, 0x5f, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43,
1627	0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44,
1628	0x5f, 0x55, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x54, 0x45, 0x52, 0x4e, 0x53, 0x10,
1629	0x04, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45,
1630	0x4e, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x10, 0x05, 0x22, 0x83, 0x03, 0x0a, 0x0f,
1631	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12,
1632	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
1633	0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x69, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64,
1634	0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e,
1635	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63,
1636	0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65,
1637	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
1638	0x69, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f,
1639	0x6e, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
1640	0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
1641	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
1642	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
1643	0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
1644	0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
1645	0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74,
1646	0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f,
1647	0x6e, 0x22, 0x7e, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x61, 0x73,
1648	0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45,
1649	0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
1650	0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x49, 0x4e,
1651	0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0d,
1652	0x0a, 0x09, 0x4d, 0x41, 0x4c, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a,
1653	0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x55,
1654	0x50, 0x45, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10,
1655	0x05, 0x22, 0xa0, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52,
1656	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
1657	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b,
1658	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e,
1659	0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
1660	0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72,
1661	0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
1662	0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1663	0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72,
1664	0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
1665	0x03, 0x6b, 0x65, 0x79, 0x22, 0xa4, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79,
1666	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
1667	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d,
1668	0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
1669	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
1670	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70,
1671	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
1672	0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70,
1673	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f,
1674	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
1675	0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x78, 0x0a, 0x10, 0x4c,
1676	0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
1677	0x3c, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e,
1678	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63,
1679	0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65,
1680	0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a,
1681	0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
1682	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
1683	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x53, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52,
1684	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
1685	0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x72, 0x65,
1686	0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73,
1687	0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
1688	0x2f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x10, 0x55,
1689	0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
1690	0x3f, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
1691	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61,
1692	0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e,
1693	0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79,
1694	0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
1695	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
1696	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73,
1697	0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61,
1698	0x73, 0x6b, 0x22, 0x56, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52,
1699	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
1700	0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x72, 0x65,
1701	0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73,
1702	0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
1703	0x2f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x05, 0x0a, 0x03, 0x4b,
1704	0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
1705	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,
1706	0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69,
1707	0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x0c, 0x77, 0x65, 0x62,
1708	0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
1709	0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
1710	0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69,
1711	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x74, 0x74,
1712	0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x65, 0x62, 0x53, 0x65, 0x74, 0x74, 0x69,
1713	0x6e, 0x67, 0x73, 0x12, 0x64, 0x0a, 0x10, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x73,
1714	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e,
1715	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63,
1716	0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65,
1717	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4b, 0x65, 0x79, 0x53, 0x65,
1718	0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
1719	0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x58, 0x0a, 0x0c, 0x69, 0x6f, 0x73,
1720	0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
1721	0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
1722	0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69,
1723	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x4f, 0x53, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x74, 0x74,
1724	0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6f, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69,
1725	0x6e, 0x67, 0x73, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20,
1726	0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1727	0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65,
1728	0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x2e, 0x4c, 0x61,
1729	0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06,
1730	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
1731	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
1732	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
1733	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
1734	0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
1735	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
1736	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
1737	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x4a,
1738	0xea, 0x41, 0x47, 0x0a, 0x26, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e,
1739	0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1740	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x70, 0x72, 0x6f,
1741	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,
1742	0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x7d, 0x42, 0x13, 0x0a, 0x11, 0x70, 0x6c,
1743	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22,
1744	0xf6, 0x04, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
1745	0x67, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x6c, 0x6c, 0x5f,
1746	0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61,
1747	0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x6c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x27,
1748	0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
1749	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
1750	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
1751	0x5f, 0x61, 0x6d, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01,
1752	0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6d,
1753	0x70, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x12, 0x73, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65,
1754	0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01,
1755	0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
1756	0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72,
1757	0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x53,
1758	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
1759	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x69, 0x6e,
1760	0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x93, 0x01,
1761	0x0a, 0x1d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75,
1762	0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18,
1763	0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
1764	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e,
1765	0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x4b,
1766	0x65, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c,
1767	0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x65, 0x66,
1768	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x1b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
1769	0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
1770	0x6e, 0x63, 0x65, 0x22, 0x5b, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69,
1771	0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52,
1772	0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
1773	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x43, 0x4f, 0x52,
1774	0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x42, 0x4f, 0x58, 0x10,
1775	0x02, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x56, 0x49, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x03,
1776	0x22, 0x76, 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x63,
1777	0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12,
1778	0x2d, 0x0a, 0x29, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x43,
1779	0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45,
1780	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d,
1781	0x0a, 0x09, 0x55, 0x53, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a,
1782	0x07, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x45,
1783	0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x10, 0x03, 0x22, 0x48, 0x0a, 0x12, 0x41, 0x6e, 0x64, 0x72,
1784	0x6f, 0x69, 0x64, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x32,
1785	0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
1786	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61,
1787	0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d,
1788	0x65, 0x73, 0x22, 0x3e, 0x0a, 0x0e, 0x49, 0x4f, 0x53, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x74, 0x74,
1789	0x69, 0x6e, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f,
1790	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
1791	0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49,
1792	0x64, 0x73, 0x32, 0x92, 0x0a, 0x0a, 0x1a, 0x52, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61,
1793	0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
1794	0x65, 0x12, 0xce, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65,
1795	0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1796	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65,
1797	0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65,
1798	0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
1799	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
1800	0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74,
1801	0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x73,
1802	0x73, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x22, 0x23, 0x2f,
1803	0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
1804	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e,
1805	0x74, 0x73, 0x3a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0xda, 0x41,
1806	0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65,
1807	0x6e, 0x74, 0x12, 0xe0, 0x01, 0x0a, 0x12, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x41,
1808	0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1809	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63,
1810	0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
1811	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65,
1812	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1813	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63,
1814	0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
1815	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65,
1816	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93,
1817	0x02, 0x31, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
1818	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d,
1819	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65,
1820	0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
1821	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x97, 0x01, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
1822	0x4b, 0x65, 0x79, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1823	0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65,
1824	0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
1825	0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
1826	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74,
1827	0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31,
1828	0x2e, 0x4b, 0x65, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1c, 0x2f, 0x76,
1829	0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
1830	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x3a, 0x03, 0x6b, 0x65, 0x79, 0x12,
1831	0x9d, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x34, 0x2e, 0x67,
1832	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61,
1833	0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e,
1834	0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
1835	0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
1836	0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72,
1837	0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79,
1838	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02,
1839	0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
1840	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x12,
1841	0x8c, 0x01, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
1842	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74,
1843	0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31,
1844	0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28,
1845	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
1846	0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73,
1847	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e,
1848	0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
1849	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x9b,
1850	0x01, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x2e, 0x67,
1851	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61,
1852	0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e,
1853	0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75,
1854	0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1855	0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65,
1856	0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x22, 0x2d, 0x82,
1857	0xd3, 0xe4, 0x93, 0x02, 0x27, 0x32, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x2e,
1858	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
1859	0x6b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x80, 0x01, 0x0a,
1860	0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f,
1861	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74,
1862	0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31,
1863	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
1864	0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1865	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02,
1866	0x1e, 0x2a, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
1867	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x1a,
1868	0x56, 0xca, 0x41, 0x22, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74,
1869	0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
1870	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
1871	0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
1872	0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70,
1873	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x93, 0x02, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e,
1874	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61,
1875	0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x18, 0x52,
1876	0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69,
1877	0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1878	0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e,
1879	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
1880	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61,
1881	0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x65,
1882	0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73,
1883	0x65, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x52, 0x45, 0xaa, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
1884	0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68,
1885	0x61, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02,
1886	0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65,
1887	0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73,
1888	0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x26, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43,
1889	0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x45,
1890	0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70,
1891	0x72, 0x6f, 0x74, 0x6f, 0x33,
1892}
1893
1894var (
1895	file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescOnce sync.Once
1896	file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescData = file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDesc
1897)
1898
1899func file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescGZIP() []byte {
1900	file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescOnce.Do(func() {
1901		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescData)
1902	})
1903	return file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDescData
1904}
1905
1906var file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
1907var file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
1908var file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_goTypes = []interface{}{
1909	(AnnotateAssessmentRequest_Annotation)(0),       // 0: google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest.Annotation
1910	(RiskAnalysis_ClassificationReason)(0),          // 1: google.cloud.recaptchaenterprise.v1.RiskAnalysis.ClassificationReason
1911	(TokenProperties_InvalidReason)(0),              // 2: google.cloud.recaptchaenterprise.v1.TokenProperties.InvalidReason
1912	(WebKeySettings_IntegrationType)(0),             // 3: google.cloud.recaptchaenterprise.v1.WebKeySettings.IntegrationType
1913	(WebKeySettings_ChallengeSecurityPreference)(0), // 4: google.cloud.recaptchaenterprise.v1.WebKeySettings.ChallengeSecurityPreference
1914	(*CreateAssessmentRequest)(nil),                 // 5: google.cloud.recaptchaenterprise.v1.CreateAssessmentRequest
1915	(*AnnotateAssessmentRequest)(nil),               // 6: google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest
1916	(*AnnotateAssessmentResponse)(nil),              // 7: google.cloud.recaptchaenterprise.v1.AnnotateAssessmentResponse
1917	(*Assessment)(nil),                              // 8: google.cloud.recaptchaenterprise.v1.Assessment
1918	(*Event)(nil),                                   // 9: google.cloud.recaptchaenterprise.v1.Event
1919	(*RiskAnalysis)(nil),                            // 10: google.cloud.recaptchaenterprise.v1.RiskAnalysis
1920	(*TokenProperties)(nil),                         // 11: google.cloud.recaptchaenterprise.v1.TokenProperties
1921	(*CreateKeyRequest)(nil),                        // 12: google.cloud.recaptchaenterprise.v1.CreateKeyRequest
1922	(*ListKeysRequest)(nil),                         // 13: google.cloud.recaptchaenterprise.v1.ListKeysRequest
1923	(*ListKeysResponse)(nil),                        // 14: google.cloud.recaptchaenterprise.v1.ListKeysResponse
1924	(*GetKeyRequest)(nil),                           // 15: google.cloud.recaptchaenterprise.v1.GetKeyRequest
1925	(*UpdateKeyRequest)(nil),                        // 16: google.cloud.recaptchaenterprise.v1.UpdateKeyRequest
1926	(*DeleteKeyRequest)(nil),                        // 17: google.cloud.recaptchaenterprise.v1.DeleteKeyRequest
1927	(*Key)(nil),                                     // 18: google.cloud.recaptchaenterprise.v1.Key
1928	(*WebKeySettings)(nil),                          // 19: google.cloud.recaptchaenterprise.v1.WebKeySettings
1929	(*AndroidKeySettings)(nil),                      // 20: google.cloud.recaptchaenterprise.v1.AndroidKeySettings
1930	(*IOSKeySettings)(nil),                          // 21: google.cloud.recaptchaenterprise.v1.IOSKeySettings
1931	nil,                                             // 22: google.cloud.recaptchaenterprise.v1.Key.LabelsEntry
1932	(*timestamppb.Timestamp)(nil),                   // 23: google.protobuf.Timestamp
1933	(*fieldmaskpb.FieldMask)(nil),                   // 24: google.protobuf.FieldMask
1934	(*emptypb.Empty)(nil),                           // 25: google.protobuf.Empty
1935}
1936var file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_depIdxs = []int32{
1937	8,  // 0: google.cloud.recaptchaenterprise.v1.CreateAssessmentRequest.assessment:type_name -> google.cloud.recaptchaenterprise.v1.Assessment
1938	0,  // 1: google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest.annotation:type_name -> google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest.Annotation
1939	9,  // 2: google.cloud.recaptchaenterprise.v1.Assessment.event:type_name -> google.cloud.recaptchaenterprise.v1.Event
1940	10, // 3: google.cloud.recaptchaenterprise.v1.Assessment.risk_analysis:type_name -> google.cloud.recaptchaenterprise.v1.RiskAnalysis
1941	11, // 4: google.cloud.recaptchaenterprise.v1.Assessment.token_properties:type_name -> google.cloud.recaptchaenterprise.v1.TokenProperties
1942	1,  // 5: google.cloud.recaptchaenterprise.v1.RiskAnalysis.reasons:type_name -> google.cloud.recaptchaenterprise.v1.RiskAnalysis.ClassificationReason
1943	2,  // 6: google.cloud.recaptchaenterprise.v1.TokenProperties.invalid_reason:type_name -> google.cloud.recaptchaenterprise.v1.TokenProperties.InvalidReason
1944	23, // 7: google.cloud.recaptchaenterprise.v1.TokenProperties.create_time:type_name -> google.protobuf.Timestamp
1945	18, // 8: google.cloud.recaptchaenterprise.v1.CreateKeyRequest.key:type_name -> google.cloud.recaptchaenterprise.v1.Key
1946	18, // 9: google.cloud.recaptchaenterprise.v1.ListKeysResponse.keys:type_name -> google.cloud.recaptchaenterprise.v1.Key
1947	18, // 10: google.cloud.recaptchaenterprise.v1.UpdateKeyRequest.key:type_name -> google.cloud.recaptchaenterprise.v1.Key
1948	24, // 11: google.cloud.recaptchaenterprise.v1.UpdateKeyRequest.update_mask:type_name -> google.protobuf.FieldMask
1949	19, // 12: google.cloud.recaptchaenterprise.v1.Key.web_settings:type_name -> google.cloud.recaptchaenterprise.v1.WebKeySettings
1950	20, // 13: google.cloud.recaptchaenterprise.v1.Key.android_settings:type_name -> google.cloud.recaptchaenterprise.v1.AndroidKeySettings
1951	21, // 14: google.cloud.recaptchaenterprise.v1.Key.ios_settings:type_name -> google.cloud.recaptchaenterprise.v1.IOSKeySettings
1952	22, // 15: google.cloud.recaptchaenterprise.v1.Key.labels:type_name -> google.cloud.recaptchaenterprise.v1.Key.LabelsEntry
1953	23, // 16: google.cloud.recaptchaenterprise.v1.Key.create_time:type_name -> google.protobuf.Timestamp
1954	3,  // 17: google.cloud.recaptchaenterprise.v1.WebKeySettings.integration_type:type_name -> google.cloud.recaptchaenterprise.v1.WebKeySettings.IntegrationType
1955	4,  // 18: google.cloud.recaptchaenterprise.v1.WebKeySettings.challenge_security_preference:type_name -> google.cloud.recaptchaenterprise.v1.WebKeySettings.ChallengeSecurityPreference
1956	5,  // 19: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.CreateAssessment:input_type -> google.cloud.recaptchaenterprise.v1.CreateAssessmentRequest
1957	6,  // 20: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.AnnotateAssessment:input_type -> google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest
1958	12, // 21: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.CreateKey:input_type -> google.cloud.recaptchaenterprise.v1.CreateKeyRequest
1959	13, // 22: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListKeys:input_type -> google.cloud.recaptchaenterprise.v1.ListKeysRequest
1960	15, // 23: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.GetKey:input_type -> google.cloud.recaptchaenterprise.v1.GetKeyRequest
1961	16, // 24: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.UpdateKey:input_type -> google.cloud.recaptchaenterprise.v1.UpdateKeyRequest
1962	17, // 25: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.DeleteKey:input_type -> google.cloud.recaptchaenterprise.v1.DeleteKeyRequest
1963	8,  // 26: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.CreateAssessment:output_type -> google.cloud.recaptchaenterprise.v1.Assessment
1964	7,  // 27: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.AnnotateAssessment:output_type -> google.cloud.recaptchaenterprise.v1.AnnotateAssessmentResponse
1965	18, // 28: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.CreateKey:output_type -> google.cloud.recaptchaenterprise.v1.Key
1966	14, // 29: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.ListKeys:output_type -> google.cloud.recaptchaenterprise.v1.ListKeysResponse
1967	18, // 30: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.GetKey:output_type -> google.cloud.recaptchaenterprise.v1.Key
1968	18, // 31: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.UpdateKey:output_type -> google.cloud.recaptchaenterprise.v1.Key
1969	25, // 32: google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService.DeleteKey:output_type -> google.protobuf.Empty
1970	26, // [26:33] is the sub-list for method output_type
1971	19, // [19:26] is the sub-list for method input_type
1972	19, // [19:19] is the sub-list for extension type_name
1973	19, // [19:19] is the sub-list for extension extendee
1974	0,  // [0:19] is the sub-list for field type_name
1975}
1976
1977func init() { file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_init() }
1978func file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_init() {
1979	if File_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto != nil {
1980		return
1981	}
1982	if !protoimpl.UnsafeEnabled {
1983		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1984			switch v := v.(*CreateAssessmentRequest); i {
1985			case 0:
1986				return &v.state
1987			case 1:
1988				return &v.sizeCache
1989			case 2:
1990				return &v.unknownFields
1991			default:
1992				return nil
1993			}
1994		}
1995		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1996			switch v := v.(*AnnotateAssessmentRequest); i {
1997			case 0:
1998				return &v.state
1999			case 1:
2000				return &v.sizeCache
2001			case 2:
2002				return &v.unknownFields
2003			default:
2004				return nil
2005			}
2006		}
2007		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2008			switch v := v.(*AnnotateAssessmentResponse); i {
2009			case 0:
2010				return &v.state
2011			case 1:
2012				return &v.sizeCache
2013			case 2:
2014				return &v.unknownFields
2015			default:
2016				return nil
2017			}
2018		}
2019		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2020			switch v := v.(*Assessment); i {
2021			case 0:
2022				return &v.state
2023			case 1:
2024				return &v.sizeCache
2025			case 2:
2026				return &v.unknownFields
2027			default:
2028				return nil
2029			}
2030		}
2031		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2032			switch v := v.(*Event); i {
2033			case 0:
2034				return &v.state
2035			case 1:
2036				return &v.sizeCache
2037			case 2:
2038				return &v.unknownFields
2039			default:
2040				return nil
2041			}
2042		}
2043		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2044			switch v := v.(*RiskAnalysis); i {
2045			case 0:
2046				return &v.state
2047			case 1:
2048				return &v.sizeCache
2049			case 2:
2050				return &v.unknownFields
2051			default:
2052				return nil
2053			}
2054		}
2055		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2056			switch v := v.(*TokenProperties); i {
2057			case 0:
2058				return &v.state
2059			case 1:
2060				return &v.sizeCache
2061			case 2:
2062				return &v.unknownFields
2063			default:
2064				return nil
2065			}
2066		}
2067		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2068			switch v := v.(*CreateKeyRequest); i {
2069			case 0:
2070				return &v.state
2071			case 1:
2072				return &v.sizeCache
2073			case 2:
2074				return &v.unknownFields
2075			default:
2076				return nil
2077			}
2078		}
2079		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2080			switch v := v.(*ListKeysRequest); i {
2081			case 0:
2082				return &v.state
2083			case 1:
2084				return &v.sizeCache
2085			case 2:
2086				return &v.unknownFields
2087			default:
2088				return nil
2089			}
2090		}
2091		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2092			switch v := v.(*ListKeysResponse); i {
2093			case 0:
2094				return &v.state
2095			case 1:
2096				return &v.sizeCache
2097			case 2:
2098				return &v.unknownFields
2099			default:
2100				return nil
2101			}
2102		}
2103		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2104			switch v := v.(*GetKeyRequest); i {
2105			case 0:
2106				return &v.state
2107			case 1:
2108				return &v.sizeCache
2109			case 2:
2110				return &v.unknownFields
2111			default:
2112				return nil
2113			}
2114		}
2115		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2116			switch v := v.(*UpdateKeyRequest); i {
2117			case 0:
2118				return &v.state
2119			case 1:
2120				return &v.sizeCache
2121			case 2:
2122				return &v.unknownFields
2123			default:
2124				return nil
2125			}
2126		}
2127		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2128			switch v := v.(*DeleteKeyRequest); i {
2129			case 0:
2130				return &v.state
2131			case 1:
2132				return &v.sizeCache
2133			case 2:
2134				return &v.unknownFields
2135			default:
2136				return nil
2137			}
2138		}
2139		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2140			switch v := v.(*Key); i {
2141			case 0:
2142				return &v.state
2143			case 1:
2144				return &v.sizeCache
2145			case 2:
2146				return &v.unknownFields
2147			default:
2148				return nil
2149			}
2150		}
2151		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2152			switch v := v.(*WebKeySettings); i {
2153			case 0:
2154				return &v.state
2155			case 1:
2156				return &v.sizeCache
2157			case 2:
2158				return &v.unknownFields
2159			default:
2160				return nil
2161			}
2162		}
2163		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2164			switch v := v.(*AndroidKeySettings); i {
2165			case 0:
2166				return &v.state
2167			case 1:
2168				return &v.sizeCache
2169			case 2:
2170				return &v.unknownFields
2171			default:
2172				return nil
2173			}
2174		}
2175		file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2176			switch v := v.(*IOSKeySettings); i {
2177			case 0:
2178				return &v.state
2179			case 1:
2180				return &v.sizeCache
2181			case 2:
2182				return &v.unknownFields
2183			default:
2184				return nil
2185			}
2186		}
2187	}
2188	file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes[13].OneofWrappers = []interface{}{
2189		(*Key_WebSettings)(nil),
2190		(*Key_AndroidSettings)(nil),
2191		(*Key_IosSettings)(nil),
2192	}
2193	type x struct{}
2194	out := protoimpl.TypeBuilder{
2195		File: protoimpl.DescBuilder{
2196			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2197			RawDescriptor: file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDesc,
2198			NumEnums:      5,
2199			NumMessages:   18,
2200			NumExtensions: 0,
2201			NumServices:   1,
2202		},
2203		GoTypes:           file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_goTypes,
2204		DependencyIndexes: file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_depIdxs,
2205		EnumInfos:         file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_enumTypes,
2206		MessageInfos:      file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_msgTypes,
2207	}.Build()
2208	File_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto = out.File
2209	file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_rawDesc = nil
2210	file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_goTypes = nil
2211	file_google_cloud_recaptchaenterprise_v1_recaptchaenterprise_proto_depIdxs = nil
2212}
2213
2214// Reference imports to suppress errors if they are not otherwise used.
2215var _ context.Context
2216var _ grpc.ClientConnInterface
2217
2218// This is a compile-time assertion to ensure that this generated file
2219// is compatible with the grpc package it is being compiled against.
2220const _ = grpc.SupportPackageIsVersion6
2221
2222// RecaptchaEnterpriseServiceClient is the client API for RecaptchaEnterpriseService service.
2223//
2224// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2225type RecaptchaEnterpriseServiceClient interface {
2226	// Creates an Assessment of the likelihood an event is legitimate.
2227	CreateAssessment(ctx context.Context, in *CreateAssessmentRequest, opts ...grpc.CallOption) (*Assessment, error)
2228	// Annotates a previously created Assessment to provide additional information
2229	// on whether the event turned out to be authentic or fradulent.
2230	AnnotateAssessment(ctx context.Context, in *AnnotateAssessmentRequest, opts ...grpc.CallOption) (*AnnotateAssessmentResponse, error)
2231	// Creates a new reCAPTCHA Enterprise key.
2232	CreateKey(ctx context.Context, in *CreateKeyRequest, opts ...grpc.CallOption) (*Key, error)
2233	// Returns the list of all keys that belong to a project.
2234	ListKeys(ctx context.Context, in *ListKeysRequest, opts ...grpc.CallOption) (*ListKeysResponse, error)
2235	// Returns the specified key.
2236	GetKey(ctx context.Context, in *GetKeyRequest, opts ...grpc.CallOption) (*Key, error)
2237	// Updates the specified key.
2238	UpdateKey(ctx context.Context, in *UpdateKeyRequest, opts ...grpc.CallOption) (*Key, error)
2239	// Deletes the specified key.
2240	DeleteKey(ctx context.Context, in *DeleteKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
2241}
2242
2243type recaptchaEnterpriseServiceClient struct {
2244	cc grpc.ClientConnInterface
2245}
2246
2247func NewRecaptchaEnterpriseServiceClient(cc grpc.ClientConnInterface) RecaptchaEnterpriseServiceClient {
2248	return &recaptchaEnterpriseServiceClient{cc}
2249}
2250
2251func (c *recaptchaEnterpriseServiceClient) CreateAssessment(ctx context.Context, in *CreateAssessmentRequest, opts ...grpc.CallOption) (*Assessment, error) {
2252	out := new(Assessment)
2253	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateAssessment", in, out, opts...)
2254	if err != nil {
2255		return nil, err
2256	}
2257	return out, nil
2258}
2259
2260func (c *recaptchaEnterpriseServiceClient) AnnotateAssessment(ctx context.Context, in *AnnotateAssessmentRequest, opts ...grpc.CallOption) (*AnnotateAssessmentResponse, error) {
2261	out := new(AnnotateAssessmentResponse)
2262	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/AnnotateAssessment", in, out, opts...)
2263	if err != nil {
2264		return nil, err
2265	}
2266	return out, nil
2267}
2268
2269func (c *recaptchaEnterpriseServiceClient) CreateKey(ctx context.Context, in *CreateKeyRequest, opts ...grpc.CallOption) (*Key, error) {
2270	out := new(Key)
2271	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateKey", in, out, opts...)
2272	if err != nil {
2273		return nil, err
2274	}
2275	return out, nil
2276}
2277
2278func (c *recaptchaEnterpriseServiceClient) ListKeys(ctx context.Context, in *ListKeysRequest, opts ...grpc.CallOption) (*ListKeysResponse, error) {
2279	out := new(ListKeysResponse)
2280	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListKeys", in, out, opts...)
2281	if err != nil {
2282		return nil, err
2283	}
2284	return out, nil
2285}
2286
2287func (c *recaptchaEnterpriseServiceClient) GetKey(ctx context.Context, in *GetKeyRequest, opts ...grpc.CallOption) (*Key, error) {
2288	out := new(Key)
2289	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/GetKey", in, out, opts...)
2290	if err != nil {
2291		return nil, err
2292	}
2293	return out, nil
2294}
2295
2296func (c *recaptchaEnterpriseServiceClient) UpdateKey(ctx context.Context, in *UpdateKeyRequest, opts ...grpc.CallOption) (*Key, error) {
2297	out := new(Key)
2298	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/UpdateKey", in, out, opts...)
2299	if err != nil {
2300		return nil, err
2301	}
2302	return out, nil
2303}
2304
2305func (c *recaptchaEnterpriseServiceClient) DeleteKey(ctx context.Context, in *DeleteKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
2306	out := new(emptypb.Empty)
2307	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/DeleteKey", in, out, opts...)
2308	if err != nil {
2309		return nil, err
2310	}
2311	return out, nil
2312}
2313
2314// RecaptchaEnterpriseServiceServer is the server API for RecaptchaEnterpriseService service.
2315type RecaptchaEnterpriseServiceServer interface {
2316	// Creates an Assessment of the likelihood an event is legitimate.
2317	CreateAssessment(context.Context, *CreateAssessmentRequest) (*Assessment, error)
2318	// Annotates a previously created Assessment to provide additional information
2319	// on whether the event turned out to be authentic or fradulent.
2320	AnnotateAssessment(context.Context, *AnnotateAssessmentRequest) (*AnnotateAssessmentResponse, error)
2321	// Creates a new reCAPTCHA Enterprise key.
2322	CreateKey(context.Context, *CreateKeyRequest) (*Key, error)
2323	// Returns the list of all keys that belong to a project.
2324	ListKeys(context.Context, *ListKeysRequest) (*ListKeysResponse, error)
2325	// Returns the specified key.
2326	GetKey(context.Context, *GetKeyRequest) (*Key, error)
2327	// Updates the specified key.
2328	UpdateKey(context.Context, *UpdateKeyRequest) (*Key, error)
2329	// Deletes the specified key.
2330	DeleteKey(context.Context, *DeleteKeyRequest) (*emptypb.Empty, error)
2331}
2332
2333// UnimplementedRecaptchaEnterpriseServiceServer can be embedded to have forward compatible implementations.
2334type UnimplementedRecaptchaEnterpriseServiceServer struct {
2335}
2336
2337func (*UnimplementedRecaptchaEnterpriseServiceServer) CreateAssessment(context.Context, *CreateAssessmentRequest) (*Assessment, error) {
2338	return nil, status.Errorf(codes.Unimplemented, "method CreateAssessment not implemented")
2339}
2340func (*UnimplementedRecaptchaEnterpriseServiceServer) AnnotateAssessment(context.Context, *AnnotateAssessmentRequest) (*AnnotateAssessmentResponse, error) {
2341	return nil, status.Errorf(codes.Unimplemented, "method AnnotateAssessment not implemented")
2342}
2343func (*UnimplementedRecaptchaEnterpriseServiceServer) CreateKey(context.Context, *CreateKeyRequest) (*Key, error) {
2344	return nil, status.Errorf(codes.Unimplemented, "method CreateKey not implemented")
2345}
2346func (*UnimplementedRecaptchaEnterpriseServiceServer) ListKeys(context.Context, *ListKeysRequest) (*ListKeysResponse, error) {
2347	return nil, status.Errorf(codes.Unimplemented, "method ListKeys not implemented")
2348}
2349func (*UnimplementedRecaptchaEnterpriseServiceServer) GetKey(context.Context, *GetKeyRequest) (*Key, error) {
2350	return nil, status.Errorf(codes.Unimplemented, "method GetKey not implemented")
2351}
2352func (*UnimplementedRecaptchaEnterpriseServiceServer) UpdateKey(context.Context, *UpdateKeyRequest) (*Key, error) {
2353	return nil, status.Errorf(codes.Unimplemented, "method UpdateKey not implemented")
2354}
2355func (*UnimplementedRecaptchaEnterpriseServiceServer) DeleteKey(context.Context, *DeleteKeyRequest) (*emptypb.Empty, error) {
2356	return nil, status.Errorf(codes.Unimplemented, "method DeleteKey not implemented")
2357}
2358
2359func RegisterRecaptchaEnterpriseServiceServer(s *grpc.Server, srv RecaptchaEnterpriseServiceServer) {
2360	s.RegisterService(&_RecaptchaEnterpriseService_serviceDesc, srv)
2361}
2362
2363func _RecaptchaEnterpriseService_CreateAssessment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2364	in := new(CreateAssessmentRequest)
2365	if err := dec(in); err != nil {
2366		return nil, err
2367	}
2368	if interceptor == nil {
2369		return srv.(RecaptchaEnterpriseServiceServer).CreateAssessment(ctx, in)
2370	}
2371	info := &grpc.UnaryServerInfo{
2372		Server:     srv,
2373		FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateAssessment",
2374	}
2375	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2376		return srv.(RecaptchaEnterpriseServiceServer).CreateAssessment(ctx, req.(*CreateAssessmentRequest))
2377	}
2378	return interceptor(ctx, in, info, handler)
2379}
2380
2381func _RecaptchaEnterpriseService_AnnotateAssessment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2382	in := new(AnnotateAssessmentRequest)
2383	if err := dec(in); err != nil {
2384		return nil, err
2385	}
2386	if interceptor == nil {
2387		return srv.(RecaptchaEnterpriseServiceServer).AnnotateAssessment(ctx, in)
2388	}
2389	info := &grpc.UnaryServerInfo{
2390		Server:     srv,
2391		FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/AnnotateAssessment",
2392	}
2393	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2394		return srv.(RecaptchaEnterpriseServiceServer).AnnotateAssessment(ctx, req.(*AnnotateAssessmentRequest))
2395	}
2396	return interceptor(ctx, in, info, handler)
2397}
2398
2399func _RecaptchaEnterpriseService_CreateKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2400	in := new(CreateKeyRequest)
2401	if err := dec(in); err != nil {
2402		return nil, err
2403	}
2404	if interceptor == nil {
2405		return srv.(RecaptchaEnterpriseServiceServer).CreateKey(ctx, in)
2406	}
2407	info := &grpc.UnaryServerInfo{
2408		Server:     srv,
2409		FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateKey",
2410	}
2411	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2412		return srv.(RecaptchaEnterpriseServiceServer).CreateKey(ctx, req.(*CreateKeyRequest))
2413	}
2414	return interceptor(ctx, in, info, handler)
2415}
2416
2417func _RecaptchaEnterpriseService_ListKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2418	in := new(ListKeysRequest)
2419	if err := dec(in); err != nil {
2420		return nil, err
2421	}
2422	if interceptor == nil {
2423		return srv.(RecaptchaEnterpriseServiceServer).ListKeys(ctx, in)
2424	}
2425	info := &grpc.UnaryServerInfo{
2426		Server:     srv,
2427		FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListKeys",
2428	}
2429	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2430		return srv.(RecaptchaEnterpriseServiceServer).ListKeys(ctx, req.(*ListKeysRequest))
2431	}
2432	return interceptor(ctx, in, info, handler)
2433}
2434
2435func _RecaptchaEnterpriseService_GetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2436	in := new(GetKeyRequest)
2437	if err := dec(in); err != nil {
2438		return nil, err
2439	}
2440	if interceptor == nil {
2441		return srv.(RecaptchaEnterpriseServiceServer).GetKey(ctx, in)
2442	}
2443	info := &grpc.UnaryServerInfo{
2444		Server:     srv,
2445		FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/GetKey",
2446	}
2447	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2448		return srv.(RecaptchaEnterpriseServiceServer).GetKey(ctx, req.(*GetKeyRequest))
2449	}
2450	return interceptor(ctx, in, info, handler)
2451}
2452
2453func _RecaptchaEnterpriseService_UpdateKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2454	in := new(UpdateKeyRequest)
2455	if err := dec(in); err != nil {
2456		return nil, err
2457	}
2458	if interceptor == nil {
2459		return srv.(RecaptchaEnterpriseServiceServer).UpdateKey(ctx, in)
2460	}
2461	info := &grpc.UnaryServerInfo{
2462		Server:     srv,
2463		FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/UpdateKey",
2464	}
2465	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2466		return srv.(RecaptchaEnterpriseServiceServer).UpdateKey(ctx, req.(*UpdateKeyRequest))
2467	}
2468	return interceptor(ctx, in, info, handler)
2469}
2470
2471func _RecaptchaEnterpriseService_DeleteKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2472	in := new(DeleteKeyRequest)
2473	if err := dec(in); err != nil {
2474		return nil, err
2475	}
2476	if interceptor == nil {
2477		return srv.(RecaptchaEnterpriseServiceServer).DeleteKey(ctx, in)
2478	}
2479	info := &grpc.UnaryServerInfo{
2480		Server:     srv,
2481		FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/DeleteKey",
2482	}
2483	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2484		return srv.(RecaptchaEnterpriseServiceServer).DeleteKey(ctx, req.(*DeleteKeyRequest))
2485	}
2486	return interceptor(ctx, in, info, handler)
2487}
2488
2489var _RecaptchaEnterpriseService_serviceDesc = grpc.ServiceDesc{
2490	ServiceName: "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService",
2491	HandlerType: (*RecaptchaEnterpriseServiceServer)(nil),
2492	Methods: []grpc.MethodDesc{
2493		{
2494			MethodName: "CreateAssessment",
2495			Handler:    _RecaptchaEnterpriseService_CreateAssessment_Handler,
2496		},
2497		{
2498			MethodName: "AnnotateAssessment",
2499			Handler:    _RecaptchaEnterpriseService_AnnotateAssessment_Handler,
2500		},
2501		{
2502			MethodName: "CreateKey",
2503			Handler:    _RecaptchaEnterpriseService_CreateKey_Handler,
2504		},
2505		{
2506			MethodName: "ListKeys",
2507			Handler:    _RecaptchaEnterpriseService_ListKeys_Handler,
2508		},
2509		{
2510			MethodName: "GetKey",
2511			Handler:    _RecaptchaEnterpriseService_GetKey_Handler,
2512		},
2513		{
2514			MethodName: "UpdateKey",
2515			Handler:    _RecaptchaEnterpriseService_UpdateKey_Handler,
2516		},
2517		{
2518			MethodName: "DeleteKey",
2519			Handler:    _RecaptchaEnterpriseService_DeleteKey_Handler,
2520		},
2521	},
2522	Streams:  []grpc.StreamDesc{},
2523	Metadata: "google/cloud/recaptchaenterprise/v1/recaptchaenterprise.proto",
2524}
2525