1// Copyright 2019 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
16// Code generated by protoc-gen-go. DO NOT EDIT.
17// versions:
18// 	protoc-gen-go v1.25.0
19// 	protoc        v3.13.0
20// source: google/cloud/vision/v1p4beta1/image_annotator.proto
21
22package vision
23
24import (
25	context "context"
26	reflect "reflect"
27	sync "sync"
28
29	proto "github.com/golang/protobuf/proto"
30	_ "google.golang.org/genproto/googleapis/api/annotations"
31	longrunning "google.golang.org/genproto/googleapis/longrunning"
32	status "google.golang.org/genproto/googleapis/rpc/status"
33	color "google.golang.org/genproto/googleapis/type/color"
34	latlng "google.golang.org/genproto/googleapis/type/latlng"
35	grpc "google.golang.org/grpc"
36	codes "google.golang.org/grpc/codes"
37	status1 "google.golang.org/grpc/status"
38	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
39	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
40	_ "google.golang.org/protobuf/types/known/fieldmaskpb"
41	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
42)
43
44const (
45	// Verify that this generated code is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
47	// Verify that runtime/protoimpl is sufficiently up-to-date.
48	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
49)
50
51// This is a compile-time assertion that a sufficiently up-to-date version
52// of the legacy proto package is being used.
53const _ = proto.ProtoPackageIsVersion4
54
55// A bucketized representation of likelihood, which is intended to give clients
56// highly stable results across model upgrades.
57type Likelihood int32
58
59const (
60	// Unknown likelihood.
61	Likelihood_UNKNOWN Likelihood = 0
62	// It is very unlikely.
63	Likelihood_VERY_UNLIKELY Likelihood = 1
64	// It is unlikely.
65	Likelihood_UNLIKELY Likelihood = 2
66	// It is possible.
67	Likelihood_POSSIBLE Likelihood = 3
68	// It is likely.
69	Likelihood_LIKELY Likelihood = 4
70	// It is very likely.
71	Likelihood_VERY_LIKELY Likelihood = 5
72)
73
74// Enum value maps for Likelihood.
75var (
76	Likelihood_name = map[int32]string{
77		0: "UNKNOWN",
78		1: "VERY_UNLIKELY",
79		2: "UNLIKELY",
80		3: "POSSIBLE",
81		4: "LIKELY",
82		5: "VERY_LIKELY",
83	}
84	Likelihood_value = map[string]int32{
85		"UNKNOWN":       0,
86		"VERY_UNLIKELY": 1,
87		"UNLIKELY":      2,
88		"POSSIBLE":      3,
89		"LIKELY":        4,
90		"VERY_LIKELY":   5,
91	}
92)
93
94func (x Likelihood) Enum() *Likelihood {
95	p := new(Likelihood)
96	*p = x
97	return p
98}
99
100func (x Likelihood) String() string {
101	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
102}
103
104func (Likelihood) Descriptor() protoreflect.EnumDescriptor {
105	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[0].Descriptor()
106}
107
108func (Likelihood) Type() protoreflect.EnumType {
109	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[0]
110}
111
112func (x Likelihood) Number() protoreflect.EnumNumber {
113	return protoreflect.EnumNumber(x)
114}
115
116// Deprecated: Use Likelihood.Descriptor instead.
117func (Likelihood) EnumDescriptor() ([]byte, []int) {
118	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{0}
119}
120
121// Type of Google Cloud Vision API feature to be extracted.
122type Feature_Type int32
123
124const (
125	// Unspecified feature type.
126	Feature_TYPE_UNSPECIFIED Feature_Type = 0
127	// Run face detection.
128	Feature_FACE_DETECTION Feature_Type = 1
129	// Run landmark detection.
130	Feature_LANDMARK_DETECTION Feature_Type = 2
131	// Run logo detection.
132	Feature_LOGO_DETECTION Feature_Type = 3
133	// Run label detection.
134	Feature_LABEL_DETECTION Feature_Type = 4
135	// Run text detection / optical character recognition (OCR). Text detection
136	// is optimized for areas of text within a larger image; if the image is
137	// a document, use `DOCUMENT_TEXT_DETECTION` instead.
138	Feature_TEXT_DETECTION Feature_Type = 5
139	// Run dense text document OCR. Takes precedence when both
140	// `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present.
141	Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
142	// Run Safe Search to detect potentially unsafe
143	// or undesirable content.
144	Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
145	// Compute a set of image properties, such as the
146	// image's dominant colors.
147	Feature_IMAGE_PROPERTIES Feature_Type = 7
148	// Run crop hints.
149	Feature_CROP_HINTS Feature_Type = 9
150	// Run web detection.
151	Feature_WEB_DETECTION Feature_Type = 10
152	// Run Product Search.
153	Feature_PRODUCT_SEARCH Feature_Type = 12
154	// Run localizer for object detection.
155	Feature_OBJECT_LOCALIZATION Feature_Type = 19
156)
157
158// Enum value maps for Feature_Type.
159var (
160	Feature_Type_name = map[int32]string{
161		0:  "TYPE_UNSPECIFIED",
162		1:  "FACE_DETECTION",
163		2:  "LANDMARK_DETECTION",
164		3:  "LOGO_DETECTION",
165		4:  "LABEL_DETECTION",
166		5:  "TEXT_DETECTION",
167		11: "DOCUMENT_TEXT_DETECTION",
168		6:  "SAFE_SEARCH_DETECTION",
169		7:  "IMAGE_PROPERTIES",
170		9:  "CROP_HINTS",
171		10: "WEB_DETECTION",
172		12: "PRODUCT_SEARCH",
173		19: "OBJECT_LOCALIZATION",
174	}
175	Feature_Type_value = map[string]int32{
176		"TYPE_UNSPECIFIED":        0,
177		"FACE_DETECTION":          1,
178		"LANDMARK_DETECTION":      2,
179		"LOGO_DETECTION":          3,
180		"LABEL_DETECTION":         4,
181		"TEXT_DETECTION":          5,
182		"DOCUMENT_TEXT_DETECTION": 11,
183		"SAFE_SEARCH_DETECTION":   6,
184		"IMAGE_PROPERTIES":        7,
185		"CROP_HINTS":              9,
186		"WEB_DETECTION":           10,
187		"PRODUCT_SEARCH":          12,
188		"OBJECT_LOCALIZATION":     19,
189	}
190)
191
192func (x Feature_Type) Enum() *Feature_Type {
193	p := new(Feature_Type)
194	*p = x
195	return p
196}
197
198func (x Feature_Type) String() string {
199	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
200}
201
202func (Feature_Type) Descriptor() protoreflect.EnumDescriptor {
203	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[1].Descriptor()
204}
205
206func (Feature_Type) Type() protoreflect.EnumType {
207	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[1]
208}
209
210func (x Feature_Type) Number() protoreflect.EnumNumber {
211	return protoreflect.EnumNumber(x)
212}
213
214// Deprecated: Use Feature_Type.Descriptor instead.
215func (Feature_Type) EnumDescriptor() ([]byte, []int) {
216	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{0, 0}
217}
218
219// Face landmark (feature) type.
220// Left and right are defined from the vantage of the viewer of the image
221// without considering mirror projections typical of photos. So, `LEFT_EYE`,
222// typically, is the person's right eye.
223type FaceAnnotation_Landmark_Type int32
224
225const (
226	// Unknown face landmark detected. Should not be filled.
227	FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
228	// Left eye.
229	FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
230	// Right eye.
231	FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
232	// Left of left eyebrow.
233	FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
234	// Right of left eyebrow.
235	FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
236	// Left of right eyebrow.
237	FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
238	// Right of right eyebrow.
239	FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
240	// Midpoint between eyes.
241	FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
242	// Nose tip.
243	FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
244	// Upper lip.
245	FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
246	// Lower lip.
247	FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
248	// Mouth left.
249	FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
250	// Mouth right.
251	FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
252	// Mouth center.
253	FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
254	// Nose, bottom right.
255	FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
256	// Nose, bottom left.
257	FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
258	// Nose, bottom center.
259	FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
260	// Left eye, top boundary.
261	FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
262	// Left eye, right corner.
263	FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
264	// Left eye, bottom boundary.
265	FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
266	// Left eye, left corner.
267	FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
268	// Right eye, top boundary.
269	FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
270	// Right eye, right corner.
271	FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
272	// Right eye, bottom boundary.
273	FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
274	// Right eye, left corner.
275	FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
276	// Left eyebrow, upper midpoint.
277	FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
278	// Right eyebrow, upper midpoint.
279	FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
280	// Left ear tragion.
281	FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
282	// Right ear tragion.
283	FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
284	// Left eye pupil.
285	FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
286	// Right eye pupil.
287	FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
288	// Forehead glabella.
289	FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
290	// Chin gnathion.
291	FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
292	// Chin left gonion.
293	FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
294	// Chin right gonion.
295	FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
296)
297
298// Enum value maps for FaceAnnotation_Landmark_Type.
299var (
300	FaceAnnotation_Landmark_Type_name = map[int32]string{
301		0:  "UNKNOWN_LANDMARK",
302		1:  "LEFT_EYE",
303		2:  "RIGHT_EYE",
304		3:  "LEFT_OF_LEFT_EYEBROW",
305		4:  "RIGHT_OF_LEFT_EYEBROW",
306		5:  "LEFT_OF_RIGHT_EYEBROW",
307		6:  "RIGHT_OF_RIGHT_EYEBROW",
308		7:  "MIDPOINT_BETWEEN_EYES",
309		8:  "NOSE_TIP",
310		9:  "UPPER_LIP",
311		10: "LOWER_LIP",
312		11: "MOUTH_LEFT",
313		12: "MOUTH_RIGHT",
314		13: "MOUTH_CENTER",
315		14: "NOSE_BOTTOM_RIGHT",
316		15: "NOSE_BOTTOM_LEFT",
317		16: "NOSE_BOTTOM_CENTER",
318		17: "LEFT_EYE_TOP_BOUNDARY",
319		18: "LEFT_EYE_RIGHT_CORNER",
320		19: "LEFT_EYE_BOTTOM_BOUNDARY",
321		20: "LEFT_EYE_LEFT_CORNER",
322		21: "RIGHT_EYE_TOP_BOUNDARY",
323		22: "RIGHT_EYE_RIGHT_CORNER",
324		23: "RIGHT_EYE_BOTTOM_BOUNDARY",
325		24: "RIGHT_EYE_LEFT_CORNER",
326		25: "LEFT_EYEBROW_UPPER_MIDPOINT",
327		26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
328		27: "LEFT_EAR_TRAGION",
329		28: "RIGHT_EAR_TRAGION",
330		29: "LEFT_EYE_PUPIL",
331		30: "RIGHT_EYE_PUPIL",
332		31: "FOREHEAD_GLABELLA",
333		32: "CHIN_GNATHION",
334		33: "CHIN_LEFT_GONION",
335		34: "CHIN_RIGHT_GONION",
336	}
337	FaceAnnotation_Landmark_Type_value = map[string]int32{
338		"UNKNOWN_LANDMARK":             0,
339		"LEFT_EYE":                     1,
340		"RIGHT_EYE":                    2,
341		"LEFT_OF_LEFT_EYEBROW":         3,
342		"RIGHT_OF_LEFT_EYEBROW":        4,
343		"LEFT_OF_RIGHT_EYEBROW":        5,
344		"RIGHT_OF_RIGHT_EYEBROW":       6,
345		"MIDPOINT_BETWEEN_EYES":        7,
346		"NOSE_TIP":                     8,
347		"UPPER_LIP":                    9,
348		"LOWER_LIP":                    10,
349		"MOUTH_LEFT":                   11,
350		"MOUTH_RIGHT":                  12,
351		"MOUTH_CENTER":                 13,
352		"NOSE_BOTTOM_RIGHT":            14,
353		"NOSE_BOTTOM_LEFT":             15,
354		"NOSE_BOTTOM_CENTER":           16,
355		"LEFT_EYE_TOP_BOUNDARY":        17,
356		"LEFT_EYE_RIGHT_CORNER":        18,
357		"LEFT_EYE_BOTTOM_BOUNDARY":     19,
358		"LEFT_EYE_LEFT_CORNER":         20,
359		"RIGHT_EYE_TOP_BOUNDARY":       21,
360		"RIGHT_EYE_RIGHT_CORNER":       22,
361		"RIGHT_EYE_BOTTOM_BOUNDARY":    23,
362		"RIGHT_EYE_LEFT_CORNER":        24,
363		"LEFT_EYEBROW_UPPER_MIDPOINT":  25,
364		"RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
365		"LEFT_EAR_TRAGION":             27,
366		"RIGHT_EAR_TRAGION":            28,
367		"LEFT_EYE_PUPIL":               29,
368		"RIGHT_EYE_PUPIL":              30,
369		"FOREHEAD_GLABELLA":            31,
370		"CHIN_GNATHION":                32,
371		"CHIN_LEFT_GONION":             33,
372		"CHIN_RIGHT_GONION":            34,
373	}
374)
375
376func (x FaceAnnotation_Landmark_Type) Enum() *FaceAnnotation_Landmark_Type {
377	p := new(FaceAnnotation_Landmark_Type)
378	*p = x
379	return p
380}
381
382func (x FaceAnnotation_Landmark_Type) String() string {
383	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
384}
385
386func (FaceAnnotation_Landmark_Type) Descriptor() protoreflect.EnumDescriptor {
387	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[2].Descriptor()
388}
389
390func (FaceAnnotation_Landmark_Type) Type() protoreflect.EnumType {
391	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[2]
392}
393
394func (x FaceAnnotation_Landmark_Type) Number() protoreflect.EnumNumber {
395	return protoreflect.EnumNumber(x)
396}
397
398// Deprecated: Use FaceAnnotation_Landmark_Type.Descriptor instead.
399func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
400	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{3, 0, 0}
401}
402
403// Batch operation states.
404type OperationMetadata_State int32
405
406const (
407	// Invalid.
408	OperationMetadata_STATE_UNSPECIFIED OperationMetadata_State = 0
409	// Request is received.
410	OperationMetadata_CREATED OperationMetadata_State = 1
411	// Request is actively being processed.
412	OperationMetadata_RUNNING OperationMetadata_State = 2
413	// The batch processing is done.
414	OperationMetadata_DONE OperationMetadata_State = 3
415	// The batch processing was cancelled.
416	OperationMetadata_CANCELLED OperationMetadata_State = 4
417)
418
419// Enum value maps for OperationMetadata_State.
420var (
421	OperationMetadata_State_name = map[int32]string{
422		0: "STATE_UNSPECIFIED",
423		1: "CREATED",
424		2: "RUNNING",
425		3: "DONE",
426		4: "CANCELLED",
427	}
428	OperationMetadata_State_value = map[string]int32{
429		"STATE_UNSPECIFIED": 0,
430		"CREATED":           1,
431		"RUNNING":           2,
432		"DONE":              3,
433		"CANCELLED":         4,
434	}
435)
436
437func (x OperationMetadata_State) Enum() *OperationMetadata_State {
438	p := new(OperationMetadata_State)
439	*p = x
440	return p
441}
442
443func (x OperationMetadata_State) String() string {
444	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
445}
446
447func (OperationMetadata_State) Descriptor() protoreflect.EnumDescriptor {
448	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[3].Descriptor()
449}
450
451func (OperationMetadata_State) Type() protoreflect.EnumType {
452	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[3]
453}
454
455func (x OperationMetadata_State) Number() protoreflect.EnumNumber {
456	return protoreflect.EnumNumber(x)
457}
458
459// Deprecated: Use OperationMetadata_State.Descriptor instead.
460func (OperationMetadata_State) EnumDescriptor() ([]byte, []int) {
461	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{38, 0}
462}
463
464// The type of Google Cloud Vision API detection to perform, and the maximum
465// number of results to return for that type. Multiple `Feature` objects can
466// be specified in the `features` list.
467type Feature struct {
468	state         protoimpl.MessageState
469	sizeCache     protoimpl.SizeCache
470	unknownFields protoimpl.UnknownFields
471
472	// The feature type.
473	Type Feature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.vision.v1p4beta1.Feature_Type" json:"type,omitempty"`
474	// Maximum number of results of this type. Does not apply to
475	// `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`.
476	MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
477	// Model to use for the feature.
478	// Supported values: "builtin/stable" (the default if unset) and
479	// "builtin/latest".
480	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
481}
482
483func (x *Feature) Reset() {
484	*x = Feature{}
485	if protoimpl.UnsafeEnabled {
486		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[0]
487		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
488		ms.StoreMessageInfo(mi)
489	}
490}
491
492func (x *Feature) String() string {
493	return protoimpl.X.MessageStringOf(x)
494}
495
496func (*Feature) ProtoMessage() {}
497
498func (x *Feature) ProtoReflect() protoreflect.Message {
499	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[0]
500	if protoimpl.UnsafeEnabled && x != nil {
501		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
502		if ms.LoadMessageInfo() == nil {
503			ms.StoreMessageInfo(mi)
504		}
505		return ms
506	}
507	return mi.MessageOf(x)
508}
509
510// Deprecated: Use Feature.ProtoReflect.Descriptor instead.
511func (*Feature) Descriptor() ([]byte, []int) {
512	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{0}
513}
514
515func (x *Feature) GetType() Feature_Type {
516	if x != nil {
517		return x.Type
518	}
519	return Feature_TYPE_UNSPECIFIED
520}
521
522func (x *Feature) GetMaxResults() int32 {
523	if x != nil {
524		return x.MaxResults
525	}
526	return 0
527}
528
529func (x *Feature) GetModel() string {
530	if x != nil {
531		return x.Model
532	}
533	return ""
534}
535
536// External image source (Google Cloud Storage or web URL image location).
537type ImageSource struct {
538	state         protoimpl.MessageState
539	sizeCache     protoimpl.SizeCache
540	unknownFields protoimpl.UnknownFields
541
542	// **Use `image_uri` instead.**
543	//
544	// The Google Cloud Storage  URI of the form
545	// `gs://bucket_name/object_name`. Object versioning is not supported. See
546	// [Google Cloud Storage Request
547	// URIs](https://cloud.google.com/storage/docs/reference-uris) for more info.
548	GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"`
549	// The URI of the source image. Can be either:
550	//
551	// 1. A Google Cloud Storage URI of the form
552	//    `gs://bucket_name/object_name`. Object versioning is not supported. See
553	//    [Google Cloud Storage Request
554	//    URIs](https://cloud.google.com/storage/docs/reference-uris) for more
555	//    info.
556	//
557	// 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from
558	//    HTTP/HTTPS URLs, Google cannot guarantee that the request will be
559	//    completed. Your request may fail if the specified host denies the
560	//    request (e.g. due to request throttling or DOS prevention), or if Google
561	//    throttles requests to the site for abuse prevention. You should not
562	//    depend on externally-hosted images for production applications.
563	//
564	// When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
565	// precedence.
566	ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
567}
568
569func (x *ImageSource) Reset() {
570	*x = ImageSource{}
571	if protoimpl.UnsafeEnabled {
572		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[1]
573		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
574		ms.StoreMessageInfo(mi)
575	}
576}
577
578func (x *ImageSource) String() string {
579	return protoimpl.X.MessageStringOf(x)
580}
581
582func (*ImageSource) ProtoMessage() {}
583
584func (x *ImageSource) ProtoReflect() protoreflect.Message {
585	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[1]
586	if protoimpl.UnsafeEnabled && x != nil {
587		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
588		if ms.LoadMessageInfo() == nil {
589			ms.StoreMessageInfo(mi)
590		}
591		return ms
592	}
593	return mi.MessageOf(x)
594}
595
596// Deprecated: Use ImageSource.ProtoReflect.Descriptor instead.
597func (*ImageSource) Descriptor() ([]byte, []int) {
598	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{1}
599}
600
601func (x *ImageSource) GetGcsImageUri() string {
602	if x != nil {
603		return x.GcsImageUri
604	}
605	return ""
606}
607
608func (x *ImageSource) GetImageUri() string {
609	if x != nil {
610		return x.ImageUri
611	}
612	return ""
613}
614
615// Client image to perform Google Cloud Vision API tasks over.
616type Image struct {
617	state         protoimpl.MessageState
618	sizeCache     protoimpl.SizeCache
619	unknownFields protoimpl.UnknownFields
620
621	// Image content, represented as a stream of bytes.
622	// Note: As with all `bytes` fields, protobuffers use a pure binary
623	// representation, whereas JSON representations use base64.
624	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
625	// Google Cloud Storage image location, or publicly-accessible image
626	// URL. If both `content` and `source` are provided for an image, `content`
627	// takes precedence and is used to perform the image annotation request.
628	Source *ImageSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
629}
630
631func (x *Image) Reset() {
632	*x = Image{}
633	if protoimpl.UnsafeEnabled {
634		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[2]
635		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
636		ms.StoreMessageInfo(mi)
637	}
638}
639
640func (x *Image) String() string {
641	return protoimpl.X.MessageStringOf(x)
642}
643
644func (*Image) ProtoMessage() {}
645
646func (x *Image) ProtoReflect() protoreflect.Message {
647	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[2]
648	if protoimpl.UnsafeEnabled && x != nil {
649		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
650		if ms.LoadMessageInfo() == nil {
651			ms.StoreMessageInfo(mi)
652		}
653		return ms
654	}
655	return mi.MessageOf(x)
656}
657
658// Deprecated: Use Image.ProtoReflect.Descriptor instead.
659func (*Image) Descriptor() ([]byte, []int) {
660	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{2}
661}
662
663func (x *Image) GetContent() []byte {
664	if x != nil {
665		return x.Content
666	}
667	return nil
668}
669
670func (x *Image) GetSource() *ImageSource {
671	if x != nil {
672		return x.Source
673	}
674	return nil
675}
676
677// A face annotation object contains the results of face detection.
678type FaceAnnotation struct {
679	state         protoimpl.MessageState
680	sizeCache     protoimpl.SizeCache
681	unknownFields protoimpl.UnknownFields
682
683	// The bounding polygon around the face. The coordinates of the bounding box
684	// are in the original image's scale.
685	// The bounding box is computed to "frame" the face in accordance with human
686	// expectations. It is based on the landmarker results.
687	// Note that one or more x and/or y coordinates may not be generated in the
688	// `BoundingPoly` (the polygon will be unbounded) if only a partial face
689	// appears in the image to be annotated.
690	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
691	// The `fd_bounding_poly` bounding polygon is tighter than the
692	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
693	// is used to eliminate the face from any image analysis that detects the
694	// "amount of skin" visible in an image. It is not based on the
695	// landmarker results, only on the initial face detection, hence
696	// the <code>fd</code> (face detection) prefix.
697	FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly,proto3" json:"fd_bounding_poly,omitempty"`
698	// Detected face landmarks.
699	Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks,proto3" json:"landmarks,omitempty"`
700	// Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
701	// of the face relative to the image vertical about the axis perpendicular to
702	// the face. Range [-180,180].
703	RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle,proto3" json:"roll_angle,omitempty"`
704	// Yaw angle, which indicates the leftward/rightward angle that the face is
705	// pointing relative to the vertical plane perpendicular to the image. Range
706	// [-180,180].
707	PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle,proto3" json:"pan_angle,omitempty"`
708	// Pitch angle, which indicates the upwards/downwards angle that the face is
709	// pointing relative to the image's horizontal plane. Range [-180,180].
710	TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
711	// Detection confidence. Range [0, 1].
712	DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence,proto3" json:"detection_confidence,omitempty"`
713	// Face landmarking confidence. Range [0, 1].
714	LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence,proto3" json:"landmarking_confidence,omitempty"`
715	// Joy likelihood.
716	JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"joy_likelihood,omitempty"`
717	// Sorrow likelihood.
718	SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"sorrow_likelihood,omitempty"`
719	// Anger likelihood.
720	AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"anger_likelihood,omitempty"`
721	// Surprise likelihood.
722	SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"surprise_likelihood,omitempty"`
723	// Under-exposed likelihood.
724	UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"under_exposed_likelihood,omitempty"`
725	// Blurred likelihood.
726	BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"blurred_likelihood,omitempty"`
727	// Headwear likelihood.
728	HeadwearLikelihood Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"headwear_likelihood,omitempty"`
729	// Additional recognition information. Only computed if
730	// image_context.face_recognition_params is provided, **and** a match is found
731	// to a [Celebrity][google.cloud.vision.v1p4beta1.Celebrity] in the input
732	// [CelebritySet][google.cloud.vision.v1p4beta1.CelebritySet]. This field is
733	// sorted in order of decreasing confidence values.
734	RecognitionResult []*FaceRecognitionResult `protobuf:"bytes,16,rep,name=recognition_result,json=recognitionResult,proto3" json:"recognition_result,omitempty"`
735}
736
737func (x *FaceAnnotation) Reset() {
738	*x = FaceAnnotation{}
739	if protoimpl.UnsafeEnabled {
740		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[3]
741		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
742		ms.StoreMessageInfo(mi)
743	}
744}
745
746func (x *FaceAnnotation) String() string {
747	return protoimpl.X.MessageStringOf(x)
748}
749
750func (*FaceAnnotation) ProtoMessage() {}
751
752func (x *FaceAnnotation) ProtoReflect() protoreflect.Message {
753	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[3]
754	if protoimpl.UnsafeEnabled && x != nil {
755		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
756		if ms.LoadMessageInfo() == nil {
757			ms.StoreMessageInfo(mi)
758		}
759		return ms
760	}
761	return mi.MessageOf(x)
762}
763
764// Deprecated: Use FaceAnnotation.ProtoReflect.Descriptor instead.
765func (*FaceAnnotation) Descriptor() ([]byte, []int) {
766	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{3}
767}
768
769func (x *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
770	if x != nil {
771		return x.BoundingPoly
772	}
773	return nil
774}
775
776func (x *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
777	if x != nil {
778		return x.FdBoundingPoly
779	}
780	return nil
781}
782
783func (x *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
784	if x != nil {
785		return x.Landmarks
786	}
787	return nil
788}
789
790func (x *FaceAnnotation) GetRollAngle() float32 {
791	if x != nil {
792		return x.RollAngle
793	}
794	return 0
795}
796
797func (x *FaceAnnotation) GetPanAngle() float32 {
798	if x != nil {
799		return x.PanAngle
800	}
801	return 0
802}
803
804func (x *FaceAnnotation) GetTiltAngle() float32 {
805	if x != nil {
806		return x.TiltAngle
807	}
808	return 0
809}
810
811func (x *FaceAnnotation) GetDetectionConfidence() float32 {
812	if x != nil {
813		return x.DetectionConfidence
814	}
815	return 0
816}
817
818func (x *FaceAnnotation) GetLandmarkingConfidence() float32 {
819	if x != nil {
820		return x.LandmarkingConfidence
821	}
822	return 0
823}
824
825func (x *FaceAnnotation) GetJoyLikelihood() Likelihood {
826	if x != nil {
827		return x.JoyLikelihood
828	}
829	return Likelihood_UNKNOWN
830}
831
832func (x *FaceAnnotation) GetSorrowLikelihood() Likelihood {
833	if x != nil {
834		return x.SorrowLikelihood
835	}
836	return Likelihood_UNKNOWN
837}
838
839func (x *FaceAnnotation) GetAngerLikelihood() Likelihood {
840	if x != nil {
841		return x.AngerLikelihood
842	}
843	return Likelihood_UNKNOWN
844}
845
846func (x *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
847	if x != nil {
848		return x.SurpriseLikelihood
849	}
850	return Likelihood_UNKNOWN
851}
852
853func (x *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
854	if x != nil {
855		return x.UnderExposedLikelihood
856	}
857	return Likelihood_UNKNOWN
858}
859
860func (x *FaceAnnotation) GetBlurredLikelihood() Likelihood {
861	if x != nil {
862		return x.BlurredLikelihood
863	}
864	return Likelihood_UNKNOWN
865}
866
867func (x *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
868	if x != nil {
869		return x.HeadwearLikelihood
870	}
871	return Likelihood_UNKNOWN
872}
873
874func (x *FaceAnnotation) GetRecognitionResult() []*FaceRecognitionResult {
875	if x != nil {
876		return x.RecognitionResult
877	}
878	return nil
879}
880
881// Detected entity location information.
882type LocationInfo struct {
883	state         protoimpl.MessageState
884	sizeCache     protoimpl.SizeCache
885	unknownFields protoimpl.UnknownFields
886
887	// lat/long location coordinates.
888	LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
889}
890
891func (x *LocationInfo) Reset() {
892	*x = LocationInfo{}
893	if protoimpl.UnsafeEnabled {
894		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[4]
895		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
896		ms.StoreMessageInfo(mi)
897	}
898}
899
900func (x *LocationInfo) String() string {
901	return protoimpl.X.MessageStringOf(x)
902}
903
904func (*LocationInfo) ProtoMessage() {}
905
906func (x *LocationInfo) ProtoReflect() protoreflect.Message {
907	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[4]
908	if protoimpl.UnsafeEnabled && x != nil {
909		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
910		if ms.LoadMessageInfo() == nil {
911			ms.StoreMessageInfo(mi)
912		}
913		return ms
914	}
915	return mi.MessageOf(x)
916}
917
918// Deprecated: Use LocationInfo.ProtoReflect.Descriptor instead.
919func (*LocationInfo) Descriptor() ([]byte, []int) {
920	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{4}
921}
922
923func (x *LocationInfo) GetLatLng() *latlng.LatLng {
924	if x != nil {
925		return x.LatLng
926	}
927	return nil
928}
929
930// A `Property` consists of a user-supplied name/value pair.
931type Property struct {
932	state         protoimpl.MessageState
933	sizeCache     protoimpl.SizeCache
934	unknownFields protoimpl.UnknownFields
935
936	// Name of the property.
937	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
938	// Value of the property.
939	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
940	// Value of numeric properties.
941	Uint64Value uint64 `protobuf:"varint,3,opt,name=uint64_value,json=uint64Value,proto3" json:"uint64_value,omitempty"`
942}
943
944func (x *Property) Reset() {
945	*x = Property{}
946	if protoimpl.UnsafeEnabled {
947		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[5]
948		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
949		ms.StoreMessageInfo(mi)
950	}
951}
952
953func (x *Property) String() string {
954	return protoimpl.X.MessageStringOf(x)
955}
956
957func (*Property) ProtoMessage() {}
958
959func (x *Property) ProtoReflect() protoreflect.Message {
960	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[5]
961	if protoimpl.UnsafeEnabled && x != nil {
962		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
963		if ms.LoadMessageInfo() == nil {
964			ms.StoreMessageInfo(mi)
965		}
966		return ms
967	}
968	return mi.MessageOf(x)
969}
970
971// Deprecated: Use Property.ProtoReflect.Descriptor instead.
972func (*Property) Descriptor() ([]byte, []int) {
973	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{5}
974}
975
976func (x *Property) GetName() string {
977	if x != nil {
978		return x.Name
979	}
980	return ""
981}
982
983func (x *Property) GetValue() string {
984	if x != nil {
985		return x.Value
986	}
987	return ""
988}
989
990func (x *Property) GetUint64Value() uint64 {
991	if x != nil {
992		return x.Uint64Value
993	}
994	return 0
995}
996
997// Set of detected entity features.
998type EntityAnnotation struct {
999	state         protoimpl.MessageState
1000	sizeCache     protoimpl.SizeCache
1001	unknownFields protoimpl.UnknownFields
1002
1003	// Opaque entity ID. Some IDs may be available in
1004	// [Google Knowledge Graph Search
1005	// API](https://developers.google.com/knowledge-graph/).
1006	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
1007	// The language code for the locale in which the entity textual
1008	// `description` is expressed.
1009	Locale string `protobuf:"bytes,2,opt,name=locale,proto3" json:"locale,omitempty"`
1010	// Entity textual description, expressed in its `locale` language.
1011	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
1012	// Overall score of the result. Range [0, 1].
1013	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
1014	// **Deprecated. Use `score` instead.**
1015	// The accuracy of the entity detection in an image.
1016	// For example, for an image in which the "Eiffel Tower" entity is detected,
1017	// this field represents the confidence that there is a tower in the query
1018	// image. Range [0, 1].
1019	//
1020	// Deprecated: Do not use.
1021	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
1022	// The relevancy of the ICA (Image Content Annotation) label to the
1023	// image. For example, the relevancy of "tower" is likely higher to an image
1024	// containing the detected "Eiffel Tower" than to an image containing a
1025	// detected distant towering building, even though the confidence that
1026	// there is a tower in each image may be the same. Range [0, 1].
1027	Topicality float32 `protobuf:"fixed32,6,opt,name=topicality,proto3" json:"topicality,omitempty"`
1028	// Image region to which this entity belongs. Not produced
1029	// for `LABEL_DETECTION` features.
1030	BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1031	// The location information for the detected entity. Multiple
1032	// `LocationInfo` elements can be present because one location may
1033	// indicate the location of the scene in the image, and another location
1034	// may indicate the location of the place where the image was taken.
1035	// Location information is usually present for landmarks.
1036	Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations,proto3" json:"locations,omitempty"`
1037	// Some entities may have optional user-supplied `Property` (name/value)
1038	// fields, such a score or string that qualifies the entity.
1039	Properties []*Property `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty"`
1040}
1041
1042func (x *EntityAnnotation) Reset() {
1043	*x = EntityAnnotation{}
1044	if protoimpl.UnsafeEnabled {
1045		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[6]
1046		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1047		ms.StoreMessageInfo(mi)
1048	}
1049}
1050
1051func (x *EntityAnnotation) String() string {
1052	return protoimpl.X.MessageStringOf(x)
1053}
1054
1055func (*EntityAnnotation) ProtoMessage() {}
1056
1057func (x *EntityAnnotation) ProtoReflect() protoreflect.Message {
1058	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[6]
1059	if protoimpl.UnsafeEnabled && x != nil {
1060		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1061		if ms.LoadMessageInfo() == nil {
1062			ms.StoreMessageInfo(mi)
1063		}
1064		return ms
1065	}
1066	return mi.MessageOf(x)
1067}
1068
1069// Deprecated: Use EntityAnnotation.ProtoReflect.Descriptor instead.
1070func (*EntityAnnotation) Descriptor() ([]byte, []int) {
1071	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{6}
1072}
1073
1074func (x *EntityAnnotation) GetMid() string {
1075	if x != nil {
1076		return x.Mid
1077	}
1078	return ""
1079}
1080
1081func (x *EntityAnnotation) GetLocale() string {
1082	if x != nil {
1083		return x.Locale
1084	}
1085	return ""
1086}
1087
1088func (x *EntityAnnotation) GetDescription() string {
1089	if x != nil {
1090		return x.Description
1091	}
1092	return ""
1093}
1094
1095func (x *EntityAnnotation) GetScore() float32 {
1096	if x != nil {
1097		return x.Score
1098	}
1099	return 0
1100}
1101
1102// Deprecated: Do not use.
1103func (x *EntityAnnotation) GetConfidence() float32 {
1104	if x != nil {
1105		return x.Confidence
1106	}
1107	return 0
1108}
1109
1110func (x *EntityAnnotation) GetTopicality() float32 {
1111	if x != nil {
1112		return x.Topicality
1113	}
1114	return 0
1115}
1116
1117func (x *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
1118	if x != nil {
1119		return x.BoundingPoly
1120	}
1121	return nil
1122}
1123
1124func (x *EntityAnnotation) GetLocations() []*LocationInfo {
1125	if x != nil {
1126		return x.Locations
1127	}
1128	return nil
1129}
1130
1131func (x *EntityAnnotation) GetProperties() []*Property {
1132	if x != nil {
1133		return x.Properties
1134	}
1135	return nil
1136}
1137
1138// Set of detected objects with bounding boxes.
1139type LocalizedObjectAnnotation struct {
1140	state         protoimpl.MessageState
1141	sizeCache     protoimpl.SizeCache
1142	unknownFields protoimpl.UnknownFields
1143
1144	// Object ID that should align with EntityAnnotation mid.
1145	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
1146	// The BCP-47 language code, such as "en-US" or "sr-Latn". For more
1147	// information, see
1148	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
1149	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1150	// Object name, expressed in its `language_code` language.
1151	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
1152	// Score of the result. Range [0, 1].
1153	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
1154	// Image region to which this object belongs. This must be populated.
1155	BoundingPoly *BoundingPoly `protobuf:"bytes,5,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1156}
1157
1158func (x *LocalizedObjectAnnotation) Reset() {
1159	*x = LocalizedObjectAnnotation{}
1160	if protoimpl.UnsafeEnabled {
1161		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[7]
1162		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1163		ms.StoreMessageInfo(mi)
1164	}
1165}
1166
1167func (x *LocalizedObjectAnnotation) String() string {
1168	return protoimpl.X.MessageStringOf(x)
1169}
1170
1171func (*LocalizedObjectAnnotation) ProtoMessage() {}
1172
1173func (x *LocalizedObjectAnnotation) ProtoReflect() protoreflect.Message {
1174	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[7]
1175	if protoimpl.UnsafeEnabled && x != nil {
1176		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1177		if ms.LoadMessageInfo() == nil {
1178			ms.StoreMessageInfo(mi)
1179		}
1180		return ms
1181	}
1182	return mi.MessageOf(x)
1183}
1184
1185// Deprecated: Use LocalizedObjectAnnotation.ProtoReflect.Descriptor instead.
1186func (*LocalizedObjectAnnotation) Descriptor() ([]byte, []int) {
1187	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{7}
1188}
1189
1190func (x *LocalizedObjectAnnotation) GetMid() string {
1191	if x != nil {
1192		return x.Mid
1193	}
1194	return ""
1195}
1196
1197func (x *LocalizedObjectAnnotation) GetLanguageCode() string {
1198	if x != nil {
1199		return x.LanguageCode
1200	}
1201	return ""
1202}
1203
1204func (x *LocalizedObjectAnnotation) GetName() string {
1205	if x != nil {
1206		return x.Name
1207	}
1208	return ""
1209}
1210
1211func (x *LocalizedObjectAnnotation) GetScore() float32 {
1212	if x != nil {
1213		return x.Score
1214	}
1215	return 0
1216}
1217
1218func (x *LocalizedObjectAnnotation) GetBoundingPoly() *BoundingPoly {
1219	if x != nil {
1220		return x.BoundingPoly
1221	}
1222	return nil
1223}
1224
1225// Set of features pertaining to the image, computed by computer vision
1226// methods over safe-search verticals (for example, adult, spoof, medical,
1227// violence).
1228type SafeSearchAnnotation struct {
1229	state         protoimpl.MessageState
1230	sizeCache     protoimpl.SizeCache
1231	unknownFields protoimpl.UnknownFields
1232
1233	// Represents the adult content likelihood for the image. Adult content may
1234	// contain elements such as nudity, pornographic images or cartoons, or
1235	// sexual activities.
1236	Adult Likelihood `protobuf:"varint,1,opt,name=adult,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"adult,omitempty"`
1237	// Spoof likelihood. The likelihood that an modification
1238	// was made to the image's canonical version to make it appear
1239	// funny or offensive.
1240	Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"spoof,omitempty"`
1241	// Likelihood that this is a medical image.
1242	Medical Likelihood `protobuf:"varint,3,opt,name=medical,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"medical,omitempty"`
1243	// Likelihood that this image contains violent content.
1244	Violence Likelihood `protobuf:"varint,4,opt,name=violence,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"violence,omitempty"`
1245	// Likelihood that the request image contains racy content. Racy content may
1246	// include (but is not limited to) skimpy or sheer clothing, strategically
1247	// covered nudity, lewd or provocative poses, or close-ups of sensitive
1248	// body areas.
1249	Racy Likelihood `protobuf:"varint,9,opt,name=racy,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"racy,omitempty"`
1250}
1251
1252func (x *SafeSearchAnnotation) Reset() {
1253	*x = SafeSearchAnnotation{}
1254	if protoimpl.UnsafeEnabled {
1255		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[8]
1256		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1257		ms.StoreMessageInfo(mi)
1258	}
1259}
1260
1261func (x *SafeSearchAnnotation) String() string {
1262	return protoimpl.X.MessageStringOf(x)
1263}
1264
1265func (*SafeSearchAnnotation) ProtoMessage() {}
1266
1267func (x *SafeSearchAnnotation) ProtoReflect() protoreflect.Message {
1268	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[8]
1269	if protoimpl.UnsafeEnabled && x != nil {
1270		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1271		if ms.LoadMessageInfo() == nil {
1272			ms.StoreMessageInfo(mi)
1273		}
1274		return ms
1275	}
1276	return mi.MessageOf(x)
1277}
1278
1279// Deprecated: Use SafeSearchAnnotation.ProtoReflect.Descriptor instead.
1280func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) {
1281	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{8}
1282}
1283
1284func (x *SafeSearchAnnotation) GetAdult() Likelihood {
1285	if x != nil {
1286		return x.Adult
1287	}
1288	return Likelihood_UNKNOWN
1289}
1290
1291func (x *SafeSearchAnnotation) GetSpoof() Likelihood {
1292	if x != nil {
1293		return x.Spoof
1294	}
1295	return Likelihood_UNKNOWN
1296}
1297
1298func (x *SafeSearchAnnotation) GetMedical() Likelihood {
1299	if x != nil {
1300		return x.Medical
1301	}
1302	return Likelihood_UNKNOWN
1303}
1304
1305func (x *SafeSearchAnnotation) GetViolence() Likelihood {
1306	if x != nil {
1307		return x.Violence
1308	}
1309	return Likelihood_UNKNOWN
1310}
1311
1312func (x *SafeSearchAnnotation) GetRacy() Likelihood {
1313	if x != nil {
1314		return x.Racy
1315	}
1316	return Likelihood_UNKNOWN
1317}
1318
1319// Rectangle determined by min and max `LatLng` pairs.
1320type LatLongRect struct {
1321	state         protoimpl.MessageState
1322	sizeCache     protoimpl.SizeCache
1323	unknownFields protoimpl.UnknownFields
1324
1325	// Min lat/long pair.
1326	MinLatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng,proto3" json:"min_lat_lng,omitempty"`
1327	// Max lat/long pair.
1328	MaxLatLng *latlng.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng,proto3" json:"max_lat_lng,omitempty"`
1329}
1330
1331func (x *LatLongRect) Reset() {
1332	*x = LatLongRect{}
1333	if protoimpl.UnsafeEnabled {
1334		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[9]
1335		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1336		ms.StoreMessageInfo(mi)
1337	}
1338}
1339
1340func (x *LatLongRect) String() string {
1341	return protoimpl.X.MessageStringOf(x)
1342}
1343
1344func (*LatLongRect) ProtoMessage() {}
1345
1346func (x *LatLongRect) ProtoReflect() protoreflect.Message {
1347	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[9]
1348	if protoimpl.UnsafeEnabled && x != nil {
1349		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1350		if ms.LoadMessageInfo() == nil {
1351			ms.StoreMessageInfo(mi)
1352		}
1353		return ms
1354	}
1355	return mi.MessageOf(x)
1356}
1357
1358// Deprecated: Use LatLongRect.ProtoReflect.Descriptor instead.
1359func (*LatLongRect) Descriptor() ([]byte, []int) {
1360	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{9}
1361}
1362
1363func (x *LatLongRect) GetMinLatLng() *latlng.LatLng {
1364	if x != nil {
1365		return x.MinLatLng
1366	}
1367	return nil
1368}
1369
1370func (x *LatLongRect) GetMaxLatLng() *latlng.LatLng {
1371	if x != nil {
1372		return x.MaxLatLng
1373	}
1374	return nil
1375}
1376
1377// Color information consists of RGB channels, score, and the fraction of
1378// the image that the color occupies in the image.
1379type ColorInfo struct {
1380	state         protoimpl.MessageState
1381	sizeCache     protoimpl.SizeCache
1382	unknownFields protoimpl.UnknownFields
1383
1384	// RGB components of the color.
1385	Color *color.Color `protobuf:"bytes,1,opt,name=color,proto3" json:"color,omitempty"`
1386	// Image-specific score for this color. Value in range [0, 1].
1387	Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"`
1388	// The fraction of pixels the color occupies in the image.
1389	// Value in range [0, 1].
1390	PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction,proto3" json:"pixel_fraction,omitempty"`
1391}
1392
1393func (x *ColorInfo) Reset() {
1394	*x = ColorInfo{}
1395	if protoimpl.UnsafeEnabled {
1396		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[10]
1397		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1398		ms.StoreMessageInfo(mi)
1399	}
1400}
1401
1402func (x *ColorInfo) String() string {
1403	return protoimpl.X.MessageStringOf(x)
1404}
1405
1406func (*ColorInfo) ProtoMessage() {}
1407
1408func (x *ColorInfo) ProtoReflect() protoreflect.Message {
1409	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[10]
1410	if protoimpl.UnsafeEnabled && x != nil {
1411		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1412		if ms.LoadMessageInfo() == nil {
1413			ms.StoreMessageInfo(mi)
1414		}
1415		return ms
1416	}
1417	return mi.MessageOf(x)
1418}
1419
1420// Deprecated: Use ColorInfo.ProtoReflect.Descriptor instead.
1421func (*ColorInfo) Descriptor() ([]byte, []int) {
1422	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{10}
1423}
1424
1425func (x *ColorInfo) GetColor() *color.Color {
1426	if x != nil {
1427		return x.Color
1428	}
1429	return nil
1430}
1431
1432func (x *ColorInfo) GetScore() float32 {
1433	if x != nil {
1434		return x.Score
1435	}
1436	return 0
1437}
1438
1439func (x *ColorInfo) GetPixelFraction() float32 {
1440	if x != nil {
1441		return x.PixelFraction
1442	}
1443	return 0
1444}
1445
1446// Set of dominant colors and their corresponding scores.
1447type DominantColorsAnnotation struct {
1448	state         protoimpl.MessageState
1449	sizeCache     protoimpl.SizeCache
1450	unknownFields protoimpl.UnknownFields
1451
1452	// RGB color values with their score and pixel fraction.
1453	Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors,proto3" json:"colors,omitempty"`
1454}
1455
1456func (x *DominantColorsAnnotation) Reset() {
1457	*x = DominantColorsAnnotation{}
1458	if protoimpl.UnsafeEnabled {
1459		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[11]
1460		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1461		ms.StoreMessageInfo(mi)
1462	}
1463}
1464
1465func (x *DominantColorsAnnotation) String() string {
1466	return protoimpl.X.MessageStringOf(x)
1467}
1468
1469func (*DominantColorsAnnotation) ProtoMessage() {}
1470
1471func (x *DominantColorsAnnotation) ProtoReflect() protoreflect.Message {
1472	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[11]
1473	if protoimpl.UnsafeEnabled && x != nil {
1474		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1475		if ms.LoadMessageInfo() == nil {
1476			ms.StoreMessageInfo(mi)
1477		}
1478		return ms
1479	}
1480	return mi.MessageOf(x)
1481}
1482
1483// Deprecated: Use DominantColorsAnnotation.ProtoReflect.Descriptor instead.
1484func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) {
1485	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{11}
1486}
1487
1488func (x *DominantColorsAnnotation) GetColors() []*ColorInfo {
1489	if x != nil {
1490		return x.Colors
1491	}
1492	return nil
1493}
1494
1495// Stores image properties, such as dominant colors.
1496type ImageProperties struct {
1497	state         protoimpl.MessageState
1498	sizeCache     protoimpl.SizeCache
1499	unknownFields protoimpl.UnknownFields
1500
1501	// If present, dominant colors completed successfully.
1502	DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors,proto3" json:"dominant_colors,omitempty"`
1503}
1504
1505func (x *ImageProperties) Reset() {
1506	*x = ImageProperties{}
1507	if protoimpl.UnsafeEnabled {
1508		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[12]
1509		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1510		ms.StoreMessageInfo(mi)
1511	}
1512}
1513
1514func (x *ImageProperties) String() string {
1515	return protoimpl.X.MessageStringOf(x)
1516}
1517
1518func (*ImageProperties) ProtoMessage() {}
1519
1520func (x *ImageProperties) ProtoReflect() protoreflect.Message {
1521	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[12]
1522	if protoimpl.UnsafeEnabled && x != nil {
1523		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1524		if ms.LoadMessageInfo() == nil {
1525			ms.StoreMessageInfo(mi)
1526		}
1527		return ms
1528	}
1529	return mi.MessageOf(x)
1530}
1531
1532// Deprecated: Use ImageProperties.ProtoReflect.Descriptor instead.
1533func (*ImageProperties) Descriptor() ([]byte, []int) {
1534	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{12}
1535}
1536
1537func (x *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
1538	if x != nil {
1539		return x.DominantColors
1540	}
1541	return nil
1542}
1543
1544// Single crop hint that is used to generate a new crop when serving an image.
1545type CropHint struct {
1546	state         protoimpl.MessageState
1547	sizeCache     protoimpl.SizeCache
1548	unknownFields protoimpl.UnknownFields
1549
1550	// The bounding polygon for the crop region. The coordinates of the bounding
1551	// box are in the original image's scale.
1552	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1553	// Confidence of this being a salient region.  Range [0, 1].
1554	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
1555	// Fraction of importance of this salient region with respect to the original
1556	// image.
1557	ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction,proto3" json:"importance_fraction,omitempty"`
1558}
1559
1560func (x *CropHint) Reset() {
1561	*x = CropHint{}
1562	if protoimpl.UnsafeEnabled {
1563		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[13]
1564		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1565		ms.StoreMessageInfo(mi)
1566	}
1567}
1568
1569func (x *CropHint) String() string {
1570	return protoimpl.X.MessageStringOf(x)
1571}
1572
1573func (*CropHint) ProtoMessage() {}
1574
1575func (x *CropHint) ProtoReflect() protoreflect.Message {
1576	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[13]
1577	if protoimpl.UnsafeEnabled && x != nil {
1578		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1579		if ms.LoadMessageInfo() == nil {
1580			ms.StoreMessageInfo(mi)
1581		}
1582		return ms
1583	}
1584	return mi.MessageOf(x)
1585}
1586
1587// Deprecated: Use CropHint.ProtoReflect.Descriptor instead.
1588func (*CropHint) Descriptor() ([]byte, []int) {
1589	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{13}
1590}
1591
1592func (x *CropHint) GetBoundingPoly() *BoundingPoly {
1593	if x != nil {
1594		return x.BoundingPoly
1595	}
1596	return nil
1597}
1598
1599func (x *CropHint) GetConfidence() float32 {
1600	if x != nil {
1601		return x.Confidence
1602	}
1603	return 0
1604}
1605
1606func (x *CropHint) GetImportanceFraction() float32 {
1607	if x != nil {
1608		return x.ImportanceFraction
1609	}
1610	return 0
1611}
1612
1613// Set of crop hints that are used to generate new crops when serving images.
1614type CropHintsAnnotation struct {
1615	state         protoimpl.MessageState
1616	sizeCache     protoimpl.SizeCache
1617	unknownFields protoimpl.UnknownFields
1618
1619	// Crop hint results.
1620	CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints,proto3" json:"crop_hints,omitempty"`
1621}
1622
1623func (x *CropHintsAnnotation) Reset() {
1624	*x = CropHintsAnnotation{}
1625	if protoimpl.UnsafeEnabled {
1626		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[14]
1627		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1628		ms.StoreMessageInfo(mi)
1629	}
1630}
1631
1632func (x *CropHintsAnnotation) String() string {
1633	return protoimpl.X.MessageStringOf(x)
1634}
1635
1636func (*CropHintsAnnotation) ProtoMessage() {}
1637
1638func (x *CropHintsAnnotation) ProtoReflect() protoreflect.Message {
1639	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[14]
1640	if protoimpl.UnsafeEnabled && x != nil {
1641		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1642		if ms.LoadMessageInfo() == nil {
1643			ms.StoreMessageInfo(mi)
1644		}
1645		return ms
1646	}
1647	return mi.MessageOf(x)
1648}
1649
1650// Deprecated: Use CropHintsAnnotation.ProtoReflect.Descriptor instead.
1651func (*CropHintsAnnotation) Descriptor() ([]byte, []int) {
1652	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{14}
1653}
1654
1655func (x *CropHintsAnnotation) GetCropHints() []*CropHint {
1656	if x != nil {
1657		return x.CropHints
1658	}
1659	return nil
1660}
1661
1662// Parameters for crop hints annotation request.
1663type CropHintsParams struct {
1664	state         protoimpl.MessageState
1665	sizeCache     protoimpl.SizeCache
1666	unknownFields protoimpl.UnknownFields
1667
1668	// Aspect ratios in floats, representing the ratio of the width to the height
1669	// of the image. For example, if the desired aspect ratio is 4/3, the
1670	// corresponding float value should be 1.33333.  If not specified, the
1671	// best possible crop is returned. The number of provided aspect ratios is
1672	// limited to a maximum of 16; any aspect ratios provided after the 16th are
1673	// ignored.
1674	AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios,proto3" json:"aspect_ratios,omitempty"`
1675}
1676
1677func (x *CropHintsParams) Reset() {
1678	*x = CropHintsParams{}
1679	if protoimpl.UnsafeEnabled {
1680		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[15]
1681		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1682		ms.StoreMessageInfo(mi)
1683	}
1684}
1685
1686func (x *CropHintsParams) String() string {
1687	return protoimpl.X.MessageStringOf(x)
1688}
1689
1690func (*CropHintsParams) ProtoMessage() {}
1691
1692func (x *CropHintsParams) ProtoReflect() protoreflect.Message {
1693	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[15]
1694	if protoimpl.UnsafeEnabled && x != nil {
1695		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1696		if ms.LoadMessageInfo() == nil {
1697			ms.StoreMessageInfo(mi)
1698		}
1699		return ms
1700	}
1701	return mi.MessageOf(x)
1702}
1703
1704// Deprecated: Use CropHintsParams.ProtoReflect.Descriptor instead.
1705func (*CropHintsParams) Descriptor() ([]byte, []int) {
1706	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{15}
1707}
1708
1709func (x *CropHintsParams) GetAspectRatios() []float32 {
1710	if x != nil {
1711		return x.AspectRatios
1712	}
1713	return nil
1714}
1715
1716// Parameters for web detection request.
1717type WebDetectionParams struct {
1718	state         protoimpl.MessageState
1719	sizeCache     protoimpl.SizeCache
1720	unknownFields protoimpl.UnknownFields
1721
1722	// Whether to include results derived from the geo information in the image.
1723	IncludeGeoResults bool `protobuf:"varint,2,opt,name=include_geo_results,json=includeGeoResults,proto3" json:"include_geo_results,omitempty"`
1724}
1725
1726func (x *WebDetectionParams) Reset() {
1727	*x = WebDetectionParams{}
1728	if protoimpl.UnsafeEnabled {
1729		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[16]
1730		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1731		ms.StoreMessageInfo(mi)
1732	}
1733}
1734
1735func (x *WebDetectionParams) String() string {
1736	return protoimpl.X.MessageStringOf(x)
1737}
1738
1739func (*WebDetectionParams) ProtoMessage() {}
1740
1741func (x *WebDetectionParams) ProtoReflect() protoreflect.Message {
1742	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[16]
1743	if protoimpl.UnsafeEnabled && x != nil {
1744		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1745		if ms.LoadMessageInfo() == nil {
1746			ms.StoreMessageInfo(mi)
1747		}
1748		return ms
1749	}
1750	return mi.MessageOf(x)
1751}
1752
1753// Deprecated: Use WebDetectionParams.ProtoReflect.Descriptor instead.
1754func (*WebDetectionParams) Descriptor() ([]byte, []int) {
1755	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{16}
1756}
1757
1758func (x *WebDetectionParams) GetIncludeGeoResults() bool {
1759	if x != nil {
1760		return x.IncludeGeoResults
1761	}
1762	return false
1763}
1764
1765// Parameters for text detections. This is used to control TEXT_DETECTION and
1766// DOCUMENT_TEXT_DETECTION features.
1767type TextDetectionParams struct {
1768	state         protoimpl.MessageState
1769	sizeCache     protoimpl.SizeCache
1770	unknownFields protoimpl.UnknownFields
1771
1772	// By default, Cloud Vision API only includes confidence score for
1773	// DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence
1774	// score for TEXT_DETECTION as well.
1775	EnableTextDetectionConfidenceScore bool `protobuf:"varint,9,opt,name=enable_text_detection_confidence_score,json=enableTextDetectionConfidenceScore,proto3" json:"enable_text_detection_confidence_score,omitempty"`
1776}
1777
1778func (x *TextDetectionParams) Reset() {
1779	*x = TextDetectionParams{}
1780	if protoimpl.UnsafeEnabled {
1781		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[17]
1782		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1783		ms.StoreMessageInfo(mi)
1784	}
1785}
1786
1787func (x *TextDetectionParams) String() string {
1788	return protoimpl.X.MessageStringOf(x)
1789}
1790
1791func (*TextDetectionParams) ProtoMessage() {}
1792
1793func (x *TextDetectionParams) ProtoReflect() protoreflect.Message {
1794	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[17]
1795	if protoimpl.UnsafeEnabled && x != nil {
1796		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1797		if ms.LoadMessageInfo() == nil {
1798			ms.StoreMessageInfo(mi)
1799		}
1800		return ms
1801	}
1802	return mi.MessageOf(x)
1803}
1804
1805// Deprecated: Use TextDetectionParams.ProtoReflect.Descriptor instead.
1806func (*TextDetectionParams) Descriptor() ([]byte, []int) {
1807	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{17}
1808}
1809
1810func (x *TextDetectionParams) GetEnableTextDetectionConfidenceScore() bool {
1811	if x != nil {
1812		return x.EnableTextDetectionConfidenceScore
1813	}
1814	return false
1815}
1816
1817// Image context and/or feature-specific parameters.
1818type ImageContext struct {
1819	state         protoimpl.MessageState
1820	sizeCache     protoimpl.SizeCache
1821	unknownFields protoimpl.UnknownFields
1822
1823	// Not used.
1824	LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect,proto3" json:"lat_long_rect,omitempty"`
1825	// List of languages to use for TEXT_DETECTION. In most cases, an empty value
1826	// yields the best results since it enables automatic language detection. For
1827	// languages based on the Latin alphabet, setting `language_hints` is not
1828	// needed. In rare cases, when the language of the text in the image is known,
1829	// setting a hint will help get better results (although it will be a
1830	// significant hindrance if the hint is wrong). Text detection returns an
1831	// error if one or more of the specified languages is not one of the
1832	// [supported languages](https://cloud.google.com/vision/docs/languages).
1833	LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
1834	// Parameters for crop hints annotation request.
1835	CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams,proto3" json:"crop_hints_params,omitempty"`
1836	// Parameters for face recognition.
1837	FaceRecognitionParams *FaceRecognitionParams `protobuf:"bytes,10,opt,name=face_recognition_params,json=faceRecognitionParams,proto3" json:"face_recognition_params,omitempty"`
1838	// Parameters for product search.
1839	ProductSearchParams *ProductSearchParams `protobuf:"bytes,5,opt,name=product_search_params,json=productSearchParams,proto3" json:"product_search_params,omitempty"`
1840	// Parameters for web detection.
1841	WebDetectionParams *WebDetectionParams `protobuf:"bytes,6,opt,name=web_detection_params,json=webDetectionParams,proto3" json:"web_detection_params,omitempty"`
1842	// Parameters for text detection and document text detection.
1843	TextDetectionParams *TextDetectionParams `protobuf:"bytes,12,opt,name=text_detection_params,json=textDetectionParams,proto3" json:"text_detection_params,omitempty"`
1844}
1845
1846func (x *ImageContext) Reset() {
1847	*x = ImageContext{}
1848	if protoimpl.UnsafeEnabled {
1849		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[18]
1850		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1851		ms.StoreMessageInfo(mi)
1852	}
1853}
1854
1855func (x *ImageContext) String() string {
1856	return protoimpl.X.MessageStringOf(x)
1857}
1858
1859func (*ImageContext) ProtoMessage() {}
1860
1861func (x *ImageContext) ProtoReflect() protoreflect.Message {
1862	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[18]
1863	if protoimpl.UnsafeEnabled && x != nil {
1864		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1865		if ms.LoadMessageInfo() == nil {
1866			ms.StoreMessageInfo(mi)
1867		}
1868		return ms
1869	}
1870	return mi.MessageOf(x)
1871}
1872
1873// Deprecated: Use ImageContext.ProtoReflect.Descriptor instead.
1874func (*ImageContext) Descriptor() ([]byte, []int) {
1875	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{18}
1876}
1877
1878func (x *ImageContext) GetLatLongRect() *LatLongRect {
1879	if x != nil {
1880		return x.LatLongRect
1881	}
1882	return nil
1883}
1884
1885func (x *ImageContext) GetLanguageHints() []string {
1886	if x != nil {
1887		return x.LanguageHints
1888	}
1889	return nil
1890}
1891
1892func (x *ImageContext) GetCropHintsParams() *CropHintsParams {
1893	if x != nil {
1894		return x.CropHintsParams
1895	}
1896	return nil
1897}
1898
1899func (x *ImageContext) GetFaceRecognitionParams() *FaceRecognitionParams {
1900	if x != nil {
1901		return x.FaceRecognitionParams
1902	}
1903	return nil
1904}
1905
1906func (x *ImageContext) GetProductSearchParams() *ProductSearchParams {
1907	if x != nil {
1908		return x.ProductSearchParams
1909	}
1910	return nil
1911}
1912
1913func (x *ImageContext) GetWebDetectionParams() *WebDetectionParams {
1914	if x != nil {
1915		return x.WebDetectionParams
1916	}
1917	return nil
1918}
1919
1920func (x *ImageContext) GetTextDetectionParams() *TextDetectionParams {
1921	if x != nil {
1922		return x.TextDetectionParams
1923	}
1924	return nil
1925}
1926
1927// Request for performing Google Cloud Vision API tasks over a user-provided
1928// image, with user-requested features, and with context information.
1929type AnnotateImageRequest struct {
1930	state         protoimpl.MessageState
1931	sizeCache     protoimpl.SizeCache
1932	unknownFields protoimpl.UnknownFields
1933
1934	// The image to be processed.
1935	Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
1936	// Requested features.
1937	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
1938	// Additional context that may accompany the image.
1939	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
1940}
1941
1942func (x *AnnotateImageRequest) Reset() {
1943	*x = AnnotateImageRequest{}
1944	if protoimpl.UnsafeEnabled {
1945		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[19]
1946		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1947		ms.StoreMessageInfo(mi)
1948	}
1949}
1950
1951func (x *AnnotateImageRequest) String() string {
1952	return protoimpl.X.MessageStringOf(x)
1953}
1954
1955func (*AnnotateImageRequest) ProtoMessage() {}
1956
1957func (x *AnnotateImageRequest) ProtoReflect() protoreflect.Message {
1958	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[19]
1959	if protoimpl.UnsafeEnabled && x != nil {
1960		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1961		if ms.LoadMessageInfo() == nil {
1962			ms.StoreMessageInfo(mi)
1963		}
1964		return ms
1965	}
1966	return mi.MessageOf(x)
1967}
1968
1969// Deprecated: Use AnnotateImageRequest.ProtoReflect.Descriptor instead.
1970func (*AnnotateImageRequest) Descriptor() ([]byte, []int) {
1971	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{19}
1972}
1973
1974func (x *AnnotateImageRequest) GetImage() *Image {
1975	if x != nil {
1976		return x.Image
1977	}
1978	return nil
1979}
1980
1981func (x *AnnotateImageRequest) GetFeatures() []*Feature {
1982	if x != nil {
1983		return x.Features
1984	}
1985	return nil
1986}
1987
1988func (x *AnnotateImageRequest) GetImageContext() *ImageContext {
1989	if x != nil {
1990		return x.ImageContext
1991	}
1992	return nil
1993}
1994
1995// If an image was produced from a file (e.g. a PDF), this message gives
1996// information about the source of that image.
1997type ImageAnnotationContext struct {
1998	state         protoimpl.MessageState
1999	sizeCache     protoimpl.SizeCache
2000	unknownFields protoimpl.UnknownFields
2001
2002	// The URI of the file used to produce the image.
2003	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
2004	// If the file was a PDF or TIFF, this field gives the page number within
2005	// the file used to produce the image.
2006	PageNumber int32 `protobuf:"varint,2,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"`
2007}
2008
2009func (x *ImageAnnotationContext) Reset() {
2010	*x = ImageAnnotationContext{}
2011	if protoimpl.UnsafeEnabled {
2012		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[20]
2013		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2014		ms.StoreMessageInfo(mi)
2015	}
2016}
2017
2018func (x *ImageAnnotationContext) String() string {
2019	return protoimpl.X.MessageStringOf(x)
2020}
2021
2022func (*ImageAnnotationContext) ProtoMessage() {}
2023
2024func (x *ImageAnnotationContext) ProtoReflect() protoreflect.Message {
2025	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[20]
2026	if protoimpl.UnsafeEnabled && x != nil {
2027		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2028		if ms.LoadMessageInfo() == nil {
2029			ms.StoreMessageInfo(mi)
2030		}
2031		return ms
2032	}
2033	return mi.MessageOf(x)
2034}
2035
2036// Deprecated: Use ImageAnnotationContext.ProtoReflect.Descriptor instead.
2037func (*ImageAnnotationContext) Descriptor() ([]byte, []int) {
2038	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{20}
2039}
2040
2041func (x *ImageAnnotationContext) GetUri() string {
2042	if x != nil {
2043		return x.Uri
2044	}
2045	return ""
2046}
2047
2048func (x *ImageAnnotationContext) GetPageNumber() int32 {
2049	if x != nil {
2050		return x.PageNumber
2051	}
2052	return 0
2053}
2054
2055// Response to an image annotation request.
2056type AnnotateImageResponse struct {
2057	state         protoimpl.MessageState
2058	sizeCache     protoimpl.SizeCache
2059	unknownFields protoimpl.UnknownFields
2060
2061	// If present, face detection has completed successfully.
2062	FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"`
2063	// If present, landmark detection has completed successfully.
2064	LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations,proto3" json:"landmark_annotations,omitempty"`
2065	// If present, logo detection has completed successfully.
2066	LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations,proto3" json:"logo_annotations,omitempty"`
2067	// If present, label detection has completed successfully.
2068	LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"`
2069	// If present, localized object detection has completed successfully.
2070	// This will be sorted descending by confidence score.
2071	LocalizedObjectAnnotations []*LocalizedObjectAnnotation `protobuf:"bytes,22,rep,name=localized_object_annotations,json=localizedObjectAnnotations,proto3" json:"localized_object_annotations,omitempty"`
2072	// If present, text (OCR) detection has completed successfully.
2073	TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
2074	// If present, text (OCR) detection or document (OCR) text detection has
2075	// completed successfully.
2076	// This annotation provides the structural hierarchy for the OCR detected
2077	// text.
2078	FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation,proto3" json:"full_text_annotation,omitempty"`
2079	// If present, safe-search annotation has completed successfully.
2080	SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation,proto3" json:"safe_search_annotation,omitempty"`
2081	// If present, image properties were extracted successfully.
2082	ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation,proto3" json:"image_properties_annotation,omitempty"`
2083	// If present, crop hints have completed successfully.
2084	CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation,proto3" json:"crop_hints_annotation,omitempty"`
2085	// If present, web detection has completed successfully.
2086	WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection,proto3" json:"web_detection,omitempty"`
2087	// If present, product search has completed successfully.
2088	ProductSearchResults *ProductSearchResults `protobuf:"bytes,14,opt,name=product_search_results,json=productSearchResults,proto3" json:"product_search_results,omitempty"`
2089	// If set, represents the error message for the operation.
2090	// Note that filled-in image annotations are guaranteed to be
2091	// correct, even when `error` is set.
2092	Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
2093	// If present, contextual information is needed to understand where this image
2094	// comes from.
2095	Context *ImageAnnotationContext `protobuf:"bytes,21,opt,name=context,proto3" json:"context,omitempty"`
2096}
2097
2098func (x *AnnotateImageResponse) Reset() {
2099	*x = AnnotateImageResponse{}
2100	if protoimpl.UnsafeEnabled {
2101		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[21]
2102		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2103		ms.StoreMessageInfo(mi)
2104	}
2105}
2106
2107func (x *AnnotateImageResponse) String() string {
2108	return protoimpl.X.MessageStringOf(x)
2109}
2110
2111func (*AnnotateImageResponse) ProtoMessage() {}
2112
2113func (x *AnnotateImageResponse) ProtoReflect() protoreflect.Message {
2114	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[21]
2115	if protoimpl.UnsafeEnabled && x != nil {
2116		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2117		if ms.LoadMessageInfo() == nil {
2118			ms.StoreMessageInfo(mi)
2119		}
2120		return ms
2121	}
2122	return mi.MessageOf(x)
2123}
2124
2125// Deprecated: Use AnnotateImageResponse.ProtoReflect.Descriptor instead.
2126func (*AnnotateImageResponse) Descriptor() ([]byte, []int) {
2127	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{21}
2128}
2129
2130func (x *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
2131	if x != nil {
2132		return x.FaceAnnotations
2133	}
2134	return nil
2135}
2136
2137func (x *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
2138	if x != nil {
2139		return x.LandmarkAnnotations
2140	}
2141	return nil
2142}
2143
2144func (x *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
2145	if x != nil {
2146		return x.LogoAnnotations
2147	}
2148	return nil
2149}
2150
2151func (x *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
2152	if x != nil {
2153		return x.LabelAnnotations
2154	}
2155	return nil
2156}
2157
2158func (x *AnnotateImageResponse) GetLocalizedObjectAnnotations() []*LocalizedObjectAnnotation {
2159	if x != nil {
2160		return x.LocalizedObjectAnnotations
2161	}
2162	return nil
2163}
2164
2165func (x *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
2166	if x != nil {
2167		return x.TextAnnotations
2168	}
2169	return nil
2170}
2171
2172func (x *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
2173	if x != nil {
2174		return x.FullTextAnnotation
2175	}
2176	return nil
2177}
2178
2179func (x *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
2180	if x != nil {
2181		return x.SafeSearchAnnotation
2182	}
2183	return nil
2184}
2185
2186func (x *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
2187	if x != nil {
2188		return x.ImagePropertiesAnnotation
2189	}
2190	return nil
2191}
2192
2193func (x *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
2194	if x != nil {
2195		return x.CropHintsAnnotation
2196	}
2197	return nil
2198}
2199
2200func (x *AnnotateImageResponse) GetWebDetection() *WebDetection {
2201	if x != nil {
2202		return x.WebDetection
2203	}
2204	return nil
2205}
2206
2207func (x *AnnotateImageResponse) GetProductSearchResults() *ProductSearchResults {
2208	if x != nil {
2209		return x.ProductSearchResults
2210	}
2211	return nil
2212}
2213
2214func (x *AnnotateImageResponse) GetError() *status.Status {
2215	if x != nil {
2216		return x.Error
2217	}
2218	return nil
2219}
2220
2221func (x *AnnotateImageResponse) GetContext() *ImageAnnotationContext {
2222	if x != nil {
2223		return x.Context
2224	}
2225	return nil
2226}
2227
2228// Multiple image annotation requests are batched into a single service call.
2229type BatchAnnotateImagesRequest struct {
2230	state         protoimpl.MessageState
2231	sizeCache     protoimpl.SizeCache
2232	unknownFields protoimpl.UnknownFields
2233
2234	// Required. Individual image annotation requests for this batch.
2235	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2236}
2237
2238func (x *BatchAnnotateImagesRequest) Reset() {
2239	*x = BatchAnnotateImagesRequest{}
2240	if protoimpl.UnsafeEnabled {
2241		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[22]
2242		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2243		ms.StoreMessageInfo(mi)
2244	}
2245}
2246
2247func (x *BatchAnnotateImagesRequest) String() string {
2248	return protoimpl.X.MessageStringOf(x)
2249}
2250
2251func (*BatchAnnotateImagesRequest) ProtoMessage() {}
2252
2253func (x *BatchAnnotateImagesRequest) ProtoReflect() protoreflect.Message {
2254	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[22]
2255	if protoimpl.UnsafeEnabled && x != nil {
2256		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2257		if ms.LoadMessageInfo() == nil {
2258			ms.StoreMessageInfo(mi)
2259		}
2260		return ms
2261	}
2262	return mi.MessageOf(x)
2263}
2264
2265// Deprecated: Use BatchAnnotateImagesRequest.ProtoReflect.Descriptor instead.
2266func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
2267	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{22}
2268}
2269
2270func (x *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
2271	if x != nil {
2272		return x.Requests
2273	}
2274	return nil
2275}
2276
2277// Response to a batch image annotation request.
2278type BatchAnnotateImagesResponse struct {
2279	state         protoimpl.MessageState
2280	sizeCache     protoimpl.SizeCache
2281	unknownFields protoimpl.UnknownFields
2282
2283	// Individual responses to image annotation requests within the batch.
2284	Responses []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2285}
2286
2287func (x *BatchAnnotateImagesResponse) Reset() {
2288	*x = BatchAnnotateImagesResponse{}
2289	if protoimpl.UnsafeEnabled {
2290		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[23]
2291		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2292		ms.StoreMessageInfo(mi)
2293	}
2294}
2295
2296func (x *BatchAnnotateImagesResponse) String() string {
2297	return protoimpl.X.MessageStringOf(x)
2298}
2299
2300func (*BatchAnnotateImagesResponse) ProtoMessage() {}
2301
2302func (x *BatchAnnotateImagesResponse) ProtoReflect() protoreflect.Message {
2303	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[23]
2304	if protoimpl.UnsafeEnabled && x != nil {
2305		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2306		if ms.LoadMessageInfo() == nil {
2307			ms.StoreMessageInfo(mi)
2308		}
2309		return ms
2310	}
2311	return mi.MessageOf(x)
2312}
2313
2314// Deprecated: Use BatchAnnotateImagesResponse.ProtoReflect.Descriptor instead.
2315func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
2316	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{23}
2317}
2318
2319func (x *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
2320	if x != nil {
2321		return x.Responses
2322	}
2323	return nil
2324}
2325
2326// A request to annotate one single file, e.g. a PDF, TIFF or GIF file.
2327type AnnotateFileRequest struct {
2328	state         protoimpl.MessageState
2329	sizeCache     protoimpl.SizeCache
2330	unknownFields protoimpl.UnknownFields
2331
2332	// Required. Information about the input file.
2333	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2334	// Required. Requested features.
2335	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
2336	// Additional context that may accompany the image(s) in the file.
2337	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
2338	// Pages of the file to perform image annotation.
2339	//
2340	// Pages starts from 1, we assume the first page of the file is page 1.
2341	// At most 5 pages are supported per request. Pages can be negative.
2342	//
2343	// Page 1 means the first page.
2344	// Page 2 means the second page.
2345	// Page -1 means the last page.
2346	// Page -2 means the second to the last page.
2347	//
2348	// If the file is GIF instead of PDF or TIFF, page refers to GIF frames.
2349	//
2350	// If this field is empty, by default the service performs image annotation
2351	// for the first 5 pages of the file.
2352	Pages []int32 `protobuf:"varint,4,rep,packed,name=pages,proto3" json:"pages,omitempty"`
2353}
2354
2355func (x *AnnotateFileRequest) Reset() {
2356	*x = AnnotateFileRequest{}
2357	if protoimpl.UnsafeEnabled {
2358		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[24]
2359		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2360		ms.StoreMessageInfo(mi)
2361	}
2362}
2363
2364func (x *AnnotateFileRequest) String() string {
2365	return protoimpl.X.MessageStringOf(x)
2366}
2367
2368func (*AnnotateFileRequest) ProtoMessage() {}
2369
2370func (x *AnnotateFileRequest) ProtoReflect() protoreflect.Message {
2371	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[24]
2372	if protoimpl.UnsafeEnabled && x != nil {
2373		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2374		if ms.LoadMessageInfo() == nil {
2375			ms.StoreMessageInfo(mi)
2376		}
2377		return ms
2378	}
2379	return mi.MessageOf(x)
2380}
2381
2382// Deprecated: Use AnnotateFileRequest.ProtoReflect.Descriptor instead.
2383func (*AnnotateFileRequest) Descriptor() ([]byte, []int) {
2384	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{24}
2385}
2386
2387func (x *AnnotateFileRequest) GetInputConfig() *InputConfig {
2388	if x != nil {
2389		return x.InputConfig
2390	}
2391	return nil
2392}
2393
2394func (x *AnnotateFileRequest) GetFeatures() []*Feature {
2395	if x != nil {
2396		return x.Features
2397	}
2398	return nil
2399}
2400
2401func (x *AnnotateFileRequest) GetImageContext() *ImageContext {
2402	if x != nil {
2403		return x.ImageContext
2404	}
2405	return nil
2406}
2407
2408func (x *AnnotateFileRequest) GetPages() []int32 {
2409	if x != nil {
2410		return x.Pages
2411	}
2412	return nil
2413}
2414
2415// Response to a single file annotation request. A file may contain one or more
2416// images, which individually have their own responses.
2417type AnnotateFileResponse struct {
2418	state         protoimpl.MessageState
2419	sizeCache     protoimpl.SizeCache
2420	unknownFields protoimpl.UnknownFields
2421
2422	// Information about the file for which this response is generated.
2423	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2424	// Individual responses to images found within the file. This field will be
2425	// empty if the `error` field is set.
2426	Responses []*AnnotateImageResponse `protobuf:"bytes,2,rep,name=responses,proto3" json:"responses,omitempty"`
2427	// This field gives the total number of pages in the file.
2428	TotalPages int32 `protobuf:"varint,3,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
2429	// If set, represents the error message for the failed request. The
2430	// `responses` field will not be set in this case.
2431	Error *status.Status `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
2432}
2433
2434func (x *AnnotateFileResponse) Reset() {
2435	*x = AnnotateFileResponse{}
2436	if protoimpl.UnsafeEnabled {
2437		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[25]
2438		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2439		ms.StoreMessageInfo(mi)
2440	}
2441}
2442
2443func (x *AnnotateFileResponse) String() string {
2444	return protoimpl.X.MessageStringOf(x)
2445}
2446
2447func (*AnnotateFileResponse) ProtoMessage() {}
2448
2449func (x *AnnotateFileResponse) ProtoReflect() protoreflect.Message {
2450	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[25]
2451	if protoimpl.UnsafeEnabled && x != nil {
2452		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2453		if ms.LoadMessageInfo() == nil {
2454			ms.StoreMessageInfo(mi)
2455		}
2456		return ms
2457	}
2458	return mi.MessageOf(x)
2459}
2460
2461// Deprecated: Use AnnotateFileResponse.ProtoReflect.Descriptor instead.
2462func (*AnnotateFileResponse) Descriptor() ([]byte, []int) {
2463	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{25}
2464}
2465
2466func (x *AnnotateFileResponse) GetInputConfig() *InputConfig {
2467	if x != nil {
2468		return x.InputConfig
2469	}
2470	return nil
2471}
2472
2473func (x *AnnotateFileResponse) GetResponses() []*AnnotateImageResponse {
2474	if x != nil {
2475		return x.Responses
2476	}
2477	return nil
2478}
2479
2480func (x *AnnotateFileResponse) GetTotalPages() int32 {
2481	if x != nil {
2482		return x.TotalPages
2483	}
2484	return 0
2485}
2486
2487func (x *AnnotateFileResponse) GetError() *status.Status {
2488	if x != nil {
2489		return x.Error
2490	}
2491	return nil
2492}
2493
2494// A list of requests to annotate files using the BatchAnnotateFiles API.
2495type BatchAnnotateFilesRequest struct {
2496	state         protoimpl.MessageState
2497	sizeCache     protoimpl.SizeCache
2498	unknownFields protoimpl.UnknownFields
2499
2500	// Required. The list of file annotation requests. Right now we support only
2501	// one AnnotateFileRequest in BatchAnnotateFilesRequest.
2502	Requests []*AnnotateFileRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2503}
2504
2505func (x *BatchAnnotateFilesRequest) Reset() {
2506	*x = BatchAnnotateFilesRequest{}
2507	if protoimpl.UnsafeEnabled {
2508		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[26]
2509		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2510		ms.StoreMessageInfo(mi)
2511	}
2512}
2513
2514func (x *BatchAnnotateFilesRequest) String() string {
2515	return protoimpl.X.MessageStringOf(x)
2516}
2517
2518func (*BatchAnnotateFilesRequest) ProtoMessage() {}
2519
2520func (x *BatchAnnotateFilesRequest) ProtoReflect() protoreflect.Message {
2521	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[26]
2522	if protoimpl.UnsafeEnabled && x != nil {
2523		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2524		if ms.LoadMessageInfo() == nil {
2525			ms.StoreMessageInfo(mi)
2526		}
2527		return ms
2528	}
2529	return mi.MessageOf(x)
2530}
2531
2532// Deprecated: Use BatchAnnotateFilesRequest.ProtoReflect.Descriptor instead.
2533func (*BatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
2534	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{26}
2535}
2536
2537func (x *BatchAnnotateFilesRequest) GetRequests() []*AnnotateFileRequest {
2538	if x != nil {
2539		return x.Requests
2540	}
2541	return nil
2542}
2543
2544// A list of file annotation responses.
2545type BatchAnnotateFilesResponse struct {
2546	state         protoimpl.MessageState
2547	sizeCache     protoimpl.SizeCache
2548	unknownFields protoimpl.UnknownFields
2549
2550	// The list of file annotation responses, each response corresponding to each
2551	// AnnotateFileRequest in BatchAnnotateFilesRequest.
2552	Responses []*AnnotateFileResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2553}
2554
2555func (x *BatchAnnotateFilesResponse) Reset() {
2556	*x = BatchAnnotateFilesResponse{}
2557	if protoimpl.UnsafeEnabled {
2558		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[27]
2559		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2560		ms.StoreMessageInfo(mi)
2561	}
2562}
2563
2564func (x *BatchAnnotateFilesResponse) String() string {
2565	return protoimpl.X.MessageStringOf(x)
2566}
2567
2568func (*BatchAnnotateFilesResponse) ProtoMessage() {}
2569
2570func (x *BatchAnnotateFilesResponse) ProtoReflect() protoreflect.Message {
2571	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[27]
2572	if protoimpl.UnsafeEnabled && x != nil {
2573		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2574		if ms.LoadMessageInfo() == nil {
2575			ms.StoreMessageInfo(mi)
2576		}
2577		return ms
2578	}
2579	return mi.MessageOf(x)
2580}
2581
2582// Deprecated: Use BatchAnnotateFilesResponse.ProtoReflect.Descriptor instead.
2583func (*BatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
2584	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{27}
2585}
2586
2587func (x *BatchAnnotateFilesResponse) GetResponses() []*AnnotateFileResponse {
2588	if x != nil {
2589		return x.Responses
2590	}
2591	return nil
2592}
2593
2594// An offline file annotation request.
2595type AsyncAnnotateFileRequest struct {
2596	state         protoimpl.MessageState
2597	sizeCache     protoimpl.SizeCache
2598	unknownFields protoimpl.UnknownFields
2599
2600	// Required. Information about the input file.
2601	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2602	// Required. Requested features.
2603	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
2604	// Additional context that may accompany the image(s) in the file.
2605	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
2606	// Required. The desired output location and metadata (e.g. format).
2607	OutputConfig *OutputConfig `protobuf:"bytes,4,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2608}
2609
2610func (x *AsyncAnnotateFileRequest) Reset() {
2611	*x = AsyncAnnotateFileRequest{}
2612	if protoimpl.UnsafeEnabled {
2613		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[28]
2614		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2615		ms.StoreMessageInfo(mi)
2616	}
2617}
2618
2619func (x *AsyncAnnotateFileRequest) String() string {
2620	return protoimpl.X.MessageStringOf(x)
2621}
2622
2623func (*AsyncAnnotateFileRequest) ProtoMessage() {}
2624
2625func (x *AsyncAnnotateFileRequest) ProtoReflect() protoreflect.Message {
2626	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[28]
2627	if protoimpl.UnsafeEnabled && x != nil {
2628		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2629		if ms.LoadMessageInfo() == nil {
2630			ms.StoreMessageInfo(mi)
2631		}
2632		return ms
2633	}
2634	return mi.MessageOf(x)
2635}
2636
2637// Deprecated: Use AsyncAnnotateFileRequest.ProtoReflect.Descriptor instead.
2638func (*AsyncAnnotateFileRequest) Descriptor() ([]byte, []int) {
2639	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{28}
2640}
2641
2642func (x *AsyncAnnotateFileRequest) GetInputConfig() *InputConfig {
2643	if x != nil {
2644		return x.InputConfig
2645	}
2646	return nil
2647}
2648
2649func (x *AsyncAnnotateFileRequest) GetFeatures() []*Feature {
2650	if x != nil {
2651		return x.Features
2652	}
2653	return nil
2654}
2655
2656func (x *AsyncAnnotateFileRequest) GetImageContext() *ImageContext {
2657	if x != nil {
2658		return x.ImageContext
2659	}
2660	return nil
2661}
2662
2663func (x *AsyncAnnotateFileRequest) GetOutputConfig() *OutputConfig {
2664	if x != nil {
2665		return x.OutputConfig
2666	}
2667	return nil
2668}
2669
2670// The response for a single offline file annotation request.
2671type AsyncAnnotateFileResponse struct {
2672	state         protoimpl.MessageState
2673	sizeCache     protoimpl.SizeCache
2674	unknownFields protoimpl.UnknownFields
2675
2676	// The output location and metadata from AsyncAnnotateFileRequest.
2677	OutputConfig *OutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2678}
2679
2680func (x *AsyncAnnotateFileResponse) Reset() {
2681	*x = AsyncAnnotateFileResponse{}
2682	if protoimpl.UnsafeEnabled {
2683		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[29]
2684		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2685		ms.StoreMessageInfo(mi)
2686	}
2687}
2688
2689func (x *AsyncAnnotateFileResponse) String() string {
2690	return protoimpl.X.MessageStringOf(x)
2691}
2692
2693func (*AsyncAnnotateFileResponse) ProtoMessage() {}
2694
2695func (x *AsyncAnnotateFileResponse) ProtoReflect() protoreflect.Message {
2696	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[29]
2697	if protoimpl.UnsafeEnabled && x != nil {
2698		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2699		if ms.LoadMessageInfo() == nil {
2700			ms.StoreMessageInfo(mi)
2701		}
2702		return ms
2703	}
2704	return mi.MessageOf(x)
2705}
2706
2707// Deprecated: Use AsyncAnnotateFileResponse.ProtoReflect.Descriptor instead.
2708func (*AsyncAnnotateFileResponse) Descriptor() ([]byte, []int) {
2709	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{29}
2710}
2711
2712func (x *AsyncAnnotateFileResponse) GetOutputConfig() *OutputConfig {
2713	if x != nil {
2714		return x.OutputConfig
2715	}
2716	return nil
2717}
2718
2719// Request for async image annotation for a list of images.
2720type AsyncBatchAnnotateImagesRequest struct {
2721	state         protoimpl.MessageState
2722	sizeCache     protoimpl.SizeCache
2723	unknownFields protoimpl.UnknownFields
2724
2725	// Required. Individual image annotation requests for this batch.
2726	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2727	// Required. The desired output location and metadata (e.g. format).
2728	OutputConfig *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2729}
2730
2731func (x *AsyncBatchAnnotateImagesRequest) Reset() {
2732	*x = AsyncBatchAnnotateImagesRequest{}
2733	if protoimpl.UnsafeEnabled {
2734		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[30]
2735		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2736		ms.StoreMessageInfo(mi)
2737	}
2738}
2739
2740func (x *AsyncBatchAnnotateImagesRequest) String() string {
2741	return protoimpl.X.MessageStringOf(x)
2742}
2743
2744func (*AsyncBatchAnnotateImagesRequest) ProtoMessage() {}
2745
2746func (x *AsyncBatchAnnotateImagesRequest) ProtoReflect() protoreflect.Message {
2747	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[30]
2748	if protoimpl.UnsafeEnabled && x != nil {
2749		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2750		if ms.LoadMessageInfo() == nil {
2751			ms.StoreMessageInfo(mi)
2752		}
2753		return ms
2754	}
2755	return mi.MessageOf(x)
2756}
2757
2758// Deprecated: Use AsyncBatchAnnotateImagesRequest.ProtoReflect.Descriptor instead.
2759func (*AsyncBatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
2760	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{30}
2761}
2762
2763func (x *AsyncBatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
2764	if x != nil {
2765		return x.Requests
2766	}
2767	return nil
2768}
2769
2770func (x *AsyncBatchAnnotateImagesRequest) GetOutputConfig() *OutputConfig {
2771	if x != nil {
2772		return x.OutputConfig
2773	}
2774	return nil
2775}
2776
2777// Response to an async batch image annotation request.
2778type AsyncBatchAnnotateImagesResponse struct {
2779	state         protoimpl.MessageState
2780	sizeCache     protoimpl.SizeCache
2781	unknownFields protoimpl.UnknownFields
2782
2783	// The output location and metadata from AsyncBatchAnnotateImagesRequest.
2784	OutputConfig *OutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2785}
2786
2787func (x *AsyncBatchAnnotateImagesResponse) Reset() {
2788	*x = AsyncBatchAnnotateImagesResponse{}
2789	if protoimpl.UnsafeEnabled {
2790		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[31]
2791		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2792		ms.StoreMessageInfo(mi)
2793	}
2794}
2795
2796func (x *AsyncBatchAnnotateImagesResponse) String() string {
2797	return protoimpl.X.MessageStringOf(x)
2798}
2799
2800func (*AsyncBatchAnnotateImagesResponse) ProtoMessage() {}
2801
2802func (x *AsyncBatchAnnotateImagesResponse) ProtoReflect() protoreflect.Message {
2803	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[31]
2804	if protoimpl.UnsafeEnabled && x != nil {
2805		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2806		if ms.LoadMessageInfo() == nil {
2807			ms.StoreMessageInfo(mi)
2808		}
2809		return ms
2810	}
2811	return mi.MessageOf(x)
2812}
2813
2814// Deprecated: Use AsyncBatchAnnotateImagesResponse.ProtoReflect.Descriptor instead.
2815func (*AsyncBatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
2816	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{31}
2817}
2818
2819func (x *AsyncBatchAnnotateImagesResponse) GetOutputConfig() *OutputConfig {
2820	if x != nil {
2821		return x.OutputConfig
2822	}
2823	return nil
2824}
2825
2826// Multiple async file annotation requests are batched into a single service
2827// call.
2828type AsyncBatchAnnotateFilesRequest struct {
2829	state         protoimpl.MessageState
2830	sizeCache     protoimpl.SizeCache
2831	unknownFields protoimpl.UnknownFields
2832
2833	// Required. Individual async file annotation requests for this batch.
2834	Requests []*AsyncAnnotateFileRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2835}
2836
2837func (x *AsyncBatchAnnotateFilesRequest) Reset() {
2838	*x = AsyncBatchAnnotateFilesRequest{}
2839	if protoimpl.UnsafeEnabled {
2840		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[32]
2841		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2842		ms.StoreMessageInfo(mi)
2843	}
2844}
2845
2846func (x *AsyncBatchAnnotateFilesRequest) String() string {
2847	return protoimpl.X.MessageStringOf(x)
2848}
2849
2850func (*AsyncBatchAnnotateFilesRequest) ProtoMessage() {}
2851
2852func (x *AsyncBatchAnnotateFilesRequest) ProtoReflect() protoreflect.Message {
2853	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[32]
2854	if protoimpl.UnsafeEnabled && x != nil {
2855		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2856		if ms.LoadMessageInfo() == nil {
2857			ms.StoreMessageInfo(mi)
2858		}
2859		return ms
2860	}
2861	return mi.MessageOf(x)
2862}
2863
2864// Deprecated: Use AsyncBatchAnnotateFilesRequest.ProtoReflect.Descriptor instead.
2865func (*AsyncBatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
2866	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{32}
2867}
2868
2869func (x *AsyncBatchAnnotateFilesRequest) GetRequests() []*AsyncAnnotateFileRequest {
2870	if x != nil {
2871		return x.Requests
2872	}
2873	return nil
2874}
2875
2876// Response to an async batch file annotation request.
2877type AsyncBatchAnnotateFilesResponse struct {
2878	state         protoimpl.MessageState
2879	sizeCache     protoimpl.SizeCache
2880	unknownFields protoimpl.UnknownFields
2881
2882	// The list of file annotation responses, one for each request in
2883	// AsyncBatchAnnotateFilesRequest.
2884	Responses []*AsyncAnnotateFileResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2885}
2886
2887func (x *AsyncBatchAnnotateFilesResponse) Reset() {
2888	*x = AsyncBatchAnnotateFilesResponse{}
2889	if protoimpl.UnsafeEnabled {
2890		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[33]
2891		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2892		ms.StoreMessageInfo(mi)
2893	}
2894}
2895
2896func (x *AsyncBatchAnnotateFilesResponse) String() string {
2897	return protoimpl.X.MessageStringOf(x)
2898}
2899
2900func (*AsyncBatchAnnotateFilesResponse) ProtoMessage() {}
2901
2902func (x *AsyncBatchAnnotateFilesResponse) ProtoReflect() protoreflect.Message {
2903	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[33]
2904	if protoimpl.UnsafeEnabled && x != nil {
2905		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2906		if ms.LoadMessageInfo() == nil {
2907			ms.StoreMessageInfo(mi)
2908		}
2909		return ms
2910	}
2911	return mi.MessageOf(x)
2912}
2913
2914// Deprecated: Use AsyncBatchAnnotateFilesResponse.ProtoReflect.Descriptor instead.
2915func (*AsyncBatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
2916	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{33}
2917}
2918
2919func (x *AsyncBatchAnnotateFilesResponse) GetResponses() []*AsyncAnnotateFileResponse {
2920	if x != nil {
2921		return x.Responses
2922	}
2923	return nil
2924}
2925
2926// The desired input location and metadata.
2927type InputConfig struct {
2928	state         protoimpl.MessageState
2929	sizeCache     protoimpl.SizeCache
2930	unknownFields protoimpl.UnknownFields
2931
2932	// The Google Cloud Storage location to read the input from.
2933	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"`
2934	// File content, represented as a stream of bytes.
2935	// Note: As with all `bytes` fields, protobuffers use a pure binary
2936	// representation, whereas JSON representations use base64.
2937	//
2938	// Currently, this field only works for BatchAnnotateFiles requests. It does
2939	// not work for AsyncBatchAnnotateFiles requests.
2940	Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
2941	// The type of the file. Currently only "application/pdf", "image/tiff" and
2942	// "image/gif" are supported. Wildcards are not supported.
2943	MimeType string `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
2944}
2945
2946func (x *InputConfig) Reset() {
2947	*x = InputConfig{}
2948	if protoimpl.UnsafeEnabled {
2949		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[34]
2950		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2951		ms.StoreMessageInfo(mi)
2952	}
2953}
2954
2955func (x *InputConfig) String() string {
2956	return protoimpl.X.MessageStringOf(x)
2957}
2958
2959func (*InputConfig) ProtoMessage() {}
2960
2961func (x *InputConfig) ProtoReflect() protoreflect.Message {
2962	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[34]
2963	if protoimpl.UnsafeEnabled && x != nil {
2964		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2965		if ms.LoadMessageInfo() == nil {
2966			ms.StoreMessageInfo(mi)
2967		}
2968		return ms
2969	}
2970	return mi.MessageOf(x)
2971}
2972
2973// Deprecated: Use InputConfig.ProtoReflect.Descriptor instead.
2974func (*InputConfig) Descriptor() ([]byte, []int) {
2975	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{34}
2976}
2977
2978func (x *InputConfig) GetGcsSource() *GcsSource {
2979	if x != nil {
2980		return x.GcsSource
2981	}
2982	return nil
2983}
2984
2985func (x *InputConfig) GetContent() []byte {
2986	if x != nil {
2987		return x.Content
2988	}
2989	return nil
2990}
2991
2992func (x *InputConfig) GetMimeType() string {
2993	if x != nil {
2994		return x.MimeType
2995	}
2996	return ""
2997}
2998
2999// The desired output location and metadata.
3000type OutputConfig struct {
3001	state         protoimpl.MessageState
3002	sizeCache     protoimpl.SizeCache
3003	unknownFields protoimpl.UnknownFields
3004
3005	// The Google Cloud Storage location to write the output(s) to.
3006	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3" json:"gcs_destination,omitempty"`
3007	// The max number of response protos to put into each output JSON file on
3008	// Google Cloud Storage.
3009	// The valid range is [1, 100]. If not specified, the default value is 20.
3010	//
3011	// For example, for one pdf file with 100 pages, 100 response protos will
3012	// be generated. If `batch_size` = 20, then 5 json files each
3013	// containing 20 response protos will be written under the prefix
3014	// `gcs_destination`.`uri`.
3015	//
3016	// Currently, batch_size only applies to GcsDestination, with potential future
3017	// support for other output configurations.
3018	BatchSize int32 `protobuf:"varint,2,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
3019}
3020
3021func (x *OutputConfig) Reset() {
3022	*x = OutputConfig{}
3023	if protoimpl.UnsafeEnabled {
3024		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[35]
3025		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3026		ms.StoreMessageInfo(mi)
3027	}
3028}
3029
3030func (x *OutputConfig) String() string {
3031	return protoimpl.X.MessageStringOf(x)
3032}
3033
3034func (*OutputConfig) ProtoMessage() {}
3035
3036func (x *OutputConfig) ProtoReflect() protoreflect.Message {
3037	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[35]
3038	if protoimpl.UnsafeEnabled && x != nil {
3039		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3040		if ms.LoadMessageInfo() == nil {
3041			ms.StoreMessageInfo(mi)
3042		}
3043		return ms
3044	}
3045	return mi.MessageOf(x)
3046}
3047
3048// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead.
3049func (*OutputConfig) Descriptor() ([]byte, []int) {
3050	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{35}
3051}
3052
3053func (x *OutputConfig) GetGcsDestination() *GcsDestination {
3054	if x != nil {
3055		return x.GcsDestination
3056	}
3057	return nil
3058}
3059
3060func (x *OutputConfig) GetBatchSize() int32 {
3061	if x != nil {
3062		return x.BatchSize
3063	}
3064	return 0
3065}
3066
3067// The Google Cloud Storage location where the input will be read from.
3068type GcsSource struct {
3069	state         protoimpl.MessageState
3070	sizeCache     protoimpl.SizeCache
3071	unknownFields protoimpl.UnknownFields
3072
3073	// Google Cloud Storage URI for the input file. This must only be a
3074	// Google Cloud Storage object. Wildcards are not currently supported.
3075	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
3076}
3077
3078func (x *GcsSource) Reset() {
3079	*x = GcsSource{}
3080	if protoimpl.UnsafeEnabled {
3081		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[36]
3082		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3083		ms.StoreMessageInfo(mi)
3084	}
3085}
3086
3087func (x *GcsSource) String() string {
3088	return protoimpl.X.MessageStringOf(x)
3089}
3090
3091func (*GcsSource) ProtoMessage() {}
3092
3093func (x *GcsSource) ProtoReflect() protoreflect.Message {
3094	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[36]
3095	if protoimpl.UnsafeEnabled && x != nil {
3096		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3097		if ms.LoadMessageInfo() == nil {
3098			ms.StoreMessageInfo(mi)
3099		}
3100		return ms
3101	}
3102	return mi.MessageOf(x)
3103}
3104
3105// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead.
3106func (*GcsSource) Descriptor() ([]byte, []int) {
3107	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{36}
3108}
3109
3110func (x *GcsSource) GetUri() string {
3111	if x != nil {
3112		return x.Uri
3113	}
3114	return ""
3115}
3116
3117// The Google Cloud Storage location where the output will be written to.
3118type GcsDestination struct {
3119	state         protoimpl.MessageState
3120	sizeCache     protoimpl.SizeCache
3121	unknownFields protoimpl.UnknownFields
3122
3123	// Google Cloud Storage URI prefix where the results will be stored. Results
3124	// will be in JSON format and preceded by its corresponding input URI prefix.
3125	// This field can either represent a gcs file prefix or gcs directory. In
3126	// either case, the uri should be unique because in order to get all of the
3127	// output files, you will need to do a wildcard gcs search on the uri prefix
3128	// you provide.
3129	//
3130	// Examples:
3131	//
3132	// *    File Prefix: gs://bucket-name/here/filenameprefix   The output files
3133	// will be created in gs://bucket-name/here/ and the names of the
3134	// output files will begin with "filenameprefix".
3135	//
3136	// *    Directory Prefix: gs://bucket-name/some/location/   The output files
3137	// will be created in gs://bucket-name/some/location/ and the names of the
3138	// output files could be anything because there was no filename prefix
3139	// specified.
3140	//
3141	// If multiple outputs, each response is still AnnotateFileResponse, each of
3142	// which contains some subset of the full list of AnnotateImageResponse.
3143	// Multiple outputs can happen if, for example, the output JSON is too large
3144	// and overflows into multiple sharded files.
3145	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
3146}
3147
3148func (x *GcsDestination) Reset() {
3149	*x = GcsDestination{}
3150	if protoimpl.UnsafeEnabled {
3151		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[37]
3152		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3153		ms.StoreMessageInfo(mi)
3154	}
3155}
3156
3157func (x *GcsDestination) String() string {
3158	return protoimpl.X.MessageStringOf(x)
3159}
3160
3161func (*GcsDestination) ProtoMessage() {}
3162
3163func (x *GcsDestination) ProtoReflect() protoreflect.Message {
3164	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[37]
3165	if protoimpl.UnsafeEnabled && x != nil {
3166		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3167		if ms.LoadMessageInfo() == nil {
3168			ms.StoreMessageInfo(mi)
3169		}
3170		return ms
3171	}
3172	return mi.MessageOf(x)
3173}
3174
3175// Deprecated: Use GcsDestination.ProtoReflect.Descriptor instead.
3176func (*GcsDestination) Descriptor() ([]byte, []int) {
3177	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{37}
3178}
3179
3180func (x *GcsDestination) GetUri() string {
3181	if x != nil {
3182		return x.Uri
3183	}
3184	return ""
3185}
3186
3187// Contains metadata for the BatchAnnotateImages operation.
3188type OperationMetadata struct {
3189	state         protoimpl.MessageState
3190	sizeCache     protoimpl.SizeCache
3191	unknownFields protoimpl.UnknownFields
3192
3193	// Current state of the batch operation.
3194	State OperationMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.vision.v1p4beta1.OperationMetadata_State" json:"state,omitempty"`
3195	// The time when the batch request was received.
3196	CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
3197	// The time when the operation result was last updated.
3198	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
3199}
3200
3201func (x *OperationMetadata) Reset() {
3202	*x = OperationMetadata{}
3203	if protoimpl.UnsafeEnabled {
3204		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[38]
3205		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3206		ms.StoreMessageInfo(mi)
3207	}
3208}
3209
3210func (x *OperationMetadata) String() string {
3211	return protoimpl.X.MessageStringOf(x)
3212}
3213
3214func (*OperationMetadata) ProtoMessage() {}
3215
3216func (x *OperationMetadata) ProtoReflect() protoreflect.Message {
3217	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[38]
3218	if protoimpl.UnsafeEnabled && x != nil {
3219		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3220		if ms.LoadMessageInfo() == nil {
3221			ms.StoreMessageInfo(mi)
3222		}
3223		return ms
3224	}
3225	return mi.MessageOf(x)
3226}
3227
3228// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead.
3229func (*OperationMetadata) Descriptor() ([]byte, []int) {
3230	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{38}
3231}
3232
3233func (x *OperationMetadata) GetState() OperationMetadata_State {
3234	if x != nil {
3235		return x.State
3236	}
3237	return OperationMetadata_STATE_UNSPECIFIED
3238}
3239
3240func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp {
3241	if x != nil {
3242		return x.CreateTime
3243	}
3244	return nil
3245}
3246
3247func (x *OperationMetadata) GetUpdateTime() *timestamppb.Timestamp {
3248	if x != nil {
3249		return x.UpdateTime
3250	}
3251	return nil
3252}
3253
3254// A face-specific landmark (for example, a face feature).
3255type FaceAnnotation_Landmark struct {
3256	state         protoimpl.MessageState
3257	sizeCache     protoimpl.SizeCache
3258	unknownFields protoimpl.UnknownFields
3259
3260	// Face landmark type.
3261	Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.vision.v1p4beta1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
3262	// Face landmark position.
3263	Position *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
3264}
3265
3266func (x *FaceAnnotation_Landmark) Reset() {
3267	*x = FaceAnnotation_Landmark{}
3268	if protoimpl.UnsafeEnabled {
3269		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[39]
3270		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3271		ms.StoreMessageInfo(mi)
3272	}
3273}
3274
3275func (x *FaceAnnotation_Landmark) String() string {
3276	return protoimpl.X.MessageStringOf(x)
3277}
3278
3279func (*FaceAnnotation_Landmark) ProtoMessage() {}
3280
3281func (x *FaceAnnotation_Landmark) ProtoReflect() protoreflect.Message {
3282	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[39]
3283	if protoimpl.UnsafeEnabled && x != nil {
3284		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3285		if ms.LoadMessageInfo() == nil {
3286			ms.StoreMessageInfo(mi)
3287		}
3288		return ms
3289	}
3290	return mi.MessageOf(x)
3291}
3292
3293// Deprecated: Use FaceAnnotation_Landmark.ProtoReflect.Descriptor instead.
3294func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) {
3295	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{3, 0}
3296}
3297
3298func (x *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
3299	if x != nil {
3300		return x.Type
3301	}
3302	return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
3303}
3304
3305func (x *FaceAnnotation_Landmark) GetPosition() *Position {
3306	if x != nil {
3307		return x.Position
3308	}
3309	return nil
3310}
3311
3312var File_google_cloud_vision_v1p4beta1_image_annotator_proto protoreflect.FileDescriptor
3313
3314var file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc = []byte{
3315	0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
3316	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
3317	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x2e,
3318	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3319	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3320	0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
3321	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
3322	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
3323	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
3324	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
3325	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f,
3326	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f,
3327	0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x61, 0x63, 0x65,
3328	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63,
3329	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34,
3330	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70,
3331	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
3332	0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3333	0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72,
3334	0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3335	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31,
3336	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e,
3337	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67,
3338	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69,
3339	0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x65, 0x62,
3340	0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3341	0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
3342	0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
3343	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
3344	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73,
3345	0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
3346	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
3347	0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3348	0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3349	0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x63,
3350	0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67,
3351	0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6c, 0x61, 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70,
3352	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x03, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
3353	0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b,
3354	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3355	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46,
3356	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
3357	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
3358	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c,
3359	0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
3360	0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0xa3, 0x02, 0x0a, 0x04, 0x54, 0x79, 0x70,
3361	0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
3362	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x43, 0x45, 0x5f,
3363	0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c,
3364	0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f,
3365	0x4e, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x4f, 0x5f, 0x44, 0x45, 0x54, 0x45,
3366	0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x41, 0x42, 0x45, 0x4c,
3367	0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e,
3368	0x54, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05,
3369	0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x45, 0x58,
3370	0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0b, 0x12, 0x19, 0x0a,
3371	0x15, 0x53, 0x41, 0x46, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x44, 0x45, 0x54,
3372	0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4d, 0x41, 0x47,
3373	0x45, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0e,
3374	0x0a, 0x0a, 0x43, 0x52, 0x4f, 0x50, 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x53, 0x10, 0x09, 0x12, 0x11,
3375	0x0a, 0x0d, 0x57, 0x45, 0x42, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10,
3376	0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x41,
3377	0x52, 0x43, 0x48, 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f,
3378	0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x13, 0x22, 0x4e,
3379	0x0a, 0x0b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a,
3380	0x0d, 0x67, 0x63, 0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01,
3381	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x63, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72,
3382	0x69, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02,
3383	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x22, 0x65,
3384	0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
3385	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
3386	0x74, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
3387	0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3388	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3389	0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73,
3390	0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8a, 0x11, 0x0a, 0x0e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e,
3391	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e,
3392	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
3393	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3394	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3395	0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f,
3396	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x55, 0x0a, 0x10, 0x66, 0x64,
3397	0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x02,
3398	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3399	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3400	0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
3401	0x79, 0x52, 0x0e, 0x66, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
3402	0x79, 0x12, 0x54, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x03,
3403	0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3404	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3405	0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3406	0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x09, 0x6c, 0x61,
3407	0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x6c, 0x5f,
3408	0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x72, 0x6f, 0x6c,
3409	0x6c, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x6e, 0x5f, 0x61, 0x6e,
3410	0x67, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x70, 0x61, 0x6e, 0x41, 0x6e,
3411	0x67, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c,
3412	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6c, 0x74, 0x41, 0x6e, 0x67,
3413	0x6c, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
3414	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02,
3415	0x52, 0x13, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
3416	0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72,
3417	0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18,
3418	0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x69,
3419	0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0e,
3420	0x6a, 0x6f, 0x79, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x09,
3421	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3422	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3423	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3424	0x0d, 0x6a, 0x6f, 0x79, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x56,
3425	0x0a, 0x11, 0x73, 0x6f, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3426	0x6f, 0x6f, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3427	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3428	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3429	0x68, 0x6f, 0x6f, 0x64, 0x52, 0x10, 0x73, 0x6f, 0x72, 0x72, 0x6f, 0x77, 0x4c, 0x69, 0x6b, 0x65,
3430	0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x54, 0x0a, 0x10, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f,
3431	0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e,
3432	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3433	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3434	0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x0f, 0x61, 0x6e, 0x67,
3435	0x65, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x13,
3436	0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3437	0x6f, 0x6f, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3438	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3439	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3440	0x68, 0x6f, 0x6f, 0x64, 0x52, 0x12, 0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x4c, 0x69,
3441	0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x75, 0x6e, 0x64, 0x65,
3442	0x72, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3443	0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
3444	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3445	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c,
3446	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x16, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x45, 0x78, 0x70, 0x6f,
3447	0x73, 0x65, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x58, 0x0a,
3448	0x12, 0x62, 0x6c, 0x75, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3449	0x6f, 0x6f, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3450	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3451	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3452	0x68, 0x6f, 0x6f, 0x64, 0x52, 0x11, 0x62, 0x6c, 0x75, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x6b,
3453	0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x64, 0x77,
3454	0x65, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0f,
3455	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3456	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3457	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3458	0x12, 0x68, 0x65, 0x61, 0x64, 0x77, 0x65, 0x61, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3459	0x6f, 0x6f, 0x64, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69,
3460	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32,
3461	0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3462	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3463	0x46, 0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3464	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69,
3465	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xd7, 0x07, 0x0a, 0x08, 0x4c, 0x61, 0x6e,
3466	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x4f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
3467	0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3468	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3469	0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
3470	0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65,
3471	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
3472	0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3473	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3474	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
3475	0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x06, 0x0a, 0x04,
3476	0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f,
3477	0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x45,
3478	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x49, 0x47, 0x48,
3479	0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x45, 0x46, 0x54, 0x5f,
3480	0x4f, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10,
3481	0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4c, 0x45,
3482	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15,
3483	0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59,
3484	0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54,
3485	0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f,
3486	0x57, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f,
3487	0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x45, 0x59, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0c,
3488	0x0a, 0x08, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x54, 0x49, 0x50, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09,
3489	0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x50, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x4c,
3490	0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x50, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f,
3491	0x55, 0x54, 0x48, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f,
3492	0x55, 0x54, 0x48, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x4d,
3493	0x4f, 0x55, 0x54, 0x48, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x15, 0x0a,
3494	0x11, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x52, 0x49, 0x47,
3495	0x48, 0x54, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54,
3496	0x54, 0x4f, 0x4d, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x4f,
3497	0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52,
3498	0x10, 0x10, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x54,
3499	0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x11, 0x12, 0x19, 0x0a,
3500	0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f,
3501	0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x12, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x46, 0x54,
3502	0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x42, 0x4f, 0x55, 0x4e,
3503	0x44, 0x41, 0x52, 0x59, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45,
3504	0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x14,
3505	0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x54, 0x4f,
3506	0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x15, 0x12, 0x1a, 0x0a, 0x16,
3507	0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f,
3508	0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x16, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x49, 0x47, 0x48,
3509	0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x42, 0x4f, 0x55,
3510	0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x17, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x49, 0x47, 0x48, 0x54,
3511	0x5f, 0x45, 0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52,
3512	0x10, 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52,
3513	0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e,
3514	0x54, 0x10, 0x19, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45,
3515	0x42, 0x52, 0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x50, 0x4f,
3516	0x49, 0x4e, 0x54, 0x10, 0x1a, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x41,
3517	0x52, 0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0x1b, 0x12, 0x15, 0x0a, 0x11, 0x52,
3518	0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x41, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f, 0x4e,
3519	0x10, 0x1c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x50,
3520	0x55, 0x50, 0x49, 0x4c, 0x10, 0x1d, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f,
3521	0x45, 0x59, 0x45, 0x5f, 0x50, 0x55, 0x50, 0x49, 0x4c, 0x10, 0x1e, 0x12, 0x15, 0x0a, 0x11, 0x46,
3522	0x4f, 0x52, 0x45, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x47, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x4c, 0x41,
3523	0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x47, 0x4e, 0x41, 0x54, 0x48,
3524	0x49, 0x4f, 0x4e, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x4c, 0x45,
3525	0x46, 0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x21, 0x12, 0x15, 0x0a, 0x11, 0x43,
3526	0x48, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f, 0x4e,
3527	0x10, 0x22, 0x22, 0x3c, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
3528	0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x01, 0x20,
3529	0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70,
3530	0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x4c, 0x6e, 0x67,
3531	0x22, 0x57, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04,
3532	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3533	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3534	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
3535	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x69,
3536	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9e, 0x03, 0x0a, 0x10, 0x45, 0x6e,
3537	0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,
3538	0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64,
3539	0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3540	0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
3541	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
3542	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63,
3543	0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
3544	0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05,
3545	0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
3546	0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x69,
3547	0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x61,
3548	0x6c, 0x69, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67,
3549	0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
3550	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3551	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e,
3552	0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69,
3553	0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3554	0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3555	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3556	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3557	0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3558	0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
3559	0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3560	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
3561	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x0a,
3562	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x4c,
3563	0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e,
3564	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18,
3565	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61,
3566	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
3567	0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12,
3568	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
3569	0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01,
3570	0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75,
3571	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
3572	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3573	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3574	0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62,
3575	0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x22, 0xe3, 0x02, 0x0a, 0x14,
3576	0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3577	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20,
3578	0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3579	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3580	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x05,
3581	0x61, 0x64, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x18, 0x02,
3582	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3583	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3584	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3585	0x05, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61,
3586	0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3587	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3588	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f,
3589	0x6f, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x45, 0x0a, 0x08, 0x76,
3590	0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e,
3591	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3592	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69,
3593	0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x08, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e,
3594	0x63, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e,
3595	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3596	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3597	0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x04, 0x72, 0x61, 0x63,
3598	0x79, 0x22, 0x77, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74,
3599	0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18,
3600	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74,
3601	0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c,
3602	0x61, 0x74, 0x4c, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x61, 0x74,
3603	0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f,
3604	0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52,
3605	0x09, 0x6d, 0x61, 0x78, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x22, 0x72, 0x0a, 0x09, 0x43, 0x6f,
3606	0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
3607	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3608	0x74, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f,
3609	0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
3610	0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x69, 0x78, 0x65, 0x6c,
3611	0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52,
3612	0x0d, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c,
3613	0x0a, 0x18, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73,
3614	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f,
3615	0x6c, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
3616	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3617	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
3618	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x22, 0x73, 0x0a, 0x0f,
3619	0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12,
3620	0x60, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f,
3621	0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3622	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3623	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e,
3624	0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3625	0x6e, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
3626	0x73, 0x22, 0xad, 0x01, 0x0a, 0x08, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x50,
3627	0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18,
3628	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3629	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
3630	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f,
3631	0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79,
3632	0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02,
3633	0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,
3634	0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66,
3635	0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x69,
3636	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,
3637	0x6e, 0x22, 0x5d, 0x0a, 0x13, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e,
3638	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0a, 0x63, 0x72, 0x6f, 0x70,
3639	0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67,
3640	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3641	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x6f,
3642	0x70, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73,
3643	0x22, 0x36, 0x0a, 0x0f, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72,
3644	0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61,
3645	0x74, 0x69, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x73, 0x70, 0x65,
3646	0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x57, 0x65, 0x62, 0x44,
3647	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2e,
3648	0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x65, 0x6f, 0x5f, 0x72, 0x65,
3649	0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x63,
3650	0x6c, 0x75, 0x64, 0x65, 0x47, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x69,
3651	0x0a, 0x13, 0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50,
3652	0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x52, 0x0a, 0x26, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f,
3653	0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,
3654	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
3655	0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x65, 0x78,
3656	0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64,
3657	0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x84, 0x05, 0x0a, 0x0c, 0x49, 0x6d,
3658	0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4e, 0x0a, 0x0d, 0x6c, 0x61,
3659	0x74, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
3660	0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3661	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3662	0x31, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x6c,
3663	0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61,
3664	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
3665	0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x48, 0x69, 0x6e, 0x74,
3666	0x73, 0x12, 0x5a, 0x0a, 0x11, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x5f,
3667	0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67,
3668	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3669	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x6f,
3670	0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0f, 0x63, 0x72,
3671	0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x6c, 0x0a,
3672	0x17, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f,
3673	0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34,
3674	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3675	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46,
3676	0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61,
3677	0x72, 0x61, 0x6d, 0x73, 0x52, 0x15, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e,
3678	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x66, 0x0a, 0x15, 0x70,
3679	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x70, 0x61,
3680	0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
3681	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3682	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
3683	0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13,
3684	0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x72,
3685	0x61, 0x6d, 0x73, 0x12, 0x63, 0x0a, 0x14, 0x77, 0x65, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63,
3686	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
3687	0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3688	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3689	0x31, 0x2e, 0x57, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61,
3690	0x72, 0x61, 0x6d, 0x73, 0x52, 0x12, 0x77, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
3691	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x66, 0x0a, 0x15, 0x74, 0x65, 0x78, 0x74,
3692	0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
3693	0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3694	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3695	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65,
3696	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x74, 0x65, 0x78,
3697	0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
3698	0x22, 0xe8, 0x01, 0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61,
3699	0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x6d, 0x61,
3700	0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3701	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3702	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05,
3703	0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
3704	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3705	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3706	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52,
3707	0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x6d, 0x61,
3708	0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
3709	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3710	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3711	0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x69,
3712	0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x4b, 0x0a, 0x16, 0x49,
3713	0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
3714	0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01,
3715	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x65, 0x5f,
3716	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61,
3717	0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xc3, 0x0a, 0x0a, 0x15, 0x41, 0x6e, 0x6e,
3718	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3719	0x73, 0x65, 0x12, 0x58, 0x0a, 0x10, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
3720	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
3721	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3722	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63,
3723	0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x61, 0x63,
3724	0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x14,
3725	0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3726	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
3727	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3728	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
3729	0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6c, 0x61, 0x6e,
3730	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3731	0x12, 0x5a, 0x0a, 0x10, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3732	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
3733	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3734	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
3735	0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6c, 0x6f, 0x67,
3736	0x6f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x11,
3737	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3738	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3739	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3740	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e,
3741	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x41,
3742	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7a, 0x0a, 0x1c, 0x6c, 0x6f,
3743	0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61,
3744	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b,
3745	0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3746	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3747	0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
3748	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x6c, 0x6f, 0x63, 0x61,
3749	0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
3750	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61,
3751	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
3752	0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3753	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3754	0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3755	0x6e, 0x52, 0x0f, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3756	0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f,
3757	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
3758	0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3759	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3760	0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3761	0x12, 0x66, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3762	0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x16, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72,
3763	0x63, 0x68, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20,
3764	0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3765	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3766	0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e,
3767	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x73, 0x61, 0x66, 0x65, 0x53, 0x65,
3768	0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6e,
3769	0x0a, 0x1b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
3770	0x65, 0x73, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20,
3771	0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3772	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3773	0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
3774	0x69, 0x65, 0x73, 0x52, 0x19, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
3775	0x74, 0x69, 0x65, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66,
3776	0x0a, 0x15, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x6e, 0x6e,
3777	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e,
3778	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3779	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72,
3780	0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3781	0x6e, 0x52, 0x13, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x6e, 0x6f,
3782	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, 0x64, 0x65,
3783	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
3784	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3785	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x65,
3786	0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x44,
3787	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x64,
3788	0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c,
3789	0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3790	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3791	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
3792	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x14, 0x70,
3793	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75,
3794	0x6c, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01,
3795	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
3796	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4f, 0x0a,
3797	0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35,
3798	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3799	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49,
3800	0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
3801	0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x72,
3802	0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49,
3803	0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x08,
3804	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33,
3805	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3806	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41,
3807	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75,
3808	0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
3809	0x74, 0x73, 0x22, 0x71, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
3810	0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3811	0x65, 0x12, 0x52, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01,
3812	0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3813	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3814	0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61,
3815	0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70,
3816	0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x90, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3817	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a,
3818	0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20,
3819	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3820	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3821	0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
3822	0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x08,
3823	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26,
3824	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3825	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46,
3826	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
3827	0x12, 0x50, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
3828	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3829	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3830	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e,
3831	0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
3832	0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
3833	0x05, 0x52, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x14, 0x41, 0x6e, 0x6e,
3834	0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3835	0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
3836	0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3837	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3838	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
3839	0x66, 0x69, 0x67, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
3840	0x12, 0x52, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20,
3841	0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3842	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3843	0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
3844	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f,
3845	0x6e, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61,
3846	0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c,
3847	0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04,
3848	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
3849	0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
3850	0x70, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65,
3851	0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x08,
3852	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32,
3853	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3854	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41,
3855	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
3856	0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3857	0x73, 0x22, 0x6f, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3858	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3859	0x51, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
3860	0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3861	0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
3862	0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52,
3863	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3864	0x65, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x18, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f,
3865	0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
3866	0x4d, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
3867	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3868	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
3869	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
3870	0x67, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42,
3871	0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
3872	0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3873	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3874	0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
3875	0x65, 0x73, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
3876	0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3877	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3878	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43,
3879	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e,
3880	0x74, 0x65, 0x78, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63,
3881	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
3882	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3883	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70,
3884	0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
3885	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x6d, 0x0a, 0x19, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41,
3886	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
3887	0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f,
3888	0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
3889	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3890	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75,
3891	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43,
3892	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1f, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42,
3893	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
3894	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x08, 0x72, 0x65, 0x71,
3895	0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f,
3896	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3897	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f,
3898	0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3899	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12,
3900	0x55, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
3901	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3902	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
3903	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
3904	0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
3905	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x74, 0x0a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42,
3906	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
3907	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x6f, 0x75,
3908	0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
3909	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3910	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3911	0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c,
3912	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x7a, 0x0a, 0x1e,
3913	0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3914	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58,
3915	0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3916	0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3917	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3918	0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69,
3919	0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08,
3920	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x79, 0x0a, 0x1f, 0x41, 0x73, 0x79, 0x6e,
3921	0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69,
3922	0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x72,
3923	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38,
3924	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3925	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41,
3926	0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65,
3927	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3928	0x73, 0x65, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
3929	0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
3930	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3931	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3932	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63,
3933	0x65, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07,
3934	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63,
3935	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74,
3936	0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54,
3937	0x79, 0x70, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f,
3938	0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74,
3939	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
3940	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3941	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63,
3942	0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x67, 0x63,
3943	0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a,
3944	0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
3945	0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x1d, 0x0a, 0x09, 0x47,
3946	0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18,
3947	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x22, 0x0a, 0x0e, 0x47, 0x63,
3948	0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03,
3949	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xae,
3950	0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61,
3951	0x64, 0x61, 0x74, 0x61, 0x12, 0x4c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20,
3952	0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3953	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3954	0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
3955	0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
3956	0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
3957	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3958	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
3959	0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
3960	0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06,
3961	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3962	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
3963	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x05,
3964	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55,
3965	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
3966	0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e,
3967	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x03,
3968	0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x2a,
3969	0x65, 0x0a, 0x0a, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x0b, 0x0a,
3970	0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x45,
3971	0x52, 0x59, 0x5f, 0x55, 0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a,
3972	0x08, 0x55, 0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50,
3973	0x4f, 0x53, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x4b,
3974	0x45, 0x4c, 0x59, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x49,
3975	0x4b, 0x45, 0x4c, 0x59, 0x10, 0x05, 0x32, 0xf1, 0x07, 0x0a, 0x0e, 0x49, 0x6d, 0x61, 0x67, 0x65,
3976	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0xbe, 0x01, 0x0a, 0x13, 0x42, 0x61,
3977	0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65,
3978	0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3979	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3980	0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49,
3981	0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67,
3982	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3983	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74,
3984	0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73,
3985	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f,
3986	0x22, 0x1a, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6d, 0x61,
3987	0x67, 0x65, 0x73, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda,
3988	0x41, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x12, 0x42,
3989	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65,
3990	0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3991	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3992	0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46,
3993	0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f,
3994	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3995	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63,
3996	0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65,
3997	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19,
3998	0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73,
3999	0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x72,
4000	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0xfc, 0x01, 0x0a, 0x18, 0x41, 0x73, 0x79, 0x6e,
4001	0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d,
4002	0x61, 0x67, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4003	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
4004	0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41,
4005	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71,
4006	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f,
4007	0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
4008	0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x22, 0x24, 0x2f, 0x76,
4009	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x3a,
4010	0x61, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
4011	0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
4012	0x2c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xca, 0x41,
4013	0x35, 0x0a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e,
4014	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
4015	0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
4016	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe9, 0x01, 0x0a, 0x17, 0x41, 0x73, 0x79, 0x6e, 0x63,
4017	0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c,
4018	0x65, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
4019	0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
4020	0x61, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e,
4021	0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4022	0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
4023	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4024	0x22, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62,
4025	0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x61, 0x73, 0x79, 0x6e, 0x63,
4026	0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a,
4027	0xda, 0x41, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0xca, 0x41, 0x34, 0x0a, 0x1f,
4028	0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
4029	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4030	0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
4031	0x74, 0x61, 0x1a, 0x76, 0xca, 0x41, 0x15, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f,
4032	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x5b, 0x68,
4033	0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4034	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63,
4035	0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74,
4036	0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4037	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c,
4038	0x6f, 0x75, 0x64, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x89, 0x01, 0x0a, 0x21, 0x63,
4039	0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4040	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
4041	0x42, 0x13, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72,
4042	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4043	0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72,
4044	0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63,
4045	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34,
4046	0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0xf8, 0x01, 0x01, 0xa2,
4047	0x02, 0x04, 0x47, 0x43, 0x56, 0x4e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
4048}
4049
4050var (
4051	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescOnce sync.Once
4052	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData = file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc
4053)
4054
4055func file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP() []byte {
4056	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescOnce.Do(func() {
4057		file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData)
4058	})
4059	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData
4060}
4061
4062var file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
4063var file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes = make([]protoimpl.MessageInfo, 40)
4064var file_google_cloud_vision_v1p4beta1_image_annotator_proto_goTypes = []interface{}{
4065	(Likelihood)(0),                          // 0: google.cloud.vision.v1p4beta1.Likelihood
4066	(Feature_Type)(0),                        // 1: google.cloud.vision.v1p4beta1.Feature.Type
4067	(FaceAnnotation_Landmark_Type)(0),        // 2: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type
4068	(OperationMetadata_State)(0),             // 3: google.cloud.vision.v1p4beta1.OperationMetadata.State
4069	(*Feature)(nil),                          // 4: google.cloud.vision.v1p4beta1.Feature
4070	(*ImageSource)(nil),                      // 5: google.cloud.vision.v1p4beta1.ImageSource
4071	(*Image)(nil),                            // 6: google.cloud.vision.v1p4beta1.Image
4072	(*FaceAnnotation)(nil),                   // 7: google.cloud.vision.v1p4beta1.FaceAnnotation
4073	(*LocationInfo)(nil),                     // 8: google.cloud.vision.v1p4beta1.LocationInfo
4074	(*Property)(nil),                         // 9: google.cloud.vision.v1p4beta1.Property
4075	(*EntityAnnotation)(nil),                 // 10: google.cloud.vision.v1p4beta1.EntityAnnotation
4076	(*LocalizedObjectAnnotation)(nil),        // 11: google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation
4077	(*SafeSearchAnnotation)(nil),             // 12: google.cloud.vision.v1p4beta1.SafeSearchAnnotation
4078	(*LatLongRect)(nil),                      // 13: google.cloud.vision.v1p4beta1.LatLongRect
4079	(*ColorInfo)(nil),                        // 14: google.cloud.vision.v1p4beta1.ColorInfo
4080	(*DominantColorsAnnotation)(nil),         // 15: google.cloud.vision.v1p4beta1.DominantColorsAnnotation
4081	(*ImageProperties)(nil),                  // 16: google.cloud.vision.v1p4beta1.ImageProperties
4082	(*CropHint)(nil),                         // 17: google.cloud.vision.v1p4beta1.CropHint
4083	(*CropHintsAnnotation)(nil),              // 18: google.cloud.vision.v1p4beta1.CropHintsAnnotation
4084	(*CropHintsParams)(nil),                  // 19: google.cloud.vision.v1p4beta1.CropHintsParams
4085	(*WebDetectionParams)(nil),               // 20: google.cloud.vision.v1p4beta1.WebDetectionParams
4086	(*TextDetectionParams)(nil),              // 21: google.cloud.vision.v1p4beta1.TextDetectionParams
4087	(*ImageContext)(nil),                     // 22: google.cloud.vision.v1p4beta1.ImageContext
4088	(*AnnotateImageRequest)(nil),             // 23: google.cloud.vision.v1p4beta1.AnnotateImageRequest
4089	(*ImageAnnotationContext)(nil),           // 24: google.cloud.vision.v1p4beta1.ImageAnnotationContext
4090	(*AnnotateImageResponse)(nil),            // 25: google.cloud.vision.v1p4beta1.AnnotateImageResponse
4091	(*BatchAnnotateImagesRequest)(nil),       // 26: google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest
4092	(*BatchAnnotateImagesResponse)(nil),      // 27: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse
4093	(*AnnotateFileRequest)(nil),              // 28: google.cloud.vision.v1p4beta1.AnnotateFileRequest
4094	(*AnnotateFileResponse)(nil),             // 29: google.cloud.vision.v1p4beta1.AnnotateFileResponse
4095	(*BatchAnnotateFilesRequest)(nil),        // 30: google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest
4096	(*BatchAnnotateFilesResponse)(nil),       // 31: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse
4097	(*AsyncAnnotateFileRequest)(nil),         // 32: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest
4098	(*AsyncAnnotateFileResponse)(nil),        // 33: google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse
4099	(*AsyncBatchAnnotateImagesRequest)(nil),  // 34: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest
4100	(*AsyncBatchAnnotateImagesResponse)(nil), // 35: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse
4101	(*AsyncBatchAnnotateFilesRequest)(nil),   // 36: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest
4102	(*AsyncBatchAnnotateFilesResponse)(nil),  // 37: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse
4103	(*InputConfig)(nil),                      // 38: google.cloud.vision.v1p4beta1.InputConfig
4104	(*OutputConfig)(nil),                     // 39: google.cloud.vision.v1p4beta1.OutputConfig
4105	(*GcsSource)(nil),                        // 40: google.cloud.vision.v1p4beta1.GcsSource
4106	(*GcsDestination)(nil),                   // 41: google.cloud.vision.v1p4beta1.GcsDestination
4107	(*OperationMetadata)(nil),                // 42: google.cloud.vision.v1p4beta1.OperationMetadata
4108	(*FaceAnnotation_Landmark)(nil),          // 43: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark
4109	(*BoundingPoly)(nil),                     // 44: google.cloud.vision.v1p4beta1.BoundingPoly
4110	(*FaceRecognitionResult)(nil),            // 45: google.cloud.vision.v1p4beta1.FaceRecognitionResult
4111	(*latlng.LatLng)(nil),                    // 46: google.type.LatLng
4112	(*color.Color)(nil),                      // 47: google.type.Color
4113	(*FaceRecognitionParams)(nil),            // 48: google.cloud.vision.v1p4beta1.FaceRecognitionParams
4114	(*ProductSearchParams)(nil),              // 49: google.cloud.vision.v1p4beta1.ProductSearchParams
4115	(*TextAnnotation)(nil),                   // 50: google.cloud.vision.v1p4beta1.TextAnnotation
4116	(*WebDetection)(nil),                     // 51: google.cloud.vision.v1p4beta1.WebDetection
4117	(*ProductSearchResults)(nil),             // 52: google.cloud.vision.v1p4beta1.ProductSearchResults
4118	(*status.Status)(nil),                    // 53: google.rpc.Status
4119	(*timestamppb.Timestamp)(nil),            // 54: google.protobuf.Timestamp
4120	(*Position)(nil),                         // 55: google.cloud.vision.v1p4beta1.Position
4121	(*longrunning.Operation)(nil),            // 56: google.longrunning.Operation
4122}
4123var file_google_cloud_vision_v1p4beta1_image_annotator_proto_depIdxs = []int32{
4124	1,  // 0: google.cloud.vision.v1p4beta1.Feature.type:type_name -> google.cloud.vision.v1p4beta1.Feature.Type
4125	5,  // 1: google.cloud.vision.v1p4beta1.Image.source:type_name -> google.cloud.vision.v1p4beta1.ImageSource
4126	44, // 2: google.cloud.vision.v1p4beta1.FaceAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4127	44, // 3: google.cloud.vision.v1p4beta1.FaceAnnotation.fd_bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4128	43, // 4: google.cloud.vision.v1p4beta1.FaceAnnotation.landmarks:type_name -> google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark
4129	0,  // 5: google.cloud.vision.v1p4beta1.FaceAnnotation.joy_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4130	0,  // 6: google.cloud.vision.v1p4beta1.FaceAnnotation.sorrow_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4131	0,  // 7: google.cloud.vision.v1p4beta1.FaceAnnotation.anger_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4132	0,  // 8: google.cloud.vision.v1p4beta1.FaceAnnotation.surprise_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4133	0,  // 9: google.cloud.vision.v1p4beta1.FaceAnnotation.under_exposed_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4134	0,  // 10: google.cloud.vision.v1p4beta1.FaceAnnotation.blurred_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4135	0,  // 11: google.cloud.vision.v1p4beta1.FaceAnnotation.headwear_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4136	45, // 12: google.cloud.vision.v1p4beta1.FaceAnnotation.recognition_result:type_name -> google.cloud.vision.v1p4beta1.FaceRecognitionResult
4137	46, // 13: google.cloud.vision.v1p4beta1.LocationInfo.lat_lng:type_name -> google.type.LatLng
4138	44, // 14: google.cloud.vision.v1p4beta1.EntityAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4139	8,  // 15: google.cloud.vision.v1p4beta1.EntityAnnotation.locations:type_name -> google.cloud.vision.v1p4beta1.LocationInfo
4140	9,  // 16: google.cloud.vision.v1p4beta1.EntityAnnotation.properties:type_name -> google.cloud.vision.v1p4beta1.Property
4141	44, // 17: google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4142	0,  // 18: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.adult:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4143	0,  // 19: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.spoof:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4144	0,  // 20: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.medical:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4145	0,  // 21: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.violence:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4146	0,  // 22: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.racy:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4147	46, // 23: google.cloud.vision.v1p4beta1.LatLongRect.min_lat_lng:type_name -> google.type.LatLng
4148	46, // 24: google.cloud.vision.v1p4beta1.LatLongRect.max_lat_lng:type_name -> google.type.LatLng
4149	47, // 25: google.cloud.vision.v1p4beta1.ColorInfo.color:type_name -> google.type.Color
4150	14, // 26: google.cloud.vision.v1p4beta1.DominantColorsAnnotation.colors:type_name -> google.cloud.vision.v1p4beta1.ColorInfo
4151	15, // 27: google.cloud.vision.v1p4beta1.ImageProperties.dominant_colors:type_name -> google.cloud.vision.v1p4beta1.DominantColorsAnnotation
4152	44, // 28: google.cloud.vision.v1p4beta1.CropHint.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4153	17, // 29: google.cloud.vision.v1p4beta1.CropHintsAnnotation.crop_hints:type_name -> google.cloud.vision.v1p4beta1.CropHint
4154	13, // 30: google.cloud.vision.v1p4beta1.ImageContext.lat_long_rect:type_name -> google.cloud.vision.v1p4beta1.LatLongRect
4155	19, // 31: google.cloud.vision.v1p4beta1.ImageContext.crop_hints_params:type_name -> google.cloud.vision.v1p4beta1.CropHintsParams
4156	48, // 32: google.cloud.vision.v1p4beta1.ImageContext.face_recognition_params:type_name -> google.cloud.vision.v1p4beta1.FaceRecognitionParams
4157	49, // 33: google.cloud.vision.v1p4beta1.ImageContext.product_search_params:type_name -> google.cloud.vision.v1p4beta1.ProductSearchParams
4158	20, // 34: google.cloud.vision.v1p4beta1.ImageContext.web_detection_params:type_name -> google.cloud.vision.v1p4beta1.WebDetectionParams
4159	21, // 35: google.cloud.vision.v1p4beta1.ImageContext.text_detection_params:type_name -> google.cloud.vision.v1p4beta1.TextDetectionParams
4160	6,  // 36: google.cloud.vision.v1p4beta1.AnnotateImageRequest.image:type_name -> google.cloud.vision.v1p4beta1.Image
4161	4,  // 37: google.cloud.vision.v1p4beta1.AnnotateImageRequest.features:type_name -> google.cloud.vision.v1p4beta1.Feature
4162	22, // 38: google.cloud.vision.v1p4beta1.AnnotateImageRequest.image_context:type_name -> google.cloud.vision.v1p4beta1.ImageContext
4163	7,  // 39: google.cloud.vision.v1p4beta1.AnnotateImageResponse.face_annotations:type_name -> google.cloud.vision.v1p4beta1.FaceAnnotation
4164	10, // 40: google.cloud.vision.v1p4beta1.AnnotateImageResponse.landmark_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4165	10, // 41: google.cloud.vision.v1p4beta1.AnnotateImageResponse.logo_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4166	10, // 42: google.cloud.vision.v1p4beta1.AnnotateImageResponse.label_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4167	11, // 43: google.cloud.vision.v1p4beta1.AnnotateImageResponse.localized_object_annotations:type_name -> google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation
4168	10, // 44: google.cloud.vision.v1p4beta1.AnnotateImageResponse.text_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4169	50, // 45: google.cloud.vision.v1p4beta1.AnnotateImageResponse.full_text_annotation:type_name -> google.cloud.vision.v1p4beta1.TextAnnotation
4170	12, // 46: google.cloud.vision.v1p4beta1.AnnotateImageResponse.safe_search_annotation:type_name -> google.cloud.vision.v1p4beta1.SafeSearchAnnotation
4171	16, // 47: google.cloud.vision.v1p4beta1.AnnotateImageResponse.image_properties_annotation:type_name -> google.cloud.vision.v1p4beta1.ImageProperties
4172	18, // 48: google.cloud.vision.v1p4beta1.AnnotateImageResponse.crop_hints_annotation:type_name -> google.cloud.vision.v1p4beta1.CropHintsAnnotation
4173	51, // 49: google.cloud.vision.v1p4beta1.AnnotateImageResponse.web_detection:type_name -> google.cloud.vision.v1p4beta1.WebDetection
4174	52, // 50: google.cloud.vision.v1p4beta1.AnnotateImageResponse.product_search_results:type_name -> google.cloud.vision.v1p4beta1.ProductSearchResults
4175	53, // 51: google.cloud.vision.v1p4beta1.AnnotateImageResponse.error:type_name -> google.rpc.Status
4176	24, // 52: google.cloud.vision.v1p4beta1.AnnotateImageResponse.context:type_name -> google.cloud.vision.v1p4beta1.ImageAnnotationContext
4177	23, // 53: google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageRequest
4178	25, // 54: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageResponse
4179	38, // 55: google.cloud.vision.v1p4beta1.AnnotateFileRequest.input_config:type_name -> google.cloud.vision.v1p4beta1.InputConfig
4180	4,  // 56: google.cloud.vision.v1p4beta1.AnnotateFileRequest.features:type_name -> google.cloud.vision.v1p4beta1.Feature
4181	22, // 57: google.cloud.vision.v1p4beta1.AnnotateFileRequest.image_context:type_name -> google.cloud.vision.v1p4beta1.ImageContext
4182	38, // 58: google.cloud.vision.v1p4beta1.AnnotateFileResponse.input_config:type_name -> google.cloud.vision.v1p4beta1.InputConfig
4183	25, // 59: google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageResponse
4184	53, // 60: google.cloud.vision.v1p4beta1.AnnotateFileResponse.error:type_name -> google.rpc.Status
4185	28, // 61: google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AnnotateFileRequest
4186	29, // 62: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AnnotateFileResponse
4187	38, // 63: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.input_config:type_name -> google.cloud.vision.v1p4beta1.InputConfig
4188	4,  // 64: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.features:type_name -> google.cloud.vision.v1p4beta1.Feature
4189	22, // 65: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.image_context:type_name -> google.cloud.vision.v1p4beta1.ImageContext
4190	39, // 66: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4191	39, // 67: google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4192	23, // 68: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageRequest
4193	39, // 69: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4194	39, // 70: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4195	32, // 71: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest
4196	33, // 72: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse
4197	40, // 73: google.cloud.vision.v1p4beta1.InputConfig.gcs_source:type_name -> google.cloud.vision.v1p4beta1.GcsSource
4198	41, // 74: google.cloud.vision.v1p4beta1.OutputConfig.gcs_destination:type_name -> google.cloud.vision.v1p4beta1.GcsDestination
4199	3,  // 75: google.cloud.vision.v1p4beta1.OperationMetadata.state:type_name -> google.cloud.vision.v1p4beta1.OperationMetadata.State
4200	54, // 76: google.cloud.vision.v1p4beta1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp
4201	54, // 77: google.cloud.vision.v1p4beta1.OperationMetadata.update_time:type_name -> google.protobuf.Timestamp
4202	2,  // 78: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.type:type_name -> google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type
4203	55, // 79: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.position:type_name -> google.cloud.vision.v1p4beta1.Position
4204	26, // 80: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages:input_type -> google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest
4205	30, // 81: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles:input_type -> google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest
4206	34, // 82: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages:input_type -> google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest
4207	36, // 83: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles:input_type -> google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest
4208	27, // 84: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages:output_type -> google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse
4209	31, // 85: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles:output_type -> google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse
4210	56, // 86: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages:output_type -> google.longrunning.Operation
4211	56, // 87: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles:output_type -> google.longrunning.Operation
4212	84, // [84:88] is the sub-list for method output_type
4213	80, // [80:84] is the sub-list for method input_type
4214	80, // [80:80] is the sub-list for extension type_name
4215	80, // [80:80] is the sub-list for extension extendee
4216	0,  // [0:80] is the sub-list for field type_name
4217}
4218
4219func init() { file_google_cloud_vision_v1p4beta1_image_annotator_proto_init() }
4220func file_google_cloud_vision_v1p4beta1_image_annotator_proto_init() {
4221	if File_google_cloud_vision_v1p4beta1_image_annotator_proto != nil {
4222		return
4223	}
4224	file_google_cloud_vision_v1p4beta1_face_proto_init()
4225	file_google_cloud_vision_v1p4beta1_geometry_proto_init()
4226	file_google_cloud_vision_v1p4beta1_product_search_proto_init()
4227	file_google_cloud_vision_v1p4beta1_text_annotation_proto_init()
4228	file_google_cloud_vision_v1p4beta1_web_detection_proto_init()
4229	if !protoimpl.UnsafeEnabled {
4230		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4231			switch v := v.(*Feature); i {
4232			case 0:
4233				return &v.state
4234			case 1:
4235				return &v.sizeCache
4236			case 2:
4237				return &v.unknownFields
4238			default:
4239				return nil
4240			}
4241		}
4242		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4243			switch v := v.(*ImageSource); i {
4244			case 0:
4245				return &v.state
4246			case 1:
4247				return &v.sizeCache
4248			case 2:
4249				return &v.unknownFields
4250			default:
4251				return nil
4252			}
4253		}
4254		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4255			switch v := v.(*Image); i {
4256			case 0:
4257				return &v.state
4258			case 1:
4259				return &v.sizeCache
4260			case 2:
4261				return &v.unknownFields
4262			default:
4263				return nil
4264			}
4265		}
4266		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4267			switch v := v.(*FaceAnnotation); i {
4268			case 0:
4269				return &v.state
4270			case 1:
4271				return &v.sizeCache
4272			case 2:
4273				return &v.unknownFields
4274			default:
4275				return nil
4276			}
4277		}
4278		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4279			switch v := v.(*LocationInfo); i {
4280			case 0:
4281				return &v.state
4282			case 1:
4283				return &v.sizeCache
4284			case 2:
4285				return &v.unknownFields
4286			default:
4287				return nil
4288			}
4289		}
4290		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4291			switch v := v.(*Property); i {
4292			case 0:
4293				return &v.state
4294			case 1:
4295				return &v.sizeCache
4296			case 2:
4297				return &v.unknownFields
4298			default:
4299				return nil
4300			}
4301		}
4302		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4303			switch v := v.(*EntityAnnotation); i {
4304			case 0:
4305				return &v.state
4306			case 1:
4307				return &v.sizeCache
4308			case 2:
4309				return &v.unknownFields
4310			default:
4311				return nil
4312			}
4313		}
4314		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4315			switch v := v.(*LocalizedObjectAnnotation); i {
4316			case 0:
4317				return &v.state
4318			case 1:
4319				return &v.sizeCache
4320			case 2:
4321				return &v.unknownFields
4322			default:
4323				return nil
4324			}
4325		}
4326		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4327			switch v := v.(*SafeSearchAnnotation); i {
4328			case 0:
4329				return &v.state
4330			case 1:
4331				return &v.sizeCache
4332			case 2:
4333				return &v.unknownFields
4334			default:
4335				return nil
4336			}
4337		}
4338		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4339			switch v := v.(*LatLongRect); i {
4340			case 0:
4341				return &v.state
4342			case 1:
4343				return &v.sizeCache
4344			case 2:
4345				return &v.unknownFields
4346			default:
4347				return nil
4348			}
4349		}
4350		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4351			switch v := v.(*ColorInfo); i {
4352			case 0:
4353				return &v.state
4354			case 1:
4355				return &v.sizeCache
4356			case 2:
4357				return &v.unknownFields
4358			default:
4359				return nil
4360			}
4361		}
4362		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4363			switch v := v.(*DominantColorsAnnotation); i {
4364			case 0:
4365				return &v.state
4366			case 1:
4367				return &v.sizeCache
4368			case 2:
4369				return &v.unknownFields
4370			default:
4371				return nil
4372			}
4373		}
4374		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4375			switch v := v.(*ImageProperties); i {
4376			case 0:
4377				return &v.state
4378			case 1:
4379				return &v.sizeCache
4380			case 2:
4381				return &v.unknownFields
4382			default:
4383				return nil
4384			}
4385		}
4386		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4387			switch v := v.(*CropHint); i {
4388			case 0:
4389				return &v.state
4390			case 1:
4391				return &v.sizeCache
4392			case 2:
4393				return &v.unknownFields
4394			default:
4395				return nil
4396			}
4397		}
4398		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4399			switch v := v.(*CropHintsAnnotation); i {
4400			case 0:
4401				return &v.state
4402			case 1:
4403				return &v.sizeCache
4404			case 2:
4405				return &v.unknownFields
4406			default:
4407				return nil
4408			}
4409		}
4410		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4411			switch v := v.(*CropHintsParams); i {
4412			case 0:
4413				return &v.state
4414			case 1:
4415				return &v.sizeCache
4416			case 2:
4417				return &v.unknownFields
4418			default:
4419				return nil
4420			}
4421		}
4422		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4423			switch v := v.(*WebDetectionParams); i {
4424			case 0:
4425				return &v.state
4426			case 1:
4427				return &v.sizeCache
4428			case 2:
4429				return &v.unknownFields
4430			default:
4431				return nil
4432			}
4433		}
4434		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4435			switch v := v.(*TextDetectionParams); i {
4436			case 0:
4437				return &v.state
4438			case 1:
4439				return &v.sizeCache
4440			case 2:
4441				return &v.unknownFields
4442			default:
4443				return nil
4444			}
4445		}
4446		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4447			switch v := v.(*ImageContext); i {
4448			case 0:
4449				return &v.state
4450			case 1:
4451				return &v.sizeCache
4452			case 2:
4453				return &v.unknownFields
4454			default:
4455				return nil
4456			}
4457		}
4458		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4459			switch v := v.(*AnnotateImageRequest); i {
4460			case 0:
4461				return &v.state
4462			case 1:
4463				return &v.sizeCache
4464			case 2:
4465				return &v.unknownFields
4466			default:
4467				return nil
4468			}
4469		}
4470		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4471			switch v := v.(*ImageAnnotationContext); i {
4472			case 0:
4473				return &v.state
4474			case 1:
4475				return &v.sizeCache
4476			case 2:
4477				return &v.unknownFields
4478			default:
4479				return nil
4480			}
4481		}
4482		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4483			switch v := v.(*AnnotateImageResponse); i {
4484			case 0:
4485				return &v.state
4486			case 1:
4487				return &v.sizeCache
4488			case 2:
4489				return &v.unknownFields
4490			default:
4491				return nil
4492			}
4493		}
4494		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4495			switch v := v.(*BatchAnnotateImagesRequest); i {
4496			case 0:
4497				return &v.state
4498			case 1:
4499				return &v.sizeCache
4500			case 2:
4501				return &v.unknownFields
4502			default:
4503				return nil
4504			}
4505		}
4506		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4507			switch v := v.(*BatchAnnotateImagesResponse); i {
4508			case 0:
4509				return &v.state
4510			case 1:
4511				return &v.sizeCache
4512			case 2:
4513				return &v.unknownFields
4514			default:
4515				return nil
4516			}
4517		}
4518		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4519			switch v := v.(*AnnotateFileRequest); i {
4520			case 0:
4521				return &v.state
4522			case 1:
4523				return &v.sizeCache
4524			case 2:
4525				return &v.unknownFields
4526			default:
4527				return nil
4528			}
4529		}
4530		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4531			switch v := v.(*AnnotateFileResponse); i {
4532			case 0:
4533				return &v.state
4534			case 1:
4535				return &v.sizeCache
4536			case 2:
4537				return &v.unknownFields
4538			default:
4539				return nil
4540			}
4541		}
4542		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4543			switch v := v.(*BatchAnnotateFilesRequest); i {
4544			case 0:
4545				return &v.state
4546			case 1:
4547				return &v.sizeCache
4548			case 2:
4549				return &v.unknownFields
4550			default:
4551				return nil
4552			}
4553		}
4554		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4555			switch v := v.(*BatchAnnotateFilesResponse); i {
4556			case 0:
4557				return &v.state
4558			case 1:
4559				return &v.sizeCache
4560			case 2:
4561				return &v.unknownFields
4562			default:
4563				return nil
4564			}
4565		}
4566		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4567			switch v := v.(*AsyncAnnotateFileRequest); i {
4568			case 0:
4569				return &v.state
4570			case 1:
4571				return &v.sizeCache
4572			case 2:
4573				return &v.unknownFields
4574			default:
4575				return nil
4576			}
4577		}
4578		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4579			switch v := v.(*AsyncAnnotateFileResponse); i {
4580			case 0:
4581				return &v.state
4582			case 1:
4583				return &v.sizeCache
4584			case 2:
4585				return &v.unknownFields
4586			default:
4587				return nil
4588			}
4589		}
4590		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4591			switch v := v.(*AsyncBatchAnnotateImagesRequest); i {
4592			case 0:
4593				return &v.state
4594			case 1:
4595				return &v.sizeCache
4596			case 2:
4597				return &v.unknownFields
4598			default:
4599				return nil
4600			}
4601		}
4602		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4603			switch v := v.(*AsyncBatchAnnotateImagesResponse); i {
4604			case 0:
4605				return &v.state
4606			case 1:
4607				return &v.sizeCache
4608			case 2:
4609				return &v.unknownFields
4610			default:
4611				return nil
4612			}
4613		}
4614		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4615			switch v := v.(*AsyncBatchAnnotateFilesRequest); i {
4616			case 0:
4617				return &v.state
4618			case 1:
4619				return &v.sizeCache
4620			case 2:
4621				return &v.unknownFields
4622			default:
4623				return nil
4624			}
4625		}
4626		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4627			switch v := v.(*AsyncBatchAnnotateFilesResponse); i {
4628			case 0:
4629				return &v.state
4630			case 1:
4631				return &v.sizeCache
4632			case 2:
4633				return &v.unknownFields
4634			default:
4635				return nil
4636			}
4637		}
4638		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4639			switch v := v.(*InputConfig); i {
4640			case 0:
4641				return &v.state
4642			case 1:
4643				return &v.sizeCache
4644			case 2:
4645				return &v.unknownFields
4646			default:
4647				return nil
4648			}
4649		}
4650		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4651			switch v := v.(*OutputConfig); i {
4652			case 0:
4653				return &v.state
4654			case 1:
4655				return &v.sizeCache
4656			case 2:
4657				return &v.unknownFields
4658			default:
4659				return nil
4660			}
4661		}
4662		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4663			switch v := v.(*GcsSource); i {
4664			case 0:
4665				return &v.state
4666			case 1:
4667				return &v.sizeCache
4668			case 2:
4669				return &v.unknownFields
4670			default:
4671				return nil
4672			}
4673		}
4674		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4675			switch v := v.(*GcsDestination); i {
4676			case 0:
4677				return &v.state
4678			case 1:
4679				return &v.sizeCache
4680			case 2:
4681				return &v.unknownFields
4682			default:
4683				return nil
4684			}
4685		}
4686		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4687			switch v := v.(*OperationMetadata); i {
4688			case 0:
4689				return &v.state
4690			case 1:
4691				return &v.sizeCache
4692			case 2:
4693				return &v.unknownFields
4694			default:
4695				return nil
4696			}
4697		}
4698		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
4699			switch v := v.(*FaceAnnotation_Landmark); i {
4700			case 0:
4701				return &v.state
4702			case 1:
4703				return &v.sizeCache
4704			case 2:
4705				return &v.unknownFields
4706			default:
4707				return nil
4708			}
4709		}
4710	}
4711	type x struct{}
4712	out := protoimpl.TypeBuilder{
4713		File: protoimpl.DescBuilder{
4714			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4715			RawDescriptor: file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc,
4716			NumEnums:      4,
4717			NumMessages:   40,
4718			NumExtensions: 0,
4719			NumServices:   1,
4720		},
4721		GoTypes:           file_google_cloud_vision_v1p4beta1_image_annotator_proto_goTypes,
4722		DependencyIndexes: file_google_cloud_vision_v1p4beta1_image_annotator_proto_depIdxs,
4723		EnumInfos:         file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes,
4724		MessageInfos:      file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes,
4725	}.Build()
4726	File_google_cloud_vision_v1p4beta1_image_annotator_proto = out.File
4727	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc = nil
4728	file_google_cloud_vision_v1p4beta1_image_annotator_proto_goTypes = nil
4729	file_google_cloud_vision_v1p4beta1_image_annotator_proto_depIdxs = nil
4730}
4731
4732// Reference imports to suppress errors if they are not otherwise used.
4733var _ context.Context
4734var _ grpc.ClientConnInterface
4735
4736// This is a compile-time assertion to ensure that this generated file
4737// is compatible with the grpc package it is being compiled against.
4738const _ = grpc.SupportPackageIsVersion6
4739
4740// ImageAnnotatorClient is the client API for ImageAnnotator service.
4741//
4742// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4743type ImageAnnotatorClient interface {
4744	// Run image detection and annotation for a batch of images.
4745	BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
4746	// Service that performs image detection and annotation for a batch of files.
4747	// Now only "application/pdf", "image/tiff" and "image/gif" are supported.
4748	//
4749	// This service will extract at most 5 (customers can specify which 5 in
4750	// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
4751	// file provided and perform detection and annotation for each image
4752	// extracted.
4753	BatchAnnotateFiles(ctx context.Context, in *BatchAnnotateFilesRequest, opts ...grpc.CallOption) (*BatchAnnotateFilesResponse, error)
4754	// Run asynchronous image detection and annotation for a list of images.
4755	//
4756	// Progress and results can be retrieved through the
4757	// `google.longrunning.Operations` interface.
4758	// `Operation.metadata` contains `OperationMetadata` (metadata).
4759	// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).
4760	//
4761	// This service will write image annotation outputs to json files in customer
4762	// GCS bucket, each json file containing BatchAnnotateImagesResponse proto.
4763	AsyncBatchAnnotateImages(ctx context.Context, in *AsyncBatchAnnotateImagesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4764	// Run asynchronous image detection and annotation for a list of generic
4765	// files, such as PDF files, which may contain multiple pages and multiple
4766	// images per page. Progress and results can be retrieved through the
4767	// `google.longrunning.Operations` interface.
4768	// `Operation.metadata` contains `OperationMetadata` (metadata).
4769	// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
4770	AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4771}
4772
4773type imageAnnotatorClient struct {
4774	cc grpc.ClientConnInterface
4775}
4776
4777func NewImageAnnotatorClient(cc grpc.ClientConnInterface) ImageAnnotatorClient {
4778	return &imageAnnotatorClient{cc}
4779}
4780
4781func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
4782	out := new(BatchAnnotateImagesResponse)
4783	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateImages", in, out, opts...)
4784	if err != nil {
4785		return nil, err
4786	}
4787	return out, nil
4788}
4789
4790func (c *imageAnnotatorClient) BatchAnnotateFiles(ctx context.Context, in *BatchAnnotateFilesRequest, opts ...grpc.CallOption) (*BatchAnnotateFilesResponse, error) {
4791	out := new(BatchAnnotateFilesResponse)
4792	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateFiles", in, out, opts...)
4793	if err != nil {
4794		return nil, err
4795	}
4796	return out, nil
4797}
4798
4799func (c *imageAnnotatorClient) AsyncBatchAnnotateImages(ctx context.Context, in *AsyncBatchAnnotateImagesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4800	out := new(longrunning.Operation)
4801	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateImages", in, out, opts...)
4802	if err != nil {
4803		return nil, err
4804	}
4805	return out, nil
4806}
4807
4808func (c *imageAnnotatorClient) AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4809	out := new(longrunning.Operation)
4810	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateFiles", in, out, opts...)
4811	if err != nil {
4812		return nil, err
4813	}
4814	return out, nil
4815}
4816
4817// ImageAnnotatorServer is the server API for ImageAnnotator service.
4818type ImageAnnotatorServer interface {
4819	// Run image detection and annotation for a batch of images.
4820	BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
4821	// Service that performs image detection and annotation for a batch of files.
4822	// Now only "application/pdf", "image/tiff" and "image/gif" are supported.
4823	//
4824	// This service will extract at most 5 (customers can specify which 5 in
4825	// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
4826	// file provided and perform detection and annotation for each image
4827	// extracted.
4828	BatchAnnotateFiles(context.Context, *BatchAnnotateFilesRequest) (*BatchAnnotateFilesResponse, error)
4829	// Run asynchronous image detection and annotation for a list of images.
4830	//
4831	// Progress and results can be retrieved through the
4832	// `google.longrunning.Operations` interface.
4833	// `Operation.metadata` contains `OperationMetadata` (metadata).
4834	// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).
4835	//
4836	// This service will write image annotation outputs to json files in customer
4837	// GCS bucket, each json file containing BatchAnnotateImagesResponse proto.
4838	AsyncBatchAnnotateImages(context.Context, *AsyncBatchAnnotateImagesRequest) (*longrunning.Operation, error)
4839	// Run asynchronous image detection and annotation for a list of generic
4840	// files, such as PDF files, which may contain multiple pages and multiple
4841	// images per page. Progress and results can be retrieved through the
4842	// `google.longrunning.Operations` interface.
4843	// `Operation.metadata` contains `OperationMetadata` (metadata).
4844	// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
4845	AsyncBatchAnnotateFiles(context.Context, *AsyncBatchAnnotateFilesRequest) (*longrunning.Operation, error)
4846}
4847
4848// UnimplementedImageAnnotatorServer can be embedded to have forward compatible implementations.
4849type UnimplementedImageAnnotatorServer struct {
4850}
4851
4852func (*UnimplementedImageAnnotatorServer) BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error) {
4853	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateImages not implemented")
4854}
4855func (*UnimplementedImageAnnotatorServer) BatchAnnotateFiles(context.Context, *BatchAnnotateFilesRequest) (*BatchAnnotateFilesResponse, error) {
4856	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateFiles not implemented")
4857}
4858func (*UnimplementedImageAnnotatorServer) AsyncBatchAnnotateImages(context.Context, *AsyncBatchAnnotateImagesRequest) (*longrunning.Operation, error) {
4859	return nil, status1.Errorf(codes.Unimplemented, "method AsyncBatchAnnotateImages not implemented")
4860}
4861func (*UnimplementedImageAnnotatorServer) AsyncBatchAnnotateFiles(context.Context, *AsyncBatchAnnotateFilesRequest) (*longrunning.Operation, error) {
4862	return nil, status1.Errorf(codes.Unimplemented, "method AsyncBatchAnnotateFiles not implemented")
4863}
4864
4865func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
4866	s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
4867}
4868
4869func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4870	in := new(BatchAnnotateImagesRequest)
4871	if err := dec(in); err != nil {
4872		return nil, err
4873	}
4874	if interceptor == nil {
4875		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
4876	}
4877	info := &grpc.UnaryServerInfo{
4878		Server:     srv,
4879		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateImages",
4880	}
4881	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4882		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
4883	}
4884	return interceptor(ctx, in, info, handler)
4885}
4886
4887func _ImageAnnotator_BatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4888	in := new(BatchAnnotateFilesRequest)
4889	if err := dec(in); err != nil {
4890		return nil, err
4891	}
4892	if interceptor == nil {
4893		return srv.(ImageAnnotatorServer).BatchAnnotateFiles(ctx, in)
4894	}
4895	info := &grpc.UnaryServerInfo{
4896		Server:     srv,
4897		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateFiles",
4898	}
4899	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4900		return srv.(ImageAnnotatorServer).BatchAnnotateFiles(ctx, req.(*BatchAnnotateFilesRequest))
4901	}
4902	return interceptor(ctx, in, info, handler)
4903}
4904
4905func _ImageAnnotator_AsyncBatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4906	in := new(AsyncBatchAnnotateImagesRequest)
4907	if err := dec(in); err != nil {
4908		return nil, err
4909	}
4910	if interceptor == nil {
4911		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateImages(ctx, in)
4912	}
4913	info := &grpc.UnaryServerInfo{
4914		Server:     srv,
4915		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateImages",
4916	}
4917	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4918		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateImages(ctx, req.(*AsyncBatchAnnotateImagesRequest))
4919	}
4920	return interceptor(ctx, in, info, handler)
4921}
4922
4923func _ImageAnnotator_AsyncBatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4924	in := new(AsyncBatchAnnotateFilesRequest)
4925	if err := dec(in); err != nil {
4926		return nil, err
4927	}
4928	if interceptor == nil {
4929		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateFiles(ctx, in)
4930	}
4931	info := &grpc.UnaryServerInfo{
4932		Server:     srv,
4933		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateFiles",
4934	}
4935	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4936		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateFiles(ctx, req.(*AsyncBatchAnnotateFilesRequest))
4937	}
4938	return interceptor(ctx, in, info, handler)
4939}
4940
4941var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
4942	ServiceName: "google.cloud.vision.v1p4beta1.ImageAnnotator",
4943	HandlerType: (*ImageAnnotatorServer)(nil),
4944	Methods: []grpc.MethodDesc{
4945		{
4946			MethodName: "BatchAnnotateImages",
4947			Handler:    _ImageAnnotator_BatchAnnotateImages_Handler,
4948		},
4949		{
4950			MethodName: "BatchAnnotateFiles",
4951			Handler:    _ImageAnnotator_BatchAnnotateFiles_Handler,
4952		},
4953		{
4954			MethodName: "AsyncBatchAnnotateImages",
4955			Handler:    _ImageAnnotator_AsyncBatchAnnotateImages_Handler,
4956		},
4957		{
4958			MethodName: "AsyncBatchAnnotateFiles",
4959			Handler:    _ImageAnnotator_AsyncBatchAnnotateFiles_Handler,
4960		},
4961	},
4962	Streams:  []grpc.StreamDesc{},
4963	Metadata: "google/cloud/vision/v1p4beta1/image_annotator.proto",
4964}
4965