1// Copyright 2021 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/maps/fleetengine/v1/vehicle_api.proto
20
21package fleetengine
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	latlng "google.golang.org/genproto/googleapis/type/latlng"
30	grpc "google.golang.org/grpc"
31	codes "google.golang.org/grpc/codes"
32	status "google.golang.org/grpc/status"
33	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
34	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
35	durationpb "google.golang.org/protobuf/types/known/durationpb"
36	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
37	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
38	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
39)
40
41const (
42	// Verify that this generated code is sufficiently up-to-date.
43	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
44	// Verify that runtime/protoimpl is sufficiently up-to-date.
45	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
46)
47
48// Specifies the sort order of the vehicle matches in the response.
49type SearchVehiclesRequest_VehicleMatchOrder int32
50
51const (
52	// Default, used for unspecified or unrecognized vehicle matches order.
53	SearchVehiclesRequest_UNKNOWN_VEHICLE_MATCH_ORDER SearchVehiclesRequest_VehicleMatchOrder = 0
54	// Ascending order by vehicle driving time to the pickup point.
55	SearchVehiclesRequest_PICKUP_POINT_ETA SearchVehiclesRequest_VehicleMatchOrder = 1
56	// Ascending order by the vehicle driving distance to the pickup point.
57	SearchVehiclesRequest_PICKUP_POINT_DISTANCE SearchVehiclesRequest_VehicleMatchOrder = 2
58	// Ascending order by vehicle driving time to the dropoff point. This order
59	// can only be used if the dropoff_point is specified in the request.
60	SearchVehiclesRequest_DROPOFF_POINT_ETA SearchVehiclesRequest_VehicleMatchOrder = 3
61	// Ascending order by straightline distance from vehicle location to pickup
62	// location. This is used primarily as a backup if the maps backend is not
63	// reachable.
64	SearchVehiclesRequest_PICKUP_POINT_STRAIGHT_DISTANCE SearchVehiclesRequest_VehicleMatchOrder = 4
65	// Ascending order by the match cost.
66	SearchVehiclesRequest_COST SearchVehiclesRequest_VehicleMatchOrder = 5
67)
68
69// Enum value maps for SearchVehiclesRequest_VehicleMatchOrder.
70var (
71	SearchVehiclesRequest_VehicleMatchOrder_name = map[int32]string{
72		0: "UNKNOWN_VEHICLE_MATCH_ORDER",
73		1: "PICKUP_POINT_ETA",
74		2: "PICKUP_POINT_DISTANCE",
75		3: "DROPOFF_POINT_ETA",
76		4: "PICKUP_POINT_STRAIGHT_DISTANCE",
77		5: "COST",
78	}
79	SearchVehiclesRequest_VehicleMatchOrder_value = map[string]int32{
80		"UNKNOWN_VEHICLE_MATCH_ORDER":    0,
81		"PICKUP_POINT_ETA":               1,
82		"PICKUP_POINT_DISTANCE":          2,
83		"DROPOFF_POINT_ETA":              3,
84		"PICKUP_POINT_STRAIGHT_DISTANCE": 4,
85		"COST":                           5,
86	}
87)
88
89func (x SearchVehiclesRequest_VehicleMatchOrder) Enum() *SearchVehiclesRequest_VehicleMatchOrder {
90	p := new(SearchVehiclesRequest_VehicleMatchOrder)
91	*p = x
92	return p
93}
94
95func (x SearchVehiclesRequest_VehicleMatchOrder) String() string {
96	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
97}
98
99func (SearchVehiclesRequest_VehicleMatchOrder) Descriptor() protoreflect.EnumDescriptor {
100	return file_google_maps_fleetengine_v1_vehicle_api_proto_enumTypes[0].Descriptor()
101}
102
103func (SearchVehiclesRequest_VehicleMatchOrder) Type() protoreflect.EnumType {
104	return &file_google_maps_fleetengine_v1_vehicle_api_proto_enumTypes[0]
105}
106
107func (x SearchVehiclesRequest_VehicleMatchOrder) Number() protoreflect.EnumNumber {
108	return protoreflect.EnumNumber(x)
109}
110
111// Deprecated: Use SearchVehiclesRequest_VehicleMatchOrder.Descriptor instead.
112func (SearchVehiclesRequest_VehicleMatchOrder) EnumDescriptor() ([]byte, []int) {
113	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{6, 0}
114}
115
116// Type of vehicle match.
117type VehicleMatch_VehicleMatchType int32
118
119const (
120	// Unknown vehicle match type
121	VehicleMatch_UNKNOWN VehicleMatch_VehicleMatchType = 0
122	// Exclusive vehicle trip match
123	VehicleMatch_EXCLUSIVE VehicleMatch_VehicleMatchType = 1
124	// Back to back ride match.
125	VehicleMatch_BACK_TO_BACK VehicleMatch_VehicleMatchType = 2
126	// Carpool ride match.
127	VehicleMatch_CARPOOL VehicleMatch_VehicleMatchType = 3
128	// Carpool ride match. The car has an active exclusive trip.
129	VehicleMatch_CARPOOL_BACK_TO_BACK VehicleMatch_VehicleMatchType = 4
130)
131
132// Enum value maps for VehicleMatch_VehicleMatchType.
133var (
134	VehicleMatch_VehicleMatchType_name = map[int32]string{
135		0: "UNKNOWN",
136		1: "EXCLUSIVE",
137		2: "BACK_TO_BACK",
138		3: "CARPOOL",
139		4: "CARPOOL_BACK_TO_BACK",
140	}
141	VehicleMatch_VehicleMatchType_value = map[string]int32{
142		"UNKNOWN":              0,
143		"EXCLUSIVE":            1,
144		"BACK_TO_BACK":         2,
145		"CARPOOL":              3,
146		"CARPOOL_BACK_TO_BACK": 4,
147	}
148)
149
150func (x VehicleMatch_VehicleMatchType) Enum() *VehicleMatch_VehicleMatchType {
151	p := new(VehicleMatch_VehicleMatchType)
152	*p = x
153	return p
154}
155
156func (x VehicleMatch_VehicleMatchType) String() string {
157	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
158}
159
160func (VehicleMatch_VehicleMatchType) Descriptor() protoreflect.EnumDescriptor {
161	return file_google_maps_fleetengine_v1_vehicle_api_proto_enumTypes[1].Descriptor()
162}
163
164func (VehicleMatch_VehicleMatchType) Type() protoreflect.EnumType {
165	return &file_google_maps_fleetengine_v1_vehicle_api_proto_enumTypes[1]
166}
167
168func (x VehicleMatch_VehicleMatchType) Number() protoreflect.EnumNumber {
169	return protoreflect.EnumNumber(x)
170}
171
172// Deprecated: Use VehicleMatch_VehicleMatchType.Descriptor instead.
173func (VehicleMatch_VehicleMatchType) EnumDescriptor() ([]byte, []int) {
174	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{11, 0}
175}
176
177// CreateVehicle request message.
178type CreateVehicleRequest struct {
179	state         protoimpl.MessageState
180	sizeCache     protoimpl.SizeCache
181	unknownFields protoimpl.UnknownFields
182
183	// The standard Fleet Engine request header.
184	Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
185	// Required. Must be in the format "providers/{provider}".
186	// The provider must be the Project ID (for example, sample-cloud-project)
187	// of the Google Cloud Project of which the service account making
188	// this call is a member.
189	Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
190	// Required. Unique Vehicle ID; must be unique per provider.  The actual
191	// format and value is opaque to the Fleet Engine and is determined
192	// by the provider.
193	VehicleId string `protobuf:"bytes,4,opt,name=vehicle_id,json=vehicleId,proto3" json:"vehicle_id,omitempty"`
194	// Required. The Vehicle entity to create. When creating a Vehicle, the following
195	// fields are required:
196	//
197	// * vehicle_state
198	// * supported_trip_types
199	// * maximum_capacity
200	// * vehicle_type
201	//
202	// When creating a Vehicle, the following fields are ignored:
203	//
204	// * name
205	// * current_trips
206	// * available_capacity
207	// * current_route_segment
208	// * current_route_segment_version
209	// * waypoints
210	// * waypoints_version
211	// * remaining_distance_meters
212	// * eta_to_next_waypoint
213	// * navigation_status
214	//
215	// All other fields will be used if provided.
216	Vehicle *Vehicle `protobuf:"bytes,5,opt,name=vehicle,proto3" json:"vehicle,omitempty"`
217}
218
219func (x *CreateVehicleRequest) Reset() {
220	*x = CreateVehicleRequest{}
221	if protoimpl.UnsafeEnabled {
222		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[0]
223		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
224		ms.StoreMessageInfo(mi)
225	}
226}
227
228func (x *CreateVehicleRequest) String() string {
229	return protoimpl.X.MessageStringOf(x)
230}
231
232func (*CreateVehicleRequest) ProtoMessage() {}
233
234func (x *CreateVehicleRequest) ProtoReflect() protoreflect.Message {
235	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[0]
236	if protoimpl.UnsafeEnabled && x != nil {
237		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
238		if ms.LoadMessageInfo() == nil {
239			ms.StoreMessageInfo(mi)
240		}
241		return ms
242	}
243	return mi.MessageOf(x)
244}
245
246// Deprecated: Use CreateVehicleRequest.ProtoReflect.Descriptor instead.
247func (*CreateVehicleRequest) Descriptor() ([]byte, []int) {
248	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{0}
249}
250
251func (x *CreateVehicleRequest) GetHeader() *RequestHeader {
252	if x != nil {
253		return x.Header
254	}
255	return nil
256}
257
258func (x *CreateVehicleRequest) GetParent() string {
259	if x != nil {
260		return x.Parent
261	}
262	return ""
263}
264
265func (x *CreateVehicleRequest) GetVehicleId() string {
266	if x != nil {
267		return x.VehicleId
268	}
269	return ""
270}
271
272func (x *CreateVehicleRequest) GetVehicle() *Vehicle {
273	if x != nil {
274		return x.Vehicle
275	}
276	return nil
277}
278
279// GetVehicle request message.
280type GetVehicleRequest struct {
281	state         protoimpl.MessageState
282	sizeCache     protoimpl.SizeCache
283	unknownFields protoimpl.UnknownFields
284
285	// The standard Fleet Engine request header.
286	Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
287	// Required. Must be in the format
288	// "providers/{provider}/vehicles/{vehicle}".
289	// The provider must be the Project ID (for example, sample-cloud-project)
290	// of the Google Cloud Project of which the service account making
291	// this call is a member.
292	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
293	// Indicates the minimum timestamp (exclusive) for which
294	// vehicle.current_route_segment is retrieved.
295	// If route is unchanged since this timestamp, the current_route_segment
296	// field is not set in the response. If a minimum is unspecified, the
297	// current_route_segment is always retrieved.
298	CurrentRouteSegmentVersion *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=current_route_segment_version,json=currentRouteSegmentVersion,proto3" json:"current_route_segment_version,omitempty"`
299	// Indicates the minimum timestamp (exclusive) for which vehicle.waypoints
300	// data is retrieved. If data is unchanged since this timestamp, the
301	// vehicle.waypoints data is not set in the response. If this field is
302	// unspecified, vehicle.waypoints is always retrieved.
303	WaypointsVersion *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=waypoints_version,json=waypointsVersion,proto3" json:"waypoints_version,omitempty"`
304}
305
306func (x *GetVehicleRequest) Reset() {
307	*x = GetVehicleRequest{}
308	if protoimpl.UnsafeEnabled {
309		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[1]
310		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
311		ms.StoreMessageInfo(mi)
312	}
313}
314
315func (x *GetVehicleRequest) String() string {
316	return protoimpl.X.MessageStringOf(x)
317}
318
319func (*GetVehicleRequest) ProtoMessage() {}
320
321func (x *GetVehicleRequest) ProtoReflect() protoreflect.Message {
322	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[1]
323	if protoimpl.UnsafeEnabled && x != nil {
324		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
325		if ms.LoadMessageInfo() == nil {
326			ms.StoreMessageInfo(mi)
327		}
328		return ms
329	}
330	return mi.MessageOf(x)
331}
332
333// Deprecated: Use GetVehicleRequest.ProtoReflect.Descriptor instead.
334func (*GetVehicleRequest) Descriptor() ([]byte, []int) {
335	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{1}
336}
337
338func (x *GetVehicleRequest) GetHeader() *RequestHeader {
339	if x != nil {
340		return x.Header
341	}
342	return nil
343}
344
345func (x *GetVehicleRequest) GetName() string {
346	if x != nil {
347		return x.Name
348	}
349	return ""
350}
351
352func (x *GetVehicleRequest) GetCurrentRouteSegmentVersion() *timestamppb.Timestamp {
353	if x != nil {
354		return x.CurrentRouteSegmentVersion
355	}
356	return nil
357}
358
359func (x *GetVehicleRequest) GetWaypointsVersion() *timestamppb.Timestamp {
360	if x != nil {
361		return x.WaypointsVersion
362	}
363	return nil
364}
365
366// UpdateVehicle request message.
367type UpdateVehicleRequest struct {
368	state         protoimpl.MessageState
369	sizeCache     protoimpl.SizeCache
370	unknownFields protoimpl.UnknownFields
371
372	// The standard Fleet Engine request header.
373	Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
374	// Required. Must be in the format
375	// "providers/{provider}/vehicles/{vehicle}".
376	// The {provider} must be the Project ID (for example, sample-cloud-project)
377	// of the Google Cloud Project of which the service account making
378	// this call is a member.
379	//
380	// Note that if the name is also specified in the name field of the
381	// vehicle and name is set in the update_mask, both names must be the
382	// same.  Otherwise it is an Error.
383	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
384	// Required. The Vehicle entity update to apply.  When updating a Vehicle,
385	// the following fields may not be updated as they are managed by the
386	// Fleet Engine.
387	//   current_trips
388	//   available_capacity
389	//   current_route_segment_version
390	//   waypoints_version
391	// Furthermore, the name of the vehicle cannot be updated.
392	Vehicle *Vehicle `protobuf:"bytes,4,opt,name=vehicle,proto3" json:"vehicle,omitempty"`
393	// Required. A field mask indicating which fields of the Vehicle to update.
394	// The update_mask must contain at least one field.
395	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
396}
397
398func (x *UpdateVehicleRequest) Reset() {
399	*x = UpdateVehicleRequest{}
400	if protoimpl.UnsafeEnabled {
401		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[2]
402		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
403		ms.StoreMessageInfo(mi)
404	}
405}
406
407func (x *UpdateVehicleRequest) String() string {
408	return protoimpl.X.MessageStringOf(x)
409}
410
411func (*UpdateVehicleRequest) ProtoMessage() {}
412
413func (x *UpdateVehicleRequest) ProtoReflect() protoreflect.Message {
414	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[2]
415	if protoimpl.UnsafeEnabled && x != nil {
416		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
417		if ms.LoadMessageInfo() == nil {
418			ms.StoreMessageInfo(mi)
419		}
420		return ms
421	}
422	return mi.MessageOf(x)
423}
424
425// Deprecated: Use UpdateVehicleRequest.ProtoReflect.Descriptor instead.
426func (*UpdateVehicleRequest) Descriptor() ([]byte, []int) {
427	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{2}
428}
429
430func (x *UpdateVehicleRequest) GetHeader() *RequestHeader {
431	if x != nil {
432		return x.Header
433	}
434	return nil
435}
436
437func (x *UpdateVehicleRequest) GetName() string {
438	if x != nil {
439		return x.Name
440	}
441	return ""
442}
443
444func (x *UpdateVehicleRequest) GetVehicle() *Vehicle {
445	if x != nil {
446		return x.Vehicle
447	}
448	return nil
449}
450
451func (x *UpdateVehicleRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
452	if x != nil {
453		return x.UpdateMask
454	}
455	return nil
456}
457
458// UpdateVehicleLocation request message.
459//
460// Deprecated: Do not use.
461type UpdateVehicleLocationRequest struct {
462	state         protoimpl.MessageState
463	sizeCache     protoimpl.SizeCache
464	unknownFields protoimpl.UnknownFields
465
466	// The standard Fleet Engine request header.
467	Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
468	// Required. Must be in the format
469	// "providers/{provider}/vehicles/{vehicle}.
470	// The {provider} must be the Project ID (for example, sample-cloud-project)
471	// of the Google Cloud Project of which the service account making
472	// this call is a member.
473	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
474	// Required. The location to update to.  The last_location and update_time
475	// subfields are required.
476	CurrentLocation *VehicleLocation `protobuf:"bytes,4,opt,name=current_location,json=currentLocation,proto3" json:"current_location,omitempty"`
477	// Set current vehicle state to either ONLINE or OFFLINE;
478	// if set to UNKNOWN_VEHICLE_STATE, vehicle state will not be altered.
479	CurrentState VehicleState `protobuf:"varint,5,opt,name=current_state,json=currentState,proto3,enum=maps.fleetengine.v1.VehicleState" json:"current_state,omitempty"`
480}
481
482func (x *UpdateVehicleLocationRequest) Reset() {
483	*x = UpdateVehicleLocationRequest{}
484	if protoimpl.UnsafeEnabled {
485		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[3]
486		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
487		ms.StoreMessageInfo(mi)
488	}
489}
490
491func (x *UpdateVehicleLocationRequest) String() string {
492	return protoimpl.X.MessageStringOf(x)
493}
494
495func (*UpdateVehicleLocationRequest) ProtoMessage() {}
496
497func (x *UpdateVehicleLocationRequest) ProtoReflect() protoreflect.Message {
498	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[3]
499	if protoimpl.UnsafeEnabled && x != nil {
500		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
501		if ms.LoadMessageInfo() == nil {
502			ms.StoreMessageInfo(mi)
503		}
504		return ms
505	}
506	return mi.MessageOf(x)
507}
508
509// Deprecated: Use UpdateVehicleLocationRequest.ProtoReflect.Descriptor instead.
510func (*UpdateVehicleLocationRequest) Descriptor() ([]byte, []int) {
511	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{3}
512}
513
514func (x *UpdateVehicleLocationRequest) GetHeader() *RequestHeader {
515	if x != nil {
516		return x.Header
517	}
518	return nil
519}
520
521func (x *UpdateVehicleLocationRequest) GetName() string {
522	if x != nil {
523		return x.Name
524	}
525	return ""
526}
527
528func (x *UpdateVehicleLocationRequest) GetCurrentLocation() *VehicleLocation {
529	if x != nil {
530		return x.CurrentLocation
531	}
532	return nil
533}
534
535func (x *UpdateVehicleLocationRequest) GetCurrentState() VehicleState {
536	if x != nil {
537		return x.CurrentState
538	}
539	return VehicleState_UNKNOWN_VEHICLE_STATE
540}
541
542// UpdateVehicleAttributes request message.
543type UpdateVehicleAttributesRequest struct {
544	state         protoimpl.MessageState
545	sizeCache     protoimpl.SizeCache
546	unknownFields protoimpl.UnknownFields
547
548	// The standard Fleet Engine request header.
549	Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
550	// Required. Must be in the format
551	// "providers/{provider}/vehicles/{vehicle}.
552	// The provider must be the Project ID (for example, sample-cloud-project)
553	// of the Google Cloud Project of which the service account making
554	// this call is a member.
555	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
556	// Required. The attributes to update;
557	// unmentioned attributes will not be altered or removed.
558	// At most 20 attributes; the combined "key:value" string length cannot
559	// exceed 256.
560	Attributes []*VehicleAttribute `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
561}
562
563func (x *UpdateVehicleAttributesRequest) Reset() {
564	*x = UpdateVehicleAttributesRequest{}
565	if protoimpl.UnsafeEnabled {
566		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[4]
567		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
568		ms.StoreMessageInfo(mi)
569	}
570}
571
572func (x *UpdateVehicleAttributesRequest) String() string {
573	return protoimpl.X.MessageStringOf(x)
574}
575
576func (*UpdateVehicleAttributesRequest) ProtoMessage() {}
577
578func (x *UpdateVehicleAttributesRequest) ProtoReflect() protoreflect.Message {
579	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[4]
580	if protoimpl.UnsafeEnabled && x != nil {
581		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
582		if ms.LoadMessageInfo() == nil {
583			ms.StoreMessageInfo(mi)
584		}
585		return ms
586	}
587	return mi.MessageOf(x)
588}
589
590// Deprecated: Use UpdateVehicleAttributesRequest.ProtoReflect.Descriptor instead.
591func (*UpdateVehicleAttributesRequest) Descriptor() ([]byte, []int) {
592	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{4}
593}
594
595func (x *UpdateVehicleAttributesRequest) GetHeader() *RequestHeader {
596	if x != nil {
597		return x.Header
598	}
599	return nil
600}
601
602func (x *UpdateVehicleAttributesRequest) GetName() string {
603	if x != nil {
604		return x.Name
605	}
606	return ""
607}
608
609func (x *UpdateVehicleAttributesRequest) GetAttributes() []*VehicleAttribute {
610	if x != nil {
611		return x.Attributes
612	}
613	return nil
614}
615
616// UpdateVehicleAttributes response message.
617type UpdateVehicleAttributesResponse struct {
618	state         protoimpl.MessageState
619	sizeCache     protoimpl.SizeCache
620	unknownFields protoimpl.UnknownFields
621
622	// Required. The updated full list of vehicle attributes, including new,
623	// altered and untouched attributes.
624	Attributes []*VehicleAttribute `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"`
625}
626
627func (x *UpdateVehicleAttributesResponse) Reset() {
628	*x = UpdateVehicleAttributesResponse{}
629	if protoimpl.UnsafeEnabled {
630		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[5]
631		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
632		ms.StoreMessageInfo(mi)
633	}
634}
635
636func (x *UpdateVehicleAttributesResponse) String() string {
637	return protoimpl.X.MessageStringOf(x)
638}
639
640func (*UpdateVehicleAttributesResponse) ProtoMessage() {}
641
642func (x *UpdateVehicleAttributesResponse) ProtoReflect() protoreflect.Message {
643	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[5]
644	if protoimpl.UnsafeEnabled && x != nil {
645		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
646		if ms.LoadMessageInfo() == nil {
647			ms.StoreMessageInfo(mi)
648		}
649		return ms
650	}
651	return mi.MessageOf(x)
652}
653
654// Deprecated: Use UpdateVehicleAttributesResponse.ProtoReflect.Descriptor instead.
655func (*UpdateVehicleAttributesResponse) Descriptor() ([]byte, []int) {
656	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{5}
657}
658
659func (x *UpdateVehicleAttributesResponse) GetAttributes() []*VehicleAttribute {
660	if x != nil {
661		return x.Attributes
662	}
663	return nil
664}
665
666// SearchVehicles request message.
667type SearchVehiclesRequest struct {
668	state         protoimpl.MessageState
669	sizeCache     protoimpl.SizeCache
670	unknownFields protoimpl.UnknownFields
671
672	// The standard Fleet Engine request header.
673	Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
674	// Required. Must be in the format "providers/{provider}".
675	// The provider must be the Project ID (for example, sample-cloud-project)
676	// of the Google Cloud Project of which the service account making
677	// this call is a member.
678	Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
679	// Required. The pickup point to search near.
680	PickupPoint *TerminalLocation `protobuf:"bytes,4,opt,name=pickup_point,json=pickupPoint,proto3" json:"pickup_point,omitempty"`
681	// The customer's intended dropoff location. The field is required if
682	// trip_types contains TripType.SHARED.
683	DropoffPoint *TerminalLocation `protobuf:"bytes,5,opt,name=dropoff_point,json=dropoffPoint,proto3" json:"dropoff_point,omitempty"`
684	// Required. Defines the vehicle search radius around the pickup point. Only
685	// vehicles within the search radius will be returned. Value must be between
686	// 400 and 10000 meters.
687	PickupRadiusMeters int32 `protobuf:"varint,6,opt,name=pickup_radius_meters,json=pickupRadiusMeters,proto3" json:"pickup_radius_meters,omitempty"`
688	// Required. Specifies the maximum number of available vehicles to return. By
689	// default, the Fleet Engine limits the number to  50.
690	Count int32 `protobuf:"varint,7,opt,name=count,proto3" json:"count,omitempty"`
691	// Required. Specifies the minimum number of passengers allowed in the
692	// vehicle. Must number must be greater than or equal to one. The driver is
693	// not considered in the capacity search. This number indicates the number of
694	// passengers being considered for a trip.
695	MinimumCapacity int32 `protobuf:"varint,8,opt,name=minimum_capacity,json=minimumCapacity,proto3" json:"minimum_capacity,omitempty"`
696	// Required. Restricts the search to only those vehicles that support at least
697	// one of the specified trip types.
698	TripTypes []TripType `protobuf:"varint,9,rep,packed,name=trip_types,json=tripTypes,proto3,enum=maps.fleetengine.v1.TripType" json:"trip_types,omitempty"`
699	// Restricts the search to only those vehicles that have updated their
700	// locations within the specified duration back from now. If this field is not
701	// set, the server uses five minutes as the default value.
702	MaximumStaleness *durationpb.Duration `protobuf:"bytes,10,opt,name=maximum_staleness,json=maximumStaleness,proto3" json:"maximum_staleness,omitempty"`
703	// Required. Restricts the search to those vehicles with the specified types.
704	// At least one vehicle type must be specified.
705	VehicleTypes []*Vehicle_VehicleType `protobuf:"bytes,14,rep,name=vehicle_types,json=vehicleTypes,proto3" json:"vehicle_types,omitempty"`
706	// Callers can form complex logical operations using the
707	// requiredAttributes and requiredOneOfAttributes fields.
708	//
709	// requiredAttributes is a list; requiredOneOfAttributes uses a message which
710	// allows a list of lists. In combination, the two fields allow the
711	// composition of this expression:
712	//
713	// ```
714	// (required_attribute[0] AND required_attribute[1] AND ...)
715	// AND
716	// (required_one_of_attribute[0][0] OR required_one_of_attribute[0][1] OR ...)
717	// AND
718	// (required_one_of_attribute[1][0] OR required_one_of_attribute[1][1] OR ...)
719	// ```
720	//
721	// Restricts the search to only those vehicles with the specified attributes.
722	// This field is a conjunction/AND operation. Your app can specify up to 100
723	// attributes; however, the combined key:value string length cannot exceed
724	// 1024 characters.
725	RequiredAttributes []*VehicleAttribute `protobuf:"bytes,12,rep,name=required_attributes,json=requiredAttributes,proto3" json:"required_attributes,omitempty"`
726	// Restricts the search to only those vehicles with at least one of
727	// the specified attributes applied to each VehicleAttributeList. Within each
728	// list, a vehicle must match at least one of the attributes. This field is an
729	// inclusive disjunction/OR operation in each VehicleAttributeList and a
730	// conjunction/AND operation across the collection of VehicleAttributeList.
731	RequiredOneOfAttributes []*VehicleAttributeList `protobuf:"bytes,15,rep,name=required_one_of_attributes,json=requiredOneOfAttributes,proto3" json:"required_one_of_attributes,omitempty"`
732	// Restricts the search to only those vehicles with at least one set of the
733	// specified attributes in the VehicleAttributeList. Within each list, a
734	// vehicle must match all of the attributes. This field is a conjunction/AND
735	// operation in each VehicleAttributeList and inclusive disjunction/OR
736	// operation across the collection of VehicleAttributeList.
737	RequiredOneOfAttributeSets []*VehicleAttributeList `protobuf:"bytes,20,rep,name=required_one_of_attribute_sets,json=requiredOneOfAttributeSets,proto3" json:"required_one_of_attribute_sets,omitempty"`
738	// Required. Specifies ordering criterion for results.
739	OrderBy SearchVehiclesRequest_VehicleMatchOrder `protobuf:"varint,13,opt,name=order_by,json=orderBy,proto3,enum=maps.fleetengine.v1.SearchVehiclesRequest_VehicleMatchOrder" json:"order_by,omitempty"`
740	// Indicates if a vehicle with an active trip is eligible for
741	// another match. If `false`, a vehicle is excluded from search results.
742	// If `true`, search results include vehicles with `TripStatus` of
743	// `ENROUTE_TO_DROPOFF`. The services only use this field if
744	// the `SearchVehicles` request has `TripType` set to EXCLUSIVE.
745	// Default value is `false`.
746	IncludeBackToBack bool `protobuf:"varint,18,opt,name=include_back_to_back,json=includeBackToBack,proto3" json:"include_back_to_back,omitempty"`
747	// Indicates the ID of the trip the searchVehicleRequest is
748	// associated with.
749	TripId string `protobuf:"bytes,19,opt,name=trip_id,json=tripId,proto3" json:"trip_id,omitempty"`
750}
751
752func (x *SearchVehiclesRequest) Reset() {
753	*x = SearchVehiclesRequest{}
754	if protoimpl.UnsafeEnabled {
755		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[6]
756		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
757		ms.StoreMessageInfo(mi)
758	}
759}
760
761func (x *SearchVehiclesRequest) String() string {
762	return protoimpl.X.MessageStringOf(x)
763}
764
765func (*SearchVehiclesRequest) ProtoMessage() {}
766
767func (x *SearchVehiclesRequest) ProtoReflect() protoreflect.Message {
768	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[6]
769	if protoimpl.UnsafeEnabled && x != nil {
770		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
771		if ms.LoadMessageInfo() == nil {
772			ms.StoreMessageInfo(mi)
773		}
774		return ms
775	}
776	return mi.MessageOf(x)
777}
778
779// Deprecated: Use SearchVehiclesRequest.ProtoReflect.Descriptor instead.
780func (*SearchVehiclesRequest) Descriptor() ([]byte, []int) {
781	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{6}
782}
783
784func (x *SearchVehiclesRequest) GetHeader() *RequestHeader {
785	if x != nil {
786		return x.Header
787	}
788	return nil
789}
790
791func (x *SearchVehiclesRequest) GetParent() string {
792	if x != nil {
793		return x.Parent
794	}
795	return ""
796}
797
798func (x *SearchVehiclesRequest) GetPickupPoint() *TerminalLocation {
799	if x != nil {
800		return x.PickupPoint
801	}
802	return nil
803}
804
805func (x *SearchVehiclesRequest) GetDropoffPoint() *TerminalLocation {
806	if x != nil {
807		return x.DropoffPoint
808	}
809	return nil
810}
811
812func (x *SearchVehiclesRequest) GetPickupRadiusMeters() int32 {
813	if x != nil {
814		return x.PickupRadiusMeters
815	}
816	return 0
817}
818
819func (x *SearchVehiclesRequest) GetCount() int32 {
820	if x != nil {
821		return x.Count
822	}
823	return 0
824}
825
826func (x *SearchVehiclesRequest) GetMinimumCapacity() int32 {
827	if x != nil {
828		return x.MinimumCapacity
829	}
830	return 0
831}
832
833func (x *SearchVehiclesRequest) GetTripTypes() []TripType {
834	if x != nil {
835		return x.TripTypes
836	}
837	return nil
838}
839
840func (x *SearchVehiclesRequest) GetMaximumStaleness() *durationpb.Duration {
841	if x != nil {
842		return x.MaximumStaleness
843	}
844	return nil
845}
846
847func (x *SearchVehiclesRequest) GetVehicleTypes() []*Vehicle_VehicleType {
848	if x != nil {
849		return x.VehicleTypes
850	}
851	return nil
852}
853
854func (x *SearchVehiclesRequest) GetRequiredAttributes() []*VehicleAttribute {
855	if x != nil {
856		return x.RequiredAttributes
857	}
858	return nil
859}
860
861func (x *SearchVehiclesRequest) GetRequiredOneOfAttributes() []*VehicleAttributeList {
862	if x != nil {
863		return x.RequiredOneOfAttributes
864	}
865	return nil
866}
867
868func (x *SearchVehiclesRequest) GetRequiredOneOfAttributeSets() []*VehicleAttributeList {
869	if x != nil {
870		return x.RequiredOneOfAttributeSets
871	}
872	return nil
873}
874
875func (x *SearchVehiclesRequest) GetOrderBy() SearchVehiclesRequest_VehicleMatchOrder {
876	if x != nil {
877		return x.OrderBy
878	}
879	return SearchVehiclesRequest_UNKNOWN_VEHICLE_MATCH_ORDER
880}
881
882func (x *SearchVehiclesRequest) GetIncludeBackToBack() bool {
883	if x != nil {
884		return x.IncludeBackToBack
885	}
886	return false
887}
888
889func (x *SearchVehiclesRequest) GetTripId() string {
890	if x != nil {
891		return x.TripId
892	}
893	return ""
894}
895
896// SearchVehicles response message.
897type SearchVehiclesResponse struct {
898	state         protoimpl.MessageState
899	sizeCache     protoimpl.SizeCache
900	unknownFields protoimpl.UnknownFields
901
902	// List of vehicles that match the request options.
903	//
904	// Ordered by ascending vehicle_pickup_eta, with ties broken by ascending
905	// trip_type enum value, followed by matches that don't have
906	// vehicle_pickup_eta set.
907	//
908	// Example response: (Logically represented, not actual response fields):
909	//
910	// * (VehicleId: Vehicle1, ETA: 10 AM, TripType: SHARED),
911	// * (VehicleId: Vehicle2, ETA: 10 AM, TripType: EXCLUSIVE),
912	// * (VehicleId: Vehicle3, ETA: 11 AM, TripType: EXCLUSIVE),
913	// * (VehicleId: Vehicle4, ETA: Not set, TripType: SHARED),
914	// * (VehicleId: Vehicle5, ETA: Not set, TripType: EXCLUSIVE)
915	Matches []*VehicleMatch `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"`
916}
917
918func (x *SearchVehiclesResponse) Reset() {
919	*x = SearchVehiclesResponse{}
920	if protoimpl.UnsafeEnabled {
921		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[7]
922		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
923		ms.StoreMessageInfo(mi)
924	}
925}
926
927func (x *SearchVehiclesResponse) String() string {
928	return protoimpl.X.MessageStringOf(x)
929}
930
931func (*SearchVehiclesResponse) ProtoMessage() {}
932
933func (x *SearchVehiclesResponse) ProtoReflect() protoreflect.Message {
934	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[7]
935	if protoimpl.UnsafeEnabled && x != nil {
936		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
937		if ms.LoadMessageInfo() == nil {
938			ms.StoreMessageInfo(mi)
939		}
940		return ms
941	}
942	return mi.MessageOf(x)
943}
944
945// Deprecated: Use SearchVehiclesResponse.ProtoReflect.Descriptor instead.
946func (*SearchVehiclesResponse) Descriptor() ([]byte, []int) {
947	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{7}
948}
949
950func (x *SearchVehiclesResponse) GetMatches() []*VehicleMatch {
951	if x != nil {
952		return x.Matches
953	}
954	return nil
955}
956
957// ListVehicles request message.
958type ListVehiclesRequest struct {
959	state         protoimpl.MessageState
960	sizeCache     protoimpl.SizeCache
961	unknownFields protoimpl.UnknownFields
962
963	// The standard Fleet Engine request header.
964	Header *RequestHeader `protobuf:"bytes,12,opt,name=header,proto3" json:"header,omitempty"`
965	// Required. Must be in the format "providers/{provider}".
966	// The provider must be the Project ID (for example, sample-cloud-project)
967	// of the Google Cloud Project of which the service account making
968	// this call is a member.
969	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
970	// The maximum number of vehicles to return.
971	// Default value: 100.
972	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
973	// The next_page_token value returned from a previous response, if any.
974	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
975	// Specifies the required minimum capacity of the vehicle.
976	// The driver is not considered in the capacity search.
977	// This is just the number of passengers being considered for a trip.
978	// If set, must be greater or equal to 0.
979	MinimumCapacity *wrapperspb.Int32Value `protobuf:"bytes,6,opt,name=minimum_capacity,json=minimumCapacity,proto3" json:"minimum_capacity,omitempty"`
980	// Restrict the search to only those vehicles that support at least
981	// one of the specified trip types.
982	TripTypes []TripType `protobuf:"varint,7,rep,packed,name=trip_types,json=tripTypes,proto3,enum=maps.fleetengine.v1.TripType" json:"trip_types,omitempty"`
983	// Restrict the search to only those vehicles that have updated
984	// their locations within the specified duration back from now.
985	// If present, must be a valid positive duration.
986	MaximumStaleness *durationpb.Duration `protobuf:"bytes,8,opt,name=maximum_staleness,json=maximumStaleness,proto3" json:"maximum_staleness,omitempty"`
987	// Required. Restrict the search to those vehicles with the specified type categories.
988	VehicleTypeCategories []Vehicle_VehicleType_Category `protobuf:"varint,9,rep,packed,name=vehicle_type_categories,json=vehicleTypeCategories,proto3,enum=maps.fleetengine.v1.Vehicle_VehicleType_Category" json:"vehicle_type_categories,omitempty"`
989	// Callers can form complex logical operations using the
990	// requiredAttributes and requiredOneOfAttributes fields.
991	//
992	// requiredAttributes is a list; requiredOneOfAttributes uses a message which
993	// allows a list of lists. In combination, the two fields allow the
994	// composition of this expression:
995	//
996	// ```
997	// (required_attribute[0] AND required_attribute[1] AND ...)
998	// AND
999	// (required_one_of_attribute[0][0] OR required_one_of_attribute[0][1] OR ...)
1000	// AND
1001	// (required_one_of_attribute[1][0] OR required_one_of_attribute[1][1] OR ...)
1002	// ```
1003	//
1004	// Restrict the search to only those vehicles
1005	// with the specified attributes. This field is a conjunction/AND operation.
1006	// Your app can specify up to 100 attributes; however, the combined
1007	// key:value string length cannot exceed 1024 characters.
1008	RequiredAttributes []string `protobuf:"bytes,10,rep,name=required_attributes,json=requiredAttributes,proto3" json:"required_attributes,omitempty"`
1009	// Restrict the search to only those vehicles with at least one
1010	// of the specified attributes applied to each VehicleAttributeList.
1011	// Within each list, a vehicle must match at least one of the attributes.
1012	// This field is an inclusive disjunction/OR operation in each
1013	// VehicleAttributeList and a conjunction/AND operation across the collection
1014	// of VehicleAttributeList.
1015	// Format: key1:value1|key2:value2|key3:value3...
1016	RequiredOneOfAttributes []string `protobuf:"bytes,13,rep,name=required_one_of_attributes,json=requiredOneOfAttributes,proto3" json:"required_one_of_attributes,omitempty"`
1017	// Restrict the search to only those vehicles with at least one set of the
1018	// specified attributes in the VehicleAttributeList. Within each list, a
1019	// vehicle must match all of the attributes. This field is a conjunction/AND
1020	// operation in each VehicleAttributeList and inclusive disjunction/OR
1021	// operation across the collection of VehicleAttributeList.
1022	// Format: key1:value1|key2:value2|key3:value3...
1023	RequiredOneOfAttributeSets []string `protobuf:"bytes,15,rep,name=required_one_of_attribute_sets,json=requiredOneOfAttributeSets,proto3" json:"required_one_of_attribute_sets,omitempty"`
1024	// Restrict the search to only those vehicles that have this vehicle state.
1025	VehicleState VehicleState `protobuf:"varint,11,opt,name=vehicle_state,json=vehicleState,proto3,enum=maps.fleetengine.v1.VehicleState" json:"vehicle_state,omitempty"`
1026	// Only return the vehicles with current trip(s).
1027	OnTripOnly bool `protobuf:"varint,14,opt,name=on_trip_only,json=onTripOnly,proto3" json:"on_trip_only,omitempty"`
1028}
1029
1030func (x *ListVehiclesRequest) Reset() {
1031	*x = ListVehiclesRequest{}
1032	if protoimpl.UnsafeEnabled {
1033		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[8]
1034		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1035		ms.StoreMessageInfo(mi)
1036	}
1037}
1038
1039func (x *ListVehiclesRequest) String() string {
1040	return protoimpl.X.MessageStringOf(x)
1041}
1042
1043func (*ListVehiclesRequest) ProtoMessage() {}
1044
1045func (x *ListVehiclesRequest) ProtoReflect() protoreflect.Message {
1046	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[8]
1047	if protoimpl.UnsafeEnabled && x != nil {
1048		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1049		if ms.LoadMessageInfo() == nil {
1050			ms.StoreMessageInfo(mi)
1051		}
1052		return ms
1053	}
1054	return mi.MessageOf(x)
1055}
1056
1057// Deprecated: Use ListVehiclesRequest.ProtoReflect.Descriptor instead.
1058func (*ListVehiclesRequest) Descriptor() ([]byte, []int) {
1059	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{8}
1060}
1061
1062func (x *ListVehiclesRequest) GetHeader() *RequestHeader {
1063	if x != nil {
1064		return x.Header
1065	}
1066	return nil
1067}
1068
1069func (x *ListVehiclesRequest) GetParent() string {
1070	if x != nil {
1071		return x.Parent
1072	}
1073	return ""
1074}
1075
1076func (x *ListVehiclesRequest) GetPageSize() int32 {
1077	if x != nil {
1078		return x.PageSize
1079	}
1080	return 0
1081}
1082
1083func (x *ListVehiclesRequest) GetPageToken() string {
1084	if x != nil {
1085		return x.PageToken
1086	}
1087	return ""
1088}
1089
1090func (x *ListVehiclesRequest) GetMinimumCapacity() *wrapperspb.Int32Value {
1091	if x != nil {
1092		return x.MinimumCapacity
1093	}
1094	return nil
1095}
1096
1097func (x *ListVehiclesRequest) GetTripTypes() []TripType {
1098	if x != nil {
1099		return x.TripTypes
1100	}
1101	return nil
1102}
1103
1104func (x *ListVehiclesRequest) GetMaximumStaleness() *durationpb.Duration {
1105	if x != nil {
1106		return x.MaximumStaleness
1107	}
1108	return nil
1109}
1110
1111func (x *ListVehiclesRequest) GetVehicleTypeCategories() []Vehicle_VehicleType_Category {
1112	if x != nil {
1113		return x.VehicleTypeCategories
1114	}
1115	return nil
1116}
1117
1118func (x *ListVehiclesRequest) GetRequiredAttributes() []string {
1119	if x != nil {
1120		return x.RequiredAttributes
1121	}
1122	return nil
1123}
1124
1125func (x *ListVehiclesRequest) GetRequiredOneOfAttributes() []string {
1126	if x != nil {
1127		return x.RequiredOneOfAttributes
1128	}
1129	return nil
1130}
1131
1132func (x *ListVehiclesRequest) GetRequiredOneOfAttributeSets() []string {
1133	if x != nil {
1134		return x.RequiredOneOfAttributeSets
1135	}
1136	return nil
1137}
1138
1139func (x *ListVehiclesRequest) GetVehicleState() VehicleState {
1140	if x != nil {
1141		return x.VehicleState
1142	}
1143	return VehicleState_UNKNOWN_VEHICLE_STATE
1144}
1145
1146func (x *ListVehiclesRequest) GetOnTripOnly() bool {
1147	if x != nil {
1148		return x.OnTripOnly
1149	}
1150	return false
1151}
1152
1153// ListVehicles response message.
1154type ListVehiclesResponse struct {
1155	state         protoimpl.MessageState
1156	sizeCache     protoimpl.SizeCache
1157	unknownFields protoimpl.UnknownFields
1158
1159	// Depends on vehicles matching request criteria.
1160	// There will be a maximum number of vehicles returned based on the page_size
1161	// field in the request.
1162	Vehicles []*Vehicle `protobuf:"bytes,1,rep,name=vehicles,proto3" json:"vehicles,omitempty"`
1163	// Token to retrieve the next page of vehicles, or empty if there are no
1164	// more vehicles in the list.
1165	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1166	// Required. Total number of vehicles matching request criteria across all pages.
1167	TotalSize int64 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
1168}
1169
1170func (x *ListVehiclesResponse) Reset() {
1171	*x = ListVehiclesResponse{}
1172	if protoimpl.UnsafeEnabled {
1173		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[9]
1174		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1175		ms.StoreMessageInfo(mi)
1176	}
1177}
1178
1179func (x *ListVehiclesResponse) String() string {
1180	return protoimpl.X.MessageStringOf(x)
1181}
1182
1183func (*ListVehiclesResponse) ProtoMessage() {}
1184
1185func (x *ListVehiclesResponse) ProtoReflect() protoreflect.Message {
1186	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[9]
1187	if protoimpl.UnsafeEnabled && x != nil {
1188		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1189		if ms.LoadMessageInfo() == nil {
1190			ms.StoreMessageInfo(mi)
1191		}
1192		return ms
1193	}
1194	return mi.MessageOf(x)
1195}
1196
1197// Deprecated: Use ListVehiclesResponse.ProtoReflect.Descriptor instead.
1198func (*ListVehiclesResponse) Descriptor() ([]byte, []int) {
1199	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{9}
1200}
1201
1202func (x *ListVehiclesResponse) GetVehicles() []*Vehicle {
1203	if x != nil {
1204		return x.Vehicles
1205	}
1206	return nil
1207}
1208
1209func (x *ListVehiclesResponse) GetNextPageToken() string {
1210	if x != nil {
1211		return x.NextPageToken
1212	}
1213	return ""
1214}
1215
1216func (x *ListVehiclesResponse) GetTotalSize() int64 {
1217	if x != nil {
1218		return x.TotalSize
1219	}
1220	return 0
1221}
1222
1223// Waypoint describes intermediate points along a route.
1224type Waypoint struct {
1225	state         protoimpl.MessageState
1226	sizeCache     protoimpl.SizeCache
1227	unknownFields protoimpl.UnknownFields
1228
1229	// The location of this waypoint.
1230	LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
1231	// The estimated time that the vehicle will arrive at this waypoint.
1232	Eta *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=eta,proto3" json:"eta,omitempty"`
1233}
1234
1235func (x *Waypoint) Reset() {
1236	*x = Waypoint{}
1237	if protoimpl.UnsafeEnabled {
1238		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[10]
1239		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1240		ms.StoreMessageInfo(mi)
1241	}
1242}
1243
1244func (x *Waypoint) String() string {
1245	return protoimpl.X.MessageStringOf(x)
1246}
1247
1248func (*Waypoint) ProtoMessage() {}
1249
1250func (x *Waypoint) ProtoReflect() protoreflect.Message {
1251	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[10]
1252	if protoimpl.UnsafeEnabled && x != nil {
1253		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1254		if ms.LoadMessageInfo() == nil {
1255			ms.StoreMessageInfo(mi)
1256		}
1257		return ms
1258	}
1259	return mi.MessageOf(x)
1260}
1261
1262// Deprecated: Use Waypoint.ProtoReflect.Descriptor instead.
1263func (*Waypoint) Descriptor() ([]byte, []int) {
1264	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{10}
1265}
1266
1267func (x *Waypoint) GetLatLng() *latlng.LatLng {
1268	if x != nil {
1269		return x.LatLng
1270	}
1271	return nil
1272}
1273
1274func (x *Waypoint) GetEta() *timestamppb.Timestamp {
1275	if x != nil {
1276		return x.Eta
1277	}
1278	return nil
1279}
1280
1281// VehicleMatch contains the vehicle, ETA, and distance calculations for a
1282// vehicle that matches the SearchVehiclesRequest.
1283type VehicleMatch struct {
1284	state         protoimpl.MessageState
1285	sizeCache     protoimpl.SizeCache
1286	unknownFields protoimpl.UnknownFields
1287
1288	// Required. A vehicle that matches the request.
1289	Vehicle *Vehicle `protobuf:"bytes,1,opt,name=vehicle,proto3" json:"vehicle,omitempty"`
1290	// The vehicle's driving ETA to the pickup point specified in the
1291	// request. An empty value indicates a failure in calculating ETA for the
1292	// vehicle.
1293	VehiclePickupEta *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=vehicle_pickup_eta,json=vehiclePickupEta,proto3" json:"vehicle_pickup_eta,omitempty"`
1294	// The vehicle's driving distance to the pickup point specified in
1295	// the request, including any intermediate pickup or dropoff points for
1296	// an existing ride.  An empty value indicates a failure in calculating
1297	// distance for the vehicle.
1298	VehiclePickupDistanceMeters *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=vehicle_pickup_distance_meters,json=vehiclePickupDistanceMeters,proto3" json:"vehicle_pickup_distance_meters,omitempty"`
1299	// Required. The straight-line distance between the vehicle and the pickup
1300	// point specified in the request, including intermediate waypoints for
1301	// existing trips.
1302	VehiclePickupStraightLineDistanceMeters *wrapperspb.Int32Value `protobuf:"bytes,11,opt,name=vehicle_pickup_straight_line_distance_meters,json=vehiclePickupStraightLineDistanceMeters,proto3" json:"vehicle_pickup_straight_line_distance_meters,omitempty"`
1303	// The complete vehicle's driving ETA to the drop off point
1304	// specified in the request. The ETA includes any required visits for active
1305	// trips that must be completed before the vehicle visits the dropoff_point
1306	// specified in the request. The value will only be populated when a
1307	// dropoff_point is specified in the request. An empty value indicates
1308	// a failure in calculating the ETA for the vehicle to reach
1309	// the dropoff_point.
1310	VehicleDropoffEta *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=vehicle_dropoff_eta,json=vehicleDropoffEta,proto3" json:"vehicle_dropoff_eta,omitempty"`
1311	// The vehicle's driving distance (in meters) from the pickup point
1312	// to the drop off point specified in the request. The distance is only
1313	// between the two points and does not include the vehicle location or any
1314	// other points that must be visited before the vehicle visits either the
1315	// pickup point or dropoff point. The value will only be populated when a
1316	// dropoff_point is specified in the request. An empty value indicates
1317	// a failure in calculating the distance from the pickup to
1318	// dropoff points specified in the request.
1319	VehiclePickupToDropoffDistanceMeters *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=vehicle_pickup_to_dropoff_distance_meters,json=vehiclePickupToDropoffDistanceMeters,proto3" json:"vehicle_pickup_to_dropoff_distance_meters,omitempty"`
1320	// Required. The trip type of the request that was used to calculate the ETA
1321	// to the pickup point.
1322	TripType TripType `protobuf:"varint,6,opt,name=trip_type,json=tripType,proto3,enum=maps.fleetengine.v1.TripType" json:"trip_type,omitempty"`
1323	// The ordered list of waypoints used to calculate the ETA. The list
1324	// will include the vehicle location, the pickup/drop off points of active
1325	// trips for the vehicle and the pickup/dropoff points provided in the
1326	// request. An empty list indicates a failure in calculating ETA for the
1327	// vehicle.
1328	VehicleTripsWaypoints []*Waypoint `protobuf:"bytes,7,rep,name=vehicle_trips_waypoints,json=vehicleTripsWaypoints,proto3" json:"vehicle_trips_waypoints,omitempty"`
1329	// Type of the vehicle match.
1330	VehicleMatchType VehicleMatch_VehicleMatchType `protobuf:"varint,8,opt,name=vehicle_match_type,json=vehicleMatchType,proto3,enum=maps.fleetengine.v1.VehicleMatch_VehicleMatchType" json:"vehicle_match_type,omitempty"`
1331	// The method the caller requested for sorting vehicle matches.
1332	RequestedOrderedBy SearchVehiclesRequest_VehicleMatchOrder `protobuf:"varint,9,opt,name=requested_ordered_by,json=requestedOrderedBy,proto3,enum=maps.fleetengine.v1.SearchVehiclesRequest_VehicleMatchOrder" json:"requested_ordered_by,omitempty"`
1333	// The actual method that is used to order this vehicle. In normal cases this
1334	// will match the 'order_by' field from the request, however in certain
1335	// circumstances such as a failure of google maps backends, a different method
1336	// may be used (such as PICKUP_POINT_STRAIGHT_DISTANCE).
1337	OrderedBy SearchVehiclesRequest_VehicleMatchOrder `protobuf:"varint,10,opt,name=ordered_by,json=orderedBy,proto3,enum=maps.fleetengine.v1.SearchVehiclesRequest_VehicleMatchOrder" json:"ordered_by,omitempty"`
1338}
1339
1340func (x *VehicleMatch) Reset() {
1341	*x = VehicleMatch{}
1342	if protoimpl.UnsafeEnabled {
1343		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[11]
1344		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1345		ms.StoreMessageInfo(mi)
1346	}
1347}
1348
1349func (x *VehicleMatch) String() string {
1350	return protoimpl.X.MessageStringOf(x)
1351}
1352
1353func (*VehicleMatch) ProtoMessage() {}
1354
1355func (x *VehicleMatch) ProtoReflect() protoreflect.Message {
1356	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[11]
1357	if protoimpl.UnsafeEnabled && x != nil {
1358		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1359		if ms.LoadMessageInfo() == nil {
1360			ms.StoreMessageInfo(mi)
1361		}
1362		return ms
1363	}
1364	return mi.MessageOf(x)
1365}
1366
1367// Deprecated: Use VehicleMatch.ProtoReflect.Descriptor instead.
1368func (*VehicleMatch) Descriptor() ([]byte, []int) {
1369	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{11}
1370}
1371
1372func (x *VehicleMatch) GetVehicle() *Vehicle {
1373	if x != nil {
1374		return x.Vehicle
1375	}
1376	return nil
1377}
1378
1379func (x *VehicleMatch) GetVehiclePickupEta() *timestamppb.Timestamp {
1380	if x != nil {
1381		return x.VehiclePickupEta
1382	}
1383	return nil
1384}
1385
1386func (x *VehicleMatch) GetVehiclePickupDistanceMeters() *wrapperspb.Int32Value {
1387	if x != nil {
1388		return x.VehiclePickupDistanceMeters
1389	}
1390	return nil
1391}
1392
1393func (x *VehicleMatch) GetVehiclePickupStraightLineDistanceMeters() *wrapperspb.Int32Value {
1394	if x != nil {
1395		return x.VehiclePickupStraightLineDistanceMeters
1396	}
1397	return nil
1398}
1399
1400func (x *VehicleMatch) GetVehicleDropoffEta() *timestamppb.Timestamp {
1401	if x != nil {
1402		return x.VehicleDropoffEta
1403	}
1404	return nil
1405}
1406
1407func (x *VehicleMatch) GetVehiclePickupToDropoffDistanceMeters() *wrapperspb.Int32Value {
1408	if x != nil {
1409		return x.VehiclePickupToDropoffDistanceMeters
1410	}
1411	return nil
1412}
1413
1414func (x *VehicleMatch) GetTripType() TripType {
1415	if x != nil {
1416		return x.TripType
1417	}
1418	return TripType_UNKNOWN_TRIP_TYPE
1419}
1420
1421func (x *VehicleMatch) GetVehicleTripsWaypoints() []*Waypoint {
1422	if x != nil {
1423		return x.VehicleTripsWaypoints
1424	}
1425	return nil
1426}
1427
1428func (x *VehicleMatch) GetVehicleMatchType() VehicleMatch_VehicleMatchType {
1429	if x != nil {
1430		return x.VehicleMatchType
1431	}
1432	return VehicleMatch_UNKNOWN
1433}
1434
1435func (x *VehicleMatch) GetRequestedOrderedBy() SearchVehiclesRequest_VehicleMatchOrder {
1436	if x != nil {
1437		return x.RequestedOrderedBy
1438	}
1439	return SearchVehiclesRequest_UNKNOWN_VEHICLE_MATCH_ORDER
1440}
1441
1442func (x *VehicleMatch) GetOrderedBy() SearchVehiclesRequest_VehicleMatchOrder {
1443	if x != nil {
1444		return x.OrderedBy
1445	}
1446	return SearchVehiclesRequest_UNKNOWN_VEHICLE_MATCH_ORDER
1447}
1448
1449// This messages allows a list-of-list datatype for VehicleAttribute.
1450type VehicleAttributeList struct {
1451	state         protoimpl.MessageState
1452	sizeCache     protoimpl.SizeCache
1453	unknownFields protoimpl.UnknownFields
1454
1455	// A list of attributes in this collection.
1456	Attributes []*VehicleAttribute `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"`
1457}
1458
1459func (x *VehicleAttributeList) Reset() {
1460	*x = VehicleAttributeList{}
1461	if protoimpl.UnsafeEnabled {
1462		mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[12]
1463		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1464		ms.StoreMessageInfo(mi)
1465	}
1466}
1467
1468func (x *VehicleAttributeList) String() string {
1469	return protoimpl.X.MessageStringOf(x)
1470}
1471
1472func (*VehicleAttributeList) ProtoMessage() {}
1473
1474func (x *VehicleAttributeList) ProtoReflect() protoreflect.Message {
1475	mi := &file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[12]
1476	if protoimpl.UnsafeEnabled && x != nil {
1477		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1478		if ms.LoadMessageInfo() == nil {
1479			ms.StoreMessageInfo(mi)
1480		}
1481		return ms
1482	}
1483	return mi.MessageOf(x)
1484}
1485
1486// Deprecated: Use VehicleAttributeList.ProtoReflect.Descriptor instead.
1487func (*VehicleAttributeList) Descriptor() ([]byte, []int) {
1488	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP(), []int{12}
1489}
1490
1491func (x *VehicleAttributeList) GetAttributes() []*VehicleAttribute {
1492	if x != nil {
1493		return x.Attributes
1494	}
1495	return nil
1496}
1497
1498var File_google_maps_fleetengine_v1_vehicle_api_proto protoreflect.FileDescriptor
1499
1500var file_google_maps_fleetengine_v1_vehicle_api_proto_rawDesc = []byte{
1501	0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x66, 0x6c,
1502	0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x65, 0x68,
1503	0x69, 0x63, 0x6c, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13,
1504	0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
1505	0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
1506	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1507	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69,
1508	0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
1509	0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72,
1510	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67,
1511	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x66, 0x6c, 0x65, 0x65, 0x74,
1512	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65,
1513	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f,
1514	0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e,
1515	0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x70,
1516	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6d, 0x61, 0x70,
1517	0x73, 0x2f, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31,
1518	0x2f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
1519	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1520	0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
1521	0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1522	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1523	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1524	0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
1525	0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1526	0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f,
1527	0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f,
1528	0x6c, 0x61, 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f,
1529	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
1530	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
1531	0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a,
1532	0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
1533	0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e,
1534	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64,
1535	0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61,
1536	0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
1537	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x76, 0x65, 0x68, 0x69, 0x63,
1538	0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
1539	0x52, 0x09, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x76,
1540	0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d,
1541	0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e,
1542	0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
1543	0x07, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x22, 0xb7, 0x02, 0x0a, 0x11, 0x47, 0x65, 0x74,
1544	0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a,
1545	0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
1546	0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e,
1547	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64,
1548	0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61,
1549	0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24,
1550	0x0a, 0x22, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f,
1551	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x65, 0x68,
1552	0x69, 0x63, 0x6c, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x1d, 0x63, 0x75,
1553	0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x67, 0x6d,
1554	0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
1555	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1556	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x1a, 0x63,
1557	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65,
1558	0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x11, 0x77, 0x61, 0x79,
1559	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05,
1560	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
1561	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
1562	0x52, 0x10, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69,
1563	0x6f, 0x6e, 0x22, 0xea, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68,
1564	0x69, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x68,
1565	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x61,
1566	0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76,
1567	0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52,
1568	0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
1569	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
1570	0x12, 0x3b, 0x0a, 0x07, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
1571	0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e,
1572	0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x42,
1573	0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x40, 0x0a,
1574	0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01,
1575	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1576	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03,
1577	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22,
1578	0x95, 0x02, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c,
1579	0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
1580	0x12, 0x3a, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
1581	0x32, 0x22, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67,
1582	0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65,
1583	0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04,
1584	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
1585	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
1586	0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
1587	0x24, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69,
1588	0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x63,
1589	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72,
1590	0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0d, 0x63,
1591	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01,
1592	0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65,
1593	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
1594	0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74,
1595	0x61, 0x74, 0x65, 0x3a, 0x02, 0x18, 0x01, 0x22, 0xc1, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61,
1596	0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
1597	0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x68, 0x65,
1598	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x61, 0x70,
1599	0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31,
1600	0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06,
1601	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
1602	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
1603	0x4a, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20,
1604	0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74,
1605	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c,
1606	0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
1607	0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x1f, 0x55,
1608	0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72,
1609	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a,
1610	0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
1611	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65,
1612	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
1613	0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
1614	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0xf0, 0x09, 0x0a, 0x15, 0x53,
1615	0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71,
1616	0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01,
1617	0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65,
1618	0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65,
1619	0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
1620	0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
1621	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a,
1622	0x0c, 0x70, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20,
1623	0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74,
1624	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e,
1625	0x61, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
1626	0x0b, 0x70, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0d,
1627	0x64, 0x72, 0x6f, 0x70, 0x6f, 0x66, 0x66, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20,
1628	0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74,
1629	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e,
1630	0x61, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70,
1631	0x6f, 0x66, 0x66, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x70, 0x69, 0x63, 0x6b,
1632	0x75, 0x70, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
1633	0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x70, 0x69, 0x63,
1634	0x6b, 0x75, 0x70, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12,
1635	0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
1636	0xe0, 0x41, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x6d, 0x69,
1637	0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x08,
1638	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d,
1639	0x75, 0x6d, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x72,
1640	0x69, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d,
1641	0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e,
1642	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0,
1643	0x41, 0x02, 0x52, 0x09, 0x74, 0x72, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x46, 0x0a,
1644	0x11, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x65,
1645	0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1646	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
1647	0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x6c,
1648	0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
1649	0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d,
1650	0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e,
1651	0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63,
1652	0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x76, 0x65, 0x68,
1653	0x69, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x72, 0x65, 0x71,
1654	0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
1655	0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c,
1656	0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68,
1657	0x69, 0x63, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x12, 0x72,
1658	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
1659	0x73, 0x12, 0x66, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x6e,
1660	0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18,
1661	0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65,
1662	0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69,
1663	0x63, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74,
1664	0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x41,
1665	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x1e, 0x72, 0x65, 0x71,
1666	0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x61, 0x74, 0x74,
1667	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28,
1668	0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e,
1669	0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x41,
1670	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x1a, 0x72, 0x65,
1671	0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x41, 0x74, 0x74, 0x72, 0x69,
1672	0x62, 0x75, 0x74, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65,
1673	0x72, 0x5f, 0x62, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x6d, 0x61, 0x70,
1674	0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31,
1675	0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x52,
1676	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61,
1677	0x74, 0x63, 0x68, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6f,
1678	0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
1679	0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x12,
1680	0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x61, 0x63,
1681	0x6b, 0x54, 0x6f, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x70, 0x5f,
1682	0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x72, 0x69, 0x70, 0x49, 0x64,
1683	0x22, 0xaa, 0x01, 0x0a, 0x11, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63,
1684	0x68, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
1685	0x4e, 0x5f, 0x56, 0x45, 0x48, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f,
1686	0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x49, 0x43, 0x4b, 0x55,
1687	0x50, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x45, 0x54, 0x41, 0x10, 0x01, 0x12, 0x19, 0x0a,
1688	0x15, 0x50, 0x49, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x44, 0x49,
1689	0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x52, 0x4f, 0x50,
1690	0x4f, 0x46, 0x46, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x45, 0x54, 0x41, 0x10, 0x03, 0x12,
1691	0x22, 0x0a, 0x1e, 0x50, 0x49, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f,
1692	0x53, 0x54, 0x52, 0x41, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43,
1693	0x45, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x53, 0x54, 0x10, 0x05, 0x22, 0x55, 0x0a,
1694	0x16, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x52,
1695	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68,
1696	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e,
1697	0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56,
1698	0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74,
1699	0x63, 0x68, 0x65, 0x73, 0x22, 0x84, 0x06, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x65, 0x68,
1700	0x69, 0x63, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06,
1701	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d,
1702	0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e,
1703	0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
1704	0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
1705	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70,
1706	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
1707	0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
1708	0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
1709	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
1710	0x6e, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x63, 0x61, 0x70,
1711	0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
1712	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
1713	0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75,
1714	0x6d, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x74, 0x72, 0x69,
1715	0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e,
1716	0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
1717	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x72,
1718	0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x69, 0x6d,
1719	0x75, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01,
1720	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1721	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6d,
1722	0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12,
1723	0x6e, 0x0a, 0x17, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
1724	0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0e,
1725	0x32, 0x31, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67,
1726	0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x2e, 0x56,
1727	0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67,
1728	0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c,
1729	0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12,
1730	0x2f, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72,
1731	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65,
1732	0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
1733	0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x65,
1734	0x5f, 0x6f, 0x66, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0d,
1735	0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4f, 0x6e,
1736	0x65, 0x4f, 0x66, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x42, 0x0a,
1737	0x1e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x66,
1738	0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18,
1739	0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4f,
1740	0x6e, 0x65, 0x4f, 0x66, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x53, 0x65, 0x74,
1741	0x73, 0x12, 0x46, 0x0a, 0x0d, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61,
1742	0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e,
1743	0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56,
1744	0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x76, 0x65, 0x68,
1745	0x69, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x6e, 0x5f,
1746	0x74, 0x72, 0x69, 0x70, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52,
1747	0x0a, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x70, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x9c, 0x01, 0x0a, 0x14,
1748	0x4c, 0x69, 0x73, 0x74, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
1749	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73,
1750	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c,
1751	0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68,
1752	0x69, 0x63, 0x6c, 0x65, 0x52, 0x08, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x26,
1753	0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
1754	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67,
1755	0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
1756	0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
1757	0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x66, 0x0a, 0x08, 0x57, 0x61,
1758	0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e,
1759	0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1760	0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x06, 0x6c, 0x61,
1761	0x74, 0x4c, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28,
1762	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1763	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65,
1764	0x74, 0x61, 0x22, 0xea, 0x08, 0x0a, 0x0c, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61,
1765	0x74, 0x63, 0x68, 0x12, 0x3b, 0x0a, 0x07, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x18, 0x01,
1766	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65,
1767	0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63,
1768	0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
1769	0x12, 0x48, 0x0a, 0x12, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x6b,
1770	0x75, 0x70, 0x5f, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
1771	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
1772	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c,
1773	0x65, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x45, 0x74, 0x61, 0x12, 0x60, 0x0a, 0x1e, 0x76, 0x65,
1774	0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x64, 0x69, 0x73,
1775	0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01,
1776	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1777	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
1778	0x1b, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x69,
1779	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x7f, 0x0a, 0x2c,
1780	0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x73,
1781	0x74, 0x72, 0x61, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x64, 0x69, 0x73,
1782	0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01,
1783	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1784	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
1785	0x03, 0xe0, 0x41, 0x02, 0x52, 0x27, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x50, 0x69, 0x63,
1786	0x6b, 0x75, 0x70, 0x53, 0x74, 0x72, 0x61, 0x69, 0x67, 0x68, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x44,
1787	0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4a, 0x0a,
1788	0x13, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x6f, 0x66, 0x66,
1789	0x5f, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
1790	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
1791	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x44,
1792	0x72, 0x6f, 0x70, 0x6f, 0x66, 0x66, 0x45, 0x74, 0x61, 0x12, 0x74, 0x0a, 0x29, 0x76, 0x65, 0x68,
1793	0x69, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x64,
1794	0x72, 0x6f, 0x70, 0x6f, 0x66, 0x66, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f,
1795	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
1796	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
1797	0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x24, 0x76, 0x65, 0x68, 0x69, 0x63,
1798	0x6c, 0x65, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x6f, 0x44, 0x72, 0x6f, 0x70, 0x6f, 0x66,
1799	0x66, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12,
1800	0x3f, 0x0a, 0x09, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01,
1801	0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65,
1802	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x54, 0x79, 0x70,
1803	0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x72, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65,
1804	0x12, 0x55, 0x0a, 0x17, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x70,
1805	0x73, 0x5f, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
1806	0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e,
1807	0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74,
1808	0x52, 0x15, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x70, 0x73, 0x57, 0x61,
1809	0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x12, 0x76, 0x65, 0x68, 0x69, 0x63,
1810	0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20,
1811	0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74,
1812	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c,
1813	0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61,
1814	0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
1815	0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x6e, 0x0a, 0x14, 0x72, 0x65, 0x71,
1816	0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x62,
1817	0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66,
1818	0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65,
1819	0x61, 0x72, 0x63, 0x68, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
1820	0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68,
1821	0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64,
1822	0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x42, 0x79, 0x12, 0x5b, 0x0a, 0x0a, 0x6f, 0x72, 0x64,
1823	0x65, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e,
1824	0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
1825	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c,
1826	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c,
1827	0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x09, 0x6f, 0x72, 0x64,
1828	0x65, 0x72, 0x65, 0x64, 0x42, 0x79, 0x22, 0x67, 0x0a, 0x10, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c,
1829	0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
1830	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x58, 0x43, 0x4c, 0x55,
1831	0x53, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x54,
1832	0x4f, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x41, 0x52, 0x50,
1833	0x4f, 0x4f, 0x4c, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x41, 0x52, 0x50, 0x4f, 0x4f, 0x4c,
1834	0x5f, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x22,
1835	0x5d, 0x0a, 0x14, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
1836	0x75, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69,
1837	0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x61,
1838	0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76,
1839	0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
1840	0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x32, 0xa4,
1841	0x0a, 0x0a, 0x0e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
1842	0x65, 0x12, 0x8c, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69,
1843	0x63, 0x6c, 0x65, 0x12, 0x29, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74,
1844	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
1845	0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c,
1846	0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e,
1847	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x22, 0x32, 0x82, 0xd3,
1848	0xe4, 0x93, 0x02, 0x2c, 0x22, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
1849	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76,
1850	0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x3a, 0x07, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
1851	0x12, 0x7d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x26,
1852	0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e,
1853	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x52,
1854	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c,
1855	0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x68,
1856	0x69, 0x63, 0x6c, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76,
1857	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
1858	0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12,
1859	0x8c, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c,
1860	0x65, 0x12, 0x29, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e,
1861	0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65,
1862	0x68, 0x69, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d,
1863	0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e,
1864	0x76, 0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93,
1865	0x02, 0x2c, 0x1a, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
1866	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c,
1867	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x12, 0xb0,
1868	0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
1869	0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e,
1870	0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55,
1871	0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61,
1872	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61,
1873	0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76,
1874	0x31, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
1875	0x6e, 0x22, 0x3e, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x1a, 0x30, 0x2f, 0x76,
1876	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
1877	0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
1878	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01,
1879	0x2a, 0x12, 0xc3, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69,
1880	0x63, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x33, 0x2e,
1881	0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
1882	0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c,
1883	0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
1884	0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65,
1885	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56,
1886	0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
1887	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37,
1888	0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x76,
1889	0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73,
1890	0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
1891	0x75, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x8e, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74,
1892	0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e,
1893	0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
1894	0x69, 0x73, 0x74, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
1895	0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65,
1896	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x65, 0x68,
1897	0x69, 0x63, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82,
1898	0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
1899	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
1900	0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61,
1901	0x72, 0x63, 0x68, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x6d, 0x61,
1902	0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76,
1903	0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73,
1904	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66,
1905	0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65,
1906	0x61, 0x72, 0x63, 0x68, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
1907	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x22, 0x28, 0x2f, 0x76,
1908	0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
1909	0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x3a,
1910	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x12, 0xaa, 0x01, 0x0a, 0x14, 0x53, 0x65,
1911	0x61, 0x72, 0x63, 0x68, 0x46, 0x75, 0x7a, 0x7a, 0x65, 0x64, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c,
1912	0x65, 0x73, 0x12, 0x2a, 0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65,
1913	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56,
1914	0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b,
1915	0x2e, 0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e,
1916	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x65, 0x68, 0x69, 0x63,
1917	0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4,
1918	0x93, 0x02, 0x33, 0x22, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
1919	0x3d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x65,
1920	0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x75, 0x7a,
1921	0x7a, 0x65, 0x64, 0x3a, 0x01, 0x2a, 0x1a, 0x1d, 0xca, 0x41, 0x1a, 0x66, 0x6c, 0x65, 0x65, 0x74,
1922	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
1923	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x77, 0x0a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1924	0x6d, 0x61, 0x70, 0x73, 0x2e, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
1925	0x2e, 0x76, 0x31, 0x42, 0x0a, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x41, 0x70, 0x69, 0x50,
1926	0x01, 0x5a, 0x45, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
1927	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
1928	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x2f, 0x66, 0x6c,
1929	0x65, 0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x66, 0x6c, 0x65,
1930	0x65, 0x74, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0xa2, 0x02, 0x03, 0x43, 0x46, 0x45, 0x62, 0x06,
1931	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1932}
1933
1934var (
1935	file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescOnce sync.Once
1936	file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescData = file_google_maps_fleetengine_v1_vehicle_api_proto_rawDesc
1937)
1938
1939func file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescGZIP() []byte {
1940	file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescOnce.Do(func() {
1941		file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescData)
1942	})
1943	return file_google_maps_fleetengine_v1_vehicle_api_proto_rawDescData
1944}
1945
1946var file_google_maps_fleetengine_v1_vehicle_api_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
1947var file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
1948var file_google_maps_fleetengine_v1_vehicle_api_proto_goTypes = []interface{}{
1949	(SearchVehiclesRequest_VehicleMatchOrder)(0), // 0: maps.fleetengine.v1.SearchVehiclesRequest.VehicleMatchOrder
1950	(VehicleMatch_VehicleMatchType)(0),           // 1: maps.fleetengine.v1.VehicleMatch.VehicleMatchType
1951	(*CreateVehicleRequest)(nil),                 // 2: maps.fleetengine.v1.CreateVehicleRequest
1952	(*GetVehicleRequest)(nil),                    // 3: maps.fleetengine.v1.GetVehicleRequest
1953	(*UpdateVehicleRequest)(nil),                 // 4: maps.fleetengine.v1.UpdateVehicleRequest
1954	(*UpdateVehicleLocationRequest)(nil),         // 5: maps.fleetengine.v1.UpdateVehicleLocationRequest
1955	(*UpdateVehicleAttributesRequest)(nil),       // 6: maps.fleetengine.v1.UpdateVehicleAttributesRequest
1956	(*UpdateVehicleAttributesResponse)(nil),      // 7: maps.fleetengine.v1.UpdateVehicleAttributesResponse
1957	(*SearchVehiclesRequest)(nil),                // 8: maps.fleetengine.v1.SearchVehiclesRequest
1958	(*SearchVehiclesResponse)(nil),               // 9: maps.fleetengine.v1.SearchVehiclesResponse
1959	(*ListVehiclesRequest)(nil),                  // 10: maps.fleetengine.v1.ListVehiclesRequest
1960	(*ListVehiclesResponse)(nil),                 // 11: maps.fleetengine.v1.ListVehiclesResponse
1961	(*Waypoint)(nil),                             // 12: maps.fleetengine.v1.Waypoint
1962	(*VehicleMatch)(nil),                         // 13: maps.fleetengine.v1.VehicleMatch
1963	(*VehicleAttributeList)(nil),                 // 14: maps.fleetengine.v1.VehicleAttributeList
1964	(*RequestHeader)(nil),                        // 15: maps.fleetengine.v1.RequestHeader
1965	(*Vehicle)(nil),                              // 16: maps.fleetengine.v1.Vehicle
1966	(*timestamppb.Timestamp)(nil),                // 17: google.protobuf.Timestamp
1967	(*fieldmaskpb.FieldMask)(nil),                // 18: google.protobuf.FieldMask
1968	(*VehicleLocation)(nil),                      // 19: maps.fleetengine.v1.VehicleLocation
1969	(VehicleState)(0),                            // 20: maps.fleetengine.v1.VehicleState
1970	(*VehicleAttribute)(nil),                     // 21: maps.fleetengine.v1.VehicleAttribute
1971	(*TerminalLocation)(nil),                     // 22: maps.fleetengine.v1.TerminalLocation
1972	(TripType)(0),                                // 23: maps.fleetengine.v1.TripType
1973	(*durationpb.Duration)(nil),                  // 24: google.protobuf.Duration
1974	(*Vehicle_VehicleType)(nil),                  // 25: maps.fleetengine.v1.Vehicle.VehicleType
1975	(*wrapperspb.Int32Value)(nil),                // 26: google.protobuf.Int32Value
1976	(Vehicle_VehicleType_Category)(0),            // 27: maps.fleetengine.v1.Vehicle.VehicleType.Category
1977	(*latlng.LatLng)(nil),                        // 28: google.type.LatLng
1978}
1979var file_google_maps_fleetengine_v1_vehicle_api_proto_depIdxs = []int32{
1980	15, // 0: maps.fleetengine.v1.CreateVehicleRequest.header:type_name -> maps.fleetengine.v1.RequestHeader
1981	16, // 1: maps.fleetengine.v1.CreateVehicleRequest.vehicle:type_name -> maps.fleetengine.v1.Vehicle
1982	15, // 2: maps.fleetengine.v1.GetVehicleRequest.header:type_name -> maps.fleetengine.v1.RequestHeader
1983	17, // 3: maps.fleetengine.v1.GetVehicleRequest.current_route_segment_version:type_name -> google.protobuf.Timestamp
1984	17, // 4: maps.fleetengine.v1.GetVehicleRequest.waypoints_version:type_name -> google.protobuf.Timestamp
1985	15, // 5: maps.fleetengine.v1.UpdateVehicleRequest.header:type_name -> maps.fleetengine.v1.RequestHeader
1986	16, // 6: maps.fleetengine.v1.UpdateVehicleRequest.vehicle:type_name -> maps.fleetengine.v1.Vehicle
1987	18, // 7: maps.fleetengine.v1.UpdateVehicleRequest.update_mask:type_name -> google.protobuf.FieldMask
1988	15, // 8: maps.fleetengine.v1.UpdateVehicleLocationRequest.header:type_name -> maps.fleetengine.v1.RequestHeader
1989	19, // 9: maps.fleetengine.v1.UpdateVehicleLocationRequest.current_location:type_name -> maps.fleetengine.v1.VehicleLocation
1990	20, // 10: maps.fleetengine.v1.UpdateVehicleLocationRequest.current_state:type_name -> maps.fleetengine.v1.VehicleState
1991	15, // 11: maps.fleetengine.v1.UpdateVehicleAttributesRequest.header:type_name -> maps.fleetengine.v1.RequestHeader
1992	21, // 12: maps.fleetengine.v1.UpdateVehicleAttributesRequest.attributes:type_name -> maps.fleetengine.v1.VehicleAttribute
1993	21, // 13: maps.fleetengine.v1.UpdateVehicleAttributesResponse.attributes:type_name -> maps.fleetengine.v1.VehicleAttribute
1994	15, // 14: maps.fleetengine.v1.SearchVehiclesRequest.header:type_name -> maps.fleetengine.v1.RequestHeader
1995	22, // 15: maps.fleetengine.v1.SearchVehiclesRequest.pickup_point:type_name -> maps.fleetengine.v1.TerminalLocation
1996	22, // 16: maps.fleetengine.v1.SearchVehiclesRequest.dropoff_point:type_name -> maps.fleetengine.v1.TerminalLocation
1997	23, // 17: maps.fleetengine.v1.SearchVehiclesRequest.trip_types:type_name -> maps.fleetengine.v1.TripType
1998	24, // 18: maps.fleetengine.v1.SearchVehiclesRequest.maximum_staleness:type_name -> google.protobuf.Duration
1999	25, // 19: maps.fleetengine.v1.SearchVehiclesRequest.vehicle_types:type_name -> maps.fleetengine.v1.Vehicle.VehicleType
2000	21, // 20: maps.fleetengine.v1.SearchVehiclesRequest.required_attributes:type_name -> maps.fleetengine.v1.VehicleAttribute
2001	14, // 21: maps.fleetengine.v1.SearchVehiclesRequest.required_one_of_attributes:type_name -> maps.fleetengine.v1.VehicleAttributeList
2002	14, // 22: maps.fleetengine.v1.SearchVehiclesRequest.required_one_of_attribute_sets:type_name -> maps.fleetengine.v1.VehicleAttributeList
2003	0,  // 23: maps.fleetengine.v1.SearchVehiclesRequest.order_by:type_name -> maps.fleetengine.v1.SearchVehiclesRequest.VehicleMatchOrder
2004	13, // 24: maps.fleetengine.v1.SearchVehiclesResponse.matches:type_name -> maps.fleetengine.v1.VehicleMatch
2005	15, // 25: maps.fleetengine.v1.ListVehiclesRequest.header:type_name -> maps.fleetengine.v1.RequestHeader
2006	26, // 26: maps.fleetengine.v1.ListVehiclesRequest.minimum_capacity:type_name -> google.protobuf.Int32Value
2007	23, // 27: maps.fleetengine.v1.ListVehiclesRequest.trip_types:type_name -> maps.fleetengine.v1.TripType
2008	24, // 28: maps.fleetengine.v1.ListVehiclesRequest.maximum_staleness:type_name -> google.protobuf.Duration
2009	27, // 29: maps.fleetengine.v1.ListVehiclesRequest.vehicle_type_categories:type_name -> maps.fleetengine.v1.Vehicle.VehicleType.Category
2010	20, // 30: maps.fleetengine.v1.ListVehiclesRequest.vehicle_state:type_name -> maps.fleetengine.v1.VehicleState
2011	16, // 31: maps.fleetengine.v1.ListVehiclesResponse.vehicles:type_name -> maps.fleetengine.v1.Vehicle
2012	28, // 32: maps.fleetengine.v1.Waypoint.lat_lng:type_name -> google.type.LatLng
2013	17, // 33: maps.fleetengine.v1.Waypoint.eta:type_name -> google.protobuf.Timestamp
2014	16, // 34: maps.fleetengine.v1.VehicleMatch.vehicle:type_name -> maps.fleetengine.v1.Vehicle
2015	17, // 35: maps.fleetengine.v1.VehicleMatch.vehicle_pickup_eta:type_name -> google.protobuf.Timestamp
2016	26, // 36: maps.fleetengine.v1.VehicleMatch.vehicle_pickup_distance_meters:type_name -> google.protobuf.Int32Value
2017	26, // 37: maps.fleetengine.v1.VehicleMatch.vehicle_pickup_straight_line_distance_meters:type_name -> google.protobuf.Int32Value
2018	17, // 38: maps.fleetengine.v1.VehicleMatch.vehicle_dropoff_eta:type_name -> google.protobuf.Timestamp
2019	26, // 39: maps.fleetengine.v1.VehicleMatch.vehicle_pickup_to_dropoff_distance_meters:type_name -> google.protobuf.Int32Value
2020	23, // 40: maps.fleetengine.v1.VehicleMatch.trip_type:type_name -> maps.fleetengine.v1.TripType
2021	12, // 41: maps.fleetengine.v1.VehicleMatch.vehicle_trips_waypoints:type_name -> maps.fleetengine.v1.Waypoint
2022	1,  // 42: maps.fleetengine.v1.VehicleMatch.vehicle_match_type:type_name -> maps.fleetengine.v1.VehicleMatch.VehicleMatchType
2023	0,  // 43: maps.fleetengine.v1.VehicleMatch.requested_ordered_by:type_name -> maps.fleetengine.v1.SearchVehiclesRequest.VehicleMatchOrder
2024	0,  // 44: maps.fleetengine.v1.VehicleMatch.ordered_by:type_name -> maps.fleetengine.v1.SearchVehiclesRequest.VehicleMatchOrder
2025	21, // 45: maps.fleetengine.v1.VehicleAttributeList.attributes:type_name -> maps.fleetengine.v1.VehicleAttribute
2026	2,  // 46: maps.fleetengine.v1.VehicleService.CreateVehicle:input_type -> maps.fleetengine.v1.CreateVehicleRequest
2027	3,  // 47: maps.fleetengine.v1.VehicleService.GetVehicle:input_type -> maps.fleetengine.v1.GetVehicleRequest
2028	4,  // 48: maps.fleetengine.v1.VehicleService.UpdateVehicle:input_type -> maps.fleetengine.v1.UpdateVehicleRequest
2029	5,  // 49: maps.fleetengine.v1.VehicleService.UpdateVehicleLocation:input_type -> maps.fleetengine.v1.UpdateVehicleLocationRequest
2030	6,  // 50: maps.fleetengine.v1.VehicleService.UpdateVehicleAttributes:input_type -> maps.fleetengine.v1.UpdateVehicleAttributesRequest
2031	10, // 51: maps.fleetengine.v1.VehicleService.ListVehicles:input_type -> maps.fleetengine.v1.ListVehiclesRequest
2032	8,  // 52: maps.fleetengine.v1.VehicleService.SearchVehicles:input_type -> maps.fleetengine.v1.SearchVehiclesRequest
2033	8,  // 53: maps.fleetengine.v1.VehicleService.SearchFuzzedVehicles:input_type -> maps.fleetengine.v1.SearchVehiclesRequest
2034	16, // 54: maps.fleetengine.v1.VehicleService.CreateVehicle:output_type -> maps.fleetengine.v1.Vehicle
2035	16, // 55: maps.fleetengine.v1.VehicleService.GetVehicle:output_type -> maps.fleetengine.v1.Vehicle
2036	16, // 56: maps.fleetengine.v1.VehicleService.UpdateVehicle:output_type -> maps.fleetengine.v1.Vehicle
2037	19, // 57: maps.fleetengine.v1.VehicleService.UpdateVehicleLocation:output_type -> maps.fleetengine.v1.VehicleLocation
2038	7,  // 58: maps.fleetengine.v1.VehicleService.UpdateVehicleAttributes:output_type -> maps.fleetengine.v1.UpdateVehicleAttributesResponse
2039	11, // 59: maps.fleetengine.v1.VehicleService.ListVehicles:output_type -> maps.fleetengine.v1.ListVehiclesResponse
2040	9,  // 60: maps.fleetengine.v1.VehicleService.SearchVehicles:output_type -> maps.fleetengine.v1.SearchVehiclesResponse
2041	9,  // 61: maps.fleetengine.v1.VehicleService.SearchFuzzedVehicles:output_type -> maps.fleetengine.v1.SearchVehiclesResponse
2042	54, // [54:62] is the sub-list for method output_type
2043	46, // [46:54] is the sub-list for method input_type
2044	46, // [46:46] is the sub-list for extension type_name
2045	46, // [46:46] is the sub-list for extension extendee
2046	0,  // [0:46] is the sub-list for field type_name
2047}
2048
2049func init() { file_google_maps_fleetengine_v1_vehicle_api_proto_init() }
2050func file_google_maps_fleetengine_v1_vehicle_api_proto_init() {
2051	if File_google_maps_fleetengine_v1_vehicle_api_proto != nil {
2052		return
2053	}
2054	file_google_maps_fleetengine_v1_fleetengine_proto_init()
2055	file_google_maps_fleetengine_v1_header_proto_init()
2056	file_google_maps_fleetengine_v1_vehicles_proto_init()
2057	if !protoimpl.UnsafeEnabled {
2058		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2059			switch v := v.(*CreateVehicleRequest); i {
2060			case 0:
2061				return &v.state
2062			case 1:
2063				return &v.sizeCache
2064			case 2:
2065				return &v.unknownFields
2066			default:
2067				return nil
2068			}
2069		}
2070		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2071			switch v := v.(*GetVehicleRequest); i {
2072			case 0:
2073				return &v.state
2074			case 1:
2075				return &v.sizeCache
2076			case 2:
2077				return &v.unknownFields
2078			default:
2079				return nil
2080			}
2081		}
2082		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2083			switch v := v.(*UpdateVehicleRequest); i {
2084			case 0:
2085				return &v.state
2086			case 1:
2087				return &v.sizeCache
2088			case 2:
2089				return &v.unknownFields
2090			default:
2091				return nil
2092			}
2093		}
2094		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2095			switch v := v.(*UpdateVehicleLocationRequest); i {
2096			case 0:
2097				return &v.state
2098			case 1:
2099				return &v.sizeCache
2100			case 2:
2101				return &v.unknownFields
2102			default:
2103				return nil
2104			}
2105		}
2106		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2107			switch v := v.(*UpdateVehicleAttributesRequest); i {
2108			case 0:
2109				return &v.state
2110			case 1:
2111				return &v.sizeCache
2112			case 2:
2113				return &v.unknownFields
2114			default:
2115				return nil
2116			}
2117		}
2118		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2119			switch v := v.(*UpdateVehicleAttributesResponse); i {
2120			case 0:
2121				return &v.state
2122			case 1:
2123				return &v.sizeCache
2124			case 2:
2125				return &v.unknownFields
2126			default:
2127				return nil
2128			}
2129		}
2130		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2131			switch v := v.(*SearchVehiclesRequest); i {
2132			case 0:
2133				return &v.state
2134			case 1:
2135				return &v.sizeCache
2136			case 2:
2137				return &v.unknownFields
2138			default:
2139				return nil
2140			}
2141		}
2142		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2143			switch v := v.(*SearchVehiclesResponse); i {
2144			case 0:
2145				return &v.state
2146			case 1:
2147				return &v.sizeCache
2148			case 2:
2149				return &v.unknownFields
2150			default:
2151				return nil
2152			}
2153		}
2154		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2155			switch v := v.(*ListVehiclesRequest); i {
2156			case 0:
2157				return &v.state
2158			case 1:
2159				return &v.sizeCache
2160			case 2:
2161				return &v.unknownFields
2162			default:
2163				return nil
2164			}
2165		}
2166		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2167			switch v := v.(*ListVehiclesResponse); i {
2168			case 0:
2169				return &v.state
2170			case 1:
2171				return &v.sizeCache
2172			case 2:
2173				return &v.unknownFields
2174			default:
2175				return nil
2176			}
2177		}
2178		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2179			switch v := v.(*Waypoint); i {
2180			case 0:
2181				return &v.state
2182			case 1:
2183				return &v.sizeCache
2184			case 2:
2185				return &v.unknownFields
2186			default:
2187				return nil
2188			}
2189		}
2190		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2191			switch v := v.(*VehicleMatch); i {
2192			case 0:
2193				return &v.state
2194			case 1:
2195				return &v.sizeCache
2196			case 2:
2197				return &v.unknownFields
2198			default:
2199				return nil
2200			}
2201		}
2202		file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2203			switch v := v.(*VehicleAttributeList); i {
2204			case 0:
2205				return &v.state
2206			case 1:
2207				return &v.sizeCache
2208			case 2:
2209				return &v.unknownFields
2210			default:
2211				return nil
2212			}
2213		}
2214	}
2215	type x struct{}
2216	out := protoimpl.TypeBuilder{
2217		File: protoimpl.DescBuilder{
2218			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2219			RawDescriptor: file_google_maps_fleetengine_v1_vehicle_api_proto_rawDesc,
2220			NumEnums:      2,
2221			NumMessages:   13,
2222			NumExtensions: 0,
2223			NumServices:   1,
2224		},
2225		GoTypes:           file_google_maps_fleetengine_v1_vehicle_api_proto_goTypes,
2226		DependencyIndexes: file_google_maps_fleetengine_v1_vehicle_api_proto_depIdxs,
2227		EnumInfos:         file_google_maps_fleetengine_v1_vehicle_api_proto_enumTypes,
2228		MessageInfos:      file_google_maps_fleetengine_v1_vehicle_api_proto_msgTypes,
2229	}.Build()
2230	File_google_maps_fleetengine_v1_vehicle_api_proto = out.File
2231	file_google_maps_fleetengine_v1_vehicle_api_proto_rawDesc = nil
2232	file_google_maps_fleetengine_v1_vehicle_api_proto_goTypes = nil
2233	file_google_maps_fleetengine_v1_vehicle_api_proto_depIdxs = nil
2234}
2235
2236// Reference imports to suppress errors if they are not otherwise used.
2237var _ context.Context
2238var _ grpc.ClientConnInterface
2239
2240// This is a compile-time assertion to ensure that this generated file
2241// is compatible with the grpc package it is being compiled against.
2242const _ = grpc.SupportPackageIsVersion6
2243
2244// VehicleServiceClient is the client API for VehicleService service.
2245//
2246// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2247type VehicleServiceClient interface {
2248	// CreateVehicle instantiates a new vehicle associated with a rideshare
2249	// provider in the Fleet Engine. Vehicles must have a unique vehicle ID.
2250	//
2251	// The following Vehicle fields are required when creating a Vehicle:
2252	//
2253	// * vehicleState
2254	// * supportedTripTypes
2255	// * maximumCapacity
2256	// * vehicleType
2257	//
2258	// The following Vehicle fields are ignored when creating a Vehicle:
2259	//
2260	// * name
2261	// * currentTrips
2262	// * availableCapacity
2263	// * current_route_segment
2264	// * current_route_segment_version
2265	// * waypoint
2266	// * waypoints_version
2267	// * remaining_distance_meters
2268	// * eta_to_next_waypoint
2269	// * navigation_status
2270	//
2271	// All other fields are optional and used if provided.
2272	CreateVehicle(ctx context.Context, in *CreateVehicleRequest, opts ...grpc.CallOption) (*Vehicle, error)
2273	// GetVehicle returns a vehicle from the Fleet Engine.
2274	GetVehicle(ctx context.Context, in *GetVehicleRequest, opts ...grpc.CallOption) (*Vehicle, error)
2275	// UpdateVehicle writes updated vehicle data to the Fleet Engine.
2276	//
2277	// When updating a Vehicle, the following fields cannot be updated since they
2278	// are managed by the Fleet Engine:
2279	//
2280	// * currentTrips
2281	// * availableCapacity
2282	// * current_route_segment_version
2283	// * waypoints_version
2284	//
2285	// The vehicle name also cannot be updated.
2286	//
2287	// The waypoints field can be updated, but must contain all the waypoints
2288	// currently on the vehicle, and no other waypoints.
2289	UpdateVehicle(ctx context.Context, in *UpdateVehicleRequest, opts ...grpc.CallOption) (*Vehicle, error)
2290	// Deprecated: Do not use.
2291	// UpdateVehicleLocation updates the location of the vehicle.
2292	// This method is deprecated. Use UpdateVehicle method instead.
2293	UpdateVehicleLocation(ctx context.Context, in *UpdateVehicleLocationRequest, opts ...grpc.CallOption) (*VehicleLocation, error)
2294	// UpdateVehicleAttributes partially updates a vehicle's attributes.
2295	// Only the attributes mentioned in the request will be updated, other
2296	// attributes will NOT be altered. Note: this is different in UpdateVehicle,
2297	// where the whole `attributes` field will be replaced by the one in
2298	// UpdateVehicleRequest, attributes not in the request would be removed.
2299	UpdateVehicleAttributes(ctx context.Context, in *UpdateVehicleAttributesRequest, opts ...grpc.CallOption) (*UpdateVehicleAttributesResponse, error)
2300	// ListVehicles returns a paginated list of vehicles associated with
2301	// a provider that match the request options.
2302	ListVehicles(ctx context.Context, in *ListVehiclesRequest, opts ...grpc.CallOption) (*ListVehiclesResponse, error)
2303	// SearchVehicles returns a list of vehicles that match the request options.
2304	SearchVehicles(ctx context.Context, in *SearchVehiclesRequest, opts ...grpc.CallOption) (*SearchVehiclesResponse, error)
2305	// SearchFuzzedVehicles returns a list of vehicles that match the request
2306	// options with their locations fuzzed.
2307	// Request does not support 'order_by' field.
2308	// Vehicle matches in response will be in order of distance from pickup point.
2309	// Vehicle matches in response will only have 'vehicle' and 'trip_type' field
2310	// set.
2311	SearchFuzzedVehicles(ctx context.Context, in *SearchVehiclesRequest, opts ...grpc.CallOption) (*SearchVehiclesResponse, error)
2312}
2313
2314type vehicleServiceClient struct {
2315	cc grpc.ClientConnInterface
2316}
2317
2318func NewVehicleServiceClient(cc grpc.ClientConnInterface) VehicleServiceClient {
2319	return &vehicleServiceClient{cc}
2320}
2321
2322func (c *vehicleServiceClient) CreateVehicle(ctx context.Context, in *CreateVehicleRequest, opts ...grpc.CallOption) (*Vehicle, error) {
2323	out := new(Vehicle)
2324	err := c.cc.Invoke(ctx, "/maps.fleetengine.v1.VehicleService/CreateVehicle", in, out, opts...)
2325	if err != nil {
2326		return nil, err
2327	}
2328	return out, nil
2329}
2330
2331func (c *vehicleServiceClient) GetVehicle(ctx context.Context, in *GetVehicleRequest, opts ...grpc.CallOption) (*Vehicle, error) {
2332	out := new(Vehicle)
2333	err := c.cc.Invoke(ctx, "/maps.fleetengine.v1.VehicleService/GetVehicle", in, out, opts...)
2334	if err != nil {
2335		return nil, err
2336	}
2337	return out, nil
2338}
2339
2340func (c *vehicleServiceClient) UpdateVehicle(ctx context.Context, in *UpdateVehicleRequest, opts ...grpc.CallOption) (*Vehicle, error) {
2341	out := new(Vehicle)
2342	err := c.cc.Invoke(ctx, "/maps.fleetengine.v1.VehicleService/UpdateVehicle", in, out, opts...)
2343	if err != nil {
2344		return nil, err
2345	}
2346	return out, nil
2347}
2348
2349// Deprecated: Do not use.
2350func (c *vehicleServiceClient) UpdateVehicleLocation(ctx context.Context, in *UpdateVehicleLocationRequest, opts ...grpc.CallOption) (*VehicleLocation, error) {
2351	out := new(VehicleLocation)
2352	err := c.cc.Invoke(ctx, "/maps.fleetengine.v1.VehicleService/UpdateVehicleLocation", in, out, opts...)
2353	if err != nil {
2354		return nil, err
2355	}
2356	return out, nil
2357}
2358
2359func (c *vehicleServiceClient) UpdateVehicleAttributes(ctx context.Context, in *UpdateVehicleAttributesRequest, opts ...grpc.CallOption) (*UpdateVehicleAttributesResponse, error) {
2360	out := new(UpdateVehicleAttributesResponse)
2361	err := c.cc.Invoke(ctx, "/maps.fleetengine.v1.VehicleService/UpdateVehicleAttributes", in, out, opts...)
2362	if err != nil {
2363		return nil, err
2364	}
2365	return out, nil
2366}
2367
2368func (c *vehicleServiceClient) ListVehicles(ctx context.Context, in *ListVehiclesRequest, opts ...grpc.CallOption) (*ListVehiclesResponse, error) {
2369	out := new(ListVehiclesResponse)
2370	err := c.cc.Invoke(ctx, "/maps.fleetengine.v1.VehicleService/ListVehicles", in, out, opts...)
2371	if err != nil {
2372		return nil, err
2373	}
2374	return out, nil
2375}
2376
2377func (c *vehicleServiceClient) SearchVehicles(ctx context.Context, in *SearchVehiclesRequest, opts ...grpc.CallOption) (*SearchVehiclesResponse, error) {
2378	out := new(SearchVehiclesResponse)
2379	err := c.cc.Invoke(ctx, "/maps.fleetengine.v1.VehicleService/SearchVehicles", in, out, opts...)
2380	if err != nil {
2381		return nil, err
2382	}
2383	return out, nil
2384}
2385
2386func (c *vehicleServiceClient) SearchFuzzedVehicles(ctx context.Context, in *SearchVehiclesRequest, opts ...grpc.CallOption) (*SearchVehiclesResponse, error) {
2387	out := new(SearchVehiclesResponse)
2388	err := c.cc.Invoke(ctx, "/maps.fleetengine.v1.VehicleService/SearchFuzzedVehicles", in, out, opts...)
2389	if err != nil {
2390		return nil, err
2391	}
2392	return out, nil
2393}
2394
2395// VehicleServiceServer is the server API for VehicleService service.
2396type VehicleServiceServer interface {
2397	// CreateVehicle instantiates a new vehicle associated with a rideshare
2398	// provider in the Fleet Engine. Vehicles must have a unique vehicle ID.
2399	//
2400	// The following Vehicle fields are required when creating a Vehicle:
2401	//
2402	// * vehicleState
2403	// * supportedTripTypes
2404	// * maximumCapacity
2405	// * vehicleType
2406	//
2407	// The following Vehicle fields are ignored when creating a Vehicle:
2408	//
2409	// * name
2410	// * currentTrips
2411	// * availableCapacity
2412	// * current_route_segment
2413	// * current_route_segment_version
2414	// * waypoint
2415	// * waypoints_version
2416	// * remaining_distance_meters
2417	// * eta_to_next_waypoint
2418	// * navigation_status
2419	//
2420	// All other fields are optional and used if provided.
2421	CreateVehicle(context.Context, *CreateVehicleRequest) (*Vehicle, error)
2422	// GetVehicle returns a vehicle from the Fleet Engine.
2423	GetVehicle(context.Context, *GetVehicleRequest) (*Vehicle, error)
2424	// UpdateVehicle writes updated vehicle data to the Fleet Engine.
2425	//
2426	// When updating a Vehicle, the following fields cannot be updated since they
2427	// are managed by the Fleet Engine:
2428	//
2429	// * currentTrips
2430	// * availableCapacity
2431	// * current_route_segment_version
2432	// * waypoints_version
2433	//
2434	// The vehicle name also cannot be updated.
2435	//
2436	// The waypoints field can be updated, but must contain all the waypoints
2437	// currently on the vehicle, and no other waypoints.
2438	UpdateVehicle(context.Context, *UpdateVehicleRequest) (*Vehicle, error)
2439	// Deprecated: Do not use.
2440	// UpdateVehicleLocation updates the location of the vehicle.
2441	// This method is deprecated. Use UpdateVehicle method instead.
2442	UpdateVehicleLocation(context.Context, *UpdateVehicleLocationRequest) (*VehicleLocation, error)
2443	// UpdateVehicleAttributes partially updates a vehicle's attributes.
2444	// Only the attributes mentioned in the request will be updated, other
2445	// attributes will NOT be altered. Note: this is different in UpdateVehicle,
2446	// where the whole `attributes` field will be replaced by the one in
2447	// UpdateVehicleRequest, attributes not in the request would be removed.
2448	UpdateVehicleAttributes(context.Context, *UpdateVehicleAttributesRequest) (*UpdateVehicleAttributesResponse, error)
2449	// ListVehicles returns a paginated list of vehicles associated with
2450	// a provider that match the request options.
2451	ListVehicles(context.Context, *ListVehiclesRequest) (*ListVehiclesResponse, error)
2452	// SearchVehicles returns a list of vehicles that match the request options.
2453	SearchVehicles(context.Context, *SearchVehiclesRequest) (*SearchVehiclesResponse, error)
2454	// SearchFuzzedVehicles returns a list of vehicles that match the request
2455	// options with their locations fuzzed.
2456	// Request does not support 'order_by' field.
2457	// Vehicle matches in response will be in order of distance from pickup point.
2458	// Vehicle matches in response will only have 'vehicle' and 'trip_type' field
2459	// set.
2460	SearchFuzzedVehicles(context.Context, *SearchVehiclesRequest) (*SearchVehiclesResponse, error)
2461}
2462
2463// UnimplementedVehicleServiceServer can be embedded to have forward compatible implementations.
2464type UnimplementedVehicleServiceServer struct {
2465}
2466
2467func (*UnimplementedVehicleServiceServer) CreateVehicle(context.Context, *CreateVehicleRequest) (*Vehicle, error) {
2468	return nil, status.Errorf(codes.Unimplemented, "method CreateVehicle not implemented")
2469}
2470func (*UnimplementedVehicleServiceServer) GetVehicle(context.Context, *GetVehicleRequest) (*Vehicle, error) {
2471	return nil, status.Errorf(codes.Unimplemented, "method GetVehicle not implemented")
2472}
2473func (*UnimplementedVehicleServiceServer) UpdateVehicle(context.Context, *UpdateVehicleRequest) (*Vehicle, error) {
2474	return nil, status.Errorf(codes.Unimplemented, "method UpdateVehicle not implemented")
2475}
2476func (*UnimplementedVehicleServiceServer) UpdateVehicleLocation(context.Context, *UpdateVehicleLocationRequest) (*VehicleLocation, error) {
2477	return nil, status.Errorf(codes.Unimplemented, "method UpdateVehicleLocation not implemented")
2478}
2479func (*UnimplementedVehicleServiceServer) UpdateVehicleAttributes(context.Context, *UpdateVehicleAttributesRequest) (*UpdateVehicleAttributesResponse, error) {
2480	return nil, status.Errorf(codes.Unimplemented, "method UpdateVehicleAttributes not implemented")
2481}
2482func (*UnimplementedVehicleServiceServer) ListVehicles(context.Context, *ListVehiclesRequest) (*ListVehiclesResponse, error) {
2483	return nil, status.Errorf(codes.Unimplemented, "method ListVehicles not implemented")
2484}
2485func (*UnimplementedVehicleServiceServer) SearchVehicles(context.Context, *SearchVehiclesRequest) (*SearchVehiclesResponse, error) {
2486	return nil, status.Errorf(codes.Unimplemented, "method SearchVehicles not implemented")
2487}
2488func (*UnimplementedVehicleServiceServer) SearchFuzzedVehicles(context.Context, *SearchVehiclesRequest) (*SearchVehiclesResponse, error) {
2489	return nil, status.Errorf(codes.Unimplemented, "method SearchFuzzedVehicles not implemented")
2490}
2491
2492func RegisterVehicleServiceServer(s *grpc.Server, srv VehicleServiceServer) {
2493	s.RegisterService(&_VehicleService_serviceDesc, srv)
2494}
2495
2496func _VehicleService_CreateVehicle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2497	in := new(CreateVehicleRequest)
2498	if err := dec(in); err != nil {
2499		return nil, err
2500	}
2501	if interceptor == nil {
2502		return srv.(VehicleServiceServer).CreateVehicle(ctx, in)
2503	}
2504	info := &grpc.UnaryServerInfo{
2505		Server:     srv,
2506		FullMethod: "/maps.fleetengine.v1.VehicleService/CreateVehicle",
2507	}
2508	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2509		return srv.(VehicleServiceServer).CreateVehicle(ctx, req.(*CreateVehicleRequest))
2510	}
2511	return interceptor(ctx, in, info, handler)
2512}
2513
2514func _VehicleService_GetVehicle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2515	in := new(GetVehicleRequest)
2516	if err := dec(in); err != nil {
2517		return nil, err
2518	}
2519	if interceptor == nil {
2520		return srv.(VehicleServiceServer).GetVehicle(ctx, in)
2521	}
2522	info := &grpc.UnaryServerInfo{
2523		Server:     srv,
2524		FullMethod: "/maps.fleetengine.v1.VehicleService/GetVehicle",
2525	}
2526	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2527		return srv.(VehicleServiceServer).GetVehicle(ctx, req.(*GetVehicleRequest))
2528	}
2529	return interceptor(ctx, in, info, handler)
2530}
2531
2532func _VehicleService_UpdateVehicle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2533	in := new(UpdateVehicleRequest)
2534	if err := dec(in); err != nil {
2535		return nil, err
2536	}
2537	if interceptor == nil {
2538		return srv.(VehicleServiceServer).UpdateVehicle(ctx, in)
2539	}
2540	info := &grpc.UnaryServerInfo{
2541		Server:     srv,
2542		FullMethod: "/maps.fleetengine.v1.VehicleService/UpdateVehicle",
2543	}
2544	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2545		return srv.(VehicleServiceServer).UpdateVehicle(ctx, req.(*UpdateVehicleRequest))
2546	}
2547	return interceptor(ctx, in, info, handler)
2548}
2549
2550func _VehicleService_UpdateVehicleLocation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2551	in := new(UpdateVehicleLocationRequest)
2552	if err := dec(in); err != nil {
2553		return nil, err
2554	}
2555	if interceptor == nil {
2556		return srv.(VehicleServiceServer).UpdateVehicleLocation(ctx, in)
2557	}
2558	info := &grpc.UnaryServerInfo{
2559		Server:     srv,
2560		FullMethod: "/maps.fleetengine.v1.VehicleService/UpdateVehicleLocation",
2561	}
2562	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2563		return srv.(VehicleServiceServer).UpdateVehicleLocation(ctx, req.(*UpdateVehicleLocationRequest))
2564	}
2565	return interceptor(ctx, in, info, handler)
2566}
2567
2568func _VehicleService_UpdateVehicleAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2569	in := new(UpdateVehicleAttributesRequest)
2570	if err := dec(in); err != nil {
2571		return nil, err
2572	}
2573	if interceptor == nil {
2574		return srv.(VehicleServiceServer).UpdateVehicleAttributes(ctx, in)
2575	}
2576	info := &grpc.UnaryServerInfo{
2577		Server:     srv,
2578		FullMethod: "/maps.fleetengine.v1.VehicleService/UpdateVehicleAttributes",
2579	}
2580	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2581		return srv.(VehicleServiceServer).UpdateVehicleAttributes(ctx, req.(*UpdateVehicleAttributesRequest))
2582	}
2583	return interceptor(ctx, in, info, handler)
2584}
2585
2586func _VehicleService_ListVehicles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2587	in := new(ListVehiclesRequest)
2588	if err := dec(in); err != nil {
2589		return nil, err
2590	}
2591	if interceptor == nil {
2592		return srv.(VehicleServiceServer).ListVehicles(ctx, in)
2593	}
2594	info := &grpc.UnaryServerInfo{
2595		Server:     srv,
2596		FullMethod: "/maps.fleetengine.v1.VehicleService/ListVehicles",
2597	}
2598	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2599		return srv.(VehicleServiceServer).ListVehicles(ctx, req.(*ListVehiclesRequest))
2600	}
2601	return interceptor(ctx, in, info, handler)
2602}
2603
2604func _VehicleService_SearchVehicles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2605	in := new(SearchVehiclesRequest)
2606	if err := dec(in); err != nil {
2607		return nil, err
2608	}
2609	if interceptor == nil {
2610		return srv.(VehicleServiceServer).SearchVehicles(ctx, in)
2611	}
2612	info := &grpc.UnaryServerInfo{
2613		Server:     srv,
2614		FullMethod: "/maps.fleetengine.v1.VehicleService/SearchVehicles",
2615	}
2616	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2617		return srv.(VehicleServiceServer).SearchVehicles(ctx, req.(*SearchVehiclesRequest))
2618	}
2619	return interceptor(ctx, in, info, handler)
2620}
2621
2622func _VehicleService_SearchFuzzedVehicles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2623	in := new(SearchVehiclesRequest)
2624	if err := dec(in); err != nil {
2625		return nil, err
2626	}
2627	if interceptor == nil {
2628		return srv.(VehicleServiceServer).SearchFuzzedVehicles(ctx, in)
2629	}
2630	info := &grpc.UnaryServerInfo{
2631		Server:     srv,
2632		FullMethod: "/maps.fleetengine.v1.VehicleService/SearchFuzzedVehicles",
2633	}
2634	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2635		return srv.(VehicleServiceServer).SearchFuzzedVehicles(ctx, req.(*SearchVehiclesRequest))
2636	}
2637	return interceptor(ctx, in, info, handler)
2638}
2639
2640var _VehicleService_serviceDesc = grpc.ServiceDesc{
2641	ServiceName: "maps.fleetengine.v1.VehicleService",
2642	HandlerType: (*VehicleServiceServer)(nil),
2643	Methods: []grpc.MethodDesc{
2644		{
2645			MethodName: "CreateVehicle",
2646			Handler:    _VehicleService_CreateVehicle_Handler,
2647		},
2648		{
2649			MethodName: "GetVehicle",
2650			Handler:    _VehicleService_GetVehicle_Handler,
2651		},
2652		{
2653			MethodName: "UpdateVehicle",
2654			Handler:    _VehicleService_UpdateVehicle_Handler,
2655		},
2656		{
2657			MethodName: "UpdateVehicleLocation",
2658			Handler:    _VehicleService_UpdateVehicleLocation_Handler,
2659		},
2660		{
2661			MethodName: "UpdateVehicleAttributes",
2662			Handler:    _VehicleService_UpdateVehicleAttributes_Handler,
2663		},
2664		{
2665			MethodName: "ListVehicles",
2666			Handler:    _VehicleService_ListVehicles_Handler,
2667		},
2668		{
2669			MethodName: "SearchVehicles",
2670			Handler:    _VehicleService_SearchVehicles_Handler,
2671		},
2672		{
2673			MethodName: "SearchFuzzedVehicles",
2674			Handler:    _VehicleService_SearchFuzzedVehicles_Handler,
2675		},
2676	},
2677	Streams:  []grpc.StreamDesc{},
2678	Metadata: "google/maps/fleetengine/v1/vehicle_api.proto",
2679}
2680