OSDN Git Service

new repo
[bytom/vapor.git] / vendor / google.golang.org / genproto / googleapis / cloud / videointelligence / v1beta1 / video_intelligence.pb.go
1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/cloud/videointelligence/v1beta1/video_intelligence.proto
3
4 /*
5 Package videointelligence is a generated protocol buffer package.
6
7 It is generated from these files:
8         google/cloud/videointelligence/v1beta1/video_intelligence.proto
9
10 It has these top-level messages:
11         AnnotateVideoRequest
12         VideoContext
13         VideoSegment
14         LabelLocation
15         LabelAnnotation
16         SafeSearchAnnotation
17         BoundingBox
18         FaceLocation
19         FaceAnnotation
20         VideoAnnotationResults
21         AnnotateVideoResponse
22         VideoAnnotationProgress
23         AnnotateVideoProgress
24 */
25 package videointelligence
26
27 import proto "github.com/golang/protobuf/proto"
28 import fmt "fmt"
29 import math "math"
30 import _ "google.golang.org/genproto/googleapis/api/annotations"
31 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
32 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
33 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
34
35 import (
36         context "golang.org/x/net/context"
37         grpc "google.golang.org/grpc"
38 )
39
40 // Reference imports to suppress errors if they are not otherwise used.
41 var _ = proto.Marshal
42 var _ = fmt.Errorf
43 var _ = math.Inf
44
45 // This is a compile-time assertion to ensure that this generated file
46 // is compatible with the proto package it is being compiled against.
47 // A compilation error at this line likely means your copy of the
48 // proto package needs to be updated.
49 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
50
51 // Video annotation feature.
52 type Feature int32
53
54 const (
55         // Unspecified.
56         Feature_FEATURE_UNSPECIFIED Feature = 0
57         // Label detection. Detect objects, such as dog or flower.
58         Feature_LABEL_DETECTION Feature = 1
59         // Human face detection and tracking.
60         Feature_FACE_DETECTION Feature = 2
61         // Shot change detection.
62         Feature_SHOT_CHANGE_DETECTION Feature = 3
63         // Safe search detection.
64         Feature_SAFE_SEARCH_DETECTION Feature = 4
65 )
66
67 var Feature_name = map[int32]string{
68         0: "FEATURE_UNSPECIFIED",
69         1: "LABEL_DETECTION",
70         2: "FACE_DETECTION",
71         3: "SHOT_CHANGE_DETECTION",
72         4: "SAFE_SEARCH_DETECTION",
73 }
74 var Feature_value = map[string]int32{
75         "FEATURE_UNSPECIFIED":   0,
76         "LABEL_DETECTION":       1,
77         "FACE_DETECTION":        2,
78         "SHOT_CHANGE_DETECTION": 3,
79         "SAFE_SEARCH_DETECTION": 4,
80 }
81
82 func (x Feature) String() string {
83         return proto.EnumName(Feature_name, int32(x))
84 }
85 func (Feature) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
86
87 // Label level (scope).
88 type LabelLevel int32
89
90 const (
91         // Unspecified.
92         LabelLevel_LABEL_LEVEL_UNSPECIFIED LabelLevel = 0
93         // Video-level. Corresponds to the whole video.
94         LabelLevel_VIDEO_LEVEL LabelLevel = 1
95         // Segment-level. Corresponds to one of `AnnotateSpec.segments`.
96         LabelLevel_SEGMENT_LEVEL LabelLevel = 2
97         // Shot-level. Corresponds to a single shot (i.e. a series of frames
98         // without a major camera position or background change).
99         LabelLevel_SHOT_LEVEL LabelLevel = 3
100         // Frame-level. Corresponds to a single video frame.
101         LabelLevel_FRAME_LEVEL LabelLevel = 4
102 )
103
104 var LabelLevel_name = map[int32]string{
105         0: "LABEL_LEVEL_UNSPECIFIED",
106         1: "VIDEO_LEVEL",
107         2: "SEGMENT_LEVEL",
108         3: "SHOT_LEVEL",
109         4: "FRAME_LEVEL",
110 }
111 var LabelLevel_value = map[string]int32{
112         "LABEL_LEVEL_UNSPECIFIED": 0,
113         "VIDEO_LEVEL":             1,
114         "SEGMENT_LEVEL":           2,
115         "SHOT_LEVEL":              3,
116         "FRAME_LEVEL":             4,
117 }
118
119 func (x LabelLevel) String() string {
120         return proto.EnumName(LabelLevel_name, int32(x))
121 }
122 func (LabelLevel) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
123
124 // Label detection mode.
125 type LabelDetectionMode int32
126
127 const (
128         // Unspecified.
129         LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED LabelDetectionMode = 0
130         // Detect shot-level labels.
131         LabelDetectionMode_SHOT_MODE LabelDetectionMode = 1
132         // Detect frame-level labels.
133         LabelDetectionMode_FRAME_MODE LabelDetectionMode = 2
134         // Detect both shot-level and frame-level labels.
135         LabelDetectionMode_SHOT_AND_FRAME_MODE LabelDetectionMode = 3
136 )
137
138 var LabelDetectionMode_name = map[int32]string{
139         0: "LABEL_DETECTION_MODE_UNSPECIFIED",
140         1: "SHOT_MODE",
141         2: "FRAME_MODE",
142         3: "SHOT_AND_FRAME_MODE",
143 }
144 var LabelDetectionMode_value = map[string]int32{
145         "LABEL_DETECTION_MODE_UNSPECIFIED": 0,
146         "SHOT_MODE":                        1,
147         "FRAME_MODE":                       2,
148         "SHOT_AND_FRAME_MODE":              3,
149 }
150
151 func (x LabelDetectionMode) String() string {
152         return proto.EnumName(LabelDetectionMode_name, int32(x))
153 }
154 func (LabelDetectionMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
155
156 // Bucketized representation of likelihood.
157 type Likelihood int32
158
159 const (
160         // Unknown likelihood.
161         Likelihood_UNKNOWN Likelihood = 0
162         // Very unlikely.
163         Likelihood_VERY_UNLIKELY Likelihood = 1
164         // Unlikely.
165         Likelihood_UNLIKELY Likelihood = 2
166         // Possible.
167         Likelihood_POSSIBLE Likelihood = 3
168         // Likely.
169         Likelihood_LIKELY Likelihood = 4
170         // Very likely.
171         Likelihood_VERY_LIKELY Likelihood = 5
172 )
173
174 var Likelihood_name = map[int32]string{
175         0: "UNKNOWN",
176         1: "VERY_UNLIKELY",
177         2: "UNLIKELY",
178         3: "POSSIBLE",
179         4: "LIKELY",
180         5: "VERY_LIKELY",
181 }
182 var Likelihood_value = map[string]int32{
183         "UNKNOWN":       0,
184         "VERY_UNLIKELY": 1,
185         "UNLIKELY":      2,
186         "POSSIBLE":      3,
187         "LIKELY":        4,
188         "VERY_LIKELY":   5,
189 }
190
191 func (x Likelihood) String() string {
192         return proto.EnumName(Likelihood_name, int32(x))
193 }
194 func (Likelihood) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
195
196 // Video annotation request.
197 type AnnotateVideoRequest struct {
198         // Input video location. Currently, only
199         // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
200         // supported, which must be specified in the following format:
201         // `gs://bucket-id/object-id` (other URI formats return
202         // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
203         // [Request URIs](/storage/docs/reference-uris).
204         // A video URI may include wildcards in `object-id`, and thus identify
205         // multiple videos. Supported wildcards: '*' to match 0 or more characters;
206         // '?' to match 1 character. If unset, the input video should be embedded
207         // in the request as `input_content`. If set, `input_content` should be unset.
208         InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri" json:"input_uri,omitempty"`
209         // The video data bytes. Encoding: base64. If unset, the input video(s)
210         // should be specified via `input_uri`. If set, `input_uri` should be unset.
211         InputContent string `protobuf:"bytes,6,opt,name=input_content,json=inputContent" json:"input_content,omitempty"`
212         // Requested video annotation features.
213         Features []Feature `protobuf:"varint,2,rep,packed,name=features,enum=google.cloud.videointelligence.v1beta1.Feature" json:"features,omitempty"`
214         // Additional video context and/or feature-specific parameters.
215         VideoContext *VideoContext `protobuf:"bytes,3,opt,name=video_context,json=videoContext" json:"video_context,omitempty"`
216         // Optional location where the output (in JSON format) should be stored.
217         // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
218         // URIs are supported, which must be specified in the following format:
219         // `gs://bucket-id/object-id` (other URI formats return
220         // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
221         // [Request URIs](/storage/docs/reference-uris).
222         OutputUri string `protobuf:"bytes,4,opt,name=output_uri,json=outputUri" json:"output_uri,omitempty"`
223         // Optional cloud region where annotation should take place. Supported cloud
224         // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
225         // is specified, a region will be determined based on video file location.
226         LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId" json:"location_id,omitempty"`
227 }
228
229 func (m *AnnotateVideoRequest) Reset()                    { *m = AnnotateVideoRequest{} }
230 func (m *AnnotateVideoRequest) String() string            { return proto.CompactTextString(m) }
231 func (*AnnotateVideoRequest) ProtoMessage()               {}
232 func (*AnnotateVideoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
233
234 func (m *AnnotateVideoRequest) GetInputUri() string {
235         if m != nil {
236                 return m.InputUri
237         }
238         return ""
239 }
240
241 func (m *AnnotateVideoRequest) GetInputContent() string {
242         if m != nil {
243                 return m.InputContent
244         }
245         return ""
246 }
247
248 func (m *AnnotateVideoRequest) GetFeatures() []Feature {
249         if m != nil {
250                 return m.Features
251         }
252         return nil
253 }
254
255 func (m *AnnotateVideoRequest) GetVideoContext() *VideoContext {
256         if m != nil {
257                 return m.VideoContext
258         }
259         return nil
260 }
261
262 func (m *AnnotateVideoRequest) GetOutputUri() string {
263         if m != nil {
264                 return m.OutputUri
265         }
266         return ""
267 }
268
269 func (m *AnnotateVideoRequest) GetLocationId() string {
270         if m != nil {
271                 return m.LocationId
272         }
273         return ""
274 }
275
276 // Video context and/or feature-specific parameters.
277 type VideoContext struct {
278         // Video segments to annotate. The segments may overlap and are not required
279         // to be contiguous or span the whole video. If unspecified, each video
280         // is treated as a single segment.
281         Segments []*VideoSegment `protobuf:"bytes,1,rep,name=segments" json:"segments,omitempty"`
282         // If label detection has been requested, what labels should be detected
283         // in addition to video-level labels or segment-level labels. If unspecified,
284         // defaults to `SHOT_MODE`.
285         LabelDetectionMode LabelDetectionMode `protobuf:"varint,2,opt,name=label_detection_mode,json=labelDetectionMode,enum=google.cloud.videointelligence.v1beta1.LabelDetectionMode" json:"label_detection_mode,omitempty"`
286         // Whether the video has been shot from a stationary (i.e. non-moving) camera.
287         // When set to true, might improve detection accuracy for moving objects.
288         StationaryCamera bool `protobuf:"varint,3,opt,name=stationary_camera,json=stationaryCamera" json:"stationary_camera,omitempty"`
289         // Model to use for label detection.
290         // Supported values: "latest" and "stable" (the default).
291         LabelDetectionModel string `protobuf:"bytes,4,opt,name=label_detection_model,json=labelDetectionModel" json:"label_detection_model,omitempty"`
292         // Model to use for face detection.
293         // Supported values: "latest" and "stable" (the default).
294         FaceDetectionModel string `protobuf:"bytes,5,opt,name=face_detection_model,json=faceDetectionModel" json:"face_detection_model,omitempty"`
295         // Model to use for shot change detection.
296         // Supported values: "latest" and "stable" (the default).
297         ShotChangeDetectionModel string `protobuf:"bytes,6,opt,name=shot_change_detection_model,json=shotChangeDetectionModel" json:"shot_change_detection_model,omitempty"`
298         // Model to use for safe search detection.
299         // Supported values: "latest" and "stable" (the default).
300         SafeSearchDetectionModel string `protobuf:"bytes,7,opt,name=safe_search_detection_model,json=safeSearchDetectionModel" json:"safe_search_detection_model,omitempty"`
301 }
302
303 func (m *VideoContext) Reset()                    { *m = VideoContext{} }
304 func (m *VideoContext) String() string            { return proto.CompactTextString(m) }
305 func (*VideoContext) ProtoMessage()               {}
306 func (*VideoContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
307
308 func (m *VideoContext) GetSegments() []*VideoSegment {
309         if m != nil {
310                 return m.Segments
311         }
312         return nil
313 }
314
315 func (m *VideoContext) GetLabelDetectionMode() LabelDetectionMode {
316         if m != nil {
317                 return m.LabelDetectionMode
318         }
319         return LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED
320 }
321
322 func (m *VideoContext) GetStationaryCamera() bool {
323         if m != nil {
324                 return m.StationaryCamera
325         }
326         return false
327 }
328
329 func (m *VideoContext) GetLabelDetectionModel() string {
330         if m != nil {
331                 return m.LabelDetectionModel
332         }
333         return ""
334 }
335
336 func (m *VideoContext) GetFaceDetectionModel() string {
337         if m != nil {
338                 return m.FaceDetectionModel
339         }
340         return ""
341 }
342
343 func (m *VideoContext) GetShotChangeDetectionModel() string {
344         if m != nil {
345                 return m.ShotChangeDetectionModel
346         }
347         return ""
348 }
349
350 func (m *VideoContext) GetSafeSearchDetectionModel() string {
351         if m != nil {
352                 return m.SafeSearchDetectionModel
353         }
354         return ""
355 }
356
357 // Video segment.
358 type VideoSegment struct {
359         // Start offset in microseconds (inclusive). Unset means 0.
360         StartTimeOffset int64 `protobuf:"varint,1,opt,name=start_time_offset,json=startTimeOffset" json:"start_time_offset,omitempty"`
361         // End offset in microseconds (inclusive). Unset means 0.
362         EndTimeOffset int64 `protobuf:"varint,2,opt,name=end_time_offset,json=endTimeOffset" json:"end_time_offset,omitempty"`
363 }
364
365 func (m *VideoSegment) Reset()                    { *m = VideoSegment{} }
366 func (m *VideoSegment) String() string            { return proto.CompactTextString(m) }
367 func (*VideoSegment) ProtoMessage()               {}
368 func (*VideoSegment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
369
370 func (m *VideoSegment) GetStartTimeOffset() int64 {
371         if m != nil {
372                 return m.StartTimeOffset
373         }
374         return 0
375 }
376
377 func (m *VideoSegment) GetEndTimeOffset() int64 {
378         if m != nil {
379                 return m.EndTimeOffset
380         }
381         return 0
382 }
383
384 // Label location.
385 type LabelLocation struct {
386         // Video segment. Set to [-1, -1] for video-level labels.
387         // Set to [timestamp, timestamp] for frame-level labels.
388         // Otherwise, corresponds to one of `AnnotateSpec.segments`
389         // (if specified) or to shot boundaries (if requested).
390         Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment" json:"segment,omitempty"`
391         // Confidence that the label is accurate. Range: [0, 1].
392         Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"`
393         // Label level.
394         Level LabelLevel `protobuf:"varint,3,opt,name=level,enum=google.cloud.videointelligence.v1beta1.LabelLevel" json:"level,omitempty"`
395 }
396
397 func (m *LabelLocation) Reset()                    { *m = LabelLocation{} }
398 func (m *LabelLocation) String() string            { return proto.CompactTextString(m) }
399 func (*LabelLocation) ProtoMessage()               {}
400 func (*LabelLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
401
402 func (m *LabelLocation) GetSegment() *VideoSegment {
403         if m != nil {
404                 return m.Segment
405         }
406         return nil
407 }
408
409 func (m *LabelLocation) GetConfidence() float32 {
410         if m != nil {
411                 return m.Confidence
412         }
413         return 0
414 }
415
416 func (m *LabelLocation) GetLevel() LabelLevel {
417         if m != nil {
418                 return m.Level
419         }
420         return LabelLevel_LABEL_LEVEL_UNSPECIFIED
421 }
422
423 // Label annotation.
424 type LabelAnnotation struct {
425         // Textual description, e.g. `Fixed-gear bicycle`.
426         Description string `protobuf:"bytes,1,opt,name=description" json:"description,omitempty"`
427         // Language code for `description` in BCP-47 format.
428         LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode" json:"language_code,omitempty"`
429         // Where the label was detected and with what confidence.
430         Locations []*LabelLocation `protobuf:"bytes,3,rep,name=locations" json:"locations,omitempty"`
431 }
432
433 func (m *LabelAnnotation) Reset()                    { *m = LabelAnnotation{} }
434 func (m *LabelAnnotation) String() string            { return proto.CompactTextString(m) }
435 func (*LabelAnnotation) ProtoMessage()               {}
436 func (*LabelAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
437
438 func (m *LabelAnnotation) GetDescription() string {
439         if m != nil {
440                 return m.Description
441         }
442         return ""
443 }
444
445 func (m *LabelAnnotation) GetLanguageCode() string {
446         if m != nil {
447                 return m.LanguageCode
448         }
449         return ""
450 }
451
452 func (m *LabelAnnotation) GetLocations() []*LabelLocation {
453         if m != nil {
454                 return m.Locations
455         }
456         return nil
457 }
458
459 // Safe search annotation (based on per-frame visual signals only).
460 // If no unsafe content has been detected in a frame, no annotations
461 // are present for that frame. If only some types of unsafe content
462 // have been detected in a frame, the likelihood is set to `UNKNOWN`
463 // for all other types of unsafe content.
464 type SafeSearchAnnotation struct {
465         // Likelihood of adult content.
466         Adult Likelihood `protobuf:"varint,1,opt,name=adult,enum=google.cloud.videointelligence.v1beta1.Likelihood" json:"adult,omitempty"`
467         // Likelihood that an obvious modification was made to the original
468         // version to make it appear funny or offensive.
469         Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,enum=google.cloud.videointelligence.v1beta1.Likelihood" json:"spoof,omitempty"`
470         // Likelihood of medical content.
471         Medical Likelihood `protobuf:"varint,3,opt,name=medical,enum=google.cloud.videointelligence.v1beta1.Likelihood" json:"medical,omitempty"`
472         // Likelihood of violent content.
473         Violent Likelihood `protobuf:"varint,4,opt,name=violent,enum=google.cloud.videointelligence.v1beta1.Likelihood" json:"violent,omitempty"`
474         // Likelihood of racy content.
475         Racy Likelihood `protobuf:"varint,5,opt,name=racy,enum=google.cloud.videointelligence.v1beta1.Likelihood" json:"racy,omitempty"`
476         // Video time offset in microseconds.
477         TimeOffset int64 `protobuf:"varint,6,opt,name=time_offset,json=timeOffset" json:"time_offset,omitempty"`
478 }
479
480 func (m *SafeSearchAnnotation) Reset()                    { *m = SafeSearchAnnotation{} }
481 func (m *SafeSearchAnnotation) String() string            { return proto.CompactTextString(m) }
482 func (*SafeSearchAnnotation) ProtoMessage()               {}
483 func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
484
485 func (m *SafeSearchAnnotation) GetAdult() Likelihood {
486         if m != nil {
487                 return m.Adult
488         }
489         return Likelihood_UNKNOWN
490 }
491
492 func (m *SafeSearchAnnotation) GetSpoof() Likelihood {
493         if m != nil {
494                 return m.Spoof
495         }
496         return Likelihood_UNKNOWN
497 }
498
499 func (m *SafeSearchAnnotation) GetMedical() Likelihood {
500         if m != nil {
501                 return m.Medical
502         }
503         return Likelihood_UNKNOWN
504 }
505
506 func (m *SafeSearchAnnotation) GetViolent() Likelihood {
507         if m != nil {
508                 return m.Violent
509         }
510         return Likelihood_UNKNOWN
511 }
512
513 func (m *SafeSearchAnnotation) GetRacy() Likelihood {
514         if m != nil {
515                 return m.Racy
516         }
517         return Likelihood_UNKNOWN
518 }
519
520 func (m *SafeSearchAnnotation) GetTimeOffset() int64 {
521         if m != nil {
522                 return m.TimeOffset
523         }
524         return 0
525 }
526
527 // Bounding box.
528 type BoundingBox struct {
529         // Left X coordinate.
530         Left int32 `protobuf:"varint,1,opt,name=left" json:"left,omitempty"`
531         // Right X coordinate.
532         Right int32 `protobuf:"varint,2,opt,name=right" json:"right,omitempty"`
533         // Bottom Y coordinate.
534         Bottom int32 `protobuf:"varint,3,opt,name=bottom" json:"bottom,omitempty"`
535         // Top Y coordinate.
536         Top int32 `protobuf:"varint,4,opt,name=top" json:"top,omitempty"`
537 }
538
539 func (m *BoundingBox) Reset()                    { *m = BoundingBox{} }
540 func (m *BoundingBox) String() string            { return proto.CompactTextString(m) }
541 func (*BoundingBox) ProtoMessage()               {}
542 func (*BoundingBox) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
543
544 func (m *BoundingBox) GetLeft() int32 {
545         if m != nil {
546                 return m.Left
547         }
548         return 0
549 }
550
551 func (m *BoundingBox) GetRight() int32 {
552         if m != nil {
553                 return m.Right
554         }
555         return 0
556 }
557
558 func (m *BoundingBox) GetBottom() int32 {
559         if m != nil {
560                 return m.Bottom
561         }
562         return 0
563 }
564
565 func (m *BoundingBox) GetTop() int32 {
566         if m != nil {
567                 return m.Top
568         }
569         return 0
570 }
571
572 // Face location.
573 type FaceLocation struct {
574         // Bounding box in a frame.
575         BoundingBox *BoundingBox `protobuf:"bytes,1,opt,name=bounding_box,json=boundingBox" json:"bounding_box,omitempty"`
576         // Video time offset in microseconds.
577         TimeOffset int64 `protobuf:"varint,2,opt,name=time_offset,json=timeOffset" json:"time_offset,omitempty"`
578 }
579
580 func (m *FaceLocation) Reset()                    { *m = FaceLocation{} }
581 func (m *FaceLocation) String() string            { return proto.CompactTextString(m) }
582 func (*FaceLocation) ProtoMessage()               {}
583 func (*FaceLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
584
585 func (m *FaceLocation) GetBoundingBox() *BoundingBox {
586         if m != nil {
587                 return m.BoundingBox
588         }
589         return nil
590 }
591
592 func (m *FaceLocation) GetTimeOffset() int64 {
593         if m != nil {
594                 return m.TimeOffset
595         }
596         return 0
597 }
598
599 // Face annotation.
600 type FaceAnnotation struct {
601         // Thumbnail of a representative face view (in JPEG format). Encoding: base64.
602         Thumbnail string `protobuf:"bytes,1,opt,name=thumbnail" json:"thumbnail,omitempty"`
603         // All locations where a face was detected.
604         // Faces are detected and tracked on a per-video basis
605         // (as opposed to across multiple videos).
606         Segments []*VideoSegment `protobuf:"bytes,2,rep,name=segments" json:"segments,omitempty"`
607         // Face locations at one frame per second.
608         Locations []*FaceLocation `protobuf:"bytes,3,rep,name=locations" json:"locations,omitempty"`
609 }
610
611 func (m *FaceAnnotation) Reset()                    { *m = FaceAnnotation{} }
612 func (m *FaceAnnotation) String() string            { return proto.CompactTextString(m) }
613 func (*FaceAnnotation) ProtoMessage()               {}
614 func (*FaceAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
615
616 func (m *FaceAnnotation) GetThumbnail() string {
617         if m != nil {
618                 return m.Thumbnail
619         }
620         return ""
621 }
622
623 func (m *FaceAnnotation) GetSegments() []*VideoSegment {
624         if m != nil {
625                 return m.Segments
626         }
627         return nil
628 }
629
630 func (m *FaceAnnotation) GetLocations() []*FaceLocation {
631         if m != nil {
632                 return m.Locations
633         }
634         return nil
635 }
636
637 // Annotation results for a single video.
638 type VideoAnnotationResults struct {
639         // Video file location in
640         // [Google Cloud Storage](https://cloud.google.com/storage/).
641         InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri" json:"input_uri,omitempty"`
642         // Label annotations. There is exactly one element for each unique label.
643         LabelAnnotations []*LabelAnnotation `protobuf:"bytes,2,rep,name=label_annotations,json=labelAnnotations" json:"label_annotations,omitempty"`
644         // Face annotations. There is exactly one element for each unique face.
645         FaceAnnotations []*FaceAnnotation `protobuf:"bytes,3,rep,name=face_annotations,json=faceAnnotations" json:"face_annotations,omitempty"`
646         // Shot annotations. Each shot is represented as a video segment.
647         ShotAnnotations []*VideoSegment `protobuf:"bytes,4,rep,name=shot_annotations,json=shotAnnotations" json:"shot_annotations,omitempty"`
648         // Safe search annotations.
649         SafeSearchAnnotations []*SafeSearchAnnotation `protobuf:"bytes,6,rep,name=safe_search_annotations,json=safeSearchAnnotations" json:"safe_search_annotations,omitempty"`
650         // If set, indicates an error. Note that for a single `AnnotateVideoRequest`
651         // some videos may succeed and some may fail.
652         Error *google_rpc.Status `protobuf:"bytes,5,opt,name=error" json:"error,omitempty"`
653 }
654
655 func (m *VideoAnnotationResults) Reset()                    { *m = VideoAnnotationResults{} }
656 func (m *VideoAnnotationResults) String() string            { return proto.CompactTextString(m) }
657 func (*VideoAnnotationResults) ProtoMessage()               {}
658 func (*VideoAnnotationResults) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
659
660 func (m *VideoAnnotationResults) GetInputUri() string {
661         if m != nil {
662                 return m.InputUri
663         }
664         return ""
665 }
666
667 func (m *VideoAnnotationResults) GetLabelAnnotations() []*LabelAnnotation {
668         if m != nil {
669                 return m.LabelAnnotations
670         }
671         return nil
672 }
673
674 func (m *VideoAnnotationResults) GetFaceAnnotations() []*FaceAnnotation {
675         if m != nil {
676                 return m.FaceAnnotations
677         }
678         return nil
679 }
680
681 func (m *VideoAnnotationResults) GetShotAnnotations() []*VideoSegment {
682         if m != nil {
683                 return m.ShotAnnotations
684         }
685         return nil
686 }
687
688 func (m *VideoAnnotationResults) GetSafeSearchAnnotations() []*SafeSearchAnnotation {
689         if m != nil {
690                 return m.SafeSearchAnnotations
691         }
692         return nil
693 }
694
695 func (m *VideoAnnotationResults) GetError() *google_rpc.Status {
696         if m != nil {
697                 return m.Error
698         }
699         return nil
700 }
701
702 // Video annotation response. Included in the `response`
703 // field of the `Operation` returned by the `GetOperation`
704 // call of the `google::longrunning::Operations` service.
705 type AnnotateVideoResponse struct {
706         // Annotation results for all videos specified in `AnnotateVideoRequest`.
707         AnnotationResults []*VideoAnnotationResults `protobuf:"bytes,1,rep,name=annotation_results,json=annotationResults" json:"annotation_results,omitempty"`
708 }
709
710 func (m *AnnotateVideoResponse) Reset()                    { *m = AnnotateVideoResponse{} }
711 func (m *AnnotateVideoResponse) String() string            { return proto.CompactTextString(m) }
712 func (*AnnotateVideoResponse) ProtoMessage()               {}
713 func (*AnnotateVideoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
714
715 func (m *AnnotateVideoResponse) GetAnnotationResults() []*VideoAnnotationResults {
716         if m != nil {
717                 return m.AnnotationResults
718         }
719         return nil
720 }
721
722 // Annotation progress for a single video.
723 type VideoAnnotationProgress struct {
724         // Video file location in
725         // [Google Cloud Storage](https://cloud.google.com/storage/).
726         InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri" json:"input_uri,omitempty"`
727         // Approximate percentage processed thus far.
728         // Guaranteed to be 100 when fully processed.
729         ProgressPercent int32 `protobuf:"varint,2,opt,name=progress_percent,json=progressPercent" json:"progress_percent,omitempty"`
730         // Time when the request was received.
731         StartTime *google_protobuf3.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
732         // Time of the most recent update.
733         UpdateTime *google_protobuf3.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime" json:"update_time,omitempty"`
734 }
735
736 func (m *VideoAnnotationProgress) Reset()                    { *m = VideoAnnotationProgress{} }
737 func (m *VideoAnnotationProgress) String() string            { return proto.CompactTextString(m) }
738 func (*VideoAnnotationProgress) ProtoMessage()               {}
739 func (*VideoAnnotationProgress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
740
741 func (m *VideoAnnotationProgress) GetInputUri() string {
742         if m != nil {
743                 return m.InputUri
744         }
745         return ""
746 }
747
748 func (m *VideoAnnotationProgress) GetProgressPercent() int32 {
749         if m != nil {
750                 return m.ProgressPercent
751         }
752         return 0
753 }
754
755 func (m *VideoAnnotationProgress) GetStartTime() *google_protobuf3.Timestamp {
756         if m != nil {
757                 return m.StartTime
758         }
759         return nil
760 }
761
762 func (m *VideoAnnotationProgress) GetUpdateTime() *google_protobuf3.Timestamp {
763         if m != nil {
764                 return m.UpdateTime
765         }
766         return nil
767 }
768
769 // Video annotation progress. Included in the `metadata`
770 // field of the `Operation` returned by the `GetOperation`
771 // call of the `google::longrunning::Operations` service.
772 type AnnotateVideoProgress struct {
773         // Progress metadata for all videos specified in `AnnotateVideoRequest`.
774         AnnotationProgress []*VideoAnnotationProgress `protobuf:"bytes,1,rep,name=annotation_progress,json=annotationProgress" json:"annotation_progress,omitempty"`
775 }
776
777 func (m *AnnotateVideoProgress) Reset()                    { *m = AnnotateVideoProgress{} }
778 func (m *AnnotateVideoProgress) String() string            { return proto.CompactTextString(m) }
779 func (*AnnotateVideoProgress) ProtoMessage()               {}
780 func (*AnnotateVideoProgress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
781
782 func (m *AnnotateVideoProgress) GetAnnotationProgress() []*VideoAnnotationProgress {
783         if m != nil {
784                 return m.AnnotationProgress
785         }
786         return nil
787 }
788
789 func init() {
790         proto.RegisterType((*AnnotateVideoRequest)(nil), "google.cloud.videointelligence.v1beta1.AnnotateVideoRequest")
791         proto.RegisterType((*VideoContext)(nil), "google.cloud.videointelligence.v1beta1.VideoContext")
792         proto.RegisterType((*VideoSegment)(nil), "google.cloud.videointelligence.v1beta1.VideoSegment")
793         proto.RegisterType((*LabelLocation)(nil), "google.cloud.videointelligence.v1beta1.LabelLocation")
794         proto.RegisterType((*LabelAnnotation)(nil), "google.cloud.videointelligence.v1beta1.LabelAnnotation")
795         proto.RegisterType((*SafeSearchAnnotation)(nil), "google.cloud.videointelligence.v1beta1.SafeSearchAnnotation")
796         proto.RegisterType((*BoundingBox)(nil), "google.cloud.videointelligence.v1beta1.BoundingBox")
797         proto.RegisterType((*FaceLocation)(nil), "google.cloud.videointelligence.v1beta1.FaceLocation")
798         proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.videointelligence.v1beta1.FaceAnnotation")
799         proto.RegisterType((*VideoAnnotationResults)(nil), "google.cloud.videointelligence.v1beta1.VideoAnnotationResults")
800         proto.RegisterType((*AnnotateVideoResponse)(nil), "google.cloud.videointelligence.v1beta1.AnnotateVideoResponse")
801         proto.RegisterType((*VideoAnnotationProgress)(nil), "google.cloud.videointelligence.v1beta1.VideoAnnotationProgress")
802         proto.RegisterType((*AnnotateVideoProgress)(nil), "google.cloud.videointelligence.v1beta1.AnnotateVideoProgress")
803         proto.RegisterEnum("google.cloud.videointelligence.v1beta1.Feature", Feature_name, Feature_value)
804         proto.RegisterEnum("google.cloud.videointelligence.v1beta1.LabelLevel", LabelLevel_name, LabelLevel_value)
805         proto.RegisterEnum("google.cloud.videointelligence.v1beta1.LabelDetectionMode", LabelDetectionMode_name, LabelDetectionMode_value)
806         proto.RegisterEnum("google.cloud.videointelligence.v1beta1.Likelihood", Likelihood_name, Likelihood_value)
807 }
808
809 // Reference imports to suppress errors if they are not otherwise used.
810 var _ context.Context
811 var _ grpc.ClientConn
812
813 // This is a compile-time assertion to ensure that this generated file
814 // is compatible with the grpc package it is being compiled against.
815 const _ = grpc.SupportPackageIsVersion4
816
817 // Client API for VideoIntelligenceService service
818
819 type VideoIntelligenceServiceClient interface {
820         // Performs asynchronous video annotation. Progress and results can be
821         // retrieved through the `google.longrunning.Operations` interface.
822         // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
823         // `Operation.response` contains `AnnotateVideoResponse` (results).
824         AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
825 }
826
827 type videoIntelligenceServiceClient struct {
828         cc *grpc.ClientConn
829 }
830
831 func NewVideoIntelligenceServiceClient(cc *grpc.ClientConn) VideoIntelligenceServiceClient {
832         return &videoIntelligenceServiceClient{cc}
833 }
834
835 func (c *videoIntelligenceServiceClient) AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
836         out := new(google_longrunning.Operation)
837         err := grpc.Invoke(ctx, "/google.cloud.videointelligence.v1beta1.VideoIntelligenceService/AnnotateVideo", in, out, c.cc, opts...)
838         if err != nil {
839                 return nil, err
840         }
841         return out, nil
842 }
843
844 // Server API for VideoIntelligenceService service
845
846 type VideoIntelligenceServiceServer interface {
847         // Performs asynchronous video annotation. Progress and results can be
848         // retrieved through the `google.longrunning.Operations` interface.
849         // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
850         // `Operation.response` contains `AnnotateVideoResponse` (results).
851         AnnotateVideo(context.Context, *AnnotateVideoRequest) (*google_longrunning.Operation, error)
852 }
853
854 func RegisterVideoIntelligenceServiceServer(s *grpc.Server, srv VideoIntelligenceServiceServer) {
855         s.RegisterService(&_VideoIntelligenceService_serviceDesc, srv)
856 }
857
858 func _VideoIntelligenceService_AnnotateVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
859         in := new(AnnotateVideoRequest)
860         if err := dec(in); err != nil {
861                 return nil, err
862         }
863         if interceptor == nil {
864                 return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, in)
865         }
866         info := &grpc.UnaryServerInfo{
867                 Server:     srv,
868                 FullMethod: "/google.cloud.videointelligence.v1beta1.VideoIntelligenceService/AnnotateVideo",
869         }
870         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
871                 return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, req.(*AnnotateVideoRequest))
872         }
873         return interceptor(ctx, in, info, handler)
874 }
875
876 var _VideoIntelligenceService_serviceDesc = grpc.ServiceDesc{
877         ServiceName: "google.cloud.videointelligence.v1beta1.VideoIntelligenceService",
878         HandlerType: (*VideoIntelligenceServiceServer)(nil),
879         Methods: []grpc.MethodDesc{
880                 {
881                         MethodName: "AnnotateVideo",
882                         Handler:    _VideoIntelligenceService_AnnotateVideo_Handler,
883                 },
884         },
885         Streams:  []grpc.StreamDesc{},
886         Metadata: "google/cloud/videointelligence/v1beta1/video_intelligence.proto",
887 }
888
889 func init() {
890         proto.RegisterFile("google/cloud/videointelligence/v1beta1/video_intelligence.proto", fileDescriptor0)
891 }
892
893 var fileDescriptor0 = []byte{
894         // 1503 bytes of a gzipped FileDescriptorProto
895         0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcb, 0x6f, 0x1b, 0x45,
896         0x18, 0xef, 0xfa, 0x91, 0xc4, 0x9f, 0x93, 0xd8, 0x99, 0x24, 0x8d, 0x49, 0x1b, 0x1a, 0xb9, 0xa8,
897         0x0a, 0x41, 0xb2, 0xa9, 0xcb, 0x43, 0xb4, 0x40, 0xe5, 0x38, 0xeb, 0xc6, 0xaa, 0x63, 0x47, 0xeb,
898         0x24, 0x55, 0xb9, 0xac, 0xd6, 0xbb, 0x63, 0x67, 0xc5, 0x7a, 0x67, 0xd9, 0x9d, 0x8d, 0xda, 0x23,
899         0x1c, 0x40, 0x1c, 0x11, 0xff, 0x05, 0x12, 0xf0, 0x2f, 0x70, 0xe5, 0xc4, 0x01, 0x2e, 0x9c, 0xb8,
900         0xf0, 0x7f, 0x80, 0xe6, 0xb1, 0xf6, 0xda, 0x0e, 0xd4, 0x0e, 0xdc, 0x3c, 0xdf, 0xe3, 0xf7, 0xbd,
901         0x67, 0xbe, 0x35, 0x3c, 0xee, 0x13, 0xd2, 0x77, 0x70, 0xd9, 0x74, 0x48, 0x68, 0x95, 0x2f, 0x6d,
902         0x0b, 0x13, 0xdb, 0xa5, 0xd8, 0x71, 0xec, 0x3e, 0x76, 0x4d, 0x5c, 0xbe, 0xbc, 0xdf, 0xc5, 0xd4,
903         0xb8, 0x2f, 0x38, 0x7a, 0x9c, 0x55, 0xf2, 0x7c, 0x42, 0x09, 0xba, 0x27, 0x00, 0x4a, 0x1c, 0xa0,
904         0x34, 0x05, 0x50, 0x92, 0x00, 0xdb, 0xb7, 0xa5, 0x21, 0xc3, 0xb3, 0xcb, 0x86, 0xeb, 0x12, 0x6a,
905         0x50, 0x9b, 0xb8, 0x81, 0x40, 0xd9, 0xbe, 0x2b, 0xb9, 0x0e, 0x71, 0xfb, 0x7e, 0xe8, 0xba, 0xb6,
906         0xdb, 0x2f, 0x13, 0x0f, 0xfb, 0x63, 0x42, 0x77, 0xa4, 0x10, 0x3f, 0x75, 0xc3, 0x5e, 0x99, 0xda,
907         0x03, 0x1c, 0x50, 0x63, 0xe0, 0x49, 0x81, 0x2d, 0x29, 0xe0, 0x7b, 0x66, 0x39, 0xa0, 0x06, 0x0d,
908         0xa5, 0x66, 0xf1, 0xa7, 0x04, 0x6c, 0x54, 0x85, 0x51, 0x7c, 0xce, 0x5c, 0xd4, 0xf0, 0x67, 0x21,
909         0x0e, 0x28, 0xba, 0x05, 0x19, 0xdb, 0xf5, 0x42, 0xaa, 0x87, 0xbe, 0x5d, 0x50, 0x76, 0x95, 0xbd,
910         0x8c, 0xb6, 0xc4, 0x09, 0x67, 0xbe, 0x8d, 0xee, 0xc2, 0x8a, 0x60, 0x9a, 0xc4, 0xa5, 0xd8, 0xa5,
911         0x85, 0x05, 0x2e, 0xb0, 0xcc, 0x89, 0x35, 0x41, 0x43, 0x4f, 0x61, 0xa9, 0x87, 0x0d, 0x1a, 0xfa,
912         0x38, 0x28, 0x24, 0x76, 0x93, 0x7b, 0xab, 0x95, 0x72, 0x69, 0xb6, 0x94, 0x94, 0xea, 0x42, 0x4f,
913         0x1b, 0x02, 0xa0, 0xe7, 0xb0, 0x22, 0x12, 0xcd, 0x2d, 0xbe, 0xa0, 0x85, 0xe4, 0xae, 0xb2, 0x97,
914         0xad, 0xbc, 0x33, 0x2b, 0x22, 0x8f, 0xad, 0x26, 0x74, 0xb5, 0xe5, 0xcb, 0xd8, 0x09, 0xed, 0x00,
915         0x90, 0x90, 0x46, 0xa1, 0xa6, 0x78, 0x24, 0x19, 0x41, 0x61, 0xb1, 0xde, 0x81, 0xac, 0x43, 0x4c,
916         0x9e, 0x6e, 0xdd, 0xb6, 0x0a, 0x69, 0xce, 0x87, 0x88, 0xd4, 0xb0, 0x8a, 0x7f, 0x24, 0x61, 0x39,
917         0x0e, 0x8f, 0x4e, 0x60, 0x29, 0xc0, 0xfd, 0x01, 0x76, 0x69, 0x50, 0x50, 0x76, 0x93, 0x73, 0xbb,
918         0xd9, 0x11, 0xca, 0xda, 0x10, 0x05, 0x39, 0xb0, 0xe1, 0x18, 0x5d, 0xec, 0xe8, 0x16, 0xa6, 0xd8,
919         0xe4, 0xae, 0x0c, 0x88, 0x85, 0x0b, 0x89, 0x5d, 0x65, 0x6f, 0xb5, 0xf2, 0x70, 0x56, 0xf4, 0x26,
920         0xc3, 0x38, 0x8c, 0x20, 0x8e, 0x89, 0x85, 0x35, 0xe4, 0x4c, 0xd1, 0xd0, 0x5b, 0xb0, 0x16, 0x88,
921         0x26, 0x34, 0xfc, 0x97, 0xba, 0x69, 0x0c, 0xb0, 0x6f, 0xf0, 0x7c, 0x2f, 0x69, 0xf9, 0x11, 0xa3,
922         0xc6, 0xe9, 0xa8, 0x02, 0x9b, 0x57, 0xb9, 0xe6, 0xc8, 0x44, 0xae, 0x4f, 0xe3, 0x3b, 0xe8, 0x6d,
923         0xd8, 0xe8, 0x19, 0x26, 0x9e, 0x52, 0x11, 0xb9, 0x45, 0x8c, 0x37, 0xa1, 0xf1, 0x11, 0xdc, 0x0a,
924         0x2e, 0x08, 0xd5, 0xcd, 0x0b, 0xc3, 0xed, 0x4f, 0x2b, 0x8a, 0xf6, 0x2b, 0x30, 0x91, 0x1a, 0x97,
925         0xb8, 0x42, 0xdd, 0xe8, 0x61, 0x3d, 0xc0, 0x86, 0x6f, 0x5e, 0x4c, 0xa9, 0x2f, 0x4a, 0x75, 0xa3,
926         0x87, 0x3b, 0x5c, 0x62, 0x5c, 0xbd, 0xd8, 0x95, 0x05, 0x96, 0x85, 0x41, 0xfb, 0x3c, 0x41, 0x3e,
927         0xd5, 0xd9, 0x98, 0xe9, 0xa4, 0xd7, 0x0b, 0x30, 0xe5, 0x33, 0x92, 0xd4, 0x72, 0x9c, 0x71, 0x6a,
928         0x0f, 0x70, 0x9b, 0x93, 0xd1, 0x3d, 0xc8, 0x61, 0xd7, 0x1a, 0x93, 0x4c, 0x70, 0xc9, 0x15, 0xec,
929         0x5a, 0x23, 0xb9, 0xe2, 0xcf, 0x0a, 0xac, 0xf0, 0xfa, 0x34, 0x65, 0x67, 0xa1, 0x16, 0x2c, 0xca,
930         0x06, 0xe0, 0xd8, 0xd7, 0xed, 0xa2, 0x08, 0x04, 0xbd, 0x0e, 0x60, 0x12, 0xb7, 0x67, 0x5b, 0x4c,
931         0x96, 0x3b, 0x91, 0xd0, 0x62, 0x14, 0x74, 0x04, 0x69, 0x07, 0x5f, 0x62, 0x87, 0x97, 0x7a, 0xb5,
932         0x52, 0x99, 0xab, 0xab, 0x9a, 0x4c, 0x53, 0x13, 0x00, 0xc5, 0xef, 0x15, 0xc8, 0x71, 0x6a, 0x75,
933         0x78, 0x9d, 0xa1, 0x5d, 0xc8, 0x5a, 0x38, 0x30, 0x7d, 0xdb, 0x63, 0x47, 0x79, 0xa3, 0xc4, 0x49,
934         0xec, 0x52, 0x71, 0x0c, 0xb7, 0x1f, 0x1a, 0x7d, 0xac, 0x9b, 0x51, 0x77, 0x67, 0xb4, 0xe5, 0x88,
935         0x58, 0x63, 0xbd, 0xd9, 0x81, 0x4c, 0x34, 0x7a, 0x41, 0x21, 0xc9, 0x87, 0xeb, 0xdd, 0xf9, 0x1c,
936         0x95, 0xda, 0xda, 0x08, 0xa7, 0xf8, 0x63, 0x12, 0x36, 0x3a, 0xc3, 0xe2, 0xc7, 0x9c, 0x3e, 0x82,
937         0xb4, 0x61, 0x85, 0x8e, 0x28, 0xc0, 0x3c, 0x29, 0xb1, 0x3f, 0xc5, 0x8e, 0x7d, 0x41, 0x88, 0xa5,
938         0x09, 0x00, 0x86, 0x14, 0x78, 0x84, 0xf4, 0xe4, 0xc8, 0x5e, 0x0b, 0x89, 0x03, 0xa0, 0x26, 0x2c,
939         0x0e, 0xb0, 0x65, 0x9b, 0xc6, 0xfc, 0x85, 0x1a, 0x61, 0x45, 0x10, 0x0c, 0xed, 0xd2, 0x26, 0x0e,
940         0x6b, 0xb2, 0xd4, 0xf5, 0xd1, 0x24, 0x04, 0xaa, 0x43, 0xca, 0x37, 0xcc, 0x97, 0x7c, 0x90, 0xaf,
941         0x07, 0xc5, 0xf5, 0xd9, 0x9d, 0x1b, 0x1f, 0x98, 0x05, 0x3e, 0x30, 0x40, 0x47, 0xd3, 0x62, 0x40,
942         0xf6, 0x80, 0x84, 0xae, 0x65, 0xbb, 0xfd, 0x03, 0xf2, 0x02, 0x21, 0x48, 0x39, 0xb8, 0x27, 0xca,
943         0x94, 0xd6, 0xf8, 0x6f, 0xb4, 0x01, 0x69, 0xdf, 0xee, 0x5f, 0x88, 0x71, 0x4b, 0x6b, 0xe2, 0x80,
944         0x6e, 0xc2, 0x42, 0x97, 0x50, 0x4a, 0x06, 0x3c, 0x79, 0x69, 0x4d, 0x9e, 0x50, 0x1e, 0x92, 0x94,
945         0x78, 0x3c, 0x07, 0x69, 0x8d, 0xfd, 0x2c, 0x7e, 0xa5, 0xc0, 0x72, 0xdd, 0x30, 0xf1, 0x70, 0x1e,
946         0xcf, 0x61, 0xb9, 0x2b, 0x6d, 0xea, 0x5d, 0xf2, 0x42, 0x0e, 0xe5, 0x83, 0x59, 0x83, 0x8c, 0xf9,
947         0xab, 0x65, 0xbb, 0x31, 0xe7, 0x27, 0x82, 0x4d, 0x4c, 0x05, 0xfb, 0x9b, 0x02, 0xab, 0xcc, 0x93,
948         0x58, 0x63, 0xde, 0x86, 0x0c, 0xbd, 0x08, 0x07, 0x5d, 0xd7, 0xb0, 0x1d, 0x39, 0x4b, 0x23, 0xc2,
949         0xd8, 0x03, 0x94, 0xf8, 0x5f, 0x1e, 0x20, 0x6d, 0x7a, 0xec, 0x66, 0x86, 0x8c, 0x27, 0x31, 0x3e,
950         0x75, 0x7f, 0x25, 0xe1, 0x26, 0x37, 0x37, 0x8a, 0x4b, 0xc3, 0x41, 0xe8, 0xd0, 0xe0, 0xdf, 0x97,
951         0x0f, 0x0b, 0xd6, 0xc4, 0x8b, 0x13, 0x5b, 0x96, 0x64, 0x98, 0xef, 0xcf, 0x75, 0x15, 0xc4, 0xec,
952         0xe6, 0x9d, 0x71, 0x42, 0x80, 0x0c, 0xc8, 0xf3, 0x37, 0x2a, 0x6e, 0x44, 0x04, 0xfe, 0xde, 0x3c,
953         0x81, 0xc7, 0x6c, 0xe4, 0x7a, 0x63, 0xe7, 0x00, 0xe9, 0x90, 0xe7, 0x8f, 0x5a, 0xdc, 0x44, 0xea,
954         0x3f, 0x94, 0x2b, 0xc7, 0xd0, 0xe2, 0x06, 0x28, 0x6c, 0xc5, 0x9f, 0xbd, 0xb8, 0x9d, 0x05, 0x6e,
955         0xe7, 0xc3, 0x59, 0xed, 0x5c, 0x75, 0x3b, 0x6a, 0x9b, 0xc1, 0x15, 0xd4, 0x00, 0xed, 0x41, 0x1a,
956         0xfb, 0x3e, 0xf1, 0xf9, 0x2d, 0x90, 0xad, 0xa0, 0xc8, 0x86, 0xef, 0x99, 0xa5, 0x0e, 0xdf, 0x3d,
957         0x35, 0x21, 0x50, 0xfc, 0x52, 0x81, 0xcd, 0x89, 0xe5, 0x33, 0xf0, 0x88, 0x1b, 0x60, 0x34, 0x00,
958         0x34, 0xf2, 0x56, 0xf7, 0x45, 0x5b, 0xc8, 0x65, 0xea, 0xe3, 0xb9, 0x92, 0x33, 0xd5, 0x5c, 0xda,
959         0x9a, 0x31, 0x49, 0x2a, 0xfe, 0xae, 0xc0, 0xd6, 0x84, 0xf4, 0x89, 0x4f, 0xfa, 0x3e, 0x0e, 0x5e,
960         0xd1, 0x8b, 0x6f, 0x42, 0xde, 0x93, 0x82, 0xba, 0x87, 0x7d, 0x93, 0xdd, 0xa3, 0xe2, 0xbe, 0xc9,
961         0x45, 0xf4, 0x13, 0x41, 0x46, 0x1f, 0x00, 0x8c, 0x96, 0x06, 0xb9, 0xbe, 0x6e, 0x47, 0xa1, 0x44,
962         0x8b, 0x7b, 0xe9, 0x34, 0x5a, 0xdc, 0xb5, 0xcc, 0x70, 0x93, 0x40, 0x8f, 0x20, 0x1b, 0x7a, 0x96,
963         0x41, 0xb1, 0xd0, 0x4d, 0xbd, 0x52, 0x17, 0x84, 0x38, 0x23, 0x14, 0xbf, 0x9e, 0x4c, 0xf2, 0x30,
964         0x32, 0x0f, 0xd6, 0x63, 0x49, 0x8e, 0xfc, 0x95, 0x59, 0x7e, 0x7c, 0xcd, 0x2c, 0x47, 0xe8, 0x5a,
965         0xac, 0x80, 0x11, 0x6d, 0xff, 0x73, 0x05, 0x16, 0xe5, 0x6e, 0x8f, 0xb6, 0x60, 0xbd, 0xae, 0x56,
966         0x4f, 0xcf, 0x34, 0x55, 0x3f, 0x6b, 0x75, 0x4e, 0xd4, 0x5a, 0xa3, 0xde, 0x50, 0x0f, 0xf3, 0x37,
967         0xd0, 0x3a, 0xe4, 0x9a, 0xd5, 0x03, 0xb5, 0xa9, 0x1f, 0xaa, 0xa7, 0x6a, 0xed, 0xb4, 0xd1, 0x6e,
968         0xe5, 0x15, 0x84, 0x60, 0xb5, 0x5e, 0xad, 0xa9, 0x31, 0x5a, 0x02, 0xbd, 0x06, 0x9b, 0x9d, 0xa3,
969         0xf6, 0xa9, 0x5e, 0x3b, 0xaa, 0xb6, 0x9e, 0xc4, 0x59, 0x49, 0xce, 0xaa, 0xd6, 0x55, 0xbd, 0xa3,
970         0x56, 0xb5, 0xda, 0x51, 0x8c, 0x95, 0xda, 0x77, 0x01, 0x46, 0x1b, 0x0b, 0xba, 0x05, 0x5b, 0xc2,
971         0x58, 0x53, 0x3d, 0x57, 0x9b, 0x13, 0x9e, 0xe4, 0x20, 0x7b, 0xde, 0x38, 0x54, 0xdb, 0x82, 0x99,
972         0x57, 0xd0, 0x1a, 0xac, 0x74, 0xd4, 0x27, 0xc7, 0x6a, 0xeb, 0x54, 0x92, 0x12, 0x68, 0x15, 0x80,
973         0x3b, 0x21, 0xce, 0x49, 0xa6, 0x53, 0xd7, 0xaa, 0xc7, 0xaa, 0x24, 0xa4, 0xf6, 0x7d, 0x40, 0xd3,
974         0x7b, 0x37, 0x7a, 0x03, 0x76, 0x27, 0x82, 0xd4, 0x8f, 0xdb, 0x87, 0x93, 0xa9, 0x58, 0x81, 0x0c,
975         0x07, 0x67, 0xac, 0xbc, 0xc2, 0x6c, 0x09, 0x6c, 0x7e, 0x4e, 0xb0, 0x14, 0x72, 0x76, 0xb5, 0x75,
976         0xa8, 0xc7, 0x18, 0xc9, 0x7d, 0x0c, 0x30, 0x7a, 0x53, 0x51, 0x16, 0x16, 0xcf, 0x5a, 0x4f, 0x5b,
977         0xed, 0x67, 0xad, 0xfc, 0x0d, 0x16, 0xc2, 0xb9, 0xaa, 0x3d, 0xd7, 0xcf, 0x5a, 0xcd, 0xc6, 0x53,
978         0xb5, 0xf9, 0x3c, 0xaf, 0xa0, 0x65, 0x58, 0x1a, 0x9e, 0x12, 0xec, 0x74, 0xd2, 0xee, 0x74, 0x1a,
979         0x07, 0x4d, 0x35, 0x9f, 0x44, 0x00, 0x0b, 0x92, 0x93, 0xe2, 0xe9, 0x60, 0xaa, 0x92, 0x90, 0xae,
980         0xfc, 0xa0, 0x40, 0x81, 0x97, 0xbf, 0x11, 0x6b, 0x8c, 0x0e, 0xf6, 0x2f, 0x6d, 0x13, 0xa3, 0x6f,
981         0x14, 0x58, 0x19, 0xeb, 0x3b, 0x34, 0xf3, 0x6d, 0x73, 0xd5, 0x07, 0xe9, 0xf6, 0x4e, 0xa4, 0x1d,
982         0xfb, 0x12, 0x2e, 0xb5, 0xa3, 0x2f, 0xe1, 0xe2, 0xdd, 0x2f, 0x7e, 0xfd, 0xf3, 0xdb, 0xc4, 0x4e,
983         0xb1, 0x30, 0xfe, 0x61, 0x1e, 0x3c, 0x94, 0x6d, 0x88, 0x1f, 0x2a, 0xfb, 0x07, 0xbf, 0x28, 0xb0,
984         0x6f, 0x92, 0xc1, 0x8c, 0x7e, 0x1c, 0xec, 0xfc, 0x53, 0x70, 0x27, 0x6c, 0xe4, 0x4e, 0x94, 0x4f,
985         0x9e, 0x49, 0xa0, 0x3e, 0x61, 0x4b, 0x6a, 0x89, 0xf8, 0xfd, 0x72, 0x1f, 0xbb, 0x7c, 0x20, 0xcb,
986         0x82, 0x65, 0x78, 0x76, 0xf0, 0xaa, 0xbf, 0x10, 0x1e, 0x4d, 0x71, 0xbe, 0x4b, 0xdc, 0x7b, 0x22,
987         0x90, 0x6b, 0xdc, 0xc5, 0x29, 0x3f, 0x4a, 0xe7, 0xf7, 0x0f, 0x98, 0x6a, 0x77, 0x81, 0x1b, 0x7b,
988         0xf0, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xe8, 0xc8, 0xa8, 0xae, 0x10, 0x00, 0x00,
989 }