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