1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/scheduler/v1/job.proto
3
4package scheduler
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	duration "github.com/golang/protobuf/ptypes/duration"
12	timestamp "github.com/golang/protobuf/ptypes/timestamp"
13	_ "google.golang.org/genproto/googleapis/api/annotations"
14	status "google.golang.org/genproto/googleapis/rpc/status"
15)
16
17// Reference imports to suppress errors if they are not otherwise used.
18var _ = proto.Marshal
19var _ = fmt.Errorf
20var _ = math.Inf
21
22// This is a compile-time assertion to ensure that this generated file
23// is compatible with the proto package it is being compiled against.
24// A compilation error at this line likely means your copy of the
25// proto package needs to be updated.
26const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
27
28// State of the job.
29type Job_State int32
30
31const (
32	// Unspecified state.
33	Job_STATE_UNSPECIFIED Job_State = 0
34	// The job is executing normally.
35	Job_ENABLED Job_State = 1
36	// The job is paused by the user. It will not execute. A user can
37	// intentionally pause the job using
38	// [PauseJobRequest][google.cloud.scheduler.v1.PauseJobRequest].
39	Job_PAUSED Job_State = 2
40	// The job is disabled by the system due to error. The user
41	// cannot directly set a job to be disabled.
42	Job_DISABLED Job_State = 3
43	// The job state resulting from a failed [CloudScheduler.UpdateJob][google.cloud.scheduler.v1.CloudScheduler.UpdateJob]
44	// operation. To recover a job from this state, retry
45	// [CloudScheduler.UpdateJob][google.cloud.scheduler.v1.CloudScheduler.UpdateJob] until a successful response is received.
46	Job_UPDATE_FAILED Job_State = 4
47)
48
49var Job_State_name = map[int32]string{
50	0: "STATE_UNSPECIFIED",
51	1: "ENABLED",
52	2: "PAUSED",
53	3: "DISABLED",
54	4: "UPDATE_FAILED",
55}
56
57var Job_State_value = map[string]int32{
58	"STATE_UNSPECIFIED": 0,
59	"ENABLED":           1,
60	"PAUSED":            2,
61	"DISABLED":          3,
62	"UPDATE_FAILED":     4,
63}
64
65func (x Job_State) String() string {
66	return proto.EnumName(Job_State_name, int32(x))
67}
68
69func (Job_State) EnumDescriptor() ([]byte, []int) {
70	return fileDescriptor_a71942b5342d2a6f, []int{0, 0}
71}
72
73// Configuration for a job.
74// The maximum allowed size for a job is 100KB.
75type Job struct {
76	// Optionally caller-specified in [CreateJob][google.cloud.scheduler.v1.CloudScheduler.CreateJob], after
77	// which it becomes output only.
78	//
79	// The job name. For example:
80	// `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
81	//
82	// * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
83	//    hyphens (-), colons (:), or periods (.).
84	//    For more information, see
85	//    [Identifying
86	//    projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
87	// * `LOCATION_ID` is the canonical ID for the job's location.
88	//    The list of available locations can be obtained by calling
89	//    [ListLocations][google.cloud.location.Locations.ListLocations].
90	//    For more information, see https://cloud.google.com/about/locations/.
91	// * `JOB_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
92	//    hyphens (-), or underscores (_). The maximum length is 500 characters.
93	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
94	// Optionally caller-specified in [CreateJob][google.cloud.scheduler.v1.CloudScheduler.CreateJob] or
95	// [UpdateJob][google.cloud.scheduler.v1.CloudScheduler.UpdateJob].
96	//
97	// A human-readable description for the job. This string must not contain
98	// more than 500 characters.
99	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
100	// Required.
101	//
102	// Delivery settings containing destination and parameters.
103	//
104	// Types that are valid to be assigned to Target:
105	//	*Job_PubsubTarget
106	//	*Job_AppEngineHttpTarget
107	//	*Job_HttpTarget
108	Target isJob_Target `protobuf_oneof:"target"`
109	// Required, except when used with [UpdateJob][google.cloud.scheduler.v1.CloudScheduler.UpdateJob].
110	//
111	// Describes the schedule on which the job will be executed.
112	//
113	// The schedule can be either of the following types:
114	//
115	// * [Crontab](http://en.wikipedia.org/wiki/Cron#Overview)
116	// * English-like
117	// [schedule](https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules)
118	//
119	// As a general rule, execution `n + 1` of a job will not begin
120	// until execution `n` has finished. Cloud Scheduler will never
121	// allow two simultaneously outstanding executions. For example,
122	// this implies that if the `n+1`th execution is scheduled to run at
123	// 16:00 but the `n`th execution takes until 16:15, the `n+1`th
124	// execution will not start until `16:15`.
125	// A scheduled start time will be delayed if the previous
126	// execution has not ended when its scheduled time occurs.
127	//
128	// If [retry_count][google.cloud.scheduler.v1.RetryConfig.retry_count] > 0 and a job attempt fails,
129	// the job will be tried a total of [retry_count][google.cloud.scheduler.v1.RetryConfig.retry_count]
130	// times, with exponential backoff, until the next scheduled start
131	// time.
132	Schedule string `protobuf:"bytes,20,opt,name=schedule,proto3" json:"schedule,omitempty"`
133	// Specifies the time zone to be used in interpreting
134	// [schedule][google.cloud.scheduler.v1.Job.schedule]. The value of this field must be a time
135	// zone name from the [tz database](http://en.wikipedia.org/wiki/Tz_database).
136	//
137	// Note that some time zones include a provision for
138	// daylight savings time. The rules for daylight saving time are
139	// determined by the chosen tz. For UTC use the string "utc". If a
140	// time zone is not specified, the default will be in UTC (also known
141	// as GMT).
142	TimeZone string `protobuf:"bytes,21,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
143	// Output only. The creation time of the job.
144	UserUpdateTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=user_update_time,json=userUpdateTime,proto3" json:"user_update_time,omitempty"`
145	// Output only. State of the job.
146	State Job_State `protobuf:"varint,10,opt,name=state,proto3,enum=google.cloud.scheduler.v1.Job_State" json:"state,omitempty"`
147	// Output only. The response from the target for the last attempted execution.
148	Status *status.Status `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
149	// Output only. The next time the job is scheduled. Note that this may be a
150	// retry of a previously failed attempt or the next execution time
151	// according to the schedule.
152	ScheduleTime *timestamp.Timestamp `protobuf:"bytes,17,opt,name=schedule_time,json=scheduleTime,proto3" json:"schedule_time,omitempty"`
153	// Output only. The time the last job attempt started.
154	LastAttemptTime *timestamp.Timestamp `protobuf:"bytes,18,opt,name=last_attempt_time,json=lastAttemptTime,proto3" json:"last_attempt_time,omitempty"`
155	// Settings that determine the retry behavior.
156	RetryConfig *RetryConfig `protobuf:"bytes,19,opt,name=retry_config,json=retryConfig,proto3" json:"retry_config,omitempty"`
157	// The deadline for job attempts. If the request handler does not respond by
158	// this deadline then the request is cancelled and the attempt is marked as a
159	// `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in
160	// execution logs. Cloud Scheduler will retry the job according
161	// to the [RetryConfig][google.cloud.scheduler.v1.RetryConfig].
162	//
163	// The allowed duration for this deadline is:
164	// * For [HTTP targets][google.cloud.scheduler.v1.Job.http_target], between 15 seconds and 30 minutes.
165	// * For [App Engine HTTP targets][google.cloud.scheduler.v1.Job.app_engine_http_target], between 15
166	//   seconds and 24 hours.
167	AttemptDeadline      *duration.Duration `protobuf:"bytes,22,opt,name=attempt_deadline,json=attemptDeadline,proto3" json:"attempt_deadline,omitempty"`
168	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
169	XXX_unrecognized     []byte             `json:"-"`
170	XXX_sizecache        int32              `json:"-"`
171}
172
173func (m *Job) Reset()         { *m = Job{} }
174func (m *Job) String() string { return proto.CompactTextString(m) }
175func (*Job) ProtoMessage()    {}
176func (*Job) Descriptor() ([]byte, []int) {
177	return fileDescriptor_a71942b5342d2a6f, []int{0}
178}
179
180func (m *Job) XXX_Unmarshal(b []byte) error {
181	return xxx_messageInfo_Job.Unmarshal(m, b)
182}
183func (m *Job) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
184	return xxx_messageInfo_Job.Marshal(b, m, deterministic)
185}
186func (m *Job) XXX_Merge(src proto.Message) {
187	xxx_messageInfo_Job.Merge(m, src)
188}
189func (m *Job) XXX_Size() int {
190	return xxx_messageInfo_Job.Size(m)
191}
192func (m *Job) XXX_DiscardUnknown() {
193	xxx_messageInfo_Job.DiscardUnknown(m)
194}
195
196var xxx_messageInfo_Job proto.InternalMessageInfo
197
198func (m *Job) GetName() string {
199	if m != nil {
200		return m.Name
201	}
202	return ""
203}
204
205func (m *Job) GetDescription() string {
206	if m != nil {
207		return m.Description
208	}
209	return ""
210}
211
212type isJob_Target interface {
213	isJob_Target()
214}
215
216type Job_PubsubTarget struct {
217	PubsubTarget *PubsubTarget `protobuf:"bytes,4,opt,name=pubsub_target,json=pubsubTarget,proto3,oneof"`
218}
219
220type Job_AppEngineHttpTarget struct {
221	AppEngineHttpTarget *AppEngineHttpTarget `protobuf:"bytes,5,opt,name=app_engine_http_target,json=appEngineHttpTarget,proto3,oneof"`
222}
223
224type Job_HttpTarget struct {
225	HttpTarget *HttpTarget `protobuf:"bytes,6,opt,name=http_target,json=httpTarget,proto3,oneof"`
226}
227
228func (*Job_PubsubTarget) isJob_Target() {}
229
230func (*Job_AppEngineHttpTarget) isJob_Target() {}
231
232func (*Job_HttpTarget) isJob_Target() {}
233
234func (m *Job) GetTarget() isJob_Target {
235	if m != nil {
236		return m.Target
237	}
238	return nil
239}
240
241func (m *Job) GetPubsubTarget() *PubsubTarget {
242	if x, ok := m.GetTarget().(*Job_PubsubTarget); ok {
243		return x.PubsubTarget
244	}
245	return nil
246}
247
248func (m *Job) GetAppEngineHttpTarget() *AppEngineHttpTarget {
249	if x, ok := m.GetTarget().(*Job_AppEngineHttpTarget); ok {
250		return x.AppEngineHttpTarget
251	}
252	return nil
253}
254
255func (m *Job) GetHttpTarget() *HttpTarget {
256	if x, ok := m.GetTarget().(*Job_HttpTarget); ok {
257		return x.HttpTarget
258	}
259	return nil
260}
261
262func (m *Job) GetSchedule() string {
263	if m != nil {
264		return m.Schedule
265	}
266	return ""
267}
268
269func (m *Job) GetTimeZone() string {
270	if m != nil {
271		return m.TimeZone
272	}
273	return ""
274}
275
276func (m *Job) GetUserUpdateTime() *timestamp.Timestamp {
277	if m != nil {
278		return m.UserUpdateTime
279	}
280	return nil
281}
282
283func (m *Job) GetState() Job_State {
284	if m != nil {
285		return m.State
286	}
287	return Job_STATE_UNSPECIFIED
288}
289
290func (m *Job) GetStatus() *status.Status {
291	if m != nil {
292		return m.Status
293	}
294	return nil
295}
296
297func (m *Job) GetScheduleTime() *timestamp.Timestamp {
298	if m != nil {
299		return m.ScheduleTime
300	}
301	return nil
302}
303
304func (m *Job) GetLastAttemptTime() *timestamp.Timestamp {
305	if m != nil {
306		return m.LastAttemptTime
307	}
308	return nil
309}
310
311func (m *Job) GetRetryConfig() *RetryConfig {
312	if m != nil {
313		return m.RetryConfig
314	}
315	return nil
316}
317
318func (m *Job) GetAttemptDeadline() *duration.Duration {
319	if m != nil {
320		return m.AttemptDeadline
321	}
322	return nil
323}
324
325// XXX_OneofWrappers is for the internal use of the proto package.
326func (*Job) XXX_OneofWrappers() []interface{} {
327	return []interface{}{
328		(*Job_PubsubTarget)(nil),
329		(*Job_AppEngineHttpTarget)(nil),
330		(*Job_HttpTarget)(nil),
331	}
332}
333
334// Settings that determine the retry behavior.
335//
336// By default, if a job does not complete successfully (meaning that
337// an acknowledgement is not received from the handler, then it will be retried
338// with exponential backoff according to the settings in [RetryConfig][google.cloud.scheduler.v1.RetryConfig].
339type RetryConfig struct {
340	// The number of attempts that the system will make to run a job using the
341	// exponential backoff procedure described by
342	// [max_doublings][google.cloud.scheduler.v1.RetryConfig.max_doublings].
343	//
344	// The default value of retry_count is zero.
345	//
346	// If retry_count is zero, a job attempt will *not* be retried if
347	// it fails. Instead the Cloud Scheduler system will wait for the
348	// next scheduled execution time.
349	//
350	// If retry_count is set to a non-zero number then Cloud Scheduler
351	// will retry failed attempts, using exponential backoff,
352	// retry_count times, or until the next scheduled execution time,
353	// whichever comes first.
354	//
355	// Values greater than 5 and negative values are not allowed.
356	RetryCount int32 `protobuf:"varint,1,opt,name=retry_count,json=retryCount,proto3" json:"retry_count,omitempty"`
357	// The time limit for retrying a failed job, measured from time when an
358	// execution was first attempted. If specified with
359	// [retry_count][google.cloud.scheduler.v1.RetryConfig.retry_count], the job will be retried until both
360	// limits are reached.
361	//
362	// The default value for max_retry_duration is zero, which means retry
363	// duration is unlimited.
364	MaxRetryDuration *duration.Duration `protobuf:"bytes,2,opt,name=max_retry_duration,json=maxRetryDuration,proto3" json:"max_retry_duration,omitempty"`
365	// The minimum amount of time to wait before retrying a job after
366	// it fails.
367	//
368	// The default value of this field is 5 seconds.
369	MinBackoffDuration *duration.Duration `protobuf:"bytes,3,opt,name=min_backoff_duration,json=minBackoffDuration,proto3" json:"min_backoff_duration,omitempty"`
370	// The maximum amount of time to wait before retrying a job after
371	// it fails.
372	//
373	// The default value of this field is 1 hour.
374	MaxBackoffDuration *duration.Duration `protobuf:"bytes,4,opt,name=max_backoff_duration,json=maxBackoffDuration,proto3" json:"max_backoff_duration,omitempty"`
375	// The time between retries will double `max_doublings` times.
376	//
377	// A job's retry interval starts at
378	// [min_backoff_duration][google.cloud.scheduler.v1.RetryConfig.min_backoff_duration], then doubles
379	// `max_doublings` times, then increases linearly, and finally
380	// retries retries at intervals of
381	// [max_backoff_duration][google.cloud.scheduler.v1.RetryConfig.max_backoff_duration] up to
382	// [retry_count][google.cloud.scheduler.v1.RetryConfig.retry_count] times.
383	//
384	// For example, if [min_backoff_duration][google.cloud.scheduler.v1.RetryConfig.min_backoff_duration] is
385	// 10s, [max_backoff_duration][google.cloud.scheduler.v1.RetryConfig.max_backoff_duration] is 300s, and
386	// `max_doublings` is 3, then the a job will first be retried in 10s. The
387	// retry interval will double three times, and then increase linearly by
388	// 2^3 * 10s.  Finally, the job will retry at intervals of
389	// [max_backoff_duration][google.cloud.scheduler.v1.RetryConfig.max_backoff_duration] until the job has
390	// been attempted [retry_count][google.cloud.scheduler.v1.RetryConfig.retry_count] times. Thus, the
391	// requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, ....
392	//
393	// The default value of this field is 5.
394	MaxDoublings         int32    `protobuf:"varint,5,opt,name=max_doublings,json=maxDoublings,proto3" json:"max_doublings,omitempty"`
395	XXX_NoUnkeyedLiteral struct{} `json:"-"`
396	XXX_unrecognized     []byte   `json:"-"`
397	XXX_sizecache        int32    `json:"-"`
398}
399
400func (m *RetryConfig) Reset()         { *m = RetryConfig{} }
401func (m *RetryConfig) String() string { return proto.CompactTextString(m) }
402func (*RetryConfig) ProtoMessage()    {}
403func (*RetryConfig) Descriptor() ([]byte, []int) {
404	return fileDescriptor_a71942b5342d2a6f, []int{1}
405}
406
407func (m *RetryConfig) XXX_Unmarshal(b []byte) error {
408	return xxx_messageInfo_RetryConfig.Unmarshal(m, b)
409}
410func (m *RetryConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
411	return xxx_messageInfo_RetryConfig.Marshal(b, m, deterministic)
412}
413func (m *RetryConfig) XXX_Merge(src proto.Message) {
414	xxx_messageInfo_RetryConfig.Merge(m, src)
415}
416func (m *RetryConfig) XXX_Size() int {
417	return xxx_messageInfo_RetryConfig.Size(m)
418}
419func (m *RetryConfig) XXX_DiscardUnknown() {
420	xxx_messageInfo_RetryConfig.DiscardUnknown(m)
421}
422
423var xxx_messageInfo_RetryConfig proto.InternalMessageInfo
424
425func (m *RetryConfig) GetRetryCount() int32 {
426	if m != nil {
427		return m.RetryCount
428	}
429	return 0
430}
431
432func (m *RetryConfig) GetMaxRetryDuration() *duration.Duration {
433	if m != nil {
434		return m.MaxRetryDuration
435	}
436	return nil
437}
438
439func (m *RetryConfig) GetMinBackoffDuration() *duration.Duration {
440	if m != nil {
441		return m.MinBackoffDuration
442	}
443	return nil
444}
445
446func (m *RetryConfig) GetMaxBackoffDuration() *duration.Duration {
447	if m != nil {
448		return m.MaxBackoffDuration
449	}
450	return nil
451}
452
453func (m *RetryConfig) GetMaxDoublings() int32 {
454	if m != nil {
455		return m.MaxDoublings
456	}
457	return 0
458}
459
460func init() {
461	proto.RegisterEnum("google.cloud.scheduler.v1.Job_State", Job_State_name, Job_State_value)
462	proto.RegisterType((*Job)(nil), "google.cloud.scheduler.v1.Job")
463	proto.RegisterType((*RetryConfig)(nil), "google.cloud.scheduler.v1.RetryConfig")
464}
465
466func init() {
467	proto.RegisterFile("google/cloud/scheduler/v1/job.proto", fileDescriptor_a71942b5342d2a6f)
468}
469
470var fileDescriptor_a71942b5342d2a6f = []byte{
471	// 725 bytes of a gzipped FileDescriptorProto
472	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0x5f, 0x4f, 0xdb, 0x3c,
473	0x14, 0xc6, 0x29, 0xb4, 0xa5, 0x9c, 0xb4, 0xd0, 0x9a, 0x3f, 0x6f, 0xe8, 0xbb, 0x8d, 0x0a, 0x36,
474	0x86, 0x76, 0x91, 0x08, 0x76, 0xb7, 0x5d, 0x4c, 0x2d, 0x29, 0xa3, 0x6c, 0x42, 0x55, 0xda, 0x4a,
475	0x13, 0x37, 0x91, 0x93, 0xb8, 0x21, 0x5b, 0x63, 0x5b, 0x89, 0x83, 0xba, 0x7d, 0x9b, 0x7d, 0x89,
476	0x7d, 0xbe, 0x29, 0x4e, 0x52, 0x0a, 0x8c, 0xf6, 0x2e, 0x3e, 0xe7, 0x79, 0x7e, 0xe7, 0xd8, 0x27,
477	0x36, 0x1c, 0x79, 0x8c, 0x79, 0x13, 0xa2, 0x3b, 0x13, 0x16, 0xbb, 0x7a, 0xe4, 0xdc, 0x12, 0x37,
478	0x9e, 0x90, 0x50, 0xbf, 0x3b, 0xd5, 0xbf, 0x33, 0x5b, 0xe3, 0x21, 0x13, 0x0c, 0xed, 0xa7, 0x22,
479	0x4d, 0x8a, 0xb4, 0x99, 0x48, 0xbb, 0x3b, 0x6d, 0xbe, 0xc8, 0xfc, 0x98, 0xfb, 0x3a, 0xa6, 0x94,
480	0x09, 0x2c, 0x7c, 0x46, 0xa3, 0xd4, 0xd8, 0xdc, 0x9f, 0xcb, 0x86, 0x24, 0x62, 0x71, 0xe8, 0x90,
481	0x2c, 0x75, 0xfc, 0x7c, 0x61, 0x81, 0x43, 0x8f, 0x88, 0x4c, 0xf7, 0x2a, 0xd3, 0xc9, 0x95, 0x1d,
482	0x8f, 0x75, 0x37, 0x0e, 0x65, 0x8d, 0x2c, 0x7f, 0xf0, 0x38, 0x2f, 0xfc, 0x80, 0x44, 0x02, 0x07,
483	0x3c, 0x13, 0xfc, 0x97, 0x09, 0x42, 0xee, 0xe8, 0x91, 0xc0, 0x22, 0xce, 0x9a, 0x3b, 0xfc, 0xbd,
484	0x0e, 0x6b, 0x57, 0xcc, 0x46, 0x08, 0x8a, 0x14, 0x07, 0x44, 0x2d, 0xb4, 0x0a, 0x27, 0x1b, 0xa6,
485	0xfc, 0x46, 0x2d, 0x50, 0x5c, 0x12, 0x39, 0xa1, 0xcf, 0x93, 0x52, 0xea, 0xaa, 0x4c, 0xcd, 0x87,
486	0xd0, 0x35, 0xd4, 0x78, 0x6c, 0x47, 0xb1, 0x6d, 0xa5, 0xed, 0xaa, 0xc5, 0x56, 0xe1, 0x44, 0x39,
487	0x7b, 0xab, 0x3d, 0x7b, 0x56, 0x5a, 0x5f, 0xea, 0x87, 0x52, 0x7e, 0xb9, 0x62, 0x56, 0xf9, 0xdc,
488	0x1a, 0x11, 0xd8, 0xc3, 0x9c, 0x5b, 0x84, 0x7a, 0x3e, 0x25, 0xd6, 0xad, 0x10, 0x3c, 0x07, 0x97,
489	0x24, 0x58, 0x5b, 0x00, 0x6e, 0x73, 0xde, 0x95, 0xbe, 0x4b, 0x21, 0xf8, 0x8c, 0xbf, 0x8d, 0x9f,
490	0x86, 0xd1, 0x25, 0x28, 0xf3, 0xec, 0xb2, 0x64, 0xbf, 0x59, 0xc0, 0x7e, 0x80, 0x84, 0xdb, 0x7b,
491	0x52, 0x13, 0x2a, 0xb9, 0x50, 0xdd, 0x91, 0xe7, 0x33, 0x5b, 0xa3, 0xff, 0x61, 0x23, 0x19, 0x83,
492	0xf5, 0x8b, 0x51, 0xa2, 0xee, 0xa6, 0xc9, 0x24, 0x70, 0xc3, 0x28, 0x41, 0x06, 0xd4, 0xe3, 0x88,
493	0x84, 0x56, 0xcc, 0x5d, 0x2c, 0x88, 0x95, 0xc4, 0xd5, 0x0d, 0xd9, 0x47, 0x33, 0xef, 0x23, 0x1f,
494	0xa6, 0x36, 0xcc, 0x87, 0x69, 0x6e, 0x26, 0x9e, 0x91, 0xb4, 0x24, 0x41, 0xf4, 0x01, 0x4a, 0xc9,
495	0x34, 0x89, 0x0a, 0xad, 0xc2, 0xc9, 0xe6, 0xd9, 0xeb, 0x05, 0x5b, 0xb8, 0x62, 0xb6, 0x36, 0x48,
496	0xb4, 0x66, 0x6a, 0x41, 0xef, 0xa0, 0x9c, 0xfe, 0x09, 0xaa, 0x22, 0xeb, 0xa2, 0xdc, 0x1c, 0x72,
497	0x47, 0x2a, 0xe3, 0xc8, 0xcc, 0x14, 0xe8, 0x13, 0xd4, 0x72, 0x58, 0xda, 0x6a, 0x63, 0x69, 0xab,
498	0xd5, 0xdc, 0x20, 0x1b, 0xbd, 0x80, 0xc6, 0x04, 0x47, 0xc2, 0xc2, 0x42, 0x90, 0x80, 0x8b, 0x14,
499	0x82, 0x96, 0x42, 0xb6, 0x12, 0x53, 0x3b, 0xf5, 0x48, 0x4e, 0x0f, 0xaa, 0x21, 0x11, 0xe1, 0x4f,
500	0xcb, 0x61, 0x74, 0xec, 0x7b, 0xea, 0xb6, 0x44, 0x1c, 0x2f, 0xd8, 0xb7, 0x99, 0xc8, 0xcf, 0xa5,
501	0xda, 0x54, 0xc2, 0xfb, 0x45, 0x32, 0x81, 0xbc, 0x1b, 0x97, 0x60, 0x77, 0xe2, 0x53, 0xa2, 0xee,
502	0x49, 0xdc, 0xfe, 0x93, 0x8e, 0x8c, 0xec, 0xba, 0x99, 0x5b, 0x99, 0xc5, 0xc8, 0x1c, 0x87, 0xdf,
503	0xa0, 0x24, 0x4f, 0x15, 0xed, 0x42, 0x63, 0x30, 0x6c, 0x0f, 0xbb, 0xd6, 0xe8, 0x7a, 0xd0, 0xef,
504	0x9e, 0xf7, 0x2e, 0x7a, 0x5d, 0xa3, 0xbe, 0x82, 0x14, 0x58, 0xef, 0x5e, 0xb7, 0x3b, 0x5f, 0xbb,
505	0x46, 0xbd, 0x80, 0x00, 0xca, 0xfd, 0xf6, 0x68, 0xd0, 0x35, 0xea, 0xab, 0xa8, 0x0a, 0x15, 0xa3,
506	0x37, 0x48, 0x33, 0x6b, 0xa8, 0x01, 0xb5, 0x51, 0xdf, 0x48, 0xec, 0x17, 0xed, 0x5e, 0x12, 0x2a,
507	0x76, 0x2a, 0x50, 0x4e, 0xff, 0xcf, 0xc3, 0x3f, 0xab, 0xa0, 0xcc, 0x6d, 0x03, 0x1d, 0x80, 0x92,
508	0x1f, 0x42, 0x4c, 0x85, 0xbc, 0xb2, 0x25, 0x13, 0xb2, 0xbd, 0xc5, 0x54, 0xa0, 0xcf, 0x80, 0x02,
509	0x3c, 0xb5, 0x52, 0x51, 0xfe, 0x54, 0xc8, 0xfb, 0xbb, 0x70, 0x73, 0xf5, 0x00, 0x4f, 0x65, 0x9d,
510	0x3c, 0x82, 0xbe, 0xc0, 0x4e, 0xe0, 0x53, 0xcb, 0xc6, 0xce, 0x0f, 0x36, 0x1e, 0xdf, 0xa3, 0xd6,
511	0x96, 0xa1, 0x50, 0xe0, 0xd3, 0x4e, 0xea, 0x7a, 0x00, 0xc3, 0xd3, 0xa7, 0xb0, 0xe2, 0x72, 0x18,
512	0x9e, 0x3e, 0x86, 0x1d, 0x41, 0x2d, 0x81, 0xb9, 0x2c, 0xb6, 0x27, 0x3e, 0xf5, 0x22, 0xf9, 0x40,
513	0x94, 0xcc, 0x6a, 0x80, 0xa7, 0x46, 0x1e, 0xeb, 0x30, 0x78, 0xe9, 0xb0, 0xe0, 0xf9, 0x9f, 0xa3,
514	0x53, 0xb9, 0x62, 0x76, 0x3f, 0xa9, 0xd7, 0x2f, 0xdc, 0x74, 0x32, 0x99, 0xc7, 0x26, 0x98, 0x7a,
515	0x1a, 0x0b, 0x3d, 0xdd, 0x23, 0x54, 0x76, 0xa3, 0xa7, 0x29, 0xcc, 0xfd, 0xe8, 0x1f, 0x4f, 0xf5,
516	0xc7, 0xd9, 0xc2, 0x2e, 0x4b, 0xf9, 0xfb, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x58, 0xd1, 0xed,
517	0xc5, 0x51, 0x06, 0x00, 0x00,
518}
519