1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/talent/v4beta1/job_service.proto
3
4package talent // import "google.golang.org/genproto/googleapis/cloud/talent/v4beta1"
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9import duration "github.com/golang/protobuf/ptypes/duration"
10import empty "github.com/golang/protobuf/ptypes/empty"
11import _ "google.golang.org/genproto/googleapis/api/annotations"
12import _ "google.golang.org/genproto/googleapis/longrunning"
13import field_mask "google.golang.org/genproto/protobuf/field_mask"
14
15import (
16	context "golang.org/x/net/context"
17	grpc "google.golang.org/grpc"
18)
19
20// Reference imports to suppress errors if they are not otherwise used.
21var _ = proto.Marshal
22var _ = fmt.Errorf
23var _ = math.Inf
24
25// This is a compile-time assertion to ensure that this generated file
26// is compatible with the proto package it is being compiled against.
27// A compilation error at this line likely means your copy of the
28// proto package needs to be updated.
29const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
30
31// An enum that specifies the job attributes that are returned in the
32// [MatchingJob.Job][] in [SearchJobsResponse][google.cloud.talent.v4beta1.SearchJobsResponse] or [Job][google.cloud.talent.v4beta1.Job] objects in
33// [ListJobsResponse][google.cloud.talent.v4beta1.ListJobsResponse].
34type JobView int32
35
36const (
37	// Default value.
38	JobView_JOB_VIEW_UNSPECIFIED JobView = 0
39	// A ID only view of job, with following attributes:
40	// [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.language_code][google.cloud.talent.v4beta1.Job.language_code].
41	JobView_JOB_VIEW_ID_ONLY JobView = 1
42	// A minimal view of the job, with the following attributes:
43	// [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.job_title][],
44	// [Job.company_name][google.cloud.talent.v4beta1.Job.company_name], [Job.DerivedInfo.locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations], [Job.language_code][google.cloud.talent.v4beta1.Job.language_code].
45	JobView_JOB_VIEW_MINIMAL JobView = 2
46	// A small view of the job, with the following attributes in the search
47	// results: [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.job_title][],
48	// [Job.company_name][google.cloud.talent.v4beta1.Job.company_name], [Job.DerivedInfo.locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations], [Job.visibility][google.cloud.talent.v4beta1.Job.visibility],
49	// [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], [Job.description][google.cloud.talent.v4beta1.Job.description].
50	JobView_JOB_VIEW_SMALL JobView = 3
51	// All available attributes are included in the search results.
52	JobView_JOB_VIEW_FULL JobView = 4
53)
54
55var JobView_name = map[int32]string{
56	0: "JOB_VIEW_UNSPECIFIED",
57	1: "JOB_VIEW_ID_ONLY",
58	2: "JOB_VIEW_MINIMAL",
59	3: "JOB_VIEW_SMALL",
60	4: "JOB_VIEW_FULL",
61}
62var JobView_value = map[string]int32{
63	"JOB_VIEW_UNSPECIFIED": 0,
64	"JOB_VIEW_ID_ONLY":     1,
65	"JOB_VIEW_MINIMAL":     2,
66	"JOB_VIEW_SMALL":       3,
67	"JOB_VIEW_FULL":        4,
68}
69
70func (x JobView) String() string {
71	return proto.EnumName(JobView_name, int32(x))
72}
73func (JobView) EnumDescriptor() ([]byte, []int) {
74	return fileDescriptor_job_service_a6470b4363404135, []int{0}
75}
76
77// A string-represented enumeration of the job search mode. The service
78// operate differently for different modes of service.
79type SearchJobsRequest_SearchMode int32
80
81const (
82	// The mode of the search method isn't specified.
83	SearchJobsRequest_SEARCH_MODE_UNSPECIFIED SearchJobsRequest_SearchMode = 0
84	// The job search matches against all jobs, and featured jobs
85	// (jobs with promotionValue > 0) are not specially handled.
86	SearchJobsRequest_JOB_SEARCH SearchJobsRequest_SearchMode = 1
87	// The job search matches only against featured jobs (jobs with a
88	// promotionValue > 0). This method doesn't return any jobs having a
89	// promotionValue <= 0. The search results order is determined by the
90	// promotionValue (jobs with a higher promotionValue are returned higher up
91	// in the search results), with relevance being used as a tiebreaker.
92	SearchJobsRequest_FEATURED_JOB_SEARCH SearchJobsRequest_SearchMode = 2
93)
94
95var SearchJobsRequest_SearchMode_name = map[int32]string{
96	0: "SEARCH_MODE_UNSPECIFIED",
97	1: "JOB_SEARCH",
98	2: "FEATURED_JOB_SEARCH",
99}
100var SearchJobsRequest_SearchMode_value = map[string]int32{
101	"SEARCH_MODE_UNSPECIFIED": 0,
102	"JOB_SEARCH":              1,
103	"FEATURED_JOB_SEARCH":     2,
104}
105
106func (x SearchJobsRequest_SearchMode) String() string {
107	return proto.EnumName(SearchJobsRequest_SearchMode_name, int32(x))
108}
109func (SearchJobsRequest_SearchMode) EnumDescriptor() ([]byte, []int) {
110	return fileDescriptor_job_service_a6470b4363404135, []int{7, 0}
111}
112
113// Controls whether highly similar jobs are returned next to each other in
114// the search results. Jobs are identified as highly similar based on
115// their titles, job categories, and locations. Highly similar results are
116// clustered so that only one representative job of the cluster is
117// displayed to the job seeker higher up in the results, with the other jobs
118// being displayed lower down in the results.
119type SearchJobsRequest_DiversificationLevel int32
120
121const (
122	// The diversification level isn't specified.
123	SearchJobsRequest_DIVERSIFICATION_LEVEL_UNSPECIFIED SearchJobsRequest_DiversificationLevel = 0
124	// Disables diversification. Jobs that would normally be pushed to the last
125	// page would not have their positions altered. This may result in highly
126	// similar jobs appearing in sequence in the search results.
127	SearchJobsRequest_DISABLED SearchJobsRequest_DiversificationLevel = 1
128	// Default diversifying behavior. The result list is ordered so that
129	// highly similar results are pushed to the end of the last page of search
130	// results.
131	SearchJobsRequest_SIMPLE SearchJobsRequest_DiversificationLevel = 2
132)
133
134var SearchJobsRequest_DiversificationLevel_name = map[int32]string{
135	0: "DIVERSIFICATION_LEVEL_UNSPECIFIED",
136	1: "DISABLED",
137	2: "SIMPLE",
138}
139var SearchJobsRequest_DiversificationLevel_value = map[string]int32{
140	"DIVERSIFICATION_LEVEL_UNSPECIFIED": 0,
141	"DISABLED":                          1,
142	"SIMPLE":                            2,
143}
144
145func (x SearchJobsRequest_DiversificationLevel) String() string {
146	return proto.EnumName(SearchJobsRequest_DiversificationLevel_name, int32(x))
147}
148func (SearchJobsRequest_DiversificationLevel) EnumDescriptor() ([]byte, []int) {
149	return fileDescriptor_job_service_a6470b4363404135, []int{7, 1}
150}
151
152// The importance level for [CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression].
153type SearchJobsRequest_CustomRankingInfo_ImportanceLevel int32
154
155const (
156	// Default value if the importance level isn't specified.
157	SearchJobsRequest_CustomRankingInfo_IMPORTANCE_LEVEL_UNSPECIFIED SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 0
158	// The given ranking expression is of None importance, existing relevance
159	// score (determined by API algorithm) dominates job's final ranking
160	// position.
161	SearchJobsRequest_CustomRankingInfo_NONE SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 1
162	// The given ranking expression is of Low importance in terms of job's
163	// final ranking position compared to existing relevance
164	// score (determined by API algorithm).
165	SearchJobsRequest_CustomRankingInfo_LOW SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 2
166	// The given ranking expression is of Mild importance in terms of job's
167	// final ranking position compared to existing relevance
168	// score (determined by API algorithm).
169	SearchJobsRequest_CustomRankingInfo_MILD SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 3
170	// The given ranking expression is of Medium importance in terms of job's
171	// final ranking position compared to existing relevance
172	// score (determined by API algorithm).
173	SearchJobsRequest_CustomRankingInfo_MEDIUM SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 4
174	// The given ranking expression is of High importance in terms of job's
175	// final ranking position compared to existing relevance
176	// score (determined by API algorithm).
177	SearchJobsRequest_CustomRankingInfo_HIGH SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 5
178	// The given ranking expression is of Extreme importance, and dominates
179	// job's final ranking position with existing relevance
180	// score (determined by API algorithm) ignored.
181	SearchJobsRequest_CustomRankingInfo_EXTREME SearchJobsRequest_CustomRankingInfo_ImportanceLevel = 6
182)
183
184var SearchJobsRequest_CustomRankingInfo_ImportanceLevel_name = map[int32]string{
185	0: "IMPORTANCE_LEVEL_UNSPECIFIED",
186	1: "NONE",
187	2: "LOW",
188	3: "MILD",
189	4: "MEDIUM",
190	5: "HIGH",
191	6: "EXTREME",
192}
193var SearchJobsRequest_CustomRankingInfo_ImportanceLevel_value = map[string]int32{
194	"IMPORTANCE_LEVEL_UNSPECIFIED": 0,
195	"NONE":                         1,
196	"LOW":                          2,
197	"MILD":                         3,
198	"MEDIUM":                       4,
199	"HIGH":                         5,
200	"EXTREME":                      6,
201}
202
203func (x SearchJobsRequest_CustomRankingInfo_ImportanceLevel) String() string {
204	return proto.EnumName(SearchJobsRequest_CustomRankingInfo_ImportanceLevel_name, int32(x))
205}
206func (SearchJobsRequest_CustomRankingInfo_ImportanceLevel) EnumDescriptor() ([]byte, []int) {
207	return fileDescriptor_job_service_a6470b4363404135, []int{7, 0, 0}
208}
209
210// Input only.
211//
212// Create job request.
213type CreateJobRequest struct {
214	// Required.
215	//
216	// The resource name of the project under which the job is created.
217	//
218	// The format is "projects/{project_id}", for example,
219	// "projects/api-test-project".
220	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
221	// Required.
222	//
223	// The Job to be created.
224	Job                  *Job     `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"`
225	XXX_NoUnkeyedLiteral struct{} `json:"-"`
226	XXX_unrecognized     []byte   `json:"-"`
227	XXX_sizecache        int32    `json:"-"`
228}
229
230func (m *CreateJobRequest) Reset()         { *m = CreateJobRequest{} }
231func (m *CreateJobRequest) String() string { return proto.CompactTextString(m) }
232func (*CreateJobRequest) ProtoMessage()    {}
233func (*CreateJobRequest) Descriptor() ([]byte, []int) {
234	return fileDescriptor_job_service_a6470b4363404135, []int{0}
235}
236func (m *CreateJobRequest) XXX_Unmarshal(b []byte) error {
237	return xxx_messageInfo_CreateJobRequest.Unmarshal(m, b)
238}
239func (m *CreateJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
240	return xxx_messageInfo_CreateJobRequest.Marshal(b, m, deterministic)
241}
242func (dst *CreateJobRequest) XXX_Merge(src proto.Message) {
243	xxx_messageInfo_CreateJobRequest.Merge(dst, src)
244}
245func (m *CreateJobRequest) XXX_Size() int {
246	return xxx_messageInfo_CreateJobRequest.Size(m)
247}
248func (m *CreateJobRequest) XXX_DiscardUnknown() {
249	xxx_messageInfo_CreateJobRequest.DiscardUnknown(m)
250}
251
252var xxx_messageInfo_CreateJobRequest proto.InternalMessageInfo
253
254func (m *CreateJobRequest) GetParent() string {
255	if m != nil {
256		return m.Parent
257	}
258	return ""
259}
260
261func (m *CreateJobRequest) GetJob() *Job {
262	if m != nil {
263		return m.Job
264	}
265	return nil
266}
267
268// Input only.
269//
270// Get job request.
271type GetJobRequest struct {
272	// Required.
273	//
274	// The resource name of the job to retrieve.
275	//
276	// The format is "projects/{project_id}/jobs/{job_id}",
277	// for example, "projects/api-test-project/jobs/1234".
278	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
279	XXX_NoUnkeyedLiteral struct{} `json:"-"`
280	XXX_unrecognized     []byte   `json:"-"`
281	XXX_sizecache        int32    `json:"-"`
282}
283
284func (m *GetJobRequest) Reset()         { *m = GetJobRequest{} }
285func (m *GetJobRequest) String() string { return proto.CompactTextString(m) }
286func (*GetJobRequest) ProtoMessage()    {}
287func (*GetJobRequest) Descriptor() ([]byte, []int) {
288	return fileDescriptor_job_service_a6470b4363404135, []int{1}
289}
290func (m *GetJobRequest) XXX_Unmarshal(b []byte) error {
291	return xxx_messageInfo_GetJobRequest.Unmarshal(m, b)
292}
293func (m *GetJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
294	return xxx_messageInfo_GetJobRequest.Marshal(b, m, deterministic)
295}
296func (dst *GetJobRequest) XXX_Merge(src proto.Message) {
297	xxx_messageInfo_GetJobRequest.Merge(dst, src)
298}
299func (m *GetJobRequest) XXX_Size() int {
300	return xxx_messageInfo_GetJobRequest.Size(m)
301}
302func (m *GetJobRequest) XXX_DiscardUnknown() {
303	xxx_messageInfo_GetJobRequest.DiscardUnknown(m)
304}
305
306var xxx_messageInfo_GetJobRequest proto.InternalMessageInfo
307
308func (m *GetJobRequest) GetName() string {
309	if m != nil {
310		return m.Name
311	}
312	return ""
313}
314
315// Input only.
316//
317// Update job request.
318type UpdateJobRequest struct {
319	// Required.
320	//
321	// The Job to be updated.
322	Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
323	// Optional but strongly recommended to be provided for the best service
324	// experience.
325	//
326	// If [update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask] is provided, only the specified fields in
327	// [job][google.cloud.talent.v4beta1.UpdateJobRequest.job] are updated. Otherwise all the fields are updated.
328	//
329	// A field mask to restrict the fields that are updated. Only
330	// top level fields of [Job][google.cloud.talent.v4beta1.Job] are supported.
331	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
332	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
333	XXX_unrecognized     []byte                `json:"-"`
334	XXX_sizecache        int32                 `json:"-"`
335}
336
337func (m *UpdateJobRequest) Reset()         { *m = UpdateJobRequest{} }
338func (m *UpdateJobRequest) String() string { return proto.CompactTextString(m) }
339func (*UpdateJobRequest) ProtoMessage()    {}
340func (*UpdateJobRequest) Descriptor() ([]byte, []int) {
341	return fileDescriptor_job_service_a6470b4363404135, []int{2}
342}
343func (m *UpdateJobRequest) XXX_Unmarshal(b []byte) error {
344	return xxx_messageInfo_UpdateJobRequest.Unmarshal(m, b)
345}
346func (m *UpdateJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
347	return xxx_messageInfo_UpdateJobRequest.Marshal(b, m, deterministic)
348}
349func (dst *UpdateJobRequest) XXX_Merge(src proto.Message) {
350	xxx_messageInfo_UpdateJobRequest.Merge(dst, src)
351}
352func (m *UpdateJobRequest) XXX_Size() int {
353	return xxx_messageInfo_UpdateJobRequest.Size(m)
354}
355func (m *UpdateJobRequest) XXX_DiscardUnknown() {
356	xxx_messageInfo_UpdateJobRequest.DiscardUnknown(m)
357}
358
359var xxx_messageInfo_UpdateJobRequest proto.InternalMessageInfo
360
361func (m *UpdateJobRequest) GetJob() *Job {
362	if m != nil {
363		return m.Job
364	}
365	return nil
366}
367
368func (m *UpdateJobRequest) GetUpdateMask() *field_mask.FieldMask {
369	if m != nil {
370		return m.UpdateMask
371	}
372	return nil
373}
374
375// Input only.
376//
377// Delete job request.
378type DeleteJobRequest struct {
379	// Required.
380	//
381	// The resource name of the job to be deleted.
382	//
383	// The format is "projects/{project_id}/jobs/{job_id}",
384	// for example, "projects/api-test-project/jobs/1234".
385	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
386	XXX_NoUnkeyedLiteral struct{} `json:"-"`
387	XXX_unrecognized     []byte   `json:"-"`
388	XXX_sizecache        int32    `json:"-"`
389}
390
391func (m *DeleteJobRequest) Reset()         { *m = DeleteJobRequest{} }
392func (m *DeleteJobRequest) String() string { return proto.CompactTextString(m) }
393func (*DeleteJobRequest) ProtoMessage()    {}
394func (*DeleteJobRequest) Descriptor() ([]byte, []int) {
395	return fileDescriptor_job_service_a6470b4363404135, []int{3}
396}
397func (m *DeleteJobRequest) XXX_Unmarshal(b []byte) error {
398	return xxx_messageInfo_DeleteJobRequest.Unmarshal(m, b)
399}
400func (m *DeleteJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
401	return xxx_messageInfo_DeleteJobRequest.Marshal(b, m, deterministic)
402}
403func (dst *DeleteJobRequest) XXX_Merge(src proto.Message) {
404	xxx_messageInfo_DeleteJobRequest.Merge(dst, src)
405}
406func (m *DeleteJobRequest) XXX_Size() int {
407	return xxx_messageInfo_DeleteJobRequest.Size(m)
408}
409func (m *DeleteJobRequest) XXX_DiscardUnknown() {
410	xxx_messageInfo_DeleteJobRequest.DiscardUnknown(m)
411}
412
413var xxx_messageInfo_DeleteJobRequest proto.InternalMessageInfo
414
415func (m *DeleteJobRequest) GetName() string {
416	if m != nil {
417		return m.Name
418	}
419	return ""
420}
421
422// Input only.
423//
424// Batch delete jobs request.
425type BatchDeleteJobsRequest struct {
426	// Required.
427	//
428	// The resource name of the project under which the job is created.
429	//
430	// The format is "projects/{project_id}", for example,
431	// "projects/api-test-project".
432	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
433	// Required.
434	//
435	// The filter string specifies the jobs to be deleted.
436	//
437	// Supported operator: =, AND
438	//
439	// The fields eligible for filtering are:
440	//
441	// * `companyName` (Required)
442	// * `requisitionId` (Required)
443	//
444	// Sample Query: companyName = "projects/api-test-project/companies/123" AND
445	// requisitionId = "req-1"
446	Filter               string   `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
447	XXX_NoUnkeyedLiteral struct{} `json:"-"`
448	XXX_unrecognized     []byte   `json:"-"`
449	XXX_sizecache        int32    `json:"-"`
450}
451
452func (m *BatchDeleteJobsRequest) Reset()         { *m = BatchDeleteJobsRequest{} }
453func (m *BatchDeleteJobsRequest) String() string { return proto.CompactTextString(m) }
454func (*BatchDeleteJobsRequest) ProtoMessage()    {}
455func (*BatchDeleteJobsRequest) Descriptor() ([]byte, []int) {
456	return fileDescriptor_job_service_a6470b4363404135, []int{4}
457}
458func (m *BatchDeleteJobsRequest) XXX_Unmarshal(b []byte) error {
459	return xxx_messageInfo_BatchDeleteJobsRequest.Unmarshal(m, b)
460}
461func (m *BatchDeleteJobsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
462	return xxx_messageInfo_BatchDeleteJobsRequest.Marshal(b, m, deterministic)
463}
464func (dst *BatchDeleteJobsRequest) XXX_Merge(src proto.Message) {
465	xxx_messageInfo_BatchDeleteJobsRequest.Merge(dst, src)
466}
467func (m *BatchDeleteJobsRequest) XXX_Size() int {
468	return xxx_messageInfo_BatchDeleteJobsRequest.Size(m)
469}
470func (m *BatchDeleteJobsRequest) XXX_DiscardUnknown() {
471	xxx_messageInfo_BatchDeleteJobsRequest.DiscardUnknown(m)
472}
473
474var xxx_messageInfo_BatchDeleteJobsRequest proto.InternalMessageInfo
475
476func (m *BatchDeleteJobsRequest) GetParent() string {
477	if m != nil {
478		return m.Parent
479	}
480	return ""
481}
482
483func (m *BatchDeleteJobsRequest) GetFilter() string {
484	if m != nil {
485		return m.Filter
486	}
487	return ""
488}
489
490// Input only.
491//
492// List jobs request.
493type ListJobsRequest struct {
494	// Required.
495	//
496	// The resource name of the project under which the job is created.
497	//
498	// The format is "projects/{project_id}", for example,
499	// "projects/api-test-project".
500	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
501	// Required.
502	//
503	// The filter string specifies the jobs to be enumerated.
504	//
505	// Supported operator: =, AND
506	//
507	// The fields eligible for filtering are:
508	//
509	// * `companyName` (Required)
510	// * `requisitionId` (Optional)
511	//
512	// Sample Query:
513	//
514	// * companyName = "projects/api-test-project/companies/123"
515	// * companyName = "projects/api-test-project/companies/123" AND requisitionId
516	// = "req-1"
517	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
518	// Optional.
519	//
520	// The starting point of a query result.
521	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
522	// Optional.
523	//
524	// The maximum number of jobs to be returned per page of results.
525	//
526	// If [job_view][google.cloud.talent.v4beta1.ListJobsRequest.job_view] is set to [JobView.JOB_VIEW_ID_ONLY][google.cloud.talent.v4beta1.JobView.JOB_VIEW_ID_ONLY], the maximum allowed
527	// page size is 1000. Otherwise, the maximum allowed page size is 100.
528	//
529	// Default is 100 if empty or a number < 1 is specified.
530	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
531	// Optional.
532	//
533	// The desired job attributes returned for jobs in the
534	// search response. Defaults to [JobView.JOB_VIEW_FULL][google.cloud.talent.v4beta1.JobView.JOB_VIEW_FULL] if no value is
535	// specified.
536	JobView              JobView  `protobuf:"varint,5,opt,name=job_view,json=jobView,proto3,enum=google.cloud.talent.v4beta1.JobView" json:"job_view,omitempty"`
537	XXX_NoUnkeyedLiteral struct{} `json:"-"`
538	XXX_unrecognized     []byte   `json:"-"`
539	XXX_sizecache        int32    `json:"-"`
540}
541
542func (m *ListJobsRequest) Reset()         { *m = ListJobsRequest{} }
543func (m *ListJobsRequest) String() string { return proto.CompactTextString(m) }
544func (*ListJobsRequest) ProtoMessage()    {}
545func (*ListJobsRequest) Descriptor() ([]byte, []int) {
546	return fileDescriptor_job_service_a6470b4363404135, []int{5}
547}
548func (m *ListJobsRequest) XXX_Unmarshal(b []byte) error {
549	return xxx_messageInfo_ListJobsRequest.Unmarshal(m, b)
550}
551func (m *ListJobsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
552	return xxx_messageInfo_ListJobsRequest.Marshal(b, m, deterministic)
553}
554func (dst *ListJobsRequest) XXX_Merge(src proto.Message) {
555	xxx_messageInfo_ListJobsRequest.Merge(dst, src)
556}
557func (m *ListJobsRequest) XXX_Size() int {
558	return xxx_messageInfo_ListJobsRequest.Size(m)
559}
560func (m *ListJobsRequest) XXX_DiscardUnknown() {
561	xxx_messageInfo_ListJobsRequest.DiscardUnknown(m)
562}
563
564var xxx_messageInfo_ListJobsRequest proto.InternalMessageInfo
565
566func (m *ListJobsRequest) GetParent() string {
567	if m != nil {
568		return m.Parent
569	}
570	return ""
571}
572
573func (m *ListJobsRequest) GetFilter() string {
574	if m != nil {
575		return m.Filter
576	}
577	return ""
578}
579
580func (m *ListJobsRequest) GetPageToken() string {
581	if m != nil {
582		return m.PageToken
583	}
584	return ""
585}
586
587func (m *ListJobsRequest) GetPageSize() int32 {
588	if m != nil {
589		return m.PageSize
590	}
591	return 0
592}
593
594func (m *ListJobsRequest) GetJobView() JobView {
595	if m != nil {
596		return m.JobView
597	}
598	return JobView_JOB_VIEW_UNSPECIFIED
599}
600
601// Output only.
602//
603// List jobs response.
604type ListJobsResponse struct {
605	// The Jobs for a given company.
606	//
607	// The maximum number of items returned is based on the limit field
608	// provided in the request.
609	Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
610	// A token to retrieve the next page of results.
611	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
612	// Additional information for the API invocation, such as the request
613	// tracking id.
614	Metadata             *ResponseMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
615	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
616	XXX_unrecognized     []byte            `json:"-"`
617	XXX_sizecache        int32             `json:"-"`
618}
619
620func (m *ListJobsResponse) Reset()         { *m = ListJobsResponse{} }
621func (m *ListJobsResponse) String() string { return proto.CompactTextString(m) }
622func (*ListJobsResponse) ProtoMessage()    {}
623func (*ListJobsResponse) Descriptor() ([]byte, []int) {
624	return fileDescriptor_job_service_a6470b4363404135, []int{6}
625}
626func (m *ListJobsResponse) XXX_Unmarshal(b []byte) error {
627	return xxx_messageInfo_ListJobsResponse.Unmarshal(m, b)
628}
629func (m *ListJobsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
630	return xxx_messageInfo_ListJobsResponse.Marshal(b, m, deterministic)
631}
632func (dst *ListJobsResponse) XXX_Merge(src proto.Message) {
633	xxx_messageInfo_ListJobsResponse.Merge(dst, src)
634}
635func (m *ListJobsResponse) XXX_Size() int {
636	return xxx_messageInfo_ListJobsResponse.Size(m)
637}
638func (m *ListJobsResponse) XXX_DiscardUnknown() {
639	xxx_messageInfo_ListJobsResponse.DiscardUnknown(m)
640}
641
642var xxx_messageInfo_ListJobsResponse proto.InternalMessageInfo
643
644func (m *ListJobsResponse) GetJobs() []*Job {
645	if m != nil {
646		return m.Jobs
647	}
648	return nil
649}
650
651func (m *ListJobsResponse) GetNextPageToken() string {
652	if m != nil {
653		return m.NextPageToken
654	}
655	return ""
656}
657
658func (m *ListJobsResponse) GetMetadata() *ResponseMetadata {
659	if m != nil {
660		return m.Metadata
661	}
662	return nil
663}
664
665// Input only.
666//
667// The Request body of the `SearchJobs` call.
668type SearchJobsRequest struct {
669	// Required.
670	//
671	// The resource name of the project to search within.
672	//
673	// The format is "projects/{project_id}", for example,
674	// "projects/api-test-project".
675	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
676	// Optional.
677	//
678	// Mode of a search.
679	//
680	// Defaults to [SearchMode.JOB_SEARCH][google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode.JOB_SEARCH].
681	SearchMode SearchJobsRequest_SearchMode `protobuf:"varint,2,opt,name=search_mode,json=searchMode,proto3,enum=google.cloud.talent.v4beta1.SearchJobsRequest_SearchMode" json:"search_mode,omitempty"`
682	// Required.
683	//
684	// The meta information collected about the job searcher, used to improve the
685	// search quality of the service.. The identifiers, (such as `user_id`) are
686	// provided by users, and must be unique and consistent.
687	RequestMetadata *RequestMetadata `protobuf:"bytes,3,opt,name=request_metadata,json=requestMetadata,proto3" json:"request_metadata,omitempty"`
688	// Optional.
689	//
690	// Query used to search against jobs, such as keyword, location filters, etc.
691	JobQuery *JobQuery `protobuf:"bytes,4,opt,name=job_query,json=jobQuery,proto3" json:"job_query,omitempty"`
692	// Optional.
693	//
694	// Controls whether to broaden the search when it produces sparse results.
695	// Broadened queries append results to the end of the matching results
696	// list.
697	//
698	// Defaults to false.
699	EnableBroadening bool `protobuf:"varint,5,opt,name=enable_broadening,json=enableBroadening,proto3" json:"enable_broadening,omitempty"`
700	// Optional.
701	//
702	// Controls if the search job request requires the return of a precise
703	// count of the first 300 results. Setting this to `true` ensures
704	// consistency in the number of results per page. Best practice is to set this
705	// value to true if a client allows users to jump directly to a
706	// non-sequential search results page.
707	//
708	// Enabling this flag may adversely impact performance.
709	//
710	// Defaults to false.
711	RequirePreciseResultSize bool `protobuf:"varint,6,opt,name=require_precise_result_size,json=requirePreciseResultSize,proto3" json:"require_precise_result_size,omitempty"`
712	// Optional.
713	//
714	// An expression specifies a histogram request against matching jobs.
715	//
716	// Expression syntax is an aggregation function call with histogram facets and
717	// other options.
718	//
719	// Available aggregation function calls are:
720	// * `count(string_histogram_facet)`: Count the number of matching entities,
721	// for each distinct attribute value.
722	// * `count(numeric_histogram_facet, list of buckets)`: Count the number of
723	// matching entities within each bucket.
724	//
725	// Data types:
726	//
727	// * Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
728	// * String: string like "any string with backslash escape for quote(\")."
729	// * Number: whole number and floating point number like 10, -1 and -0.01.
730	// * List: list of elements with comma(,) separator surrounded by square
731	// brackets, for example, [1, 2, 3] and ["one", "two", "three"].
732	//
733	// Built-in constants:
734	//
735	// * MIN (minimum number similar to java Double.MIN_VALUE)
736	// * MAX (maximum number similar to java Double.MAX_VALUE)
737	//
738	// Built-in functions:
739	//
740	// * bucket(start, end[, label]): bucket built-in function creates a bucket
741	// with range of [start, end). Note that the end is exclusive, for example,
742	// bucket(1, MAX, "positive number") or bucket(1, 10).
743	//
744	// Job histogram facets:
745	//
746	// * company_id: histogram by [Job.distributor_company_id][].
747	// * company_display_name: histogram by [Job.company_display_name][google.cloud.talent.v4beta1.Job.company_display_name].
748	// * employment_type: histogram by [Job.employment_types][google.cloud.talent.v4beta1.Job.employment_types], for example,
749	// "FULL_TIME", "PART_TIME".
750	// * company_size: histogram by [CompanySize][google.cloud.talent.v4beta1.CompanySize], for example, "SMALL",
751	// "MEDIUM", "BIG".
752	// * publish_time_in_month: histogram by the [Job.publish_time][] in months.
753	// Must specify list of numeric buckets in spec.
754	// * publish_time_in_year: histogram by the [Job.publish_time][] in years.
755	// Must specify list of numeric buckets in spec.
756	// * degree_type: histogram by the [Job.degree_type][], for example,
757	// "Bachelors", "Masters".
758	// * job_level: histogram by the [Job.job_level][google.cloud.talent.v4beta1.Job.job_level], for example, "Entry
759	// Level".
760	// * country: histogram by the country code of jobs, for example, "US", "FR".
761	// * admin1: histogram by the admin1 code of jobs, which is a global
762	// placeholder referring to the state, province, or the particular term a
763	// country uses to define the geographic structure below the country level,
764	// for example, "CA", "IL".
765	// * city: histogram by a combination of the "city name, admin1 code". For
766	// example,  "Mountain View, CA", "New York, NY".
767	// * admin1_country: histogram by a combination of the "admin1 code, country",
768	// for example, "CA, US", "IL, US".
769	// * city_coordinate: histogram by the city center's GPS coordinates (latitude
770	// and longitude), for example, 37.4038522,-122.0987765. Since the coordinates
771	// of a city center can change, customers may need to refresh them
772	// periodically.
773	// * locale: histogram by the [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], for example, "en-US",
774	// "fr-FR".
775	// * language: histogram by the language subtag of the [Job.language_code][google.cloud.talent.v4beta1.Job.language_code],
776	// for example, "en", "fr".
777	// * category: histogram by the [JobCategory][google.cloud.talent.v4beta1.JobCategory], for example,
778	// "COMPUTER_AND_IT", "HEALTHCARE".
779	// * base_compensation_unit: histogram by the [CompensationUnit][] of base
780	// salary, for example, "WEEKLY", "MONTHLY".
781	// * base_compensation: histogram by the base salary. Must specify list of
782	// numeric buckets to group results by.
783	// * annualized_base_compensation: histogram by the base annualized salary.
784	// Must specify list of numeric buckets to group results by.
785	// * annualized_total_compensation: histogram by the total annualized salary.
786	// Must specify list of numeric buckets to group results by.
787	// * string_custom_attribute: histogram by string [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes].
788	// Values can be accessed via square bracket notations like
789	// string_custom_attribute["key1"].
790	// * numeric_custom_attribute: histogram by numeric [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes].
791	// Values can be accessed via square bracket notations like
792	// numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
793	// group results by.
794	//
795	// Example expressions:
796	// * count(admin1)
797	// * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
798	// bucket(100000, MAX)])
799	// * count(string_custom_attribute["some-string-custom-attribute"])
800	// * count(numeric_custom_attribute["some-numeric-custom-attribute"],
801	// [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])
802	HistogramQueries []*HistogramQuery `protobuf:"bytes,7,rep,name=histogram_queries,json=histogramQueries,proto3" json:"histogram_queries,omitempty"`
803	// Optional.
804	//
805	// The desired job attributes returned for jobs in the
806	// search response. Defaults to [JobView.SMALL][] if no value is specified.
807	JobView JobView `protobuf:"varint,8,opt,name=job_view,json=jobView,proto3,enum=google.cloud.talent.v4beta1.JobView" json:"job_view,omitempty"`
808	// Optional.
809	//
810	// An integer that specifies the current offset (that is, starting result
811	// location, amongst the jobs deemed by the API as relevant) in search
812	// results. This field is only considered if [page_token][google.cloud.talent.v4beta1.SearchJobsRequest.page_token] is unset.
813	//
814	// For example, 0 means to  return results starting from the first matching
815	// job, and 10 means to return from the 11th job. This can be used for
816	// pagination, (for example, pageSize = 10 and offset = 10 means to return
817	// from the second page).
818	Offset int32 `protobuf:"varint,9,opt,name=offset,proto3" json:"offset,omitempty"`
819	// Optional.
820	//
821	// A limit on the number of jobs returned in the search results.
822	// Increasing this value above the default value of 10 can increase search
823	// response time. The value can be between 1 and 100.
824	PageSize int32 `protobuf:"varint,10,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
825	// Optional.
826	//
827	// The token specifying the current offset within
828	// search results. See [SearchJobsResponse.next_page_token][google.cloud.talent.v4beta1.SearchJobsResponse.next_page_token] for
829	// an explanation of how to obtain the next set of query results.
830	PageToken string `protobuf:"bytes,11,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
831	// Optional.
832	//
833	// The criteria determining how search results are sorted. Default is
834	// "relevance desc".
835	//
836	// Supported options are:
837	//
838	// * "relevance desc": By relevance descending, as determined by the API
839	// algorithms. Relevance thresholding of query results is only available
840	// with this ordering.
841	// * "posting`_`publish`_`time desc": By [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
842	// descending.
843	// * "posting`_`update`_`time desc": By [Job.posting_update_time][google.cloud.talent.v4beta1.Job.posting_update_time]
844	// descending.
845	// * "title": By [Job.title][google.cloud.talent.v4beta1.Job.title] ascending.
846	// * "title desc": By [Job.title][google.cloud.talent.v4beta1.Job.title] descending.
847	// * "annualized`_`base`_`compensation": By job's
848	// [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] ascending. Jobs
849	// whose annualized base compensation is unspecified are put at the end of
850	// search results.
851	// * "annualized`_`base`_`compensation desc": By job's
852	// [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] descending. Jobs
853	// whose annualized base compensation is unspecified are put at the end of
854	// search results.
855	// * "annualized`_`total`_`compensation": By job's
856	// [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] ascending. Jobs
857	// whose annualized base compensation is unspecified are put at the end of
858	// search results.
859	// * "annualized`_`total`_`compensation desc": By job's
860	// [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] descending. Jobs
861	// whose annualized base compensation is unspecified are put at the end of
862	// search results.
863	// * "custom`_`ranking desc": By the relevance score adjusted to the
864	// [SearchJobsRequest.custom_ranking_info.ranking_expression][] with weight
865	// factor assigned by
866	// [SearchJobsRequest.custom_ranking_info.importance_level][] in descending
867	// order.
868	// * "location`_`distance": By the distance between the location on jobs and
869	//  locations specified in the
870	// [SearchJobsRequest.job_query.location_filters][].
871	// When this order is selected, the
872	// [SearchJobsRequest.job_query.location_filters][] must not be empty. When
873	// a job has multiple locations, the location closest to one of the locations
874	// specified in the location filter will be used to calculate location
875	// distance. Distance is calculated by the distance between two lat/long
876	// coordinates, with a precision of 10e-4 degrees (11.3 meters).
877	// Jobs that don't have locations specified will be ranked below jobs having
878	// locations.
879	// Diversification strategy is still applied unless explicitly disabled in
880	// [SearchJobsRequest.diversification_level][google.cloud.talent.v4beta1.SearchJobsRequest.diversification_level].
881	OrderBy string `protobuf:"bytes,12,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
882	// Optional.
883	//
884	// Controls whether highly similar jobs are returned next to each other in
885	// the search results. Jobs are identified as highly similar based on
886	// their titles, job categories, and locations. Highly similar results are
887	// clustered so that only one representative job of the cluster is
888	// displayed to the job seeker higher up in the results, with the other jobs
889	// being displayed lower down in the results.
890	//
891	// Defaults to [DiversificationLevel.SIMPLE][google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel.SIMPLE] if no value
892	// is specified.
893	DiversificationLevel SearchJobsRequest_DiversificationLevel `protobuf:"varint,13,opt,name=diversification_level,json=diversificationLevel,proto3,enum=google.cloud.talent.v4beta1.SearchJobsRequest_DiversificationLevel" json:"diversification_level,omitempty"`
894	// Optional.
895	//
896	// Controls over how job documents get ranked on top of existing relevance
897	// score (determined by API algorithm).
898	CustomRankingInfo *SearchJobsRequest_CustomRankingInfo `protobuf:"bytes,14,opt,name=custom_ranking_info,json=customRankingInfo,proto3" json:"custom_ranking_info,omitempty"`
899	// Optional.
900	//
901	// Controls whether to disable exact keyword match on [Job.job_title][],
902	// [Job.description][google.cloud.talent.v4beta1.Job.description], [Job.company_display_name][google.cloud.talent.v4beta1.Job.company_display_name], [Job.locations][0],
903	// [Job.qualifications][google.cloud.talent.v4beta1.Job.qualifications]. When disable keyword match is turned off, a
904	// keyword match returns jobs that do not match given category filters when
905	// there are matching keywords. For example, for the query "program manager,"
906	// a result is returned even if the job posting has the title "software
907	// developer," which doesn't fall into "program manager" ontology, but does
908	// have "program manager" appearing in its description.
909	//
910	// For queries like "cloud" that don't contain title or
911	// location specific ontology, jobs with "cloud" keyword matches are returned
912	// regardless of this flag's value.
913	//
914	// Please use [Company.keyword_searchable_custom_fields][] or
915	// [Company.keyword_searchable_custom_attributes][] if company specific
916	// globally matched custom field/attribute string values is needed. Enabling
917	// keyword match improves recall of subsequent search requests.
918	//
919	// Defaults to false.
920	DisableKeywordMatch  bool     `protobuf:"varint,16,opt,name=disable_keyword_match,json=disableKeywordMatch,proto3" json:"disable_keyword_match,omitempty"`
921	XXX_NoUnkeyedLiteral struct{} `json:"-"`
922	XXX_unrecognized     []byte   `json:"-"`
923	XXX_sizecache        int32    `json:"-"`
924}
925
926func (m *SearchJobsRequest) Reset()         { *m = SearchJobsRequest{} }
927func (m *SearchJobsRequest) String() string { return proto.CompactTextString(m) }
928func (*SearchJobsRequest) ProtoMessage()    {}
929func (*SearchJobsRequest) Descriptor() ([]byte, []int) {
930	return fileDescriptor_job_service_a6470b4363404135, []int{7}
931}
932func (m *SearchJobsRequest) XXX_Unmarshal(b []byte) error {
933	return xxx_messageInfo_SearchJobsRequest.Unmarshal(m, b)
934}
935func (m *SearchJobsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
936	return xxx_messageInfo_SearchJobsRequest.Marshal(b, m, deterministic)
937}
938func (dst *SearchJobsRequest) XXX_Merge(src proto.Message) {
939	xxx_messageInfo_SearchJobsRequest.Merge(dst, src)
940}
941func (m *SearchJobsRequest) XXX_Size() int {
942	return xxx_messageInfo_SearchJobsRequest.Size(m)
943}
944func (m *SearchJobsRequest) XXX_DiscardUnknown() {
945	xxx_messageInfo_SearchJobsRequest.DiscardUnknown(m)
946}
947
948var xxx_messageInfo_SearchJobsRequest proto.InternalMessageInfo
949
950func (m *SearchJobsRequest) GetParent() string {
951	if m != nil {
952		return m.Parent
953	}
954	return ""
955}
956
957func (m *SearchJobsRequest) GetSearchMode() SearchJobsRequest_SearchMode {
958	if m != nil {
959		return m.SearchMode
960	}
961	return SearchJobsRequest_SEARCH_MODE_UNSPECIFIED
962}
963
964func (m *SearchJobsRequest) GetRequestMetadata() *RequestMetadata {
965	if m != nil {
966		return m.RequestMetadata
967	}
968	return nil
969}
970
971func (m *SearchJobsRequest) GetJobQuery() *JobQuery {
972	if m != nil {
973		return m.JobQuery
974	}
975	return nil
976}
977
978func (m *SearchJobsRequest) GetEnableBroadening() bool {
979	if m != nil {
980		return m.EnableBroadening
981	}
982	return false
983}
984
985func (m *SearchJobsRequest) GetRequirePreciseResultSize() bool {
986	if m != nil {
987		return m.RequirePreciseResultSize
988	}
989	return false
990}
991
992func (m *SearchJobsRequest) GetHistogramQueries() []*HistogramQuery {
993	if m != nil {
994		return m.HistogramQueries
995	}
996	return nil
997}
998
999func (m *SearchJobsRequest) GetJobView() JobView {
1000	if m != nil {
1001		return m.JobView
1002	}
1003	return JobView_JOB_VIEW_UNSPECIFIED
1004}
1005
1006func (m *SearchJobsRequest) GetOffset() int32 {
1007	if m != nil {
1008		return m.Offset
1009	}
1010	return 0
1011}
1012
1013func (m *SearchJobsRequest) GetPageSize() int32 {
1014	if m != nil {
1015		return m.PageSize
1016	}
1017	return 0
1018}
1019
1020func (m *SearchJobsRequest) GetPageToken() string {
1021	if m != nil {
1022		return m.PageToken
1023	}
1024	return ""
1025}
1026
1027func (m *SearchJobsRequest) GetOrderBy() string {
1028	if m != nil {
1029		return m.OrderBy
1030	}
1031	return ""
1032}
1033
1034func (m *SearchJobsRequest) GetDiversificationLevel() SearchJobsRequest_DiversificationLevel {
1035	if m != nil {
1036		return m.DiversificationLevel
1037	}
1038	return SearchJobsRequest_DIVERSIFICATION_LEVEL_UNSPECIFIED
1039}
1040
1041func (m *SearchJobsRequest) GetCustomRankingInfo() *SearchJobsRequest_CustomRankingInfo {
1042	if m != nil {
1043		return m.CustomRankingInfo
1044	}
1045	return nil
1046}
1047
1048func (m *SearchJobsRequest) GetDisableKeywordMatch() bool {
1049	if m != nil {
1050		return m.DisableKeywordMatch
1051	}
1052	return false
1053}
1054
1055// Input only.
1056//
1057// Custom ranking information for [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
1058type SearchJobsRequest_CustomRankingInfo struct {
1059	// Required.
1060	//
1061	// Controls over how important the score of
1062	// [CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression] gets applied to job's final
1063	// ranking position.
1064	//
1065	// An error is thrown if not specified.
1066	ImportanceLevel SearchJobsRequest_CustomRankingInfo_ImportanceLevel `protobuf:"varint,1,opt,name=importance_level,json=importanceLevel,proto3,enum=google.cloud.talent.v4beta1.SearchJobsRequest_CustomRankingInfo_ImportanceLevel" json:"importance_level,omitempty"`
1067	// Required.
1068	//
1069	// Controls over how job documents get ranked on top of existing relevance
1070	// score (determined by API algorithm). The product of ranking expression
1071	// and relevance score is used to determine job's final ranking position.
1072	//
1073	// The syntax for this expression is a subset of Google SQL syntax.
1074	//
1075	// Supported operators are: +, -, *, /, where the left and right side of
1076	// the operator is either a numeric [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes] key,
1077	// integer/double value or an expression that can be evaluated to a number.
1078	//
1079	// Parenthesis are supported to adjust calculation precedence. The
1080	// expression must be < 100 characters in length.
1081	//
1082	// Sample ranking expression
1083	// (year + 25) * 0.25 - (freshness / 0.5)
1084	RankingExpression    string   `protobuf:"bytes,2,opt,name=ranking_expression,json=rankingExpression,proto3" json:"ranking_expression,omitempty"`
1085	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1086	XXX_unrecognized     []byte   `json:"-"`
1087	XXX_sizecache        int32    `json:"-"`
1088}
1089
1090func (m *SearchJobsRequest_CustomRankingInfo) Reset()         { *m = SearchJobsRequest_CustomRankingInfo{} }
1091func (m *SearchJobsRequest_CustomRankingInfo) String() string { return proto.CompactTextString(m) }
1092func (*SearchJobsRequest_CustomRankingInfo) ProtoMessage()    {}
1093func (*SearchJobsRequest_CustomRankingInfo) Descriptor() ([]byte, []int) {
1094	return fileDescriptor_job_service_a6470b4363404135, []int{7, 0}
1095}
1096func (m *SearchJobsRequest_CustomRankingInfo) XXX_Unmarshal(b []byte) error {
1097	return xxx_messageInfo_SearchJobsRequest_CustomRankingInfo.Unmarshal(m, b)
1098}
1099func (m *SearchJobsRequest_CustomRankingInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1100	return xxx_messageInfo_SearchJobsRequest_CustomRankingInfo.Marshal(b, m, deterministic)
1101}
1102func (dst *SearchJobsRequest_CustomRankingInfo) XXX_Merge(src proto.Message) {
1103	xxx_messageInfo_SearchJobsRequest_CustomRankingInfo.Merge(dst, src)
1104}
1105func (m *SearchJobsRequest_CustomRankingInfo) XXX_Size() int {
1106	return xxx_messageInfo_SearchJobsRequest_CustomRankingInfo.Size(m)
1107}
1108func (m *SearchJobsRequest_CustomRankingInfo) XXX_DiscardUnknown() {
1109	xxx_messageInfo_SearchJobsRequest_CustomRankingInfo.DiscardUnknown(m)
1110}
1111
1112var xxx_messageInfo_SearchJobsRequest_CustomRankingInfo proto.InternalMessageInfo
1113
1114func (m *SearchJobsRequest_CustomRankingInfo) GetImportanceLevel() SearchJobsRequest_CustomRankingInfo_ImportanceLevel {
1115	if m != nil {
1116		return m.ImportanceLevel
1117	}
1118	return SearchJobsRequest_CustomRankingInfo_IMPORTANCE_LEVEL_UNSPECIFIED
1119}
1120
1121func (m *SearchJobsRequest_CustomRankingInfo) GetRankingExpression() string {
1122	if m != nil {
1123		return m.RankingExpression
1124	}
1125	return ""
1126}
1127
1128// Output only.
1129//
1130// Response for SearchJob method.
1131type SearchJobsResponse struct {
1132	// The Job entities that match the specified [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
1133	MatchingJobs []*SearchJobsResponse_MatchingJob `protobuf:"bytes,1,rep,name=matching_jobs,json=matchingJobs,proto3" json:"matching_jobs,omitempty"`
1134	// The histogram results that match with specified
1135	// [SearchJobsRequest.histogram_queries][google.cloud.talent.v4beta1.SearchJobsRequest.histogram_queries].
1136	HistogramQueryResults []*HistogramQueryResult `protobuf:"bytes,2,rep,name=histogram_query_results,json=histogramQueryResults,proto3" json:"histogram_query_results,omitempty"`
1137	// The token that specifies the starting position of the next page of results.
1138	// This field is empty if there are no more results.
1139	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1140	// The location filters that the service applied to the specified query. If
1141	// any filters are lat-lng based, the [JobLocation.location_type][] is
1142	// [JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED][].
1143	LocationFilters []*Location `protobuf:"bytes,4,rep,name=location_filters,json=locationFilters,proto3" json:"location_filters,omitempty"`
1144	// An estimation of the number of jobs that match the specified query.
1145	//
1146	// This number isn't guaranteed to be accurate. For accurate results,
1147	// see [enable_precise_result_size][].
1148	EstimatedTotalSize int32 `protobuf:"varint,5,opt,name=estimated_total_size,json=estimatedTotalSize,proto3" json:"estimated_total_size,omitempty"`
1149	// The precise result count, which is available only if the client set
1150	// [enable_precise_result_size][] to `true`, or if the response
1151	// is the last page of results. Otherwise, the value is `-1`.
1152	TotalSize int32 `protobuf:"varint,6,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
1153	// Additional information for the API invocation, such as the request
1154	// tracking id.
1155	Metadata *ResponseMetadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"`
1156	// If query broadening is enabled, we may append additional results from the
1157	// broadened query. This number indicates how many of the jobs returned in the
1158	// jobs field are from the broadened query. These results are always at the
1159	// end of the jobs list. In particular, a value of 0, or if the field isn't
1160	// set, all the jobs in the jobs list are from the original
1161	// (without broadening) query. If this field is non-zero, subsequent requests
1162	// with offset after this result set should contain all broadened results.
1163	BroadenedQueryJobsCount int32 `protobuf:"varint,8,opt,name=broadened_query_jobs_count,json=broadenedQueryJobsCount,proto3" json:"broadened_query_jobs_count,omitempty"`
1164	// The spell checking result, and correction.
1165	SpellCorrection      *SpellingCorrection `protobuf:"bytes,9,opt,name=spell_correction,json=spellCorrection,proto3" json:"spell_correction,omitempty"`
1166	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
1167	XXX_unrecognized     []byte              `json:"-"`
1168	XXX_sizecache        int32               `json:"-"`
1169}
1170
1171func (m *SearchJobsResponse) Reset()         { *m = SearchJobsResponse{} }
1172func (m *SearchJobsResponse) String() string { return proto.CompactTextString(m) }
1173func (*SearchJobsResponse) ProtoMessage()    {}
1174func (*SearchJobsResponse) Descriptor() ([]byte, []int) {
1175	return fileDescriptor_job_service_a6470b4363404135, []int{8}
1176}
1177func (m *SearchJobsResponse) XXX_Unmarshal(b []byte) error {
1178	return xxx_messageInfo_SearchJobsResponse.Unmarshal(m, b)
1179}
1180func (m *SearchJobsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1181	return xxx_messageInfo_SearchJobsResponse.Marshal(b, m, deterministic)
1182}
1183func (dst *SearchJobsResponse) XXX_Merge(src proto.Message) {
1184	xxx_messageInfo_SearchJobsResponse.Merge(dst, src)
1185}
1186func (m *SearchJobsResponse) XXX_Size() int {
1187	return xxx_messageInfo_SearchJobsResponse.Size(m)
1188}
1189func (m *SearchJobsResponse) XXX_DiscardUnknown() {
1190	xxx_messageInfo_SearchJobsResponse.DiscardUnknown(m)
1191}
1192
1193var xxx_messageInfo_SearchJobsResponse proto.InternalMessageInfo
1194
1195func (m *SearchJobsResponse) GetMatchingJobs() []*SearchJobsResponse_MatchingJob {
1196	if m != nil {
1197		return m.MatchingJobs
1198	}
1199	return nil
1200}
1201
1202func (m *SearchJobsResponse) GetHistogramQueryResults() []*HistogramQueryResult {
1203	if m != nil {
1204		return m.HistogramQueryResults
1205	}
1206	return nil
1207}
1208
1209func (m *SearchJobsResponse) GetNextPageToken() string {
1210	if m != nil {
1211		return m.NextPageToken
1212	}
1213	return ""
1214}
1215
1216func (m *SearchJobsResponse) GetLocationFilters() []*Location {
1217	if m != nil {
1218		return m.LocationFilters
1219	}
1220	return nil
1221}
1222
1223func (m *SearchJobsResponse) GetEstimatedTotalSize() int32 {
1224	if m != nil {
1225		return m.EstimatedTotalSize
1226	}
1227	return 0
1228}
1229
1230func (m *SearchJobsResponse) GetTotalSize() int32 {
1231	if m != nil {
1232		return m.TotalSize
1233	}
1234	return 0
1235}
1236
1237func (m *SearchJobsResponse) GetMetadata() *ResponseMetadata {
1238	if m != nil {
1239		return m.Metadata
1240	}
1241	return nil
1242}
1243
1244func (m *SearchJobsResponse) GetBroadenedQueryJobsCount() int32 {
1245	if m != nil {
1246		return m.BroadenedQueryJobsCount
1247	}
1248	return 0
1249}
1250
1251func (m *SearchJobsResponse) GetSpellCorrection() *SpellingCorrection {
1252	if m != nil {
1253		return m.SpellCorrection
1254	}
1255	return nil
1256}
1257
1258// Output only.
1259//
1260// Job entry with metadata inside [SearchJobsResponse][google.cloud.talent.v4beta1.SearchJobsResponse].
1261type SearchJobsResponse_MatchingJob struct {
1262	// Job resource that matches the specified [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
1263	Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
1264	// A summary of the job with core information that's displayed on the search
1265	// results listing page.
1266	JobSummary string `protobuf:"bytes,2,opt,name=job_summary,json=jobSummary,proto3" json:"job_summary,omitempty"`
1267	// Contains snippets of text from the [Job.job_title][] field most
1268	// closely matching a search query's keywords, if available. The matching
1269	// query keywords are enclosed in HTML bold tags.
1270	JobTitleSnippet string `protobuf:"bytes,3,opt,name=job_title_snippet,json=jobTitleSnippet,proto3" json:"job_title_snippet,omitempty"`
1271	// Contains snippets of text from the [Job.description][google.cloud.talent.v4beta1.Job.description] and similar
1272	// fields that most closely match a search query's keywords, if available.
1273	// All HTML tags in the original fields are stripped when returned in this
1274	// field, and matching query keywords are enclosed in HTML bold tags.
1275	SearchTextSnippet string `protobuf:"bytes,4,opt,name=search_text_snippet,json=searchTextSnippet,proto3" json:"search_text_snippet,omitempty"`
1276	// Commute information which is generated based on specified
1277	//  [CommuteFilter][google.cloud.talent.v4beta1.CommuteFilter].
1278	CommuteInfo          *SearchJobsResponse_CommuteInfo `protobuf:"bytes,5,opt,name=commute_info,json=commuteInfo,proto3" json:"commute_info,omitempty"`
1279	XXX_NoUnkeyedLiteral struct{}                        `json:"-"`
1280	XXX_unrecognized     []byte                          `json:"-"`
1281	XXX_sizecache        int32                           `json:"-"`
1282}
1283
1284func (m *SearchJobsResponse_MatchingJob) Reset()         { *m = SearchJobsResponse_MatchingJob{} }
1285func (m *SearchJobsResponse_MatchingJob) String() string { return proto.CompactTextString(m) }
1286func (*SearchJobsResponse_MatchingJob) ProtoMessage()    {}
1287func (*SearchJobsResponse_MatchingJob) Descriptor() ([]byte, []int) {
1288	return fileDescriptor_job_service_a6470b4363404135, []int{8, 0}
1289}
1290func (m *SearchJobsResponse_MatchingJob) XXX_Unmarshal(b []byte) error {
1291	return xxx_messageInfo_SearchJobsResponse_MatchingJob.Unmarshal(m, b)
1292}
1293func (m *SearchJobsResponse_MatchingJob) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1294	return xxx_messageInfo_SearchJobsResponse_MatchingJob.Marshal(b, m, deterministic)
1295}
1296func (dst *SearchJobsResponse_MatchingJob) XXX_Merge(src proto.Message) {
1297	xxx_messageInfo_SearchJobsResponse_MatchingJob.Merge(dst, src)
1298}
1299func (m *SearchJobsResponse_MatchingJob) XXX_Size() int {
1300	return xxx_messageInfo_SearchJobsResponse_MatchingJob.Size(m)
1301}
1302func (m *SearchJobsResponse_MatchingJob) XXX_DiscardUnknown() {
1303	xxx_messageInfo_SearchJobsResponse_MatchingJob.DiscardUnknown(m)
1304}
1305
1306var xxx_messageInfo_SearchJobsResponse_MatchingJob proto.InternalMessageInfo
1307
1308func (m *SearchJobsResponse_MatchingJob) GetJob() *Job {
1309	if m != nil {
1310		return m.Job
1311	}
1312	return nil
1313}
1314
1315func (m *SearchJobsResponse_MatchingJob) GetJobSummary() string {
1316	if m != nil {
1317		return m.JobSummary
1318	}
1319	return ""
1320}
1321
1322func (m *SearchJobsResponse_MatchingJob) GetJobTitleSnippet() string {
1323	if m != nil {
1324		return m.JobTitleSnippet
1325	}
1326	return ""
1327}
1328
1329func (m *SearchJobsResponse_MatchingJob) GetSearchTextSnippet() string {
1330	if m != nil {
1331		return m.SearchTextSnippet
1332	}
1333	return ""
1334}
1335
1336func (m *SearchJobsResponse_MatchingJob) GetCommuteInfo() *SearchJobsResponse_CommuteInfo {
1337	if m != nil {
1338		return m.CommuteInfo
1339	}
1340	return nil
1341}
1342
1343// Output only.
1344//
1345// Commute details related to this job.
1346type SearchJobsResponse_CommuteInfo struct {
1347	// Location used as the destination in the commute calculation.
1348	JobLocation *Location `protobuf:"bytes,1,opt,name=job_location,json=jobLocation,proto3" json:"job_location,omitempty"`
1349	// The number of seconds required to travel to the job location from the
1350	// query location. A duration of 0 seconds indicates that the job isn't
1351	// reachable within the requested duration, but was returned as part of an
1352	// expanded query.
1353	TravelDuration       *duration.Duration `protobuf:"bytes,2,opt,name=travel_duration,json=travelDuration,proto3" json:"travel_duration,omitempty"`
1354	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
1355	XXX_unrecognized     []byte             `json:"-"`
1356	XXX_sizecache        int32              `json:"-"`
1357}
1358
1359func (m *SearchJobsResponse_CommuteInfo) Reset()         { *m = SearchJobsResponse_CommuteInfo{} }
1360func (m *SearchJobsResponse_CommuteInfo) String() string { return proto.CompactTextString(m) }
1361func (*SearchJobsResponse_CommuteInfo) ProtoMessage()    {}
1362func (*SearchJobsResponse_CommuteInfo) Descriptor() ([]byte, []int) {
1363	return fileDescriptor_job_service_a6470b4363404135, []int{8, 1}
1364}
1365func (m *SearchJobsResponse_CommuteInfo) XXX_Unmarshal(b []byte) error {
1366	return xxx_messageInfo_SearchJobsResponse_CommuteInfo.Unmarshal(m, b)
1367}
1368func (m *SearchJobsResponse_CommuteInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1369	return xxx_messageInfo_SearchJobsResponse_CommuteInfo.Marshal(b, m, deterministic)
1370}
1371func (dst *SearchJobsResponse_CommuteInfo) XXX_Merge(src proto.Message) {
1372	xxx_messageInfo_SearchJobsResponse_CommuteInfo.Merge(dst, src)
1373}
1374func (m *SearchJobsResponse_CommuteInfo) XXX_Size() int {
1375	return xxx_messageInfo_SearchJobsResponse_CommuteInfo.Size(m)
1376}
1377func (m *SearchJobsResponse_CommuteInfo) XXX_DiscardUnknown() {
1378	xxx_messageInfo_SearchJobsResponse_CommuteInfo.DiscardUnknown(m)
1379}
1380
1381var xxx_messageInfo_SearchJobsResponse_CommuteInfo proto.InternalMessageInfo
1382
1383func (m *SearchJobsResponse_CommuteInfo) GetJobLocation() *Location {
1384	if m != nil {
1385		return m.JobLocation
1386	}
1387	return nil
1388}
1389
1390func (m *SearchJobsResponse_CommuteInfo) GetTravelDuration() *duration.Duration {
1391	if m != nil {
1392		return m.TravelDuration
1393	}
1394	return nil
1395}
1396
1397func init() {
1398	proto.RegisterType((*CreateJobRequest)(nil), "google.cloud.talent.v4beta1.CreateJobRequest")
1399	proto.RegisterType((*GetJobRequest)(nil), "google.cloud.talent.v4beta1.GetJobRequest")
1400	proto.RegisterType((*UpdateJobRequest)(nil), "google.cloud.talent.v4beta1.UpdateJobRequest")
1401	proto.RegisterType((*DeleteJobRequest)(nil), "google.cloud.talent.v4beta1.DeleteJobRequest")
1402	proto.RegisterType((*BatchDeleteJobsRequest)(nil), "google.cloud.talent.v4beta1.BatchDeleteJobsRequest")
1403	proto.RegisterType((*ListJobsRequest)(nil), "google.cloud.talent.v4beta1.ListJobsRequest")
1404	proto.RegisterType((*ListJobsResponse)(nil), "google.cloud.talent.v4beta1.ListJobsResponse")
1405	proto.RegisterType((*SearchJobsRequest)(nil), "google.cloud.talent.v4beta1.SearchJobsRequest")
1406	proto.RegisterType((*SearchJobsRequest_CustomRankingInfo)(nil), "google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo")
1407	proto.RegisterType((*SearchJobsResponse)(nil), "google.cloud.talent.v4beta1.SearchJobsResponse")
1408	proto.RegisterType((*SearchJobsResponse_MatchingJob)(nil), "google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob")
1409	proto.RegisterType((*SearchJobsResponse_CommuteInfo)(nil), "google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo")
1410	proto.RegisterEnum("google.cloud.talent.v4beta1.JobView", JobView_name, JobView_value)
1411	proto.RegisterEnum("google.cloud.talent.v4beta1.SearchJobsRequest_SearchMode", SearchJobsRequest_SearchMode_name, SearchJobsRequest_SearchMode_value)
1412	proto.RegisterEnum("google.cloud.talent.v4beta1.SearchJobsRequest_DiversificationLevel", SearchJobsRequest_DiversificationLevel_name, SearchJobsRequest_DiversificationLevel_value)
1413	proto.RegisterEnum("google.cloud.talent.v4beta1.SearchJobsRequest_CustomRankingInfo_ImportanceLevel", SearchJobsRequest_CustomRankingInfo_ImportanceLevel_name, SearchJobsRequest_CustomRankingInfo_ImportanceLevel_value)
1414}
1415
1416// Reference imports to suppress errors if they are not otherwise used.
1417var _ context.Context
1418var _ grpc.ClientConn
1419
1420// This is a compile-time assertion to ensure that this generated file
1421// is compatible with the grpc package it is being compiled against.
1422const _ = grpc.SupportPackageIsVersion4
1423
1424// JobServiceClient is the client API for JobService service.
1425//
1426// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
1427type JobServiceClient interface {
1428	// Creates a new job.
1429	//
1430	// Typically, the job becomes searchable within 10 seconds, but it may take
1431	// up to 5 minutes.
1432	CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error)
1433	// Retrieves the specified job, whose status is OPEN or recently EXPIRED
1434	// within the last 90 days.
1435	GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error)
1436	// Updates specified job.
1437	//
1438	// Typically, updated contents become visible in search results within 10
1439	// seconds, but it may take up to 5 minutes.
1440	UpdateJob(ctx context.Context, in *UpdateJobRequest, opts ...grpc.CallOption) (*Job, error)
1441	// Deletes the specified job.
1442	//
1443	// Typically, the job becomes unsearchable within 10 seconds, but it may take
1444	// up to 5 minutes.
1445	DeleteJob(ctx context.Context, in *DeleteJobRequest, opts ...grpc.CallOption) (*empty.Empty, error)
1446	// Lists jobs by filter.
1447	ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error)
1448	// Deletes a list of [Job][google.cloud.talent.v4beta1.Job]s by filter.
1449	BatchDeleteJobs(ctx context.Context, in *BatchDeleteJobsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
1450	// Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
1451	//
1452	// This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs
1453	// present in the database, and only returns jobs that the caller has
1454	// permission to search against.
1455	SearchJobs(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error)
1456	// Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
1457	//
1458	// This API call is intended for the use case of targeting passive job
1459	// seekers (for example, job seekers who have signed up to receive email
1460	// alerts about potential job opportunities), and has different algorithmic
1461	// adjustments that are targeted to passive job seekers.
1462	//
1463	// This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs
1464	// present in the database, and only returns jobs the caller has
1465	// permission to search against.
1466	SearchJobsForAlert(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error)
1467}
1468
1469type jobServiceClient struct {
1470	cc *grpc.ClientConn
1471}
1472
1473func NewJobServiceClient(cc *grpc.ClientConn) JobServiceClient {
1474	return &jobServiceClient{cc}
1475}
1476
1477func (c *jobServiceClient) CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error) {
1478	out := new(Job)
1479	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/CreateJob", in, out, opts...)
1480	if err != nil {
1481		return nil, err
1482	}
1483	return out, nil
1484}
1485
1486func (c *jobServiceClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) {
1487	out := new(Job)
1488	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/GetJob", in, out, opts...)
1489	if err != nil {
1490		return nil, err
1491	}
1492	return out, nil
1493}
1494
1495func (c *jobServiceClient) UpdateJob(ctx context.Context, in *UpdateJobRequest, opts ...grpc.CallOption) (*Job, error) {
1496	out := new(Job)
1497	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/UpdateJob", in, out, opts...)
1498	if err != nil {
1499		return nil, err
1500	}
1501	return out, nil
1502}
1503
1504func (c *jobServiceClient) DeleteJob(ctx context.Context, in *DeleteJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
1505	out := new(empty.Empty)
1506	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/DeleteJob", in, out, opts...)
1507	if err != nil {
1508		return nil, err
1509	}
1510	return out, nil
1511}
1512
1513func (c *jobServiceClient) ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) {
1514	out := new(ListJobsResponse)
1515	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/ListJobs", in, out, opts...)
1516	if err != nil {
1517		return nil, err
1518	}
1519	return out, nil
1520}
1521
1522func (c *jobServiceClient) BatchDeleteJobs(ctx context.Context, in *BatchDeleteJobsRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
1523	out := new(empty.Empty)
1524	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/BatchDeleteJobs", in, out, opts...)
1525	if err != nil {
1526		return nil, err
1527	}
1528	return out, nil
1529}
1530
1531func (c *jobServiceClient) SearchJobs(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error) {
1532	out := new(SearchJobsResponse)
1533	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/SearchJobs", in, out, opts...)
1534	if err != nil {
1535		return nil, err
1536	}
1537	return out, nil
1538}
1539
1540func (c *jobServiceClient) SearchJobsForAlert(ctx context.Context, in *SearchJobsRequest, opts ...grpc.CallOption) (*SearchJobsResponse, error) {
1541	out := new(SearchJobsResponse)
1542	err := c.cc.Invoke(ctx, "/google.cloud.talent.v4beta1.JobService/SearchJobsForAlert", in, out, opts...)
1543	if err != nil {
1544		return nil, err
1545	}
1546	return out, nil
1547}
1548
1549// JobServiceServer is the server API for JobService service.
1550type JobServiceServer interface {
1551	// Creates a new job.
1552	//
1553	// Typically, the job becomes searchable within 10 seconds, but it may take
1554	// up to 5 minutes.
1555	CreateJob(context.Context, *CreateJobRequest) (*Job, error)
1556	// Retrieves the specified job, whose status is OPEN or recently EXPIRED
1557	// within the last 90 days.
1558	GetJob(context.Context, *GetJobRequest) (*Job, error)
1559	// Updates specified job.
1560	//
1561	// Typically, updated contents become visible in search results within 10
1562	// seconds, but it may take up to 5 minutes.
1563	UpdateJob(context.Context, *UpdateJobRequest) (*Job, error)
1564	// Deletes the specified job.
1565	//
1566	// Typically, the job becomes unsearchable within 10 seconds, but it may take
1567	// up to 5 minutes.
1568	DeleteJob(context.Context, *DeleteJobRequest) (*empty.Empty, error)
1569	// Lists jobs by filter.
1570	ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
1571	// Deletes a list of [Job][google.cloud.talent.v4beta1.Job]s by filter.
1572	BatchDeleteJobs(context.Context, *BatchDeleteJobsRequest) (*empty.Empty, error)
1573	// Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
1574	//
1575	// This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs
1576	// present in the database, and only returns jobs that the caller has
1577	// permission to search against.
1578	SearchJobs(context.Context, *SearchJobsRequest) (*SearchJobsResponse, error)
1579	// Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
1580	//
1581	// This API call is intended for the use case of targeting passive job
1582	// seekers (for example, job seekers who have signed up to receive email
1583	// alerts about potential job opportunities), and has different algorithmic
1584	// adjustments that are targeted to passive job seekers.
1585	//
1586	// This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs
1587	// present in the database, and only returns jobs the caller has
1588	// permission to search against.
1589	SearchJobsForAlert(context.Context, *SearchJobsRequest) (*SearchJobsResponse, error)
1590}
1591
1592func RegisterJobServiceServer(s *grpc.Server, srv JobServiceServer) {
1593	s.RegisterService(&_JobService_serviceDesc, srv)
1594}
1595
1596func _JobService_CreateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1597	in := new(CreateJobRequest)
1598	if err := dec(in); err != nil {
1599		return nil, err
1600	}
1601	if interceptor == nil {
1602		return srv.(JobServiceServer).CreateJob(ctx, in)
1603	}
1604	info := &grpc.UnaryServerInfo{
1605		Server:     srv,
1606		FullMethod: "/google.cloud.talent.v4beta1.JobService/CreateJob",
1607	}
1608	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1609		return srv.(JobServiceServer).CreateJob(ctx, req.(*CreateJobRequest))
1610	}
1611	return interceptor(ctx, in, info, handler)
1612}
1613
1614func _JobService_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1615	in := new(GetJobRequest)
1616	if err := dec(in); err != nil {
1617		return nil, err
1618	}
1619	if interceptor == nil {
1620		return srv.(JobServiceServer).GetJob(ctx, in)
1621	}
1622	info := &grpc.UnaryServerInfo{
1623		Server:     srv,
1624		FullMethod: "/google.cloud.talent.v4beta1.JobService/GetJob",
1625	}
1626	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1627		return srv.(JobServiceServer).GetJob(ctx, req.(*GetJobRequest))
1628	}
1629	return interceptor(ctx, in, info, handler)
1630}
1631
1632func _JobService_UpdateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1633	in := new(UpdateJobRequest)
1634	if err := dec(in); err != nil {
1635		return nil, err
1636	}
1637	if interceptor == nil {
1638		return srv.(JobServiceServer).UpdateJob(ctx, in)
1639	}
1640	info := &grpc.UnaryServerInfo{
1641		Server:     srv,
1642		FullMethod: "/google.cloud.talent.v4beta1.JobService/UpdateJob",
1643	}
1644	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1645		return srv.(JobServiceServer).UpdateJob(ctx, req.(*UpdateJobRequest))
1646	}
1647	return interceptor(ctx, in, info, handler)
1648}
1649
1650func _JobService_DeleteJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1651	in := new(DeleteJobRequest)
1652	if err := dec(in); err != nil {
1653		return nil, err
1654	}
1655	if interceptor == nil {
1656		return srv.(JobServiceServer).DeleteJob(ctx, in)
1657	}
1658	info := &grpc.UnaryServerInfo{
1659		Server:     srv,
1660		FullMethod: "/google.cloud.talent.v4beta1.JobService/DeleteJob",
1661	}
1662	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1663		return srv.(JobServiceServer).DeleteJob(ctx, req.(*DeleteJobRequest))
1664	}
1665	return interceptor(ctx, in, info, handler)
1666}
1667
1668func _JobService_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1669	in := new(ListJobsRequest)
1670	if err := dec(in); err != nil {
1671		return nil, err
1672	}
1673	if interceptor == nil {
1674		return srv.(JobServiceServer).ListJobs(ctx, in)
1675	}
1676	info := &grpc.UnaryServerInfo{
1677		Server:     srv,
1678		FullMethod: "/google.cloud.talent.v4beta1.JobService/ListJobs",
1679	}
1680	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1681		return srv.(JobServiceServer).ListJobs(ctx, req.(*ListJobsRequest))
1682	}
1683	return interceptor(ctx, in, info, handler)
1684}
1685
1686func _JobService_BatchDeleteJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1687	in := new(BatchDeleteJobsRequest)
1688	if err := dec(in); err != nil {
1689		return nil, err
1690	}
1691	if interceptor == nil {
1692		return srv.(JobServiceServer).BatchDeleteJobs(ctx, in)
1693	}
1694	info := &grpc.UnaryServerInfo{
1695		Server:     srv,
1696		FullMethod: "/google.cloud.talent.v4beta1.JobService/BatchDeleteJobs",
1697	}
1698	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1699		return srv.(JobServiceServer).BatchDeleteJobs(ctx, req.(*BatchDeleteJobsRequest))
1700	}
1701	return interceptor(ctx, in, info, handler)
1702}
1703
1704func _JobService_SearchJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1705	in := new(SearchJobsRequest)
1706	if err := dec(in); err != nil {
1707		return nil, err
1708	}
1709	if interceptor == nil {
1710		return srv.(JobServiceServer).SearchJobs(ctx, in)
1711	}
1712	info := &grpc.UnaryServerInfo{
1713		Server:     srv,
1714		FullMethod: "/google.cloud.talent.v4beta1.JobService/SearchJobs",
1715	}
1716	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1717		return srv.(JobServiceServer).SearchJobs(ctx, req.(*SearchJobsRequest))
1718	}
1719	return interceptor(ctx, in, info, handler)
1720}
1721
1722func _JobService_SearchJobsForAlert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1723	in := new(SearchJobsRequest)
1724	if err := dec(in); err != nil {
1725		return nil, err
1726	}
1727	if interceptor == nil {
1728		return srv.(JobServiceServer).SearchJobsForAlert(ctx, in)
1729	}
1730	info := &grpc.UnaryServerInfo{
1731		Server:     srv,
1732		FullMethod: "/google.cloud.talent.v4beta1.JobService/SearchJobsForAlert",
1733	}
1734	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1735		return srv.(JobServiceServer).SearchJobsForAlert(ctx, req.(*SearchJobsRequest))
1736	}
1737	return interceptor(ctx, in, info, handler)
1738}
1739
1740var _JobService_serviceDesc = grpc.ServiceDesc{
1741	ServiceName: "google.cloud.talent.v4beta1.JobService",
1742	HandlerType: (*JobServiceServer)(nil),
1743	Methods: []grpc.MethodDesc{
1744		{
1745			MethodName: "CreateJob",
1746			Handler:    _JobService_CreateJob_Handler,
1747		},
1748		{
1749			MethodName: "GetJob",
1750			Handler:    _JobService_GetJob_Handler,
1751		},
1752		{
1753			MethodName: "UpdateJob",
1754			Handler:    _JobService_UpdateJob_Handler,
1755		},
1756		{
1757			MethodName: "DeleteJob",
1758			Handler:    _JobService_DeleteJob_Handler,
1759		},
1760		{
1761			MethodName: "ListJobs",
1762			Handler:    _JobService_ListJobs_Handler,
1763		},
1764		{
1765			MethodName: "BatchDeleteJobs",
1766			Handler:    _JobService_BatchDeleteJobs_Handler,
1767		},
1768		{
1769			MethodName: "SearchJobs",
1770			Handler:    _JobService_SearchJobs_Handler,
1771		},
1772		{
1773			MethodName: "SearchJobsForAlert",
1774			Handler:    _JobService_SearchJobsForAlert_Handler,
1775		},
1776	},
1777	Streams:  []grpc.StreamDesc{},
1778	Metadata: "google/cloud/talent/v4beta1/job_service.proto",
1779}
1780
1781func init() {
1782	proto.RegisterFile("google/cloud/talent/v4beta1/job_service.proto", fileDescriptor_job_service_a6470b4363404135)
1783}
1784
1785var fileDescriptor_job_service_a6470b4363404135 = []byte{
1786	// 1805 bytes of a gzipped FileDescriptorProto
1787	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x73, 0xdb, 0xc6,
1788	0x15, 0x2f, 0xa8, 0x7f, 0xe4, 0xa3, 0x24, 0x42, 0x6b, 0xc5, 0x66, 0xa8, 0xb4, 0x51, 0xe8, 0xda,
1789	0x55, 0xe4, 0x88, 0x74, 0xe8, 0x74, 0xa6, 0x8d, 0x26, 0xd3, 0xf2, 0x0f, 0x14, 0xc1, 0x25, 0x25,
1790	0x16, 0xa4, 0xec, 0xd4, 0x87, 0xa0, 0x20, 0xb8, 0xa2, 0x20, 0x81, 0x58, 0x04, 0x58, 0xca, 0x56,
1791	0x32, 0x3e, 0xb4, 0xbd, 0xf5, 0xd0, 0x43, 0x7b, 0xe9, 0x4c, 0x67, 0x72, 0xc8, 0x47, 0xe8, 0x74,
1792	0xa6, 0x87, 0xce, 0xf4, 0x2b, 0xf4, 0xd0, 0xaf, 0xd0, 0x0f, 0xd2, 0xd9, 0x3f, 0x80, 0x48, 0x9a,
1793	0x26, 0x29, 0x7b, 0x72, 0xe3, 0xbe, 0xf7, 0xdb, 0xb7, 0xbf, 0xf7, 0x07, 0x6f, 0xf7, 0x11, 0xf6,
1794	0x7a, 0x84, 0xf4, 0x5c, 0x5c, 0xb4, 0x5d, 0x32, 0xe8, 0x16, 0xa9, 0xe5, 0x62, 0x8f, 0x16, 0x2f,
1795	0x3f, 0xe9, 0x60, 0x6a, 0x7d, 0x5c, 0x3c, 0x27, 0x1d, 0x33, 0xc4, 0xc1, 0xa5, 0x63, 0xe3, 0x82,
1796	0x1f, 0x10, 0x4a, 0xd0, 0x96, 0x80, 0x17, 0x38, 0xbc, 0x20, 0xe0, 0x05, 0x09, 0xcf, 0xbd, 0x27,
1797	0x6d, 0x59, 0xbe, 0x53, 0xb4, 0x3c, 0x8f, 0x50, 0x8b, 0x3a, 0xc4, 0x0b, 0xc5, 0xd6, 0xdc, 0x4f,
1798	0xa6, 0x9d, 0xd4, 0xb1, 0xa8, 0x7d, 0x26, 0x81, 0x3b, 0xd3, 0x80, 0x36, 0xe9, 0xf7, 0x89, 0x27,
1799	0x91, 0x1f, 0x4e, 0x43, 0x9e, 0x3a, 0x2e, 0xc5, 0x41, 0x74, 0xfa, 0x83, 0x69, 0xd0, 0x33, 0x27,
1800	0xa4, 0xa4, 0x17, 0x58, 0x7d, 0x09, 0xbe, 0x37, 0x23, 0x28, 0x12, 0x76, 0x57, 0xc2, 0x5c, 0xe2,
1801	0xf5, 0x82, 0x81, 0xe7, 0x39, 0x5e, 0xaf, 0x48, 0x7c, 0x1c, 0x8c, 0xb8, 0xfd, 0x23, 0x09, 0xe2,
1802	0xab, 0xce, 0xe0, 0xb4, 0xd8, 0x1d, 0x08, 0x80, 0xd4, 0x6f, 0x8d, 0xeb, 0x71, 0xdf, 0xa7, 0x57,
1803	0x52, 0xb9, 0x3d, 0xae, 0x3c, 0x75, 0xb0, 0xdb, 0x35, 0xfb, 0x56, 0x78, 0x21, 0x10, 0xf9, 0x2f,
1804	0x41, 0xad, 0x06, 0xd8, 0xa2, 0xf8, 0x31, 0xe9, 0x18, 0xf8, 0xab, 0x01, 0x0e, 0x29, 0xba, 0x0d,
1805	0xcb, 0xbe, 0x15, 0x60, 0x8f, 0x66, 0x95, 0x6d, 0x65, 0x27, 0x65, 0xc8, 0x15, 0x2a, 0xc1, 0xc2,
1806	0x39, 0xe9, 0x64, 0x13, 0xdb, 0xca, 0x4e, 0xba, 0xb4, 0x5d, 0x98, 0x92, 0xca, 0x02, 0xb3, 0xc6,
1807	0xc0, 0xf9, 0xbb, 0xb0, 0xf6, 0x39, 0xa6, 0x43, 0xc6, 0x11, 0x2c, 0x7a, 0x56, 0x1f, 0x4b, 0xd3,
1808	0xfc, 0x77, 0xfe, 0x0f, 0x0a, 0xa8, 0x27, 0x7e, 0x77, 0x94, 0x85, 0x3c, 0x4d, 0xb9, 0xc1, 0x69,
1809	0x68, 0x1f, 0xd2, 0x03, 0x6e, 0x87, 0xbb, 0x28, 0x99, 0xe6, 0xa2, 0xbd, 0x51, 0x14, 0x0a, 0x07,
1810	0x2c, 0x0a, 0x0d, 0x2b, 0xbc, 0x30, 0x40, 0xc0, 0xd9, 0xef, 0xfc, 0x7d, 0x50, 0x6b, 0xd8, 0xc5,
1811	0x23, 0x24, 0x26, 0xb1, 0x3d, 0x84, 0xdb, 0x15, 0x56, 0x6e, 0x31, 0x38, 0x9c, 0x15, 0xb8, 0xdb,
1812	0xb0, 0x2c, 0xaa, 0x89, 0x33, 0x4a, 0x19, 0x72, 0x95, 0xff, 0xb7, 0x02, 0x99, 0xba, 0x13, 0xd2,
1813	0xb7, 0xb0, 0x81, 0x7e, 0x08, 0xe0, 0x5b, 0x3d, 0x6c, 0x52, 0x72, 0x81, 0xbd, 0xec, 0x02, 0xd7,
1814	0xa5, 0x98, 0xa4, 0xcd, 0x04, 0x68, 0x0b, 0xf8, 0xc2, 0x0c, 0x9d, 0xaf, 0x71, 0x76, 0x71, 0x5b,
1815	0xd9, 0x59, 0x32, 0x92, 0x4c, 0xd0, 0x72, 0xbe, 0xc6, 0xe8, 0x17, 0x90, 0x64, 0x9f, 0xe8, 0xa5,
1816	0x83, 0x9f, 0x67, 0x97, 0xb6, 0x95, 0x9d, 0xf5, 0xd2, 0x8f, 0x67, 0xc5, 0xf9, 0x89, 0x83, 0x9f,
1817	0x1b, 0x2b, 0xe7, 0xe2, 0x47, 0xfe, 0x5f, 0x0a, 0xa8, 0xd7, 0x0e, 0x84, 0x3e, 0xf1, 0x42, 0x8c,
1818	0x3e, 0x81, 0xc5, 0x73, 0xd2, 0x09, 0xb3, 0xca, 0xf6, 0xc2, 0x5c, 0x99, 0xe3, 0x68, 0x74, 0x1f,
1819	0x32, 0x1e, 0x7e, 0x41, 0xcd, 0x21, 0x67, 0x84, 0xa3, 0x6b, 0x4c, 0xdc, 0x8c, 0x1d, 0xd2, 0x21,
1820	0xd9, 0xc7, 0xd4, 0xea, 0x5a, 0xd4, 0xe2, 0xde, 0xa6, 0x4b, 0x7b, 0x53, 0x4f, 0x88, 0x68, 0x35,
1821	0xe4, 0x26, 0x23, 0xde, 0x9e, 0xff, 0x36, 0x0d, 0x1b, 0x2d, 0x6c, 0x05, 0xf6, 0xd9, 0x3c, 0x09,
1822	0x78, 0x06, 0xe9, 0x90, 0x83, 0xcd, 0x3e, 0xe9, 0x62, 0x4e, 0x6e, 0xbd, 0xf4, 0xf3, 0xa9, 0x67,
1823	0xbf, 0x62, 0x5c, 0x4a, 0x1a, 0xa4, 0x8b, 0x0d, 0x08, 0xe3, 0xdf, 0xe8, 0x29, 0xa8, 0x81, 0x40,
1824	0x98, 0x63, 0xce, 0x7d, 0x34, 0xc3, 0x39, 0xbe, 0x29, 0xf6, 0x2d, 0x13, 0x8c, 0x0a, 0x50, 0x05,
1825	0x52, 0x2c, 0xc3, 0x5f, 0x0d, 0x70, 0x70, 0xc5, 0xd3, 0x9f, 0x2e, 0xdd, 0x9b, 0x95, 0x90, 0x5f,
1826	0x33, 0xb0, 0xc1, 0x2a, 0x83, 0xff, 0x42, 0x0f, 0x60, 0x03, 0x7b, 0x56, 0xc7, 0xc5, 0x66, 0x27,
1827	0x20, 0x56, 0x17, 0xb3, 0x3e, 0xc5, 0xcb, 0x25, 0x69, 0xa8, 0x42, 0x51, 0x89, 0xe5, 0xe8, 0x33,
1828	0xd8, 0x62, 0x1c, 0x9c, 0x00, 0x9b, 0x7e, 0x80, 0x6d, 0x27, 0xc4, 0x66, 0x80, 0xc3, 0x81, 0x4b,
1829	0x45, 0x05, 0x2e, 0xf3, 0x6d, 0x59, 0x09, 0x69, 0x0a, 0x84, 0xc1, 0x01, 0xbc, 0x22, 0xbf, 0x80,
1830	0x8d, 0xb8, 0x99, 0x72, 0xd6, 0x0e, 0x0e, 0xb3, 0x2b, 0xbc, 0x90, 0x1e, 0x4c, 0xe5, 0x7d, 0x18,
1831	0xed, 0x12, 0xec, 0xd5, 0xb3, 0xe1, 0xb5, 0x83, 0xc3, 0x91, 0x5a, 0x4f, 0xbe, 0x41, 0xad, 0xb3,
1832	0xba, 0x20, 0xa7, 0xa7, 0x21, 0xa6, 0xd9, 0x14, 0xff, 0x8c, 0xe4, 0x6a, 0xf4, 0x0b, 0x83, 0xb1,
1833	0x2f, 0x6c, 0xf4, 0xeb, 0x4c, 0x8f, 0x7f, 0x9d, 0xef, 0x42, 0x92, 0x04, 0x5d, 0x1c, 0x98, 0x9d,
1834	0xab, 0xec, 0x2a, 0x57, 0xae, 0xf0, 0x75, 0xe5, 0x0a, 0xbd, 0x80, 0x77, 0xba, 0xce, 0x25, 0x0e,
1835	0x42, 0xe7, 0xd4, 0xb1, 0x79, 0xc3, 0x37, 0x5d, 0x7c, 0x89, 0xdd, 0xec, 0x1a, 0x27, 0x5f, 0xbd,
1836	0x61, 0xe1, 0xd5, 0x46, 0x6d, 0xd5, 0x99, 0x29, 0x63, 0xb3, 0x3b, 0x41, 0x8a, 0x7c, 0xb8, 0x65,
1837	0x0f, 0x42, 0x4a, 0xfa, 0x66, 0x60, 0x79, 0x17, 0x8e, 0xd7, 0x33, 0x1d, 0xef, 0x94, 0x64, 0xd7,
1838	0x79, 0xf5, 0xfc, 0xf2, 0x86, 0xe7, 0x56, 0xb9, 0x25, 0x43, 0x18, 0xd2, 0xbd, 0x53, 0x62, 0x6c,
1839	0xd8, 0xe3, 0x22, 0x54, 0x62, 0xbe, 0x86, 0xbc, 0xc4, 0x2e, 0xf0, 0xd5, 0x73, 0x12, 0xb0, 0x2b,
1840	0x8a, 0xda, 0x67, 0x59, 0x95, 0x97, 0xcb, 0x2d, 0xa9, 0xfc, 0x95, 0xd0, 0x35, 0x98, 0x2a, 0xf7,
1841	0x8f, 0x04, 0x6c, 0xbc, 0x62, 0x1c, 0x7d, 0x03, 0xaa, 0xd3, 0xf7, 0x49, 0x40, 0x2d, 0xcf, 0xc6,
1842	0x32, 0x60, 0x0a, 0x0f, 0x58, 0xf3, 0x6d, 0x89, 0x17, 0xf4, 0xd8, 0xb0, 0x88, 0x5e, 0xc6, 0x19,
1843	0x15, 0xa0, 0x3d, 0x40, 0x51, 0xc4, 0xf0, 0x0b, 0x3f, 0xc0, 0x61, 0xe8, 0x90, 0xa8, 0x8b, 0x6d,
1844	0x48, 0x8d, 0x16, 0x2b, 0xf2, 0x21, 0x64, 0xc6, 0x4c, 0xa2, 0x6d, 0x78, 0x4f, 0x6f, 0x34, 0x8f,
1845	0x8d, 0x76, 0xf9, 0xa8, 0xaa, 0x99, 0x75, 0xed, 0x89, 0x56, 0x37, 0x4f, 0x8e, 0x5a, 0x4d, 0xad,
1846	0xaa, 0x1f, 0xe8, 0x5a, 0x4d, 0xfd, 0x01, 0x4a, 0xc2, 0xe2, 0xd1, 0xf1, 0x91, 0xa6, 0x2a, 0x68,
1847	0x05, 0x16, 0xea, 0xc7, 0x4f, 0xd5, 0x04, 0x13, 0x35, 0xf4, 0x7a, 0x4d, 0x5d, 0x40, 0x00, 0xcb,
1848	0x0d, 0xad, 0xa6, 0x9f, 0x34, 0xd4, 0x45, 0x26, 0x3d, 0xd4, 0x3f, 0x3f, 0x54, 0x97, 0x50, 0x1a,
1849	0x56, 0xb4, 0x2f, 0xda, 0x86, 0xd6, 0xd0, 0xd4, 0xe5, 0xbc, 0x01, 0x70, 0xdd, 0x83, 0xd0, 0x16,
1850	0xdc, 0x69, 0x69, 0x65, 0xa3, 0x7a, 0x68, 0x36, 0x8e, 0x6b, 0xda, 0xd8, 0x51, 0xeb, 0x00, 0x8f,
1851	0x8f, 0x2b, 0xa6, 0x00, 0xa8, 0x0a, 0xba, 0x03, 0xb7, 0x0e, 0xb4, 0x72, 0xfb, 0xc4, 0xd0, 0x6a,
1852	0xe6, 0x90, 0x22, 0x91, 0x7f, 0x0a, 0x9b, 0x93, 0xca, 0x0b, 0xdd, 0x83, 0x0f, 0x6a, 0xfa, 0x13,
1853	0xcd, 0x68, 0xe9, 0x07, 0x7a, 0xb5, 0xdc, 0xd6, 0x8f, 0x8f, 0x26, 0xba, 0xb4, 0x0a, 0xc9, 0x9a,
1854	0xde, 0x2a, 0x57, 0xea, 0x5a, 0x4d, 0x55, 0x98, 0x0f, 0x2d, 0xbd, 0xd1, 0xac, 0x6b, 0x6a, 0x22,
1855	0xff, 0x9f, 0x24, 0xa0, 0xe1, 0xcc, 0xc8, 0x0b, 0xe6, 0xb7, 0xb0, 0xc6, 0xcb, 0x83, 0x05, 0x7a,
1856	0xe8, 0xa6, 0xd9, 0x9f, 0x3b, 0xc3, 0xc2, 0x4e, 0xa1, 0x21, 0x8d, 0xb0, 0x4b, 0x68, 0xb5, 0x7f,
1857	0xbd, 0x08, 0x91, 0x03, 0x77, 0x46, 0xdb, 0xd0, 0x95, 0xec, 0x62, 0x61, 0x36, 0xc1, 0xcf, 0xfa,
1858	0xf8, 0x26, 0xcd, 0x88, 0xef, 0x34, 0xde, 0x39, 0x9b, 0x20, 0x9d, 0x78, 0xef, 0x2d, 0x4c, 0xba,
1859	0xf7, 0x9a, 0xa0, 0xba, 0x44, 0x36, 0x02, 0xf9, 0x34, 0xcd, 0x2e, 0x72, 0x2e, 0xd3, 0x1b, 0x7a,
1860	0x5d, 0x6e, 0x32, 0x32, 0xd1, 0xf6, 0x03, 0xb1, 0x1b, 0x3d, 0x84, 0x4d, 0x1c, 0x52, 0xa7, 0x6f,
1861	0x51, 0xdc, 0x35, 0x29, 0xa1, 0x96, 0x2b, 0x7a, 0xd8, 0x12, 0xef, 0x61, 0x28, 0xd6, 0xb5, 0x99,
1862	0x2a, 0xea, 0x66, 0x43, 0xb8, 0x65, 0x8e, 0x4b, 0xd1, 0x58, 0x3d, 0x7c, 0x35, 0xaf, 0xbc, 0xd5,
1863	0xd5, 0x8c, 0xf6, 0x21, 0x27, 0x2f, 0x1b, 0xdc, 0x95, 0x09, 0x60, 0x99, 0x36, 0x6d, 0x32, 0xf0,
1864	0x28, 0xef, 0xdf, 0x4b, 0xc6, 0x9d, 0x18, 0xc1, 0x03, 0xca, 0x12, 0x57, 0x65, 0x6a, 0xf4, 0x0c,
1865	0xd4, 0xd0, 0xc7, 0xae, 0x6b, 0xda, 0x24, 0x08, 0xb0, 0xcd, 0x7c, 0xe6, 0x3d, 0x3b, 0x5d, 0x2a,
1866	0x4e, 0x2f, 0x11, 0xb6, 0xc9, 0xf1, 0x7a, 0xd5, 0x78, 0x9b, 0x91, 0xe1, 0x86, 0xae, 0x05, 0xb9,
1867	0x6f, 0x13, 0x90, 0x1e, 0xaa, 0x9b, 0x37, 0x7a, 0xa5, 0xbe, 0x0f, 0x69, 0x3e, 0x19, 0x0d, 0xfa,
1868	0x7d, 0x2b, 0xb8, 0x92, 0x0d, 0x02, 0xce, 0x49, 0xa7, 0x25, 0x24, 0x68, 0x17, 0x36, 0x18, 0x80,
1869	0x3a, 0xd4, 0xc5, 0x66, 0xe8, 0x39, 0xbe, 0x8f, 0xa9, 0xac, 0x8a, 0xcc, 0x39, 0xe9, 0xb4, 0x99,
1870	0xbc, 0x25, 0xc4, 0xa8, 0x00, 0xb7, 0xe4, 0xb3, 0x84, 0xb2, 0x32, 0x8a, 0xd0, 0x8b, 0xa2, 0xeb,
1871	0x08, 0x55, 0x1b, 0xbf, 0xa0, 0x11, 0xfe, 0x4b, 0x58, 0x65, 0x33, 0xd0, 0x80, 0x62, 0xd1, 0xd6,
1872	0x97, 0x38, 0xf3, 0x1b, 0x7f, 0x3b, 0x55, 0x61, 0x83, 0x77, 0xf4, 0xb4, 0x7d, 0xbd, 0xc8, 0xfd,
1873	0x4d, 0x81, 0xf4, 0x90, 0x12, 0x1d, 0xc2, 0x2a, 0xf3, 0x25, 0x2a, 0x3e, 0x19, 0xa9, 0x39, 0x6b,
1874	0x96, 0xc5, 0x29, 0x5a, 0xa0, 0x0a, 0x64, 0x68, 0x60, 0x5d, 0x62, 0xd7, 0x8c, 0x46, 0x20, 0xf9,
1875	0xc0, 0x7f, 0xf7, 0x95, 0x07, 0x7e, 0x4d, 0x02, 0x8c, 0x75, 0xb1, 0x23, 0x5a, 0xef, 0x5e, 0xc2,
1876	0x8a, 0xbc, 0xd8, 0x51, 0x16, 0x36, 0x59, 0x17, 0x7b, 0xa2, 0x6b, 0x4f, 0xc7, 0x1a, 0xd2, 0x26,
1877	0xa8, 0xb1, 0x46, 0xaf, 0x99, 0xc7, 0x47, 0xf5, 0xdf, 0xa8, 0xca, 0x88, 0xb4, 0xa1, 0x1f, 0xe9,
1878	0x8d, 0x72, 0x5d, 0x4d, 0x20, 0x04, 0xeb, 0xb1, 0xb4, 0xd5, 0x28, 0xd7, 0xeb, 0xea, 0x02, 0xda,
1879	0x80, 0xb5, 0x58, 0x76, 0x70, 0x52, 0xaf, 0xab, 0x8b, 0xa5, 0x7f, 0xa6, 0x00, 0x1e, 0x93, 0x4e,
1880	0x4b, 0x0c, 0xc3, 0xe8, 0x8f, 0x0a, 0xa4, 0xe2, 0xb1, 0x0b, 0x4d, 0xff, 0x4a, 0xc6, 0xc7, 0xb3,
1881	0xdc, 0xcc, 0x2a, 0xcb, 0x7f, 0xf4, 0xfb, 0xff, 0xfe, 0xef, 0x2f, 0x89, 0xfb, 0xf9, 0x0f, 0xe2,
1882	0xa1, 0xf3, 0x1b, 0xf1, 0x88, 0xfd, 0xcc, 0x0f, 0xc8, 0x39, 0xb6, 0x69, 0x58, 0xdc, 0x7d, 0xc9,
1883	0x06, 0xd1, 0xf0, 0x53, 0x65, 0x17, 0xfd, 0x4e, 0x81, 0x65, 0x31, 0xa3, 0xa1, 0xdd, 0xa9, 0xa6,
1884	0x47, 0x06, 0xb9, 0x39, 0x68, 0x7c, 0xc8, 0x69, 0xdc, 0x45, 0x43, 0x34, 0xd8, 0x00, 0x35, 0x44,
1885	0x82, 0x73, 0x28, 0xee, 0xbe, 0x44, 0x7f, 0x52, 0x20, 0x15, 0x4f, 0x80, 0x33, 0x02, 0x32, 0x3e,
1886	0x29, 0xce, 0xc1, 0xe4, 0x21, 0x67, 0xb2, 0x5b, 0xba, 0x77, 0xcd, 0x84, 0x8d, 0xe1, 0xaf, 0x61,
1887	0xc3, 0x82, 0xf2, 0x12, 0x52, 0xf1, 0x7c, 0x37, 0x83, 0xcf, 0xf8, 0xd0, 0x98, 0xbb, 0xfd, 0x4a,
1888	0x3d, 0x6a, 0x6c, 0x26, 0x8f, 0xe2, 0xb1, 0x3b, 0x47, 0x3c, 0xfe, 0xac, 0x40, 0x32, 0x1a, 0xac,
1889	0xd0, 0xf4, 0x19, 0x60, 0x6c, 0x80, 0xcc, 0xed, 0xcd, 0x89, 0x16, 0x1f, 0xf2, 0xa4, 0x24, 0xbd,
1890	0xa6, 0x56, 0xd0, 0x5f, 0x15, 0xc8, 0x8c, 0x4d, 0xbe, 0xe8, 0xd1, 0xd4, 0xd3, 0x26, 0xcf, 0xc9,
1891	0xaf, 0x0d, 0xd0, 0xcf, 0x38, 0x97, 0x52, 0x7e, 0x6f, 0x76, 0xdd, 0x76, 0xae, 0x2d, 0xb3, 0x74,
1892	0x7d, 0xa7, 0x44, 0xef, 0x1a, 0xce, 0xaa, 0x70, 0xb3, 0xc7, 0x5e, 0xae, 0x78, 0xc3, 0xf6, 0x97,
1893	0x7f, 0xc4, 0x99, 0xee, 0xe5, 0x77, 0x66, 0x33, 0x15, 0x2d, 0x98, 0x91, 0xfc, 0xbb, 0x32, 0xfc,
1894	0x9c, 0x39, 0x20, 0x41, 0xd9, 0xc5, 0x01, 0xfd, 0xfe, 0xc9, 0xee, 0x73, 0xb2, 0x3f, 0xcd, 0x3f,
1895	0x9c, 0x97, 0x6c, 0x44, 0xed, 0x53, 0x65, 0xb7, 0xf2, 0x12, 0xde, 0xb7, 0x49, 0x7f, 0xda, 0x91,
1896	0x95, 0xcc, 0x75, 0x67, 0x6b, 0xb2, 0x84, 0x36, 0x95, 0x67, 0x65, 0x89, 0xef, 0x11, 0xd7, 0xf2,
1897	0x7a, 0x05, 0x12, 0xf4, 0x8a, 0x3d, 0xec, 0xf1, 0x74, 0x17, 0x85, 0xca, 0xf2, 0x9d, 0x70, 0xe2,
1898	0x1f, 0x64, 0xfb, 0x62, 0xf9, 0x5d, 0x62, 0xa1, 0xda, 0x6e, 0x75, 0x96, 0xf9, 0x9e, 0x47, 0xff,
1899	0x0f, 0x00, 0x00, 0xff, 0xff, 0x51, 0xce, 0x76, 0x0b, 0x68, 0x14, 0x00, 0x00,
1900}
1901