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/v1p1beta1/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	status "google.golang.org/genproto/googleapis/rpc/status"
32	color "google.golang.org/genproto/googleapis/type/color"
33	latlng "google.golang.org/genproto/googleapis/type/latlng"
34	grpc "google.golang.org/grpc"
35	codes "google.golang.org/grpc/codes"
36	status1 "google.golang.org/grpc/status"
37	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
38	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
39)
40
41const (
42	// Verify that this generated code is sufficiently up-to-date.
43	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
44	// Verify that runtime/protoimpl is sufficiently up-to-date.
45	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
46)
47
48// This is a compile-time assertion that a sufficiently up-to-date version
49// of the legacy proto package is being used.
50const _ = proto.ProtoPackageIsVersion4
51
52// A bucketized representation of likelihood, which is intended to give clients
53// highly stable results across model upgrades.
54type Likelihood int32
55
56const (
57	// Unknown likelihood.
58	Likelihood_UNKNOWN Likelihood = 0
59	// It is very unlikely that the image belongs to the specified vertical.
60	Likelihood_VERY_UNLIKELY Likelihood = 1
61	// It is unlikely that the image belongs to the specified vertical.
62	Likelihood_UNLIKELY Likelihood = 2
63	// It is possible that the image belongs to the specified vertical.
64	Likelihood_POSSIBLE Likelihood = 3
65	// It is likely that the image belongs to the specified vertical.
66	Likelihood_LIKELY Likelihood = 4
67	// It is very likely that the image belongs to the specified vertical.
68	Likelihood_VERY_LIKELY Likelihood = 5
69)
70
71// Enum value maps for Likelihood.
72var (
73	Likelihood_name = map[int32]string{
74		0: "UNKNOWN",
75		1: "VERY_UNLIKELY",
76		2: "UNLIKELY",
77		3: "POSSIBLE",
78		4: "LIKELY",
79		5: "VERY_LIKELY",
80	}
81	Likelihood_value = map[string]int32{
82		"UNKNOWN":       0,
83		"VERY_UNLIKELY": 1,
84		"UNLIKELY":      2,
85		"POSSIBLE":      3,
86		"LIKELY":        4,
87		"VERY_LIKELY":   5,
88	}
89)
90
91func (x Likelihood) Enum() *Likelihood {
92	p := new(Likelihood)
93	*p = x
94	return p
95}
96
97func (x Likelihood) String() string {
98	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
99}
100
101func (Likelihood) Descriptor() protoreflect.EnumDescriptor {
102	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[0].Descriptor()
103}
104
105func (Likelihood) Type() protoreflect.EnumType {
106	return &file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[0]
107}
108
109func (x Likelihood) Number() protoreflect.EnumNumber {
110	return protoreflect.EnumNumber(x)
111}
112
113// Deprecated: Use Likelihood.Descriptor instead.
114func (Likelihood) EnumDescriptor() ([]byte, []int) {
115	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{0}
116}
117
118// Type of image feature.
119type Feature_Type int32
120
121const (
122	// Unspecified feature type.
123	Feature_TYPE_UNSPECIFIED Feature_Type = 0
124	// Run face detection.
125	Feature_FACE_DETECTION Feature_Type = 1
126	// Run landmark detection.
127	Feature_LANDMARK_DETECTION Feature_Type = 2
128	// Run logo detection.
129	Feature_LOGO_DETECTION Feature_Type = 3
130	// Run label detection.
131	Feature_LABEL_DETECTION Feature_Type = 4
132	// Run OCR.
133	Feature_TEXT_DETECTION Feature_Type = 5
134	// Run dense text document OCR. Takes precedence when both
135	// DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present.
136	Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
137	// Run computer vision models to compute image safe-search properties.
138	Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
139	// Compute a set of image properties, such as the image's dominant colors.
140	Feature_IMAGE_PROPERTIES Feature_Type = 7
141	// Run crop hints.
142	Feature_CROP_HINTS Feature_Type = 9
143	// Run web detection.
144	Feature_WEB_DETECTION Feature_Type = 10
145)
146
147// Enum value maps for Feature_Type.
148var (
149	Feature_Type_name = map[int32]string{
150		0:  "TYPE_UNSPECIFIED",
151		1:  "FACE_DETECTION",
152		2:  "LANDMARK_DETECTION",
153		3:  "LOGO_DETECTION",
154		4:  "LABEL_DETECTION",
155		5:  "TEXT_DETECTION",
156		11: "DOCUMENT_TEXT_DETECTION",
157		6:  "SAFE_SEARCH_DETECTION",
158		7:  "IMAGE_PROPERTIES",
159		9:  "CROP_HINTS",
160		10: "WEB_DETECTION",
161	}
162	Feature_Type_value = map[string]int32{
163		"TYPE_UNSPECIFIED":        0,
164		"FACE_DETECTION":          1,
165		"LANDMARK_DETECTION":      2,
166		"LOGO_DETECTION":          3,
167		"LABEL_DETECTION":         4,
168		"TEXT_DETECTION":          5,
169		"DOCUMENT_TEXT_DETECTION": 11,
170		"SAFE_SEARCH_DETECTION":   6,
171		"IMAGE_PROPERTIES":        7,
172		"CROP_HINTS":              9,
173		"WEB_DETECTION":           10,
174	}
175)
176
177func (x Feature_Type) Enum() *Feature_Type {
178	p := new(Feature_Type)
179	*p = x
180	return p
181}
182
183func (x Feature_Type) String() string {
184	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
185}
186
187func (Feature_Type) Descriptor() protoreflect.EnumDescriptor {
188	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[1].Descriptor()
189}
190
191func (Feature_Type) Type() protoreflect.EnumType {
192	return &file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[1]
193}
194
195func (x Feature_Type) Number() protoreflect.EnumNumber {
196	return protoreflect.EnumNumber(x)
197}
198
199// Deprecated: Use Feature_Type.Descriptor instead.
200func (Feature_Type) EnumDescriptor() ([]byte, []int) {
201	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{0, 0}
202}
203
204// Face landmark (feature) type.
205// Left and right are defined from the vantage of the viewer of the image
206// without considering mirror projections typical of photos. So, `LEFT_EYE`,
207// typically, is the person's right eye.
208type FaceAnnotation_Landmark_Type int32
209
210const (
211	// Unknown face landmark detected. Should not be filled.
212	FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
213	// Left eye.
214	FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
215	// Right eye.
216	FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
217	// Left of left eyebrow.
218	FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
219	// Right of left eyebrow.
220	FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
221	// Left of right eyebrow.
222	FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
223	// Right of right eyebrow.
224	FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
225	// Midpoint between eyes.
226	FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
227	// Nose tip.
228	FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
229	// Upper lip.
230	FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
231	// Lower lip.
232	FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
233	// Mouth left.
234	FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
235	// Mouth right.
236	FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
237	// Mouth center.
238	FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
239	// Nose, bottom right.
240	FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
241	// Nose, bottom left.
242	FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
243	// Nose, bottom center.
244	FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
245	// Left eye, top boundary.
246	FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
247	// Left eye, right corner.
248	FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
249	// Left eye, bottom boundary.
250	FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
251	// Left eye, left corner.
252	FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
253	// Right eye, top boundary.
254	FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
255	// Right eye, right corner.
256	FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
257	// Right eye, bottom boundary.
258	FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
259	// Right eye, left corner.
260	FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
261	// Left eyebrow, upper midpoint.
262	FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
263	// Right eyebrow, upper midpoint.
264	FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
265	// Left ear tragion.
266	FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
267	// Right ear tragion.
268	FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
269	// Left eye pupil.
270	FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
271	// Right eye pupil.
272	FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
273	// Forehead glabella.
274	FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
275	// Chin gnathion.
276	FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
277	// Chin left gonion.
278	FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
279	// Chin right gonion.
280	FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
281)
282
283// Enum value maps for FaceAnnotation_Landmark_Type.
284var (
285	FaceAnnotation_Landmark_Type_name = map[int32]string{
286		0:  "UNKNOWN_LANDMARK",
287		1:  "LEFT_EYE",
288		2:  "RIGHT_EYE",
289		3:  "LEFT_OF_LEFT_EYEBROW",
290		4:  "RIGHT_OF_LEFT_EYEBROW",
291		5:  "LEFT_OF_RIGHT_EYEBROW",
292		6:  "RIGHT_OF_RIGHT_EYEBROW",
293		7:  "MIDPOINT_BETWEEN_EYES",
294		8:  "NOSE_TIP",
295		9:  "UPPER_LIP",
296		10: "LOWER_LIP",
297		11: "MOUTH_LEFT",
298		12: "MOUTH_RIGHT",
299		13: "MOUTH_CENTER",
300		14: "NOSE_BOTTOM_RIGHT",
301		15: "NOSE_BOTTOM_LEFT",
302		16: "NOSE_BOTTOM_CENTER",
303		17: "LEFT_EYE_TOP_BOUNDARY",
304		18: "LEFT_EYE_RIGHT_CORNER",
305		19: "LEFT_EYE_BOTTOM_BOUNDARY",
306		20: "LEFT_EYE_LEFT_CORNER",
307		21: "RIGHT_EYE_TOP_BOUNDARY",
308		22: "RIGHT_EYE_RIGHT_CORNER",
309		23: "RIGHT_EYE_BOTTOM_BOUNDARY",
310		24: "RIGHT_EYE_LEFT_CORNER",
311		25: "LEFT_EYEBROW_UPPER_MIDPOINT",
312		26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
313		27: "LEFT_EAR_TRAGION",
314		28: "RIGHT_EAR_TRAGION",
315		29: "LEFT_EYE_PUPIL",
316		30: "RIGHT_EYE_PUPIL",
317		31: "FOREHEAD_GLABELLA",
318		32: "CHIN_GNATHION",
319		33: "CHIN_LEFT_GONION",
320		34: "CHIN_RIGHT_GONION",
321	}
322	FaceAnnotation_Landmark_Type_value = map[string]int32{
323		"UNKNOWN_LANDMARK":             0,
324		"LEFT_EYE":                     1,
325		"RIGHT_EYE":                    2,
326		"LEFT_OF_LEFT_EYEBROW":         3,
327		"RIGHT_OF_LEFT_EYEBROW":        4,
328		"LEFT_OF_RIGHT_EYEBROW":        5,
329		"RIGHT_OF_RIGHT_EYEBROW":       6,
330		"MIDPOINT_BETWEEN_EYES":        7,
331		"NOSE_TIP":                     8,
332		"UPPER_LIP":                    9,
333		"LOWER_LIP":                    10,
334		"MOUTH_LEFT":                   11,
335		"MOUTH_RIGHT":                  12,
336		"MOUTH_CENTER":                 13,
337		"NOSE_BOTTOM_RIGHT":            14,
338		"NOSE_BOTTOM_LEFT":             15,
339		"NOSE_BOTTOM_CENTER":           16,
340		"LEFT_EYE_TOP_BOUNDARY":        17,
341		"LEFT_EYE_RIGHT_CORNER":        18,
342		"LEFT_EYE_BOTTOM_BOUNDARY":     19,
343		"LEFT_EYE_LEFT_CORNER":         20,
344		"RIGHT_EYE_TOP_BOUNDARY":       21,
345		"RIGHT_EYE_RIGHT_CORNER":       22,
346		"RIGHT_EYE_BOTTOM_BOUNDARY":    23,
347		"RIGHT_EYE_LEFT_CORNER":        24,
348		"LEFT_EYEBROW_UPPER_MIDPOINT":  25,
349		"RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
350		"LEFT_EAR_TRAGION":             27,
351		"RIGHT_EAR_TRAGION":            28,
352		"LEFT_EYE_PUPIL":               29,
353		"RIGHT_EYE_PUPIL":              30,
354		"FOREHEAD_GLABELLA":            31,
355		"CHIN_GNATHION":                32,
356		"CHIN_LEFT_GONION":             33,
357		"CHIN_RIGHT_GONION":            34,
358	}
359)
360
361func (x FaceAnnotation_Landmark_Type) Enum() *FaceAnnotation_Landmark_Type {
362	p := new(FaceAnnotation_Landmark_Type)
363	*p = x
364	return p
365}
366
367func (x FaceAnnotation_Landmark_Type) String() string {
368	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
369}
370
371func (FaceAnnotation_Landmark_Type) Descriptor() protoreflect.EnumDescriptor {
372	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[2].Descriptor()
373}
374
375func (FaceAnnotation_Landmark_Type) Type() protoreflect.EnumType {
376	return &file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes[2]
377}
378
379func (x FaceAnnotation_Landmark_Type) Number() protoreflect.EnumNumber {
380	return protoreflect.EnumNumber(x)
381}
382
383// Deprecated: Use FaceAnnotation_Landmark_Type.Descriptor instead.
384func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
385	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{3, 0, 0}
386}
387
388// Users describe the type of Google Cloud Vision API tasks to perform over
389// images by using *Feature*s. Each Feature indicates a type of image
390// detection task to perform. Features encode the Cloud Vision API
391// vertical to operate on and the number of top-scoring results to return.
392type Feature struct {
393	state         protoimpl.MessageState
394	sizeCache     protoimpl.SizeCache
395	unknownFields protoimpl.UnknownFields
396
397	// The feature type.
398	Type Feature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.vision.v1p1beta1.Feature_Type" json:"type,omitempty"`
399	// Maximum number of results of this type.
400	MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
401	// Model to use for the feature.
402	// Supported values: "builtin/stable" (the default if unset) and
403	// "builtin/latest".
404	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
405}
406
407func (x *Feature) Reset() {
408	*x = Feature{}
409	if protoimpl.UnsafeEnabled {
410		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[0]
411		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
412		ms.StoreMessageInfo(mi)
413	}
414}
415
416func (x *Feature) String() string {
417	return protoimpl.X.MessageStringOf(x)
418}
419
420func (*Feature) ProtoMessage() {}
421
422func (x *Feature) ProtoReflect() protoreflect.Message {
423	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[0]
424	if protoimpl.UnsafeEnabled && x != nil {
425		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
426		if ms.LoadMessageInfo() == nil {
427			ms.StoreMessageInfo(mi)
428		}
429		return ms
430	}
431	return mi.MessageOf(x)
432}
433
434// Deprecated: Use Feature.ProtoReflect.Descriptor instead.
435func (*Feature) Descriptor() ([]byte, []int) {
436	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{0}
437}
438
439func (x *Feature) GetType() Feature_Type {
440	if x != nil {
441		return x.Type
442	}
443	return Feature_TYPE_UNSPECIFIED
444}
445
446func (x *Feature) GetMaxResults() int32 {
447	if x != nil {
448		return x.MaxResults
449	}
450	return 0
451}
452
453func (x *Feature) GetModel() string {
454	if x != nil {
455		return x.Model
456	}
457	return ""
458}
459
460// External image source (Google Cloud Storage image location).
461type ImageSource struct {
462	state         protoimpl.MessageState
463	sizeCache     protoimpl.SizeCache
464	unknownFields protoimpl.UnknownFields
465
466	// NOTE: For new code `image_uri` below is preferred.
467	// Google Cloud Storage image URI, which must be in the following form:
468	// `gs://bucket_name/object_name` (for details, see
469	// [Google Cloud Storage Request
470	// URIs](https://cloud.google.com/storage/docs/reference-uris)).
471	// NOTE: Cloud Storage object versioning is not supported.
472	GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"`
473	// Image URI which supports:
474	// 1) Google Cloud Storage image URI, which must be in the following form:
475	// `gs://bucket_name/object_name` (for details, see
476	// [Google Cloud Storage Request
477	// URIs](https://cloud.google.com/storage/docs/reference-uris)).
478	// NOTE: Cloud Storage object versioning is not supported.
479	// 2) Publicly accessible image HTTP/HTTPS URL.
480	// This is preferred over the legacy `gcs_image_uri` above. When both
481	// `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
482	// precedence.
483	ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
484}
485
486func (x *ImageSource) Reset() {
487	*x = ImageSource{}
488	if protoimpl.UnsafeEnabled {
489		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[1]
490		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
491		ms.StoreMessageInfo(mi)
492	}
493}
494
495func (x *ImageSource) String() string {
496	return protoimpl.X.MessageStringOf(x)
497}
498
499func (*ImageSource) ProtoMessage() {}
500
501func (x *ImageSource) ProtoReflect() protoreflect.Message {
502	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[1]
503	if protoimpl.UnsafeEnabled && x != nil {
504		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
505		if ms.LoadMessageInfo() == nil {
506			ms.StoreMessageInfo(mi)
507		}
508		return ms
509	}
510	return mi.MessageOf(x)
511}
512
513// Deprecated: Use ImageSource.ProtoReflect.Descriptor instead.
514func (*ImageSource) Descriptor() ([]byte, []int) {
515	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{1}
516}
517
518func (x *ImageSource) GetGcsImageUri() string {
519	if x != nil {
520		return x.GcsImageUri
521	}
522	return ""
523}
524
525func (x *ImageSource) GetImageUri() string {
526	if x != nil {
527		return x.ImageUri
528	}
529	return ""
530}
531
532// Client image to perform Google Cloud Vision API tasks over.
533type Image struct {
534	state         protoimpl.MessageState
535	sizeCache     protoimpl.SizeCache
536	unknownFields protoimpl.UnknownFields
537
538	// Image content, represented as a stream of bytes.
539	// Note: as with all `bytes` fields, protobuffers use a pure binary
540	// representation, whereas JSON representations use base64.
541	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
542	// Google Cloud Storage image location. If both `content` and `source`
543	// are provided for an image, `content` takes precedence and is
544	// used to perform the image annotation request.
545	Source *ImageSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
546}
547
548func (x *Image) Reset() {
549	*x = Image{}
550	if protoimpl.UnsafeEnabled {
551		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[2]
552		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
553		ms.StoreMessageInfo(mi)
554	}
555}
556
557func (x *Image) String() string {
558	return protoimpl.X.MessageStringOf(x)
559}
560
561func (*Image) ProtoMessage() {}
562
563func (x *Image) ProtoReflect() protoreflect.Message {
564	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[2]
565	if protoimpl.UnsafeEnabled && x != nil {
566		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
567		if ms.LoadMessageInfo() == nil {
568			ms.StoreMessageInfo(mi)
569		}
570		return ms
571	}
572	return mi.MessageOf(x)
573}
574
575// Deprecated: Use Image.ProtoReflect.Descriptor instead.
576func (*Image) Descriptor() ([]byte, []int) {
577	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{2}
578}
579
580func (x *Image) GetContent() []byte {
581	if x != nil {
582		return x.Content
583	}
584	return nil
585}
586
587func (x *Image) GetSource() *ImageSource {
588	if x != nil {
589		return x.Source
590	}
591	return nil
592}
593
594// A face annotation object contains the results of face detection.
595type FaceAnnotation struct {
596	state         protoimpl.MessageState
597	sizeCache     protoimpl.SizeCache
598	unknownFields protoimpl.UnknownFields
599
600	// The bounding polygon around the face. The coordinates of the bounding box
601	// are in the original image's scale, as returned in `ImageParams`.
602	// The bounding box is computed to "frame" the face in accordance with human
603	// expectations. It is based on the landmarker results.
604	// Note that one or more x and/or y coordinates may not be generated in the
605	// `BoundingPoly` (the polygon will be unbounded) if only a partial face
606	// appears in the image to be annotated.
607	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
608	// The `fd_bounding_poly` bounding polygon is tighter than the
609	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
610	// is used to eliminate the face from any image analysis that detects the
611	// "amount of skin" visible in an image. It is not based on the
612	// landmarker results, only on the initial face detection, hence
613	// the <code>fd</code> (face detection) prefix.
614	FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly,proto3" json:"fd_bounding_poly,omitempty"`
615	// Detected face landmarks.
616	Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks,proto3" json:"landmarks,omitempty"`
617	// Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
618	// of the face relative to the image vertical about the axis perpendicular to
619	// the face. Range [-180,180].
620	RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle,proto3" json:"roll_angle,omitempty"`
621	// Yaw angle, which indicates the leftward/rightward angle that the face is
622	// pointing relative to the vertical plane perpendicular to the image. Range
623	// [-180,180].
624	PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle,proto3" json:"pan_angle,omitempty"`
625	// Pitch angle, which indicates the upwards/downwards angle that the face is
626	// pointing relative to the image's horizontal plane. Range [-180,180].
627	TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
628	// Detection confidence. Range [0, 1].
629	DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence,proto3" json:"detection_confidence,omitempty"`
630	// Face landmarking confidence. Range [0, 1].
631	LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence,proto3" json:"landmarking_confidence,omitempty"`
632	// Joy likelihood.
633	JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"joy_likelihood,omitempty"`
634	// Sorrow likelihood.
635	SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"sorrow_likelihood,omitempty"`
636	// Anger likelihood.
637	AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"anger_likelihood,omitempty"`
638	// Surprise likelihood.
639	SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"surprise_likelihood,omitempty"`
640	// Under-exposed likelihood.
641	UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"under_exposed_likelihood,omitempty"`
642	// Blurred likelihood.
643	BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"blurred_likelihood,omitempty"`
644	// Headwear likelihood.
645	HeadwearLikelihood Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"headwear_likelihood,omitempty"`
646}
647
648func (x *FaceAnnotation) Reset() {
649	*x = FaceAnnotation{}
650	if protoimpl.UnsafeEnabled {
651		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[3]
652		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
653		ms.StoreMessageInfo(mi)
654	}
655}
656
657func (x *FaceAnnotation) String() string {
658	return protoimpl.X.MessageStringOf(x)
659}
660
661func (*FaceAnnotation) ProtoMessage() {}
662
663func (x *FaceAnnotation) ProtoReflect() protoreflect.Message {
664	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[3]
665	if protoimpl.UnsafeEnabled && x != nil {
666		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
667		if ms.LoadMessageInfo() == nil {
668			ms.StoreMessageInfo(mi)
669		}
670		return ms
671	}
672	return mi.MessageOf(x)
673}
674
675// Deprecated: Use FaceAnnotation.ProtoReflect.Descriptor instead.
676func (*FaceAnnotation) Descriptor() ([]byte, []int) {
677	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{3}
678}
679
680func (x *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
681	if x != nil {
682		return x.BoundingPoly
683	}
684	return nil
685}
686
687func (x *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
688	if x != nil {
689		return x.FdBoundingPoly
690	}
691	return nil
692}
693
694func (x *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
695	if x != nil {
696		return x.Landmarks
697	}
698	return nil
699}
700
701func (x *FaceAnnotation) GetRollAngle() float32 {
702	if x != nil {
703		return x.RollAngle
704	}
705	return 0
706}
707
708func (x *FaceAnnotation) GetPanAngle() float32 {
709	if x != nil {
710		return x.PanAngle
711	}
712	return 0
713}
714
715func (x *FaceAnnotation) GetTiltAngle() float32 {
716	if x != nil {
717		return x.TiltAngle
718	}
719	return 0
720}
721
722func (x *FaceAnnotation) GetDetectionConfidence() float32 {
723	if x != nil {
724		return x.DetectionConfidence
725	}
726	return 0
727}
728
729func (x *FaceAnnotation) GetLandmarkingConfidence() float32 {
730	if x != nil {
731		return x.LandmarkingConfidence
732	}
733	return 0
734}
735
736func (x *FaceAnnotation) GetJoyLikelihood() Likelihood {
737	if x != nil {
738		return x.JoyLikelihood
739	}
740	return Likelihood_UNKNOWN
741}
742
743func (x *FaceAnnotation) GetSorrowLikelihood() Likelihood {
744	if x != nil {
745		return x.SorrowLikelihood
746	}
747	return Likelihood_UNKNOWN
748}
749
750func (x *FaceAnnotation) GetAngerLikelihood() Likelihood {
751	if x != nil {
752		return x.AngerLikelihood
753	}
754	return Likelihood_UNKNOWN
755}
756
757func (x *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
758	if x != nil {
759		return x.SurpriseLikelihood
760	}
761	return Likelihood_UNKNOWN
762}
763
764func (x *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
765	if x != nil {
766		return x.UnderExposedLikelihood
767	}
768	return Likelihood_UNKNOWN
769}
770
771func (x *FaceAnnotation) GetBlurredLikelihood() Likelihood {
772	if x != nil {
773		return x.BlurredLikelihood
774	}
775	return Likelihood_UNKNOWN
776}
777
778func (x *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
779	if x != nil {
780		return x.HeadwearLikelihood
781	}
782	return Likelihood_UNKNOWN
783}
784
785// Detected entity location information.
786type LocationInfo struct {
787	state         protoimpl.MessageState
788	sizeCache     protoimpl.SizeCache
789	unknownFields protoimpl.UnknownFields
790
791	// lat/long location coordinates.
792	LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
793}
794
795func (x *LocationInfo) Reset() {
796	*x = LocationInfo{}
797	if protoimpl.UnsafeEnabled {
798		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[4]
799		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
800		ms.StoreMessageInfo(mi)
801	}
802}
803
804func (x *LocationInfo) String() string {
805	return protoimpl.X.MessageStringOf(x)
806}
807
808func (*LocationInfo) ProtoMessage() {}
809
810func (x *LocationInfo) ProtoReflect() protoreflect.Message {
811	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[4]
812	if protoimpl.UnsafeEnabled && x != nil {
813		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
814		if ms.LoadMessageInfo() == nil {
815			ms.StoreMessageInfo(mi)
816		}
817		return ms
818	}
819	return mi.MessageOf(x)
820}
821
822// Deprecated: Use LocationInfo.ProtoReflect.Descriptor instead.
823func (*LocationInfo) Descriptor() ([]byte, []int) {
824	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{4}
825}
826
827func (x *LocationInfo) GetLatLng() *latlng.LatLng {
828	if x != nil {
829		return x.LatLng
830	}
831	return nil
832}
833
834// A `Property` consists of a user-supplied name/value pair.
835type Property struct {
836	state         protoimpl.MessageState
837	sizeCache     protoimpl.SizeCache
838	unknownFields protoimpl.UnknownFields
839
840	// Name of the property.
841	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
842	// Value of the property.
843	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
844	// Value of numeric properties.
845	Uint64Value uint64 `protobuf:"varint,3,opt,name=uint64_value,json=uint64Value,proto3" json:"uint64_value,omitempty"`
846}
847
848func (x *Property) Reset() {
849	*x = Property{}
850	if protoimpl.UnsafeEnabled {
851		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[5]
852		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
853		ms.StoreMessageInfo(mi)
854	}
855}
856
857func (x *Property) String() string {
858	return protoimpl.X.MessageStringOf(x)
859}
860
861func (*Property) ProtoMessage() {}
862
863func (x *Property) ProtoReflect() protoreflect.Message {
864	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[5]
865	if protoimpl.UnsafeEnabled && x != nil {
866		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
867		if ms.LoadMessageInfo() == nil {
868			ms.StoreMessageInfo(mi)
869		}
870		return ms
871	}
872	return mi.MessageOf(x)
873}
874
875// Deprecated: Use Property.ProtoReflect.Descriptor instead.
876func (*Property) Descriptor() ([]byte, []int) {
877	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{5}
878}
879
880func (x *Property) GetName() string {
881	if x != nil {
882		return x.Name
883	}
884	return ""
885}
886
887func (x *Property) GetValue() string {
888	if x != nil {
889		return x.Value
890	}
891	return ""
892}
893
894func (x *Property) GetUint64Value() uint64 {
895	if x != nil {
896		return x.Uint64Value
897	}
898	return 0
899}
900
901// Set of detected entity features.
902type EntityAnnotation struct {
903	state         protoimpl.MessageState
904	sizeCache     protoimpl.SizeCache
905	unknownFields protoimpl.UnknownFields
906
907	// Opaque entity ID. Some IDs may be available in
908	// [Google Knowledge Graph Search
909	// API](https://developers.google.com/knowledge-graph/).
910	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
911	// The language code for the locale in which the entity textual
912	// `description` is expressed.
913	Locale string `protobuf:"bytes,2,opt,name=locale,proto3" json:"locale,omitempty"`
914	// Entity textual description, expressed in its `locale` language.
915	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
916	// Overall score of the result. Range [0, 1].
917	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
918	// The accuracy of the entity detection in an image.
919	// For example, for an image in which the "Eiffel Tower" entity is detected,
920	// this field represents the confidence that there is a tower in the query
921	// image. Range [0, 1].
922	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
923	// The relevancy of the ICA (Image Content Annotation) label to the
924	// image. For example, the relevancy of "tower" is likely higher to an image
925	// containing the detected "Eiffel Tower" than to an image containing a
926	// detected distant towering building, even though the confidence that
927	// there is a tower in each image may be the same. Range [0, 1].
928	Topicality float32 `protobuf:"fixed32,6,opt,name=topicality,proto3" json:"topicality,omitempty"`
929	// Image region to which this entity belongs. Not produced
930	// for `LABEL_DETECTION` features.
931	BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
932	// The location information for the detected entity. Multiple
933	// `LocationInfo` elements can be present because one location may
934	// indicate the location of the scene in the image, and another location
935	// may indicate the location of the place where the image was taken.
936	// Location information is usually present for landmarks.
937	Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations,proto3" json:"locations,omitempty"`
938	// Some entities may have optional user-supplied `Property` (name/value)
939	// fields, such a score or string that qualifies the entity.
940	Properties []*Property `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty"`
941}
942
943func (x *EntityAnnotation) Reset() {
944	*x = EntityAnnotation{}
945	if protoimpl.UnsafeEnabled {
946		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[6]
947		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
948		ms.StoreMessageInfo(mi)
949	}
950}
951
952func (x *EntityAnnotation) String() string {
953	return protoimpl.X.MessageStringOf(x)
954}
955
956func (*EntityAnnotation) ProtoMessage() {}
957
958func (x *EntityAnnotation) ProtoReflect() protoreflect.Message {
959	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[6]
960	if protoimpl.UnsafeEnabled && x != nil {
961		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
962		if ms.LoadMessageInfo() == nil {
963			ms.StoreMessageInfo(mi)
964		}
965		return ms
966	}
967	return mi.MessageOf(x)
968}
969
970// Deprecated: Use EntityAnnotation.ProtoReflect.Descriptor instead.
971func (*EntityAnnotation) Descriptor() ([]byte, []int) {
972	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{6}
973}
974
975func (x *EntityAnnotation) GetMid() string {
976	if x != nil {
977		return x.Mid
978	}
979	return ""
980}
981
982func (x *EntityAnnotation) GetLocale() string {
983	if x != nil {
984		return x.Locale
985	}
986	return ""
987}
988
989func (x *EntityAnnotation) GetDescription() string {
990	if x != nil {
991		return x.Description
992	}
993	return ""
994}
995
996func (x *EntityAnnotation) GetScore() float32 {
997	if x != nil {
998		return x.Score
999	}
1000	return 0
1001}
1002
1003func (x *EntityAnnotation) GetConfidence() float32 {
1004	if x != nil {
1005		return x.Confidence
1006	}
1007	return 0
1008}
1009
1010func (x *EntityAnnotation) GetTopicality() float32 {
1011	if x != nil {
1012		return x.Topicality
1013	}
1014	return 0
1015}
1016
1017func (x *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
1018	if x != nil {
1019		return x.BoundingPoly
1020	}
1021	return nil
1022}
1023
1024func (x *EntityAnnotation) GetLocations() []*LocationInfo {
1025	if x != nil {
1026		return x.Locations
1027	}
1028	return nil
1029}
1030
1031func (x *EntityAnnotation) GetProperties() []*Property {
1032	if x != nil {
1033		return x.Properties
1034	}
1035	return nil
1036}
1037
1038// Set of features pertaining to the image, computed by computer vision
1039// methods over safe-search verticals (for example, adult, spoof, medical,
1040// violence).
1041type SafeSearchAnnotation struct {
1042	state         protoimpl.MessageState
1043	sizeCache     protoimpl.SizeCache
1044	unknownFields protoimpl.UnknownFields
1045
1046	// Represents the adult content likelihood for the image. Adult content may
1047	// contain elements such as nudity, pornographic images or cartoons, or
1048	// sexual activities.
1049	Adult Likelihood `protobuf:"varint,1,opt,name=adult,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"adult,omitempty"`
1050	// Spoof likelihood. The likelihood that an modification
1051	// was made to the image's canonical version to make it appear
1052	// funny or offensive.
1053	Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"spoof,omitempty"`
1054	// Likelihood that this is a medical image.
1055	Medical Likelihood `protobuf:"varint,3,opt,name=medical,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"medical,omitempty"`
1056	// Likelihood that this image contains violent content.
1057	Violence Likelihood `protobuf:"varint,4,opt,name=violence,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"violence,omitempty"`
1058	// Likelihood that the request image contains racy content. Racy content may
1059	// include (but is not limited to) skimpy or sheer clothing, strategically
1060	// covered nudity, lewd or provocative poses, or close-ups of sensitive
1061	// body areas.
1062	Racy Likelihood `protobuf:"varint,9,opt,name=racy,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"racy,omitempty"`
1063}
1064
1065func (x *SafeSearchAnnotation) Reset() {
1066	*x = SafeSearchAnnotation{}
1067	if protoimpl.UnsafeEnabled {
1068		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[7]
1069		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1070		ms.StoreMessageInfo(mi)
1071	}
1072}
1073
1074func (x *SafeSearchAnnotation) String() string {
1075	return protoimpl.X.MessageStringOf(x)
1076}
1077
1078func (*SafeSearchAnnotation) ProtoMessage() {}
1079
1080func (x *SafeSearchAnnotation) ProtoReflect() protoreflect.Message {
1081	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[7]
1082	if protoimpl.UnsafeEnabled && x != nil {
1083		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1084		if ms.LoadMessageInfo() == nil {
1085			ms.StoreMessageInfo(mi)
1086		}
1087		return ms
1088	}
1089	return mi.MessageOf(x)
1090}
1091
1092// Deprecated: Use SafeSearchAnnotation.ProtoReflect.Descriptor instead.
1093func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) {
1094	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{7}
1095}
1096
1097func (x *SafeSearchAnnotation) GetAdult() Likelihood {
1098	if x != nil {
1099		return x.Adult
1100	}
1101	return Likelihood_UNKNOWN
1102}
1103
1104func (x *SafeSearchAnnotation) GetSpoof() Likelihood {
1105	if x != nil {
1106		return x.Spoof
1107	}
1108	return Likelihood_UNKNOWN
1109}
1110
1111func (x *SafeSearchAnnotation) GetMedical() Likelihood {
1112	if x != nil {
1113		return x.Medical
1114	}
1115	return Likelihood_UNKNOWN
1116}
1117
1118func (x *SafeSearchAnnotation) GetViolence() Likelihood {
1119	if x != nil {
1120		return x.Violence
1121	}
1122	return Likelihood_UNKNOWN
1123}
1124
1125func (x *SafeSearchAnnotation) GetRacy() Likelihood {
1126	if x != nil {
1127		return x.Racy
1128	}
1129	return Likelihood_UNKNOWN
1130}
1131
1132// Rectangle determined by min and max `LatLng` pairs.
1133type LatLongRect struct {
1134	state         protoimpl.MessageState
1135	sizeCache     protoimpl.SizeCache
1136	unknownFields protoimpl.UnknownFields
1137
1138	// Min lat/long pair.
1139	MinLatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng,proto3" json:"min_lat_lng,omitempty"`
1140	// Max lat/long pair.
1141	MaxLatLng *latlng.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng,proto3" json:"max_lat_lng,omitempty"`
1142}
1143
1144func (x *LatLongRect) Reset() {
1145	*x = LatLongRect{}
1146	if protoimpl.UnsafeEnabled {
1147		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[8]
1148		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1149		ms.StoreMessageInfo(mi)
1150	}
1151}
1152
1153func (x *LatLongRect) String() string {
1154	return protoimpl.X.MessageStringOf(x)
1155}
1156
1157func (*LatLongRect) ProtoMessage() {}
1158
1159func (x *LatLongRect) ProtoReflect() protoreflect.Message {
1160	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[8]
1161	if protoimpl.UnsafeEnabled && x != nil {
1162		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1163		if ms.LoadMessageInfo() == nil {
1164			ms.StoreMessageInfo(mi)
1165		}
1166		return ms
1167	}
1168	return mi.MessageOf(x)
1169}
1170
1171// Deprecated: Use LatLongRect.ProtoReflect.Descriptor instead.
1172func (*LatLongRect) Descriptor() ([]byte, []int) {
1173	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{8}
1174}
1175
1176func (x *LatLongRect) GetMinLatLng() *latlng.LatLng {
1177	if x != nil {
1178		return x.MinLatLng
1179	}
1180	return nil
1181}
1182
1183func (x *LatLongRect) GetMaxLatLng() *latlng.LatLng {
1184	if x != nil {
1185		return x.MaxLatLng
1186	}
1187	return nil
1188}
1189
1190// Color information consists of RGB channels, score, and the fraction of
1191// the image that the color occupies in the image.
1192type ColorInfo struct {
1193	state         protoimpl.MessageState
1194	sizeCache     protoimpl.SizeCache
1195	unknownFields protoimpl.UnknownFields
1196
1197	// RGB components of the color.
1198	Color *color.Color `protobuf:"bytes,1,opt,name=color,proto3" json:"color,omitempty"`
1199	// Image-specific score for this color. Value in range [0, 1].
1200	Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"`
1201	// The fraction of pixels the color occupies in the image.
1202	// Value in range [0, 1].
1203	PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction,proto3" json:"pixel_fraction,omitempty"`
1204}
1205
1206func (x *ColorInfo) Reset() {
1207	*x = ColorInfo{}
1208	if protoimpl.UnsafeEnabled {
1209		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[9]
1210		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1211		ms.StoreMessageInfo(mi)
1212	}
1213}
1214
1215func (x *ColorInfo) String() string {
1216	return protoimpl.X.MessageStringOf(x)
1217}
1218
1219func (*ColorInfo) ProtoMessage() {}
1220
1221func (x *ColorInfo) ProtoReflect() protoreflect.Message {
1222	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[9]
1223	if protoimpl.UnsafeEnabled && x != nil {
1224		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1225		if ms.LoadMessageInfo() == nil {
1226			ms.StoreMessageInfo(mi)
1227		}
1228		return ms
1229	}
1230	return mi.MessageOf(x)
1231}
1232
1233// Deprecated: Use ColorInfo.ProtoReflect.Descriptor instead.
1234func (*ColorInfo) Descriptor() ([]byte, []int) {
1235	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{9}
1236}
1237
1238func (x *ColorInfo) GetColor() *color.Color {
1239	if x != nil {
1240		return x.Color
1241	}
1242	return nil
1243}
1244
1245func (x *ColorInfo) GetScore() float32 {
1246	if x != nil {
1247		return x.Score
1248	}
1249	return 0
1250}
1251
1252func (x *ColorInfo) GetPixelFraction() float32 {
1253	if x != nil {
1254		return x.PixelFraction
1255	}
1256	return 0
1257}
1258
1259// Set of dominant colors and their corresponding scores.
1260type DominantColorsAnnotation struct {
1261	state         protoimpl.MessageState
1262	sizeCache     protoimpl.SizeCache
1263	unknownFields protoimpl.UnknownFields
1264
1265	// RGB color values with their score and pixel fraction.
1266	Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors,proto3" json:"colors,omitempty"`
1267}
1268
1269func (x *DominantColorsAnnotation) Reset() {
1270	*x = DominantColorsAnnotation{}
1271	if protoimpl.UnsafeEnabled {
1272		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[10]
1273		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1274		ms.StoreMessageInfo(mi)
1275	}
1276}
1277
1278func (x *DominantColorsAnnotation) String() string {
1279	return protoimpl.X.MessageStringOf(x)
1280}
1281
1282func (*DominantColorsAnnotation) ProtoMessage() {}
1283
1284func (x *DominantColorsAnnotation) ProtoReflect() protoreflect.Message {
1285	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[10]
1286	if protoimpl.UnsafeEnabled && x != nil {
1287		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1288		if ms.LoadMessageInfo() == nil {
1289			ms.StoreMessageInfo(mi)
1290		}
1291		return ms
1292	}
1293	return mi.MessageOf(x)
1294}
1295
1296// Deprecated: Use DominantColorsAnnotation.ProtoReflect.Descriptor instead.
1297func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) {
1298	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{10}
1299}
1300
1301func (x *DominantColorsAnnotation) GetColors() []*ColorInfo {
1302	if x != nil {
1303		return x.Colors
1304	}
1305	return nil
1306}
1307
1308// Stores image properties, such as dominant colors.
1309type ImageProperties struct {
1310	state         protoimpl.MessageState
1311	sizeCache     protoimpl.SizeCache
1312	unknownFields protoimpl.UnknownFields
1313
1314	// If present, dominant colors completed successfully.
1315	DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors,proto3" json:"dominant_colors,omitempty"`
1316}
1317
1318func (x *ImageProperties) Reset() {
1319	*x = ImageProperties{}
1320	if protoimpl.UnsafeEnabled {
1321		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[11]
1322		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1323		ms.StoreMessageInfo(mi)
1324	}
1325}
1326
1327func (x *ImageProperties) String() string {
1328	return protoimpl.X.MessageStringOf(x)
1329}
1330
1331func (*ImageProperties) ProtoMessage() {}
1332
1333func (x *ImageProperties) ProtoReflect() protoreflect.Message {
1334	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[11]
1335	if protoimpl.UnsafeEnabled && x != nil {
1336		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1337		if ms.LoadMessageInfo() == nil {
1338			ms.StoreMessageInfo(mi)
1339		}
1340		return ms
1341	}
1342	return mi.MessageOf(x)
1343}
1344
1345// Deprecated: Use ImageProperties.ProtoReflect.Descriptor instead.
1346func (*ImageProperties) Descriptor() ([]byte, []int) {
1347	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{11}
1348}
1349
1350func (x *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
1351	if x != nil {
1352		return x.DominantColors
1353	}
1354	return nil
1355}
1356
1357// Single crop hint that is used to generate a new crop when serving an image.
1358type CropHint struct {
1359	state         protoimpl.MessageState
1360	sizeCache     protoimpl.SizeCache
1361	unknownFields protoimpl.UnknownFields
1362
1363	// The bounding polygon for the crop region. The coordinates of the bounding
1364	// box are in the original image's scale, as returned in `ImageParams`.
1365	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1366	// Confidence of this being a salient region.  Range [0, 1].
1367	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
1368	// Fraction of importance of this salient region with respect to the original
1369	// image.
1370	ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction,proto3" json:"importance_fraction,omitempty"`
1371}
1372
1373func (x *CropHint) Reset() {
1374	*x = CropHint{}
1375	if protoimpl.UnsafeEnabled {
1376		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[12]
1377		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1378		ms.StoreMessageInfo(mi)
1379	}
1380}
1381
1382func (x *CropHint) String() string {
1383	return protoimpl.X.MessageStringOf(x)
1384}
1385
1386func (*CropHint) ProtoMessage() {}
1387
1388func (x *CropHint) ProtoReflect() protoreflect.Message {
1389	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[12]
1390	if protoimpl.UnsafeEnabled && x != nil {
1391		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1392		if ms.LoadMessageInfo() == nil {
1393			ms.StoreMessageInfo(mi)
1394		}
1395		return ms
1396	}
1397	return mi.MessageOf(x)
1398}
1399
1400// Deprecated: Use CropHint.ProtoReflect.Descriptor instead.
1401func (*CropHint) Descriptor() ([]byte, []int) {
1402	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{12}
1403}
1404
1405func (x *CropHint) GetBoundingPoly() *BoundingPoly {
1406	if x != nil {
1407		return x.BoundingPoly
1408	}
1409	return nil
1410}
1411
1412func (x *CropHint) GetConfidence() float32 {
1413	if x != nil {
1414		return x.Confidence
1415	}
1416	return 0
1417}
1418
1419func (x *CropHint) GetImportanceFraction() float32 {
1420	if x != nil {
1421		return x.ImportanceFraction
1422	}
1423	return 0
1424}
1425
1426// Set of crop hints that are used to generate new crops when serving images.
1427type CropHintsAnnotation struct {
1428	state         protoimpl.MessageState
1429	sizeCache     protoimpl.SizeCache
1430	unknownFields protoimpl.UnknownFields
1431
1432	// Crop hint results.
1433	CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints,proto3" json:"crop_hints,omitempty"`
1434}
1435
1436func (x *CropHintsAnnotation) Reset() {
1437	*x = CropHintsAnnotation{}
1438	if protoimpl.UnsafeEnabled {
1439		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[13]
1440		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1441		ms.StoreMessageInfo(mi)
1442	}
1443}
1444
1445func (x *CropHintsAnnotation) String() string {
1446	return protoimpl.X.MessageStringOf(x)
1447}
1448
1449func (*CropHintsAnnotation) ProtoMessage() {}
1450
1451func (x *CropHintsAnnotation) ProtoReflect() protoreflect.Message {
1452	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[13]
1453	if protoimpl.UnsafeEnabled && x != nil {
1454		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1455		if ms.LoadMessageInfo() == nil {
1456			ms.StoreMessageInfo(mi)
1457		}
1458		return ms
1459	}
1460	return mi.MessageOf(x)
1461}
1462
1463// Deprecated: Use CropHintsAnnotation.ProtoReflect.Descriptor instead.
1464func (*CropHintsAnnotation) Descriptor() ([]byte, []int) {
1465	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{13}
1466}
1467
1468func (x *CropHintsAnnotation) GetCropHints() []*CropHint {
1469	if x != nil {
1470		return x.CropHints
1471	}
1472	return nil
1473}
1474
1475// Parameters for crop hints annotation request.
1476type CropHintsParams struct {
1477	state         protoimpl.MessageState
1478	sizeCache     protoimpl.SizeCache
1479	unknownFields protoimpl.UnknownFields
1480
1481	// Aspect ratios in floats, representing the ratio of the width to the height
1482	// of the image. For example, if the desired aspect ratio is 4/3, the
1483	// corresponding float value should be 1.33333.  If not specified, the
1484	// best possible crop is returned. The number of provided aspect ratios is
1485	// limited to a maximum of 16; any aspect ratios provided after the 16th are
1486	// ignored.
1487	AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios,proto3" json:"aspect_ratios,omitempty"`
1488}
1489
1490func (x *CropHintsParams) Reset() {
1491	*x = CropHintsParams{}
1492	if protoimpl.UnsafeEnabled {
1493		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[14]
1494		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1495		ms.StoreMessageInfo(mi)
1496	}
1497}
1498
1499func (x *CropHintsParams) String() string {
1500	return protoimpl.X.MessageStringOf(x)
1501}
1502
1503func (*CropHintsParams) ProtoMessage() {}
1504
1505func (x *CropHintsParams) ProtoReflect() protoreflect.Message {
1506	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[14]
1507	if protoimpl.UnsafeEnabled && x != nil {
1508		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1509		if ms.LoadMessageInfo() == nil {
1510			ms.StoreMessageInfo(mi)
1511		}
1512		return ms
1513	}
1514	return mi.MessageOf(x)
1515}
1516
1517// Deprecated: Use CropHintsParams.ProtoReflect.Descriptor instead.
1518func (*CropHintsParams) Descriptor() ([]byte, []int) {
1519	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{14}
1520}
1521
1522func (x *CropHintsParams) GetAspectRatios() []float32 {
1523	if x != nil {
1524		return x.AspectRatios
1525	}
1526	return nil
1527}
1528
1529// Parameters for web detection request.
1530type WebDetectionParams struct {
1531	state         protoimpl.MessageState
1532	sizeCache     protoimpl.SizeCache
1533	unknownFields protoimpl.UnknownFields
1534
1535	// Whether to include results derived from the geo information in the image.
1536	IncludeGeoResults bool `protobuf:"varint,2,opt,name=include_geo_results,json=includeGeoResults,proto3" json:"include_geo_results,omitempty"`
1537}
1538
1539func (x *WebDetectionParams) Reset() {
1540	*x = WebDetectionParams{}
1541	if protoimpl.UnsafeEnabled {
1542		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[15]
1543		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1544		ms.StoreMessageInfo(mi)
1545	}
1546}
1547
1548func (x *WebDetectionParams) String() string {
1549	return protoimpl.X.MessageStringOf(x)
1550}
1551
1552func (*WebDetectionParams) ProtoMessage() {}
1553
1554func (x *WebDetectionParams) ProtoReflect() protoreflect.Message {
1555	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[15]
1556	if protoimpl.UnsafeEnabled && x != nil {
1557		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1558		if ms.LoadMessageInfo() == nil {
1559			ms.StoreMessageInfo(mi)
1560		}
1561		return ms
1562	}
1563	return mi.MessageOf(x)
1564}
1565
1566// Deprecated: Use WebDetectionParams.ProtoReflect.Descriptor instead.
1567func (*WebDetectionParams) Descriptor() ([]byte, []int) {
1568	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{15}
1569}
1570
1571func (x *WebDetectionParams) GetIncludeGeoResults() bool {
1572	if x != nil {
1573		return x.IncludeGeoResults
1574	}
1575	return false
1576}
1577
1578// Parameters for text detections. This is used to control TEXT_DETECTION and
1579// DOCUMENT_TEXT_DETECTION features.
1580type TextDetectionParams struct {
1581	state         protoimpl.MessageState
1582	sizeCache     protoimpl.SizeCache
1583	unknownFields protoimpl.UnknownFields
1584
1585	// By default, Cloud Vision API only includes confidence score for
1586	// DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence
1587	// score for TEXT_DETECTION as well.
1588	EnableTextDetectionConfidenceScore bool `protobuf:"varint,9,opt,name=enable_text_detection_confidence_score,json=enableTextDetectionConfidenceScore,proto3" json:"enable_text_detection_confidence_score,omitempty"`
1589}
1590
1591func (x *TextDetectionParams) Reset() {
1592	*x = TextDetectionParams{}
1593	if protoimpl.UnsafeEnabled {
1594		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[16]
1595		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1596		ms.StoreMessageInfo(mi)
1597	}
1598}
1599
1600func (x *TextDetectionParams) String() string {
1601	return protoimpl.X.MessageStringOf(x)
1602}
1603
1604func (*TextDetectionParams) ProtoMessage() {}
1605
1606func (x *TextDetectionParams) ProtoReflect() protoreflect.Message {
1607	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[16]
1608	if protoimpl.UnsafeEnabled && x != nil {
1609		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1610		if ms.LoadMessageInfo() == nil {
1611			ms.StoreMessageInfo(mi)
1612		}
1613		return ms
1614	}
1615	return mi.MessageOf(x)
1616}
1617
1618// Deprecated: Use TextDetectionParams.ProtoReflect.Descriptor instead.
1619func (*TextDetectionParams) Descriptor() ([]byte, []int) {
1620	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{16}
1621}
1622
1623func (x *TextDetectionParams) GetEnableTextDetectionConfidenceScore() bool {
1624	if x != nil {
1625		return x.EnableTextDetectionConfidenceScore
1626	}
1627	return false
1628}
1629
1630// Image context and/or feature-specific parameters.
1631type ImageContext struct {
1632	state         protoimpl.MessageState
1633	sizeCache     protoimpl.SizeCache
1634	unknownFields protoimpl.UnknownFields
1635
1636	// lat/long rectangle that specifies the location of the image.
1637	LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect,proto3" json:"lat_long_rect,omitempty"`
1638	// List of languages to use for TEXT_DETECTION. In most cases, an empty value
1639	// yields the best results since it enables automatic language detection. For
1640	// languages based on the Latin alphabet, setting `language_hints` is not
1641	// needed. In rare cases, when the language of the text in the image is known,
1642	// setting a hint will help get better results (although it will be a
1643	// significant hindrance if the hint is wrong). Text detection returns an
1644	// error if one or more of the specified languages is not one of the
1645	// [supported languages](https://cloud.google.com/vision/docs/languages).
1646	LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
1647	// Parameters for crop hints annotation request.
1648	CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams,proto3" json:"crop_hints_params,omitempty"`
1649	// Parameters for web detection.
1650	WebDetectionParams *WebDetectionParams `protobuf:"bytes,6,opt,name=web_detection_params,json=webDetectionParams,proto3" json:"web_detection_params,omitempty"`
1651	// Parameters for text detection and document text detection.
1652	TextDetectionParams *TextDetectionParams `protobuf:"bytes,12,opt,name=text_detection_params,json=textDetectionParams,proto3" json:"text_detection_params,omitempty"`
1653}
1654
1655func (x *ImageContext) Reset() {
1656	*x = ImageContext{}
1657	if protoimpl.UnsafeEnabled {
1658		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[17]
1659		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1660		ms.StoreMessageInfo(mi)
1661	}
1662}
1663
1664func (x *ImageContext) String() string {
1665	return protoimpl.X.MessageStringOf(x)
1666}
1667
1668func (*ImageContext) ProtoMessage() {}
1669
1670func (x *ImageContext) ProtoReflect() protoreflect.Message {
1671	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[17]
1672	if protoimpl.UnsafeEnabled && x != nil {
1673		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1674		if ms.LoadMessageInfo() == nil {
1675			ms.StoreMessageInfo(mi)
1676		}
1677		return ms
1678	}
1679	return mi.MessageOf(x)
1680}
1681
1682// Deprecated: Use ImageContext.ProtoReflect.Descriptor instead.
1683func (*ImageContext) Descriptor() ([]byte, []int) {
1684	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{17}
1685}
1686
1687func (x *ImageContext) GetLatLongRect() *LatLongRect {
1688	if x != nil {
1689		return x.LatLongRect
1690	}
1691	return nil
1692}
1693
1694func (x *ImageContext) GetLanguageHints() []string {
1695	if x != nil {
1696		return x.LanguageHints
1697	}
1698	return nil
1699}
1700
1701func (x *ImageContext) GetCropHintsParams() *CropHintsParams {
1702	if x != nil {
1703		return x.CropHintsParams
1704	}
1705	return nil
1706}
1707
1708func (x *ImageContext) GetWebDetectionParams() *WebDetectionParams {
1709	if x != nil {
1710		return x.WebDetectionParams
1711	}
1712	return nil
1713}
1714
1715func (x *ImageContext) GetTextDetectionParams() *TextDetectionParams {
1716	if x != nil {
1717		return x.TextDetectionParams
1718	}
1719	return nil
1720}
1721
1722// Request for performing Google Cloud Vision API tasks over a user-provided
1723// image, with user-requested features.
1724type AnnotateImageRequest struct {
1725	state         protoimpl.MessageState
1726	sizeCache     protoimpl.SizeCache
1727	unknownFields protoimpl.UnknownFields
1728
1729	// The image to be processed.
1730	Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
1731	// Requested features.
1732	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
1733	// Additional context that may accompany the image.
1734	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
1735}
1736
1737func (x *AnnotateImageRequest) Reset() {
1738	*x = AnnotateImageRequest{}
1739	if protoimpl.UnsafeEnabled {
1740		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[18]
1741		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1742		ms.StoreMessageInfo(mi)
1743	}
1744}
1745
1746func (x *AnnotateImageRequest) String() string {
1747	return protoimpl.X.MessageStringOf(x)
1748}
1749
1750func (*AnnotateImageRequest) ProtoMessage() {}
1751
1752func (x *AnnotateImageRequest) ProtoReflect() protoreflect.Message {
1753	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[18]
1754	if protoimpl.UnsafeEnabled && x != nil {
1755		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1756		if ms.LoadMessageInfo() == nil {
1757			ms.StoreMessageInfo(mi)
1758		}
1759		return ms
1760	}
1761	return mi.MessageOf(x)
1762}
1763
1764// Deprecated: Use AnnotateImageRequest.ProtoReflect.Descriptor instead.
1765func (*AnnotateImageRequest) Descriptor() ([]byte, []int) {
1766	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{18}
1767}
1768
1769func (x *AnnotateImageRequest) GetImage() *Image {
1770	if x != nil {
1771		return x.Image
1772	}
1773	return nil
1774}
1775
1776func (x *AnnotateImageRequest) GetFeatures() []*Feature {
1777	if x != nil {
1778		return x.Features
1779	}
1780	return nil
1781}
1782
1783func (x *AnnotateImageRequest) GetImageContext() *ImageContext {
1784	if x != nil {
1785		return x.ImageContext
1786	}
1787	return nil
1788}
1789
1790// Response to an image annotation request.
1791type AnnotateImageResponse struct {
1792	state         protoimpl.MessageState
1793	sizeCache     protoimpl.SizeCache
1794	unknownFields protoimpl.UnknownFields
1795
1796	// If present, face detection has completed successfully.
1797	FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"`
1798	// If present, landmark detection has completed successfully.
1799	LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations,proto3" json:"landmark_annotations,omitempty"`
1800	// If present, logo detection has completed successfully.
1801	LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations,proto3" json:"logo_annotations,omitempty"`
1802	// If present, label detection has completed successfully.
1803	LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"`
1804	// If present, text (OCR) detection has completed successfully.
1805	TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
1806	// If present, text (OCR) detection or document (OCR) text detection has
1807	// completed successfully.
1808	// This annotation provides the structural hierarchy for the OCR detected
1809	// text.
1810	FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation,proto3" json:"full_text_annotation,omitempty"`
1811	// If present, safe-search annotation has completed successfully.
1812	SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation,proto3" json:"safe_search_annotation,omitempty"`
1813	// If present, image properties were extracted successfully.
1814	ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation,proto3" json:"image_properties_annotation,omitempty"`
1815	// If present, crop hints have completed successfully.
1816	CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation,proto3" json:"crop_hints_annotation,omitempty"`
1817	// If present, web detection has completed successfully.
1818	WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection,proto3" json:"web_detection,omitempty"`
1819	// If set, represents the error message for the operation.
1820	// Note that filled-in image annotations are guaranteed to be
1821	// correct, even when `error` is set.
1822	Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
1823}
1824
1825func (x *AnnotateImageResponse) Reset() {
1826	*x = AnnotateImageResponse{}
1827	if protoimpl.UnsafeEnabled {
1828		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[19]
1829		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1830		ms.StoreMessageInfo(mi)
1831	}
1832}
1833
1834func (x *AnnotateImageResponse) String() string {
1835	return protoimpl.X.MessageStringOf(x)
1836}
1837
1838func (*AnnotateImageResponse) ProtoMessage() {}
1839
1840func (x *AnnotateImageResponse) ProtoReflect() protoreflect.Message {
1841	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[19]
1842	if protoimpl.UnsafeEnabled && x != nil {
1843		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1844		if ms.LoadMessageInfo() == nil {
1845			ms.StoreMessageInfo(mi)
1846		}
1847		return ms
1848	}
1849	return mi.MessageOf(x)
1850}
1851
1852// Deprecated: Use AnnotateImageResponse.ProtoReflect.Descriptor instead.
1853func (*AnnotateImageResponse) Descriptor() ([]byte, []int) {
1854	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{19}
1855}
1856
1857func (x *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
1858	if x != nil {
1859		return x.FaceAnnotations
1860	}
1861	return nil
1862}
1863
1864func (x *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
1865	if x != nil {
1866		return x.LandmarkAnnotations
1867	}
1868	return nil
1869}
1870
1871func (x *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
1872	if x != nil {
1873		return x.LogoAnnotations
1874	}
1875	return nil
1876}
1877
1878func (x *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
1879	if x != nil {
1880		return x.LabelAnnotations
1881	}
1882	return nil
1883}
1884
1885func (x *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
1886	if x != nil {
1887		return x.TextAnnotations
1888	}
1889	return nil
1890}
1891
1892func (x *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
1893	if x != nil {
1894		return x.FullTextAnnotation
1895	}
1896	return nil
1897}
1898
1899func (x *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
1900	if x != nil {
1901		return x.SafeSearchAnnotation
1902	}
1903	return nil
1904}
1905
1906func (x *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
1907	if x != nil {
1908		return x.ImagePropertiesAnnotation
1909	}
1910	return nil
1911}
1912
1913func (x *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
1914	if x != nil {
1915		return x.CropHintsAnnotation
1916	}
1917	return nil
1918}
1919
1920func (x *AnnotateImageResponse) GetWebDetection() *WebDetection {
1921	if x != nil {
1922		return x.WebDetection
1923	}
1924	return nil
1925}
1926
1927func (x *AnnotateImageResponse) GetError() *status.Status {
1928	if x != nil {
1929		return x.Error
1930	}
1931	return nil
1932}
1933
1934// Multiple image annotation requests are batched into a single service call.
1935type BatchAnnotateImagesRequest struct {
1936	state         protoimpl.MessageState
1937	sizeCache     protoimpl.SizeCache
1938	unknownFields protoimpl.UnknownFields
1939
1940	// Required. Individual image annotation requests for this batch.
1941	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
1942}
1943
1944func (x *BatchAnnotateImagesRequest) Reset() {
1945	*x = BatchAnnotateImagesRequest{}
1946	if protoimpl.UnsafeEnabled {
1947		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[20]
1948		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1949		ms.StoreMessageInfo(mi)
1950	}
1951}
1952
1953func (x *BatchAnnotateImagesRequest) String() string {
1954	return protoimpl.X.MessageStringOf(x)
1955}
1956
1957func (*BatchAnnotateImagesRequest) ProtoMessage() {}
1958
1959func (x *BatchAnnotateImagesRequest) ProtoReflect() protoreflect.Message {
1960	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[20]
1961	if protoimpl.UnsafeEnabled && x != nil {
1962		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1963		if ms.LoadMessageInfo() == nil {
1964			ms.StoreMessageInfo(mi)
1965		}
1966		return ms
1967	}
1968	return mi.MessageOf(x)
1969}
1970
1971// Deprecated: Use BatchAnnotateImagesRequest.ProtoReflect.Descriptor instead.
1972func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
1973	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{20}
1974}
1975
1976func (x *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
1977	if x != nil {
1978		return x.Requests
1979	}
1980	return nil
1981}
1982
1983// Response to a batch image annotation request.
1984type BatchAnnotateImagesResponse struct {
1985	state         protoimpl.MessageState
1986	sizeCache     protoimpl.SizeCache
1987	unknownFields protoimpl.UnknownFields
1988
1989	// Individual responses to image annotation requests within the batch.
1990	Responses []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
1991}
1992
1993func (x *BatchAnnotateImagesResponse) Reset() {
1994	*x = BatchAnnotateImagesResponse{}
1995	if protoimpl.UnsafeEnabled {
1996		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[21]
1997		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1998		ms.StoreMessageInfo(mi)
1999	}
2000}
2001
2002func (x *BatchAnnotateImagesResponse) String() string {
2003	return protoimpl.X.MessageStringOf(x)
2004}
2005
2006func (*BatchAnnotateImagesResponse) ProtoMessage() {}
2007
2008func (x *BatchAnnotateImagesResponse) ProtoReflect() protoreflect.Message {
2009	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[21]
2010	if protoimpl.UnsafeEnabled && x != nil {
2011		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2012		if ms.LoadMessageInfo() == nil {
2013			ms.StoreMessageInfo(mi)
2014		}
2015		return ms
2016	}
2017	return mi.MessageOf(x)
2018}
2019
2020// Deprecated: Use BatchAnnotateImagesResponse.ProtoReflect.Descriptor instead.
2021func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
2022	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{21}
2023}
2024
2025func (x *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
2026	if x != nil {
2027		return x.Responses
2028	}
2029	return nil
2030}
2031
2032// A face-specific landmark (for example, a face feature).
2033type FaceAnnotation_Landmark struct {
2034	state         protoimpl.MessageState
2035	sizeCache     protoimpl.SizeCache
2036	unknownFields protoimpl.UnknownFields
2037
2038	// Face landmark type.
2039	Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.vision.v1p1beta1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
2040	// Face landmark position.
2041	Position *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
2042}
2043
2044func (x *FaceAnnotation_Landmark) Reset() {
2045	*x = FaceAnnotation_Landmark{}
2046	if protoimpl.UnsafeEnabled {
2047		mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[22]
2048		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2049		ms.StoreMessageInfo(mi)
2050	}
2051}
2052
2053func (x *FaceAnnotation_Landmark) String() string {
2054	return protoimpl.X.MessageStringOf(x)
2055}
2056
2057func (*FaceAnnotation_Landmark) ProtoMessage() {}
2058
2059func (x *FaceAnnotation_Landmark) ProtoReflect() protoreflect.Message {
2060	mi := &file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[22]
2061	if protoimpl.UnsafeEnabled && x != nil {
2062		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2063		if ms.LoadMessageInfo() == nil {
2064			ms.StoreMessageInfo(mi)
2065		}
2066		return ms
2067	}
2068	return mi.MessageOf(x)
2069}
2070
2071// Deprecated: Use FaceAnnotation_Landmark.ProtoReflect.Descriptor instead.
2072func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) {
2073	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP(), []int{3, 0}
2074}
2075
2076func (x *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
2077	if x != nil {
2078		return x.Type
2079	}
2080	return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
2081}
2082
2083func (x *FaceAnnotation_Landmark) GetPosition() *Position {
2084	if x != nil {
2085		return x.Position
2086	}
2087	return nil
2088}
2089
2090var File_google_cloud_vision_v1p1beta1_image_annotator_proto protoreflect.FileDescriptor
2091
2092var file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDesc = []byte{
2093	0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
2094	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
2095	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x2e,
2096	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2097	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2098	0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
2099	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
2100	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
2101	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
2102	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
2103	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f,
2104	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f,
2105	0x6e, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6f, 0x6d,
2106	0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67,
2107	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f,
2108	0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61,
2109	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2110	0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69,
2111	0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77,
2112	0x65, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
2113	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73,
2114	0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
2115	0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x70,
2116	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70,
2117	0x65, 0x2f, 0x6c, 0x61, 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa,
2118	0x02, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79,
2119	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2120	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
2121	0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
2122	0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
2123	0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
2124	0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05,
2125	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64,
2126	0x65, 0x6c, 0x22, 0xf6, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54,
2127	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
2128	0x00, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54,
2129	0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52,
2130	0x4b, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x12, 0x0a,
2131	0x0e, 0x4c, 0x4f, 0x47, 0x4f, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10,
2132	0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43,
2133	0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x44,
2134	0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f,
2135	0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45,
2136	0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x46, 0x45, 0x5f,
2137	0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e,
2138	0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x50,
2139	0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x52, 0x4f, 0x50,
2140	0x5f, 0x48, 0x49, 0x4e, 0x54, 0x53, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x57, 0x45, 0x42, 0x5f,
2141	0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x22, 0x4e, 0x0a, 0x0b, 0x49,
2142	0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x63,
2143	0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
2144	0x09, 0x52, 0x0b, 0x67, 0x63, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1b,
2145	0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28,
2146	0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x22, 0x65, 0x0a, 0x05, 0x49,
2147	0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18,
2148	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x42,
2149	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
2150	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
2151	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49,
2152	0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72,
2153	0x63, 0x65, 0x22, 0xa5, 0x10, 0x0a, 0x0e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
2154	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e,
2155	0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
2156	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
2157	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75,
2158	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64,
2159	0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x55, 0x0a, 0x10, 0x66, 0x64, 0x5f, 0x62, 0x6f,
2160	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
2161	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2162	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2163	0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0e,
2164	0x66, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x54,
2165	0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
2166	0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2167	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2168	0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2169	0x2e, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x64, 0x6d,
2170	0x61, 0x72, 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x61, 0x6e, 0x67,
2171	0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x6c, 0x41, 0x6e,
2172	0x67, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x6e, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65,
2173	0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x70, 0x61, 0x6e, 0x41, 0x6e, 0x67, 0x6c, 0x65,
2174	0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x06,
2175	0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6c, 0x74, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12,
2176	0x31, 0x0a, 0x14, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
2177	0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x64,
2178	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
2179	0x63, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e,
2180	0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01,
2181	0x28, 0x02, 0x52, 0x15, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43,
2182	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0e, 0x6a, 0x6f, 0x79,
2183	0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
2184	0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2185	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2186	0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x0d, 0x6a, 0x6f,
2187	0x79, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x56, 0x0a, 0x11, 0x73,
2188	0x6f, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
2189	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2190	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2191	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
2192	0x64, 0x52, 0x10, 0x73, 0x6f, 0x72, 0x72, 0x6f, 0x77, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
2193	0x6f, 0x6f, 0x64, 0x12, 0x54, 0x0a, 0x10, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6b,
2194	0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e,
2195	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2196	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69,
2197	0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x0f, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c,
2198	0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x13, 0x73, 0x75, 0x72,
2199	0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
2200	0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2201	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2202	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
2203	0x64, 0x52, 0x12, 0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x6c,
2204	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x65,
2205	0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
2206	0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2207	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2208	0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f,
2209	0x6f, 0x64, 0x52, 0x16, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64,
2210	0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x58, 0x0a, 0x12, 0x62, 0x6c,
2211	0x75, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
2212	0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2213	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2214	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
2215	0x64, 0x52, 0x11, 0x62, 0x6c, 0x75, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
2216	0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x64, 0x77, 0x65, 0x61, 0x72,
2217	0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
2218	0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2219	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2220	0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x12, 0x68, 0x65,
2221	0x61, 0x64, 0x77, 0x65, 0x61, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64,
2222	0x1a, 0xd7, 0x07, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x4f, 0x0a,
2223	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f,
2224	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
2225	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65,
2226	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x64, 0x6d,
2227	0x61, 0x72, 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x43,
2228	0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
2229	0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2230	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
2231	0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74,
2232	0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x06, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10,
2233	0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b,
2234	0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x01,
2235	0x12, 0x0d, 0x0a, 0x09, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x02, 0x12,
2236	0x18, 0x0a, 0x14, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f,
2237	0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x49, 0x47,
2238	0x48, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52,
2239	0x4f, 0x57, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4f, 0x46, 0x5f,
2240	0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x05, 0x12,
2241	0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x49, 0x47, 0x48,
2242	0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4d,
2243	0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f,
2244	0x45, 0x59, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x54,
2245	0x49, 0x50, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4c, 0x49,
2246	0x50, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x50,
2247	0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x4c, 0x45, 0x46, 0x54,
2248	0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x52, 0x49, 0x47, 0x48,
2249	0x54, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x43, 0x45, 0x4e,
2250	0x54, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f,
2251	0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10,
2252	0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x4c, 0x45, 0x46, 0x54,
2253	0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f,
2254	0x4d, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x10, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45,
2255	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44,
2256	0x41, 0x52, 0x59, 0x10, 0x11, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59,
2257	0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x12,
2258	0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f, 0x54,
2259	0x54, 0x4f, 0x4d, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x13, 0x12, 0x18,
2260	0x0a, 0x14, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f,
2261	0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x14, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48,
2262	0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41,
2263	0x52, 0x59, 0x10, 0x15, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59,
2264	0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x16,
2265	0x12, 0x1d, 0x0a, 0x19, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f,
2266	0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x17, 0x12,
2267	0x19, 0x0a, 0x15, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46,
2268	0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x45,
2269	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52,
2270	0x5f, 0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x19, 0x12, 0x20, 0x0a, 0x1c, 0x52,
2271	0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50,
2272	0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x1a, 0x12, 0x14, 0x0a,
2273	0x10, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x41, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f,
2274	0x4e, 0x10, 0x1b, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x41, 0x52,
2275	0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0x1c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45,
2276	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x50, 0x55, 0x50, 0x49, 0x4c, 0x10, 0x1d, 0x12, 0x13,
2277	0x0a, 0x0f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x50, 0x55, 0x50, 0x49,
2278	0x4c, 0x10, 0x1e, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x4f, 0x52, 0x45, 0x48, 0x45, 0x41, 0x44, 0x5f,
2279	0x47, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x4c, 0x41, 0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48,
2280	0x49, 0x4e, 0x5f, 0x47, 0x4e, 0x41, 0x54, 0x48, 0x49, 0x4f, 0x4e, 0x10, 0x20, 0x12, 0x14, 0x0a,
2281	0x10, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f,
2282	0x4e, 0x10, 0x21, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48,
2283	0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x22, 0x22, 0x3c, 0x0a, 0x0c, 0x4c, 0x6f,
2284	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x6c, 0x61,
2285	0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f,
2286	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67,
2287	0x52, 0x06, 0x6c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x22, 0x57, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70,
2288	0x65, 0x72, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
2289	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
2290	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21,
2291	0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03,
2292	0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
2293	0x65, 0x22, 0x9a, 0x03, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f,
2294	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20,
2295	0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61,
2296	0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65,
2297	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
2298	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
2299	0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
2300	0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66,
2301	0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f,
2302	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69,
2303	0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f,
2304	0x70, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e,
2305	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
2306	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
2307	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2308	0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f,
2309	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x6f,
2310	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
2311	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2312	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f,
2313	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61,
2314	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
2315	0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2316	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
2317	0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
2318	0x74, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xe3,
2319	0x02, 0x0a, 0x14, 0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e,
2320	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x61, 0x64, 0x75, 0x6c, 0x74,
2321	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2322	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2323	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
2324	0x64, 0x52, 0x05, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x70, 0x6f, 0x6f,
2325	0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2326	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2327	0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f,
2328	0x6f, 0x64, 0x52, 0x05, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x65, 0x64,
2329	0x69, 0x63, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
2330	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2331	0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c,
2332	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x45,
2333	0x0a, 0x08, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
2334	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2335	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
2336	0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x08, 0x76, 0x69, 0x6f,
2337	0x6c, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x79, 0x18, 0x09, 0x20,
2338	0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2339	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65,
2340	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x04,
2341	0x72, 0x61, 0x63, 0x79, 0x22, 0x77, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52,
2342	0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x5f, 0x6c,
2343	0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2344	0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x09, 0x6d,
2345	0x69, 0x6e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f,
2346	0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
2347	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c,
2348	0x6e, 0x67, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x22, 0x72, 0x0a,
2349	0x09, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x05, 0x63, 0x6f,
2350	0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2351	0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x05, 0x63,
2352	0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20,
2353	0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x69,
2354	0x78, 0x65, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
2355	0x28, 0x02, 0x52, 0x0d, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,
2356	0x6e, 0x22, 0x5c, 0x0a, 0x18, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c,
2357	0x6f, 0x72, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a,
2358	0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e,
2359	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2360	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f,
2361	0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x22,
2362	0x73, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
2363	0x65, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x63,
2364	0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f,
2365	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
2366	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x6d, 0x69,
2367	0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
2368	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f,
2369	0x6c, 0x6f, 0x72, 0x73, 0x22, 0xad, 0x01, 0x0a, 0x08, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e,
2370	0x74, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f,
2371	0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2372	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
2373	0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e,
2374	0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50,
2375	0x6f, 0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63,
2376	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65,
2377	0x6e, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63,
2378	0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02,
2379	0x52, 0x12, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x61, 0x63,
2380	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x13, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74,
2381	0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0a, 0x63,
2382	0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
2383	0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
2384	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2385	0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69,
2386	0x6e, 0x74, 0x73, 0x22, 0x36, 0x0a, 0x0f, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73,
2387	0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74,
2388	0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0c, 0x61,
2389	0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x57,
2390	0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
2391	0x73, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x65, 0x6f,
2392	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11,
2393	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
2394	0x73, 0x22, 0x69, 0x0a, 0x13, 0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
2395	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x52, 0x0a, 0x26, 0x65, 0x6e, 0x61, 0x62,
2396	0x6c, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
2397	0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f,
2398	0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
2399	0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e,
2400	0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xae, 0x03, 0x0a,
2401	0x0c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4e, 0x0a,
2402	0x0d, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01,
2403	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2404	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2405	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74,
2406	0x52, 0x0b, 0x6c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a,
2407	0x0e, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18,
2408	0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x48,
2409	0x69, 0x6e, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e,
2410	0x74, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
2411	0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
2412	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2413	0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52,
2414	0x0f, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
2415	0x12, 0x63, 0x0a, 0x14, 0x77, 0x65, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
2416	0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31,
2417	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
2418	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57,
2419	0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
2420	0x73, 0x52, 0x12, 0x77, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50,
2421	0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x66, 0x0a, 0x15, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x65,
2422	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0c,
2423	0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2424	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2425	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
2426	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65,
2427	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xe8, 0x01,
2428	0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
2429	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18,
2430	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2431	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31,
2432	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61,
2433	0x67, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02,
2434	0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2435	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2436	0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65,
2437	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f,
2438	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
2439	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
2440	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d,
2441	0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67,
2442	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x8b, 0x08, 0x0a, 0x15, 0x41, 0x6e, 0x6e,
2443	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2444	0x73, 0x65, 0x12, 0x58, 0x0a, 0x10, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
2445	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
2446	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
2447	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63,
2448	0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x61, 0x63,
2449	0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x14,
2450	0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
2451	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
2452	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2453	0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
2454	0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6c, 0x61, 0x6e,
2455	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2456	0x12, 0x5a, 0x0a, 0x10, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
2457	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
2458	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2459	0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
2460	0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6c, 0x6f, 0x67,
2461	0x6f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x11,
2462	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2463	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2464	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2465	0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e,
2466	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x41,
2467	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x65,
2468	0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05,
2469	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2470	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2471	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
2472	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
2473	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x74,
2474	0x65, 0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c,
2475	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2476	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62,
2477	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
2478	0x69, 0x6f, 0x6e, 0x52, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e,
2479	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x16, 0x73, 0x61, 0x66, 0x65, 0x5f,
2480	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
2481	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2482	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2483	0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72,
2484	0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x73, 0x61,
2485	0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
2486	0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x1b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70,
2487	0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
2488	0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2489	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
2490	0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f,
2491	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x19, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72,
2492	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
2493	0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x15, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73,
2494	0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28,
2495	0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2496	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2497	0x31, 0x2e, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
2498	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73,
2499	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x77, 0x65,
2500	0x62, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28,
2501	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2502	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61,
2503	0x31, 0x2e, 0x57, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c,
2504	0x77, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x05,
2505	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f,
2506	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
2507	0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x72, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41,
2508	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71,
2509	0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
2510	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2511	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2512	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49,
2513	0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02,
2514	0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x71, 0x0a, 0x1b, 0x42, 0x61,
2515	0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65,
2516	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x72, 0x65, 0x73,
2517	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67,
2518	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
2519	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e,
2520	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2521	0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x2a, 0x65, 0x0a,
2522	0x0a, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x55,
2523	0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x45, 0x52, 0x59,
2524	0x5f, 0x55, 0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55,
2525	0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4f, 0x53,
2526	0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x4b, 0x45, 0x4c,
2527	0x59, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x49, 0x4b, 0x45,
2528	0x4c, 0x59, 0x10, 0x05, 0x32, 0xc9, 0x02, 0x0a, 0x0e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e,
2529	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0xbe, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63,
2530	0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12,
2531	0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
2532	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2533	0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61,
2534	0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f,
2535	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2536	0x2e, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
2537	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65,
2538	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a,
2539	0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65,
2540	0x73, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08,
2541	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x76, 0xca, 0x41, 0x15, 0x76, 0x69, 0x73,
2542	0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
2543	0x6f, 0x6d, 0xd2, 0x41, 0x5b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
2544	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2545	0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66,
2546	0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
2547	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
2548	0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
2549	0x42, 0x82, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2550	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
2551	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e,
2552	0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67,
2553	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,
2554	0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2555	0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f,
2556	0x6e, 0x2f, 0x76, 0x31, 0x70, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x76, 0x69, 0x73, 0x69,
2557	0x6f, 0x6e, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2558}
2559
2560var (
2561	file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescOnce sync.Once
2562	file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescData = file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDesc
2563)
2564
2565func file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescGZIP() []byte {
2566	file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescOnce.Do(func() {
2567		file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescData)
2568	})
2569	return file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDescData
2570}
2571
2572var file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
2573var file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
2574var file_google_cloud_vision_v1p1beta1_image_annotator_proto_goTypes = []interface{}{
2575	(Likelihood)(0),                     // 0: google.cloud.vision.v1p1beta1.Likelihood
2576	(Feature_Type)(0),                   // 1: google.cloud.vision.v1p1beta1.Feature.Type
2577	(FaceAnnotation_Landmark_Type)(0),   // 2: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type
2578	(*Feature)(nil),                     // 3: google.cloud.vision.v1p1beta1.Feature
2579	(*ImageSource)(nil),                 // 4: google.cloud.vision.v1p1beta1.ImageSource
2580	(*Image)(nil),                       // 5: google.cloud.vision.v1p1beta1.Image
2581	(*FaceAnnotation)(nil),              // 6: google.cloud.vision.v1p1beta1.FaceAnnotation
2582	(*LocationInfo)(nil),                // 7: google.cloud.vision.v1p1beta1.LocationInfo
2583	(*Property)(nil),                    // 8: google.cloud.vision.v1p1beta1.Property
2584	(*EntityAnnotation)(nil),            // 9: google.cloud.vision.v1p1beta1.EntityAnnotation
2585	(*SafeSearchAnnotation)(nil),        // 10: google.cloud.vision.v1p1beta1.SafeSearchAnnotation
2586	(*LatLongRect)(nil),                 // 11: google.cloud.vision.v1p1beta1.LatLongRect
2587	(*ColorInfo)(nil),                   // 12: google.cloud.vision.v1p1beta1.ColorInfo
2588	(*DominantColorsAnnotation)(nil),    // 13: google.cloud.vision.v1p1beta1.DominantColorsAnnotation
2589	(*ImageProperties)(nil),             // 14: google.cloud.vision.v1p1beta1.ImageProperties
2590	(*CropHint)(nil),                    // 15: google.cloud.vision.v1p1beta1.CropHint
2591	(*CropHintsAnnotation)(nil),         // 16: google.cloud.vision.v1p1beta1.CropHintsAnnotation
2592	(*CropHintsParams)(nil),             // 17: google.cloud.vision.v1p1beta1.CropHintsParams
2593	(*WebDetectionParams)(nil),          // 18: google.cloud.vision.v1p1beta1.WebDetectionParams
2594	(*TextDetectionParams)(nil),         // 19: google.cloud.vision.v1p1beta1.TextDetectionParams
2595	(*ImageContext)(nil),                // 20: google.cloud.vision.v1p1beta1.ImageContext
2596	(*AnnotateImageRequest)(nil),        // 21: google.cloud.vision.v1p1beta1.AnnotateImageRequest
2597	(*AnnotateImageResponse)(nil),       // 22: google.cloud.vision.v1p1beta1.AnnotateImageResponse
2598	(*BatchAnnotateImagesRequest)(nil),  // 23: google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest
2599	(*BatchAnnotateImagesResponse)(nil), // 24: google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse
2600	(*FaceAnnotation_Landmark)(nil),     // 25: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark
2601	(*BoundingPoly)(nil),                // 26: google.cloud.vision.v1p1beta1.BoundingPoly
2602	(*latlng.LatLng)(nil),               // 27: google.type.LatLng
2603	(*color.Color)(nil),                 // 28: google.type.Color
2604	(*TextAnnotation)(nil),              // 29: google.cloud.vision.v1p1beta1.TextAnnotation
2605	(*WebDetection)(nil),                // 30: google.cloud.vision.v1p1beta1.WebDetection
2606	(*status.Status)(nil),               // 31: google.rpc.Status
2607	(*Position)(nil),                    // 32: google.cloud.vision.v1p1beta1.Position
2608}
2609var file_google_cloud_vision_v1p1beta1_image_annotator_proto_depIdxs = []int32{
2610	1,  // 0: google.cloud.vision.v1p1beta1.Feature.type:type_name -> google.cloud.vision.v1p1beta1.Feature.Type
2611	4,  // 1: google.cloud.vision.v1p1beta1.Image.source:type_name -> google.cloud.vision.v1p1beta1.ImageSource
2612	26, // 2: google.cloud.vision.v1p1beta1.FaceAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p1beta1.BoundingPoly
2613	26, // 3: google.cloud.vision.v1p1beta1.FaceAnnotation.fd_bounding_poly:type_name -> google.cloud.vision.v1p1beta1.BoundingPoly
2614	25, // 4: google.cloud.vision.v1p1beta1.FaceAnnotation.landmarks:type_name -> google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark
2615	0,  // 5: google.cloud.vision.v1p1beta1.FaceAnnotation.joy_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2616	0,  // 6: google.cloud.vision.v1p1beta1.FaceAnnotation.sorrow_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2617	0,  // 7: google.cloud.vision.v1p1beta1.FaceAnnotation.anger_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2618	0,  // 8: google.cloud.vision.v1p1beta1.FaceAnnotation.surprise_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2619	0,  // 9: google.cloud.vision.v1p1beta1.FaceAnnotation.under_exposed_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2620	0,  // 10: google.cloud.vision.v1p1beta1.FaceAnnotation.blurred_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2621	0,  // 11: google.cloud.vision.v1p1beta1.FaceAnnotation.headwear_likelihood:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2622	27, // 12: google.cloud.vision.v1p1beta1.LocationInfo.lat_lng:type_name -> google.type.LatLng
2623	26, // 13: google.cloud.vision.v1p1beta1.EntityAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p1beta1.BoundingPoly
2624	7,  // 14: google.cloud.vision.v1p1beta1.EntityAnnotation.locations:type_name -> google.cloud.vision.v1p1beta1.LocationInfo
2625	8,  // 15: google.cloud.vision.v1p1beta1.EntityAnnotation.properties:type_name -> google.cloud.vision.v1p1beta1.Property
2626	0,  // 16: google.cloud.vision.v1p1beta1.SafeSearchAnnotation.adult:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2627	0,  // 17: google.cloud.vision.v1p1beta1.SafeSearchAnnotation.spoof:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2628	0,  // 18: google.cloud.vision.v1p1beta1.SafeSearchAnnotation.medical:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2629	0,  // 19: google.cloud.vision.v1p1beta1.SafeSearchAnnotation.violence:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2630	0,  // 20: google.cloud.vision.v1p1beta1.SafeSearchAnnotation.racy:type_name -> google.cloud.vision.v1p1beta1.Likelihood
2631	27, // 21: google.cloud.vision.v1p1beta1.LatLongRect.min_lat_lng:type_name -> google.type.LatLng
2632	27, // 22: google.cloud.vision.v1p1beta1.LatLongRect.max_lat_lng:type_name -> google.type.LatLng
2633	28, // 23: google.cloud.vision.v1p1beta1.ColorInfo.color:type_name -> google.type.Color
2634	12, // 24: google.cloud.vision.v1p1beta1.DominantColorsAnnotation.colors:type_name -> google.cloud.vision.v1p1beta1.ColorInfo
2635	13, // 25: google.cloud.vision.v1p1beta1.ImageProperties.dominant_colors:type_name -> google.cloud.vision.v1p1beta1.DominantColorsAnnotation
2636	26, // 26: google.cloud.vision.v1p1beta1.CropHint.bounding_poly:type_name -> google.cloud.vision.v1p1beta1.BoundingPoly
2637	15, // 27: google.cloud.vision.v1p1beta1.CropHintsAnnotation.crop_hints:type_name -> google.cloud.vision.v1p1beta1.CropHint
2638	11, // 28: google.cloud.vision.v1p1beta1.ImageContext.lat_long_rect:type_name -> google.cloud.vision.v1p1beta1.LatLongRect
2639	17, // 29: google.cloud.vision.v1p1beta1.ImageContext.crop_hints_params:type_name -> google.cloud.vision.v1p1beta1.CropHintsParams
2640	18, // 30: google.cloud.vision.v1p1beta1.ImageContext.web_detection_params:type_name -> google.cloud.vision.v1p1beta1.WebDetectionParams
2641	19, // 31: google.cloud.vision.v1p1beta1.ImageContext.text_detection_params:type_name -> google.cloud.vision.v1p1beta1.TextDetectionParams
2642	5,  // 32: google.cloud.vision.v1p1beta1.AnnotateImageRequest.image:type_name -> google.cloud.vision.v1p1beta1.Image
2643	3,  // 33: google.cloud.vision.v1p1beta1.AnnotateImageRequest.features:type_name -> google.cloud.vision.v1p1beta1.Feature
2644	20, // 34: google.cloud.vision.v1p1beta1.AnnotateImageRequest.image_context:type_name -> google.cloud.vision.v1p1beta1.ImageContext
2645	6,  // 35: google.cloud.vision.v1p1beta1.AnnotateImageResponse.face_annotations:type_name -> google.cloud.vision.v1p1beta1.FaceAnnotation
2646	9,  // 36: google.cloud.vision.v1p1beta1.AnnotateImageResponse.landmark_annotations:type_name -> google.cloud.vision.v1p1beta1.EntityAnnotation
2647	9,  // 37: google.cloud.vision.v1p1beta1.AnnotateImageResponse.logo_annotations:type_name -> google.cloud.vision.v1p1beta1.EntityAnnotation
2648	9,  // 38: google.cloud.vision.v1p1beta1.AnnotateImageResponse.label_annotations:type_name -> google.cloud.vision.v1p1beta1.EntityAnnotation
2649	9,  // 39: google.cloud.vision.v1p1beta1.AnnotateImageResponse.text_annotations:type_name -> google.cloud.vision.v1p1beta1.EntityAnnotation
2650	29, // 40: google.cloud.vision.v1p1beta1.AnnotateImageResponse.full_text_annotation:type_name -> google.cloud.vision.v1p1beta1.TextAnnotation
2651	10, // 41: google.cloud.vision.v1p1beta1.AnnotateImageResponse.safe_search_annotation:type_name -> google.cloud.vision.v1p1beta1.SafeSearchAnnotation
2652	14, // 42: google.cloud.vision.v1p1beta1.AnnotateImageResponse.image_properties_annotation:type_name -> google.cloud.vision.v1p1beta1.ImageProperties
2653	16, // 43: google.cloud.vision.v1p1beta1.AnnotateImageResponse.crop_hints_annotation:type_name -> google.cloud.vision.v1p1beta1.CropHintsAnnotation
2654	30, // 44: google.cloud.vision.v1p1beta1.AnnotateImageResponse.web_detection:type_name -> google.cloud.vision.v1p1beta1.WebDetection
2655	31, // 45: google.cloud.vision.v1p1beta1.AnnotateImageResponse.error:type_name -> google.rpc.Status
2656	21, // 46: google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.requests:type_name -> google.cloud.vision.v1p1beta1.AnnotateImageRequest
2657	22, // 47: google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.responses:type_name -> google.cloud.vision.v1p1beta1.AnnotateImageResponse
2658	2,  // 48: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.type:type_name -> google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type
2659	32, // 49: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.position:type_name -> google.cloud.vision.v1p1beta1.Position
2660	23, // 50: google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImages:input_type -> google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest
2661	24, // 51: google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImages:output_type -> google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse
2662	51, // [51:52] is the sub-list for method output_type
2663	50, // [50:51] is the sub-list for method input_type
2664	50, // [50:50] is the sub-list for extension type_name
2665	50, // [50:50] is the sub-list for extension extendee
2666	0,  // [0:50] is the sub-list for field type_name
2667}
2668
2669func init() { file_google_cloud_vision_v1p1beta1_image_annotator_proto_init() }
2670func file_google_cloud_vision_v1p1beta1_image_annotator_proto_init() {
2671	if File_google_cloud_vision_v1p1beta1_image_annotator_proto != nil {
2672		return
2673	}
2674	file_google_cloud_vision_v1p1beta1_geometry_proto_init()
2675	file_google_cloud_vision_v1p1beta1_text_annotation_proto_init()
2676	file_google_cloud_vision_v1p1beta1_web_detection_proto_init()
2677	if !protoimpl.UnsafeEnabled {
2678		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2679			switch v := v.(*Feature); i {
2680			case 0:
2681				return &v.state
2682			case 1:
2683				return &v.sizeCache
2684			case 2:
2685				return &v.unknownFields
2686			default:
2687				return nil
2688			}
2689		}
2690		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2691			switch v := v.(*ImageSource); i {
2692			case 0:
2693				return &v.state
2694			case 1:
2695				return &v.sizeCache
2696			case 2:
2697				return &v.unknownFields
2698			default:
2699				return nil
2700			}
2701		}
2702		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2703			switch v := v.(*Image); i {
2704			case 0:
2705				return &v.state
2706			case 1:
2707				return &v.sizeCache
2708			case 2:
2709				return &v.unknownFields
2710			default:
2711				return nil
2712			}
2713		}
2714		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2715			switch v := v.(*FaceAnnotation); i {
2716			case 0:
2717				return &v.state
2718			case 1:
2719				return &v.sizeCache
2720			case 2:
2721				return &v.unknownFields
2722			default:
2723				return nil
2724			}
2725		}
2726		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2727			switch v := v.(*LocationInfo); i {
2728			case 0:
2729				return &v.state
2730			case 1:
2731				return &v.sizeCache
2732			case 2:
2733				return &v.unknownFields
2734			default:
2735				return nil
2736			}
2737		}
2738		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2739			switch v := v.(*Property); i {
2740			case 0:
2741				return &v.state
2742			case 1:
2743				return &v.sizeCache
2744			case 2:
2745				return &v.unknownFields
2746			default:
2747				return nil
2748			}
2749		}
2750		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2751			switch v := v.(*EntityAnnotation); i {
2752			case 0:
2753				return &v.state
2754			case 1:
2755				return &v.sizeCache
2756			case 2:
2757				return &v.unknownFields
2758			default:
2759				return nil
2760			}
2761		}
2762		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2763			switch v := v.(*SafeSearchAnnotation); i {
2764			case 0:
2765				return &v.state
2766			case 1:
2767				return &v.sizeCache
2768			case 2:
2769				return &v.unknownFields
2770			default:
2771				return nil
2772			}
2773		}
2774		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2775			switch v := v.(*LatLongRect); i {
2776			case 0:
2777				return &v.state
2778			case 1:
2779				return &v.sizeCache
2780			case 2:
2781				return &v.unknownFields
2782			default:
2783				return nil
2784			}
2785		}
2786		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2787			switch v := v.(*ColorInfo); i {
2788			case 0:
2789				return &v.state
2790			case 1:
2791				return &v.sizeCache
2792			case 2:
2793				return &v.unknownFields
2794			default:
2795				return nil
2796			}
2797		}
2798		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2799			switch v := v.(*DominantColorsAnnotation); i {
2800			case 0:
2801				return &v.state
2802			case 1:
2803				return &v.sizeCache
2804			case 2:
2805				return &v.unknownFields
2806			default:
2807				return nil
2808			}
2809		}
2810		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2811			switch v := v.(*ImageProperties); i {
2812			case 0:
2813				return &v.state
2814			case 1:
2815				return &v.sizeCache
2816			case 2:
2817				return &v.unknownFields
2818			default:
2819				return nil
2820			}
2821		}
2822		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2823			switch v := v.(*CropHint); i {
2824			case 0:
2825				return &v.state
2826			case 1:
2827				return &v.sizeCache
2828			case 2:
2829				return &v.unknownFields
2830			default:
2831				return nil
2832			}
2833		}
2834		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2835			switch v := v.(*CropHintsAnnotation); i {
2836			case 0:
2837				return &v.state
2838			case 1:
2839				return &v.sizeCache
2840			case 2:
2841				return &v.unknownFields
2842			default:
2843				return nil
2844			}
2845		}
2846		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2847			switch v := v.(*CropHintsParams); i {
2848			case 0:
2849				return &v.state
2850			case 1:
2851				return &v.sizeCache
2852			case 2:
2853				return &v.unknownFields
2854			default:
2855				return nil
2856			}
2857		}
2858		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2859			switch v := v.(*WebDetectionParams); i {
2860			case 0:
2861				return &v.state
2862			case 1:
2863				return &v.sizeCache
2864			case 2:
2865				return &v.unknownFields
2866			default:
2867				return nil
2868			}
2869		}
2870		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2871			switch v := v.(*TextDetectionParams); i {
2872			case 0:
2873				return &v.state
2874			case 1:
2875				return &v.sizeCache
2876			case 2:
2877				return &v.unknownFields
2878			default:
2879				return nil
2880			}
2881		}
2882		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2883			switch v := v.(*ImageContext); i {
2884			case 0:
2885				return &v.state
2886			case 1:
2887				return &v.sizeCache
2888			case 2:
2889				return &v.unknownFields
2890			default:
2891				return nil
2892			}
2893		}
2894		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
2895			switch v := v.(*AnnotateImageRequest); i {
2896			case 0:
2897				return &v.state
2898			case 1:
2899				return &v.sizeCache
2900			case 2:
2901				return &v.unknownFields
2902			default:
2903				return nil
2904			}
2905		}
2906		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2907			switch v := v.(*AnnotateImageResponse); i {
2908			case 0:
2909				return &v.state
2910			case 1:
2911				return &v.sizeCache
2912			case 2:
2913				return &v.unknownFields
2914			default:
2915				return nil
2916			}
2917		}
2918		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
2919			switch v := v.(*BatchAnnotateImagesRequest); i {
2920			case 0:
2921				return &v.state
2922			case 1:
2923				return &v.sizeCache
2924			case 2:
2925				return &v.unknownFields
2926			default:
2927				return nil
2928			}
2929		}
2930		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
2931			switch v := v.(*BatchAnnotateImagesResponse); i {
2932			case 0:
2933				return &v.state
2934			case 1:
2935				return &v.sizeCache
2936			case 2:
2937				return &v.unknownFields
2938			default:
2939				return nil
2940			}
2941		}
2942		file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
2943			switch v := v.(*FaceAnnotation_Landmark); i {
2944			case 0:
2945				return &v.state
2946			case 1:
2947				return &v.sizeCache
2948			case 2:
2949				return &v.unknownFields
2950			default:
2951				return nil
2952			}
2953		}
2954	}
2955	type x struct{}
2956	out := protoimpl.TypeBuilder{
2957		File: protoimpl.DescBuilder{
2958			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2959			RawDescriptor: file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDesc,
2960			NumEnums:      3,
2961			NumMessages:   23,
2962			NumExtensions: 0,
2963			NumServices:   1,
2964		},
2965		GoTypes:           file_google_cloud_vision_v1p1beta1_image_annotator_proto_goTypes,
2966		DependencyIndexes: file_google_cloud_vision_v1p1beta1_image_annotator_proto_depIdxs,
2967		EnumInfos:         file_google_cloud_vision_v1p1beta1_image_annotator_proto_enumTypes,
2968		MessageInfos:      file_google_cloud_vision_v1p1beta1_image_annotator_proto_msgTypes,
2969	}.Build()
2970	File_google_cloud_vision_v1p1beta1_image_annotator_proto = out.File
2971	file_google_cloud_vision_v1p1beta1_image_annotator_proto_rawDesc = nil
2972	file_google_cloud_vision_v1p1beta1_image_annotator_proto_goTypes = nil
2973	file_google_cloud_vision_v1p1beta1_image_annotator_proto_depIdxs = nil
2974}
2975
2976// Reference imports to suppress errors if they are not otherwise used.
2977var _ context.Context
2978var _ grpc.ClientConnInterface
2979
2980// This is a compile-time assertion to ensure that this generated file
2981// is compatible with the grpc package it is being compiled against.
2982const _ = grpc.SupportPackageIsVersion6
2983
2984// ImageAnnotatorClient is the client API for ImageAnnotator service.
2985//
2986// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2987type ImageAnnotatorClient interface {
2988	// Run image detection and annotation for a batch of images.
2989	BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
2990}
2991
2992type imageAnnotatorClient struct {
2993	cc grpc.ClientConnInterface
2994}
2995
2996func NewImageAnnotatorClient(cc grpc.ClientConnInterface) ImageAnnotatorClient {
2997	return &imageAnnotatorClient{cc}
2998}
2999
3000func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
3001	out := new(BatchAnnotateImagesResponse)
3002	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p1beta1.ImageAnnotator/BatchAnnotateImages", in, out, opts...)
3003	if err != nil {
3004		return nil, err
3005	}
3006	return out, nil
3007}
3008
3009// ImageAnnotatorServer is the server API for ImageAnnotator service.
3010type ImageAnnotatorServer interface {
3011	// Run image detection and annotation for a batch of images.
3012	BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
3013}
3014
3015// UnimplementedImageAnnotatorServer can be embedded to have forward compatible implementations.
3016type UnimplementedImageAnnotatorServer struct {
3017}
3018
3019func (*UnimplementedImageAnnotatorServer) BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error) {
3020	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateImages not implemented")
3021}
3022
3023func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
3024	s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
3025}
3026
3027func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3028	in := new(BatchAnnotateImagesRequest)
3029	if err := dec(in); err != nil {
3030		return nil, err
3031	}
3032	if interceptor == nil {
3033		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
3034	}
3035	info := &grpc.UnaryServerInfo{
3036		Server:     srv,
3037		FullMethod: "/google.cloud.vision.v1p1beta1.ImageAnnotator/BatchAnnotateImages",
3038	}
3039	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3040		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
3041	}
3042	return interceptor(ctx, in, info, handler)
3043}
3044
3045var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
3046	ServiceName: "google.cloud.vision.v1p1beta1.ImageAnnotator",
3047	HandlerType: (*ImageAnnotatorServer)(nil),
3048	Methods: []grpc.MethodDesc{
3049		{
3050			MethodName: "BatchAnnotateImages",
3051			Handler:    _ImageAnnotator_BatchAnnotateImages_Handler,
3052		},
3053	},
3054	Streams:  []grpc.StreamDesc{},
3055	Metadata: "google/cloud/vision/v1p1beta1/image_annotator.proto",
3056}
3057