1// Code generated by protoc-gen-go. DO NOT EDIT.
2// versions:
3// 	protoc-gen-go v1.25.0
4// 	protoc        v3.14.0
5// source: envoy/config/endpoint/v3/load_report.proto
6
7package envoy_config_endpoint_v3
8
9import (
10	_ "github.com/cncf/xds/go/udpa/annotations"
11	v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
12	_ "github.com/envoyproxy/protoc-gen-validate/validate"
13	proto "github.com/golang/protobuf/proto"
14	duration "github.com/golang/protobuf/ptypes/duration"
15	_struct "github.com/golang/protobuf/ptypes/struct"
16	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
17	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
18	reflect "reflect"
19	sync "sync"
20)
21
22const (
23	// Verify that this generated code is sufficiently up-to-date.
24	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
25	// Verify that runtime/protoimpl is sufficiently up-to-date.
26	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
27)
28
29// This is a compile-time assertion that a sufficiently up-to-date version
30// of the legacy proto package is being used.
31const _ = proto.ProtoPackageIsVersion4
32
33// These are stats Envoy reports to the management server at a frequency defined by
34// :ref:`LoadStatsResponse.load_reporting_interval<envoy_v3_api_field_service.load_stats.v3.LoadStatsResponse.load_reporting_interval>`.
35// Stats per upstream region/zone and optionally per subzone.
36// [#next-free-field: 9]
37type UpstreamLocalityStats struct {
38	state         protoimpl.MessageState
39	sizeCache     protoimpl.SizeCache
40	unknownFields protoimpl.UnknownFields
41
42	// Name of zone, region and optionally endpoint group these metrics were
43	// collected from. Zone and region names could be empty if unknown.
44	Locality *v3.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
45	// The total number of requests successfully completed by the endpoints in the
46	// locality.
47	TotalSuccessfulRequests uint64 `protobuf:"varint,2,opt,name=total_successful_requests,json=totalSuccessfulRequests,proto3" json:"total_successful_requests,omitempty"`
48	// The total number of unfinished requests
49	TotalRequestsInProgress uint64 `protobuf:"varint,3,opt,name=total_requests_in_progress,json=totalRequestsInProgress,proto3" json:"total_requests_in_progress,omitempty"`
50	// The total number of requests that failed due to errors at the endpoint,
51	// aggregated over all endpoints in the locality.
52	TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"`
53	// The total number of requests that were issued by this Envoy since
54	// the last report. This information is aggregated over all the
55	// upstream endpoints in the locality.
56	TotalIssuedRequests uint64 `protobuf:"varint,8,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"`
57	// Stats for multi-dimensional load balancing.
58	LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"`
59	// Endpoint granularity stats information for this locality. This information
60	// is populated if the Server requests it by setting
61	// :ref:`LoadStatsResponse.report_endpoint_granularity<envoy_v3_api_field_service.load_stats.v3.LoadStatsResponse.report_endpoint_granularity>`.
62	UpstreamEndpointStats []*UpstreamEndpointStats `protobuf:"bytes,7,rep,name=upstream_endpoint_stats,json=upstreamEndpointStats,proto3" json:"upstream_endpoint_stats,omitempty"`
63	// [#not-implemented-hide:] The priority of the endpoint group these metrics
64	// were collected from.
65	Priority uint32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"`
66}
67
68func (x *UpstreamLocalityStats) Reset() {
69	*x = UpstreamLocalityStats{}
70	if protoimpl.UnsafeEnabled {
71		mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[0]
72		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
73		ms.StoreMessageInfo(mi)
74	}
75}
76
77func (x *UpstreamLocalityStats) String() string {
78	return protoimpl.X.MessageStringOf(x)
79}
80
81func (*UpstreamLocalityStats) ProtoMessage() {}
82
83func (x *UpstreamLocalityStats) ProtoReflect() protoreflect.Message {
84	mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[0]
85	if protoimpl.UnsafeEnabled && x != nil {
86		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
87		if ms.LoadMessageInfo() == nil {
88			ms.StoreMessageInfo(mi)
89		}
90		return ms
91	}
92	return mi.MessageOf(x)
93}
94
95// Deprecated: Use UpstreamLocalityStats.ProtoReflect.Descriptor instead.
96func (*UpstreamLocalityStats) Descriptor() ([]byte, []int) {
97	return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{0}
98}
99
100func (x *UpstreamLocalityStats) GetLocality() *v3.Locality {
101	if x != nil {
102		return x.Locality
103	}
104	return nil
105}
106
107func (x *UpstreamLocalityStats) GetTotalSuccessfulRequests() uint64 {
108	if x != nil {
109		return x.TotalSuccessfulRequests
110	}
111	return 0
112}
113
114func (x *UpstreamLocalityStats) GetTotalRequestsInProgress() uint64 {
115	if x != nil {
116		return x.TotalRequestsInProgress
117	}
118	return 0
119}
120
121func (x *UpstreamLocalityStats) GetTotalErrorRequests() uint64 {
122	if x != nil {
123		return x.TotalErrorRequests
124	}
125	return 0
126}
127
128func (x *UpstreamLocalityStats) GetTotalIssuedRequests() uint64 {
129	if x != nil {
130		return x.TotalIssuedRequests
131	}
132	return 0
133}
134
135func (x *UpstreamLocalityStats) GetLoadMetricStats() []*EndpointLoadMetricStats {
136	if x != nil {
137		return x.LoadMetricStats
138	}
139	return nil
140}
141
142func (x *UpstreamLocalityStats) GetUpstreamEndpointStats() []*UpstreamEndpointStats {
143	if x != nil {
144		return x.UpstreamEndpointStats
145	}
146	return nil
147}
148
149func (x *UpstreamLocalityStats) GetPriority() uint32 {
150	if x != nil {
151		return x.Priority
152	}
153	return 0
154}
155
156// [#next-free-field: 8]
157type UpstreamEndpointStats struct {
158	state         protoimpl.MessageState
159	sizeCache     protoimpl.SizeCache
160	unknownFields protoimpl.UnknownFields
161
162	// Upstream host address.
163	Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
164	// Opaque and implementation dependent metadata of the
165	// endpoint. Envoy will pass this directly to the management server.
166	Metadata *_struct.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
167	// The total number of requests successfully completed by the endpoints in the
168	// locality. These include non-5xx responses for HTTP, where errors
169	// originate at the client and the endpoint responded successfully. For gRPC,
170	// the grpc-status values are those not covered by total_error_requests below.
171	TotalSuccessfulRequests uint64 `protobuf:"varint,2,opt,name=total_successful_requests,json=totalSuccessfulRequests,proto3" json:"total_successful_requests,omitempty"`
172	// The total number of unfinished requests for this endpoint.
173	TotalRequestsInProgress uint64 `protobuf:"varint,3,opt,name=total_requests_in_progress,json=totalRequestsInProgress,proto3" json:"total_requests_in_progress,omitempty"`
174	// The total number of requests that failed due to errors at the endpoint.
175	// For HTTP these are responses with 5xx status codes and for gRPC the
176	// grpc-status values:
177	//
178	//   - DeadlineExceeded
179	//   - Unimplemented
180	//   - Internal
181	//   - Unavailable
182	//   - Unknown
183	//   - DataLoss
184	TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"`
185	// The total number of requests that were issued to this endpoint
186	// since the last report. A single TCP connection, HTTP or gRPC
187	// request or stream is counted as one request.
188	TotalIssuedRequests uint64 `protobuf:"varint,7,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"`
189	// Stats for multi-dimensional load balancing.
190	LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"`
191}
192
193func (x *UpstreamEndpointStats) Reset() {
194	*x = UpstreamEndpointStats{}
195	if protoimpl.UnsafeEnabled {
196		mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[1]
197		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
198		ms.StoreMessageInfo(mi)
199	}
200}
201
202func (x *UpstreamEndpointStats) String() string {
203	return protoimpl.X.MessageStringOf(x)
204}
205
206func (*UpstreamEndpointStats) ProtoMessage() {}
207
208func (x *UpstreamEndpointStats) ProtoReflect() protoreflect.Message {
209	mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[1]
210	if protoimpl.UnsafeEnabled && x != nil {
211		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
212		if ms.LoadMessageInfo() == nil {
213			ms.StoreMessageInfo(mi)
214		}
215		return ms
216	}
217	return mi.MessageOf(x)
218}
219
220// Deprecated: Use UpstreamEndpointStats.ProtoReflect.Descriptor instead.
221func (*UpstreamEndpointStats) Descriptor() ([]byte, []int) {
222	return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{1}
223}
224
225func (x *UpstreamEndpointStats) GetAddress() *v3.Address {
226	if x != nil {
227		return x.Address
228	}
229	return nil
230}
231
232func (x *UpstreamEndpointStats) GetMetadata() *_struct.Struct {
233	if x != nil {
234		return x.Metadata
235	}
236	return nil
237}
238
239func (x *UpstreamEndpointStats) GetTotalSuccessfulRequests() uint64 {
240	if x != nil {
241		return x.TotalSuccessfulRequests
242	}
243	return 0
244}
245
246func (x *UpstreamEndpointStats) GetTotalRequestsInProgress() uint64 {
247	if x != nil {
248		return x.TotalRequestsInProgress
249	}
250	return 0
251}
252
253func (x *UpstreamEndpointStats) GetTotalErrorRequests() uint64 {
254	if x != nil {
255		return x.TotalErrorRequests
256	}
257	return 0
258}
259
260func (x *UpstreamEndpointStats) GetTotalIssuedRequests() uint64 {
261	if x != nil {
262		return x.TotalIssuedRequests
263	}
264	return 0
265}
266
267func (x *UpstreamEndpointStats) GetLoadMetricStats() []*EndpointLoadMetricStats {
268	if x != nil {
269		return x.LoadMetricStats
270	}
271	return nil
272}
273
274type EndpointLoadMetricStats struct {
275	state         protoimpl.MessageState
276	sizeCache     protoimpl.SizeCache
277	unknownFields protoimpl.UnknownFields
278
279	// Name of the metric; may be empty.
280	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
281	// Number of calls that finished and included this metric.
282	NumRequestsFinishedWithMetric uint64 `protobuf:"varint,2,opt,name=num_requests_finished_with_metric,json=numRequestsFinishedWithMetric,proto3" json:"num_requests_finished_with_metric,omitempty"`
283	// Sum of metric values across all calls that finished with this metric for
284	// load_reporting_interval.
285	TotalMetricValue float64 `protobuf:"fixed64,3,opt,name=total_metric_value,json=totalMetricValue,proto3" json:"total_metric_value,omitempty"`
286}
287
288func (x *EndpointLoadMetricStats) Reset() {
289	*x = EndpointLoadMetricStats{}
290	if protoimpl.UnsafeEnabled {
291		mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[2]
292		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
293		ms.StoreMessageInfo(mi)
294	}
295}
296
297func (x *EndpointLoadMetricStats) String() string {
298	return protoimpl.X.MessageStringOf(x)
299}
300
301func (*EndpointLoadMetricStats) ProtoMessage() {}
302
303func (x *EndpointLoadMetricStats) ProtoReflect() protoreflect.Message {
304	mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[2]
305	if protoimpl.UnsafeEnabled && x != nil {
306		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
307		if ms.LoadMessageInfo() == nil {
308			ms.StoreMessageInfo(mi)
309		}
310		return ms
311	}
312	return mi.MessageOf(x)
313}
314
315// Deprecated: Use EndpointLoadMetricStats.ProtoReflect.Descriptor instead.
316func (*EndpointLoadMetricStats) Descriptor() ([]byte, []int) {
317	return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{2}
318}
319
320func (x *EndpointLoadMetricStats) GetMetricName() string {
321	if x != nil {
322		return x.MetricName
323	}
324	return ""
325}
326
327func (x *EndpointLoadMetricStats) GetNumRequestsFinishedWithMetric() uint64 {
328	if x != nil {
329		return x.NumRequestsFinishedWithMetric
330	}
331	return 0
332}
333
334func (x *EndpointLoadMetricStats) GetTotalMetricValue() float64 {
335	if x != nil {
336		return x.TotalMetricValue
337	}
338	return 0
339}
340
341// Per cluster load stats. Envoy reports these stats a management server in a
342// :ref:`LoadStatsRequest<envoy_v3_api_msg_service.load_stats.v3.LoadStatsRequest>`
343// Next ID: 7
344// [#next-free-field: 7]
345type ClusterStats struct {
346	state         protoimpl.MessageState
347	sizeCache     protoimpl.SizeCache
348	unknownFields protoimpl.UnknownFields
349
350	// The name of the cluster.
351	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
352	// The eds_cluster_config service_name of the cluster.
353	// It's possible that two clusters send the same service_name to EDS,
354	// in that case, the management server is supposed to do aggregation on the load reports.
355	ClusterServiceName string `protobuf:"bytes,6,opt,name=cluster_service_name,json=clusterServiceName,proto3" json:"cluster_service_name,omitempty"`
356	// Need at least one.
357	UpstreamLocalityStats []*UpstreamLocalityStats `protobuf:"bytes,2,rep,name=upstream_locality_stats,json=upstreamLocalityStats,proto3" json:"upstream_locality_stats,omitempty"`
358	// Cluster-level stats such as total_successful_requests may be computed by
359	// summing upstream_locality_stats. In addition, below there are additional
360	// cluster-wide stats.
361	//
362	// The total number of dropped requests. This covers requests
363	// deliberately dropped by the drop_overload policy and circuit breaking.
364	TotalDroppedRequests uint64 `protobuf:"varint,3,opt,name=total_dropped_requests,json=totalDroppedRequests,proto3" json:"total_dropped_requests,omitempty"`
365	// Information about deliberately dropped requests for each category specified
366	// in the DropOverload policy.
367	DroppedRequests []*ClusterStats_DroppedRequests `protobuf:"bytes,5,rep,name=dropped_requests,json=droppedRequests,proto3" json:"dropped_requests,omitempty"`
368	// Period over which the actual load report occurred. This will be guaranteed to include every
369	// request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
370	// and the *LoadStatsResponse* message sent from the management server, this may be longer than
371	// the requested load reporting interval in the *LoadStatsResponse*.
372	LoadReportInterval *duration.Duration `protobuf:"bytes,4,opt,name=load_report_interval,json=loadReportInterval,proto3" json:"load_report_interval,omitempty"`
373}
374
375func (x *ClusterStats) Reset() {
376	*x = ClusterStats{}
377	if protoimpl.UnsafeEnabled {
378		mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[3]
379		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
380		ms.StoreMessageInfo(mi)
381	}
382}
383
384func (x *ClusterStats) String() string {
385	return protoimpl.X.MessageStringOf(x)
386}
387
388func (*ClusterStats) ProtoMessage() {}
389
390func (x *ClusterStats) ProtoReflect() protoreflect.Message {
391	mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[3]
392	if protoimpl.UnsafeEnabled && x != nil {
393		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
394		if ms.LoadMessageInfo() == nil {
395			ms.StoreMessageInfo(mi)
396		}
397		return ms
398	}
399	return mi.MessageOf(x)
400}
401
402// Deprecated: Use ClusterStats.ProtoReflect.Descriptor instead.
403func (*ClusterStats) Descriptor() ([]byte, []int) {
404	return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{3}
405}
406
407func (x *ClusterStats) GetClusterName() string {
408	if x != nil {
409		return x.ClusterName
410	}
411	return ""
412}
413
414func (x *ClusterStats) GetClusterServiceName() string {
415	if x != nil {
416		return x.ClusterServiceName
417	}
418	return ""
419}
420
421func (x *ClusterStats) GetUpstreamLocalityStats() []*UpstreamLocalityStats {
422	if x != nil {
423		return x.UpstreamLocalityStats
424	}
425	return nil
426}
427
428func (x *ClusterStats) GetTotalDroppedRequests() uint64 {
429	if x != nil {
430		return x.TotalDroppedRequests
431	}
432	return 0
433}
434
435func (x *ClusterStats) GetDroppedRequests() []*ClusterStats_DroppedRequests {
436	if x != nil {
437		return x.DroppedRequests
438	}
439	return nil
440}
441
442func (x *ClusterStats) GetLoadReportInterval() *duration.Duration {
443	if x != nil {
444		return x.LoadReportInterval
445	}
446	return nil
447}
448
449type ClusterStats_DroppedRequests struct {
450	state         protoimpl.MessageState
451	sizeCache     protoimpl.SizeCache
452	unknownFields protoimpl.UnknownFields
453
454	// Identifier for the policy specifying the drop.
455	Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"`
456	// Total number of deliberately dropped requests for the category.
457	DroppedCount uint64 `protobuf:"varint,2,opt,name=dropped_count,json=droppedCount,proto3" json:"dropped_count,omitempty"`
458}
459
460func (x *ClusterStats_DroppedRequests) Reset() {
461	*x = ClusterStats_DroppedRequests{}
462	if protoimpl.UnsafeEnabled {
463		mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[4]
464		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
465		ms.StoreMessageInfo(mi)
466	}
467}
468
469func (x *ClusterStats_DroppedRequests) String() string {
470	return protoimpl.X.MessageStringOf(x)
471}
472
473func (*ClusterStats_DroppedRequests) ProtoMessage() {}
474
475func (x *ClusterStats_DroppedRequests) ProtoReflect() protoreflect.Message {
476	mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[4]
477	if protoimpl.UnsafeEnabled && x != nil {
478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
479		if ms.LoadMessageInfo() == nil {
480			ms.StoreMessageInfo(mi)
481		}
482		return ms
483	}
484	return mi.MessageOf(x)
485}
486
487// Deprecated: Use ClusterStats_DroppedRequests.ProtoReflect.Descriptor instead.
488func (*ClusterStats_DroppedRequests) Descriptor() ([]byte, []int) {
489	return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{3, 0}
490}
491
492func (x *ClusterStats_DroppedRequests) GetCategory() string {
493	if x != nil {
494		return x.Category
495	}
496	return ""
497}
498
499func (x *ClusterStats_DroppedRequests) GetDroppedCount() uint64 {
500	if x != nil {
501		return x.DroppedCount
502	}
503	return 0
504}
505
506var File_envoy_config_endpoint_v3_load_report_proto protoreflect.FileDescriptor
507
508var file_envoy_config_endpoint_v3_load_report_proto_rawDesc = []byte{
509	0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65,
510	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
511	0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e,
512	0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f,
513	0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f,
514	0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64,
515	0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f,
516	0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33,
517	0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f,
518	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72,
519	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
520	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,
521	0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f,
522	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74,
523	0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61,
524	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69,
525	0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c,
526	0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70,
527	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x04, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61,
528	0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3a,
529	0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
530	0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
531	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
532	0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f,
533	0x74, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72,
534	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74,
535	0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x52, 0x65,
536	0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
537	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67,
538	0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61,
539	0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72,
540	0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72,
541	0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
542	0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71,
543	0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69,
544	0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x08,
545	0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65,
546	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5d, 0x0a, 0x11, 0x6c, 0x6f, 0x61,
547	0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05,
548	0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
549	0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e,
550	0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72,
551	0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74,
552	0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74,
553	0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74,
554	0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
555	0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
556	0x74, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64,
557	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74,
558	0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74,
559	0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20,
560	0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x3a, 0x32, 0x9a,
561	0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
562	0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x74,
563	0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74,
564	0x73, 0x22, 0xf7, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e,
565	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x61,
566	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65,
567	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
568	0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64,
569	0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
570	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
571	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52,
572	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74,
573	0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65,
574	0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f,
575	0x74, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x71,
576	0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72,
577	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72,
578	0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c,
579	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
580	0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f,
581	0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
582	0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75,
583	0x65, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x73,
584	0x73, 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20,
585	0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64,
586	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5d, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64,
587	0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20,
588	0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
589	0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45,
590	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69,
591	0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72,
592	0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b,
593	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64,
594	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e,
595	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x17,
596	0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72,
597	0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69,
598	0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65,
599	0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x6e, 0x75, 0x6d, 0x5f,
600	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
601	0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x02, 0x20,
602	0x01, 0x28, 0x04, 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
603	0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72,
604	0x69, 0x63, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72,
605	0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10,
606	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65,
607	0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
608	0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45,
609	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69,
610	0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x89, 0x05, 0x0a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74,
611	0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74,
612	0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
613	0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e,
614	0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73,
615	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
616	0x09, 0x52, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
617	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x71, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61,
618	0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73,
619	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
620	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76,
621	0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
622	0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08,
623	0x01, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
624	0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61,
625	0x6c, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
626	0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44,
627	0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x61,
628	0x0a, 0x10, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
629	0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
630	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
631	0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73,
632	0x2e, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
633	0x52, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
634	0x73, 0x12, 0x4b, 0x0a, 0x14, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74,
635	0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
636	0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
637	0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6c, 0x6f, 0x61, 0x64,
638	0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x96,
639	0x01, 0x0a, 0x0f, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
640	0x74, 0x73, 0x12, 0x23, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01,
641	0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x63,
642	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x70,
643	0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c,
644	0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x39, 0x9a, 0xc5,
645	0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
646	0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
647	0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52,
648	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22,
649	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64,
650	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61,
651	0x74, 0x73, 0x42, 0x43, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72,
652	0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
653	0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x4c, 0x6f,
654	0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xba,
655	0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
656}
657
658var (
659	file_envoy_config_endpoint_v3_load_report_proto_rawDescOnce sync.Once
660	file_envoy_config_endpoint_v3_load_report_proto_rawDescData = file_envoy_config_endpoint_v3_load_report_proto_rawDesc
661)
662
663func file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP() []byte {
664	file_envoy_config_endpoint_v3_load_report_proto_rawDescOnce.Do(func() {
665		file_envoy_config_endpoint_v3_load_report_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_endpoint_v3_load_report_proto_rawDescData)
666	})
667	return file_envoy_config_endpoint_v3_load_report_proto_rawDescData
668}
669
670var file_envoy_config_endpoint_v3_load_report_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
671var file_envoy_config_endpoint_v3_load_report_proto_goTypes = []interface{}{
672	(*UpstreamLocalityStats)(nil),        // 0: envoy.config.endpoint.v3.UpstreamLocalityStats
673	(*UpstreamEndpointStats)(nil),        // 1: envoy.config.endpoint.v3.UpstreamEndpointStats
674	(*EndpointLoadMetricStats)(nil),      // 2: envoy.config.endpoint.v3.EndpointLoadMetricStats
675	(*ClusterStats)(nil),                 // 3: envoy.config.endpoint.v3.ClusterStats
676	(*ClusterStats_DroppedRequests)(nil), // 4: envoy.config.endpoint.v3.ClusterStats.DroppedRequests
677	(*v3.Locality)(nil),                  // 5: envoy.config.core.v3.Locality
678	(*v3.Address)(nil),                   // 6: envoy.config.core.v3.Address
679	(*_struct.Struct)(nil),               // 7: google.protobuf.Struct
680	(*duration.Duration)(nil),            // 8: google.protobuf.Duration
681}
682var file_envoy_config_endpoint_v3_load_report_proto_depIdxs = []int32{
683	5, // 0: envoy.config.endpoint.v3.UpstreamLocalityStats.locality:type_name -> envoy.config.core.v3.Locality
684	2, // 1: envoy.config.endpoint.v3.UpstreamLocalityStats.load_metric_stats:type_name -> envoy.config.endpoint.v3.EndpointLoadMetricStats
685	1, // 2: envoy.config.endpoint.v3.UpstreamLocalityStats.upstream_endpoint_stats:type_name -> envoy.config.endpoint.v3.UpstreamEndpointStats
686	6, // 3: envoy.config.endpoint.v3.UpstreamEndpointStats.address:type_name -> envoy.config.core.v3.Address
687	7, // 4: envoy.config.endpoint.v3.UpstreamEndpointStats.metadata:type_name -> google.protobuf.Struct
688	2, // 5: envoy.config.endpoint.v3.UpstreamEndpointStats.load_metric_stats:type_name -> envoy.config.endpoint.v3.EndpointLoadMetricStats
689	0, // 6: envoy.config.endpoint.v3.ClusterStats.upstream_locality_stats:type_name -> envoy.config.endpoint.v3.UpstreamLocalityStats
690	4, // 7: envoy.config.endpoint.v3.ClusterStats.dropped_requests:type_name -> envoy.config.endpoint.v3.ClusterStats.DroppedRequests
691	8, // 8: envoy.config.endpoint.v3.ClusterStats.load_report_interval:type_name -> google.protobuf.Duration
692	9, // [9:9] is the sub-list for method output_type
693	9, // [9:9] is the sub-list for method input_type
694	9, // [9:9] is the sub-list for extension type_name
695	9, // [9:9] is the sub-list for extension extendee
696	0, // [0:9] is the sub-list for field type_name
697}
698
699func init() { file_envoy_config_endpoint_v3_load_report_proto_init() }
700func file_envoy_config_endpoint_v3_load_report_proto_init() {
701	if File_envoy_config_endpoint_v3_load_report_proto != nil {
702		return
703	}
704	if !protoimpl.UnsafeEnabled {
705		file_envoy_config_endpoint_v3_load_report_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
706			switch v := v.(*UpstreamLocalityStats); i {
707			case 0:
708				return &v.state
709			case 1:
710				return &v.sizeCache
711			case 2:
712				return &v.unknownFields
713			default:
714				return nil
715			}
716		}
717		file_envoy_config_endpoint_v3_load_report_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
718			switch v := v.(*UpstreamEndpointStats); i {
719			case 0:
720				return &v.state
721			case 1:
722				return &v.sizeCache
723			case 2:
724				return &v.unknownFields
725			default:
726				return nil
727			}
728		}
729		file_envoy_config_endpoint_v3_load_report_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
730			switch v := v.(*EndpointLoadMetricStats); i {
731			case 0:
732				return &v.state
733			case 1:
734				return &v.sizeCache
735			case 2:
736				return &v.unknownFields
737			default:
738				return nil
739			}
740		}
741		file_envoy_config_endpoint_v3_load_report_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
742			switch v := v.(*ClusterStats); i {
743			case 0:
744				return &v.state
745			case 1:
746				return &v.sizeCache
747			case 2:
748				return &v.unknownFields
749			default:
750				return nil
751			}
752		}
753		file_envoy_config_endpoint_v3_load_report_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
754			switch v := v.(*ClusterStats_DroppedRequests); i {
755			case 0:
756				return &v.state
757			case 1:
758				return &v.sizeCache
759			case 2:
760				return &v.unknownFields
761			default:
762				return nil
763			}
764		}
765	}
766	type x struct{}
767	out := protoimpl.TypeBuilder{
768		File: protoimpl.DescBuilder{
769			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
770			RawDescriptor: file_envoy_config_endpoint_v3_load_report_proto_rawDesc,
771			NumEnums:      0,
772			NumMessages:   5,
773			NumExtensions: 0,
774			NumServices:   0,
775		},
776		GoTypes:           file_envoy_config_endpoint_v3_load_report_proto_goTypes,
777		DependencyIndexes: file_envoy_config_endpoint_v3_load_report_proto_depIdxs,
778		MessageInfos:      file_envoy_config_endpoint_v3_load_report_proto_msgTypes,
779	}.Build()
780	File_envoy_config_endpoint_v3_load_report_proto = out.File
781	file_envoy_config_endpoint_v3_load_report_proto_rawDesc = nil
782	file_envoy_config_endpoint_v3_load_report_proto_goTypes = nil
783	file_envoy_config_endpoint_v3_load_report_proto_depIdxs = nil
784}
785