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/cloud/dialogflow/cx/v3beta1/experiment.proto
20
21package cx
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	grpc "google.golang.org/grpc"
30	codes "google.golang.org/grpc/codes"
31	status "google.golang.org/grpc/status"
32	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
33	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
34	durationpb "google.golang.org/protobuf/types/known/durationpb"
35	emptypb "google.golang.org/protobuf/types/known/emptypb"
36	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
37	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
38)
39
40const (
41	// Verify that this generated code is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
43	// Verify that runtime/protoimpl is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
45)
46
47// The state of the experiment.
48type Experiment_State int32
49
50const (
51	// State unspecified.
52	Experiment_STATE_UNSPECIFIED Experiment_State = 0
53	// The experiment is created but not started yet.
54	Experiment_DRAFT Experiment_State = 1
55	// The experiment is running.
56	Experiment_RUNNING Experiment_State = 2
57	// The experiment is done.
58	Experiment_DONE Experiment_State = 3
59	// The experiment with auto-rollout enabled has failed.
60	Experiment_ROLLOUT_FAILED Experiment_State = 4
61)
62
63// Enum value maps for Experiment_State.
64var (
65	Experiment_State_name = map[int32]string{
66		0: "STATE_UNSPECIFIED",
67		1: "DRAFT",
68		2: "RUNNING",
69		3: "DONE",
70		4: "ROLLOUT_FAILED",
71	}
72	Experiment_State_value = map[string]int32{
73		"STATE_UNSPECIFIED": 0,
74		"DRAFT":             1,
75		"RUNNING":           2,
76		"DONE":              3,
77		"ROLLOUT_FAILED":    4,
78	}
79)
80
81func (x Experiment_State) Enum() *Experiment_State {
82	p := new(Experiment_State)
83	*p = x
84	return p
85}
86
87func (x Experiment_State) String() string {
88	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
89}
90
91func (Experiment_State) Descriptor() protoreflect.EnumDescriptor {
92	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_enumTypes[0].Descriptor()
93}
94
95func (Experiment_State) Type() protoreflect.EnumType {
96	return &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_enumTypes[0]
97}
98
99func (x Experiment_State) Number() protoreflect.EnumNumber {
100	return protoreflect.EnumNumber(x)
101}
102
103// Deprecated: Use Experiment_State.Descriptor instead.
104func (Experiment_State) EnumDescriptor() ([]byte, []int) {
105	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{0, 0}
106}
107
108// Types of ratio-based metric for Dialogflow experiment.
109type Experiment_Result_MetricType int32
110
111const (
112	// Metric unspecified.
113	Experiment_Result_METRIC_UNSPECIFIED Experiment_Result_MetricType = 0
114	// Percentage of contained sessions without user calling back in 24 hours.
115	Experiment_Result_CONTAINED_SESSION_NO_CALLBACK_RATE Experiment_Result_MetricType = 1
116	// Percentage of sessions that were handed to a human agent.
117	Experiment_Result_LIVE_AGENT_HANDOFF_RATE Experiment_Result_MetricType = 2
118	// Percentage of sessions with the same user calling back.
119	Experiment_Result_CALLBACK_SESSION_RATE Experiment_Result_MetricType = 3
120	// Percentage of sessions where user hung up.
121	Experiment_Result_ABANDONED_SESSION_RATE Experiment_Result_MetricType = 4
122	// Percentage of sessions reached Dialogflow 'END_PAGE' or
123	// 'END_SESSION'.
124	Experiment_Result_SESSION_END_RATE Experiment_Result_MetricType = 5
125)
126
127// Enum value maps for Experiment_Result_MetricType.
128var (
129	Experiment_Result_MetricType_name = map[int32]string{
130		0: "METRIC_UNSPECIFIED",
131		1: "CONTAINED_SESSION_NO_CALLBACK_RATE",
132		2: "LIVE_AGENT_HANDOFF_RATE",
133		3: "CALLBACK_SESSION_RATE",
134		4: "ABANDONED_SESSION_RATE",
135		5: "SESSION_END_RATE",
136	}
137	Experiment_Result_MetricType_value = map[string]int32{
138		"METRIC_UNSPECIFIED":                 0,
139		"CONTAINED_SESSION_NO_CALLBACK_RATE": 1,
140		"LIVE_AGENT_HANDOFF_RATE":            2,
141		"CALLBACK_SESSION_RATE":              3,
142		"ABANDONED_SESSION_RATE":             4,
143		"SESSION_END_RATE":                   5,
144	}
145)
146
147func (x Experiment_Result_MetricType) Enum() *Experiment_Result_MetricType {
148	p := new(Experiment_Result_MetricType)
149	*p = x
150	return p
151}
152
153func (x Experiment_Result_MetricType) String() string {
154	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
155}
156
157func (Experiment_Result_MetricType) Descriptor() protoreflect.EnumDescriptor {
158	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_enumTypes[1].Descriptor()
159}
160
161func (Experiment_Result_MetricType) Type() protoreflect.EnumType {
162	return &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_enumTypes[1]
163}
164
165func (x Experiment_Result_MetricType) Number() protoreflect.EnumNumber {
166	return protoreflect.EnumNumber(x)
167}
168
169// Deprecated: Use Experiment_Result_MetricType.Descriptor instead.
170func (Experiment_Result_MetricType) EnumDescriptor() ([]byte, []int) {
171	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{0, 1, 0}
172}
173
174// types of count-based metric for Dialogflow experiment.
175type Experiment_Result_CountType int32
176
177const (
178	// Count type unspecified.
179	Experiment_Result_COUNT_TYPE_UNSPECIFIED Experiment_Result_CountType = 0
180	// Total number of occurrences of a 'NO_MATCH'.
181	Experiment_Result_TOTAL_NO_MATCH_COUNT Experiment_Result_CountType = 1
182	// Total number of turn counts.
183	Experiment_Result_TOTAL_TURN_COUNT Experiment_Result_CountType = 2
184	// Average turn count in a session.
185	Experiment_Result_AVERAGE_TURN_COUNT Experiment_Result_CountType = 3
186)
187
188// Enum value maps for Experiment_Result_CountType.
189var (
190	Experiment_Result_CountType_name = map[int32]string{
191		0: "COUNT_TYPE_UNSPECIFIED",
192		1: "TOTAL_NO_MATCH_COUNT",
193		2: "TOTAL_TURN_COUNT",
194		3: "AVERAGE_TURN_COUNT",
195	}
196	Experiment_Result_CountType_value = map[string]int32{
197		"COUNT_TYPE_UNSPECIFIED": 0,
198		"TOTAL_NO_MATCH_COUNT":   1,
199		"TOTAL_TURN_COUNT":       2,
200		"AVERAGE_TURN_COUNT":     3,
201	}
202)
203
204func (x Experiment_Result_CountType) Enum() *Experiment_Result_CountType {
205	p := new(Experiment_Result_CountType)
206	*p = x
207	return p
208}
209
210func (x Experiment_Result_CountType) String() string {
211	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
212}
213
214func (Experiment_Result_CountType) Descriptor() protoreflect.EnumDescriptor {
215	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_enumTypes[2].Descriptor()
216}
217
218func (Experiment_Result_CountType) Type() protoreflect.EnumType {
219	return &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_enumTypes[2]
220}
221
222func (x Experiment_Result_CountType) Number() protoreflect.EnumNumber {
223	return protoreflect.EnumNumber(x)
224}
225
226// Deprecated: Use Experiment_Result_CountType.Descriptor instead.
227func (Experiment_Result_CountType) EnumDescriptor() ([]byte, []int) {
228	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{0, 1, 1}
229}
230
231// Represents an experiment in an environment.
232type Experiment struct {
233	state         protoimpl.MessageState
234	sizeCache     protoimpl.SizeCache
235	unknownFields protoimpl.UnknownFields
236
237	// The name of the experiment.
238	// Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent
239	// ID>/environments/<Environment ID>/experiments/<Experiment ID>..
240	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
241	// Required. The human-readable name of the experiment (unique in an environment). Limit
242	// of 64 characters.
243	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
244	// The human-readable description of the experiment.
245	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
246	// The current state of the experiment.
247	// Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING.
248	// Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or
249	// RUNNING->DONE.
250	State Experiment_State `protobuf:"varint,4,opt,name=state,proto3,enum=google.cloud.dialogflow.cx.v3beta1.Experiment_State" json:"state,omitempty"`
251	// The definition of the experiment.
252	Definition *Experiment_Definition `protobuf:"bytes,5,opt,name=definition,proto3" json:"definition,omitempty"`
253	// The configuration for auto rollout. If set, there should be exactly two
254	// variants in the experiment (control variant being the default version of
255	// the flow), the traffic allocation for the non-control variant will
256	// gradually increase to 100% when conditions are met, and eventually
257	// replace the control variant to become the default version of the flow.
258	RolloutConfig *RolloutConfig `protobuf:"bytes,14,opt,name=rollout_config,json=rolloutConfig,proto3" json:"rollout_config,omitempty"`
259	// State of the auto rollout process.
260	RolloutState *RolloutState `protobuf:"bytes,15,opt,name=rollout_state,json=rolloutState,proto3" json:"rollout_state,omitempty"`
261	// The reason why rollout has failed. Should only be set when state is
262	// ROLLOUT_FAILED.
263	RolloutFailureReason string `protobuf:"bytes,16,opt,name=rollout_failure_reason,json=rolloutFailureReason,proto3" json:"rollout_failure_reason,omitempty"`
264	// Inference result of the experiment.
265	Result *Experiment_Result `protobuf:"bytes,6,opt,name=result,proto3" json:"result,omitempty"`
266	// Creation time of this experiment.
267	CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
268	// Start time of this experiment.
269	StartTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
270	// End time of this experiment.
271	EndTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
272	// Last update time of this experiment.
273	LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"`
274	// Maximum number of days to run the experiment. If auto-rollout is
275	// not enabled, default value and maximum will be 30 days. If auto-rollout is
276	// enabled, default value and maximum will be 6 days.
277	ExperimentLength *durationpb.Duration `protobuf:"bytes,11,opt,name=experiment_length,json=experimentLength,proto3" json:"experiment_length,omitempty"`
278	// The history of updates to the experiment variants.
279	VariantsHistory []*VariantsHistory `protobuf:"bytes,12,rep,name=variants_history,json=variantsHistory,proto3" json:"variants_history,omitempty"`
280}
281
282func (x *Experiment) Reset() {
283	*x = Experiment{}
284	if protoimpl.UnsafeEnabled {
285		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[0]
286		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
287		ms.StoreMessageInfo(mi)
288	}
289}
290
291func (x *Experiment) String() string {
292	return protoimpl.X.MessageStringOf(x)
293}
294
295func (*Experiment) ProtoMessage() {}
296
297func (x *Experiment) ProtoReflect() protoreflect.Message {
298	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[0]
299	if protoimpl.UnsafeEnabled && x != nil {
300		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
301		if ms.LoadMessageInfo() == nil {
302			ms.StoreMessageInfo(mi)
303		}
304		return ms
305	}
306	return mi.MessageOf(x)
307}
308
309// Deprecated: Use Experiment.ProtoReflect.Descriptor instead.
310func (*Experiment) Descriptor() ([]byte, []int) {
311	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{0}
312}
313
314func (x *Experiment) GetName() string {
315	if x != nil {
316		return x.Name
317	}
318	return ""
319}
320
321func (x *Experiment) GetDisplayName() string {
322	if x != nil {
323		return x.DisplayName
324	}
325	return ""
326}
327
328func (x *Experiment) GetDescription() string {
329	if x != nil {
330		return x.Description
331	}
332	return ""
333}
334
335func (x *Experiment) GetState() Experiment_State {
336	if x != nil {
337		return x.State
338	}
339	return Experiment_STATE_UNSPECIFIED
340}
341
342func (x *Experiment) GetDefinition() *Experiment_Definition {
343	if x != nil {
344		return x.Definition
345	}
346	return nil
347}
348
349func (x *Experiment) GetRolloutConfig() *RolloutConfig {
350	if x != nil {
351		return x.RolloutConfig
352	}
353	return nil
354}
355
356func (x *Experiment) GetRolloutState() *RolloutState {
357	if x != nil {
358		return x.RolloutState
359	}
360	return nil
361}
362
363func (x *Experiment) GetRolloutFailureReason() string {
364	if x != nil {
365		return x.RolloutFailureReason
366	}
367	return ""
368}
369
370func (x *Experiment) GetResult() *Experiment_Result {
371	if x != nil {
372		return x.Result
373	}
374	return nil
375}
376
377func (x *Experiment) GetCreateTime() *timestamppb.Timestamp {
378	if x != nil {
379		return x.CreateTime
380	}
381	return nil
382}
383
384func (x *Experiment) GetStartTime() *timestamppb.Timestamp {
385	if x != nil {
386		return x.StartTime
387	}
388	return nil
389}
390
391func (x *Experiment) GetEndTime() *timestamppb.Timestamp {
392	if x != nil {
393		return x.EndTime
394	}
395	return nil
396}
397
398func (x *Experiment) GetLastUpdateTime() *timestamppb.Timestamp {
399	if x != nil {
400		return x.LastUpdateTime
401	}
402	return nil
403}
404
405func (x *Experiment) GetExperimentLength() *durationpb.Duration {
406	if x != nil {
407		return x.ExperimentLength
408	}
409	return nil
410}
411
412func (x *Experiment) GetVariantsHistory() []*VariantsHistory {
413	if x != nil {
414		return x.VariantsHistory
415	}
416	return nil
417}
418
419// A list of flow version variants.
420type VersionVariants struct {
421	state         protoimpl.MessageState
422	sizeCache     protoimpl.SizeCache
423	unknownFields protoimpl.UnknownFields
424
425	// A list of flow version variants.
426	Variants []*VersionVariants_Variant `protobuf:"bytes,1,rep,name=variants,proto3" json:"variants,omitempty"`
427}
428
429func (x *VersionVariants) Reset() {
430	*x = VersionVariants{}
431	if protoimpl.UnsafeEnabled {
432		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[1]
433		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
434		ms.StoreMessageInfo(mi)
435	}
436}
437
438func (x *VersionVariants) String() string {
439	return protoimpl.X.MessageStringOf(x)
440}
441
442func (*VersionVariants) ProtoMessage() {}
443
444func (x *VersionVariants) ProtoReflect() protoreflect.Message {
445	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[1]
446	if protoimpl.UnsafeEnabled && x != nil {
447		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
448		if ms.LoadMessageInfo() == nil {
449			ms.StoreMessageInfo(mi)
450		}
451		return ms
452	}
453	return mi.MessageOf(x)
454}
455
456// Deprecated: Use VersionVariants.ProtoReflect.Descriptor instead.
457func (*VersionVariants) Descriptor() ([]byte, []int) {
458	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{1}
459}
460
461func (x *VersionVariants) GetVariants() []*VersionVariants_Variant {
462	if x != nil {
463		return x.Variants
464	}
465	return nil
466}
467
468// The configuration for auto rollout.
469type RolloutConfig struct {
470	state         protoimpl.MessageState
471	sizeCache     protoimpl.SizeCache
472	unknownFields protoimpl.UnknownFields
473
474	// Steps to roll out a flow version. Steps should be sorted by percentage in
475	// ascending order.
476	RolloutSteps []*RolloutConfig_RolloutStep `protobuf:"bytes,1,rep,name=rollout_steps,json=rolloutSteps,proto3" json:"rollout_steps,omitempty"`
477	// The conditions that are used to evaluate the success of a rollout
478	// step. If not specified, all rollout steps will proceed to the next one
479	// unless failure conditions are met. E.g. "containment_rate > 60% AND
480	// callback_rate < 20%". See the [conditions
481	// reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
482	RolloutCondition string `protobuf:"bytes,2,opt,name=rollout_condition,json=rolloutCondition,proto3" json:"rollout_condition,omitempty"`
483	// The conditions that are used to evaluate the failure of a rollout
484	// step. If not specified, no rollout steps will fail. E.g. "containment_rate
485	// < 10% OR average_turn_count < 3". See the [conditions
486	// reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
487	FailureCondition string `protobuf:"bytes,3,opt,name=failure_condition,json=failureCondition,proto3" json:"failure_condition,omitempty"`
488}
489
490func (x *RolloutConfig) Reset() {
491	*x = RolloutConfig{}
492	if protoimpl.UnsafeEnabled {
493		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[2]
494		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
495		ms.StoreMessageInfo(mi)
496	}
497}
498
499func (x *RolloutConfig) String() string {
500	return protoimpl.X.MessageStringOf(x)
501}
502
503func (*RolloutConfig) ProtoMessage() {}
504
505func (x *RolloutConfig) ProtoReflect() protoreflect.Message {
506	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[2]
507	if protoimpl.UnsafeEnabled && x != nil {
508		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
509		if ms.LoadMessageInfo() == nil {
510			ms.StoreMessageInfo(mi)
511		}
512		return ms
513	}
514	return mi.MessageOf(x)
515}
516
517// Deprecated: Use RolloutConfig.ProtoReflect.Descriptor instead.
518func (*RolloutConfig) Descriptor() ([]byte, []int) {
519	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{2}
520}
521
522func (x *RolloutConfig) GetRolloutSteps() []*RolloutConfig_RolloutStep {
523	if x != nil {
524		return x.RolloutSteps
525	}
526	return nil
527}
528
529func (x *RolloutConfig) GetRolloutCondition() string {
530	if x != nil {
531		return x.RolloutCondition
532	}
533	return ""
534}
535
536func (x *RolloutConfig) GetFailureCondition() string {
537	if x != nil {
538		return x.FailureCondition
539	}
540	return ""
541}
542
543// State of the auto-rollout process.
544type RolloutState struct {
545	state         protoimpl.MessageState
546	sizeCache     protoimpl.SizeCache
547	unknownFields protoimpl.UnknownFields
548
549	// Display name of the current auto rollout step.
550	Step string `protobuf:"bytes,1,opt,name=step,proto3" json:"step,omitempty"`
551	// Index of the current step in the auto rollout steps list.
552	StepIndex int32 `protobuf:"varint,3,opt,name=step_index,json=stepIndex,proto3" json:"step_index,omitempty"`
553	// Start time of the current step.
554	StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
555}
556
557func (x *RolloutState) Reset() {
558	*x = RolloutState{}
559	if protoimpl.UnsafeEnabled {
560		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[3]
561		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
562		ms.StoreMessageInfo(mi)
563	}
564}
565
566func (x *RolloutState) String() string {
567	return protoimpl.X.MessageStringOf(x)
568}
569
570func (*RolloutState) ProtoMessage() {}
571
572func (x *RolloutState) ProtoReflect() protoreflect.Message {
573	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[3]
574	if protoimpl.UnsafeEnabled && x != nil {
575		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
576		if ms.LoadMessageInfo() == nil {
577			ms.StoreMessageInfo(mi)
578		}
579		return ms
580	}
581	return mi.MessageOf(x)
582}
583
584// Deprecated: Use RolloutState.ProtoReflect.Descriptor instead.
585func (*RolloutState) Descriptor() ([]byte, []int) {
586	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{3}
587}
588
589func (x *RolloutState) GetStep() string {
590	if x != nil {
591		return x.Step
592	}
593	return ""
594}
595
596func (x *RolloutState) GetStepIndex() int32 {
597	if x != nil {
598		return x.StepIndex
599	}
600	return 0
601}
602
603func (x *RolloutState) GetStartTime() *timestamppb.Timestamp {
604	if x != nil {
605		return x.StartTime
606	}
607	return nil
608}
609
610// The history of variants update.
611type VariantsHistory struct {
612	state         protoimpl.MessageState
613	sizeCache     protoimpl.SizeCache
614	unknownFields protoimpl.UnknownFields
615
616	// The variants updated. We currently only support single variant
617	// experiment.
618	//
619	// Types that are assignable to Variants:
620	//	*VariantsHistory_VersionVariants
621	Variants isVariantsHistory_Variants `protobuf_oneof:"variants"`
622	// Update time of the variants.
623	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
624}
625
626func (x *VariantsHistory) Reset() {
627	*x = VariantsHistory{}
628	if protoimpl.UnsafeEnabled {
629		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[4]
630		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
631		ms.StoreMessageInfo(mi)
632	}
633}
634
635func (x *VariantsHistory) String() string {
636	return protoimpl.X.MessageStringOf(x)
637}
638
639func (*VariantsHistory) ProtoMessage() {}
640
641func (x *VariantsHistory) ProtoReflect() protoreflect.Message {
642	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[4]
643	if protoimpl.UnsafeEnabled && x != nil {
644		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
645		if ms.LoadMessageInfo() == nil {
646			ms.StoreMessageInfo(mi)
647		}
648		return ms
649	}
650	return mi.MessageOf(x)
651}
652
653// Deprecated: Use VariantsHistory.ProtoReflect.Descriptor instead.
654func (*VariantsHistory) Descriptor() ([]byte, []int) {
655	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{4}
656}
657
658func (m *VariantsHistory) GetVariants() isVariantsHistory_Variants {
659	if m != nil {
660		return m.Variants
661	}
662	return nil
663}
664
665func (x *VariantsHistory) GetVersionVariants() *VersionVariants {
666	if x, ok := x.GetVariants().(*VariantsHistory_VersionVariants); ok {
667		return x.VersionVariants
668	}
669	return nil
670}
671
672func (x *VariantsHistory) GetUpdateTime() *timestamppb.Timestamp {
673	if x != nil {
674		return x.UpdateTime
675	}
676	return nil
677}
678
679type isVariantsHistory_Variants interface {
680	isVariantsHistory_Variants()
681}
682
683type VariantsHistory_VersionVariants struct {
684	// The flow versions as the variants.
685	VersionVariants *VersionVariants `protobuf:"bytes,1,opt,name=version_variants,json=versionVariants,proto3,oneof"`
686}
687
688func (*VariantsHistory_VersionVariants) isVariantsHistory_Variants() {}
689
690// The request message for [Experiments.ListExperiments][google.cloud.dialogflow.cx.v3beta1.Experiments.ListExperiments].
691type ListExperimentsRequest struct {
692	state         protoimpl.MessageState
693	sizeCache     protoimpl.SizeCache
694	unknownFields protoimpl.UnknownFields
695
696	// Required. The [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] to list all environments for.
697	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
698	// ID>/environments/<Environment ID>`.
699	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
700	// The maximum number of items to return in a single page. By default 20 and
701	// at most 100.
702	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
703	// The next_page_token value returned from a previous list request.
704	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
705}
706
707func (x *ListExperimentsRequest) Reset() {
708	*x = ListExperimentsRequest{}
709	if protoimpl.UnsafeEnabled {
710		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[5]
711		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
712		ms.StoreMessageInfo(mi)
713	}
714}
715
716func (x *ListExperimentsRequest) String() string {
717	return protoimpl.X.MessageStringOf(x)
718}
719
720func (*ListExperimentsRequest) ProtoMessage() {}
721
722func (x *ListExperimentsRequest) ProtoReflect() protoreflect.Message {
723	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[5]
724	if protoimpl.UnsafeEnabled && x != nil {
725		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
726		if ms.LoadMessageInfo() == nil {
727			ms.StoreMessageInfo(mi)
728		}
729		return ms
730	}
731	return mi.MessageOf(x)
732}
733
734// Deprecated: Use ListExperimentsRequest.ProtoReflect.Descriptor instead.
735func (*ListExperimentsRequest) Descriptor() ([]byte, []int) {
736	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{5}
737}
738
739func (x *ListExperimentsRequest) GetParent() string {
740	if x != nil {
741		return x.Parent
742	}
743	return ""
744}
745
746func (x *ListExperimentsRequest) GetPageSize() int32 {
747	if x != nil {
748		return x.PageSize
749	}
750	return 0
751}
752
753func (x *ListExperimentsRequest) GetPageToken() string {
754	if x != nil {
755		return x.PageToken
756	}
757	return ""
758}
759
760// The response message for [Experiments.ListExperiments][google.cloud.dialogflow.cx.v3beta1.Experiments.ListExperiments].
761type ListExperimentsResponse struct {
762	state         protoimpl.MessageState
763	sizeCache     protoimpl.SizeCache
764	unknownFields protoimpl.UnknownFields
765
766	// The list of experiments. There will be a maximum number of items
767	// returned based on the page_size field in the request. The list may in some
768	// cases be empty or contain fewer entries than page_size even if this isn't
769	// the last page.
770	Experiments []*Experiment `protobuf:"bytes,1,rep,name=experiments,proto3" json:"experiments,omitempty"`
771	// Token to retrieve the next page of results, or empty if there are no more
772	// results in the list.
773	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
774}
775
776func (x *ListExperimentsResponse) Reset() {
777	*x = ListExperimentsResponse{}
778	if protoimpl.UnsafeEnabled {
779		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[6]
780		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
781		ms.StoreMessageInfo(mi)
782	}
783}
784
785func (x *ListExperimentsResponse) String() string {
786	return protoimpl.X.MessageStringOf(x)
787}
788
789func (*ListExperimentsResponse) ProtoMessage() {}
790
791func (x *ListExperimentsResponse) ProtoReflect() protoreflect.Message {
792	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[6]
793	if protoimpl.UnsafeEnabled && x != nil {
794		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
795		if ms.LoadMessageInfo() == nil {
796			ms.StoreMessageInfo(mi)
797		}
798		return ms
799	}
800	return mi.MessageOf(x)
801}
802
803// Deprecated: Use ListExperimentsResponse.ProtoReflect.Descriptor instead.
804func (*ListExperimentsResponse) Descriptor() ([]byte, []int) {
805	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{6}
806}
807
808func (x *ListExperimentsResponse) GetExperiments() []*Experiment {
809	if x != nil {
810		return x.Experiments
811	}
812	return nil
813}
814
815func (x *ListExperimentsResponse) GetNextPageToken() string {
816	if x != nil {
817		return x.NextPageToken
818	}
819	return ""
820}
821
822// The request message for [Experiments.GetExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.GetExperiment].
823type GetExperimentRequest struct {
824	state         protoimpl.MessageState
825	sizeCache     protoimpl.SizeCache
826	unknownFields protoimpl.UnknownFields
827
828	// Required. The name of the [Environment][google.cloud.dialogflow.cx.v3beta1.Environment].
829	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
830	// ID>/environments/<Environment ID>/experiments/<Experiment ID>`.
831	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
832}
833
834func (x *GetExperimentRequest) Reset() {
835	*x = GetExperimentRequest{}
836	if protoimpl.UnsafeEnabled {
837		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[7]
838		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
839		ms.StoreMessageInfo(mi)
840	}
841}
842
843func (x *GetExperimentRequest) String() string {
844	return protoimpl.X.MessageStringOf(x)
845}
846
847func (*GetExperimentRequest) ProtoMessage() {}
848
849func (x *GetExperimentRequest) ProtoReflect() protoreflect.Message {
850	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[7]
851	if protoimpl.UnsafeEnabled && x != nil {
852		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
853		if ms.LoadMessageInfo() == nil {
854			ms.StoreMessageInfo(mi)
855		}
856		return ms
857	}
858	return mi.MessageOf(x)
859}
860
861// Deprecated: Use GetExperimentRequest.ProtoReflect.Descriptor instead.
862func (*GetExperimentRequest) Descriptor() ([]byte, []int) {
863	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{7}
864}
865
866func (x *GetExperimentRequest) GetName() string {
867	if x != nil {
868		return x.Name
869	}
870	return ""
871}
872
873// The request message for [Experiments.CreateExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.CreateExperiment].
874type CreateExperimentRequest struct {
875	state         protoimpl.MessageState
876	sizeCache     protoimpl.SizeCache
877	unknownFields protoimpl.UnknownFields
878
879	// Required. The [Agent][google.cloud.dialogflow.cx.v3beta1.Agent] to create an [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] for.
880	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
881	// ID>/environments/<Environment ID>`.
882	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
883	// Required. The experiment to create.
884	Experiment *Experiment `protobuf:"bytes,2,opt,name=experiment,proto3" json:"experiment,omitempty"`
885}
886
887func (x *CreateExperimentRequest) Reset() {
888	*x = CreateExperimentRequest{}
889	if protoimpl.UnsafeEnabled {
890		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[8]
891		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
892		ms.StoreMessageInfo(mi)
893	}
894}
895
896func (x *CreateExperimentRequest) String() string {
897	return protoimpl.X.MessageStringOf(x)
898}
899
900func (*CreateExperimentRequest) ProtoMessage() {}
901
902func (x *CreateExperimentRequest) ProtoReflect() protoreflect.Message {
903	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[8]
904	if protoimpl.UnsafeEnabled && x != nil {
905		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
906		if ms.LoadMessageInfo() == nil {
907			ms.StoreMessageInfo(mi)
908		}
909		return ms
910	}
911	return mi.MessageOf(x)
912}
913
914// Deprecated: Use CreateExperimentRequest.ProtoReflect.Descriptor instead.
915func (*CreateExperimentRequest) Descriptor() ([]byte, []int) {
916	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{8}
917}
918
919func (x *CreateExperimentRequest) GetParent() string {
920	if x != nil {
921		return x.Parent
922	}
923	return ""
924}
925
926func (x *CreateExperimentRequest) GetExperiment() *Experiment {
927	if x != nil {
928		return x.Experiment
929	}
930	return nil
931}
932
933// The request message for [Experiments.UpdateExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.UpdateExperiment].
934type UpdateExperimentRequest struct {
935	state         protoimpl.MessageState
936	sizeCache     protoimpl.SizeCache
937	unknownFields protoimpl.UnknownFields
938
939	// Required. The experiment to update.
940	Experiment *Experiment `protobuf:"bytes,1,opt,name=experiment,proto3" json:"experiment,omitempty"`
941	// Required. The mask to control which fields get updated.
942	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
943}
944
945func (x *UpdateExperimentRequest) Reset() {
946	*x = UpdateExperimentRequest{}
947	if protoimpl.UnsafeEnabled {
948		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[9]
949		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
950		ms.StoreMessageInfo(mi)
951	}
952}
953
954func (x *UpdateExperimentRequest) String() string {
955	return protoimpl.X.MessageStringOf(x)
956}
957
958func (*UpdateExperimentRequest) ProtoMessage() {}
959
960func (x *UpdateExperimentRequest) ProtoReflect() protoreflect.Message {
961	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[9]
962	if protoimpl.UnsafeEnabled && x != nil {
963		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
964		if ms.LoadMessageInfo() == nil {
965			ms.StoreMessageInfo(mi)
966		}
967		return ms
968	}
969	return mi.MessageOf(x)
970}
971
972// Deprecated: Use UpdateExperimentRequest.ProtoReflect.Descriptor instead.
973func (*UpdateExperimentRequest) Descriptor() ([]byte, []int) {
974	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{9}
975}
976
977func (x *UpdateExperimentRequest) GetExperiment() *Experiment {
978	if x != nil {
979		return x.Experiment
980	}
981	return nil
982}
983
984func (x *UpdateExperimentRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
985	if x != nil {
986		return x.UpdateMask
987	}
988	return nil
989}
990
991// The request message for [Experiments.DeleteExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.DeleteExperiment].
992type DeleteExperimentRequest struct {
993	state         protoimpl.MessageState
994	sizeCache     protoimpl.SizeCache
995	unknownFields protoimpl.UnknownFields
996
997	// Required. The name of the [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] to delete.
998	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
999	// ID>/environments/<Environment ID>/experiments/<Experiment ID>`.
1000	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1001}
1002
1003func (x *DeleteExperimentRequest) Reset() {
1004	*x = DeleteExperimentRequest{}
1005	if protoimpl.UnsafeEnabled {
1006		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[10]
1007		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1008		ms.StoreMessageInfo(mi)
1009	}
1010}
1011
1012func (x *DeleteExperimentRequest) String() string {
1013	return protoimpl.X.MessageStringOf(x)
1014}
1015
1016func (*DeleteExperimentRequest) ProtoMessage() {}
1017
1018func (x *DeleteExperimentRequest) ProtoReflect() protoreflect.Message {
1019	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[10]
1020	if protoimpl.UnsafeEnabled && x != nil {
1021		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1022		if ms.LoadMessageInfo() == nil {
1023			ms.StoreMessageInfo(mi)
1024		}
1025		return ms
1026	}
1027	return mi.MessageOf(x)
1028}
1029
1030// Deprecated: Use DeleteExperimentRequest.ProtoReflect.Descriptor instead.
1031func (*DeleteExperimentRequest) Descriptor() ([]byte, []int) {
1032	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{10}
1033}
1034
1035func (x *DeleteExperimentRequest) GetName() string {
1036	if x != nil {
1037		return x.Name
1038	}
1039	return ""
1040}
1041
1042// The request message for [Experiments.StartExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.StartExperiment].
1043type StartExperimentRequest struct {
1044	state         protoimpl.MessageState
1045	sizeCache     protoimpl.SizeCache
1046	unknownFields protoimpl.UnknownFields
1047
1048	// Required. Resource name of the experiment to start.
1049	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1050	// ID>/environments/<Environment ID>/experiments/<Experiment ID>`.
1051	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1052}
1053
1054func (x *StartExperimentRequest) Reset() {
1055	*x = StartExperimentRequest{}
1056	if protoimpl.UnsafeEnabled {
1057		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[11]
1058		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1059		ms.StoreMessageInfo(mi)
1060	}
1061}
1062
1063func (x *StartExperimentRequest) String() string {
1064	return protoimpl.X.MessageStringOf(x)
1065}
1066
1067func (*StartExperimentRequest) ProtoMessage() {}
1068
1069func (x *StartExperimentRequest) ProtoReflect() protoreflect.Message {
1070	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[11]
1071	if protoimpl.UnsafeEnabled && x != nil {
1072		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1073		if ms.LoadMessageInfo() == nil {
1074			ms.StoreMessageInfo(mi)
1075		}
1076		return ms
1077	}
1078	return mi.MessageOf(x)
1079}
1080
1081// Deprecated: Use StartExperimentRequest.ProtoReflect.Descriptor instead.
1082func (*StartExperimentRequest) Descriptor() ([]byte, []int) {
1083	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{11}
1084}
1085
1086func (x *StartExperimentRequest) GetName() string {
1087	if x != nil {
1088		return x.Name
1089	}
1090	return ""
1091}
1092
1093// The request message for [Experiments.StopExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.StopExperiment].
1094type StopExperimentRequest struct {
1095	state         protoimpl.MessageState
1096	sizeCache     protoimpl.SizeCache
1097	unknownFields protoimpl.UnknownFields
1098
1099	// Required. Resource name of the experiment to stop.
1100	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1101	// ID>/environments/<Environment ID>/experiments/<Experiment ID>`.
1102	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1103}
1104
1105func (x *StopExperimentRequest) Reset() {
1106	*x = StopExperimentRequest{}
1107	if protoimpl.UnsafeEnabled {
1108		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[12]
1109		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1110		ms.StoreMessageInfo(mi)
1111	}
1112}
1113
1114func (x *StopExperimentRequest) String() string {
1115	return protoimpl.X.MessageStringOf(x)
1116}
1117
1118func (*StopExperimentRequest) ProtoMessage() {}
1119
1120func (x *StopExperimentRequest) ProtoReflect() protoreflect.Message {
1121	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[12]
1122	if protoimpl.UnsafeEnabled && x != nil {
1123		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1124		if ms.LoadMessageInfo() == nil {
1125			ms.StoreMessageInfo(mi)
1126		}
1127		return ms
1128	}
1129	return mi.MessageOf(x)
1130}
1131
1132// Deprecated: Use StopExperimentRequest.ProtoReflect.Descriptor instead.
1133func (*StopExperimentRequest) Descriptor() ([]byte, []int) {
1134	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{12}
1135}
1136
1137func (x *StopExperimentRequest) GetName() string {
1138	if x != nil {
1139		return x.Name
1140	}
1141	return ""
1142}
1143
1144// Definition of the experiment.
1145type Experiment_Definition struct {
1146	state         protoimpl.MessageState
1147	sizeCache     protoimpl.SizeCache
1148	unknownFields protoimpl.UnknownFields
1149
1150	// The condition defines which subset of sessions are selected for
1151	// this experiment. If not specified, all sessions are eligible. E.g.
1152	// "query_input.language_code=en" See the [conditions
1153	// reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
1154	Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"`
1155	// The variants of the experiment. We currently only support single variant
1156	// experiment.
1157	//
1158	// Types that are assignable to Variants:
1159	//	*Experiment_Definition_VersionVariants
1160	Variants isExperiment_Definition_Variants `protobuf_oneof:"variants"`
1161}
1162
1163func (x *Experiment_Definition) Reset() {
1164	*x = Experiment_Definition{}
1165	if protoimpl.UnsafeEnabled {
1166		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[13]
1167		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1168		ms.StoreMessageInfo(mi)
1169	}
1170}
1171
1172func (x *Experiment_Definition) String() string {
1173	return protoimpl.X.MessageStringOf(x)
1174}
1175
1176func (*Experiment_Definition) ProtoMessage() {}
1177
1178func (x *Experiment_Definition) ProtoReflect() protoreflect.Message {
1179	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[13]
1180	if protoimpl.UnsafeEnabled && x != nil {
1181		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1182		if ms.LoadMessageInfo() == nil {
1183			ms.StoreMessageInfo(mi)
1184		}
1185		return ms
1186	}
1187	return mi.MessageOf(x)
1188}
1189
1190// Deprecated: Use Experiment_Definition.ProtoReflect.Descriptor instead.
1191func (*Experiment_Definition) Descriptor() ([]byte, []int) {
1192	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{0, 0}
1193}
1194
1195func (x *Experiment_Definition) GetCondition() string {
1196	if x != nil {
1197		return x.Condition
1198	}
1199	return ""
1200}
1201
1202func (m *Experiment_Definition) GetVariants() isExperiment_Definition_Variants {
1203	if m != nil {
1204		return m.Variants
1205	}
1206	return nil
1207}
1208
1209func (x *Experiment_Definition) GetVersionVariants() *VersionVariants {
1210	if x, ok := x.GetVariants().(*Experiment_Definition_VersionVariants); ok {
1211		return x.VersionVariants
1212	}
1213	return nil
1214}
1215
1216type isExperiment_Definition_Variants interface {
1217	isExperiment_Definition_Variants()
1218}
1219
1220type Experiment_Definition_VersionVariants struct {
1221	// The flow versions as the variants of this experiment.
1222	VersionVariants *VersionVariants `protobuf:"bytes,2,opt,name=version_variants,json=versionVariants,proto3,oneof"`
1223}
1224
1225func (*Experiment_Definition_VersionVariants) isExperiment_Definition_Variants() {}
1226
1227// The inference result which includes an objective metric to optimize and the
1228// confidence interval.
1229type Experiment_Result struct {
1230	state         protoimpl.MessageState
1231	sizeCache     protoimpl.SizeCache
1232	unknownFields protoimpl.UnknownFields
1233
1234	// Version variants and metrics.
1235	VersionMetrics []*Experiment_Result_VersionMetrics `protobuf:"bytes,1,rep,name=version_metrics,json=versionMetrics,proto3" json:"version_metrics,omitempty"`
1236	// The last time the experiment's stats data was updated. Will have default
1237	// value if stats have never been computed for this experiment.
1238	LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"`
1239}
1240
1241func (x *Experiment_Result) Reset() {
1242	*x = Experiment_Result{}
1243	if protoimpl.UnsafeEnabled {
1244		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[14]
1245		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1246		ms.StoreMessageInfo(mi)
1247	}
1248}
1249
1250func (x *Experiment_Result) String() string {
1251	return protoimpl.X.MessageStringOf(x)
1252}
1253
1254func (*Experiment_Result) ProtoMessage() {}
1255
1256func (x *Experiment_Result) ProtoReflect() protoreflect.Message {
1257	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[14]
1258	if protoimpl.UnsafeEnabled && x != nil {
1259		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1260		if ms.LoadMessageInfo() == nil {
1261			ms.StoreMessageInfo(mi)
1262		}
1263		return ms
1264	}
1265	return mi.MessageOf(x)
1266}
1267
1268// Deprecated: Use Experiment_Result.ProtoReflect.Descriptor instead.
1269func (*Experiment_Result) Descriptor() ([]byte, []int) {
1270	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{0, 1}
1271}
1272
1273func (x *Experiment_Result) GetVersionMetrics() []*Experiment_Result_VersionMetrics {
1274	if x != nil {
1275		return x.VersionMetrics
1276	}
1277	return nil
1278}
1279
1280func (x *Experiment_Result) GetLastUpdateTime() *timestamppb.Timestamp {
1281	if x != nil {
1282		return x.LastUpdateTime
1283	}
1284	return nil
1285}
1286
1287// A confidence interval is a range of possible values for the experiment
1288// objective you are trying to measure.
1289type Experiment_Result_ConfidenceInterval struct {
1290	state         protoimpl.MessageState
1291	sizeCache     protoimpl.SizeCache
1292	unknownFields protoimpl.UnknownFields
1293
1294	// The confidence level used to construct the interval, i.e. there is X%
1295	// chance that the true value is within this interval.
1296	ConfidenceLevel float64 `protobuf:"fixed64,1,opt,name=confidence_level,json=confidenceLevel,proto3" json:"confidence_level,omitempty"`
1297	// The percent change between an experiment metric's value and the value
1298	// for its control.
1299	Ratio float64 `protobuf:"fixed64,2,opt,name=ratio,proto3" json:"ratio,omitempty"`
1300	// Lower bound of the interval.
1301	LowerBound float64 `protobuf:"fixed64,3,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"`
1302	// Upper bound of the interval.
1303	UpperBound float64 `protobuf:"fixed64,4,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"`
1304}
1305
1306func (x *Experiment_Result_ConfidenceInterval) Reset() {
1307	*x = Experiment_Result_ConfidenceInterval{}
1308	if protoimpl.UnsafeEnabled {
1309		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[15]
1310		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1311		ms.StoreMessageInfo(mi)
1312	}
1313}
1314
1315func (x *Experiment_Result_ConfidenceInterval) String() string {
1316	return protoimpl.X.MessageStringOf(x)
1317}
1318
1319func (*Experiment_Result_ConfidenceInterval) ProtoMessage() {}
1320
1321func (x *Experiment_Result_ConfidenceInterval) ProtoReflect() protoreflect.Message {
1322	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[15]
1323	if protoimpl.UnsafeEnabled && x != nil {
1324		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1325		if ms.LoadMessageInfo() == nil {
1326			ms.StoreMessageInfo(mi)
1327		}
1328		return ms
1329	}
1330	return mi.MessageOf(x)
1331}
1332
1333// Deprecated: Use Experiment_Result_ConfidenceInterval.ProtoReflect.Descriptor instead.
1334func (*Experiment_Result_ConfidenceInterval) Descriptor() ([]byte, []int) {
1335	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{0, 1, 0}
1336}
1337
1338func (x *Experiment_Result_ConfidenceInterval) GetConfidenceLevel() float64 {
1339	if x != nil {
1340		return x.ConfidenceLevel
1341	}
1342	return 0
1343}
1344
1345func (x *Experiment_Result_ConfidenceInterval) GetRatio() float64 {
1346	if x != nil {
1347		return x.Ratio
1348	}
1349	return 0
1350}
1351
1352func (x *Experiment_Result_ConfidenceInterval) GetLowerBound() float64 {
1353	if x != nil {
1354		return x.LowerBound
1355	}
1356	return 0
1357}
1358
1359func (x *Experiment_Result_ConfidenceInterval) GetUpperBound() float64 {
1360	if x != nil {
1361		return x.UpperBound
1362	}
1363	return 0
1364}
1365
1366// Metric and corresponding confidence intervals.
1367type Experiment_Result_Metric struct {
1368	state         protoimpl.MessageState
1369	sizeCache     protoimpl.SizeCache
1370	unknownFields protoimpl.UnknownFields
1371
1372	// Ratio-based metric type. Only one of type or count_type is specified in
1373	// each Metric.
1374	Type Experiment_Result_MetricType `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.dialogflow.cx.v3beta1.Experiment_Result_MetricType" json:"type,omitempty"`
1375	// Count-based metric type. Only one of type or count_type is specified in
1376	// each Metric.
1377	CountType Experiment_Result_CountType `protobuf:"varint,5,opt,name=count_type,json=countType,proto3,enum=google.cloud.dialogflow.cx.v3beta1.Experiment_Result_CountType" json:"count_type,omitempty"`
1378	// The actual value of the metric.
1379	//
1380	// Types that are assignable to Value:
1381	//	*Experiment_Result_Metric_Ratio
1382	//	*Experiment_Result_Metric_Count
1383	Value isExperiment_Result_Metric_Value `protobuf_oneof:"value"`
1384	// The probability that the treatment is better than all other treatments
1385	// in the experiment
1386	ConfidenceInterval *Experiment_Result_ConfidenceInterval `protobuf:"bytes,3,opt,name=confidence_interval,json=confidenceInterval,proto3" json:"confidence_interval,omitempty"`
1387}
1388
1389func (x *Experiment_Result_Metric) Reset() {
1390	*x = Experiment_Result_Metric{}
1391	if protoimpl.UnsafeEnabled {
1392		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[16]
1393		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1394		ms.StoreMessageInfo(mi)
1395	}
1396}
1397
1398func (x *Experiment_Result_Metric) String() string {
1399	return protoimpl.X.MessageStringOf(x)
1400}
1401
1402func (*Experiment_Result_Metric) ProtoMessage() {}
1403
1404func (x *Experiment_Result_Metric) ProtoReflect() protoreflect.Message {
1405	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[16]
1406	if protoimpl.UnsafeEnabled && x != nil {
1407		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1408		if ms.LoadMessageInfo() == nil {
1409			ms.StoreMessageInfo(mi)
1410		}
1411		return ms
1412	}
1413	return mi.MessageOf(x)
1414}
1415
1416// Deprecated: Use Experiment_Result_Metric.ProtoReflect.Descriptor instead.
1417func (*Experiment_Result_Metric) Descriptor() ([]byte, []int) {
1418	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{0, 1, 1}
1419}
1420
1421func (x *Experiment_Result_Metric) GetType() Experiment_Result_MetricType {
1422	if x != nil {
1423		return x.Type
1424	}
1425	return Experiment_Result_METRIC_UNSPECIFIED
1426}
1427
1428func (x *Experiment_Result_Metric) GetCountType() Experiment_Result_CountType {
1429	if x != nil {
1430		return x.CountType
1431	}
1432	return Experiment_Result_COUNT_TYPE_UNSPECIFIED
1433}
1434
1435func (m *Experiment_Result_Metric) GetValue() isExperiment_Result_Metric_Value {
1436	if m != nil {
1437		return m.Value
1438	}
1439	return nil
1440}
1441
1442func (x *Experiment_Result_Metric) GetRatio() float64 {
1443	if x, ok := x.GetValue().(*Experiment_Result_Metric_Ratio); ok {
1444		return x.Ratio
1445	}
1446	return 0
1447}
1448
1449func (x *Experiment_Result_Metric) GetCount() float64 {
1450	if x, ok := x.GetValue().(*Experiment_Result_Metric_Count); ok {
1451		return x.Count
1452	}
1453	return 0
1454}
1455
1456func (x *Experiment_Result_Metric) GetConfidenceInterval() *Experiment_Result_ConfidenceInterval {
1457	if x != nil {
1458		return x.ConfidenceInterval
1459	}
1460	return nil
1461}
1462
1463type isExperiment_Result_Metric_Value interface {
1464	isExperiment_Result_Metric_Value()
1465}
1466
1467type Experiment_Result_Metric_Ratio struct {
1468	// Ratio value of a metric.
1469	Ratio float64 `protobuf:"fixed64,2,opt,name=ratio,proto3,oneof"`
1470}
1471
1472type Experiment_Result_Metric_Count struct {
1473	// Count value of a metric.
1474	Count float64 `protobuf:"fixed64,4,opt,name=count,proto3,oneof"`
1475}
1476
1477func (*Experiment_Result_Metric_Ratio) isExperiment_Result_Metric_Value() {}
1478
1479func (*Experiment_Result_Metric_Count) isExperiment_Result_Metric_Value() {}
1480
1481// Version variant and associated metrics.
1482type Experiment_Result_VersionMetrics struct {
1483	state         protoimpl.MessageState
1484	sizeCache     protoimpl.SizeCache
1485	unknownFields protoimpl.UnknownFields
1486
1487	// The name of the flow [Version][google.cloud.dialogflow.cx.v3beta1.Version].
1488	// Format: `projects/<Project ID>/locations/<Location
1489	// ID>/agents/<Agent ID>/flows/<Flow ID>/versions/<Version ID>`.
1490	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
1491	// The metrics and corresponding confidence intervals in the inference
1492	// result.
1493	Metrics []*Experiment_Result_Metric `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"`
1494	// Number of sessions that were allocated to this version.
1495	SessionCount int32 `protobuf:"varint,3,opt,name=session_count,json=sessionCount,proto3" json:"session_count,omitempty"`
1496}
1497
1498func (x *Experiment_Result_VersionMetrics) Reset() {
1499	*x = Experiment_Result_VersionMetrics{}
1500	if protoimpl.UnsafeEnabled {
1501		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[17]
1502		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1503		ms.StoreMessageInfo(mi)
1504	}
1505}
1506
1507func (x *Experiment_Result_VersionMetrics) String() string {
1508	return protoimpl.X.MessageStringOf(x)
1509}
1510
1511func (*Experiment_Result_VersionMetrics) ProtoMessage() {}
1512
1513func (x *Experiment_Result_VersionMetrics) ProtoReflect() protoreflect.Message {
1514	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[17]
1515	if protoimpl.UnsafeEnabled && x != nil {
1516		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1517		if ms.LoadMessageInfo() == nil {
1518			ms.StoreMessageInfo(mi)
1519		}
1520		return ms
1521	}
1522	return mi.MessageOf(x)
1523}
1524
1525// Deprecated: Use Experiment_Result_VersionMetrics.ProtoReflect.Descriptor instead.
1526func (*Experiment_Result_VersionMetrics) Descriptor() ([]byte, []int) {
1527	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{0, 1, 2}
1528}
1529
1530func (x *Experiment_Result_VersionMetrics) GetVersion() string {
1531	if x != nil {
1532		return x.Version
1533	}
1534	return ""
1535}
1536
1537func (x *Experiment_Result_VersionMetrics) GetMetrics() []*Experiment_Result_Metric {
1538	if x != nil {
1539		return x.Metrics
1540	}
1541	return nil
1542}
1543
1544func (x *Experiment_Result_VersionMetrics) GetSessionCount() int32 {
1545	if x != nil {
1546		return x.SessionCount
1547	}
1548	return 0
1549}
1550
1551// A single flow version with specified traffic allocation.
1552type VersionVariants_Variant struct {
1553	state         protoimpl.MessageState
1554	sizeCache     protoimpl.SizeCache
1555	unknownFields protoimpl.UnknownFields
1556
1557	// The name of the flow version.
1558	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1559	// ID>/flows/<Flow ID>/versions/<Version ID>`.
1560	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
1561	// Percentage of the traffic which should be routed to this
1562	// version of flow. Traffic allocation for a single flow must sum up to 1.0.
1563	TrafficAllocation float32 `protobuf:"fixed32,2,opt,name=traffic_allocation,json=trafficAllocation,proto3" json:"traffic_allocation,omitempty"`
1564	// Whether the variant is for the control group.
1565	IsControlGroup bool `protobuf:"varint,3,opt,name=is_control_group,json=isControlGroup,proto3" json:"is_control_group,omitempty"`
1566}
1567
1568func (x *VersionVariants_Variant) Reset() {
1569	*x = VersionVariants_Variant{}
1570	if protoimpl.UnsafeEnabled {
1571		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[18]
1572		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1573		ms.StoreMessageInfo(mi)
1574	}
1575}
1576
1577func (x *VersionVariants_Variant) String() string {
1578	return protoimpl.X.MessageStringOf(x)
1579}
1580
1581func (*VersionVariants_Variant) ProtoMessage() {}
1582
1583func (x *VersionVariants_Variant) ProtoReflect() protoreflect.Message {
1584	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[18]
1585	if protoimpl.UnsafeEnabled && x != nil {
1586		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1587		if ms.LoadMessageInfo() == nil {
1588			ms.StoreMessageInfo(mi)
1589		}
1590		return ms
1591	}
1592	return mi.MessageOf(x)
1593}
1594
1595// Deprecated: Use VersionVariants_Variant.ProtoReflect.Descriptor instead.
1596func (*VersionVariants_Variant) Descriptor() ([]byte, []int) {
1597	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{1, 0}
1598}
1599
1600func (x *VersionVariants_Variant) GetVersion() string {
1601	if x != nil {
1602		return x.Version
1603	}
1604	return ""
1605}
1606
1607func (x *VersionVariants_Variant) GetTrafficAllocation() float32 {
1608	if x != nil {
1609		return x.TrafficAllocation
1610	}
1611	return 0
1612}
1613
1614func (x *VersionVariants_Variant) GetIsControlGroup() bool {
1615	if x != nil {
1616		return x.IsControlGroup
1617	}
1618	return false
1619}
1620
1621// A single rollout step with specified traffic allocation.
1622type RolloutConfig_RolloutStep struct {
1623	state         protoimpl.MessageState
1624	sizeCache     protoimpl.SizeCache
1625	unknownFields protoimpl.UnknownFields
1626
1627	// The name of the rollout step;
1628	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
1629	// The percentage of traffic allocated to the flow version of this rollout
1630	// step. (0%, 100%].
1631	TrafficPercent int32 `protobuf:"varint,2,opt,name=traffic_percent,json=trafficPercent,proto3" json:"traffic_percent,omitempty"`
1632	// The minimum time that this step should last. Should be longer than 1
1633	// hour. If not set, the default minimum duration for each step will be 1
1634	// hour.
1635	MinDuration *durationpb.Duration `protobuf:"bytes,3,opt,name=min_duration,json=minDuration,proto3" json:"min_duration,omitempty"`
1636}
1637
1638func (x *RolloutConfig_RolloutStep) Reset() {
1639	*x = RolloutConfig_RolloutStep{}
1640	if protoimpl.UnsafeEnabled {
1641		mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[19]
1642		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1643		ms.StoreMessageInfo(mi)
1644	}
1645}
1646
1647func (x *RolloutConfig_RolloutStep) String() string {
1648	return protoimpl.X.MessageStringOf(x)
1649}
1650
1651func (*RolloutConfig_RolloutStep) ProtoMessage() {}
1652
1653func (x *RolloutConfig_RolloutStep) ProtoReflect() protoreflect.Message {
1654	mi := &file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[19]
1655	if protoimpl.UnsafeEnabled && x != nil {
1656		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1657		if ms.LoadMessageInfo() == nil {
1658			ms.StoreMessageInfo(mi)
1659		}
1660		return ms
1661	}
1662	return mi.MessageOf(x)
1663}
1664
1665// Deprecated: Use RolloutConfig_RolloutStep.ProtoReflect.Descriptor instead.
1666func (*RolloutConfig_RolloutStep) Descriptor() ([]byte, []int) {
1667	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP(), []int{2, 0}
1668}
1669
1670func (x *RolloutConfig_RolloutStep) GetDisplayName() string {
1671	if x != nil {
1672		return x.DisplayName
1673	}
1674	return ""
1675}
1676
1677func (x *RolloutConfig_RolloutStep) GetTrafficPercent() int32 {
1678	if x != nil {
1679		return x.TrafficPercent
1680	}
1681	return 0
1682}
1683
1684func (x *RolloutConfig_RolloutStep) GetMinDuration() *durationpb.Duration {
1685	if x != nil {
1686		return x.MinDuration
1687	}
1688	return nil
1689}
1690
1691var File_google_cloud_dialogflow_cx_v3beta1_experiment_proto protoreflect.FileDescriptor
1692
1693var file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDesc = []byte{
1694	0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
1695	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62,
1696	0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e,
1697	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
1698	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
1699	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1700	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1701	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
1702	0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1703	0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65,
1704	0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1705	0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65,
1706	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f,
1707	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,
1708	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f,
1709	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d,
1710	0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1711	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
1712	0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
1713	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d,
1714	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x14, 0x0a,
1715	0x0a, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e,
1716	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
1717	0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
1718	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70,
1719	0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
1720	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
1721	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x05, 0x73, 0x74, 0x61,
1722	0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1723	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
1724	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78,
1725	0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05,
1726	0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
1727	0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1728	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
1729	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45,
1730	0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69,
1731	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
1732	0x12, 0x58, 0x0a, 0x0e, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
1733	0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1734	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
1735	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f,
1736	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x72, 0x6f, 0x6c,
1737	0x6c, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x0d, 0x72, 0x6f,
1738	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
1739	0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1740	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
1741	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x53, 0x74,
1742	0x61, 0x74, 0x65, 0x52, 0x0c, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x61, 0x74,
1743	0x65, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x61, 0x69,
1744	0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28,
1745	0x09, 0x52, 0x14, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72,
1746	0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
1747	0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1748	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
1749	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70,
1750	0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06,
1751	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
1752	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
1753	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
1754	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
1755	0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d,
1756	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1757	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
1758	0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35,
1759	0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
1760	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1761	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e,
1762	0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70,
1763	0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
1764	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
1765	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73,
1766	0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x65,
1767	0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
1768	0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1769	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
1770	0x6e, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e,
1771	0x67, 0x74, 0x68, 0x12, 0x5e, 0x0a, 0x10, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x5f,
1772	0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e,
1773	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
1774	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
1775	0x61, 0x31, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f,
1776	0x72, 0x79, 0x52, 0x0f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74,
1777	0x6f, 0x72, 0x79, 0x1a, 0x98, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69,
1778	0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
1779	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
1780	0x12, 0x60, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x69,
1781	0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
1782	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
1783	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1784	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x48,
1785	0x00, 0x52, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e,
1786	0x74, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x1a, 0xc8,
1787	0x09, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6d, 0x0a, 0x0f, 0x76, 0x65, 0x72,
1788	0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03,
1789	0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
1790	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
1791	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65,
1792	0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
1793	0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
1794	0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74,
1795	0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
1796	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1797	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e,
1798	0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x97,
1799	0x01, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74,
1800	0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65,
1801	0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52,
1802	0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c,
1803	0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52,
1804	0x05, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f,
1805	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x6c, 0x6f, 0x77,
1806	0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72,
1807	0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x75, 0x70,
1808	0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0xf2, 0x02, 0x0a, 0x06, 0x4d, 0x65, 0x74,
1809	0x72, 0x69, 0x63, 0x12, 0x54, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
1810	0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1811	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
1812	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e,
1813	0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54,
1814	0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x0a, 0x63, 0x6f, 0x75,
1815	0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e,
1816	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
1817	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
1818	0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65,
1819	0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09,
1820	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x72, 0x61, 0x74,
1821	0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x74, 0x69,
1822	0x6f, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01,
1823	0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x79, 0x0a, 0x13, 0x63, 0x6f, 0x6e,
1824	0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
1825	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1826	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
1827	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65,
1828	0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f,
1829	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
1830	0x52, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65,
1831	0x72, 0x76, 0x61, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xcf, 0x01,
1832	0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
1833	0x12, 0x40, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
1834	0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
1835	0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
1836	0x6d, 0x2f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
1837	0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20,
1838	0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1839	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
1840	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d,
1841	0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
1842	0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65,
1843	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
1844	0x05, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22,
1845	0xb6, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16,
1846	0x0a, 0x12, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
1847	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49,
1848	0x4e, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x43,
1849	0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x1b,
1850	0x0a, 0x17, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x48, 0x41, 0x4e,
1851	0x44, 0x4f, 0x46, 0x46, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x43,
1852	0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f,
1853	0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f,
1854	0x4e, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x54, 0x45,
1855	0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e,
1856	0x44, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x05, 0x22, 0x6f, 0x0a, 0x09, 0x43, 0x6f, 0x75, 0x6e,
1857	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54,
1858	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
1859	0x00, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x4e, 0x4f, 0x5f, 0x4d, 0x41,
1860	0x54, 0x43, 0x48, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54,
1861	0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10,
1862	0x02, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x56, 0x45, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x55, 0x52,
1863	0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x03, 0x22, 0x54, 0x0a, 0x05, 0x53, 0x74, 0x61,
1864	0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
1865	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x52, 0x41,
1866	0x46, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10,
1867	0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x52,
1868	0x4f, 0x4c, 0x4c, 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x3a,
1869	0x96, 0x01, 0xea, 0x41, 0x92, 0x01, 0x0a, 0x24, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
1870	0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
1871	0x6d, 0x2f, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6a, 0x70, 0x72,
1872	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d,
1873	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61,
1874	0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67,
1875	0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
1876	0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2f,
1877	0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x70,
1878	0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x22, 0xe8, 0x01, 0x0a, 0x0f, 0x56, 0x65, 0x72,
1879	0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x08,
1880	0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b,
1881	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
1882	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
1883	0x74, 0x61, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x69, 0x61,
1884	0x6e, 0x74, 0x73, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x08, 0x76, 0x61, 0x72,
1885	0x69, 0x61, 0x6e, 0x74, 0x73, 0x1a, 0x7c, 0x0a, 0x07, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74,
1886	0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
1887	0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x74, 0x72,
1888	0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1889	0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x41,
1890	0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f,
1891	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20,
1892	0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x47, 0x72,
1893	0x6f, 0x75, 0x70, 0x22, 0xe7, 0x02, 0x0a, 0x0d, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x43,
1894	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x0d, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74,
1895	0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67,
1896	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
1897	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
1898	0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
1899	0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x65, 0x70, 0x52, 0x0c, 0x72, 0x6f, 0x6c,
1900	0x6c, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x6f, 0x6c,
1901	0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
1902	0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e,
1903	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72,
1904	0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
1905	0x09, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74,
1906	0x69, 0x6f, 0x6e, 0x1a, 0x97, 0x01, 0x0a, 0x0b, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x53,
1907	0x74, 0x65, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e,
1908	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c,
1909	0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69,
1910	0x63, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
1911	0x0e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12,
1912	0x3c, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
1913	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
1914	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1915	0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x0a,
1916	0x0c, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a,
1917	0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x74, 0x65,
1918	0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
1919	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78,
1920	0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
1921	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
1922	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
1923	0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x0f,
1924	0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12,
1925	0x60, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61,
1926	0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1927	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
1928	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56,
1929	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x48, 0x00,
1930	0x52, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74,
1931	0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
1932	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1933	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
1934	0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a,
1935	0x0a, 0x08, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x16, 0x4c,
1936	0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65,
1937	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
1938	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x12, 0x24, 0x64,
1939	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1940	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d,
1941	0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70,
1942	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
1943	0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65,
1944	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61,
1945	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74,
1946	0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
1947	0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e,
1948	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1949	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
1950	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78,
1951	0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69,
1952	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61,
1953	0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
1954	0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x58, 0x0a,
1955	0x14, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
1956	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
1957	0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x64, 0x69, 0x61,
1958	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
1959	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e,
1960	0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61,
1961	0x74, 0x65, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
1962	0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
1963	0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x12, 0x24, 0x64, 0x69, 0x61,
1964	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
1965	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e,
1966	0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x0a, 0x65, 0x78, 0x70,
1967	0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
1968	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
1969	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
1970	0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0,
1971	0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xb0,
1972	0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d,
1973	0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0a, 0x65, 0x78,
1974	0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
1975	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
1976	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
1977	0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03,
1978	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12,
1979	0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02,
1980	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
1981	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
1982	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73,
1983	0x6b, 0x22, 0x5b, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x70, 0x65, 0x72,
1984	0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04,
1985	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa,
1986	0x41, 0x26, 0x0a, 0x24, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67,
1987	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78,
1988	0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5a,
1989	0x0a, 0x16, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e,
1990	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
1991	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24,
1992	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1993	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69,
1994	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x15, 0x53, 0x74,
1995	0x6f, 0x70, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
1996	0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
1997	0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x64, 0x69, 0x61, 0x6c, 0x6f,
1998	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
1999	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52,
2000	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xdd, 0x0d, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69,
2001	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78,
2002	0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2003	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2004	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c,
2005	0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65,
2006	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2007	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2008	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
2009	0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2010	0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x12, 0x4c, 0x2f, 0x76, 0x33, 0x62,
2011	0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
2012	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2013	0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x76,
2014	0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x70,
2015	0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
2016	0x74, 0x12, 0xd6, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d,
2017	0x65, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2018	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
2019	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x65,
2020	0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e,
2021	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
2022	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
2023	0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x5b, 0x82,
2024	0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x12, 0x4c, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
2025	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
2026	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65,
2027	0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
2028	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73,
2029	0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xf5, 0x01, 0x0a, 0x10, 0x43,
2030	0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12,
2031	0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2032	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
2033	0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x65, 0x72,
2034	0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67,
2035	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
2036	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
2037	0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x74, 0x82, 0xd3,
2038	0xe4, 0x93, 0x02, 0x5a, 0x22, 0x4c, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b,
2039	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
2040	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67,
2041	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
2042	0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e,
2043	0x74, 0x73, 0x3a, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0xda, 0x41,
2044	0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65,
2045	0x6e, 0x74, 0x12, 0x86, 0x02, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70,
2046	0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2047	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2048	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64,
2049	0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
2050	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2051	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
2052	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69,
2053	0x6d, 0x65, 0x6e, 0x74, 0x22, 0x84, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, 0x32, 0x57, 0x2f,
2054	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d,
2055	0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2056	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
2057	0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
2058	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65,
2059	0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65,
2060	0x6e, 0x74, 0xda, 0x41, 0x16, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2c,
2061	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xc4, 0x01, 0x0a, 0x10,
2062	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74,
2063	0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2064	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
2065	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x70, 0x65,
2066	0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
2067	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2068	0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x2a, 0x4c, 0x2f,
2069	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
2070	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
2071	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e,
2072	0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70,
2073	0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61,
2074	0x6d, 0x65, 0x12, 0xe3, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x78, 0x70, 0x65,
2075	0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2076	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2077	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72,
2078	0x74, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
2079	0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2080	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
2081	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65,
2082	0x6e, 0x74, 0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x22, 0x52, 0x2f, 0x76, 0x33, 0x62,
2083	0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2084	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
2085	0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72,
2086	0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69,
2087	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x01,
2088	0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe0, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x6f,
2089	0x70, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f,
2090	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2091	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
2092	0x2e, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52,
2093	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2094	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2095	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65,
2096	0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x22, 0x51,
2097	0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
2098	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
2099	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65,
2100	0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78,
2101	0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x6f,
2102	0x70, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x78, 0xca, 0x41, 0x19,
2103	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2104	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x59, 0x68, 0x74, 0x74, 0x70,
2105	0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
2106	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
2107	0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73,
2108	0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
2109	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2110	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0xd7, 0x01, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
2111	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2112	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
2113	0x42, 0x0f, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74,
2114	0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61,
2115	0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
2116	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2117	0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76,
2118	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x63, 0x78, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x02, 0x44,
2119	0x46, 0xaa, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64,
2120	0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x78, 0x2e, 0x56,
2121	0x33, 0x42, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x26, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a,
2122	0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2123	0x6f, 0x77, 0x3a, 0x3a, 0x43, 0x58, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62,
2124	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2125}
2126
2127var (
2128	file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescOnce sync.Once
2129	file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescData = file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDesc
2130)
2131
2132func file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescGZIP() []byte {
2133	file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescOnce.Do(func() {
2134		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescData)
2135	})
2136	return file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDescData
2137}
2138
2139var file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
2140var file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
2141var file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_goTypes = []interface{}{
2142	(Experiment_State)(0),                        // 0: google.cloud.dialogflow.cx.v3beta1.Experiment.State
2143	(Experiment_Result_MetricType)(0),            // 1: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.MetricType
2144	(Experiment_Result_CountType)(0),             // 2: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.CountType
2145	(*Experiment)(nil),                           // 3: google.cloud.dialogflow.cx.v3beta1.Experiment
2146	(*VersionVariants)(nil),                      // 4: google.cloud.dialogflow.cx.v3beta1.VersionVariants
2147	(*RolloutConfig)(nil),                        // 5: google.cloud.dialogflow.cx.v3beta1.RolloutConfig
2148	(*RolloutState)(nil),                         // 6: google.cloud.dialogflow.cx.v3beta1.RolloutState
2149	(*VariantsHistory)(nil),                      // 7: google.cloud.dialogflow.cx.v3beta1.VariantsHistory
2150	(*ListExperimentsRequest)(nil),               // 8: google.cloud.dialogflow.cx.v3beta1.ListExperimentsRequest
2151	(*ListExperimentsResponse)(nil),              // 9: google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse
2152	(*GetExperimentRequest)(nil),                 // 10: google.cloud.dialogflow.cx.v3beta1.GetExperimentRequest
2153	(*CreateExperimentRequest)(nil),              // 11: google.cloud.dialogflow.cx.v3beta1.CreateExperimentRequest
2154	(*UpdateExperimentRequest)(nil),              // 12: google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest
2155	(*DeleteExperimentRequest)(nil),              // 13: google.cloud.dialogflow.cx.v3beta1.DeleteExperimentRequest
2156	(*StartExperimentRequest)(nil),               // 14: google.cloud.dialogflow.cx.v3beta1.StartExperimentRequest
2157	(*StopExperimentRequest)(nil),                // 15: google.cloud.dialogflow.cx.v3beta1.StopExperimentRequest
2158	(*Experiment_Definition)(nil),                // 16: google.cloud.dialogflow.cx.v3beta1.Experiment.Definition
2159	(*Experiment_Result)(nil),                    // 17: google.cloud.dialogflow.cx.v3beta1.Experiment.Result
2160	(*Experiment_Result_ConfidenceInterval)(nil), // 18: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.ConfidenceInterval
2161	(*Experiment_Result_Metric)(nil),             // 19: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric
2162	(*Experiment_Result_VersionMetrics)(nil),     // 20: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.VersionMetrics
2163	(*VersionVariants_Variant)(nil),              // 21: google.cloud.dialogflow.cx.v3beta1.VersionVariants.Variant
2164	(*RolloutConfig_RolloutStep)(nil),            // 22: google.cloud.dialogflow.cx.v3beta1.RolloutConfig.RolloutStep
2165	(*timestamppb.Timestamp)(nil),                // 23: google.protobuf.Timestamp
2166	(*durationpb.Duration)(nil),                  // 24: google.protobuf.Duration
2167	(*fieldmaskpb.FieldMask)(nil),                // 25: google.protobuf.FieldMask
2168	(*emptypb.Empty)(nil),                        // 26: google.protobuf.Empty
2169}
2170var file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_depIdxs = []int32{
2171	0,  // 0: google.cloud.dialogflow.cx.v3beta1.Experiment.state:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment.State
2172	16, // 1: google.cloud.dialogflow.cx.v3beta1.Experiment.definition:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment.Definition
2173	5,  // 2: google.cloud.dialogflow.cx.v3beta1.Experiment.rollout_config:type_name -> google.cloud.dialogflow.cx.v3beta1.RolloutConfig
2174	6,  // 3: google.cloud.dialogflow.cx.v3beta1.Experiment.rollout_state:type_name -> google.cloud.dialogflow.cx.v3beta1.RolloutState
2175	17, // 4: google.cloud.dialogflow.cx.v3beta1.Experiment.result:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment.Result
2176	23, // 5: google.cloud.dialogflow.cx.v3beta1.Experiment.create_time:type_name -> google.protobuf.Timestamp
2177	23, // 6: google.cloud.dialogflow.cx.v3beta1.Experiment.start_time:type_name -> google.protobuf.Timestamp
2178	23, // 7: google.cloud.dialogflow.cx.v3beta1.Experiment.end_time:type_name -> google.protobuf.Timestamp
2179	23, // 8: google.cloud.dialogflow.cx.v3beta1.Experiment.last_update_time:type_name -> google.protobuf.Timestamp
2180	24, // 9: google.cloud.dialogflow.cx.v3beta1.Experiment.experiment_length:type_name -> google.protobuf.Duration
2181	7,  // 10: google.cloud.dialogflow.cx.v3beta1.Experiment.variants_history:type_name -> google.cloud.dialogflow.cx.v3beta1.VariantsHistory
2182	21, // 11: google.cloud.dialogflow.cx.v3beta1.VersionVariants.variants:type_name -> google.cloud.dialogflow.cx.v3beta1.VersionVariants.Variant
2183	22, // 12: google.cloud.dialogflow.cx.v3beta1.RolloutConfig.rollout_steps:type_name -> google.cloud.dialogflow.cx.v3beta1.RolloutConfig.RolloutStep
2184	23, // 13: google.cloud.dialogflow.cx.v3beta1.RolloutState.start_time:type_name -> google.protobuf.Timestamp
2185	4,  // 14: google.cloud.dialogflow.cx.v3beta1.VariantsHistory.version_variants:type_name -> google.cloud.dialogflow.cx.v3beta1.VersionVariants
2186	23, // 15: google.cloud.dialogflow.cx.v3beta1.VariantsHistory.update_time:type_name -> google.protobuf.Timestamp
2187	3,  // 16: google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse.experiments:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment
2188	3,  // 17: google.cloud.dialogflow.cx.v3beta1.CreateExperimentRequest.experiment:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment
2189	3,  // 18: google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest.experiment:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment
2190	25, // 19: google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest.update_mask:type_name -> google.protobuf.FieldMask
2191	4,  // 20: google.cloud.dialogflow.cx.v3beta1.Experiment.Definition.version_variants:type_name -> google.cloud.dialogflow.cx.v3beta1.VersionVariants
2192	20, // 21: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.version_metrics:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment.Result.VersionMetrics
2193	23, // 22: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.last_update_time:type_name -> google.protobuf.Timestamp
2194	1,  // 23: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric.type:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment.Result.MetricType
2195	2,  // 24: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric.count_type:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment.Result.CountType
2196	18, // 25: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric.confidence_interval:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment.Result.ConfidenceInterval
2197	19, // 26: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.VersionMetrics.metrics:type_name -> google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric
2198	24, // 27: google.cloud.dialogflow.cx.v3beta1.RolloutConfig.RolloutStep.min_duration:type_name -> google.protobuf.Duration
2199	8,  // 28: google.cloud.dialogflow.cx.v3beta1.Experiments.ListExperiments:input_type -> google.cloud.dialogflow.cx.v3beta1.ListExperimentsRequest
2200	10, // 29: google.cloud.dialogflow.cx.v3beta1.Experiments.GetExperiment:input_type -> google.cloud.dialogflow.cx.v3beta1.GetExperimentRequest
2201	11, // 30: google.cloud.dialogflow.cx.v3beta1.Experiments.CreateExperiment:input_type -> google.cloud.dialogflow.cx.v3beta1.CreateExperimentRequest
2202	12, // 31: google.cloud.dialogflow.cx.v3beta1.Experiments.UpdateExperiment:input_type -> google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest
2203	13, // 32: google.cloud.dialogflow.cx.v3beta1.Experiments.DeleteExperiment:input_type -> google.cloud.dialogflow.cx.v3beta1.DeleteExperimentRequest
2204	14, // 33: google.cloud.dialogflow.cx.v3beta1.Experiments.StartExperiment:input_type -> google.cloud.dialogflow.cx.v3beta1.StartExperimentRequest
2205	15, // 34: google.cloud.dialogflow.cx.v3beta1.Experiments.StopExperiment:input_type -> google.cloud.dialogflow.cx.v3beta1.StopExperimentRequest
2206	9,  // 35: google.cloud.dialogflow.cx.v3beta1.Experiments.ListExperiments:output_type -> google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse
2207	3,  // 36: google.cloud.dialogflow.cx.v3beta1.Experiments.GetExperiment:output_type -> google.cloud.dialogflow.cx.v3beta1.Experiment
2208	3,  // 37: google.cloud.dialogflow.cx.v3beta1.Experiments.CreateExperiment:output_type -> google.cloud.dialogflow.cx.v3beta1.Experiment
2209	3,  // 38: google.cloud.dialogflow.cx.v3beta1.Experiments.UpdateExperiment:output_type -> google.cloud.dialogflow.cx.v3beta1.Experiment
2210	26, // 39: google.cloud.dialogflow.cx.v3beta1.Experiments.DeleteExperiment:output_type -> google.protobuf.Empty
2211	3,  // 40: google.cloud.dialogflow.cx.v3beta1.Experiments.StartExperiment:output_type -> google.cloud.dialogflow.cx.v3beta1.Experiment
2212	3,  // 41: google.cloud.dialogflow.cx.v3beta1.Experiments.StopExperiment:output_type -> google.cloud.dialogflow.cx.v3beta1.Experiment
2213	35, // [35:42] is the sub-list for method output_type
2214	28, // [28:35] is the sub-list for method input_type
2215	28, // [28:28] is the sub-list for extension type_name
2216	28, // [28:28] is the sub-list for extension extendee
2217	0,  // [0:28] is the sub-list for field type_name
2218}
2219
2220func init() { file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_init() }
2221func file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_init() {
2222	if File_google_cloud_dialogflow_cx_v3beta1_experiment_proto != nil {
2223		return
2224	}
2225	if !protoimpl.UnsafeEnabled {
2226		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2227			switch v := v.(*Experiment); i {
2228			case 0:
2229				return &v.state
2230			case 1:
2231				return &v.sizeCache
2232			case 2:
2233				return &v.unknownFields
2234			default:
2235				return nil
2236			}
2237		}
2238		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2239			switch v := v.(*VersionVariants); i {
2240			case 0:
2241				return &v.state
2242			case 1:
2243				return &v.sizeCache
2244			case 2:
2245				return &v.unknownFields
2246			default:
2247				return nil
2248			}
2249		}
2250		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2251			switch v := v.(*RolloutConfig); i {
2252			case 0:
2253				return &v.state
2254			case 1:
2255				return &v.sizeCache
2256			case 2:
2257				return &v.unknownFields
2258			default:
2259				return nil
2260			}
2261		}
2262		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2263			switch v := v.(*RolloutState); i {
2264			case 0:
2265				return &v.state
2266			case 1:
2267				return &v.sizeCache
2268			case 2:
2269				return &v.unknownFields
2270			default:
2271				return nil
2272			}
2273		}
2274		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2275			switch v := v.(*VariantsHistory); i {
2276			case 0:
2277				return &v.state
2278			case 1:
2279				return &v.sizeCache
2280			case 2:
2281				return &v.unknownFields
2282			default:
2283				return nil
2284			}
2285		}
2286		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2287			switch v := v.(*ListExperimentsRequest); i {
2288			case 0:
2289				return &v.state
2290			case 1:
2291				return &v.sizeCache
2292			case 2:
2293				return &v.unknownFields
2294			default:
2295				return nil
2296			}
2297		}
2298		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2299			switch v := v.(*ListExperimentsResponse); i {
2300			case 0:
2301				return &v.state
2302			case 1:
2303				return &v.sizeCache
2304			case 2:
2305				return &v.unknownFields
2306			default:
2307				return nil
2308			}
2309		}
2310		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2311			switch v := v.(*GetExperimentRequest); i {
2312			case 0:
2313				return &v.state
2314			case 1:
2315				return &v.sizeCache
2316			case 2:
2317				return &v.unknownFields
2318			default:
2319				return nil
2320			}
2321		}
2322		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2323			switch v := v.(*CreateExperimentRequest); i {
2324			case 0:
2325				return &v.state
2326			case 1:
2327				return &v.sizeCache
2328			case 2:
2329				return &v.unknownFields
2330			default:
2331				return nil
2332			}
2333		}
2334		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2335			switch v := v.(*UpdateExperimentRequest); i {
2336			case 0:
2337				return &v.state
2338			case 1:
2339				return &v.sizeCache
2340			case 2:
2341				return &v.unknownFields
2342			default:
2343				return nil
2344			}
2345		}
2346		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2347			switch v := v.(*DeleteExperimentRequest); i {
2348			case 0:
2349				return &v.state
2350			case 1:
2351				return &v.sizeCache
2352			case 2:
2353				return &v.unknownFields
2354			default:
2355				return nil
2356			}
2357		}
2358		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2359			switch v := v.(*StartExperimentRequest); i {
2360			case 0:
2361				return &v.state
2362			case 1:
2363				return &v.sizeCache
2364			case 2:
2365				return &v.unknownFields
2366			default:
2367				return nil
2368			}
2369		}
2370		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2371			switch v := v.(*StopExperimentRequest); i {
2372			case 0:
2373				return &v.state
2374			case 1:
2375				return &v.sizeCache
2376			case 2:
2377				return &v.unknownFields
2378			default:
2379				return nil
2380			}
2381		}
2382		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2383			switch v := v.(*Experiment_Definition); i {
2384			case 0:
2385				return &v.state
2386			case 1:
2387				return &v.sizeCache
2388			case 2:
2389				return &v.unknownFields
2390			default:
2391				return nil
2392			}
2393		}
2394		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2395			switch v := v.(*Experiment_Result); i {
2396			case 0:
2397				return &v.state
2398			case 1:
2399				return &v.sizeCache
2400			case 2:
2401				return &v.unknownFields
2402			default:
2403				return nil
2404			}
2405		}
2406		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2407			switch v := v.(*Experiment_Result_ConfidenceInterval); i {
2408			case 0:
2409				return &v.state
2410			case 1:
2411				return &v.sizeCache
2412			case 2:
2413				return &v.unknownFields
2414			default:
2415				return nil
2416			}
2417		}
2418		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2419			switch v := v.(*Experiment_Result_Metric); i {
2420			case 0:
2421				return &v.state
2422			case 1:
2423				return &v.sizeCache
2424			case 2:
2425				return &v.unknownFields
2426			default:
2427				return nil
2428			}
2429		}
2430		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2431			switch v := v.(*Experiment_Result_VersionMetrics); i {
2432			case 0:
2433				return &v.state
2434			case 1:
2435				return &v.sizeCache
2436			case 2:
2437				return &v.unknownFields
2438			default:
2439				return nil
2440			}
2441		}
2442		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
2443			switch v := v.(*VersionVariants_Variant); i {
2444			case 0:
2445				return &v.state
2446			case 1:
2447				return &v.sizeCache
2448			case 2:
2449				return &v.unknownFields
2450			default:
2451				return nil
2452			}
2453		}
2454		file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2455			switch v := v.(*RolloutConfig_RolloutStep); i {
2456			case 0:
2457				return &v.state
2458			case 1:
2459				return &v.sizeCache
2460			case 2:
2461				return &v.unknownFields
2462			default:
2463				return nil
2464			}
2465		}
2466	}
2467	file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[4].OneofWrappers = []interface{}{
2468		(*VariantsHistory_VersionVariants)(nil),
2469	}
2470	file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[13].OneofWrappers = []interface{}{
2471		(*Experiment_Definition_VersionVariants)(nil),
2472	}
2473	file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes[16].OneofWrappers = []interface{}{
2474		(*Experiment_Result_Metric_Ratio)(nil),
2475		(*Experiment_Result_Metric_Count)(nil),
2476	}
2477	type x struct{}
2478	out := protoimpl.TypeBuilder{
2479		File: protoimpl.DescBuilder{
2480			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2481			RawDescriptor: file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDesc,
2482			NumEnums:      3,
2483			NumMessages:   20,
2484			NumExtensions: 0,
2485			NumServices:   1,
2486		},
2487		GoTypes:           file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_goTypes,
2488		DependencyIndexes: file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_depIdxs,
2489		EnumInfos:         file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_enumTypes,
2490		MessageInfos:      file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_msgTypes,
2491	}.Build()
2492	File_google_cloud_dialogflow_cx_v3beta1_experiment_proto = out.File
2493	file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_rawDesc = nil
2494	file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_goTypes = nil
2495	file_google_cloud_dialogflow_cx_v3beta1_experiment_proto_depIdxs = nil
2496}
2497
2498// Reference imports to suppress errors if they are not otherwise used.
2499var _ context.Context
2500var _ grpc.ClientConnInterface
2501
2502// This is a compile-time assertion to ensure that this generated file
2503// is compatible with the grpc package it is being compiled against.
2504const _ = grpc.SupportPackageIsVersion6
2505
2506// ExperimentsClient is the client API for Experiments service.
2507//
2508// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2509type ExperimentsClient interface {
2510	// Returns the list of all experiments in the specified [Environment][google.cloud.dialogflow.cx.v3beta1.Environment].
2511	ListExperiments(ctx context.Context, in *ListExperimentsRequest, opts ...grpc.CallOption) (*ListExperimentsResponse, error)
2512	// Retrieves the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment].
2513	GetExperiment(ctx context.Context, in *GetExperimentRequest, opts ...grpc.CallOption) (*Experiment, error)
2514	// Creates an [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment] in the specified [Environment][google.cloud.dialogflow.cx.v3beta1.Environment].
2515	CreateExperiment(ctx context.Context, in *CreateExperimentRequest, opts ...grpc.CallOption) (*Experiment, error)
2516	// Updates the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment].
2517	UpdateExperiment(ctx context.Context, in *UpdateExperimentRequest, opts ...grpc.CallOption) (*Experiment, error)
2518	// Deletes the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment].
2519	DeleteExperiment(ctx context.Context, in *DeleteExperimentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
2520	// Starts the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment]. This rpc only changes the state of
2521	// experiment from PENDING to RUNNING.
2522	StartExperiment(ctx context.Context, in *StartExperimentRequest, opts ...grpc.CallOption) (*Experiment, error)
2523	// Stops the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment]. This rpc only changes the state of
2524	// experiment from RUNNING to DONE.
2525	StopExperiment(ctx context.Context, in *StopExperimentRequest, opts ...grpc.CallOption) (*Experiment, error)
2526}
2527
2528type experimentsClient struct {
2529	cc grpc.ClientConnInterface
2530}
2531
2532func NewExperimentsClient(cc grpc.ClientConnInterface) ExperimentsClient {
2533	return &experimentsClient{cc}
2534}
2535
2536func (c *experimentsClient) ListExperiments(ctx context.Context, in *ListExperimentsRequest, opts ...grpc.CallOption) (*ListExperimentsResponse, error) {
2537	out := new(ListExperimentsResponse)
2538	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Experiments/ListExperiments", in, out, opts...)
2539	if err != nil {
2540		return nil, err
2541	}
2542	return out, nil
2543}
2544
2545func (c *experimentsClient) GetExperiment(ctx context.Context, in *GetExperimentRequest, opts ...grpc.CallOption) (*Experiment, error) {
2546	out := new(Experiment)
2547	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Experiments/GetExperiment", in, out, opts...)
2548	if err != nil {
2549		return nil, err
2550	}
2551	return out, nil
2552}
2553
2554func (c *experimentsClient) CreateExperiment(ctx context.Context, in *CreateExperimentRequest, opts ...grpc.CallOption) (*Experiment, error) {
2555	out := new(Experiment)
2556	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Experiments/CreateExperiment", in, out, opts...)
2557	if err != nil {
2558		return nil, err
2559	}
2560	return out, nil
2561}
2562
2563func (c *experimentsClient) UpdateExperiment(ctx context.Context, in *UpdateExperimentRequest, opts ...grpc.CallOption) (*Experiment, error) {
2564	out := new(Experiment)
2565	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Experiments/UpdateExperiment", in, out, opts...)
2566	if err != nil {
2567		return nil, err
2568	}
2569	return out, nil
2570}
2571
2572func (c *experimentsClient) DeleteExperiment(ctx context.Context, in *DeleteExperimentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
2573	out := new(emptypb.Empty)
2574	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Experiments/DeleteExperiment", in, out, opts...)
2575	if err != nil {
2576		return nil, err
2577	}
2578	return out, nil
2579}
2580
2581func (c *experimentsClient) StartExperiment(ctx context.Context, in *StartExperimentRequest, opts ...grpc.CallOption) (*Experiment, error) {
2582	out := new(Experiment)
2583	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Experiments/StartExperiment", in, out, opts...)
2584	if err != nil {
2585		return nil, err
2586	}
2587	return out, nil
2588}
2589
2590func (c *experimentsClient) StopExperiment(ctx context.Context, in *StopExperimentRequest, opts ...grpc.CallOption) (*Experiment, error) {
2591	out := new(Experiment)
2592	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Experiments/StopExperiment", in, out, opts...)
2593	if err != nil {
2594		return nil, err
2595	}
2596	return out, nil
2597}
2598
2599// ExperimentsServer is the server API for Experiments service.
2600type ExperimentsServer interface {
2601	// Returns the list of all experiments in the specified [Environment][google.cloud.dialogflow.cx.v3beta1.Environment].
2602	ListExperiments(context.Context, *ListExperimentsRequest) (*ListExperimentsResponse, error)
2603	// Retrieves the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment].
2604	GetExperiment(context.Context, *GetExperimentRequest) (*Experiment, error)
2605	// Creates an [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment] in the specified [Environment][google.cloud.dialogflow.cx.v3beta1.Environment].
2606	CreateExperiment(context.Context, *CreateExperimentRequest) (*Experiment, error)
2607	// Updates the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment].
2608	UpdateExperiment(context.Context, *UpdateExperimentRequest) (*Experiment, error)
2609	// Deletes the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment].
2610	DeleteExperiment(context.Context, *DeleteExperimentRequest) (*emptypb.Empty, error)
2611	// Starts the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment]. This rpc only changes the state of
2612	// experiment from PENDING to RUNNING.
2613	StartExperiment(context.Context, *StartExperimentRequest) (*Experiment, error)
2614	// Stops the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment]. This rpc only changes the state of
2615	// experiment from RUNNING to DONE.
2616	StopExperiment(context.Context, *StopExperimentRequest) (*Experiment, error)
2617}
2618
2619// UnimplementedExperimentsServer can be embedded to have forward compatible implementations.
2620type UnimplementedExperimentsServer struct {
2621}
2622
2623func (*UnimplementedExperimentsServer) ListExperiments(context.Context, *ListExperimentsRequest) (*ListExperimentsResponse, error) {
2624	return nil, status.Errorf(codes.Unimplemented, "method ListExperiments not implemented")
2625}
2626func (*UnimplementedExperimentsServer) GetExperiment(context.Context, *GetExperimentRequest) (*Experiment, error) {
2627	return nil, status.Errorf(codes.Unimplemented, "method GetExperiment not implemented")
2628}
2629func (*UnimplementedExperimentsServer) CreateExperiment(context.Context, *CreateExperimentRequest) (*Experiment, error) {
2630	return nil, status.Errorf(codes.Unimplemented, "method CreateExperiment not implemented")
2631}
2632func (*UnimplementedExperimentsServer) UpdateExperiment(context.Context, *UpdateExperimentRequest) (*Experiment, error) {
2633	return nil, status.Errorf(codes.Unimplemented, "method UpdateExperiment not implemented")
2634}
2635func (*UnimplementedExperimentsServer) DeleteExperiment(context.Context, *DeleteExperimentRequest) (*emptypb.Empty, error) {
2636	return nil, status.Errorf(codes.Unimplemented, "method DeleteExperiment not implemented")
2637}
2638func (*UnimplementedExperimentsServer) StartExperiment(context.Context, *StartExperimentRequest) (*Experiment, error) {
2639	return nil, status.Errorf(codes.Unimplemented, "method StartExperiment not implemented")
2640}
2641func (*UnimplementedExperimentsServer) StopExperiment(context.Context, *StopExperimentRequest) (*Experiment, error) {
2642	return nil, status.Errorf(codes.Unimplemented, "method StopExperiment not implemented")
2643}
2644
2645func RegisterExperimentsServer(s *grpc.Server, srv ExperimentsServer) {
2646	s.RegisterService(&_Experiments_serviceDesc, srv)
2647}
2648
2649func _Experiments_ListExperiments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2650	in := new(ListExperimentsRequest)
2651	if err := dec(in); err != nil {
2652		return nil, err
2653	}
2654	if interceptor == nil {
2655		return srv.(ExperimentsServer).ListExperiments(ctx, in)
2656	}
2657	info := &grpc.UnaryServerInfo{
2658		Server:     srv,
2659		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Experiments/ListExperiments",
2660	}
2661	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2662		return srv.(ExperimentsServer).ListExperiments(ctx, req.(*ListExperimentsRequest))
2663	}
2664	return interceptor(ctx, in, info, handler)
2665}
2666
2667func _Experiments_GetExperiment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2668	in := new(GetExperimentRequest)
2669	if err := dec(in); err != nil {
2670		return nil, err
2671	}
2672	if interceptor == nil {
2673		return srv.(ExperimentsServer).GetExperiment(ctx, in)
2674	}
2675	info := &grpc.UnaryServerInfo{
2676		Server:     srv,
2677		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Experiments/GetExperiment",
2678	}
2679	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2680		return srv.(ExperimentsServer).GetExperiment(ctx, req.(*GetExperimentRequest))
2681	}
2682	return interceptor(ctx, in, info, handler)
2683}
2684
2685func _Experiments_CreateExperiment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2686	in := new(CreateExperimentRequest)
2687	if err := dec(in); err != nil {
2688		return nil, err
2689	}
2690	if interceptor == nil {
2691		return srv.(ExperimentsServer).CreateExperiment(ctx, in)
2692	}
2693	info := &grpc.UnaryServerInfo{
2694		Server:     srv,
2695		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Experiments/CreateExperiment",
2696	}
2697	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2698		return srv.(ExperimentsServer).CreateExperiment(ctx, req.(*CreateExperimentRequest))
2699	}
2700	return interceptor(ctx, in, info, handler)
2701}
2702
2703func _Experiments_UpdateExperiment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2704	in := new(UpdateExperimentRequest)
2705	if err := dec(in); err != nil {
2706		return nil, err
2707	}
2708	if interceptor == nil {
2709		return srv.(ExperimentsServer).UpdateExperiment(ctx, in)
2710	}
2711	info := &grpc.UnaryServerInfo{
2712		Server:     srv,
2713		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Experiments/UpdateExperiment",
2714	}
2715	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2716		return srv.(ExperimentsServer).UpdateExperiment(ctx, req.(*UpdateExperimentRequest))
2717	}
2718	return interceptor(ctx, in, info, handler)
2719}
2720
2721func _Experiments_DeleteExperiment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2722	in := new(DeleteExperimentRequest)
2723	if err := dec(in); err != nil {
2724		return nil, err
2725	}
2726	if interceptor == nil {
2727		return srv.(ExperimentsServer).DeleteExperiment(ctx, in)
2728	}
2729	info := &grpc.UnaryServerInfo{
2730		Server:     srv,
2731		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Experiments/DeleteExperiment",
2732	}
2733	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2734		return srv.(ExperimentsServer).DeleteExperiment(ctx, req.(*DeleteExperimentRequest))
2735	}
2736	return interceptor(ctx, in, info, handler)
2737}
2738
2739func _Experiments_StartExperiment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2740	in := new(StartExperimentRequest)
2741	if err := dec(in); err != nil {
2742		return nil, err
2743	}
2744	if interceptor == nil {
2745		return srv.(ExperimentsServer).StartExperiment(ctx, in)
2746	}
2747	info := &grpc.UnaryServerInfo{
2748		Server:     srv,
2749		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Experiments/StartExperiment",
2750	}
2751	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2752		return srv.(ExperimentsServer).StartExperiment(ctx, req.(*StartExperimentRequest))
2753	}
2754	return interceptor(ctx, in, info, handler)
2755}
2756
2757func _Experiments_StopExperiment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2758	in := new(StopExperimentRequest)
2759	if err := dec(in); err != nil {
2760		return nil, err
2761	}
2762	if interceptor == nil {
2763		return srv.(ExperimentsServer).StopExperiment(ctx, in)
2764	}
2765	info := &grpc.UnaryServerInfo{
2766		Server:     srv,
2767		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Experiments/StopExperiment",
2768	}
2769	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2770		return srv.(ExperimentsServer).StopExperiment(ctx, req.(*StopExperimentRequest))
2771	}
2772	return interceptor(ctx, in, info, handler)
2773}
2774
2775var _Experiments_serviceDesc = grpc.ServiceDesc{
2776	ServiceName: "google.cloud.dialogflow.cx.v3beta1.Experiments",
2777	HandlerType: (*ExperimentsServer)(nil),
2778	Methods: []grpc.MethodDesc{
2779		{
2780			MethodName: "ListExperiments",
2781			Handler:    _Experiments_ListExperiments_Handler,
2782		},
2783		{
2784			MethodName: "GetExperiment",
2785			Handler:    _Experiments_GetExperiment_Handler,
2786		},
2787		{
2788			MethodName: "CreateExperiment",
2789			Handler:    _Experiments_CreateExperiment_Handler,
2790		},
2791		{
2792			MethodName: "UpdateExperiment",
2793			Handler:    _Experiments_UpdateExperiment_Handler,
2794		},
2795		{
2796			MethodName: "DeleteExperiment",
2797			Handler:    _Experiments_DeleteExperiment_Handler,
2798		},
2799		{
2800			MethodName: "StartExperiment",
2801			Handler:    _Experiments_StartExperiment_Handler,
2802		},
2803		{
2804			MethodName: "StopExperiment",
2805			Handler:    _Experiments_StopExperiment_Handler,
2806		},
2807	},
2808	Streams:  []grpc.StreamDesc{},
2809	Metadata: "google/cloud/dialogflow/cx/v3beta1/experiment.proto",
2810}
2811