1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/talent/v4beta1/profile.proto
20
21package talent
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	_ "google.golang.org/genproto/googleapis/api/annotations"
28	date "google.golang.org/genproto/googleapis/type/date"
29	postaladdress "google.golang.org/genproto/googleapis/type/postaladdress"
30	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
31	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
32	_ "google.golang.org/protobuf/types/known/durationpb"
33	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
34	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
35)
36
37const (
38	// Verify that this generated code is sufficiently up-to-date.
39	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
40	// Verify that runtime/protoimpl is sufficiently up-to-date.
41	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
42)
43
44// The format of a structured resume.
45type Resume_ResumeType int32
46
47const (
48	// Default value.
49	Resume_RESUME_TYPE_UNSPECIFIED Resume_ResumeType = 0
50	// The profile contents in HR-XML format.
51	// See https://schemas.liquid-technologies.com/hr-xml/2007-04-15/ for more
52	// information about Human Resources XML.
53	Resume_HRXML Resume_ResumeType = 1
54	// Resume type not specified.
55	Resume_OTHER_RESUME_TYPE Resume_ResumeType = 2
56)
57
58// Enum value maps for Resume_ResumeType.
59var (
60	Resume_ResumeType_name = map[int32]string{
61		0: "RESUME_TYPE_UNSPECIFIED",
62		1: "HRXML",
63		2: "OTHER_RESUME_TYPE",
64	}
65	Resume_ResumeType_value = map[string]int32{
66		"RESUME_TYPE_UNSPECIFIED": 0,
67		"HRXML":                   1,
68		"OTHER_RESUME_TYPE":       2,
69	}
70)
71
72func (x Resume_ResumeType) Enum() *Resume_ResumeType {
73	p := new(Resume_ResumeType)
74	*p = x
75	return p
76}
77
78func (x Resume_ResumeType) String() string {
79	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
80}
81
82func (Resume_ResumeType) Descriptor() protoreflect.EnumDescriptor {
83	return file_google_cloud_talent_v4beta1_profile_proto_enumTypes[0].Descriptor()
84}
85
86func (Resume_ResumeType) Type() protoreflect.EnumType {
87	return &file_google_cloud_talent_v4beta1_profile_proto_enumTypes[0]
88}
89
90func (x Resume_ResumeType) Number() protoreflect.EnumNumber {
91	return protoreflect.EnumNumber(x)
92}
93
94// Deprecated: Use Resume_ResumeType.Descriptor instead.
95func (Resume_ResumeType) EnumDescriptor() ([]byte, []int) {
96	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{2, 0}
97}
98
99// Enum that represents the type of the telephone.
100type Phone_PhoneType int32
101
102const (
103	// Default value.
104	Phone_PHONE_TYPE_UNSPECIFIED Phone_PhoneType = 0
105	// A landline.
106	Phone_LANDLINE Phone_PhoneType = 1
107	// A mobile.
108	Phone_MOBILE Phone_PhoneType = 2
109	// A fax.
110	Phone_FAX Phone_PhoneType = 3
111	// A pager.
112	Phone_PAGER Phone_PhoneType = 4
113	// A TTY (test telephone) or TDD (telecommunication device for the deaf).
114	Phone_TTY_OR_TDD Phone_PhoneType = 5
115	// A voicemail.
116	Phone_VOICEMAIL Phone_PhoneType = 6
117	// A virtual telephone number is a number that can be routed to another
118	// number and managed by the user via Web, SMS, IVR, and so on.  It is
119	// associated with a particular person, and may be routed to either a MOBILE
120	// or LANDLINE number. The [phone usage][google.cloud.talent.v4beta1.ContactInfoUsage] should
121	// be set to PERSONAL for these phone types. Some more information can be
122	// found here: https://en.wikipedia.org/wiki/Personal_Numbers
123	Phone_VIRTUAL Phone_PhoneType = 7
124	// Voice over IP numbers. This includes TSoIP (Telephony Service over IP).
125	Phone_VOIP Phone_PhoneType = 8
126	// In some regions (e.g. the USA), it is impossible to distinguish between
127	// fixed-line and mobile numbers by looking at the phone number itself.
128	Phone_MOBILE_OR_LANDLINE Phone_PhoneType = 9
129)
130
131// Enum value maps for Phone_PhoneType.
132var (
133	Phone_PhoneType_name = map[int32]string{
134		0: "PHONE_TYPE_UNSPECIFIED",
135		1: "LANDLINE",
136		2: "MOBILE",
137		3: "FAX",
138		4: "PAGER",
139		5: "TTY_OR_TDD",
140		6: "VOICEMAIL",
141		7: "VIRTUAL",
142		8: "VOIP",
143		9: "MOBILE_OR_LANDLINE",
144	}
145	Phone_PhoneType_value = map[string]int32{
146		"PHONE_TYPE_UNSPECIFIED": 0,
147		"LANDLINE":               1,
148		"MOBILE":                 2,
149		"FAX":                    3,
150		"PAGER":                  4,
151		"TTY_OR_TDD":             5,
152		"VOICEMAIL":              6,
153		"VIRTUAL":                7,
154		"VOIP":                   8,
155		"MOBILE_OR_LANDLINE":     9,
156	}
157)
158
159func (x Phone_PhoneType) Enum() *Phone_PhoneType {
160	p := new(Phone_PhoneType)
161	*p = x
162	return p
163}
164
165func (x Phone_PhoneType) String() string {
166	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
167}
168
169func (Phone_PhoneType) Descriptor() protoreflect.EnumDescriptor {
170	return file_google_cloud_talent_v4beta1_profile_proto_enumTypes[1].Descriptor()
171}
172
173func (Phone_PhoneType) Type() protoreflect.EnumType {
174	return &file_google_cloud_talent_v4beta1_profile_proto_enumTypes[1]
175}
176
177func (x Phone_PhoneType) Number() protoreflect.EnumNumber {
178	return protoreflect.EnumNumber(x)
179}
180
181// Deprecated: Use Phone_PhoneType.Descriptor instead.
182func (Phone_PhoneType) EnumDescriptor() ([]byte, []int) {
183	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{6, 0}
184}
185
186// A resource that represents the profile for a job candidate (also referred to
187// as a "single-source profile").
188type Profile struct {
189	state         protoimpl.MessageState
190	sizeCache     protoimpl.SizeCache
191	unknownFields protoimpl.UnknownFields
192
193	// Required during profile update.
194	//
195	// Resource name assigned to a profile by the API.
196	//
197	// The format is
198	// "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}",
199	// for example, "projects/foo/tenants/bar/profiles/baz".
200	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
201	// Profile's id in client system, if available. This value is unique for each
202	// profile inside a tenant. An error is thrown if another profile with the
203	// same external_id is created.
204	//
205	// The maximum number of bytes allowed is 100.
206	ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
207	// The source description indicating where the profile is acquired.
208	//
209	// For example, if a candidate profile is acquired from a resume, the user can
210	// input "resume" here to indicate the source.
211	//
212	// The maximum number of bytes allowed is 100.
213	Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
214	// The URI set by clients that links to this profile's client-side copy.
215	//
216	// The maximum number of bytes allowed is 4000.
217	Uri string `protobuf:"bytes,4,opt,name=uri,proto3" json:"uri,omitempty"`
218	// The cluster id of the profile to associate with other profile(s) for the
219	// same candidate.
220	//
221	// This field should be generated by the customer. If a value is not provided,
222	// a random UUID is assigned to this field of the profile.
223	//
224	// This is used to link multiple profiles to the same candidate. For example,
225	// a client has a candidate with two profiles, where one was created recently
226	// and the other one was created 5 years ago. These two profiles may be very
227	// different. The clients can create the first profile and get a generated
228	// [group_id][google.cloud.talent.v4beta1.Profile.group_id], and assign it when the second profile is created,
229	// indicating these two profiles are referring to the same candidate.
230	GroupId string `protobuf:"bytes,5,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
231	// Indicates the hirable status of the candidate.
232	IsHirable *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=is_hirable,json=isHirable,proto3" json:"is_hirable,omitempty"`
233	// The timestamp when the profile was first created at this source.
234	CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
235	// The timestamp when the profile was last updated at this source.
236	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
237	// The timestamp when the profile was last updated as a result of a direct or
238	// indirect action by a candidate.
239	//
240	// These actions include:
241	//
242	// * Direct actions such as the candidate submitting a new resume as part of a
243	// job application to the agency, using a self-service tool such as a website
244	// to update their profile, and so on.
245	// * Indirect actions by the candidate such as uploading a resume to a job
246	// board that is collected by the agency through a feed, providing a resume to
247	// a recruiter who then uploads it into the ATS, and so on.
248	// * Updates made to the candidate's profile by the recruiter as a result of
249	// interacting with the candidate (for example adding a skill or work
250	// preference, and so on). Changes to [recruiting_notes][google.cloud.talent.v4beta1.Profile.recruiting_notes] are specifically
251	// excluded from this action type.
252	//
253	// Note: [candidate_update_time][google.cloud.talent.v4beta1.Profile.candidate_update_time] must be greater than or equal to
254	// [resume_update_time][google.cloud.talent.v4beta1.Profile.resume_update_time] or an error is thrown.
255	CandidateUpdateTime *timestamppb.Timestamp `protobuf:"bytes,67,opt,name=candidate_update_time,json=candidateUpdateTime,proto3" json:"candidate_update_time,omitempty"`
256	// The timestamp when the candidate's resume was added or updated on the
257	// candidate's profile. Whether that resume was directly uploaded by a
258	// candidate, pulled from a 3rd party job board feed, added by a recruiter,
259	// and so on.
260	//
261	// If this field is updated, it's expected that [resume][google.cloud.talent.v4beta1.Profile.resume] is provided in
262	// the create or update calls.
263	ResumeUpdateTime *timestamppb.Timestamp `protobuf:"bytes,68,opt,name=resume_update_time,json=resumeUpdateTime,proto3" json:"resume_update_time,omitempty"`
264	// The resume representing this profile.
265	Resume *Resume `protobuf:"bytes,53,opt,name=resume,proto3" json:"resume,omitempty"`
266	// The names of the candidate this profile references.
267	//
268	// Currently only one person name is supported.
269	PersonNames []*PersonName `protobuf:"bytes,11,rep,name=person_names,json=personNames,proto3" json:"person_names,omitempty"`
270	// The candidate's postal addresses. It's highly recommended to
271	// input this information as accurately as possible to help improve search
272	// quality. Here are some recommendations:
273	//
274	// * Provide [Address.usage][google.cloud.talent.v4beta1.Address.usage] if possible, especially if the address is
275	// PERSONAL. During a search only personal addresses are considered. If there
276	// is no such address, all addresses with unspecified usage are assumed to be
277	// personal.
278	// * Provide [Address.current][google.cloud.talent.v4beta1.Address.current] for the current address if possible. During
279	// a search, only current addresses are considered. If there is no such
280	// address, all addresses are assumed to be current.
281	//
282	// When displaying a candidate's addresses, it is sometimes desirable to limit
283	// the number of addresses shown. In these cases we recommend that you display
284	// the addresses in the following order of priority:
285	// 1. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is PERSONAL and [Address.current][google.cloud.talent.v4beta1.Address.current] is true.
286	// 2. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is PERSONAL and [Address.current][google.cloud.talent.v4beta1.Address.current] is false or not
287	// set.
288	// 3. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is CONTACT_INFO_USAGE_UNSPECIFIED and
289	// [Address.current][google.cloud.talent.v4beta1.Address.current] is true.
290	// 4. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is CONTACT_INFO_USAGE_UNSPECIFIED and
291	// [Address.current][google.cloud.talent.v4beta1.Address.current] is false or not set.
292	Addresses []*Address `protobuf:"bytes,12,rep,name=addresses,proto3" json:"addresses,omitempty"`
293	// The candidate's email addresses.
294	EmailAddresses []*Email `protobuf:"bytes,13,rep,name=email_addresses,json=emailAddresses,proto3" json:"email_addresses,omitempty"`
295	// The candidate's phone number(s).
296	PhoneNumbers []*Phone `protobuf:"bytes,14,rep,name=phone_numbers,json=phoneNumbers,proto3" json:"phone_numbers,omitempty"`
297	// The candidate's personal URIs.
298	PersonalUris []*PersonalUri `protobuf:"bytes,15,rep,name=personal_uris,json=personalUris,proto3" json:"personal_uris,omitempty"`
299	// Available contact information besides [addresses][google.cloud.talent.v4beta1.Profile.addresses], [email_addresses][google.cloud.talent.v4beta1.Profile.email_addresses],
300	// [phone_numbers][google.cloud.talent.v4beta1.Profile.phone_numbers] and [personal_uris][google.cloud.talent.v4beta1.Profile.personal_uris]. For example, Hang-out, Skype.
301	AdditionalContactInfo []*AdditionalContactInfo `protobuf:"bytes,16,rep,name=additional_contact_info,json=additionalContactInfo,proto3" json:"additional_contact_info,omitempty"`
302	// The employment history records of the candidate. It's highly recommended
303	// to input this information as accurately as possible to help improve search
304	// quality. Here are some recommendations:
305	//
306	// * Specify the start and end dates of the employment records.
307	// * List different employment types separately, no matter how minor the
308	// change is.
309	// For example, only job title is changed from "software engineer" to "senior
310	// software engineer".
311	// * Provide [EmploymentRecord.is_current][google.cloud.talent.v4beta1.EmploymentRecord.is_current] for the current employment if
312	// possible. If not, it's inferred from user inputs.
313	//
314	// The limitation for max number of employment records is 100.
315	EmploymentRecords []*EmploymentRecord `protobuf:"bytes,17,rep,name=employment_records,json=employmentRecords,proto3" json:"employment_records,omitempty"`
316	// The education history record of the candidate. It's highly recommended to
317	// input this information as accurately as possible to help improve search
318	// quality. Here are some recommendations:
319	//
320	// * Specify the start and end dates of the education records.
321	// * List each education type separately, no matter how minor the change is.
322	// For example, the profile contains the education experience from the same
323	// school but different degrees.
324	// * Provide [EducationRecord.is_current][google.cloud.talent.v4beta1.EducationRecord.is_current] for the current education if
325	// possible. If not, it's inferred from user inputs.
326	//
327	// The limitation for max number of education records is 100.
328	EducationRecords []*EducationRecord `protobuf:"bytes,18,rep,name=education_records,json=educationRecords,proto3" json:"education_records,omitempty"`
329	// The skill set of the candidate. It's highly recommended to provide as
330	// much information as possible to help improve the search quality.
331	//
332	// The limitation for max number of skills is 500.
333	Skills []*Skill `protobuf:"bytes,19,rep,name=skills,proto3" json:"skills,omitempty"`
334	// The individual or collaborative activities which the candidate has
335	// participated in, for example, open-source projects, class assignments that
336	// aren't listed in [employment_records][google.cloud.talent.v4beta1.Profile.employment_records].
337	//
338	// The limitation for max number of activities is 50.
339	Activities []*Activity `protobuf:"bytes,20,rep,name=activities,proto3" json:"activities,omitempty"`
340	// The publications published by the candidate.
341	//
342	// The limitation for max number of publications is 50.
343	Publications []*Publication `protobuf:"bytes,21,rep,name=publications,proto3" json:"publications,omitempty"`
344	// The patents acquired by the candidate.
345	Patents []*Patent `protobuf:"bytes,22,rep,name=patents,proto3" json:"patents,omitempty"`
346	// The certifications acquired by the candidate.
347	Certifications []*Certification `protobuf:"bytes,23,rep,name=certifications,proto3" json:"certifications,omitempty"`
348	// Output only. The resource names of the candidate's applications.
349	Applications []string `protobuf:"bytes,47,rep,name=applications,proto3" json:"applications,omitempty"`
350	// Output only. The resource names of the candidate's assignments.
351	Assignments []string `protobuf:"bytes,48,rep,name=assignments,proto3" json:"assignments,omitempty"`
352	// A map of fields to hold both filterable and non-filterable custom profile
353	// attributes that aren't covered by the provided structured fields. See
354	// [CustomAttribute][google.cloud.talent.v4beta1.CustomAttribute] for more details.
355	//
356	// At most 100 filterable and at most 100 unfilterable keys are supported. If
357	// limit is exceeded, an error is thrown. Custom attributes are `unfilterable`
358	// by default. These are filterable when the `filterable` flag is set to
359	// `true`.
360	//
361	// Numeric custom attributes: each key can only map to one numeric value,
362	// otherwise an error is thrown. Client can also filter on numeric custom
363	// attributes using '>', '<' or '=' operators.
364	//
365	// String custom attributes: each key can map up to 50 string values. For
366	// filterable string value, each value has a byte size of no more than 256B.
367	// For unfilterable string values, the maximum byte size of a single key is
368	// 64B. An error is thrown for any request exceeding the limit.
369	// The maximum total byte size is 10KB.
370	CustomAttributes map[string]*CustomAttribute `protobuf:"bytes,26,rep,name=custom_attributes,json=customAttributes,proto3" json:"custom_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
371	// Output only. Indicates if a summarized profile was created as part of the
372	// profile creation API call. This flag does not indicate whether a profile is
373	// searchable or not.
374	Processed bool `protobuf:"varint,27,opt,name=processed,proto3" json:"processed,omitempty"`
375	// Output only. Keyword snippet shows how the search result is related to a
376	// search query.  This is only returned in [SearchProfilesResponse][google.cloud.talent.v4beta1.SearchProfilesResponse].
377	KeywordSnippet string `protobuf:"bytes,28,opt,name=keyword_snippet,json=keywordSnippet,proto3" json:"keyword_snippet,omitempty"`
378	// Output only. Candidate's availability signals.
379	AvailabilitySignals []*AvailabilitySignal `protobuf:"bytes,70,rep,name=availability_signals,json=availabilitySignals,proto3" json:"availability_signals,omitempty"`
380	// Output only. Derived locations of the profile, resolved from [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses].
381	//
382	// [derived_addresses][google.cloud.talent.v4beta1.Profile.derived_addresses] are exactly matched to [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses] in the
383	// same order.
384	DerivedAddresses []*Location `protobuf:"bytes,64,rep,name=derived_addresses,json=derivedAddresses,proto3" json:"derived_addresses,omitempty"`
385}
386
387func (x *Profile) Reset() {
388	*x = Profile{}
389	if protoimpl.UnsafeEnabled {
390		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[0]
391		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
392		ms.StoreMessageInfo(mi)
393	}
394}
395
396func (x *Profile) String() string {
397	return protoimpl.X.MessageStringOf(x)
398}
399
400func (*Profile) ProtoMessage() {}
401
402func (x *Profile) ProtoReflect() protoreflect.Message {
403	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[0]
404	if protoimpl.UnsafeEnabled && x != nil {
405		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
406		if ms.LoadMessageInfo() == nil {
407			ms.StoreMessageInfo(mi)
408		}
409		return ms
410	}
411	return mi.MessageOf(x)
412}
413
414// Deprecated: Use Profile.ProtoReflect.Descriptor instead.
415func (*Profile) Descriptor() ([]byte, []int) {
416	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{0}
417}
418
419func (x *Profile) GetName() string {
420	if x != nil {
421		return x.Name
422	}
423	return ""
424}
425
426func (x *Profile) GetExternalId() string {
427	if x != nil {
428		return x.ExternalId
429	}
430	return ""
431}
432
433func (x *Profile) GetSource() string {
434	if x != nil {
435		return x.Source
436	}
437	return ""
438}
439
440func (x *Profile) GetUri() string {
441	if x != nil {
442		return x.Uri
443	}
444	return ""
445}
446
447func (x *Profile) GetGroupId() string {
448	if x != nil {
449		return x.GroupId
450	}
451	return ""
452}
453
454func (x *Profile) GetIsHirable() *wrapperspb.BoolValue {
455	if x != nil {
456		return x.IsHirable
457	}
458	return nil
459}
460
461func (x *Profile) GetCreateTime() *timestamppb.Timestamp {
462	if x != nil {
463		return x.CreateTime
464	}
465	return nil
466}
467
468func (x *Profile) GetUpdateTime() *timestamppb.Timestamp {
469	if x != nil {
470		return x.UpdateTime
471	}
472	return nil
473}
474
475func (x *Profile) GetCandidateUpdateTime() *timestamppb.Timestamp {
476	if x != nil {
477		return x.CandidateUpdateTime
478	}
479	return nil
480}
481
482func (x *Profile) GetResumeUpdateTime() *timestamppb.Timestamp {
483	if x != nil {
484		return x.ResumeUpdateTime
485	}
486	return nil
487}
488
489func (x *Profile) GetResume() *Resume {
490	if x != nil {
491		return x.Resume
492	}
493	return nil
494}
495
496func (x *Profile) GetPersonNames() []*PersonName {
497	if x != nil {
498		return x.PersonNames
499	}
500	return nil
501}
502
503func (x *Profile) GetAddresses() []*Address {
504	if x != nil {
505		return x.Addresses
506	}
507	return nil
508}
509
510func (x *Profile) GetEmailAddresses() []*Email {
511	if x != nil {
512		return x.EmailAddresses
513	}
514	return nil
515}
516
517func (x *Profile) GetPhoneNumbers() []*Phone {
518	if x != nil {
519		return x.PhoneNumbers
520	}
521	return nil
522}
523
524func (x *Profile) GetPersonalUris() []*PersonalUri {
525	if x != nil {
526		return x.PersonalUris
527	}
528	return nil
529}
530
531func (x *Profile) GetAdditionalContactInfo() []*AdditionalContactInfo {
532	if x != nil {
533		return x.AdditionalContactInfo
534	}
535	return nil
536}
537
538func (x *Profile) GetEmploymentRecords() []*EmploymentRecord {
539	if x != nil {
540		return x.EmploymentRecords
541	}
542	return nil
543}
544
545func (x *Profile) GetEducationRecords() []*EducationRecord {
546	if x != nil {
547		return x.EducationRecords
548	}
549	return nil
550}
551
552func (x *Profile) GetSkills() []*Skill {
553	if x != nil {
554		return x.Skills
555	}
556	return nil
557}
558
559func (x *Profile) GetActivities() []*Activity {
560	if x != nil {
561		return x.Activities
562	}
563	return nil
564}
565
566func (x *Profile) GetPublications() []*Publication {
567	if x != nil {
568		return x.Publications
569	}
570	return nil
571}
572
573func (x *Profile) GetPatents() []*Patent {
574	if x != nil {
575		return x.Patents
576	}
577	return nil
578}
579
580func (x *Profile) GetCertifications() []*Certification {
581	if x != nil {
582		return x.Certifications
583	}
584	return nil
585}
586
587func (x *Profile) GetApplications() []string {
588	if x != nil {
589		return x.Applications
590	}
591	return nil
592}
593
594func (x *Profile) GetAssignments() []string {
595	if x != nil {
596		return x.Assignments
597	}
598	return nil
599}
600
601func (x *Profile) GetCustomAttributes() map[string]*CustomAttribute {
602	if x != nil {
603		return x.CustomAttributes
604	}
605	return nil
606}
607
608func (x *Profile) GetProcessed() bool {
609	if x != nil {
610		return x.Processed
611	}
612	return false
613}
614
615func (x *Profile) GetKeywordSnippet() string {
616	if x != nil {
617		return x.KeywordSnippet
618	}
619	return ""
620}
621
622func (x *Profile) GetAvailabilitySignals() []*AvailabilitySignal {
623	if x != nil {
624		return x.AvailabilitySignals
625	}
626	return nil
627}
628
629func (x *Profile) GetDerivedAddresses() []*Location {
630	if x != nil {
631		return x.DerivedAddresses
632	}
633	return nil
634}
635
636// Candidate availability signal.
637type AvailabilitySignal struct {
638	state         protoimpl.MessageState
639	sizeCache     protoimpl.SizeCache
640	unknownFields protoimpl.UnknownFields
641
642	// Type of signal.
643	Type AvailabilitySignalType `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.talent.v4beta1.AvailabilitySignalType" json:"type,omitempty"`
644	// Timestamp of when the given availability activity last happened.
645	LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"`
646	// Indicates if the [last_update_time][google.cloud.talent.v4beta1.AvailabilitySignal.last_update_time] is within
647	// [AvailabilityFilter.range][google.cloud.talent.v4beta1.AvailabilityFilter.range].
648	//
649	// Returned only in a search response when there is an [AvailabilityFilter][google.cloud.talent.v4beta1.AvailabilityFilter]
650	// in [ProfileQuery.availability_filters][google.cloud.talent.v4beta1.ProfileQuery.availability_filters] where
651	// [signal_type][google.cloud.talent.v4beta1.AvailabilityFilter.signal_type] matches [type][google.cloud.talent.v4beta1.AvailabilitySignal.type].
652	FilterSatisfied *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=filter_satisfied,json=filterSatisfied,proto3" json:"filter_satisfied,omitempty"`
653}
654
655func (x *AvailabilitySignal) Reset() {
656	*x = AvailabilitySignal{}
657	if protoimpl.UnsafeEnabled {
658		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[1]
659		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
660		ms.StoreMessageInfo(mi)
661	}
662}
663
664func (x *AvailabilitySignal) String() string {
665	return protoimpl.X.MessageStringOf(x)
666}
667
668func (*AvailabilitySignal) ProtoMessage() {}
669
670func (x *AvailabilitySignal) ProtoReflect() protoreflect.Message {
671	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[1]
672	if protoimpl.UnsafeEnabled && x != nil {
673		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
674		if ms.LoadMessageInfo() == nil {
675			ms.StoreMessageInfo(mi)
676		}
677		return ms
678	}
679	return mi.MessageOf(x)
680}
681
682// Deprecated: Use AvailabilitySignal.ProtoReflect.Descriptor instead.
683func (*AvailabilitySignal) Descriptor() ([]byte, []int) {
684	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{1}
685}
686
687func (x *AvailabilitySignal) GetType() AvailabilitySignalType {
688	if x != nil {
689		return x.Type
690	}
691	return AvailabilitySignalType_AVAILABILITY_SIGNAL_TYPE_UNSPECIFIED
692}
693
694func (x *AvailabilitySignal) GetLastUpdateTime() *timestamppb.Timestamp {
695	if x != nil {
696		return x.LastUpdateTime
697	}
698	return nil
699}
700
701func (x *AvailabilitySignal) GetFilterSatisfied() *wrapperspb.BoolValue {
702	if x != nil {
703		return x.FilterSatisfied
704	}
705	return nil
706}
707
708// Resource that represents a resume.
709type Resume struct {
710	state         protoimpl.MessageState
711	sizeCache     protoimpl.SizeCache
712	unknownFields protoimpl.UnknownFields
713
714	// Users can create a profile with only this field field, if [resume_type][google.cloud.talent.v4beta1.Resume.resume_type]
715	// is [HRXML][google.cloud.talent.v4beta1.Resume.ResumeType.HRXML]. For example, the API parses this field and
716	// creates a profile
717	// with all structured fields populated. [EmploymentRecord][google.cloud.talent.v4beta1.EmploymentRecord],
718	// [EducationRecord][google.cloud.talent.v4beta1.EducationRecord], and so on. An error is thrown if this field cannot be
719	// parsed.
720	//
721	// Note that the use of the functionality offered by this field to extract
722	// data from resumes is an Alpha feature and as such is not covered by any
723	// SLA.
724	StructuredResume string `protobuf:"bytes,1,opt,name=structured_resume,json=structuredResume,proto3" json:"structured_resume,omitempty"`
725	// The format of [structured_resume][google.cloud.talent.v4beta1.Resume.structured_resume].
726	ResumeType Resume_ResumeType `protobuf:"varint,2,opt,name=resume_type,json=resumeType,proto3,enum=google.cloud.talent.v4beta1.Resume_ResumeType" json:"resume_type,omitempty"`
727}
728
729func (x *Resume) Reset() {
730	*x = Resume{}
731	if protoimpl.UnsafeEnabled {
732		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[2]
733		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
734		ms.StoreMessageInfo(mi)
735	}
736}
737
738func (x *Resume) String() string {
739	return protoimpl.X.MessageStringOf(x)
740}
741
742func (*Resume) ProtoMessage() {}
743
744func (x *Resume) ProtoReflect() protoreflect.Message {
745	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[2]
746	if protoimpl.UnsafeEnabled && x != nil {
747		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
748		if ms.LoadMessageInfo() == nil {
749			ms.StoreMessageInfo(mi)
750		}
751		return ms
752	}
753	return mi.MessageOf(x)
754}
755
756// Deprecated: Use Resume.ProtoReflect.Descriptor instead.
757func (*Resume) Descriptor() ([]byte, []int) {
758	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{2}
759}
760
761func (x *Resume) GetStructuredResume() string {
762	if x != nil {
763		return x.StructuredResume
764	}
765	return ""
766}
767
768func (x *Resume) GetResumeType() Resume_ResumeType {
769	if x != nil {
770		return x.ResumeType
771	}
772	return Resume_RESUME_TYPE_UNSPECIFIED
773}
774
775// Resource that represents the name of a person.
776type PersonName struct {
777	state         protoimpl.MessageState
778	sizeCache     protoimpl.SizeCache
779	unknownFields protoimpl.UnknownFields
780
781	// The name of a person. It can be one of
782	// [formatted_name][google.cloud.talent.v4beta1.PersonName.formatted_name] or
783	// [structured_name][google.cloud.talent.v4beta1.PersonName.structured_name].
784	//
785	// Types that are assignable to PersonName:
786	//	*PersonName_FormattedName
787	//	*PersonName_StructuredName
788	PersonName isPersonName_PersonName `protobuf_oneof:"person_name"`
789	// Preferred name for the person. This field is ignored if [structured_name][google.cloud.talent.v4beta1.PersonName.structured_name]
790	// is provided.
791	//
792	// Number of characters allowed is 100.
793	PreferredName string `protobuf:"bytes,3,opt,name=preferred_name,json=preferredName,proto3" json:"preferred_name,omitempty"`
794}
795
796func (x *PersonName) Reset() {
797	*x = PersonName{}
798	if protoimpl.UnsafeEnabled {
799		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[3]
800		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
801		ms.StoreMessageInfo(mi)
802	}
803}
804
805func (x *PersonName) String() string {
806	return protoimpl.X.MessageStringOf(x)
807}
808
809func (*PersonName) ProtoMessage() {}
810
811func (x *PersonName) ProtoReflect() protoreflect.Message {
812	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[3]
813	if protoimpl.UnsafeEnabled && x != nil {
814		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
815		if ms.LoadMessageInfo() == nil {
816			ms.StoreMessageInfo(mi)
817		}
818		return ms
819	}
820	return mi.MessageOf(x)
821}
822
823// Deprecated: Use PersonName.ProtoReflect.Descriptor instead.
824func (*PersonName) Descriptor() ([]byte, []int) {
825	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{3}
826}
827
828func (m *PersonName) GetPersonName() isPersonName_PersonName {
829	if m != nil {
830		return m.PersonName
831	}
832	return nil
833}
834
835func (x *PersonName) GetFormattedName() string {
836	if x, ok := x.GetPersonName().(*PersonName_FormattedName); ok {
837		return x.FormattedName
838	}
839	return ""
840}
841
842func (x *PersonName) GetStructuredName() *PersonName_PersonStructuredName {
843	if x, ok := x.GetPersonName().(*PersonName_StructuredName); ok {
844		return x.StructuredName
845	}
846	return nil
847}
848
849func (x *PersonName) GetPreferredName() string {
850	if x != nil {
851		return x.PreferredName
852	}
853	return ""
854}
855
856type isPersonName_PersonName interface {
857	isPersonName_PersonName()
858}
859
860type PersonName_FormattedName struct {
861	// A string represents a person's full name. For example, "Dr. John Smith".
862	//
863	// Number of characters allowed is 100.
864	FormattedName string `protobuf:"bytes,1,opt,name=formatted_name,json=formattedName,proto3,oneof"`
865}
866
867type PersonName_StructuredName struct {
868	// A person's name in a structured way (last name, first name, suffix, and
869	// so on.)
870	StructuredName *PersonName_PersonStructuredName `protobuf:"bytes,2,opt,name=structured_name,json=structuredName,proto3,oneof"`
871}
872
873func (*PersonName_FormattedName) isPersonName_PersonName() {}
874
875func (*PersonName_StructuredName) isPersonName_PersonName() {}
876
877// Resource that represents a address.
878type Address struct {
879	state         protoimpl.MessageState
880	sizeCache     protoimpl.SizeCache
881	unknownFields protoimpl.UnknownFields
882
883	// The usage of the address. For example, SCHOOL, WORK, PERSONAL.
884	Usage ContactInfoUsage `protobuf:"varint,1,opt,name=usage,proto3,enum=google.cloud.talent.v4beta1.ContactInfoUsage" json:"usage,omitempty"`
885	// The address of a person. It can be one of
886	// [unstructured_address][google.cloud.talent.v4beta1.Address.unstructured_address] or
887	// [structured_address][google.cloud.talent.v4beta1.Address.structured_address].
888	//
889	// Types that are assignable to Address:
890	//	*Address_UnstructuredAddress
891	//	*Address_StructuredAddress
892	Address isAddress_Address `protobuf_oneof:"address"`
893	// Indicates if it's the person's current address.
894	Current *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=current,proto3" json:"current,omitempty"`
895}
896
897func (x *Address) Reset() {
898	*x = Address{}
899	if protoimpl.UnsafeEnabled {
900		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[4]
901		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
902		ms.StoreMessageInfo(mi)
903	}
904}
905
906func (x *Address) String() string {
907	return protoimpl.X.MessageStringOf(x)
908}
909
910func (*Address) ProtoMessage() {}
911
912func (x *Address) ProtoReflect() protoreflect.Message {
913	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[4]
914	if protoimpl.UnsafeEnabled && x != nil {
915		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
916		if ms.LoadMessageInfo() == nil {
917			ms.StoreMessageInfo(mi)
918		}
919		return ms
920	}
921	return mi.MessageOf(x)
922}
923
924// Deprecated: Use Address.ProtoReflect.Descriptor instead.
925func (*Address) Descriptor() ([]byte, []int) {
926	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{4}
927}
928
929func (x *Address) GetUsage() ContactInfoUsage {
930	if x != nil {
931		return x.Usage
932	}
933	return ContactInfoUsage_CONTACT_INFO_USAGE_UNSPECIFIED
934}
935
936func (m *Address) GetAddress() isAddress_Address {
937	if m != nil {
938		return m.Address
939	}
940	return nil
941}
942
943func (x *Address) GetUnstructuredAddress() string {
944	if x, ok := x.GetAddress().(*Address_UnstructuredAddress); ok {
945		return x.UnstructuredAddress
946	}
947	return ""
948}
949
950func (x *Address) GetStructuredAddress() *postaladdress.PostalAddress {
951	if x, ok := x.GetAddress().(*Address_StructuredAddress); ok {
952		return x.StructuredAddress
953	}
954	return nil
955}
956
957func (x *Address) GetCurrent() *wrapperspb.BoolValue {
958	if x != nil {
959		return x.Current
960	}
961	return nil
962}
963
964type isAddress_Address interface {
965	isAddress_Address()
966}
967
968type Address_UnstructuredAddress struct {
969	// Unstructured address.
970	//
971	// For example, "1600 Amphitheatre Pkwy, Mountain View, CA 94043",
972	// "Sunnyvale, California".
973	//
974	// Number of characters allowed is 100.
975	UnstructuredAddress string `protobuf:"bytes,2,opt,name=unstructured_address,json=unstructuredAddress,proto3,oneof"`
976}
977
978type Address_StructuredAddress struct {
979	// Structured address that contains street address, city, state, country,
980	// and so on.
981	StructuredAddress *postaladdress.PostalAddress `protobuf:"bytes,3,opt,name=structured_address,json=structuredAddress,proto3,oneof"`
982}
983
984func (*Address_UnstructuredAddress) isAddress_Address() {}
985
986func (*Address_StructuredAddress) isAddress_Address() {}
987
988// Resource that represents a person's email address.
989type Email struct {
990	state         protoimpl.MessageState
991	sizeCache     protoimpl.SizeCache
992	unknownFields protoimpl.UnknownFields
993
994	// The usage of the email address. For example, SCHOOL, WORK, PERSONAL.
995	Usage ContactInfoUsage `protobuf:"varint,1,opt,name=usage,proto3,enum=google.cloud.talent.v4beta1.ContactInfoUsage" json:"usage,omitempty"`
996	// Email address.
997	//
998	// Number of characters allowed is 4,000.
999	EmailAddress string `protobuf:"bytes,2,opt,name=email_address,json=emailAddress,proto3" json:"email_address,omitempty"`
1000}
1001
1002func (x *Email) Reset() {
1003	*x = Email{}
1004	if protoimpl.UnsafeEnabled {
1005		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[5]
1006		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1007		ms.StoreMessageInfo(mi)
1008	}
1009}
1010
1011func (x *Email) String() string {
1012	return protoimpl.X.MessageStringOf(x)
1013}
1014
1015func (*Email) ProtoMessage() {}
1016
1017func (x *Email) ProtoReflect() protoreflect.Message {
1018	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[5]
1019	if protoimpl.UnsafeEnabled && x != nil {
1020		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1021		if ms.LoadMessageInfo() == nil {
1022			ms.StoreMessageInfo(mi)
1023		}
1024		return ms
1025	}
1026	return mi.MessageOf(x)
1027}
1028
1029// Deprecated: Use Email.ProtoReflect.Descriptor instead.
1030func (*Email) Descriptor() ([]byte, []int) {
1031	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{5}
1032}
1033
1034func (x *Email) GetUsage() ContactInfoUsage {
1035	if x != nil {
1036		return x.Usage
1037	}
1038	return ContactInfoUsage_CONTACT_INFO_USAGE_UNSPECIFIED
1039}
1040
1041func (x *Email) GetEmailAddress() string {
1042	if x != nil {
1043		return x.EmailAddress
1044	}
1045	return ""
1046}
1047
1048// Resource that represents a person's telephone number.
1049type Phone struct {
1050	state         protoimpl.MessageState
1051	sizeCache     protoimpl.SizeCache
1052	unknownFields protoimpl.UnknownFields
1053
1054	// The usage of the phone. For example, SCHOOL, WORK, PERSONAL.
1055	Usage ContactInfoUsage `protobuf:"varint,1,opt,name=usage,proto3,enum=google.cloud.talent.v4beta1.ContactInfoUsage" json:"usage,omitempty"`
1056	// The phone type. For example, LANDLINE, MOBILE, FAX.
1057	Type Phone_PhoneType `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.talent.v4beta1.Phone_PhoneType" json:"type,omitempty"`
1058	// Phone number.
1059	//
1060	// Any phone formats are supported and only exact matches are performed on
1061	// searches. For example, if a phone number in profile is provided in the
1062	// format of "(xxx)xxx-xxxx", in profile searches the same phone format
1063	// has to be provided.
1064	//
1065	// Number of characters allowed is 20.
1066	Number string `protobuf:"bytes,3,opt,name=number,proto3" json:"number,omitempty"`
1067	// When this number is available. Any descriptive string is expected.
1068	//
1069	// Number of characters allowed is 100.
1070	WhenAvailable string `protobuf:"bytes,4,opt,name=when_available,json=whenAvailable,proto3" json:"when_available,omitempty"`
1071}
1072
1073func (x *Phone) Reset() {
1074	*x = Phone{}
1075	if protoimpl.UnsafeEnabled {
1076		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[6]
1077		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1078		ms.StoreMessageInfo(mi)
1079	}
1080}
1081
1082func (x *Phone) String() string {
1083	return protoimpl.X.MessageStringOf(x)
1084}
1085
1086func (*Phone) ProtoMessage() {}
1087
1088func (x *Phone) ProtoReflect() protoreflect.Message {
1089	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[6]
1090	if protoimpl.UnsafeEnabled && x != nil {
1091		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1092		if ms.LoadMessageInfo() == nil {
1093			ms.StoreMessageInfo(mi)
1094		}
1095		return ms
1096	}
1097	return mi.MessageOf(x)
1098}
1099
1100// Deprecated: Use Phone.ProtoReflect.Descriptor instead.
1101func (*Phone) Descriptor() ([]byte, []int) {
1102	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{6}
1103}
1104
1105func (x *Phone) GetUsage() ContactInfoUsage {
1106	if x != nil {
1107		return x.Usage
1108	}
1109	return ContactInfoUsage_CONTACT_INFO_USAGE_UNSPECIFIED
1110}
1111
1112func (x *Phone) GetType() Phone_PhoneType {
1113	if x != nil {
1114		return x.Type
1115	}
1116	return Phone_PHONE_TYPE_UNSPECIFIED
1117}
1118
1119func (x *Phone) GetNumber() string {
1120	if x != nil {
1121		return x.Number
1122	}
1123	return ""
1124}
1125
1126func (x *Phone) GetWhenAvailable() string {
1127	if x != nil {
1128		return x.WhenAvailable
1129	}
1130	return ""
1131}
1132
1133// Resource that represents a valid URI for a personal use.
1134type PersonalUri struct {
1135	state         protoimpl.MessageState
1136	sizeCache     protoimpl.SizeCache
1137	unknownFields protoimpl.UnknownFields
1138
1139	// The personal URI.
1140	//
1141	// Number of characters allowed is 4,000.
1142	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
1143}
1144
1145func (x *PersonalUri) Reset() {
1146	*x = PersonalUri{}
1147	if protoimpl.UnsafeEnabled {
1148		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[7]
1149		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1150		ms.StoreMessageInfo(mi)
1151	}
1152}
1153
1154func (x *PersonalUri) String() string {
1155	return protoimpl.X.MessageStringOf(x)
1156}
1157
1158func (*PersonalUri) ProtoMessage() {}
1159
1160func (x *PersonalUri) ProtoReflect() protoreflect.Message {
1161	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[7]
1162	if protoimpl.UnsafeEnabled && x != nil {
1163		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1164		if ms.LoadMessageInfo() == nil {
1165			ms.StoreMessageInfo(mi)
1166		}
1167		return ms
1168	}
1169	return mi.MessageOf(x)
1170}
1171
1172// Deprecated: Use PersonalUri.ProtoReflect.Descriptor instead.
1173func (*PersonalUri) Descriptor() ([]byte, []int) {
1174	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{7}
1175}
1176
1177func (x *PersonalUri) GetUri() string {
1178	if x != nil {
1179		return x.Uri
1180	}
1181	return ""
1182}
1183
1184// Resource that represents contact information other than phone, email,
1185// URI and addresses.
1186type AdditionalContactInfo struct {
1187	state         protoimpl.MessageState
1188	sizeCache     protoimpl.SizeCache
1189	unknownFields protoimpl.UnknownFields
1190
1191	// The usage of this contact method. For example, SCHOOL, WORK, PERSONAL.
1192	Usage ContactInfoUsage `protobuf:"varint,1,opt,name=usage,proto3,enum=google.cloud.talent.v4beta1.ContactInfoUsage" json:"usage,omitempty"`
1193	// The name of the contact method.
1194	//
1195	// For example, "hangout", "skype".
1196	//
1197	// Number of characters allowed is 100.
1198	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
1199	// The contact id.
1200	//
1201	// Number of characters allowed is 100.
1202	ContactId string `protobuf:"bytes,3,opt,name=contact_id,json=contactId,proto3" json:"contact_id,omitempty"`
1203}
1204
1205func (x *AdditionalContactInfo) Reset() {
1206	*x = AdditionalContactInfo{}
1207	if protoimpl.UnsafeEnabled {
1208		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[8]
1209		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1210		ms.StoreMessageInfo(mi)
1211	}
1212}
1213
1214func (x *AdditionalContactInfo) String() string {
1215	return protoimpl.X.MessageStringOf(x)
1216}
1217
1218func (*AdditionalContactInfo) ProtoMessage() {}
1219
1220func (x *AdditionalContactInfo) ProtoReflect() protoreflect.Message {
1221	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[8]
1222	if protoimpl.UnsafeEnabled && x != nil {
1223		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1224		if ms.LoadMessageInfo() == nil {
1225			ms.StoreMessageInfo(mi)
1226		}
1227		return ms
1228	}
1229	return mi.MessageOf(x)
1230}
1231
1232// Deprecated: Use AdditionalContactInfo.ProtoReflect.Descriptor instead.
1233func (*AdditionalContactInfo) Descriptor() ([]byte, []int) {
1234	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{8}
1235}
1236
1237func (x *AdditionalContactInfo) GetUsage() ContactInfoUsage {
1238	if x != nil {
1239		return x.Usage
1240	}
1241	return ContactInfoUsage_CONTACT_INFO_USAGE_UNSPECIFIED
1242}
1243
1244func (x *AdditionalContactInfo) GetName() string {
1245	if x != nil {
1246		return x.Name
1247	}
1248	return ""
1249}
1250
1251func (x *AdditionalContactInfo) GetContactId() string {
1252	if x != nil {
1253		return x.ContactId
1254	}
1255	return ""
1256}
1257
1258// Resource that represents an employment record of a candidate.
1259type EmploymentRecord struct {
1260	state         protoimpl.MessageState
1261	sizeCache     protoimpl.SizeCache
1262	unknownFields protoimpl.UnknownFields
1263
1264	// Start date of the employment.
1265	StartDate *date.Date `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
1266	// End date of the employment.
1267	EndDate *date.Date `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
1268	// The name of the employer company/organization.
1269	//
1270	// For example, "Google", "Alphabet", and so on.
1271	//
1272	// Number of characters allowed is 250.
1273	EmployerName string `protobuf:"bytes,3,opt,name=employer_name,json=employerName,proto3" json:"employer_name,omitempty"`
1274	// The division name of the employment.
1275	//
1276	// For example, division, department, client, and so on.
1277	//
1278	// Number of characters allowed is 100.
1279	DivisionName string `protobuf:"bytes,4,opt,name=division_name,json=divisionName,proto3" json:"division_name,omitempty"`
1280	// The physical address of the employer.
1281	Address *Address `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
1282	// The job title of the employment.
1283	//
1284	// For example, "Software Engineer", "Data Scientist", and so on.
1285	//
1286	// Number of characters allowed is 250.
1287	JobTitle string `protobuf:"bytes,6,opt,name=job_title,json=jobTitle,proto3" json:"job_title,omitempty"`
1288	// The description of job content.
1289	//
1290	// Number of characters allowed is 100,000.
1291	JobDescription string `protobuf:"bytes,7,opt,name=job_description,json=jobDescription,proto3" json:"job_description,omitempty"`
1292	// If the jobs is a supervisor position.
1293	IsSupervisor *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=is_supervisor,json=isSupervisor,proto3" json:"is_supervisor,omitempty"`
1294	// If this employment is self-employed.
1295	IsSelfEmployed *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=is_self_employed,json=isSelfEmployed,proto3" json:"is_self_employed,omitempty"`
1296	// If this employment is current.
1297	IsCurrent *wrapperspb.BoolValue `protobuf:"bytes,10,opt,name=is_current,json=isCurrent,proto3" json:"is_current,omitempty"`
1298	// Output only. The job title snippet shows how the [job_title][google.cloud.talent.v4beta1.EmploymentRecord.job_title] is related
1299	// to a search query. It's empty if the [job_title][google.cloud.talent.v4beta1.EmploymentRecord.job_title] isn't related to the
1300	// search query.
1301	JobTitleSnippet string `protobuf:"bytes,11,opt,name=job_title_snippet,json=jobTitleSnippet,proto3" json:"job_title_snippet,omitempty"`
1302	// Output only. The job description snippet shows how the [job_description][google.cloud.talent.v4beta1.EmploymentRecord.job_description]
1303	// is related to a search query. It's empty if the [job_description][google.cloud.talent.v4beta1.EmploymentRecord.job_description] isn't
1304	// related to the search query.
1305	JobDescriptionSnippet string `protobuf:"bytes,12,opt,name=job_description_snippet,json=jobDescriptionSnippet,proto3" json:"job_description_snippet,omitempty"`
1306	// Output only. The employer name snippet shows how the [employer_name][google.cloud.talent.v4beta1.EmploymentRecord.employer_name] is
1307	// related to a search query. It's empty if the [employer_name][google.cloud.talent.v4beta1.EmploymentRecord.employer_name] isn't
1308	// related to the search query.
1309	EmployerNameSnippet string `protobuf:"bytes,13,opt,name=employer_name_snippet,json=employerNameSnippet,proto3" json:"employer_name_snippet,omitempty"`
1310}
1311
1312func (x *EmploymentRecord) Reset() {
1313	*x = EmploymentRecord{}
1314	if protoimpl.UnsafeEnabled {
1315		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[9]
1316		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1317		ms.StoreMessageInfo(mi)
1318	}
1319}
1320
1321func (x *EmploymentRecord) String() string {
1322	return protoimpl.X.MessageStringOf(x)
1323}
1324
1325func (*EmploymentRecord) ProtoMessage() {}
1326
1327func (x *EmploymentRecord) ProtoReflect() protoreflect.Message {
1328	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[9]
1329	if protoimpl.UnsafeEnabled && x != nil {
1330		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1331		if ms.LoadMessageInfo() == nil {
1332			ms.StoreMessageInfo(mi)
1333		}
1334		return ms
1335	}
1336	return mi.MessageOf(x)
1337}
1338
1339// Deprecated: Use EmploymentRecord.ProtoReflect.Descriptor instead.
1340func (*EmploymentRecord) Descriptor() ([]byte, []int) {
1341	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{9}
1342}
1343
1344func (x *EmploymentRecord) GetStartDate() *date.Date {
1345	if x != nil {
1346		return x.StartDate
1347	}
1348	return nil
1349}
1350
1351func (x *EmploymentRecord) GetEndDate() *date.Date {
1352	if x != nil {
1353		return x.EndDate
1354	}
1355	return nil
1356}
1357
1358func (x *EmploymentRecord) GetEmployerName() string {
1359	if x != nil {
1360		return x.EmployerName
1361	}
1362	return ""
1363}
1364
1365func (x *EmploymentRecord) GetDivisionName() string {
1366	if x != nil {
1367		return x.DivisionName
1368	}
1369	return ""
1370}
1371
1372func (x *EmploymentRecord) GetAddress() *Address {
1373	if x != nil {
1374		return x.Address
1375	}
1376	return nil
1377}
1378
1379func (x *EmploymentRecord) GetJobTitle() string {
1380	if x != nil {
1381		return x.JobTitle
1382	}
1383	return ""
1384}
1385
1386func (x *EmploymentRecord) GetJobDescription() string {
1387	if x != nil {
1388		return x.JobDescription
1389	}
1390	return ""
1391}
1392
1393func (x *EmploymentRecord) GetIsSupervisor() *wrapperspb.BoolValue {
1394	if x != nil {
1395		return x.IsSupervisor
1396	}
1397	return nil
1398}
1399
1400func (x *EmploymentRecord) GetIsSelfEmployed() *wrapperspb.BoolValue {
1401	if x != nil {
1402		return x.IsSelfEmployed
1403	}
1404	return nil
1405}
1406
1407func (x *EmploymentRecord) GetIsCurrent() *wrapperspb.BoolValue {
1408	if x != nil {
1409		return x.IsCurrent
1410	}
1411	return nil
1412}
1413
1414func (x *EmploymentRecord) GetJobTitleSnippet() string {
1415	if x != nil {
1416		return x.JobTitleSnippet
1417	}
1418	return ""
1419}
1420
1421func (x *EmploymentRecord) GetJobDescriptionSnippet() string {
1422	if x != nil {
1423		return x.JobDescriptionSnippet
1424	}
1425	return ""
1426}
1427
1428func (x *EmploymentRecord) GetEmployerNameSnippet() string {
1429	if x != nil {
1430		return x.EmployerNameSnippet
1431	}
1432	return ""
1433}
1434
1435// Resource that represents an education record of a candidate.
1436type EducationRecord struct {
1437	state         protoimpl.MessageState
1438	sizeCache     protoimpl.SizeCache
1439	unknownFields protoimpl.UnknownFields
1440
1441	// The start date of the education.
1442	StartDate *date.Date `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
1443	// The end date of the education.
1444	EndDate *date.Date `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
1445	// The expected graduation date if currently pursuing a degree.
1446	ExpectedGraduationDate *date.Date `protobuf:"bytes,3,opt,name=expected_graduation_date,json=expectedGraduationDate,proto3" json:"expected_graduation_date,omitempty"`
1447	// The name of the school or institution.
1448	//
1449	// For example, "Stanford University", "UC Berkeley", and so on.
1450	//
1451	// Number of characters allowed is 250.
1452	SchoolName string `protobuf:"bytes,4,opt,name=school_name,json=schoolName,proto3" json:"school_name,omitempty"`
1453	// The physical address of the education institution.
1454	Address *Address `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
1455	// The degree information. It can be one of
1456	// [degree_description][google.cloud.talent.v4beta1.EducationRecord.degree_description] or
1457	// [structured_degree][google.cloud.talent.v4beta1.EducationRecord.structured_degree].
1458	//
1459	// Types that are assignable to Degree:
1460	//	*EducationRecord_DegreeDescription
1461	//	*EducationRecord_StructuredDegree
1462	Degree isEducationRecord_Degree `protobuf_oneof:"degree"`
1463	// The description of the education.
1464	//
1465	// Number of characters allowed is 100,000.
1466	Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
1467	// If this education is current.
1468	IsCurrent *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=is_current,json=isCurrent,proto3" json:"is_current,omitempty"`
1469	// Output only. The school name snippet shows how the [school_name][google.cloud.talent.v4beta1.EducationRecord.school_name] is related to a
1470	// search query in search result. It's empty if the [school_name][google.cloud.talent.v4beta1.EducationRecord.school_name] isn't
1471	// related to the search query.
1472	SchoolNameSnippet string `protobuf:"bytes,10,opt,name=school_name_snippet,json=schoolNameSnippet,proto3" json:"school_name_snippet,omitempty"`
1473	// Output only. The job description snippet shows how the [Degree][google.cloud.talent.v4beta1.Degree] is related to a search
1474	// query in search result. It's empty if the [Degree][google.cloud.talent.v4beta1.Degree] isn't related to the
1475	// search query.
1476	DegreeSnippet string `protobuf:"bytes,11,opt,name=degree_snippet,json=degreeSnippet,proto3" json:"degree_snippet,omitempty"`
1477}
1478
1479func (x *EducationRecord) Reset() {
1480	*x = EducationRecord{}
1481	if protoimpl.UnsafeEnabled {
1482		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[10]
1483		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1484		ms.StoreMessageInfo(mi)
1485	}
1486}
1487
1488func (x *EducationRecord) String() string {
1489	return protoimpl.X.MessageStringOf(x)
1490}
1491
1492func (*EducationRecord) ProtoMessage() {}
1493
1494func (x *EducationRecord) ProtoReflect() protoreflect.Message {
1495	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[10]
1496	if protoimpl.UnsafeEnabled && x != nil {
1497		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1498		if ms.LoadMessageInfo() == nil {
1499			ms.StoreMessageInfo(mi)
1500		}
1501		return ms
1502	}
1503	return mi.MessageOf(x)
1504}
1505
1506// Deprecated: Use EducationRecord.ProtoReflect.Descriptor instead.
1507func (*EducationRecord) Descriptor() ([]byte, []int) {
1508	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{10}
1509}
1510
1511func (x *EducationRecord) GetStartDate() *date.Date {
1512	if x != nil {
1513		return x.StartDate
1514	}
1515	return nil
1516}
1517
1518func (x *EducationRecord) GetEndDate() *date.Date {
1519	if x != nil {
1520		return x.EndDate
1521	}
1522	return nil
1523}
1524
1525func (x *EducationRecord) GetExpectedGraduationDate() *date.Date {
1526	if x != nil {
1527		return x.ExpectedGraduationDate
1528	}
1529	return nil
1530}
1531
1532func (x *EducationRecord) GetSchoolName() string {
1533	if x != nil {
1534		return x.SchoolName
1535	}
1536	return ""
1537}
1538
1539func (x *EducationRecord) GetAddress() *Address {
1540	if x != nil {
1541		return x.Address
1542	}
1543	return nil
1544}
1545
1546func (m *EducationRecord) GetDegree() isEducationRecord_Degree {
1547	if m != nil {
1548		return m.Degree
1549	}
1550	return nil
1551}
1552
1553func (x *EducationRecord) GetDegreeDescription() string {
1554	if x, ok := x.GetDegree().(*EducationRecord_DegreeDescription); ok {
1555		return x.DegreeDescription
1556	}
1557	return ""
1558}
1559
1560func (x *EducationRecord) GetStructuredDegree() *Degree {
1561	if x, ok := x.GetDegree().(*EducationRecord_StructuredDegree); ok {
1562		return x.StructuredDegree
1563	}
1564	return nil
1565}
1566
1567func (x *EducationRecord) GetDescription() string {
1568	if x != nil {
1569		return x.Description
1570	}
1571	return ""
1572}
1573
1574func (x *EducationRecord) GetIsCurrent() *wrapperspb.BoolValue {
1575	if x != nil {
1576		return x.IsCurrent
1577	}
1578	return nil
1579}
1580
1581func (x *EducationRecord) GetSchoolNameSnippet() string {
1582	if x != nil {
1583		return x.SchoolNameSnippet
1584	}
1585	return ""
1586}
1587
1588func (x *EducationRecord) GetDegreeSnippet() string {
1589	if x != nil {
1590		return x.DegreeSnippet
1591	}
1592	return ""
1593}
1594
1595type isEducationRecord_Degree interface {
1596	isEducationRecord_Degree()
1597}
1598
1599type EducationRecord_DegreeDescription struct {
1600	// The full description of the degree.
1601	//
1602	// For example, "Master of Science in Computer Science", "B.S in Math".
1603	//
1604	// Number of characters allowed is 100.
1605	DegreeDescription string `protobuf:"bytes,6,opt,name=degree_description,json=degreeDescription,proto3,oneof"`
1606}
1607
1608type EducationRecord_StructuredDegree struct {
1609	// The structured notation of the degree.
1610	StructuredDegree *Degree `protobuf:"bytes,7,opt,name=structured_degree,json=structuredDegree,proto3,oneof"`
1611}
1612
1613func (*EducationRecord_DegreeDescription) isEducationRecord_Degree() {}
1614
1615func (*EducationRecord_StructuredDegree) isEducationRecord_Degree() {}
1616
1617// Resource that represents a degree pursuing or acquired by a candidate.
1618type Degree struct {
1619	state         protoimpl.MessageState
1620	sizeCache     protoimpl.SizeCache
1621	unknownFields protoimpl.UnknownFields
1622
1623	// ISCED degree type.
1624	DegreeType DegreeType `protobuf:"varint,1,opt,name=degree_type,json=degreeType,proto3,enum=google.cloud.talent.v4beta1.DegreeType" json:"degree_type,omitempty"`
1625	// Full Degree name.
1626	//
1627	// For example, "B.S.", "Master of Arts", and so on.
1628	//
1629	// Number of characters allowed is 100.
1630	DegreeName string `protobuf:"bytes,2,opt,name=degree_name,json=degreeName,proto3" json:"degree_name,omitempty"`
1631	// Fields of study for the degree.
1632	//
1633	// For example, "Computer science", "engineering".
1634	//
1635	// Number of characters allowed is 100.
1636	FieldsOfStudy []string `protobuf:"bytes,3,rep,name=fields_of_study,json=fieldsOfStudy,proto3" json:"fields_of_study,omitempty"`
1637}
1638
1639func (x *Degree) Reset() {
1640	*x = Degree{}
1641	if protoimpl.UnsafeEnabled {
1642		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[11]
1643		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1644		ms.StoreMessageInfo(mi)
1645	}
1646}
1647
1648func (x *Degree) String() string {
1649	return protoimpl.X.MessageStringOf(x)
1650}
1651
1652func (*Degree) ProtoMessage() {}
1653
1654func (x *Degree) ProtoReflect() protoreflect.Message {
1655	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[11]
1656	if protoimpl.UnsafeEnabled && x != nil {
1657		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1658		if ms.LoadMessageInfo() == nil {
1659			ms.StoreMessageInfo(mi)
1660		}
1661		return ms
1662	}
1663	return mi.MessageOf(x)
1664}
1665
1666// Deprecated: Use Degree.ProtoReflect.Descriptor instead.
1667func (*Degree) Descriptor() ([]byte, []int) {
1668	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{11}
1669}
1670
1671func (x *Degree) GetDegreeType() DegreeType {
1672	if x != nil {
1673		return x.DegreeType
1674	}
1675	return DegreeType_DEGREE_TYPE_UNSPECIFIED
1676}
1677
1678func (x *Degree) GetDegreeName() string {
1679	if x != nil {
1680		return x.DegreeName
1681	}
1682	return ""
1683}
1684
1685func (x *Degree) GetFieldsOfStudy() []string {
1686	if x != nil {
1687		return x.FieldsOfStudy
1688	}
1689	return nil
1690}
1691
1692// Resource that represents an individual or collaborative activity participated
1693// in by a candidate, for example, an open-source project, a class assignment,
1694// and so on.
1695type Activity struct {
1696	state         protoimpl.MessageState
1697	sizeCache     protoimpl.SizeCache
1698	unknownFields protoimpl.UnknownFields
1699
1700	// Activity display name.
1701	//
1702	// Number of characters allowed is 100.
1703	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
1704	// Activity description.
1705	//
1706	// Number of characters allowed is 100,000.
1707	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
1708	// Activity URI.
1709	//
1710	// Number of characters allowed is 4,000.
1711	Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"`
1712	// The first creation date of the activity.
1713	CreateDate *date.Date `protobuf:"bytes,4,opt,name=create_date,json=createDate,proto3" json:"create_date,omitempty"`
1714	// The last update date of the activity.
1715	UpdateDate *date.Date `protobuf:"bytes,5,opt,name=update_date,json=updateDate,proto3" json:"update_date,omitempty"`
1716	// A list of team members involved in this activity.
1717	//
1718	// Number of characters allowed is 100.
1719	//
1720	// The limitation for max number of team members is 50.
1721	TeamMembers []string `protobuf:"bytes,6,rep,name=team_members,json=teamMembers,proto3" json:"team_members,omitempty"`
1722	// A list of skills used in this activity.
1723	//
1724	// The limitation for max number of skills used is 50.
1725	SkillsUsed []*Skill `protobuf:"bytes,7,rep,name=skills_used,json=skillsUsed,proto3" json:"skills_used,omitempty"`
1726	// Output only. Activity name snippet shows how the [display_name][google.cloud.talent.v4beta1.Activity.display_name] is related to a search
1727	// query. It's empty if the [display_name][google.cloud.talent.v4beta1.Activity.display_name] isn't related to the search
1728	// query.
1729	ActivityNameSnippet string `protobuf:"bytes,8,opt,name=activity_name_snippet,json=activityNameSnippet,proto3" json:"activity_name_snippet,omitempty"`
1730	// Output only. Activity description snippet shows how the
1731	// [description][google.cloud.talent.v4beta1.Activity.description] is related to a search query. It's empty if the
1732	// [description][google.cloud.talent.v4beta1.Activity.description] isn't related to the search query.
1733	ActivityDescriptionSnippet string `protobuf:"bytes,9,opt,name=activity_description_snippet,json=activityDescriptionSnippet,proto3" json:"activity_description_snippet,omitempty"`
1734	// Output only. Skill used snippet shows how the corresponding
1735	// [skills_used][google.cloud.talent.v4beta1.Activity.skills_used] are related to a search query. It's empty if the
1736	// corresponding [skills_used][google.cloud.talent.v4beta1.Activity.skills_used] are not related to the search query.
1737	SkillsUsedSnippet []string `protobuf:"bytes,10,rep,name=skills_used_snippet,json=skillsUsedSnippet,proto3" json:"skills_used_snippet,omitempty"`
1738}
1739
1740func (x *Activity) Reset() {
1741	*x = Activity{}
1742	if protoimpl.UnsafeEnabled {
1743		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[12]
1744		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1745		ms.StoreMessageInfo(mi)
1746	}
1747}
1748
1749func (x *Activity) String() string {
1750	return protoimpl.X.MessageStringOf(x)
1751}
1752
1753func (*Activity) ProtoMessage() {}
1754
1755func (x *Activity) ProtoReflect() protoreflect.Message {
1756	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[12]
1757	if protoimpl.UnsafeEnabled && x != nil {
1758		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1759		if ms.LoadMessageInfo() == nil {
1760			ms.StoreMessageInfo(mi)
1761		}
1762		return ms
1763	}
1764	return mi.MessageOf(x)
1765}
1766
1767// Deprecated: Use Activity.ProtoReflect.Descriptor instead.
1768func (*Activity) Descriptor() ([]byte, []int) {
1769	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{12}
1770}
1771
1772func (x *Activity) GetDisplayName() string {
1773	if x != nil {
1774		return x.DisplayName
1775	}
1776	return ""
1777}
1778
1779func (x *Activity) GetDescription() string {
1780	if x != nil {
1781		return x.Description
1782	}
1783	return ""
1784}
1785
1786func (x *Activity) GetUri() string {
1787	if x != nil {
1788		return x.Uri
1789	}
1790	return ""
1791}
1792
1793func (x *Activity) GetCreateDate() *date.Date {
1794	if x != nil {
1795		return x.CreateDate
1796	}
1797	return nil
1798}
1799
1800func (x *Activity) GetUpdateDate() *date.Date {
1801	if x != nil {
1802		return x.UpdateDate
1803	}
1804	return nil
1805}
1806
1807func (x *Activity) GetTeamMembers() []string {
1808	if x != nil {
1809		return x.TeamMembers
1810	}
1811	return nil
1812}
1813
1814func (x *Activity) GetSkillsUsed() []*Skill {
1815	if x != nil {
1816		return x.SkillsUsed
1817	}
1818	return nil
1819}
1820
1821func (x *Activity) GetActivityNameSnippet() string {
1822	if x != nil {
1823		return x.ActivityNameSnippet
1824	}
1825	return ""
1826}
1827
1828func (x *Activity) GetActivityDescriptionSnippet() string {
1829	if x != nil {
1830		return x.ActivityDescriptionSnippet
1831	}
1832	return ""
1833}
1834
1835func (x *Activity) GetSkillsUsedSnippet() []string {
1836	if x != nil {
1837		return x.SkillsUsedSnippet
1838	}
1839	return nil
1840}
1841
1842// Resource that represents a publication resource of a candidate.
1843type Publication struct {
1844	state         protoimpl.MessageState
1845	sizeCache     protoimpl.SizeCache
1846	unknownFields protoimpl.UnknownFields
1847
1848	// A list of author names.
1849	//
1850	// Number of characters allowed is 100.
1851	Authors []string `protobuf:"bytes,1,rep,name=authors,proto3" json:"authors,omitempty"`
1852	// The title of the publication.
1853	//
1854	// Number of characters allowed is 100.
1855	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
1856	// The description of the publication.
1857	//
1858	// Number of characters allowed is 100,000.
1859	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
1860	// The journal name of the publication.
1861	//
1862	// Number of characters allowed is 100.
1863	Journal string `protobuf:"bytes,4,opt,name=journal,proto3" json:"journal,omitempty"`
1864	// Volume number.
1865	//
1866	// Number of characters allowed is 100.
1867	Volume string `protobuf:"bytes,5,opt,name=volume,proto3" json:"volume,omitempty"`
1868	// The publisher of the journal.
1869	//
1870	// Number of characters allowed is 100.
1871	Publisher string `protobuf:"bytes,6,opt,name=publisher,proto3" json:"publisher,omitempty"`
1872	// The publication date.
1873	PublicationDate *date.Date `protobuf:"bytes,7,opt,name=publication_date,json=publicationDate,proto3" json:"publication_date,omitempty"`
1874	// The publication type.
1875	//
1876	// Number of characters allowed is 100.
1877	PublicationType string `protobuf:"bytes,8,opt,name=publication_type,json=publicationType,proto3" json:"publication_type,omitempty"`
1878	// ISBN number.
1879	//
1880	// Number of characters allowed is 100.
1881	Isbn string `protobuf:"bytes,9,opt,name=isbn,proto3" json:"isbn,omitempty"`
1882}
1883
1884func (x *Publication) Reset() {
1885	*x = Publication{}
1886	if protoimpl.UnsafeEnabled {
1887		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[13]
1888		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1889		ms.StoreMessageInfo(mi)
1890	}
1891}
1892
1893func (x *Publication) String() string {
1894	return protoimpl.X.MessageStringOf(x)
1895}
1896
1897func (*Publication) ProtoMessage() {}
1898
1899func (x *Publication) ProtoReflect() protoreflect.Message {
1900	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[13]
1901	if protoimpl.UnsafeEnabled && x != nil {
1902		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1903		if ms.LoadMessageInfo() == nil {
1904			ms.StoreMessageInfo(mi)
1905		}
1906		return ms
1907	}
1908	return mi.MessageOf(x)
1909}
1910
1911// Deprecated: Use Publication.ProtoReflect.Descriptor instead.
1912func (*Publication) Descriptor() ([]byte, []int) {
1913	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{13}
1914}
1915
1916func (x *Publication) GetAuthors() []string {
1917	if x != nil {
1918		return x.Authors
1919	}
1920	return nil
1921}
1922
1923func (x *Publication) GetTitle() string {
1924	if x != nil {
1925		return x.Title
1926	}
1927	return ""
1928}
1929
1930func (x *Publication) GetDescription() string {
1931	if x != nil {
1932		return x.Description
1933	}
1934	return ""
1935}
1936
1937func (x *Publication) GetJournal() string {
1938	if x != nil {
1939		return x.Journal
1940	}
1941	return ""
1942}
1943
1944func (x *Publication) GetVolume() string {
1945	if x != nil {
1946		return x.Volume
1947	}
1948	return ""
1949}
1950
1951func (x *Publication) GetPublisher() string {
1952	if x != nil {
1953		return x.Publisher
1954	}
1955	return ""
1956}
1957
1958func (x *Publication) GetPublicationDate() *date.Date {
1959	if x != nil {
1960		return x.PublicationDate
1961	}
1962	return nil
1963}
1964
1965func (x *Publication) GetPublicationType() string {
1966	if x != nil {
1967		return x.PublicationType
1968	}
1969	return ""
1970}
1971
1972func (x *Publication) GetIsbn() string {
1973	if x != nil {
1974		return x.Isbn
1975	}
1976	return ""
1977}
1978
1979// Resource that represents the patent acquired by a candidate.
1980type Patent struct {
1981	state         protoimpl.MessageState
1982	sizeCache     protoimpl.SizeCache
1983	unknownFields protoimpl.UnknownFields
1984
1985	// Name of the patent.
1986	//
1987	// Number of characters allowed is 100.
1988	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
1989	// A list of inventors' names.
1990	//
1991	// Number of characters allowed for each is 100.
1992	Inventors []string `protobuf:"bytes,2,rep,name=inventors,proto3" json:"inventors,omitempty"`
1993	// The status of the patent.
1994	//
1995	// Number of characters allowed is 100.
1996	PatentStatus string `protobuf:"bytes,3,opt,name=patent_status,json=patentStatus,proto3" json:"patent_status,omitempty"`
1997	// The date the last time the status of the patent was checked.
1998	PatentStatusDate *date.Date `protobuf:"bytes,4,opt,name=patent_status_date,json=patentStatusDate,proto3" json:"patent_status_date,omitempty"`
1999	// The date that the patent was filed.
2000	PatentFilingDate *date.Date `protobuf:"bytes,5,opt,name=patent_filing_date,json=patentFilingDate,proto3" json:"patent_filing_date,omitempty"`
2001	// The name of the patent office.
2002	//
2003	// Number of characters allowed is 100.
2004	PatentOffice string `protobuf:"bytes,6,opt,name=patent_office,json=patentOffice,proto3" json:"patent_office,omitempty"`
2005	// The number of the patent.
2006	//
2007	// Number of characters allowed is 100.
2008	PatentNumber string `protobuf:"bytes,7,opt,name=patent_number,json=patentNumber,proto3" json:"patent_number,omitempty"`
2009	// The description of the patent.
2010	//
2011	// Number of characters allowed is 100,000.
2012	PatentDescription string `protobuf:"bytes,8,opt,name=patent_description,json=patentDescription,proto3" json:"patent_description,omitempty"`
2013	// The skills used in this patent.
2014	SkillsUsed []*Skill `protobuf:"bytes,9,rep,name=skills_used,json=skillsUsed,proto3" json:"skills_used,omitempty"`
2015}
2016
2017func (x *Patent) Reset() {
2018	*x = Patent{}
2019	if protoimpl.UnsafeEnabled {
2020		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[14]
2021		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2022		ms.StoreMessageInfo(mi)
2023	}
2024}
2025
2026func (x *Patent) String() string {
2027	return protoimpl.X.MessageStringOf(x)
2028}
2029
2030func (*Patent) ProtoMessage() {}
2031
2032func (x *Patent) ProtoReflect() protoreflect.Message {
2033	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[14]
2034	if protoimpl.UnsafeEnabled && x != nil {
2035		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2036		if ms.LoadMessageInfo() == nil {
2037			ms.StoreMessageInfo(mi)
2038		}
2039		return ms
2040	}
2041	return mi.MessageOf(x)
2042}
2043
2044// Deprecated: Use Patent.ProtoReflect.Descriptor instead.
2045func (*Patent) Descriptor() ([]byte, []int) {
2046	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{14}
2047}
2048
2049func (x *Patent) GetDisplayName() string {
2050	if x != nil {
2051		return x.DisplayName
2052	}
2053	return ""
2054}
2055
2056func (x *Patent) GetInventors() []string {
2057	if x != nil {
2058		return x.Inventors
2059	}
2060	return nil
2061}
2062
2063func (x *Patent) GetPatentStatus() string {
2064	if x != nil {
2065		return x.PatentStatus
2066	}
2067	return ""
2068}
2069
2070func (x *Patent) GetPatentStatusDate() *date.Date {
2071	if x != nil {
2072		return x.PatentStatusDate
2073	}
2074	return nil
2075}
2076
2077func (x *Patent) GetPatentFilingDate() *date.Date {
2078	if x != nil {
2079		return x.PatentFilingDate
2080	}
2081	return nil
2082}
2083
2084func (x *Patent) GetPatentOffice() string {
2085	if x != nil {
2086		return x.PatentOffice
2087	}
2088	return ""
2089}
2090
2091func (x *Patent) GetPatentNumber() string {
2092	if x != nil {
2093		return x.PatentNumber
2094	}
2095	return ""
2096}
2097
2098func (x *Patent) GetPatentDescription() string {
2099	if x != nil {
2100		return x.PatentDescription
2101	}
2102	return ""
2103}
2104
2105func (x *Patent) GetSkillsUsed() []*Skill {
2106	if x != nil {
2107		return x.SkillsUsed
2108	}
2109	return nil
2110}
2111
2112// Resource that represents a person's structured name.
2113type PersonName_PersonStructuredName struct {
2114	state         protoimpl.MessageState
2115	sizeCache     protoimpl.SizeCache
2116	unknownFields protoimpl.UnknownFields
2117
2118	// Given/first name.
2119	//
2120	// It's derived from [formatted_name][google.cloud.talent.v4beta1.PersonName.formatted_name] if not provided.
2121	//
2122	// Number of characters allowed is 100.
2123	GivenName string `protobuf:"bytes,1,opt,name=given_name,json=givenName,proto3" json:"given_name,omitempty"`
2124	// Preferred given/first name or nickname.
2125	//
2126	// Number of characters allowed is 100.
2127	PreferredName string `protobuf:"bytes,6,opt,name=preferred_name,json=preferredName,proto3" json:"preferred_name,omitempty"`
2128	// Middle initial.
2129	//
2130	// It's derived from [formatted_name][google.cloud.talent.v4beta1.PersonName.formatted_name] if not provided.
2131	//
2132	// Number of characters allowed is 20.
2133	MiddleInitial string `protobuf:"bytes,2,opt,name=middle_initial,json=middleInitial,proto3" json:"middle_initial,omitempty"`
2134	// Family/last name.
2135	//
2136	// It's derived from [formatted_name][google.cloud.talent.v4beta1.PersonName.formatted_name] if not provided.
2137	//
2138	// Number of characters allowed is 100.
2139	FamilyName string `protobuf:"bytes,3,opt,name=family_name,json=familyName,proto3" json:"family_name,omitempty"`
2140	// Suffixes.
2141	//
2142	// Number of characters allowed is 20.
2143	Suffixes []string `protobuf:"bytes,4,rep,name=suffixes,proto3" json:"suffixes,omitempty"`
2144	// Prefixes.
2145	//
2146	// Number of characters allowed is 20.
2147	Prefixes []string `protobuf:"bytes,5,rep,name=prefixes,proto3" json:"prefixes,omitempty"`
2148}
2149
2150func (x *PersonName_PersonStructuredName) Reset() {
2151	*x = PersonName_PersonStructuredName{}
2152	if protoimpl.UnsafeEnabled {
2153		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[16]
2154		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2155		ms.StoreMessageInfo(mi)
2156	}
2157}
2158
2159func (x *PersonName_PersonStructuredName) String() string {
2160	return protoimpl.X.MessageStringOf(x)
2161}
2162
2163func (*PersonName_PersonStructuredName) ProtoMessage() {}
2164
2165func (x *PersonName_PersonStructuredName) ProtoReflect() protoreflect.Message {
2166	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[16]
2167	if protoimpl.UnsafeEnabled && x != nil {
2168		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2169		if ms.LoadMessageInfo() == nil {
2170			ms.StoreMessageInfo(mi)
2171		}
2172		return ms
2173	}
2174	return mi.MessageOf(x)
2175}
2176
2177// Deprecated: Use PersonName_PersonStructuredName.ProtoReflect.Descriptor instead.
2178func (*PersonName_PersonStructuredName) Descriptor() ([]byte, []int) {
2179	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{3, 0}
2180}
2181
2182func (x *PersonName_PersonStructuredName) GetGivenName() string {
2183	if x != nil {
2184		return x.GivenName
2185	}
2186	return ""
2187}
2188
2189func (x *PersonName_PersonStructuredName) GetPreferredName() string {
2190	if x != nil {
2191		return x.PreferredName
2192	}
2193	return ""
2194}
2195
2196func (x *PersonName_PersonStructuredName) GetMiddleInitial() string {
2197	if x != nil {
2198		return x.MiddleInitial
2199	}
2200	return ""
2201}
2202
2203func (x *PersonName_PersonStructuredName) GetFamilyName() string {
2204	if x != nil {
2205		return x.FamilyName
2206	}
2207	return ""
2208}
2209
2210func (x *PersonName_PersonStructuredName) GetSuffixes() []string {
2211	if x != nil {
2212		return x.Suffixes
2213	}
2214	return nil
2215}
2216
2217func (x *PersonName_PersonStructuredName) GetPrefixes() []string {
2218	if x != nil {
2219		return x.Prefixes
2220	}
2221	return nil
2222}
2223
2224var File_google_cloud_talent_v4beta1_profile_proto protoreflect.FileDescriptor
2225
2226var file_google_cloud_talent_v4beta1_profile_proto_rawDesc = []byte{
2227	0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74,
2228	0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72,
2229	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f,
2230	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
2231	0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2232	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76,
2233	0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2234	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70,
2235	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
2236	0x75, 0x64, 0x2f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2237	0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e,
2238	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
2239	0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
2240	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
2241	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2242	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2243	0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2244	0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64, 0x61, 0x74,
2245	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2246	0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72,
2247	0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2248	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2249	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x11, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x66,
2250	0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
2251	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72,
2252	0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78,
2253	0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
2254	0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
2255	0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
2256	0x72, 0x69, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x05,
2257	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x39, 0x0a,
2258	0x0a, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
2259	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2260	0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x69,
2261	0x73, 0x48, 0x69, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
2262	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
2263	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2264	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
2265	0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
2266	0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
2267	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
2268	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
2269	0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x15, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f,
2270	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x43, 0x20, 0x01, 0x28,
2271	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2272	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x63,
2273	0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
2274	0x6d, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64,
2275	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
2276	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2277	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x72, 0x65, 0x73, 0x75,
2278	0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x06,
2279	0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
2280	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65,
2281	0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d,
2282	0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x70, 0x65, 0x72,
2283	0x73, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32,
2284	0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
2285	0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65,
2286	0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,
2287	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
2288	0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2289	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76,
2290	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09,
2291	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0f, 0x65, 0x6d, 0x61,
2292	0x69, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03,
2293	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2294	0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
2295	0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64,
2296	0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0d, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f,
2297	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
2298	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
2299	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x68, 0x6f, 0x6e,
2300	0x65, 0x52, 0x0c, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12,
2301	0x4d, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x69, 0x73,
2302	0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2303	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62,
2304	0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x72, 0x69,
2305	0x52, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x72, 0x69, 0x73, 0x12, 0x6a,
2306	0x0a, 0x17, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e,
2307	0x74, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32,
2308	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
2309	0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64,
2310	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49,
2311	0x6e, 0x66, 0x6f, 0x52, 0x15, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43,
2312	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x12, 0x65, 0x6d,
2313	0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
2314	0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2315	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62,
2316	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52,
2317	0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x11, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e,
2318	0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x59, 0x0a, 0x11, 0x65, 0x64, 0x75, 0x63,
2319	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x12, 0x20,
2320	0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2321	0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2322	0x31, 0x2e, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72,
2323	0x64, 0x52, 0x10, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f,
2324	0x72, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x13, 0x20,
2325	0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2326	0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2327	0x31, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12,
2328	0x45, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x14, 0x20,
2329	0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2330	0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2331	0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69,
2332	0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
2333	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
2334	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65,
2335	0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69,
2336	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74,
2337	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18,
2338	0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2339	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2340	0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x70, 0x61, 0x74, 0x65,
2341	0x6e, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
2342	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f,
2343	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e,
2344	0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
2345	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
2346	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69,
2347	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2f, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0,
2348	0x41, 0x03, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2349	0x12, 0x25, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
2350	0x30, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x69,
2351	0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f,
2352	0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03,
2353	0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2354	0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
2355	0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41,
2356	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10,
2357	0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
2358	0x12, 0x21, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x1b, 0x20,
2359	0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
2360	0x73, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x73,
2361	0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
2362	0x03, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65,
2363	0x74, 0x12, 0x67, 0x0a, 0x14, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
2364	0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b, 0x32,
2365	0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
2366	0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x76,
2367	0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c,
2368	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c,
2369	0x69, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x57, 0x0a, 0x11, 0x64, 0x65,
2370	0x72, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18,
2371	0x40, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2372	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2373	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41,
2374	0x03, 0x52, 0x10, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
2375	0x73, 0x65, 0x73, 0x1a, 0x71, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74,
2376	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
2377	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42,
2378	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
2379	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
2380	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74,
2381	0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
2382	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x58, 0xea, 0x41, 0x55, 0x0a, 0x1b, 0x6a, 0x6f, 0x62,
2383	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2384	0x2f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
2385	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, 0x65, 0x6e,
2386	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x7d, 0x2f, 0x70, 0x72,
2387	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x7d,
2388	0x22, 0xea, 0x01, 0x0a, 0x12, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
2389	0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x47, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
2390	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2391	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2392	0x74, 0x61, 0x31, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
2393	0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
2394	0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
2395	0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
2396	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
2397	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61,
2398	0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
2399	0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
2400	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2401	0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x66, 0x69,
2402	0x6c, 0x74, 0x65, 0x72, 0x53, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x22, 0xd3, 0x01,
2403	0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x75,
2404	0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x01, 0x20,
2405	0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x52,
2406	0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f,
2407	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f,
2408	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
2409	0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x2e,
2410	0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75,
2411	0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4b, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65,
2412	0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x45, 0x5f, 0x54,
2413	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
2414	0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x52, 0x58, 0x4d, 0x4c, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11,
2415	0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x45, 0x5f, 0x54, 0x59, 0x50,
2416	0x45, 0x10, 0x02, 0x22, 0xb3, 0x03, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61,
2417	0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x5f,
2418	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x6f,
2419	0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x0f, 0x73,
2420	0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
2421	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2422	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74,
2423	0x61, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x2e, 0x50, 0x65,
2424	0x72, 0x73, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4e, 0x61,
2425	0x6d, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64,
2426	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65,
2427	0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72,
2428	0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xdc, 0x01, 0x0a, 0x14,
2429	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64,
2430	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x5f, 0x6e, 0x61,
2431	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x4e,
2432	0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64,
2433	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65,
2434	0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x69,
2435	0x64, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01,
2436	0x28, 0x09, 0x52, 0x0d, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
2437	0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
2438	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x4e, 0x61,
2439	0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x04,
2440	0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x1a,
2441	0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
2442	0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x70, 0x65,
2443	0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x91, 0x02, 0x0a, 0x07, 0x41, 0x64,
2444	0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01,
2445	0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2446	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74,
2447	0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73,
2448	0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x14, 0x75, 0x6e,
2449	0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65,
2450	0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x75, 0x6e, 0x73, 0x74,
2451	0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
2452	0x4b, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64,
2453	0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
2454	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x61, 0x6c,
2455	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x72, 0x75, 0x63,
2456	0x74, 0x75, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x07,
2457	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
2458	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2459	0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65,
2460	0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x71, 0x0a,
2461	0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x43, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18,
2462	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2463	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2464	0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x55,
2465	0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65,
2466	0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
2467	0x28, 0x09, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
2468	0x22, 0xf3, 0x02, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x75, 0x73,
2469	0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2470	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e,
2471	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49,
2472	0x6e, 0x66, 0x6f, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12,
2473	0x40, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e,
2474	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
2475	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x68, 0x6f, 0x6e,
2476	0x65, 0x2e, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
2477	0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
2478	0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x68, 0x65,
2479	0x6e, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
2480	0x09, 0x52, 0x0d, 0x77, 0x68, 0x65, 0x6e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
2481	0x22, 0xa3, 0x01, 0x0a, 0x09, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a,
2482	0x0a, 0x16, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53,
2483	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x41,
2484	0x4e, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x4f, 0x42, 0x49,
2485	0x4c, 0x45, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x41, 0x58, 0x10, 0x03, 0x12, 0x09, 0x0a,
2486	0x05, 0x50, 0x41, 0x47, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x54, 0x59, 0x5f,
2487	0x4f, 0x52, 0x5f, 0x54, 0x44, 0x44, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x4f, 0x49, 0x43,
2488	0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x49, 0x52, 0x54, 0x55,
2489	0x41, 0x4c, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x56, 0x4f, 0x49, 0x50, 0x10, 0x08, 0x12, 0x16,
2490	0x0a, 0x12, 0x4d, 0x4f, 0x42, 0x49, 0x4c, 0x45, 0x5f, 0x4f, 0x52, 0x5f, 0x4c, 0x41, 0x4e, 0x44,
2491	0x4c, 0x49, 0x4e, 0x45, 0x10, 0x09, 0x22, 0x1f, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,
2492	0x61, 0x6c, 0x55, 0x72, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01,
2493	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x8f, 0x01, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x69,
2494	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66,
2495	0x6f, 0x12, 0x43, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
2496	0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2497	0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43,
2498	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52,
2499	0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
2500	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f,
2501	0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
2502	0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x64, 0x22, 0xab, 0x05, 0x0a, 0x10, 0x45, 0x6d,
2503	0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x30,
2504	0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01,
2505	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65,
2506	0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65,
2507	0x12, 0x2c, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
2508	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65,
2509	0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x23,
2510	0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
2511	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x72, 0x4e,
2512	0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
2513	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x76, 0x69,
2514	0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72,
2515	0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2516	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e,
2517	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52,
2518	0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f,
2519	0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62,
2520	0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73,
2521	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
2522	0x6a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f,
2523	0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18,
2524	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2525	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
2526	0x65, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12,
2527	0x44, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x65, 0x6d, 0x70, 0x6c, 0x6f,
2528	0x79, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2529	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
2530	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x45, 0x6d, 0x70,
2531	0x6c, 0x6f, 0x79, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72,
2532	0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2533	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
2534	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x69, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
2535	0x12, 0x2f, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x6e,
2536	0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
2537	0x52, 0x0f, 0x6a, 0x6f, 0x62, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65,
2538	0x74, 0x12, 0x3b, 0x0a, 0x17, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
2539	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01,
2540	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63,
2541	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x37,
2542	0x0a, 0x15, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f,
2543	0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
2544	0x41, 0x03, 0x52, 0x13, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
2545	0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x22, 0xec, 0x04, 0x0a, 0x0f, 0x45, 0x64, 0x75, 0x63,
2546	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x30, 0x0a, 0x0a, 0x73,
2547	0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2548	0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61,
2549	0x74, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a,
2550	0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2551	0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61,
2552	0x74, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x18, 0x65,
2553	0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x75, 0x61, 0x74, 0x69,
2554	0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
2555	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65,
2556	0x52, 0x16, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x75, 0x61,
2557	0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x6f,
2558	0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73,
2559	0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x61, 0x64, 0x64,
2560	0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
2561	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
2562	0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
2563	0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2f, 0x0a, 0x12, 0x64, 0x65, 0x67,
2564	0x72, 0x65, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
2565	0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x44,
2566	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x11, 0x73, 0x74,
2567	0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x18,
2568	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2569	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2570	0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x48, 0x00, 0x52, 0x10, 0x73, 0x74,
2571	0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x12, 0x20,
2572	0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20,
2573	0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
2574	0x12, 0x39, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x09,
2575	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
2576	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
2577	0x52, 0x09, 0x69, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x73,
2578	0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70,
2579	0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x73,
2580	0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74,
2581	0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70,
2582	0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x64,
2583	0x65, 0x67, 0x72, 0x65, 0x65, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x42, 0x08, 0x0a, 0x06,
2584	0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x67, 0x72, 0x65,
2585	0x65, 0x12, 0x48, 0x0a, 0x0b, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
2586	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2587	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62,
2588	0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
2589	0x0a, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64,
2590	0x65, 0x67, 0x72, 0x65, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
2591	0x52, 0x0a, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f,
2592	0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x75, 0x64, 0x79, 0x18,
2593	0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4f, 0x66, 0x53,
2594	0x74, 0x75, 0x64, 0x79, 0x22, 0xe6, 0x03, 0x0a, 0x08, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
2595	0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
2596	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
2597	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
2598	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
2599	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20,
2600	0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x32, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
2601	0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
2602	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65,
2603	0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x0b,
2604	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
2605	0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e,
2606	0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65,
2607	0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,
2608	0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62,
2609	0x65, 0x72, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x75, 0x73,
2610	0x65, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2611	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76,
2612	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x0a, 0x73, 0x6b,
2613	0x69, 0x6c, 0x6c, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x15, 0x61, 0x63, 0x74, 0x69,
2614	0x76, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65,
2615	0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x61, 0x63,
2616	0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65,
2617	0x74, 0x12, 0x45, 0x0a, 0x1c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x65,
2618	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65,
2619	0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1a, 0x61, 0x63,
2620	0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
2621	0x6e, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x73, 0x6b, 0x69, 0x6c,
2622	0x6c, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18,
2623	0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x73, 0x6b, 0x69, 0x6c,
2624	0x6c, 0x73, 0x55, 0x73, 0x65, 0x64, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x22, 0xac, 0x02,
2625	0x0a, 0x0b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
2626	0x07, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
2627	0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
2628	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a,
2629	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
2630	0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
2631	0x18, 0x0a, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
2632	0x52, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c,
2633	0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d,
2634	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x06,
2635	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12,
2636	0x3c, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64,
2637	0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2638	0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x75,
2639	0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a,
2640	0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70,
2641	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61,
2642	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x62, 0x6e,
2643	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x73, 0x62, 0x6e, 0x22, 0xae, 0x03, 0x0a,
2644	0x06, 0x50, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c,
2645	0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
2646	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e,
2647	0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69,
2648	0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x65,
2649	0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
2650	0x0c, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a,
2651	0x12, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64,
2652	0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2653	0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x70, 0x61,
2654	0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f,
2655	0x0a, 0x12, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f,
2656	0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f,
2657	0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x70,
2658	0x61, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x65, 0x12,
2659	0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65,
2660	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x4f, 0x66,
2661	0x66, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6e,
2662	0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x74,
2663	0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x61, 0x74,
2664	0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
2665	0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73,
2666	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x6b, 0x69, 0x6c,
2667	0x6c, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
2668	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
2669	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x6b, 0x69, 0x6c,
2670	0x6c, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x55, 0x73, 0x65, 0x64, 0x42, 0x82, 0x01,
2671	0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2672	0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2673	0x31, 0x42, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
2674	0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2675	0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e,
2676	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
2677	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34,
2678	0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0xa2, 0x02, 0x03, 0x43,
2679	0x54, 0x53, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2680}
2681
2682var (
2683	file_google_cloud_talent_v4beta1_profile_proto_rawDescOnce sync.Once
2684	file_google_cloud_talent_v4beta1_profile_proto_rawDescData = file_google_cloud_talent_v4beta1_profile_proto_rawDesc
2685)
2686
2687func file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP() []byte {
2688	file_google_cloud_talent_v4beta1_profile_proto_rawDescOnce.Do(func() {
2689		file_google_cloud_talent_v4beta1_profile_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_talent_v4beta1_profile_proto_rawDescData)
2690	})
2691	return file_google_cloud_talent_v4beta1_profile_proto_rawDescData
2692}
2693
2694var file_google_cloud_talent_v4beta1_profile_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
2695var file_google_cloud_talent_v4beta1_profile_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
2696var file_google_cloud_talent_v4beta1_profile_proto_goTypes = []interface{}{
2697	(Resume_ResumeType)(0),                  // 0: google.cloud.talent.v4beta1.Resume.ResumeType
2698	(Phone_PhoneType)(0),                    // 1: google.cloud.talent.v4beta1.Phone.PhoneType
2699	(*Profile)(nil),                         // 2: google.cloud.talent.v4beta1.Profile
2700	(*AvailabilitySignal)(nil),              // 3: google.cloud.talent.v4beta1.AvailabilitySignal
2701	(*Resume)(nil),                          // 4: google.cloud.talent.v4beta1.Resume
2702	(*PersonName)(nil),                      // 5: google.cloud.talent.v4beta1.PersonName
2703	(*Address)(nil),                         // 6: google.cloud.talent.v4beta1.Address
2704	(*Email)(nil),                           // 7: google.cloud.talent.v4beta1.Email
2705	(*Phone)(nil),                           // 8: google.cloud.talent.v4beta1.Phone
2706	(*PersonalUri)(nil),                     // 9: google.cloud.talent.v4beta1.PersonalUri
2707	(*AdditionalContactInfo)(nil),           // 10: google.cloud.talent.v4beta1.AdditionalContactInfo
2708	(*EmploymentRecord)(nil),                // 11: google.cloud.talent.v4beta1.EmploymentRecord
2709	(*EducationRecord)(nil),                 // 12: google.cloud.talent.v4beta1.EducationRecord
2710	(*Degree)(nil),                          // 13: google.cloud.talent.v4beta1.Degree
2711	(*Activity)(nil),                        // 14: google.cloud.talent.v4beta1.Activity
2712	(*Publication)(nil),                     // 15: google.cloud.talent.v4beta1.Publication
2713	(*Patent)(nil),                          // 16: google.cloud.talent.v4beta1.Patent
2714	nil,                                     // 17: google.cloud.talent.v4beta1.Profile.CustomAttributesEntry
2715	(*PersonName_PersonStructuredName)(nil), // 18: google.cloud.talent.v4beta1.PersonName.PersonStructuredName
2716	(*wrapperspb.BoolValue)(nil),            // 19: google.protobuf.BoolValue
2717	(*timestamppb.Timestamp)(nil),           // 20: google.protobuf.Timestamp
2718	(*Skill)(nil),                           // 21: google.cloud.talent.v4beta1.Skill
2719	(*Certification)(nil),                   // 22: google.cloud.talent.v4beta1.Certification
2720	(*Location)(nil),                        // 23: google.cloud.talent.v4beta1.Location
2721	(AvailabilitySignalType)(0),             // 24: google.cloud.talent.v4beta1.AvailabilitySignalType
2722	(ContactInfoUsage)(0),                   // 25: google.cloud.talent.v4beta1.ContactInfoUsage
2723	(*postaladdress.PostalAddress)(nil),     // 26: google.type.PostalAddress
2724	(*date.Date)(nil),                       // 27: google.type.Date
2725	(DegreeType)(0),                         // 28: google.cloud.talent.v4beta1.DegreeType
2726	(*CustomAttribute)(nil),                 // 29: google.cloud.talent.v4beta1.CustomAttribute
2727}
2728var file_google_cloud_talent_v4beta1_profile_proto_depIdxs = []int32{
2729	19, // 0: google.cloud.talent.v4beta1.Profile.is_hirable:type_name -> google.protobuf.BoolValue
2730	20, // 1: google.cloud.talent.v4beta1.Profile.create_time:type_name -> google.protobuf.Timestamp
2731	20, // 2: google.cloud.talent.v4beta1.Profile.update_time:type_name -> google.protobuf.Timestamp
2732	20, // 3: google.cloud.talent.v4beta1.Profile.candidate_update_time:type_name -> google.protobuf.Timestamp
2733	20, // 4: google.cloud.talent.v4beta1.Profile.resume_update_time:type_name -> google.protobuf.Timestamp
2734	4,  // 5: google.cloud.talent.v4beta1.Profile.resume:type_name -> google.cloud.talent.v4beta1.Resume
2735	5,  // 6: google.cloud.talent.v4beta1.Profile.person_names:type_name -> google.cloud.talent.v4beta1.PersonName
2736	6,  // 7: google.cloud.talent.v4beta1.Profile.addresses:type_name -> google.cloud.talent.v4beta1.Address
2737	7,  // 8: google.cloud.talent.v4beta1.Profile.email_addresses:type_name -> google.cloud.talent.v4beta1.Email
2738	8,  // 9: google.cloud.talent.v4beta1.Profile.phone_numbers:type_name -> google.cloud.talent.v4beta1.Phone
2739	9,  // 10: google.cloud.talent.v4beta1.Profile.personal_uris:type_name -> google.cloud.talent.v4beta1.PersonalUri
2740	10, // 11: google.cloud.talent.v4beta1.Profile.additional_contact_info:type_name -> google.cloud.talent.v4beta1.AdditionalContactInfo
2741	11, // 12: google.cloud.talent.v4beta1.Profile.employment_records:type_name -> google.cloud.talent.v4beta1.EmploymentRecord
2742	12, // 13: google.cloud.talent.v4beta1.Profile.education_records:type_name -> google.cloud.talent.v4beta1.EducationRecord
2743	21, // 14: google.cloud.talent.v4beta1.Profile.skills:type_name -> google.cloud.talent.v4beta1.Skill
2744	14, // 15: google.cloud.talent.v4beta1.Profile.activities:type_name -> google.cloud.talent.v4beta1.Activity
2745	15, // 16: google.cloud.talent.v4beta1.Profile.publications:type_name -> google.cloud.talent.v4beta1.Publication
2746	16, // 17: google.cloud.talent.v4beta1.Profile.patents:type_name -> google.cloud.talent.v4beta1.Patent
2747	22, // 18: google.cloud.talent.v4beta1.Profile.certifications:type_name -> google.cloud.talent.v4beta1.Certification
2748	17, // 19: google.cloud.talent.v4beta1.Profile.custom_attributes:type_name -> google.cloud.talent.v4beta1.Profile.CustomAttributesEntry
2749	3,  // 20: google.cloud.talent.v4beta1.Profile.availability_signals:type_name -> google.cloud.talent.v4beta1.AvailabilitySignal
2750	23, // 21: google.cloud.talent.v4beta1.Profile.derived_addresses:type_name -> google.cloud.talent.v4beta1.Location
2751	24, // 22: google.cloud.talent.v4beta1.AvailabilitySignal.type:type_name -> google.cloud.talent.v4beta1.AvailabilitySignalType
2752	20, // 23: google.cloud.talent.v4beta1.AvailabilitySignal.last_update_time:type_name -> google.protobuf.Timestamp
2753	19, // 24: google.cloud.talent.v4beta1.AvailabilitySignal.filter_satisfied:type_name -> google.protobuf.BoolValue
2754	0,  // 25: google.cloud.talent.v4beta1.Resume.resume_type:type_name -> google.cloud.talent.v4beta1.Resume.ResumeType
2755	18, // 26: google.cloud.talent.v4beta1.PersonName.structured_name:type_name -> google.cloud.talent.v4beta1.PersonName.PersonStructuredName
2756	25, // 27: google.cloud.talent.v4beta1.Address.usage:type_name -> google.cloud.talent.v4beta1.ContactInfoUsage
2757	26, // 28: google.cloud.talent.v4beta1.Address.structured_address:type_name -> google.type.PostalAddress
2758	19, // 29: google.cloud.talent.v4beta1.Address.current:type_name -> google.protobuf.BoolValue
2759	25, // 30: google.cloud.talent.v4beta1.Email.usage:type_name -> google.cloud.talent.v4beta1.ContactInfoUsage
2760	25, // 31: google.cloud.talent.v4beta1.Phone.usage:type_name -> google.cloud.talent.v4beta1.ContactInfoUsage
2761	1,  // 32: google.cloud.talent.v4beta1.Phone.type:type_name -> google.cloud.talent.v4beta1.Phone.PhoneType
2762	25, // 33: google.cloud.talent.v4beta1.AdditionalContactInfo.usage:type_name -> google.cloud.talent.v4beta1.ContactInfoUsage
2763	27, // 34: google.cloud.talent.v4beta1.EmploymentRecord.start_date:type_name -> google.type.Date
2764	27, // 35: google.cloud.talent.v4beta1.EmploymentRecord.end_date:type_name -> google.type.Date
2765	6,  // 36: google.cloud.talent.v4beta1.EmploymentRecord.address:type_name -> google.cloud.talent.v4beta1.Address
2766	19, // 37: google.cloud.talent.v4beta1.EmploymentRecord.is_supervisor:type_name -> google.protobuf.BoolValue
2767	19, // 38: google.cloud.talent.v4beta1.EmploymentRecord.is_self_employed:type_name -> google.protobuf.BoolValue
2768	19, // 39: google.cloud.talent.v4beta1.EmploymentRecord.is_current:type_name -> google.protobuf.BoolValue
2769	27, // 40: google.cloud.talent.v4beta1.EducationRecord.start_date:type_name -> google.type.Date
2770	27, // 41: google.cloud.talent.v4beta1.EducationRecord.end_date:type_name -> google.type.Date
2771	27, // 42: google.cloud.talent.v4beta1.EducationRecord.expected_graduation_date:type_name -> google.type.Date
2772	6,  // 43: google.cloud.talent.v4beta1.EducationRecord.address:type_name -> google.cloud.talent.v4beta1.Address
2773	13, // 44: google.cloud.talent.v4beta1.EducationRecord.structured_degree:type_name -> google.cloud.talent.v4beta1.Degree
2774	19, // 45: google.cloud.talent.v4beta1.EducationRecord.is_current:type_name -> google.protobuf.BoolValue
2775	28, // 46: google.cloud.talent.v4beta1.Degree.degree_type:type_name -> google.cloud.talent.v4beta1.DegreeType
2776	27, // 47: google.cloud.talent.v4beta1.Activity.create_date:type_name -> google.type.Date
2777	27, // 48: google.cloud.talent.v4beta1.Activity.update_date:type_name -> google.type.Date
2778	21, // 49: google.cloud.talent.v4beta1.Activity.skills_used:type_name -> google.cloud.talent.v4beta1.Skill
2779	27, // 50: google.cloud.talent.v4beta1.Publication.publication_date:type_name -> google.type.Date
2780	27, // 51: google.cloud.talent.v4beta1.Patent.patent_status_date:type_name -> google.type.Date
2781	27, // 52: google.cloud.talent.v4beta1.Patent.patent_filing_date:type_name -> google.type.Date
2782	21, // 53: google.cloud.talent.v4beta1.Patent.skills_used:type_name -> google.cloud.talent.v4beta1.Skill
2783	29, // 54: google.cloud.talent.v4beta1.Profile.CustomAttributesEntry.value:type_name -> google.cloud.talent.v4beta1.CustomAttribute
2784	55, // [55:55] is the sub-list for method output_type
2785	55, // [55:55] is the sub-list for method input_type
2786	55, // [55:55] is the sub-list for extension type_name
2787	55, // [55:55] is the sub-list for extension extendee
2788	0,  // [0:55] is the sub-list for field type_name
2789}
2790
2791func init() { file_google_cloud_talent_v4beta1_profile_proto_init() }
2792func file_google_cloud_talent_v4beta1_profile_proto_init() {
2793	if File_google_cloud_talent_v4beta1_profile_proto != nil {
2794		return
2795	}
2796	file_google_cloud_talent_v4beta1_common_proto_init()
2797	if !protoimpl.UnsafeEnabled {
2798		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2799			switch v := v.(*Profile); i {
2800			case 0:
2801				return &v.state
2802			case 1:
2803				return &v.sizeCache
2804			case 2:
2805				return &v.unknownFields
2806			default:
2807				return nil
2808			}
2809		}
2810		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2811			switch v := v.(*AvailabilitySignal); i {
2812			case 0:
2813				return &v.state
2814			case 1:
2815				return &v.sizeCache
2816			case 2:
2817				return &v.unknownFields
2818			default:
2819				return nil
2820			}
2821		}
2822		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2823			switch v := v.(*Resume); i {
2824			case 0:
2825				return &v.state
2826			case 1:
2827				return &v.sizeCache
2828			case 2:
2829				return &v.unknownFields
2830			default:
2831				return nil
2832			}
2833		}
2834		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2835			switch v := v.(*PersonName); i {
2836			case 0:
2837				return &v.state
2838			case 1:
2839				return &v.sizeCache
2840			case 2:
2841				return &v.unknownFields
2842			default:
2843				return nil
2844			}
2845		}
2846		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2847			switch v := v.(*Address); i {
2848			case 0:
2849				return &v.state
2850			case 1:
2851				return &v.sizeCache
2852			case 2:
2853				return &v.unknownFields
2854			default:
2855				return nil
2856			}
2857		}
2858		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2859			switch v := v.(*Email); i {
2860			case 0:
2861				return &v.state
2862			case 1:
2863				return &v.sizeCache
2864			case 2:
2865				return &v.unknownFields
2866			default:
2867				return nil
2868			}
2869		}
2870		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2871			switch v := v.(*Phone); i {
2872			case 0:
2873				return &v.state
2874			case 1:
2875				return &v.sizeCache
2876			case 2:
2877				return &v.unknownFields
2878			default:
2879				return nil
2880			}
2881		}
2882		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2883			switch v := v.(*PersonalUri); i {
2884			case 0:
2885				return &v.state
2886			case 1:
2887				return &v.sizeCache
2888			case 2:
2889				return &v.unknownFields
2890			default:
2891				return nil
2892			}
2893		}
2894		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2895			switch v := v.(*AdditionalContactInfo); i {
2896			case 0:
2897				return &v.state
2898			case 1:
2899				return &v.sizeCache
2900			case 2:
2901				return &v.unknownFields
2902			default:
2903				return nil
2904			}
2905		}
2906		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2907			switch v := v.(*EmploymentRecord); i {
2908			case 0:
2909				return &v.state
2910			case 1:
2911				return &v.sizeCache
2912			case 2:
2913				return &v.unknownFields
2914			default:
2915				return nil
2916			}
2917		}
2918		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2919			switch v := v.(*EducationRecord); i {
2920			case 0:
2921				return &v.state
2922			case 1:
2923				return &v.sizeCache
2924			case 2:
2925				return &v.unknownFields
2926			default:
2927				return nil
2928			}
2929		}
2930		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2931			switch v := v.(*Degree); i {
2932			case 0:
2933				return &v.state
2934			case 1:
2935				return &v.sizeCache
2936			case 2:
2937				return &v.unknownFields
2938			default:
2939				return nil
2940			}
2941		}
2942		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2943			switch v := v.(*Activity); i {
2944			case 0:
2945				return &v.state
2946			case 1:
2947				return &v.sizeCache
2948			case 2:
2949				return &v.unknownFields
2950			default:
2951				return nil
2952			}
2953		}
2954		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2955			switch v := v.(*Publication); i {
2956			case 0:
2957				return &v.state
2958			case 1:
2959				return &v.sizeCache
2960			case 2:
2961				return &v.unknownFields
2962			default:
2963				return nil
2964			}
2965		}
2966		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2967			switch v := v.(*Patent); i {
2968			case 0:
2969				return &v.state
2970			case 1:
2971				return &v.sizeCache
2972			case 2:
2973				return &v.unknownFields
2974			default:
2975				return nil
2976			}
2977		}
2978		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2979			switch v := v.(*PersonName_PersonStructuredName); i {
2980			case 0:
2981				return &v.state
2982			case 1:
2983				return &v.sizeCache
2984			case 2:
2985				return &v.unknownFields
2986			default:
2987				return nil
2988			}
2989		}
2990	}
2991	file_google_cloud_talent_v4beta1_profile_proto_msgTypes[3].OneofWrappers = []interface{}{
2992		(*PersonName_FormattedName)(nil),
2993		(*PersonName_StructuredName)(nil),
2994	}
2995	file_google_cloud_talent_v4beta1_profile_proto_msgTypes[4].OneofWrappers = []interface{}{
2996		(*Address_UnstructuredAddress)(nil),
2997		(*Address_StructuredAddress)(nil),
2998	}
2999	file_google_cloud_talent_v4beta1_profile_proto_msgTypes[10].OneofWrappers = []interface{}{
3000		(*EducationRecord_DegreeDescription)(nil),
3001		(*EducationRecord_StructuredDegree)(nil),
3002	}
3003	type x struct{}
3004	out := protoimpl.TypeBuilder{
3005		File: protoimpl.DescBuilder{
3006			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3007			RawDescriptor: file_google_cloud_talent_v4beta1_profile_proto_rawDesc,
3008			NumEnums:      2,
3009			NumMessages:   17,
3010			NumExtensions: 0,
3011			NumServices:   0,
3012		},
3013		GoTypes:           file_google_cloud_talent_v4beta1_profile_proto_goTypes,
3014		DependencyIndexes: file_google_cloud_talent_v4beta1_profile_proto_depIdxs,
3015		EnumInfos:         file_google_cloud_talent_v4beta1_profile_proto_enumTypes,
3016		MessageInfos:      file_google_cloud_talent_v4beta1_profile_proto_msgTypes,
3017	}.Build()
3018	File_google_cloud_talent_v4beta1_profile_proto = out.File
3019	file_google_cloud_talent_v4beta1_profile_proto_rawDesc = nil
3020	file_google_cloud_talent_v4beta1_profile_proto_goTypes = nil
3021	file_google_cloud_talent_v4beta1_profile_proto_depIdxs = nil
3022}
3023