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