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.25.0-devel
18// 	protoc        v3.13.0
19// source: google/cloud/dialogflow/cx/v3beta1/test_case.proto
20
21package cx
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	longrunning "google.golang.org/genproto/googleapis/longrunning"
31	status "google.golang.org/genproto/googleapis/rpc/status"
32	grpc "google.golang.org/grpc"
33	codes "google.golang.org/grpc/codes"
34	status1 "google.golang.org/grpc/status"
35	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
36	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
37	emptypb "google.golang.org/protobuf/types/known/emptypb"
38	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
39	structpb "google.golang.org/protobuf/types/known/structpb"
40	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
41)
42
43const (
44	// Verify that this generated code is sufficiently up-to-date.
45	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
46	// Verify that runtime/protoimpl is sufficiently up-to-date.
47	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
48)
49
50// This is a compile-time assertion that a sufficiently up-to-date version
51// of the legacy proto package is being used.
52const _ = proto.ProtoPackageIsVersion4
53
54// The test result for a test case and an agent environment.
55type TestResult int32
56
57const (
58	// Not specified. Should never be used.
59	TestResult_TEST_RESULT_UNSPECIFIED TestResult = 0
60	// The test passed.
61	TestResult_PASSED TestResult = 1
62	// The test did not pass.
63	TestResult_FAILED TestResult = 2
64)
65
66// Enum value maps for TestResult.
67var (
68	TestResult_name = map[int32]string{
69		0: "TEST_RESULT_UNSPECIFIED",
70		1: "PASSED",
71		2: "FAILED",
72	}
73	TestResult_value = map[string]int32{
74		"TEST_RESULT_UNSPECIFIED": 0,
75		"PASSED":                  1,
76		"FAILED":                  2,
77	}
78)
79
80func (x TestResult) Enum() *TestResult {
81	p := new(TestResult)
82	*p = x
83	return p
84}
85
86func (x TestResult) String() string {
87	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
88}
89
90func (TestResult) Descriptor() protoreflect.EnumDescriptor {
91	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[0].Descriptor()
92}
93
94func (TestResult) Type() protoreflect.EnumType {
95	return &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[0]
96}
97
98func (x TestResult) Number() protoreflect.EnumNumber {
99	return protoreflect.EnumNumber(x)
100}
101
102// Deprecated: Use TestResult.Descriptor instead.
103func (TestResult) EnumDescriptor() ([]byte, []int) {
104	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{0}
105}
106
107// What part of the message replay differs from the test case.
108type TestRunDifference_DiffType int32
109
110const (
111	// Should never be used.
112	TestRunDifference_DIFF_TYPE_UNSPECIFIED TestRunDifference_DiffType = 0
113	// The intent.
114	TestRunDifference_INTENT TestRunDifference_DiffType = 1
115	// The page.
116	TestRunDifference_PAGE TestRunDifference_DiffType = 2
117	// The parameters.
118	TestRunDifference_PARAMETERS TestRunDifference_DiffType = 3
119	// The message utterance.
120	TestRunDifference_UTTERANCE TestRunDifference_DiffType = 4
121)
122
123// Enum value maps for TestRunDifference_DiffType.
124var (
125	TestRunDifference_DiffType_name = map[int32]string{
126		0: "DIFF_TYPE_UNSPECIFIED",
127		1: "INTENT",
128		2: "PAGE",
129		3: "PARAMETERS",
130		4: "UTTERANCE",
131	}
132	TestRunDifference_DiffType_value = map[string]int32{
133		"DIFF_TYPE_UNSPECIFIED": 0,
134		"INTENT":                1,
135		"PAGE":                  2,
136		"PARAMETERS":            3,
137		"UTTERANCE":             4,
138	}
139)
140
141func (x TestRunDifference_DiffType) Enum() *TestRunDifference_DiffType {
142	p := new(TestRunDifference_DiffType)
143	*p = x
144	return p
145}
146
147func (x TestRunDifference_DiffType) String() string {
148	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
149}
150
151func (TestRunDifference_DiffType) Descriptor() protoreflect.EnumDescriptor {
152	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[1].Descriptor()
153}
154
155func (TestRunDifference_DiffType) Type() protoreflect.EnumType {
156	return &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[1]
157}
158
159func (x TestRunDifference_DiffType) Number() protoreflect.EnumNumber {
160	return protoreflect.EnumNumber(x)
161}
162
163// Deprecated: Use TestRunDifference_DiffType.Descriptor instead.
164func (TestRunDifference_DiffType) EnumDescriptor() ([]byte, []int) {
165	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{4, 0}
166}
167
168// The type of coverage score requested.
169type CalculateCoverageRequest_CoverageType int32
170
171const (
172	// Should never be used.
173	CalculateCoverageRequest_COVERAGE_TYPE_UNSPECIFIED CalculateCoverageRequest_CoverageType = 0
174	// Intent coverage.
175	CalculateCoverageRequest_INTENT CalculateCoverageRequest_CoverageType = 1
176	// Page transition coverage.
177	CalculateCoverageRequest_PAGE_TRANSITION CalculateCoverageRequest_CoverageType = 2
178	// Transition route group coverage.
179	CalculateCoverageRequest_TRANSITION_ROUTE_GROUP CalculateCoverageRequest_CoverageType = 3
180)
181
182// Enum value maps for CalculateCoverageRequest_CoverageType.
183var (
184	CalculateCoverageRequest_CoverageType_name = map[int32]string{
185		0: "COVERAGE_TYPE_UNSPECIFIED",
186		1: "INTENT",
187		2: "PAGE_TRANSITION",
188		3: "TRANSITION_ROUTE_GROUP",
189	}
190	CalculateCoverageRequest_CoverageType_value = map[string]int32{
191		"COVERAGE_TYPE_UNSPECIFIED": 0,
192		"INTENT":                    1,
193		"PAGE_TRANSITION":           2,
194		"TRANSITION_ROUTE_GROUP":    3,
195	}
196)
197
198func (x CalculateCoverageRequest_CoverageType) Enum() *CalculateCoverageRequest_CoverageType {
199	p := new(CalculateCoverageRequest_CoverageType)
200	*p = x
201	return p
202}
203
204func (x CalculateCoverageRequest_CoverageType) String() string {
205	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
206}
207
208func (CalculateCoverageRequest_CoverageType) Descriptor() protoreflect.EnumDescriptor {
209	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[2].Descriptor()
210}
211
212func (CalculateCoverageRequest_CoverageType) Type() protoreflect.EnumType {
213	return &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[2]
214}
215
216func (x CalculateCoverageRequest_CoverageType) Number() protoreflect.EnumNumber {
217	return protoreflect.EnumNumber(x)
218}
219
220// Deprecated: Use CalculateCoverageRequest_CoverageType.Descriptor instead.
221func (CalculateCoverageRequest_CoverageType) EnumDescriptor() ([]byte, []int) {
222	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{8, 0}
223}
224
225// Specifies how much test case information to include in the response.
226type ListTestCasesRequest_TestCaseView int32
227
228const (
229	// The default / unset value.
230	// The API will default to the BASIC view.
231	ListTestCasesRequest_TEST_CASE_VIEW_UNSPECIFIED ListTestCasesRequest_TestCaseView = 0
232	// Include basic metadata about the test case, but not the conversation
233	// turns. This is the default value.
234	ListTestCasesRequest_BASIC ListTestCasesRequest_TestCaseView = 1
235	// Include everything.
236	ListTestCasesRequest_FULL ListTestCasesRequest_TestCaseView = 2
237)
238
239// Enum value maps for ListTestCasesRequest_TestCaseView.
240var (
241	ListTestCasesRequest_TestCaseView_name = map[int32]string{
242		0: "TEST_CASE_VIEW_UNSPECIFIED",
243		1: "BASIC",
244		2: "FULL",
245	}
246	ListTestCasesRequest_TestCaseView_value = map[string]int32{
247		"TEST_CASE_VIEW_UNSPECIFIED": 0,
248		"BASIC":                      1,
249		"FULL":                       2,
250	}
251)
252
253func (x ListTestCasesRequest_TestCaseView) Enum() *ListTestCasesRequest_TestCaseView {
254	p := new(ListTestCasesRequest_TestCaseView)
255	*p = x
256	return p
257}
258
259func (x ListTestCasesRequest_TestCaseView) String() string {
260	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
261}
262
263func (ListTestCasesRequest_TestCaseView) Descriptor() protoreflect.EnumDescriptor {
264	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[3].Descriptor()
265}
266
267func (ListTestCasesRequest_TestCaseView) Type() protoreflect.EnumType {
268	return &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[3]
269}
270
271func (x ListTestCasesRequest_TestCaseView) Number() protoreflect.EnumNumber {
272	return protoreflect.EnumNumber(x)
273}
274
275// Deprecated: Use ListTestCasesRequest_TestCaseView.Descriptor instead.
276func (ListTestCasesRequest_TestCaseView) EnumDescriptor() ([]byte, []int) {
277	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{10, 0}
278}
279
280// Data format of the exported test cases.
281type ExportTestCasesRequest_DataFormat int32
282
283const (
284	// Unspecified format.
285	ExportTestCasesRequest_DATA_FORMAT_UNSPECIFIED ExportTestCasesRequest_DataFormat = 0
286	// Raw bytes.
287	ExportTestCasesRequest_BLOB ExportTestCasesRequest_DataFormat = 1
288	// JSON format.
289	ExportTestCasesRequest_JSON ExportTestCasesRequest_DataFormat = 2
290)
291
292// Enum value maps for ExportTestCasesRequest_DataFormat.
293var (
294	ExportTestCasesRequest_DataFormat_name = map[int32]string{
295		0: "DATA_FORMAT_UNSPECIFIED",
296		1: "BLOB",
297		2: "JSON",
298	}
299	ExportTestCasesRequest_DataFormat_value = map[string]int32{
300		"DATA_FORMAT_UNSPECIFIED": 0,
301		"BLOB":                    1,
302		"JSON":                    2,
303	}
304)
305
306func (x ExportTestCasesRequest_DataFormat) Enum() *ExportTestCasesRequest_DataFormat {
307	p := new(ExportTestCasesRequest_DataFormat)
308	*p = x
309	return p
310}
311
312func (x ExportTestCasesRequest_DataFormat) String() string {
313	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
314}
315
316func (ExportTestCasesRequest_DataFormat) Descriptor() protoreflect.EnumDescriptor {
317	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[4].Descriptor()
318}
319
320func (ExportTestCasesRequest_DataFormat) Type() protoreflect.EnumType {
321	return &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes[4]
322}
323
324func (x ExportTestCasesRequest_DataFormat) Number() protoreflect.EnumNumber {
325	return protoreflect.EnumNumber(x)
326}
327
328// Deprecated: Use ExportTestCasesRequest_DataFormat.Descriptor instead.
329func (ExportTestCasesRequest_DataFormat) EnumDescriptor() ([]byte, []int) {
330	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{27, 0}
331}
332
333// Represents a test case.
334type TestCase struct {
335	state         protoimpl.MessageState
336	sizeCache     protoimpl.SizeCache
337	unknownFields protoimpl.UnknownFields
338
339	// The unique identifier of the test case.
340	// [TestCases.CreateTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase] will populate the name automatically.
341	// Otherwise use format: `projects/<Project ID>/locations/<LocationID>/agents/
342	// <AgentID>/testCases/<TestCase ID>`.
343	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
344	// Tags are short descriptions that users may apply to test cases for
345	// organizational and filtering purposes. Each tag should start with "#" and
346	// has a limit of 30 characters.
347	Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
348	// Required. The human-readable name of the test case, unique within the agent. Limit of
349	// 200 characters.
350	DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
351	// Additional freeform notes about the test case. Limit of 400 characters.
352	Notes string `protobuf:"bytes,4,opt,name=notes,proto3" json:"notes,omitempty"`
353	// Config for the test case.
354	TestConfig *TestConfig `protobuf:"bytes,13,opt,name=test_config,json=testConfig,proto3" json:"test_config,omitempty"`
355	// The conversation turns uttered when the test case was created, in
356	// chronological order. These include the canonical set of agent utterances
357	// that should occur when the agent is working properly.
358	TestCaseConversationTurns []*ConversationTurn `protobuf:"bytes,5,rep,name=test_case_conversation_turns,json=testCaseConversationTurns,proto3" json:"test_case_conversation_turns,omitempty"`
359	// Output only. When the test was created.
360	CreationTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
361	// The latest test result.
362	LastTestResult *TestCaseResult `protobuf:"bytes,12,opt,name=last_test_result,json=lastTestResult,proto3" json:"last_test_result,omitempty"`
363}
364
365func (x *TestCase) Reset() {
366	*x = TestCase{}
367	if protoimpl.UnsafeEnabled {
368		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[0]
369		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
370		ms.StoreMessageInfo(mi)
371	}
372}
373
374func (x *TestCase) String() string {
375	return protoimpl.X.MessageStringOf(x)
376}
377
378func (*TestCase) ProtoMessage() {}
379
380func (x *TestCase) ProtoReflect() protoreflect.Message {
381	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[0]
382	if protoimpl.UnsafeEnabled && x != nil {
383		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
384		if ms.LoadMessageInfo() == nil {
385			ms.StoreMessageInfo(mi)
386		}
387		return ms
388	}
389	return mi.MessageOf(x)
390}
391
392// Deprecated: Use TestCase.ProtoReflect.Descriptor instead.
393func (*TestCase) Descriptor() ([]byte, []int) {
394	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{0}
395}
396
397func (x *TestCase) GetName() string {
398	if x != nil {
399		return x.Name
400	}
401	return ""
402}
403
404func (x *TestCase) GetTags() []string {
405	if x != nil {
406		return x.Tags
407	}
408	return nil
409}
410
411func (x *TestCase) GetDisplayName() string {
412	if x != nil {
413		return x.DisplayName
414	}
415	return ""
416}
417
418func (x *TestCase) GetNotes() string {
419	if x != nil {
420		return x.Notes
421	}
422	return ""
423}
424
425func (x *TestCase) GetTestConfig() *TestConfig {
426	if x != nil {
427		return x.TestConfig
428	}
429	return nil
430}
431
432func (x *TestCase) GetTestCaseConversationTurns() []*ConversationTurn {
433	if x != nil {
434		return x.TestCaseConversationTurns
435	}
436	return nil
437}
438
439func (x *TestCase) GetCreationTime() *timestamppb.Timestamp {
440	if x != nil {
441		return x.CreationTime
442	}
443	return nil
444}
445
446func (x *TestCase) GetLastTestResult() *TestCaseResult {
447	if x != nil {
448		return x.LastTestResult
449	}
450	return nil
451}
452
453// Represents a result from running a test case in an agent environment.
454type TestCaseResult struct {
455	state         protoimpl.MessageState
456	sizeCache     protoimpl.SizeCache
457	unknownFields protoimpl.UnknownFields
458
459	// The resource name for the test case result. Format:
460	// `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/testCases/
461	// <TestCase ID>/results/<TestCaseResult ID>`.
462	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
463	// Environment where the test was run. If not set, it indicates the draft
464	// environment.
465	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
466	// The conversation turns uttered during the test case replay in chronological
467	// order.
468	ConversationTurns []*ConversationTurn `protobuf:"bytes,3,rep,name=conversation_turns,json=conversationTurns,proto3" json:"conversation_turns,omitempty"`
469	// Whether the test case passed in the agent environment.
470	TestResult TestResult `protobuf:"varint,4,opt,name=test_result,json=testResult,proto3,enum=google.cloud.dialogflow.cx.v3beta1.TestResult" json:"test_result,omitempty"`
471	// The time that the test was run.
472	TestTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=test_time,json=testTime,proto3" json:"test_time,omitempty"`
473}
474
475func (x *TestCaseResult) Reset() {
476	*x = TestCaseResult{}
477	if protoimpl.UnsafeEnabled {
478		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[1]
479		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
480		ms.StoreMessageInfo(mi)
481	}
482}
483
484func (x *TestCaseResult) String() string {
485	return protoimpl.X.MessageStringOf(x)
486}
487
488func (*TestCaseResult) ProtoMessage() {}
489
490func (x *TestCaseResult) ProtoReflect() protoreflect.Message {
491	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[1]
492	if protoimpl.UnsafeEnabled && x != nil {
493		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
494		if ms.LoadMessageInfo() == nil {
495			ms.StoreMessageInfo(mi)
496		}
497		return ms
498	}
499	return mi.MessageOf(x)
500}
501
502// Deprecated: Use TestCaseResult.ProtoReflect.Descriptor instead.
503func (*TestCaseResult) Descriptor() ([]byte, []int) {
504	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{1}
505}
506
507func (x *TestCaseResult) GetName() string {
508	if x != nil {
509		return x.Name
510	}
511	return ""
512}
513
514func (x *TestCaseResult) GetEnvironment() string {
515	if x != nil {
516		return x.Environment
517	}
518	return ""
519}
520
521func (x *TestCaseResult) GetConversationTurns() []*ConversationTurn {
522	if x != nil {
523		return x.ConversationTurns
524	}
525	return nil
526}
527
528func (x *TestCaseResult) GetTestResult() TestResult {
529	if x != nil {
530		return x.TestResult
531	}
532	return TestResult_TEST_RESULT_UNSPECIFIED
533}
534
535func (x *TestCaseResult) GetTestTime() *timestamppb.Timestamp {
536	if x != nil {
537		return x.TestTime
538	}
539	return nil
540}
541
542// Represents configurations for a test case.
543type TestConfig struct {
544	state         protoimpl.MessageState
545	sizeCache     protoimpl.SizeCache
546	unknownFields protoimpl.UnknownFields
547
548	// Session parameters to be compared when calculating differences.
549	TrackingParameters []string `protobuf:"bytes,1,rep,name=tracking_parameters,json=trackingParameters,proto3" json:"tracking_parameters,omitempty"`
550	// Flow name. If not set, default start flow is assumed.
551	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
552	// ID>/flows/<Flow ID>`.
553	Flow string `protobuf:"bytes,2,opt,name=flow,proto3" json:"flow,omitempty"`
554}
555
556func (x *TestConfig) Reset() {
557	*x = TestConfig{}
558	if protoimpl.UnsafeEnabled {
559		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[2]
560		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
561		ms.StoreMessageInfo(mi)
562	}
563}
564
565func (x *TestConfig) String() string {
566	return protoimpl.X.MessageStringOf(x)
567}
568
569func (*TestConfig) ProtoMessage() {}
570
571func (x *TestConfig) ProtoReflect() protoreflect.Message {
572	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[2]
573	if protoimpl.UnsafeEnabled && x != nil {
574		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
575		if ms.LoadMessageInfo() == nil {
576			ms.StoreMessageInfo(mi)
577		}
578		return ms
579	}
580	return mi.MessageOf(x)
581}
582
583// Deprecated: Use TestConfig.ProtoReflect.Descriptor instead.
584func (*TestConfig) Descriptor() ([]byte, []int) {
585	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{2}
586}
587
588func (x *TestConfig) GetTrackingParameters() []string {
589	if x != nil {
590		return x.TrackingParameters
591	}
592	return nil
593}
594
595func (x *TestConfig) GetFlow() string {
596	if x != nil {
597		return x.Flow
598	}
599	return ""
600}
601
602// One interaction between a human and virtual agent. The human provides some
603// input and the virtual agent provides a response.
604type ConversationTurn struct {
605	state         protoimpl.MessageState
606	sizeCache     protoimpl.SizeCache
607	unknownFields protoimpl.UnknownFields
608
609	// The user input.
610	UserInput *ConversationTurn_UserInput `protobuf:"bytes,1,opt,name=user_input,json=userInput,proto3" json:"user_input,omitempty"`
611	// The virtual agent output.
612	VirtualAgentOutput *ConversationTurn_VirtualAgentOutput `protobuf:"bytes,2,opt,name=virtual_agent_output,json=virtualAgentOutput,proto3" json:"virtual_agent_output,omitempty"`
613}
614
615func (x *ConversationTurn) Reset() {
616	*x = ConversationTurn{}
617	if protoimpl.UnsafeEnabled {
618		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[3]
619		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
620		ms.StoreMessageInfo(mi)
621	}
622}
623
624func (x *ConversationTurn) String() string {
625	return protoimpl.X.MessageStringOf(x)
626}
627
628func (*ConversationTurn) ProtoMessage() {}
629
630func (x *ConversationTurn) ProtoReflect() protoreflect.Message {
631	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[3]
632	if protoimpl.UnsafeEnabled && x != nil {
633		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
634		if ms.LoadMessageInfo() == nil {
635			ms.StoreMessageInfo(mi)
636		}
637		return ms
638	}
639	return mi.MessageOf(x)
640}
641
642// Deprecated: Use ConversationTurn.ProtoReflect.Descriptor instead.
643func (*ConversationTurn) Descriptor() ([]byte, []int) {
644	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{3}
645}
646
647func (x *ConversationTurn) GetUserInput() *ConversationTurn_UserInput {
648	if x != nil {
649		return x.UserInput
650	}
651	return nil
652}
653
654func (x *ConversationTurn) GetVirtualAgentOutput() *ConversationTurn_VirtualAgentOutput {
655	if x != nil {
656		return x.VirtualAgentOutput
657	}
658	return nil
659}
660
661// The description of differences between original and replayed agent output.
662type TestRunDifference struct {
663	state         protoimpl.MessageState
664	sizeCache     protoimpl.SizeCache
665	unknownFields protoimpl.UnknownFields
666
667	// The type of diff.
668	Type TestRunDifference_DiffType `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.dialogflow.cx.v3beta1.TestRunDifference_DiffType" json:"type,omitempty"`
669	// A description of the diff, showing the actual output vs expected output.
670	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
671}
672
673func (x *TestRunDifference) Reset() {
674	*x = TestRunDifference{}
675	if protoimpl.UnsafeEnabled {
676		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[4]
677		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
678		ms.StoreMessageInfo(mi)
679	}
680}
681
682func (x *TestRunDifference) String() string {
683	return protoimpl.X.MessageStringOf(x)
684}
685
686func (*TestRunDifference) ProtoMessage() {}
687
688func (x *TestRunDifference) ProtoReflect() protoreflect.Message {
689	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[4]
690	if protoimpl.UnsafeEnabled && x != nil {
691		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
692		if ms.LoadMessageInfo() == nil {
693			ms.StoreMessageInfo(mi)
694		}
695		return ms
696	}
697	return mi.MessageOf(x)
698}
699
700// Deprecated: Use TestRunDifference.ProtoReflect.Descriptor instead.
701func (*TestRunDifference) Descriptor() ([]byte, []int) {
702	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{4}
703}
704
705func (x *TestRunDifference) GetType() TestRunDifference_DiffType {
706	if x != nil {
707		return x.Type
708	}
709	return TestRunDifference_DIFF_TYPE_UNSPECIFIED
710}
711
712func (x *TestRunDifference) GetDescription() string {
713	if x != nil {
714		return x.Description
715	}
716	return ""
717}
718
719// Transition coverage represents the percentage of all possible page
720// transitions (page-level transition routes and event handlers, excluding
721// transition route groups) present within any of a parent's test cases.
722type TransitionCoverage struct {
723	state         protoimpl.MessageState
724	sizeCache     protoimpl.SizeCache
725	unknownFields protoimpl.UnknownFields
726
727	// The list of Transitions present in the agent.
728	Transitions []*TransitionCoverage_Transition `protobuf:"bytes,1,rep,name=transitions,proto3" json:"transitions,omitempty"`
729	// The percent of transitions in the agent that are covered.
730	CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
731}
732
733func (x *TransitionCoverage) Reset() {
734	*x = TransitionCoverage{}
735	if protoimpl.UnsafeEnabled {
736		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[5]
737		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
738		ms.StoreMessageInfo(mi)
739	}
740}
741
742func (x *TransitionCoverage) String() string {
743	return protoimpl.X.MessageStringOf(x)
744}
745
746func (*TransitionCoverage) ProtoMessage() {}
747
748func (x *TransitionCoverage) ProtoReflect() protoreflect.Message {
749	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[5]
750	if protoimpl.UnsafeEnabled && x != nil {
751		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
752		if ms.LoadMessageInfo() == nil {
753			ms.StoreMessageInfo(mi)
754		}
755		return ms
756	}
757	return mi.MessageOf(x)
758}
759
760// Deprecated: Use TransitionCoverage.ProtoReflect.Descriptor instead.
761func (*TransitionCoverage) Descriptor() ([]byte, []int) {
762	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{5}
763}
764
765func (x *TransitionCoverage) GetTransitions() []*TransitionCoverage_Transition {
766	if x != nil {
767		return x.Transitions
768	}
769	return nil
770}
771
772func (x *TransitionCoverage) GetCoverageScore() float32 {
773	if x != nil {
774		return x.CoverageScore
775	}
776	return 0
777}
778
779// Transition route group coverage represents the percentage of all possible
780// transition routes present within any of a parent's test cases. The results
781// are grouped by the transition route group.
782type TransitionRouteGroupCoverage struct {
783	state         protoimpl.MessageState
784	sizeCache     protoimpl.SizeCache
785	unknownFields protoimpl.UnknownFields
786
787	// Transition route group coverages.
788	Coverages []*TransitionRouteGroupCoverage_Coverage `protobuf:"bytes,1,rep,name=coverages,proto3" json:"coverages,omitempty"`
789	// The percent of transition routes in all the transition route groups that
790	// are covered.
791	CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
792}
793
794func (x *TransitionRouteGroupCoverage) Reset() {
795	*x = TransitionRouteGroupCoverage{}
796	if protoimpl.UnsafeEnabled {
797		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[6]
798		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
799		ms.StoreMessageInfo(mi)
800	}
801}
802
803func (x *TransitionRouteGroupCoverage) String() string {
804	return protoimpl.X.MessageStringOf(x)
805}
806
807func (*TransitionRouteGroupCoverage) ProtoMessage() {}
808
809func (x *TransitionRouteGroupCoverage) ProtoReflect() protoreflect.Message {
810	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[6]
811	if protoimpl.UnsafeEnabled && x != nil {
812		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
813		if ms.LoadMessageInfo() == nil {
814			ms.StoreMessageInfo(mi)
815		}
816		return ms
817	}
818	return mi.MessageOf(x)
819}
820
821// Deprecated: Use TransitionRouteGroupCoverage.ProtoReflect.Descriptor instead.
822func (*TransitionRouteGroupCoverage) Descriptor() ([]byte, []int) {
823	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{6}
824}
825
826func (x *TransitionRouteGroupCoverage) GetCoverages() []*TransitionRouteGroupCoverage_Coverage {
827	if x != nil {
828		return x.Coverages
829	}
830	return nil
831}
832
833func (x *TransitionRouteGroupCoverage) GetCoverageScore() float32 {
834	if x != nil {
835		return x.CoverageScore
836	}
837	return 0
838}
839
840// Intent coverage represents the percentage of all possible intents in the
841// agent that are triggered in any of a parent's test cases.
842type IntentCoverage struct {
843	state         protoimpl.MessageState
844	sizeCache     protoimpl.SizeCache
845	unknownFields protoimpl.UnknownFields
846
847	// The list of Intents present in the agent
848	Intents []*IntentCoverage_Intent `protobuf:"bytes,1,rep,name=intents,proto3" json:"intents,omitempty"`
849	// The percent of intents in the agent that are covered.
850	CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
851}
852
853func (x *IntentCoverage) Reset() {
854	*x = IntentCoverage{}
855	if protoimpl.UnsafeEnabled {
856		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[7]
857		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
858		ms.StoreMessageInfo(mi)
859	}
860}
861
862func (x *IntentCoverage) String() string {
863	return protoimpl.X.MessageStringOf(x)
864}
865
866func (*IntentCoverage) ProtoMessage() {}
867
868func (x *IntentCoverage) ProtoReflect() protoreflect.Message {
869	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[7]
870	if protoimpl.UnsafeEnabled && x != nil {
871		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
872		if ms.LoadMessageInfo() == nil {
873			ms.StoreMessageInfo(mi)
874		}
875		return ms
876	}
877	return mi.MessageOf(x)
878}
879
880// Deprecated: Use IntentCoverage.ProtoReflect.Descriptor instead.
881func (*IntentCoverage) Descriptor() ([]byte, []int) {
882	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{7}
883}
884
885func (x *IntentCoverage) GetIntents() []*IntentCoverage_Intent {
886	if x != nil {
887		return x.Intents
888	}
889	return nil
890}
891
892func (x *IntentCoverage) GetCoverageScore() float32 {
893	if x != nil {
894		return x.CoverageScore
895	}
896	return 0
897}
898
899// The request message for [TestCases.CalculateCoverage][google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage].
900type CalculateCoverageRequest struct {
901	state         protoimpl.MessageState
902	sizeCache     protoimpl.SizeCache
903	unknownFields protoimpl.UnknownFields
904
905	// Required. The agent to calculate coverage for.
906	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
907	Agent string `protobuf:"bytes,3,opt,name=agent,proto3" json:"agent,omitempty"`
908	// Required. The type of coverage requested.
909	Type CalculateCoverageRequest_CoverageType `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest_CoverageType" json:"type,omitempty"`
910}
911
912func (x *CalculateCoverageRequest) Reset() {
913	*x = CalculateCoverageRequest{}
914	if protoimpl.UnsafeEnabled {
915		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[8]
916		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
917		ms.StoreMessageInfo(mi)
918	}
919}
920
921func (x *CalculateCoverageRequest) String() string {
922	return protoimpl.X.MessageStringOf(x)
923}
924
925func (*CalculateCoverageRequest) ProtoMessage() {}
926
927func (x *CalculateCoverageRequest) ProtoReflect() protoreflect.Message {
928	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[8]
929	if protoimpl.UnsafeEnabled && x != nil {
930		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
931		if ms.LoadMessageInfo() == nil {
932			ms.StoreMessageInfo(mi)
933		}
934		return ms
935	}
936	return mi.MessageOf(x)
937}
938
939// Deprecated: Use CalculateCoverageRequest.ProtoReflect.Descriptor instead.
940func (*CalculateCoverageRequest) Descriptor() ([]byte, []int) {
941	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{8}
942}
943
944func (x *CalculateCoverageRequest) GetAgent() string {
945	if x != nil {
946		return x.Agent
947	}
948	return ""
949}
950
951func (x *CalculateCoverageRequest) GetType() CalculateCoverageRequest_CoverageType {
952	if x != nil {
953		return x.Type
954	}
955	return CalculateCoverageRequest_COVERAGE_TYPE_UNSPECIFIED
956}
957
958// The response message for [TestCases.CalculateCoverage][google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage].
959type CalculateCoverageResponse struct {
960	state         protoimpl.MessageState
961	sizeCache     protoimpl.SizeCache
962	unknownFields protoimpl.UnknownFields
963
964	// The agent to calculate coverage for.
965	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
966	Agent string `protobuf:"bytes,5,opt,name=agent,proto3" json:"agent,omitempty"`
967	// The type of coverage requested.
968	//
969	// Types that are assignable to CoverageType:
970	//	*CalculateCoverageResponse_IntentCoverage
971	//	*CalculateCoverageResponse_TransitionCoverage
972	//	*CalculateCoverageResponse_RouteGroupCoverage
973	CoverageType isCalculateCoverageResponse_CoverageType `protobuf_oneof:"coverage_type"`
974}
975
976func (x *CalculateCoverageResponse) Reset() {
977	*x = CalculateCoverageResponse{}
978	if protoimpl.UnsafeEnabled {
979		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[9]
980		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
981		ms.StoreMessageInfo(mi)
982	}
983}
984
985func (x *CalculateCoverageResponse) String() string {
986	return protoimpl.X.MessageStringOf(x)
987}
988
989func (*CalculateCoverageResponse) ProtoMessage() {}
990
991func (x *CalculateCoverageResponse) ProtoReflect() protoreflect.Message {
992	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[9]
993	if protoimpl.UnsafeEnabled && x != nil {
994		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
995		if ms.LoadMessageInfo() == nil {
996			ms.StoreMessageInfo(mi)
997		}
998		return ms
999	}
1000	return mi.MessageOf(x)
1001}
1002
1003// Deprecated: Use CalculateCoverageResponse.ProtoReflect.Descriptor instead.
1004func (*CalculateCoverageResponse) Descriptor() ([]byte, []int) {
1005	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{9}
1006}
1007
1008func (x *CalculateCoverageResponse) GetAgent() string {
1009	if x != nil {
1010		return x.Agent
1011	}
1012	return ""
1013}
1014
1015func (m *CalculateCoverageResponse) GetCoverageType() isCalculateCoverageResponse_CoverageType {
1016	if m != nil {
1017		return m.CoverageType
1018	}
1019	return nil
1020}
1021
1022func (x *CalculateCoverageResponse) GetIntentCoverage() *IntentCoverage {
1023	if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_IntentCoverage); ok {
1024		return x.IntentCoverage
1025	}
1026	return nil
1027}
1028
1029func (x *CalculateCoverageResponse) GetTransitionCoverage() *TransitionCoverage {
1030	if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_TransitionCoverage); ok {
1031		return x.TransitionCoverage
1032	}
1033	return nil
1034}
1035
1036func (x *CalculateCoverageResponse) GetRouteGroupCoverage() *TransitionRouteGroupCoverage {
1037	if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_RouteGroupCoverage); ok {
1038		return x.RouteGroupCoverage
1039	}
1040	return nil
1041}
1042
1043type isCalculateCoverageResponse_CoverageType interface {
1044	isCalculateCoverageResponse_CoverageType()
1045}
1046
1047type CalculateCoverageResponse_IntentCoverage struct {
1048	// Intent coverage.
1049	IntentCoverage *IntentCoverage `protobuf:"bytes,2,opt,name=intent_coverage,json=intentCoverage,proto3,oneof"`
1050}
1051
1052type CalculateCoverageResponse_TransitionCoverage struct {
1053	// Transition (excluding transition route groups) coverage.
1054	TransitionCoverage *TransitionCoverage `protobuf:"bytes,4,opt,name=transition_coverage,json=transitionCoverage,proto3,oneof"`
1055}
1056
1057type CalculateCoverageResponse_RouteGroupCoverage struct {
1058	// Transition route group coverage.
1059	RouteGroupCoverage *TransitionRouteGroupCoverage `protobuf:"bytes,6,opt,name=route_group_coverage,json=routeGroupCoverage,proto3,oneof"`
1060}
1061
1062func (*CalculateCoverageResponse_IntentCoverage) isCalculateCoverageResponse_CoverageType() {}
1063
1064func (*CalculateCoverageResponse_TransitionCoverage) isCalculateCoverageResponse_CoverageType() {}
1065
1066func (*CalculateCoverageResponse_RouteGroupCoverage) isCalculateCoverageResponse_CoverageType() {}
1067
1068// The request message for [TestCases.ListTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases].
1069type ListTestCasesRequest struct {
1070	state         protoimpl.MessageState
1071	sizeCache     protoimpl.SizeCache
1072	unknownFields protoimpl.UnknownFields
1073
1074	// Required. The agent to list all pages for.
1075	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1076	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1077	// The maximum number of items to return in a single page. By default 20.
1078	// Note that when TestCaseView = FULL, the maximum page size allowed is 20.
1079	// When TestCaseView = BASIC, the maximum page size allowed is 500.
1080	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1081	// The next_page_token value returned from a previous list request.
1082	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1083	// Specifies whether response should include all fields or just the metadata.
1084	View ListTestCasesRequest_TestCaseView `protobuf:"varint,4,opt,name=view,proto3,enum=google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest_TestCaseView" json:"view,omitempty"`
1085}
1086
1087func (x *ListTestCasesRequest) Reset() {
1088	*x = ListTestCasesRequest{}
1089	if protoimpl.UnsafeEnabled {
1090		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[10]
1091		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1092		ms.StoreMessageInfo(mi)
1093	}
1094}
1095
1096func (x *ListTestCasesRequest) String() string {
1097	return protoimpl.X.MessageStringOf(x)
1098}
1099
1100func (*ListTestCasesRequest) ProtoMessage() {}
1101
1102func (x *ListTestCasesRequest) ProtoReflect() protoreflect.Message {
1103	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[10]
1104	if protoimpl.UnsafeEnabled && x != nil {
1105		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1106		if ms.LoadMessageInfo() == nil {
1107			ms.StoreMessageInfo(mi)
1108		}
1109		return ms
1110	}
1111	return mi.MessageOf(x)
1112}
1113
1114// Deprecated: Use ListTestCasesRequest.ProtoReflect.Descriptor instead.
1115func (*ListTestCasesRequest) Descriptor() ([]byte, []int) {
1116	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{10}
1117}
1118
1119func (x *ListTestCasesRequest) GetParent() string {
1120	if x != nil {
1121		return x.Parent
1122	}
1123	return ""
1124}
1125
1126func (x *ListTestCasesRequest) GetPageSize() int32 {
1127	if x != nil {
1128		return x.PageSize
1129	}
1130	return 0
1131}
1132
1133func (x *ListTestCasesRequest) GetPageToken() string {
1134	if x != nil {
1135		return x.PageToken
1136	}
1137	return ""
1138}
1139
1140func (x *ListTestCasesRequest) GetView() ListTestCasesRequest_TestCaseView {
1141	if x != nil {
1142		return x.View
1143	}
1144	return ListTestCasesRequest_TEST_CASE_VIEW_UNSPECIFIED
1145}
1146
1147// The response message for [TestCases.ListTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases].
1148type ListTestCasesResponse struct {
1149	state         protoimpl.MessageState
1150	sizeCache     protoimpl.SizeCache
1151	unknownFields protoimpl.UnknownFields
1152
1153	// The list of test cases. There will be a maximum number of items returned
1154	// based on the page_size field in the request.
1155	TestCases []*TestCase `protobuf:"bytes,1,rep,name=test_cases,json=testCases,proto3" json:"test_cases,omitempty"`
1156	// Token to retrieve the next page of results, or empty if there are no more
1157	// results in the list.
1158	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1159}
1160
1161func (x *ListTestCasesResponse) Reset() {
1162	*x = ListTestCasesResponse{}
1163	if protoimpl.UnsafeEnabled {
1164		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[11]
1165		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1166		ms.StoreMessageInfo(mi)
1167	}
1168}
1169
1170func (x *ListTestCasesResponse) String() string {
1171	return protoimpl.X.MessageStringOf(x)
1172}
1173
1174func (*ListTestCasesResponse) ProtoMessage() {}
1175
1176func (x *ListTestCasesResponse) ProtoReflect() protoreflect.Message {
1177	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[11]
1178	if protoimpl.UnsafeEnabled && x != nil {
1179		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1180		if ms.LoadMessageInfo() == nil {
1181			ms.StoreMessageInfo(mi)
1182		}
1183		return ms
1184	}
1185	return mi.MessageOf(x)
1186}
1187
1188// Deprecated: Use ListTestCasesResponse.ProtoReflect.Descriptor instead.
1189func (*ListTestCasesResponse) Descriptor() ([]byte, []int) {
1190	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{11}
1191}
1192
1193func (x *ListTestCasesResponse) GetTestCases() []*TestCase {
1194	if x != nil {
1195		return x.TestCases
1196	}
1197	return nil
1198}
1199
1200func (x *ListTestCasesResponse) GetNextPageToken() string {
1201	if x != nil {
1202		return x.NextPageToken
1203	}
1204	return ""
1205}
1206
1207// The request message for [TestCases.BatchDeleteTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchDeleteTestCases].
1208type BatchDeleteTestCasesRequest struct {
1209	state         protoimpl.MessageState
1210	sizeCache     protoimpl.SizeCache
1211	unknownFields protoimpl.UnknownFields
1212
1213	// Required. The agent to delete test cases from.
1214	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1215	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1216	// Required. Format of test case names: `projects/<Project ID>/locations/
1217	// <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`.
1218	Names []string `protobuf:"bytes,3,rep,name=names,proto3" json:"names,omitempty"`
1219}
1220
1221func (x *BatchDeleteTestCasesRequest) Reset() {
1222	*x = BatchDeleteTestCasesRequest{}
1223	if protoimpl.UnsafeEnabled {
1224		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[12]
1225		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1226		ms.StoreMessageInfo(mi)
1227	}
1228}
1229
1230func (x *BatchDeleteTestCasesRequest) String() string {
1231	return protoimpl.X.MessageStringOf(x)
1232}
1233
1234func (*BatchDeleteTestCasesRequest) ProtoMessage() {}
1235
1236func (x *BatchDeleteTestCasesRequest) ProtoReflect() protoreflect.Message {
1237	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[12]
1238	if protoimpl.UnsafeEnabled && x != nil {
1239		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1240		if ms.LoadMessageInfo() == nil {
1241			ms.StoreMessageInfo(mi)
1242		}
1243		return ms
1244	}
1245	return mi.MessageOf(x)
1246}
1247
1248// Deprecated: Use BatchDeleteTestCasesRequest.ProtoReflect.Descriptor instead.
1249func (*BatchDeleteTestCasesRequest) Descriptor() ([]byte, []int) {
1250	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{12}
1251}
1252
1253func (x *BatchDeleteTestCasesRequest) GetParent() string {
1254	if x != nil {
1255		return x.Parent
1256	}
1257	return ""
1258}
1259
1260func (x *BatchDeleteTestCasesRequest) GetNames() []string {
1261	if x != nil {
1262		return x.Names
1263	}
1264	return nil
1265}
1266
1267// The request message for [TestCases.CreateTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase].
1268type CreateTestCaseRequest struct {
1269	state         protoimpl.MessageState
1270	sizeCache     protoimpl.SizeCache
1271	unknownFields protoimpl.UnknownFields
1272
1273	// Required. The agent to create the test case for.
1274	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1275	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1276	// Required. The test case to create.
1277	TestCase *TestCase `protobuf:"bytes,2,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
1278}
1279
1280func (x *CreateTestCaseRequest) Reset() {
1281	*x = CreateTestCaseRequest{}
1282	if protoimpl.UnsafeEnabled {
1283		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[13]
1284		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1285		ms.StoreMessageInfo(mi)
1286	}
1287}
1288
1289func (x *CreateTestCaseRequest) String() string {
1290	return protoimpl.X.MessageStringOf(x)
1291}
1292
1293func (*CreateTestCaseRequest) ProtoMessage() {}
1294
1295func (x *CreateTestCaseRequest) ProtoReflect() protoreflect.Message {
1296	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[13]
1297	if protoimpl.UnsafeEnabled && x != nil {
1298		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1299		if ms.LoadMessageInfo() == nil {
1300			ms.StoreMessageInfo(mi)
1301		}
1302		return ms
1303	}
1304	return mi.MessageOf(x)
1305}
1306
1307// Deprecated: Use CreateTestCaseRequest.ProtoReflect.Descriptor instead.
1308func (*CreateTestCaseRequest) Descriptor() ([]byte, []int) {
1309	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{13}
1310}
1311
1312func (x *CreateTestCaseRequest) GetParent() string {
1313	if x != nil {
1314		return x.Parent
1315	}
1316	return ""
1317}
1318
1319func (x *CreateTestCaseRequest) GetTestCase() *TestCase {
1320	if x != nil {
1321		return x.TestCase
1322	}
1323	return nil
1324}
1325
1326// The request message for [TestCases.UpdateTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCase].
1327type UpdateTestCaseRequest struct {
1328	state         protoimpl.MessageState
1329	sizeCache     protoimpl.SizeCache
1330	unknownFields protoimpl.UnknownFields
1331
1332	// Required. The test case to update.
1333	TestCase *TestCase `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
1334	// Required. The mask to specify which fields should be updated. The
1335	// [`creationTime`][google.cloud.dialogflow.cx.v3beta1.TestCase.creation_time] and
1336	// [`lastTestResult`][google.cloud.dialogflow.cx.v3beta1.TestCase.last_test_result] cannot be updated.
1337	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1338}
1339
1340func (x *UpdateTestCaseRequest) Reset() {
1341	*x = UpdateTestCaseRequest{}
1342	if protoimpl.UnsafeEnabled {
1343		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[14]
1344		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1345		ms.StoreMessageInfo(mi)
1346	}
1347}
1348
1349func (x *UpdateTestCaseRequest) String() string {
1350	return protoimpl.X.MessageStringOf(x)
1351}
1352
1353func (*UpdateTestCaseRequest) ProtoMessage() {}
1354
1355func (x *UpdateTestCaseRequest) ProtoReflect() protoreflect.Message {
1356	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[14]
1357	if protoimpl.UnsafeEnabled && x != nil {
1358		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1359		if ms.LoadMessageInfo() == nil {
1360			ms.StoreMessageInfo(mi)
1361		}
1362		return ms
1363	}
1364	return mi.MessageOf(x)
1365}
1366
1367// Deprecated: Use UpdateTestCaseRequest.ProtoReflect.Descriptor instead.
1368func (*UpdateTestCaseRequest) Descriptor() ([]byte, []int) {
1369	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{14}
1370}
1371
1372func (x *UpdateTestCaseRequest) GetTestCase() *TestCase {
1373	if x != nil {
1374		return x.TestCase
1375	}
1376	return nil
1377}
1378
1379func (x *UpdateTestCaseRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1380	if x != nil {
1381		return x.UpdateMask
1382	}
1383	return nil
1384}
1385
1386// The request message for [TestCases.GetTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCase].
1387type GetTestCaseRequest struct {
1388	state         protoimpl.MessageState
1389	sizeCache     protoimpl.SizeCache
1390	unknownFields protoimpl.UnknownFields
1391
1392	// Required. The name of the testcase.
1393	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1394	// ID>/testCases/<TestCase ID>`.
1395	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1396}
1397
1398func (x *GetTestCaseRequest) Reset() {
1399	*x = GetTestCaseRequest{}
1400	if protoimpl.UnsafeEnabled {
1401		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[15]
1402		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1403		ms.StoreMessageInfo(mi)
1404	}
1405}
1406
1407func (x *GetTestCaseRequest) String() string {
1408	return protoimpl.X.MessageStringOf(x)
1409}
1410
1411func (*GetTestCaseRequest) ProtoMessage() {}
1412
1413func (x *GetTestCaseRequest) ProtoReflect() protoreflect.Message {
1414	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[15]
1415	if protoimpl.UnsafeEnabled && x != nil {
1416		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1417		if ms.LoadMessageInfo() == nil {
1418			ms.StoreMessageInfo(mi)
1419		}
1420		return ms
1421	}
1422	return mi.MessageOf(x)
1423}
1424
1425// Deprecated: Use GetTestCaseRequest.ProtoReflect.Descriptor instead.
1426func (*GetTestCaseRequest) Descriptor() ([]byte, []int) {
1427	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{15}
1428}
1429
1430func (x *GetTestCaseRequest) GetName() string {
1431	if x != nil {
1432		return x.Name
1433	}
1434	return ""
1435}
1436
1437// The request message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase].
1438type RunTestCaseRequest struct {
1439	state         protoimpl.MessageState
1440	sizeCache     protoimpl.SizeCache
1441	unknownFields protoimpl.UnknownFields
1442
1443	// Required. Format of test case name to run: `projects/<Project ID>/locations/
1444	// <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`.
1445	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1446	// Optional. Environment name. If not set, draft environment is assumed.
1447	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1448	// ID>/environments/<Environment ID>`.
1449	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
1450}
1451
1452func (x *RunTestCaseRequest) Reset() {
1453	*x = RunTestCaseRequest{}
1454	if protoimpl.UnsafeEnabled {
1455		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[16]
1456		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1457		ms.StoreMessageInfo(mi)
1458	}
1459}
1460
1461func (x *RunTestCaseRequest) String() string {
1462	return protoimpl.X.MessageStringOf(x)
1463}
1464
1465func (*RunTestCaseRequest) ProtoMessage() {}
1466
1467func (x *RunTestCaseRequest) ProtoReflect() protoreflect.Message {
1468	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[16]
1469	if protoimpl.UnsafeEnabled && x != nil {
1470		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1471		if ms.LoadMessageInfo() == nil {
1472			ms.StoreMessageInfo(mi)
1473		}
1474		return ms
1475	}
1476	return mi.MessageOf(x)
1477}
1478
1479// Deprecated: Use RunTestCaseRequest.ProtoReflect.Descriptor instead.
1480func (*RunTestCaseRequest) Descriptor() ([]byte, []int) {
1481	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{16}
1482}
1483
1484func (x *RunTestCaseRequest) GetName() string {
1485	if x != nil {
1486		return x.Name
1487	}
1488	return ""
1489}
1490
1491func (x *RunTestCaseRequest) GetEnvironment() string {
1492	if x != nil {
1493		return x.Environment
1494	}
1495	return ""
1496}
1497
1498// The response message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase].
1499type RunTestCaseResponse struct {
1500	state         protoimpl.MessageState
1501	sizeCache     protoimpl.SizeCache
1502	unknownFields protoimpl.UnknownFields
1503
1504	// The result.
1505	Result *TestCaseResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
1506}
1507
1508func (x *RunTestCaseResponse) Reset() {
1509	*x = RunTestCaseResponse{}
1510	if protoimpl.UnsafeEnabled {
1511		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[17]
1512		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1513		ms.StoreMessageInfo(mi)
1514	}
1515}
1516
1517func (x *RunTestCaseResponse) String() string {
1518	return protoimpl.X.MessageStringOf(x)
1519}
1520
1521func (*RunTestCaseResponse) ProtoMessage() {}
1522
1523func (x *RunTestCaseResponse) ProtoReflect() protoreflect.Message {
1524	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[17]
1525	if protoimpl.UnsafeEnabled && x != nil {
1526		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1527		if ms.LoadMessageInfo() == nil {
1528			ms.StoreMessageInfo(mi)
1529		}
1530		return ms
1531	}
1532	return mi.MessageOf(x)
1533}
1534
1535// Deprecated: Use RunTestCaseResponse.ProtoReflect.Descriptor instead.
1536func (*RunTestCaseResponse) Descriptor() ([]byte, []int) {
1537	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{17}
1538}
1539
1540func (x *RunTestCaseResponse) GetResult() *TestCaseResult {
1541	if x != nil {
1542		return x.Result
1543	}
1544	return nil
1545}
1546
1547// Metadata returned for the [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase] long running operation.
1548type RunTestCaseMetadata struct {
1549	state         protoimpl.MessageState
1550	sizeCache     protoimpl.SizeCache
1551	unknownFields protoimpl.UnknownFields
1552}
1553
1554func (x *RunTestCaseMetadata) Reset() {
1555	*x = RunTestCaseMetadata{}
1556	if protoimpl.UnsafeEnabled {
1557		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[18]
1558		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1559		ms.StoreMessageInfo(mi)
1560	}
1561}
1562
1563func (x *RunTestCaseMetadata) String() string {
1564	return protoimpl.X.MessageStringOf(x)
1565}
1566
1567func (*RunTestCaseMetadata) ProtoMessage() {}
1568
1569func (x *RunTestCaseMetadata) ProtoReflect() protoreflect.Message {
1570	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[18]
1571	if protoimpl.UnsafeEnabled && x != nil {
1572		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1573		if ms.LoadMessageInfo() == nil {
1574			ms.StoreMessageInfo(mi)
1575		}
1576		return ms
1577	}
1578	return mi.MessageOf(x)
1579}
1580
1581// Deprecated: Use RunTestCaseMetadata.ProtoReflect.Descriptor instead.
1582func (*RunTestCaseMetadata) Descriptor() ([]byte, []int) {
1583	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{18}
1584}
1585
1586// The request message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases].
1587type BatchRunTestCasesRequest struct {
1588	state         protoimpl.MessageState
1589	sizeCache     protoimpl.SizeCache
1590	unknownFields protoimpl.UnknownFields
1591
1592	// Required. Agent name. Format: `projects/<Project ID>/locations/<Location ID>/agents/
1593	// <AgentID>`.
1594	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1595	// Optional. If not set, draft environment is assumed. Format: `projects/<Project
1596	// ID>/locations/<Location ID>/agents/<Agent ID>/environments/<Environment
1597	// ID>`.
1598	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
1599	// Required. Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1600	// ID>/testCases/<TestCase ID>`.
1601	TestCases []string `protobuf:"bytes,3,rep,name=test_cases,json=testCases,proto3" json:"test_cases,omitempty"`
1602}
1603
1604func (x *BatchRunTestCasesRequest) Reset() {
1605	*x = BatchRunTestCasesRequest{}
1606	if protoimpl.UnsafeEnabled {
1607		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[19]
1608		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1609		ms.StoreMessageInfo(mi)
1610	}
1611}
1612
1613func (x *BatchRunTestCasesRequest) String() string {
1614	return protoimpl.X.MessageStringOf(x)
1615}
1616
1617func (*BatchRunTestCasesRequest) ProtoMessage() {}
1618
1619func (x *BatchRunTestCasesRequest) ProtoReflect() protoreflect.Message {
1620	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[19]
1621	if protoimpl.UnsafeEnabled && x != nil {
1622		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1623		if ms.LoadMessageInfo() == nil {
1624			ms.StoreMessageInfo(mi)
1625		}
1626		return ms
1627	}
1628	return mi.MessageOf(x)
1629}
1630
1631// Deprecated: Use BatchRunTestCasesRequest.ProtoReflect.Descriptor instead.
1632func (*BatchRunTestCasesRequest) Descriptor() ([]byte, []int) {
1633	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{19}
1634}
1635
1636func (x *BatchRunTestCasesRequest) GetParent() string {
1637	if x != nil {
1638		return x.Parent
1639	}
1640	return ""
1641}
1642
1643func (x *BatchRunTestCasesRequest) GetEnvironment() string {
1644	if x != nil {
1645		return x.Environment
1646	}
1647	return ""
1648}
1649
1650func (x *BatchRunTestCasesRequest) GetTestCases() []string {
1651	if x != nil {
1652		return x.TestCases
1653	}
1654	return nil
1655}
1656
1657// The response message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases].
1658type BatchRunTestCasesResponse struct {
1659	state         protoimpl.MessageState
1660	sizeCache     protoimpl.SizeCache
1661	unknownFields protoimpl.UnknownFields
1662
1663	// The test case results. The detailed
1664	// [conversation turns][google.cloud.dialogflow.cx.v3beta1.TestCaseResult.conversation_turns] are empty in this
1665	// response.
1666	Results []*TestCaseResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
1667}
1668
1669func (x *BatchRunTestCasesResponse) Reset() {
1670	*x = BatchRunTestCasesResponse{}
1671	if protoimpl.UnsafeEnabled {
1672		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[20]
1673		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1674		ms.StoreMessageInfo(mi)
1675	}
1676}
1677
1678func (x *BatchRunTestCasesResponse) String() string {
1679	return protoimpl.X.MessageStringOf(x)
1680}
1681
1682func (*BatchRunTestCasesResponse) ProtoMessage() {}
1683
1684func (x *BatchRunTestCasesResponse) ProtoReflect() protoreflect.Message {
1685	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[20]
1686	if protoimpl.UnsafeEnabled && x != nil {
1687		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1688		if ms.LoadMessageInfo() == nil {
1689			ms.StoreMessageInfo(mi)
1690		}
1691		return ms
1692	}
1693	return mi.MessageOf(x)
1694}
1695
1696// Deprecated: Use BatchRunTestCasesResponse.ProtoReflect.Descriptor instead.
1697func (*BatchRunTestCasesResponse) Descriptor() ([]byte, []int) {
1698	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{20}
1699}
1700
1701func (x *BatchRunTestCasesResponse) GetResults() []*TestCaseResult {
1702	if x != nil {
1703		return x.Results
1704	}
1705	return nil
1706}
1707
1708// Metadata returned for the [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases] long running
1709// operation.
1710type BatchRunTestCasesMetadata struct {
1711	state         protoimpl.MessageState
1712	sizeCache     protoimpl.SizeCache
1713	unknownFields protoimpl.UnknownFields
1714
1715	// The test errors.
1716	Errors []*TestError `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
1717}
1718
1719func (x *BatchRunTestCasesMetadata) Reset() {
1720	*x = BatchRunTestCasesMetadata{}
1721	if protoimpl.UnsafeEnabled {
1722		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[21]
1723		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1724		ms.StoreMessageInfo(mi)
1725	}
1726}
1727
1728func (x *BatchRunTestCasesMetadata) String() string {
1729	return protoimpl.X.MessageStringOf(x)
1730}
1731
1732func (*BatchRunTestCasesMetadata) ProtoMessage() {}
1733
1734func (x *BatchRunTestCasesMetadata) ProtoReflect() protoreflect.Message {
1735	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[21]
1736	if protoimpl.UnsafeEnabled && x != nil {
1737		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1738		if ms.LoadMessageInfo() == nil {
1739			ms.StoreMessageInfo(mi)
1740		}
1741		return ms
1742	}
1743	return mi.MessageOf(x)
1744}
1745
1746// Deprecated: Use BatchRunTestCasesMetadata.ProtoReflect.Descriptor instead.
1747func (*BatchRunTestCasesMetadata) Descriptor() ([]byte, []int) {
1748	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{21}
1749}
1750
1751func (x *BatchRunTestCasesMetadata) GetErrors() []*TestError {
1752	if x != nil {
1753		return x.Errors
1754	}
1755	return nil
1756}
1757
1758// Error info for running a test.
1759type TestError struct {
1760	state         protoimpl.MessageState
1761	sizeCache     protoimpl.SizeCache
1762	unknownFields protoimpl.UnknownFields
1763
1764	// The test case resource name.
1765	TestCase string `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
1766	// The status associated with the test.
1767	Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
1768	// The timestamp when the test was completed.
1769	TestTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=test_time,json=testTime,proto3" json:"test_time,omitempty"`
1770}
1771
1772func (x *TestError) Reset() {
1773	*x = TestError{}
1774	if protoimpl.UnsafeEnabled {
1775		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[22]
1776		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1777		ms.StoreMessageInfo(mi)
1778	}
1779}
1780
1781func (x *TestError) String() string {
1782	return protoimpl.X.MessageStringOf(x)
1783}
1784
1785func (*TestError) ProtoMessage() {}
1786
1787func (x *TestError) ProtoReflect() protoreflect.Message {
1788	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[22]
1789	if protoimpl.UnsafeEnabled && x != nil {
1790		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1791		if ms.LoadMessageInfo() == nil {
1792			ms.StoreMessageInfo(mi)
1793		}
1794		return ms
1795	}
1796	return mi.MessageOf(x)
1797}
1798
1799// Deprecated: Use TestError.ProtoReflect.Descriptor instead.
1800func (*TestError) Descriptor() ([]byte, []int) {
1801	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{22}
1802}
1803
1804func (x *TestError) GetTestCase() string {
1805	if x != nil {
1806		return x.TestCase
1807	}
1808	return ""
1809}
1810
1811func (x *TestError) GetStatus() *status.Status {
1812	if x != nil {
1813		return x.Status
1814	}
1815	return nil
1816}
1817
1818func (x *TestError) GetTestTime() *timestamppb.Timestamp {
1819	if x != nil {
1820		return x.TestTime
1821	}
1822	return nil
1823}
1824
1825// The request message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases].
1826type ImportTestCasesRequest struct {
1827	state         protoimpl.MessageState
1828	sizeCache     protoimpl.SizeCache
1829	unknownFields protoimpl.UnknownFields
1830
1831	// Required. The agent to import test cases to.
1832	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1833	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1834	// Required. The source to import.
1835	//
1836	// Types that are assignable to Source:
1837	//	*ImportTestCasesRequest_GcsUri
1838	//	*ImportTestCasesRequest_Content
1839	Source isImportTestCasesRequest_Source `protobuf_oneof:"source"`
1840}
1841
1842func (x *ImportTestCasesRequest) Reset() {
1843	*x = ImportTestCasesRequest{}
1844	if protoimpl.UnsafeEnabled {
1845		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23]
1846		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1847		ms.StoreMessageInfo(mi)
1848	}
1849}
1850
1851func (x *ImportTestCasesRequest) String() string {
1852	return protoimpl.X.MessageStringOf(x)
1853}
1854
1855func (*ImportTestCasesRequest) ProtoMessage() {}
1856
1857func (x *ImportTestCasesRequest) ProtoReflect() protoreflect.Message {
1858	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23]
1859	if protoimpl.UnsafeEnabled && x != nil {
1860		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1861		if ms.LoadMessageInfo() == nil {
1862			ms.StoreMessageInfo(mi)
1863		}
1864		return ms
1865	}
1866	return mi.MessageOf(x)
1867}
1868
1869// Deprecated: Use ImportTestCasesRequest.ProtoReflect.Descriptor instead.
1870func (*ImportTestCasesRequest) Descriptor() ([]byte, []int) {
1871	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{23}
1872}
1873
1874func (x *ImportTestCasesRequest) GetParent() string {
1875	if x != nil {
1876		return x.Parent
1877	}
1878	return ""
1879}
1880
1881func (m *ImportTestCasesRequest) GetSource() isImportTestCasesRequest_Source {
1882	if m != nil {
1883		return m.Source
1884	}
1885	return nil
1886}
1887
1888func (x *ImportTestCasesRequest) GetGcsUri() string {
1889	if x, ok := x.GetSource().(*ImportTestCasesRequest_GcsUri); ok {
1890		return x.GcsUri
1891	}
1892	return ""
1893}
1894
1895func (x *ImportTestCasesRequest) GetContent() []byte {
1896	if x, ok := x.GetSource().(*ImportTestCasesRequest_Content); ok {
1897		return x.Content
1898	}
1899	return nil
1900}
1901
1902type isImportTestCasesRequest_Source interface {
1903	isImportTestCasesRequest_Source()
1904}
1905
1906type ImportTestCasesRequest_GcsUri struct {
1907	// The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI
1908	// to import test cases from. The format of this URI must be
1909	// `gs://<bucket-name>/<object-name>`.
1910	GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`
1911}
1912
1913type ImportTestCasesRequest_Content struct {
1914	// Uncompressed raw byte content for test cases.
1915	Content []byte `protobuf:"bytes,3,opt,name=content,proto3,oneof"`
1916}
1917
1918func (*ImportTestCasesRequest_GcsUri) isImportTestCasesRequest_Source() {}
1919
1920func (*ImportTestCasesRequest_Content) isImportTestCasesRequest_Source() {}
1921
1922// The response message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases].
1923type ImportTestCasesResponse struct {
1924	state         protoimpl.MessageState
1925	sizeCache     protoimpl.SizeCache
1926	unknownFields protoimpl.UnknownFields
1927
1928	// The unique identifiers of the new test cases.
1929	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1930	// ID>/testCases/<TestCase ID>`.
1931	Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
1932}
1933
1934func (x *ImportTestCasesResponse) Reset() {
1935	*x = ImportTestCasesResponse{}
1936	if protoimpl.UnsafeEnabled {
1937		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[24]
1938		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1939		ms.StoreMessageInfo(mi)
1940	}
1941}
1942
1943func (x *ImportTestCasesResponse) String() string {
1944	return protoimpl.X.MessageStringOf(x)
1945}
1946
1947func (*ImportTestCasesResponse) ProtoMessage() {}
1948
1949func (x *ImportTestCasesResponse) ProtoReflect() protoreflect.Message {
1950	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[24]
1951	if protoimpl.UnsafeEnabled && x != nil {
1952		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1953		if ms.LoadMessageInfo() == nil {
1954			ms.StoreMessageInfo(mi)
1955		}
1956		return ms
1957	}
1958	return mi.MessageOf(x)
1959}
1960
1961// Deprecated: Use ImportTestCasesResponse.ProtoReflect.Descriptor instead.
1962func (*ImportTestCasesResponse) Descriptor() ([]byte, []int) {
1963	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{24}
1964}
1965
1966func (x *ImportTestCasesResponse) GetNames() []string {
1967	if x != nil {
1968		return x.Names
1969	}
1970	return nil
1971}
1972
1973// Metadata returned for the [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases] long running
1974// operation.
1975type ImportTestCasesMetadata struct {
1976	state         protoimpl.MessageState
1977	sizeCache     protoimpl.SizeCache
1978	unknownFields protoimpl.UnknownFields
1979
1980	// Errors for failed test cases.
1981	Errors []*TestCaseError `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
1982}
1983
1984func (x *ImportTestCasesMetadata) Reset() {
1985	*x = ImportTestCasesMetadata{}
1986	if protoimpl.UnsafeEnabled {
1987		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[25]
1988		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1989		ms.StoreMessageInfo(mi)
1990	}
1991}
1992
1993func (x *ImportTestCasesMetadata) String() string {
1994	return protoimpl.X.MessageStringOf(x)
1995}
1996
1997func (*ImportTestCasesMetadata) ProtoMessage() {}
1998
1999func (x *ImportTestCasesMetadata) ProtoReflect() protoreflect.Message {
2000	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[25]
2001	if protoimpl.UnsafeEnabled && x != nil {
2002		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2003		if ms.LoadMessageInfo() == nil {
2004			ms.StoreMessageInfo(mi)
2005		}
2006		return ms
2007	}
2008	return mi.MessageOf(x)
2009}
2010
2011// Deprecated: Use ImportTestCasesMetadata.ProtoReflect.Descriptor instead.
2012func (*ImportTestCasesMetadata) Descriptor() ([]byte, []int) {
2013	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{25}
2014}
2015
2016func (x *ImportTestCasesMetadata) GetErrors() []*TestCaseError {
2017	if x != nil {
2018		return x.Errors
2019	}
2020	return nil
2021}
2022
2023// Error info for importing a test.
2024type TestCaseError struct {
2025	state         protoimpl.MessageState
2026	sizeCache     protoimpl.SizeCache
2027	unknownFields protoimpl.UnknownFields
2028
2029	// The test case.
2030	TestCase *TestCase `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
2031	// The status associated with the test case.
2032	Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
2033}
2034
2035func (x *TestCaseError) Reset() {
2036	*x = TestCaseError{}
2037	if protoimpl.UnsafeEnabled {
2038		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[26]
2039		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2040		ms.StoreMessageInfo(mi)
2041	}
2042}
2043
2044func (x *TestCaseError) String() string {
2045	return protoimpl.X.MessageStringOf(x)
2046}
2047
2048func (*TestCaseError) ProtoMessage() {}
2049
2050func (x *TestCaseError) ProtoReflect() protoreflect.Message {
2051	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[26]
2052	if protoimpl.UnsafeEnabled && x != nil {
2053		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2054		if ms.LoadMessageInfo() == nil {
2055			ms.StoreMessageInfo(mi)
2056		}
2057		return ms
2058	}
2059	return mi.MessageOf(x)
2060}
2061
2062// Deprecated: Use TestCaseError.ProtoReflect.Descriptor instead.
2063func (*TestCaseError) Descriptor() ([]byte, []int) {
2064	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{26}
2065}
2066
2067func (x *TestCaseError) GetTestCase() *TestCase {
2068	if x != nil {
2069		return x.TestCase
2070	}
2071	return nil
2072}
2073
2074func (x *TestCaseError) GetStatus() *status.Status {
2075	if x != nil {
2076		return x.Status
2077	}
2078	return nil
2079}
2080
2081// The request message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases].
2082type ExportTestCasesRequest struct {
2083	state         protoimpl.MessageState
2084	sizeCache     protoimpl.SizeCache
2085	unknownFields protoimpl.UnknownFields
2086
2087	// Required. The agent where to export test cases from.
2088	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
2089	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2090	// The destination to export.
2091	//
2092	// Types that are assignable to Destination:
2093	//	*ExportTestCasesRequest_GcsUri
2094	Destination isExportTestCasesRequest_Destination `protobuf_oneof:"destination"`
2095	// The data format of the exported test cases. If not specified, `BLOB` is
2096	// assumed.
2097	DataFormat ExportTestCasesRequest_DataFormat `protobuf:"varint,3,opt,name=data_format,json=dataFormat,proto3,enum=google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest_DataFormat" json:"data_format,omitempty"`
2098	// The filter expression used to filter exported test cases, see
2099	// [API Filtering](https://aip.dev/160). The expression is case insensitive
2100	// and supports the following syntax:
2101	//
2102	//   name = <value> [OR name = <value>] ...
2103	//
2104	// For example:
2105	//
2106	// *   "name = t1 OR name = t2" matches the test case with the exact resource
2107	//     name "t1" or "t2".
2108	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
2109}
2110
2111func (x *ExportTestCasesRequest) Reset() {
2112	*x = ExportTestCasesRequest{}
2113	if protoimpl.UnsafeEnabled {
2114		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27]
2115		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2116		ms.StoreMessageInfo(mi)
2117	}
2118}
2119
2120func (x *ExportTestCasesRequest) String() string {
2121	return protoimpl.X.MessageStringOf(x)
2122}
2123
2124func (*ExportTestCasesRequest) ProtoMessage() {}
2125
2126func (x *ExportTestCasesRequest) ProtoReflect() protoreflect.Message {
2127	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27]
2128	if protoimpl.UnsafeEnabled && x != nil {
2129		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2130		if ms.LoadMessageInfo() == nil {
2131			ms.StoreMessageInfo(mi)
2132		}
2133		return ms
2134	}
2135	return mi.MessageOf(x)
2136}
2137
2138// Deprecated: Use ExportTestCasesRequest.ProtoReflect.Descriptor instead.
2139func (*ExportTestCasesRequest) Descriptor() ([]byte, []int) {
2140	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{27}
2141}
2142
2143func (x *ExportTestCasesRequest) GetParent() string {
2144	if x != nil {
2145		return x.Parent
2146	}
2147	return ""
2148}
2149
2150func (m *ExportTestCasesRequest) GetDestination() isExportTestCasesRequest_Destination {
2151	if m != nil {
2152		return m.Destination
2153	}
2154	return nil
2155}
2156
2157func (x *ExportTestCasesRequest) GetGcsUri() string {
2158	if x, ok := x.GetDestination().(*ExportTestCasesRequest_GcsUri); ok {
2159		return x.GcsUri
2160	}
2161	return ""
2162}
2163
2164func (x *ExportTestCasesRequest) GetDataFormat() ExportTestCasesRequest_DataFormat {
2165	if x != nil {
2166		return x.DataFormat
2167	}
2168	return ExportTestCasesRequest_DATA_FORMAT_UNSPECIFIED
2169}
2170
2171func (x *ExportTestCasesRequest) GetFilter() string {
2172	if x != nil {
2173		return x.Filter
2174	}
2175	return ""
2176}
2177
2178type isExportTestCasesRequest_Destination interface {
2179	isExportTestCasesRequest_Destination()
2180}
2181
2182type ExportTestCasesRequest_GcsUri struct {
2183	// The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to
2184	// export the test cases to. The format of this URI must be
2185	// `gs://<bucket-name>/<object-name>`. If unspecified, the serialized test
2186	// cases is returned inline.
2187	GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`
2188}
2189
2190func (*ExportTestCasesRequest_GcsUri) isExportTestCasesRequest_Destination() {}
2191
2192// The response message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases].
2193type ExportTestCasesResponse struct {
2194	state         protoimpl.MessageState
2195	sizeCache     protoimpl.SizeCache
2196	unknownFields protoimpl.UnknownFields
2197
2198	// The exported test cases.
2199	//
2200	// Types that are assignable to Destination:
2201	//	*ExportTestCasesResponse_GcsUri
2202	//	*ExportTestCasesResponse_Content
2203	Destination isExportTestCasesResponse_Destination `protobuf_oneof:"destination"`
2204}
2205
2206func (x *ExportTestCasesResponse) Reset() {
2207	*x = ExportTestCasesResponse{}
2208	if protoimpl.UnsafeEnabled {
2209		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28]
2210		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2211		ms.StoreMessageInfo(mi)
2212	}
2213}
2214
2215func (x *ExportTestCasesResponse) String() string {
2216	return protoimpl.X.MessageStringOf(x)
2217}
2218
2219func (*ExportTestCasesResponse) ProtoMessage() {}
2220
2221func (x *ExportTestCasesResponse) ProtoReflect() protoreflect.Message {
2222	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28]
2223	if protoimpl.UnsafeEnabled && x != nil {
2224		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2225		if ms.LoadMessageInfo() == nil {
2226			ms.StoreMessageInfo(mi)
2227		}
2228		return ms
2229	}
2230	return mi.MessageOf(x)
2231}
2232
2233// Deprecated: Use ExportTestCasesResponse.ProtoReflect.Descriptor instead.
2234func (*ExportTestCasesResponse) Descriptor() ([]byte, []int) {
2235	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{28}
2236}
2237
2238func (m *ExportTestCasesResponse) GetDestination() isExportTestCasesResponse_Destination {
2239	if m != nil {
2240		return m.Destination
2241	}
2242	return nil
2243}
2244
2245func (x *ExportTestCasesResponse) GetGcsUri() string {
2246	if x, ok := x.GetDestination().(*ExportTestCasesResponse_GcsUri); ok {
2247		return x.GcsUri
2248	}
2249	return ""
2250}
2251
2252func (x *ExportTestCasesResponse) GetContent() []byte {
2253	if x, ok := x.GetDestination().(*ExportTestCasesResponse_Content); ok {
2254		return x.Content
2255	}
2256	return nil
2257}
2258
2259type isExportTestCasesResponse_Destination interface {
2260	isExportTestCasesResponse_Destination()
2261}
2262
2263type ExportTestCasesResponse_GcsUri struct {
2264	// The URI to a file containing the exported test cases. This field is
2265	// populated only if `gcs_uri` is specified in
2266	// [ExportTestCasesRequest][google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest].
2267	GcsUri string `protobuf:"bytes,1,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`
2268}
2269
2270type ExportTestCasesResponse_Content struct {
2271	// Uncompressed raw byte content for test cases.
2272	Content []byte `protobuf:"bytes,2,opt,name=content,proto3,oneof"`
2273}
2274
2275func (*ExportTestCasesResponse_GcsUri) isExportTestCasesResponse_Destination() {}
2276
2277func (*ExportTestCasesResponse_Content) isExportTestCasesResponse_Destination() {}
2278
2279// Metadata returned for the [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases] long running
2280// operation.
2281type ExportTestCasesMetadata struct {
2282	state         protoimpl.MessageState
2283	sizeCache     protoimpl.SizeCache
2284	unknownFields protoimpl.UnknownFields
2285}
2286
2287func (x *ExportTestCasesMetadata) Reset() {
2288	*x = ExportTestCasesMetadata{}
2289	if protoimpl.UnsafeEnabled {
2290		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[29]
2291		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2292		ms.StoreMessageInfo(mi)
2293	}
2294}
2295
2296func (x *ExportTestCasesMetadata) String() string {
2297	return protoimpl.X.MessageStringOf(x)
2298}
2299
2300func (*ExportTestCasesMetadata) ProtoMessage() {}
2301
2302func (x *ExportTestCasesMetadata) ProtoReflect() protoreflect.Message {
2303	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[29]
2304	if protoimpl.UnsafeEnabled && x != nil {
2305		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2306		if ms.LoadMessageInfo() == nil {
2307			ms.StoreMessageInfo(mi)
2308		}
2309		return ms
2310	}
2311	return mi.MessageOf(x)
2312}
2313
2314// Deprecated: Use ExportTestCasesMetadata.ProtoReflect.Descriptor instead.
2315func (*ExportTestCasesMetadata) Descriptor() ([]byte, []int) {
2316	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{29}
2317}
2318
2319// The request message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults].
2320type ListTestCaseResultsRequest struct {
2321	state         protoimpl.MessageState
2322	sizeCache     protoimpl.SizeCache
2323	unknownFields protoimpl.UnknownFields
2324
2325	// Required. The test case to list results for.
2326	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/
2327	// testCases/<TestCase ID>`. Specify a `-` as a wildcard for TestCase ID to
2328	// list results across multiple test cases.
2329	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2330	// The maximum number of items to return in a single page. By default 100 and
2331	// at most 1000.
2332	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2333	// The next_page_token value returned from a previous list request.
2334	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2335	// The filter expression used to filter test case results. See
2336	// [API Filtering](https://aip.dev/160).
2337	//
2338	// The expression is case insensitive. Only 'AND' is supported for logical
2339	// operators. The supported syntax is listed below in detail:
2340	//
2341	//   <field> <operator> <value> [AND <field> <operator> <value>] ...
2342	//   [AND latest]
2343	//
2344	// The supported fields and operators are:
2345	// field                 operator
2346	// `environment`         `=`, `IN`  (Use value `draft` for draft environment)
2347	// `test_time`           `>`, `<`
2348	//
2349	// `latest` only returns the latest test result in all results for each test
2350	// case.
2351	//
2352	// Examples:
2353	// *   "environment=draft AND latest" matches the latest test result for each
2354	//     test case in the draft environment.
2355	// *   "environment IN (e1,e2)" matches any test case results with an
2356	//     environment resource name of either "e1" or "e2".
2357	// *   "test_time > 1602540713" matches any test case results with test time
2358	//     later than a unix timestamp in seconds 1602540713.
2359	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
2360}
2361
2362func (x *ListTestCaseResultsRequest) Reset() {
2363	*x = ListTestCaseResultsRequest{}
2364	if protoimpl.UnsafeEnabled {
2365		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[30]
2366		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2367		ms.StoreMessageInfo(mi)
2368	}
2369}
2370
2371func (x *ListTestCaseResultsRequest) String() string {
2372	return protoimpl.X.MessageStringOf(x)
2373}
2374
2375func (*ListTestCaseResultsRequest) ProtoMessage() {}
2376
2377func (x *ListTestCaseResultsRequest) ProtoReflect() protoreflect.Message {
2378	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[30]
2379	if protoimpl.UnsafeEnabled && x != nil {
2380		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2381		if ms.LoadMessageInfo() == nil {
2382			ms.StoreMessageInfo(mi)
2383		}
2384		return ms
2385	}
2386	return mi.MessageOf(x)
2387}
2388
2389// Deprecated: Use ListTestCaseResultsRequest.ProtoReflect.Descriptor instead.
2390func (*ListTestCaseResultsRequest) Descriptor() ([]byte, []int) {
2391	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{30}
2392}
2393
2394func (x *ListTestCaseResultsRequest) GetParent() string {
2395	if x != nil {
2396		return x.Parent
2397	}
2398	return ""
2399}
2400
2401func (x *ListTestCaseResultsRequest) GetPageSize() int32 {
2402	if x != nil {
2403		return x.PageSize
2404	}
2405	return 0
2406}
2407
2408func (x *ListTestCaseResultsRequest) GetPageToken() string {
2409	if x != nil {
2410		return x.PageToken
2411	}
2412	return ""
2413}
2414
2415func (x *ListTestCaseResultsRequest) GetFilter() string {
2416	if x != nil {
2417		return x.Filter
2418	}
2419	return ""
2420}
2421
2422// The response message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults].
2423type ListTestCaseResultsResponse struct {
2424	state         protoimpl.MessageState
2425	sizeCache     protoimpl.SizeCache
2426	unknownFields protoimpl.UnknownFields
2427
2428	// The list of test case results.
2429	TestCaseResults []*TestCaseResult `protobuf:"bytes,1,rep,name=test_case_results,json=testCaseResults,proto3" json:"test_case_results,omitempty"`
2430	// Token to retrieve the next page of results, or empty if there are no more
2431	// results in the list.
2432	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2433}
2434
2435func (x *ListTestCaseResultsResponse) Reset() {
2436	*x = ListTestCaseResultsResponse{}
2437	if protoimpl.UnsafeEnabled {
2438		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[31]
2439		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2440		ms.StoreMessageInfo(mi)
2441	}
2442}
2443
2444func (x *ListTestCaseResultsResponse) String() string {
2445	return protoimpl.X.MessageStringOf(x)
2446}
2447
2448func (*ListTestCaseResultsResponse) ProtoMessage() {}
2449
2450func (x *ListTestCaseResultsResponse) ProtoReflect() protoreflect.Message {
2451	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[31]
2452	if protoimpl.UnsafeEnabled && x != nil {
2453		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2454		if ms.LoadMessageInfo() == nil {
2455			ms.StoreMessageInfo(mi)
2456		}
2457		return ms
2458	}
2459	return mi.MessageOf(x)
2460}
2461
2462// Deprecated: Use ListTestCaseResultsResponse.ProtoReflect.Descriptor instead.
2463func (*ListTestCaseResultsResponse) Descriptor() ([]byte, []int) {
2464	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{31}
2465}
2466
2467func (x *ListTestCaseResultsResponse) GetTestCaseResults() []*TestCaseResult {
2468	if x != nil {
2469		return x.TestCaseResults
2470	}
2471	return nil
2472}
2473
2474func (x *ListTestCaseResultsResponse) GetNextPageToken() string {
2475	if x != nil {
2476		return x.NextPageToken
2477	}
2478	return ""
2479}
2480
2481// The request message for [TestCases.GetTestCaseResult][google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCaseResult].
2482type GetTestCaseResultRequest struct {
2483	state         protoimpl.MessageState
2484	sizeCache     protoimpl.SizeCache
2485	unknownFields protoimpl.UnknownFields
2486
2487	// Required. The name of the testcase.
2488	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
2489	// ID>/testCases/<TestCase ID>/results/<TestCaseResult ID>`.
2490	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2491}
2492
2493func (x *GetTestCaseResultRequest) Reset() {
2494	*x = GetTestCaseResultRequest{}
2495	if protoimpl.UnsafeEnabled {
2496		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[32]
2497		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2498		ms.StoreMessageInfo(mi)
2499	}
2500}
2501
2502func (x *GetTestCaseResultRequest) String() string {
2503	return protoimpl.X.MessageStringOf(x)
2504}
2505
2506func (*GetTestCaseResultRequest) ProtoMessage() {}
2507
2508func (x *GetTestCaseResultRequest) ProtoReflect() protoreflect.Message {
2509	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[32]
2510	if protoimpl.UnsafeEnabled && x != nil {
2511		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2512		if ms.LoadMessageInfo() == nil {
2513			ms.StoreMessageInfo(mi)
2514		}
2515		return ms
2516	}
2517	return mi.MessageOf(x)
2518}
2519
2520// Deprecated: Use GetTestCaseResultRequest.ProtoReflect.Descriptor instead.
2521func (*GetTestCaseResultRequest) Descriptor() ([]byte, []int) {
2522	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{32}
2523}
2524
2525func (x *GetTestCaseResultRequest) GetName() string {
2526	if x != nil {
2527		return x.Name
2528	}
2529	return ""
2530}
2531
2532// The input from the human user.
2533type ConversationTurn_UserInput struct {
2534	state         protoimpl.MessageState
2535	sizeCache     protoimpl.SizeCache
2536	unknownFields protoimpl.UnknownFields
2537
2538	// Supports [text input][google.cloud.dialogflow.cx.v3beta1.QueryInput.text], [event input][google.cloud.dialogflow.cx.v3beta1.QueryInput.event],
2539	// [dtmf input][google.cloud.dialogflow.cx.v3beta1.QueryInput.dtmf] in the test case.
2540	Input *QueryInput `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"`
2541	// Parameters that need to be injected into the conversation during intent
2542	// detection.
2543	InjectedParameters *structpb.Struct `protobuf:"bytes,2,opt,name=injected_parameters,json=injectedParameters,proto3" json:"injected_parameters,omitempty"`
2544	// If webhooks should be allowed to trigger in response to the user
2545	// utterance. Often if parameters are injected, webhooks should not be
2546	// enabled.
2547	IsWebhookEnabled bool `protobuf:"varint,3,opt,name=is_webhook_enabled,json=isWebhookEnabled,proto3" json:"is_webhook_enabled,omitempty"`
2548}
2549
2550func (x *ConversationTurn_UserInput) Reset() {
2551	*x = ConversationTurn_UserInput{}
2552	if protoimpl.UnsafeEnabled {
2553		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[33]
2554		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2555		ms.StoreMessageInfo(mi)
2556	}
2557}
2558
2559func (x *ConversationTurn_UserInput) String() string {
2560	return protoimpl.X.MessageStringOf(x)
2561}
2562
2563func (*ConversationTurn_UserInput) ProtoMessage() {}
2564
2565func (x *ConversationTurn_UserInput) ProtoReflect() protoreflect.Message {
2566	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[33]
2567	if protoimpl.UnsafeEnabled && x != nil {
2568		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2569		if ms.LoadMessageInfo() == nil {
2570			ms.StoreMessageInfo(mi)
2571		}
2572		return ms
2573	}
2574	return mi.MessageOf(x)
2575}
2576
2577// Deprecated: Use ConversationTurn_UserInput.ProtoReflect.Descriptor instead.
2578func (*ConversationTurn_UserInput) Descriptor() ([]byte, []int) {
2579	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{3, 0}
2580}
2581
2582func (x *ConversationTurn_UserInput) GetInput() *QueryInput {
2583	if x != nil {
2584		return x.Input
2585	}
2586	return nil
2587}
2588
2589func (x *ConversationTurn_UserInput) GetInjectedParameters() *structpb.Struct {
2590	if x != nil {
2591		return x.InjectedParameters
2592	}
2593	return nil
2594}
2595
2596func (x *ConversationTurn_UserInput) GetIsWebhookEnabled() bool {
2597	if x != nil {
2598		return x.IsWebhookEnabled
2599	}
2600	return false
2601}
2602
2603// The output from the virtual agent.
2604type ConversationTurn_VirtualAgentOutput struct {
2605	state         protoimpl.MessageState
2606	sizeCache     protoimpl.SizeCache
2607	unknownFields protoimpl.UnknownFields
2608
2609	// The session parameters available to the bot at this point.
2610	SessionParameters *structpb.Struct `protobuf:"bytes,4,opt,name=session_parameters,json=sessionParameters,proto3" json:"session_parameters,omitempty"`
2611	// Output only. If this is part of a [result conversation
2612	// turn][TestCaseResult.conversation_turns], the list of differences
2613	// between the original run and the replay for this output, if any.
2614	Differences []*TestRunDifference `protobuf:"bytes,5,rep,name=differences,proto3" json:"differences,omitempty"`
2615	// Required. Input only. The diagnostic
2616	// [info][Session.DetectIntentResponse.QueryResult.diagnostic_info]
2617	// output for the turn.
2618	DiagnosticInfo *structpb.Struct `protobuf:"bytes,6,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"`
2619	// The [Intent][google.cloud.dialogflow.cx.v3beta1.Intent] that triggered the response. Only name and displayName
2620	// will be set.
2621	TriggeredIntent *Intent `protobuf:"bytes,7,opt,name=triggered_intent,json=triggeredIntent,proto3" json:"triggered_intent,omitempty"`
2622	// The [Page][google.cloud.dialogflow.cx.v3beta1.Page] on which the utterance was spoken. Only name and displayName
2623	// will be set.
2624	CurrentPage *Page `protobuf:"bytes,8,opt,name=current_page,json=currentPage,proto3" json:"current_page,omitempty"`
2625	// The [text][google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text] responses from the agent for the turn.
2626	TextResponses []*ResponseMessage_Text `protobuf:"bytes,9,rep,name=text_responses,json=textResponses,proto3" json:"text_responses,omitempty"`
2627	// Response error from the agent in the test result. If set, other output
2628	// is empty.
2629	Status *status.Status `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"`
2630}
2631
2632func (x *ConversationTurn_VirtualAgentOutput) Reset() {
2633	*x = ConversationTurn_VirtualAgentOutput{}
2634	if protoimpl.UnsafeEnabled {
2635		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[34]
2636		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2637		ms.StoreMessageInfo(mi)
2638	}
2639}
2640
2641func (x *ConversationTurn_VirtualAgentOutput) String() string {
2642	return protoimpl.X.MessageStringOf(x)
2643}
2644
2645func (*ConversationTurn_VirtualAgentOutput) ProtoMessage() {}
2646
2647func (x *ConversationTurn_VirtualAgentOutput) ProtoReflect() protoreflect.Message {
2648	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[34]
2649	if protoimpl.UnsafeEnabled && x != nil {
2650		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2651		if ms.LoadMessageInfo() == nil {
2652			ms.StoreMessageInfo(mi)
2653		}
2654		return ms
2655	}
2656	return mi.MessageOf(x)
2657}
2658
2659// Deprecated: Use ConversationTurn_VirtualAgentOutput.ProtoReflect.Descriptor instead.
2660func (*ConversationTurn_VirtualAgentOutput) Descriptor() ([]byte, []int) {
2661	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{3, 1}
2662}
2663
2664func (x *ConversationTurn_VirtualAgentOutput) GetSessionParameters() *structpb.Struct {
2665	if x != nil {
2666		return x.SessionParameters
2667	}
2668	return nil
2669}
2670
2671func (x *ConversationTurn_VirtualAgentOutput) GetDifferences() []*TestRunDifference {
2672	if x != nil {
2673		return x.Differences
2674	}
2675	return nil
2676}
2677
2678func (x *ConversationTurn_VirtualAgentOutput) GetDiagnosticInfo() *structpb.Struct {
2679	if x != nil {
2680		return x.DiagnosticInfo
2681	}
2682	return nil
2683}
2684
2685func (x *ConversationTurn_VirtualAgentOutput) GetTriggeredIntent() *Intent {
2686	if x != nil {
2687		return x.TriggeredIntent
2688	}
2689	return nil
2690}
2691
2692func (x *ConversationTurn_VirtualAgentOutput) GetCurrentPage() *Page {
2693	if x != nil {
2694		return x.CurrentPage
2695	}
2696	return nil
2697}
2698
2699func (x *ConversationTurn_VirtualAgentOutput) GetTextResponses() []*ResponseMessage_Text {
2700	if x != nil {
2701		return x.TextResponses
2702	}
2703	return nil
2704}
2705
2706func (x *ConversationTurn_VirtualAgentOutput) GetStatus() *status.Status {
2707	if x != nil {
2708		return x.Status
2709	}
2710	return nil
2711}
2712
2713// The source or target of a transition.
2714type TransitionCoverage_TransitionNode struct {
2715	state         protoimpl.MessageState
2716	sizeCache     protoimpl.SizeCache
2717	unknownFields protoimpl.UnknownFields
2718
2719	// A TransitionNode can be either a page or a flow.
2720	//
2721	// Types that are assignable to Kind:
2722	//	*TransitionCoverage_TransitionNode_Page
2723	//	*TransitionCoverage_TransitionNode_Flow
2724	Kind isTransitionCoverage_TransitionNode_Kind `protobuf_oneof:"kind"`
2725}
2726
2727func (x *TransitionCoverage_TransitionNode) Reset() {
2728	*x = TransitionCoverage_TransitionNode{}
2729	if protoimpl.UnsafeEnabled {
2730		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35]
2731		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2732		ms.StoreMessageInfo(mi)
2733	}
2734}
2735
2736func (x *TransitionCoverage_TransitionNode) String() string {
2737	return protoimpl.X.MessageStringOf(x)
2738}
2739
2740func (*TransitionCoverage_TransitionNode) ProtoMessage() {}
2741
2742func (x *TransitionCoverage_TransitionNode) ProtoReflect() protoreflect.Message {
2743	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35]
2744	if protoimpl.UnsafeEnabled && x != nil {
2745		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2746		if ms.LoadMessageInfo() == nil {
2747			ms.StoreMessageInfo(mi)
2748		}
2749		return ms
2750	}
2751	return mi.MessageOf(x)
2752}
2753
2754// Deprecated: Use TransitionCoverage_TransitionNode.ProtoReflect.Descriptor instead.
2755func (*TransitionCoverage_TransitionNode) Descriptor() ([]byte, []int) {
2756	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{5, 0}
2757}
2758
2759func (m *TransitionCoverage_TransitionNode) GetKind() isTransitionCoverage_TransitionNode_Kind {
2760	if m != nil {
2761		return m.Kind
2762	}
2763	return nil
2764}
2765
2766func (x *TransitionCoverage_TransitionNode) GetPage() *Page {
2767	if x, ok := x.GetKind().(*TransitionCoverage_TransitionNode_Page); ok {
2768		return x.Page
2769	}
2770	return nil
2771}
2772
2773func (x *TransitionCoverage_TransitionNode) GetFlow() *Flow {
2774	if x, ok := x.GetKind().(*TransitionCoverage_TransitionNode_Flow); ok {
2775		return x.Flow
2776	}
2777	return nil
2778}
2779
2780type isTransitionCoverage_TransitionNode_Kind interface {
2781	isTransitionCoverage_TransitionNode_Kind()
2782}
2783
2784type TransitionCoverage_TransitionNode_Page struct {
2785	// Indicates a transition to a [Page][google.cloud.dialogflow.cx.v3beta1.Page]. Only some fields such as name and
2786	// displayname will be set.
2787	Page *Page `protobuf:"bytes,1,opt,name=page,proto3,oneof"`
2788}
2789
2790type TransitionCoverage_TransitionNode_Flow struct {
2791	// Indicates a transition to a [Flow][google.cloud.dialogflow.cx.v3beta1.Flow]. Only some fields such as name and
2792	// displayname will be set.
2793	Flow *Flow `protobuf:"bytes,2,opt,name=flow,proto3,oneof"`
2794}
2795
2796func (*TransitionCoverage_TransitionNode_Page) isTransitionCoverage_TransitionNode_Kind() {}
2797
2798func (*TransitionCoverage_TransitionNode_Flow) isTransitionCoverage_TransitionNode_Kind() {}
2799
2800// A transition in a page.
2801type TransitionCoverage_Transition struct {
2802	state         protoimpl.MessageState
2803	sizeCache     protoimpl.SizeCache
2804	unknownFields protoimpl.UnknownFields
2805
2806	// The start node of a transition.
2807	Source *TransitionCoverage_TransitionNode `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
2808	// The index of a transition in the transition list. Starting from 0.
2809	Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
2810	// The end node of a transition.
2811	Target *TransitionCoverage_TransitionNode `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
2812	// Whether or not the transition is covered by at least one of the
2813	// agent's test cases.
2814	Covered bool `protobuf:"varint,3,opt,name=covered,proto3" json:"covered,omitempty"`
2815	// The detailed transition.
2816	//
2817	// Types that are assignable to Detail:
2818	//	*TransitionCoverage_Transition_TransitionRoute
2819	//	*TransitionCoverage_Transition_EventHandler
2820	Detail isTransitionCoverage_Transition_Detail `protobuf_oneof:"detail"`
2821}
2822
2823func (x *TransitionCoverage_Transition) Reset() {
2824	*x = TransitionCoverage_Transition{}
2825	if protoimpl.UnsafeEnabled {
2826		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[36]
2827		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2828		ms.StoreMessageInfo(mi)
2829	}
2830}
2831
2832func (x *TransitionCoverage_Transition) String() string {
2833	return protoimpl.X.MessageStringOf(x)
2834}
2835
2836func (*TransitionCoverage_Transition) ProtoMessage() {}
2837
2838func (x *TransitionCoverage_Transition) ProtoReflect() protoreflect.Message {
2839	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[36]
2840	if protoimpl.UnsafeEnabled && x != nil {
2841		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2842		if ms.LoadMessageInfo() == nil {
2843			ms.StoreMessageInfo(mi)
2844		}
2845		return ms
2846	}
2847	return mi.MessageOf(x)
2848}
2849
2850// Deprecated: Use TransitionCoverage_Transition.ProtoReflect.Descriptor instead.
2851func (*TransitionCoverage_Transition) Descriptor() ([]byte, []int) {
2852	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{5, 1}
2853}
2854
2855func (x *TransitionCoverage_Transition) GetSource() *TransitionCoverage_TransitionNode {
2856	if x != nil {
2857		return x.Source
2858	}
2859	return nil
2860}
2861
2862func (x *TransitionCoverage_Transition) GetIndex() int32 {
2863	if x != nil {
2864		return x.Index
2865	}
2866	return 0
2867}
2868
2869func (x *TransitionCoverage_Transition) GetTarget() *TransitionCoverage_TransitionNode {
2870	if x != nil {
2871		return x.Target
2872	}
2873	return nil
2874}
2875
2876func (x *TransitionCoverage_Transition) GetCovered() bool {
2877	if x != nil {
2878		return x.Covered
2879	}
2880	return false
2881}
2882
2883func (m *TransitionCoverage_Transition) GetDetail() isTransitionCoverage_Transition_Detail {
2884	if m != nil {
2885		return m.Detail
2886	}
2887	return nil
2888}
2889
2890func (x *TransitionCoverage_Transition) GetTransitionRoute() *TransitionRoute {
2891	if x, ok := x.GetDetail().(*TransitionCoverage_Transition_TransitionRoute); ok {
2892		return x.TransitionRoute
2893	}
2894	return nil
2895}
2896
2897func (x *TransitionCoverage_Transition) GetEventHandler() *EventHandler {
2898	if x, ok := x.GetDetail().(*TransitionCoverage_Transition_EventHandler); ok {
2899		return x.EventHandler
2900	}
2901	return nil
2902}
2903
2904type isTransitionCoverage_Transition_Detail interface {
2905	isTransitionCoverage_Transition_Detail()
2906}
2907
2908type TransitionCoverage_Transition_TransitionRoute struct {
2909	// Intent route or condition route.
2910	TransitionRoute *TransitionRoute `protobuf:"bytes,5,opt,name=transition_route,json=transitionRoute,proto3,oneof"`
2911}
2912
2913type TransitionCoverage_Transition_EventHandler struct {
2914	// Event handler.
2915	EventHandler *EventHandler `protobuf:"bytes,6,opt,name=event_handler,json=eventHandler,proto3,oneof"`
2916}
2917
2918func (*TransitionCoverage_Transition_TransitionRoute) isTransitionCoverage_Transition_Detail() {}
2919
2920func (*TransitionCoverage_Transition_EventHandler) isTransitionCoverage_Transition_Detail() {}
2921
2922// Coverage result message for one transition route group.
2923type TransitionRouteGroupCoverage_Coverage struct {
2924	state         protoimpl.MessageState
2925	sizeCache     protoimpl.SizeCache
2926	unknownFields protoimpl.UnknownFields
2927
2928	// Transition route group metadata. Only name and displayName will be set.
2929	RouteGroup *TransitionRouteGroup `protobuf:"bytes,1,opt,name=route_group,json=routeGroup,proto3" json:"route_group,omitempty"`
2930	// The list of transition routes and coverage in the transition route group.
2931	Transitions []*TransitionRouteGroupCoverage_Coverage_Transition `protobuf:"bytes,2,rep,name=transitions,proto3" json:"transitions,omitempty"`
2932	// The percent of transition routes in the transition route group that are
2933	// covered.
2934	CoverageScore float32 `protobuf:"fixed32,3,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
2935}
2936
2937func (x *TransitionRouteGroupCoverage_Coverage) Reset() {
2938	*x = TransitionRouteGroupCoverage_Coverage{}
2939	if protoimpl.UnsafeEnabled {
2940		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[37]
2941		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2942		ms.StoreMessageInfo(mi)
2943	}
2944}
2945
2946func (x *TransitionRouteGroupCoverage_Coverage) String() string {
2947	return protoimpl.X.MessageStringOf(x)
2948}
2949
2950func (*TransitionRouteGroupCoverage_Coverage) ProtoMessage() {}
2951
2952func (x *TransitionRouteGroupCoverage_Coverage) ProtoReflect() protoreflect.Message {
2953	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[37]
2954	if protoimpl.UnsafeEnabled && x != nil {
2955		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2956		if ms.LoadMessageInfo() == nil {
2957			ms.StoreMessageInfo(mi)
2958		}
2959		return ms
2960	}
2961	return mi.MessageOf(x)
2962}
2963
2964// Deprecated: Use TransitionRouteGroupCoverage_Coverage.ProtoReflect.Descriptor instead.
2965func (*TransitionRouteGroupCoverage_Coverage) Descriptor() ([]byte, []int) {
2966	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{6, 0}
2967}
2968
2969func (x *TransitionRouteGroupCoverage_Coverage) GetRouteGroup() *TransitionRouteGroup {
2970	if x != nil {
2971		return x.RouteGroup
2972	}
2973	return nil
2974}
2975
2976func (x *TransitionRouteGroupCoverage_Coverage) GetTransitions() []*TransitionRouteGroupCoverage_Coverage_Transition {
2977	if x != nil {
2978		return x.Transitions
2979	}
2980	return nil
2981}
2982
2983func (x *TransitionRouteGroupCoverage_Coverage) GetCoverageScore() float32 {
2984	if x != nil {
2985		return x.CoverageScore
2986	}
2987	return 0
2988}
2989
2990// A transition coverage in a transition route group.
2991type TransitionRouteGroupCoverage_Coverage_Transition struct {
2992	state         protoimpl.MessageState
2993	sizeCache     protoimpl.SizeCache
2994	unknownFields protoimpl.UnknownFields
2995
2996	// Intent route or condition route.
2997	TransitionRoute *TransitionRoute `protobuf:"bytes,1,opt,name=transition_route,json=transitionRoute,proto3" json:"transition_route,omitempty"`
2998	// Whether or not the transition route is covered by at least one of the
2999	// agent's test cases.
3000	Covered bool `protobuf:"varint,2,opt,name=covered,proto3" json:"covered,omitempty"`
3001}
3002
3003func (x *TransitionRouteGroupCoverage_Coverage_Transition) Reset() {
3004	*x = TransitionRouteGroupCoverage_Coverage_Transition{}
3005	if protoimpl.UnsafeEnabled {
3006		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[38]
3007		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3008		ms.StoreMessageInfo(mi)
3009	}
3010}
3011
3012func (x *TransitionRouteGroupCoverage_Coverage_Transition) String() string {
3013	return protoimpl.X.MessageStringOf(x)
3014}
3015
3016func (*TransitionRouteGroupCoverage_Coverage_Transition) ProtoMessage() {}
3017
3018func (x *TransitionRouteGroupCoverage_Coverage_Transition) ProtoReflect() protoreflect.Message {
3019	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[38]
3020	if protoimpl.UnsafeEnabled && x != nil {
3021		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3022		if ms.LoadMessageInfo() == nil {
3023			ms.StoreMessageInfo(mi)
3024		}
3025		return ms
3026	}
3027	return mi.MessageOf(x)
3028}
3029
3030// Deprecated: Use TransitionRouteGroupCoverage_Coverage_Transition.ProtoReflect.Descriptor instead.
3031func (*TransitionRouteGroupCoverage_Coverage_Transition) Descriptor() ([]byte, []int) {
3032	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{6, 0, 0}
3033}
3034
3035func (x *TransitionRouteGroupCoverage_Coverage_Transition) GetTransitionRoute() *TransitionRoute {
3036	if x != nil {
3037		return x.TransitionRoute
3038	}
3039	return nil
3040}
3041
3042func (x *TransitionRouteGroupCoverage_Coverage_Transition) GetCovered() bool {
3043	if x != nil {
3044		return x.Covered
3045	}
3046	return false
3047}
3048
3049// The agent's intent.
3050type IntentCoverage_Intent struct {
3051	state         protoimpl.MessageState
3052	sizeCache     protoimpl.SizeCache
3053	unknownFields protoimpl.UnknownFields
3054
3055	// The intent full resource name
3056	Intent string `protobuf:"bytes,1,opt,name=intent,proto3" json:"intent,omitempty"`
3057	// Whether or not the intent is covered by at least one of the agent's
3058	// test cases.
3059	Covered bool `protobuf:"varint,2,opt,name=covered,proto3" json:"covered,omitempty"`
3060}
3061
3062func (x *IntentCoverage_Intent) Reset() {
3063	*x = IntentCoverage_Intent{}
3064	if protoimpl.UnsafeEnabled {
3065		mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[39]
3066		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3067		ms.StoreMessageInfo(mi)
3068	}
3069}
3070
3071func (x *IntentCoverage_Intent) String() string {
3072	return protoimpl.X.MessageStringOf(x)
3073}
3074
3075func (*IntentCoverage_Intent) ProtoMessage() {}
3076
3077func (x *IntentCoverage_Intent) ProtoReflect() protoreflect.Message {
3078	mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[39]
3079	if protoimpl.UnsafeEnabled && x != nil {
3080		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3081		if ms.LoadMessageInfo() == nil {
3082			ms.StoreMessageInfo(mi)
3083		}
3084		return ms
3085	}
3086	return mi.MessageOf(x)
3087}
3088
3089// Deprecated: Use IntentCoverage_Intent.ProtoReflect.Descriptor instead.
3090func (*IntentCoverage_Intent) Descriptor() ([]byte, []int) {
3091	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{7, 0}
3092}
3093
3094func (x *IntentCoverage_Intent) GetIntent() string {
3095	if x != nil {
3096		return x.Intent
3097	}
3098	return ""
3099}
3100
3101func (x *IntentCoverage_Intent) GetCovered() bool {
3102	if x != nil {
3103		return x.Covered
3104	}
3105	return false
3106}
3107
3108var File_google_cloud_dialogflow_cx_v3beta1_test_case_proto protoreflect.FileDescriptor
3109
3110var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc = []byte{
3111	0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
3112	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62,
3113	0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x70,
3114	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3115	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3116	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3117	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3118	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
3119	0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
3120	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c,
3121	0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3122	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
3123	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f,
3124	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3125	0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
3126	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
3127	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3128	0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69,
3129	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f,
3130	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3131	0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
3132	0x70, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 0x6f, 0x67,
3133	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3134	0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72,
3135	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e,
3136	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
3137	0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63,
3138	0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
3139	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
3140	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3141	0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e,
3142	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f,
3143	0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3144	0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65,
3145	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67,
3146	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65,
3147	0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
3148	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c,
3149	0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
3150	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74,
3151	0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
3152	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
3153	0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
3154	0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
3155	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x04, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3156	0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
3157	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20,
3158	0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73,
3159	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
3160	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d,
3161	0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
3162	0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f,
3163	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67,
3164	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
3165	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
3166	0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x74, 0x65,
3167	0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x1c, 0x74, 0x65, 0x73, 0x74,
3168	0x5f, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69,
3169	0x6f, 0x6e, 0x5f, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34,
3170	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3171	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3172	0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3173	0x54, 0x75, 0x72, 0x6e, 0x52, 0x19, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x43, 0x6f,
3174	0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x73, 0x12,
3175	0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
3176	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3177	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
3178	0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
3179	0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x65,
3180	0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
3181	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3182	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3183	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
3184	0x75, 0x6c, 0x74, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73,
3185	0x75, 0x6c, 0x74, 0x3a, 0x75, 0xea, 0x41, 0x72, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3186	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3187	0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x4c, 0x70, 0x72,
3188	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d,
3189	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61,
3190	0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67,
3191	0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b,
3192	0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x7d, 0x22, 0xf1, 0x03, 0x0a, 0x0e, 0x54,
3193	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a,
3194	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
3195	0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
3196	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61,
3197	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
3198	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
3199	0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12,
3200	0x63, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
3201	0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f,
3202	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
3203	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
3204	0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72,
3205	0x6e, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
3206	0x75, 0x72, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73,
3207	0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3208	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3209	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
3210	0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x52,
3211	0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69,
3212	0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3213	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
3214	0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x8d,
3215	0x01, 0xea, 0x41, 0x89, 0x01, 0x0a, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3216	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3217	0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
3218	0x5d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3219	0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c,
3220	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f,
3221	0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3222	0x73, 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x72, 0x65,
3223	0x73, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x7d, 0x22, 0x76,
3224	0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13,
3225	0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
3226	0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b,
3227	0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a,
3228	0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20,
3229	0x0a, 0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
3230	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77,
3231	0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0xf0, 0x07, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65,
3232	0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x5d, 0x0a, 0x0a, 0x75,
3233	0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
3234	0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3235	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3236	0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
3237	0x6e, 0x54, 0x75, 0x72, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52,
3238	0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x79, 0x0a, 0x14, 0x76, 0x69,
3239	0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70,
3240	0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3241	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3242	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f,
3243	0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x2e, 0x56,
3244	0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75,
3245	0x74, 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f,
3246	0x75, 0x74, 0x70, 0x75, 0x74, 0x1a, 0xc9, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e,
3247	0x70, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01,
3248	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3249	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3250	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70,
3251	0x75, 0x74, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x13, 0x69, 0x6e, 0x6a,
3252	0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
3253	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3254	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52,
3255	0x12, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
3256	0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f,
3257	0x6b, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
3258	0x10, 0x69, 0x73, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
3259	0x64, 0x1a, 0xb5, 0x04, 0x0a, 0x12, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65,
3260	0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x12, 0x73, 0x65, 0x73, 0x73,
3261	0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04,
3262	0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3263	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x11, 0x73,
3264	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
3265	0x12, 0x5c, 0x0a, 0x0b, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18,
3266	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3267	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3268	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52,
3269	0x75, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41,
3270	0x03, 0x52, 0x0b, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x48,
3271	0x0a, 0x0f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x66,
3272	0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3273	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
3274	0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x04, 0x52, 0x0e, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f,
3275	0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x72, 0x69, 0x67,
3276	0x67, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01,
3277	0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3278	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3279	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0f,
3280	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12,
3281	0x4b, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18,
3282	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3283	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3284	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52,
3285	0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x65, 0x12, 0x5f, 0x0a, 0x0e,
3286	0x74, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x09,
3287	0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3288	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
3289	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3290	0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x52, 0x0d,
3291	0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x2a, 0x0a,
3292	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
3293	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
3294	0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x11, 0x54, 0x65,
3295	0x73, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12,
3296	0x52, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e,
3297	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
3298	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
3299	0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72,
3300	0x65, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74,
3301	0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
3302	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
3303	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5a, 0x0a, 0x08, 0x44, 0x69, 0x66, 0x66, 0x54, 0x79, 0x70,
3304	0x65, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55,
3305	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06,
3306	0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x47, 0x45,
3307	0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53,
3308	0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x54, 0x54, 0x45, 0x52, 0x41, 0x4e, 0x43, 0x45, 0x10,
3309	0x04, 0x22, 0xfd, 0x05, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
3310	0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x63, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e,
3311	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e,
3312	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
3313	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
3314	0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76,
3315	0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
3316	0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a,
3317	0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
3318	0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53,
3319	0x63, 0x6f, 0x72, 0x65, 0x1a, 0x98, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
3320	0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18,
3321	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3322	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3323	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x48,
3324	0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18,
3325	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3326	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3327	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x48,
3328	0x00, 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a,
3329	0xbf, 0x03, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d,
3330	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45,
3331	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3332	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3333	0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
3334	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f,
3335	0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a,
3336	0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e,
3337	0x64, 0x65, 0x78, 0x12, 0x5d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20,
3338	0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3339	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3340	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
3341	0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e,
3342	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67,
3343	0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20,
3344	0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x10,
3345	0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65,
3346	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3347	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3348	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e,
3349	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x74,
3350	0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x57,
3351	0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18,
3352	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3353	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3354	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
3355	0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74,
3356	0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69,
3357	0x6c, 0x22, 0xbe, 0x04, 0x0a, 0x1c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
3358	0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61,
3359	0x67, 0x65, 0x12, 0x67, 0x0a, 0x09, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18,
3360	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3361	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3362	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
3363	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43,
3364	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,
3365	0x52, 0x09, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63,
3366	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20,
3367	0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f,
3368	0x72, 0x65, 0x1a, 0x8d, 0x03, 0x0a, 0x08, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12,
3369	0x59, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01,
3370	0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3371	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
3372	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69,
3373	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a,
3374	0x72, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x76, 0x0a, 0x0b, 0x74, 0x72,
3375	0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
3376	0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3377	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3378	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3379	0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
3380	0x65, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
3381	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f,
3382	0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73,
3383	0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65,
3384	0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x86, 0x01, 0x0a, 0x0a, 0x54, 0x72,
3385	0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e,
3386	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01,
3387	0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3388	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3389	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
3390	0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
3391	0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65,
3392	0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72,
3393	0x65, 0x64, 0x22, 0xef, 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76,
3394	0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73,
3395	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3396	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3397	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65,
3398	0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e,
3399	0x74, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f,
3400	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01,
3401	0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72,
3402	0x65, 0x1a, 0x61, 0x0a, 0x06, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x69,
3403	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, 0x22,
3404	0x0a, 0x20, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
3405	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x74, 0x65,
3406	0x6e, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
3407	0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x76,
3408	0x65, 0x72, 0x65, 0x64, 0x22, 0xa9, 0x02, 0x0a, 0x18, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61,
3409	0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3410	0x74, 0x12, 0x3d, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
3411	0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3412	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3413	0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74,
3414	0x12, 0x62, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x49,
3415	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3416	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3417	0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76,
3418	0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x76,
3419	0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04,
3420	0x74, 0x79, 0x70, 0x65, 0x22, 0x6a, 0x0a, 0x0c, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,
3421	0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x47, 0x45,
3422	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
3423	0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12,
3424	0x13, 0x0a, 0x0f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49,
3425	0x4f, 0x4e, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49,
3426	0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x03,
3427	0x22, 0xa8, 0x03, 0x0a, 0x19, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f,
3428	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a,
3429	0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa,
3430	0x41, 0x21, 0x0a, 0x1f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67,
3431	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67,
3432	0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x5d, 0x0a, 0x0f, 0x69, 0x6e,
3433	0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
3434	0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3435	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3436	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43,
3437	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x6e,
3438	0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x69, 0x0a, 0x13, 0x74, 0x72, 0x61,
3439	0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,
3440	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3441	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3442	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e,
3443	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x48, 0x00,
3444	0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65,
3445	0x72, 0x61, 0x67, 0x65, 0x12, 0x74, 0x0a, 0x14, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72,
3446	0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01,
3447	0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3448	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3449	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
3450	0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65,
3451	0x72, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f,
3452	0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x63, 0x6f,
3453	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb6, 0x02, 0x0a, 0x14,
3454	0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71,
3455	0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
3456	0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69,
3457	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3458	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3459	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65,
3460	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
3461	0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
3462	0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54,
3463	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x59, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01,
3464	0x28, 0x0e, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3465	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3466	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74,
3467	0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
3468	0x74, 0x43, 0x61, 0x73, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22,
3469	0x43, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12,
3470	0x1e, 0x0a, 0x1a, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x45,
3471	0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
3472	0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55,
3473	0x4c, 0x4c, 0x10, 0x02, 0x22, 0x8c, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73,
3474	0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b,
3475	0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
3476	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3477	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3478	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3479	0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
3480	0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
3481	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
3482	0x6b, 0x65, 0x6e, 0x22, 0xa3, 0x01, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c,
3483	0x65, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
3484	0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
3485	0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61,
3486	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
3487	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3488	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73,
3489	0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22,
3490	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3491	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3492	0x73, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x15, 0x43, 0x72,
3493	0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75,
3494	0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
3495	0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61,
3496	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
3497	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3498	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f,
3499	0x63, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
3500	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3501	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3502	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74,
3503	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61,
3504	0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3505	0x74, 0x12, 0x4e, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x01,
3506	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3507	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
3508	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3509	0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3510	0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
3511	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3512	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61,
3513	0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
3514	0x61, 0x73, 0x6b, 0x22, 0x54, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3515	0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
3516	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a,
3517	0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3518	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43,
3519	0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x52, 0x75,
3520	0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3521	0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a,
3522	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3523	0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
3524	0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3525	0x12, 0x4f, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18,
3526	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64,
3527	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3528	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
3529	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
3530	0x74, 0x22, 0x61, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3531	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75,
3532	0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3533	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3534	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65,
3535	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65,
3536	0x73, 0x75, 0x6c, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43,
3537	0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xfa, 0x01, 0x0a, 0x18,
3538	0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3539	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
3540	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24,
3541	0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
3542	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74,
3543	0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0b,
3544	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
3545	0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f,
3546	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
3547	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
3548	0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a,
3549	0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
3550	0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f,
3551	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
3552	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x09, 0x74,
3553	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63,
3554	0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73,
3555	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
3556	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3557	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3558	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74,
3559	0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75,
3560	0x6c, 0x74, 0x73, 0x22, 0x62, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54,
3561	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
3562	0x12, 0x45, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3563	0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3564	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
3565	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52,
3566	0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74,
3567	0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x44, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61,
3568	0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64,
3569	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3570	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3571	0x65, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73,
3572	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f,
3573	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
3574	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f,
3575	0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
3576	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
3577	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65,
3578	0x22, 0x9d, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43,
3579	0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70,
3580	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02,
3581	0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3582	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54,
3583	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
3584	0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3585	0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f,
3586	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63,
3587	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
3588	0x22, 0x58, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3589	0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x6e,
3590	0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a,
3591	0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3592	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43,
3593	0x61, 0x73, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x64, 0x0a, 0x17, 0x49, 0x6d,
3594	0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74,
3595	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18,
3596	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3597	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3598	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43,
3599	0x61, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73,
3600	0x22, 0x86, 0x01, 0x0a, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x45, 0x72, 0x72,
3601	0x6f, 0x72, 0x12, 0x49, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18,
3602	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3603	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3604	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43,
3605	0x61, 0x73, 0x65, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x2a, 0x0a,
3606	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
3607	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
3608	0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc5, 0x02, 0x0a, 0x16, 0x45, 0x78,
3609	0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71,
3610	0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
3611	0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69,
3612	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3613	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3614	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f,
3615	0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73,
3616	0x55, 0x72, 0x69, 0x12, 0x66, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d,
3617	0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3618	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3619	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78,
3620	0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71,
3621	0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52,
3622	0x0a, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66,
3623	0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c,
3624	0x74, 0x65, 0x72, 0x22, 0x3d, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61,
3625	0x74, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54,
3626	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08,
3627	0x0a, 0x04, 0x42, 0x4c, 0x4f, 0x42, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e,
3628	0x10, 0x02, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
3629	0x6e, 0x22, 0x5f, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43,
3630	0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07,
3631	0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
3632	0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
3633	0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74,
3634	0x65, 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
3635	0x6f, 0x6e, 0x22, 0x19, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74,
3636	0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xba, 0x01,
3637	0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65,
3638	0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06,
3639	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41,
3640	0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3641	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3642	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06,
3643	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
3644	0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
3645	0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
3646	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
3647	0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01,
3648	0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa5, 0x01, 0x0a, 0x1b, 0x4c,
3649	0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
3650	0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x74, 0x65,
3651	0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
3652	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3653	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3654	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43,
3655	0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x43,
3656	0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65,
3657	0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
3658	0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
3659	0x65, 0x6e, 0x22, 0x60, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3660	0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44,
3661	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41,
3662	0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3663	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3664	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04,
3665	0x6e, 0x61, 0x6d, 0x65, 0x2a, 0x41, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75,
3666	0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c,
3667	0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
3668	0x0a, 0x0a, 0x06, 0x50, 0x41, 0x53, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46,
3669	0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0xb6, 0x16, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74,
3670	0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0xd2, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65,
3671	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3672	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3673	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73,
3674	0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3675	0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3676	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3677	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43,
3678	0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x82, 0xd3,
3679	0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b,
3680	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
3681	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67,
3682	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3683	0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xcc, 0x01, 0x0a, 0x14, 0x42,
3684	0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3685	0x73, 0x65, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3686	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3687	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65,
3688	0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71,
3689	0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3690	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5b, 0x82, 0xd3,
3691	0xe4, 0x93, 0x02, 0x4c, 0x22, 0x47, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b,
3692	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
3693	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67,
3694	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3695	0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a,
3696	0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xbf, 0x01, 0x0a, 0x0b, 0x47, 0x65,
3697	0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3698	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3699	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47,
3700	0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3701	0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3702	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3703	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x22,
3704	0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
3705	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3706	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61,
3707	0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3708	0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdc, 0x01, 0x0a, 0x0e,
3709	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x39,
3710	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3711	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3712	0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3713	0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3714	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3715	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
3716	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x22,
3717	0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
3718	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
3719	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f,
3720	0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x09, 0x74, 0x65,
3721	0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3722	0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x12, 0xeb, 0x01, 0x0a, 0x0e, 0x55,
3723	0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x39, 0x2e,
3724	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
3725	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
3726	0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3727	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3728	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3729	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65,
3730	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x22, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x32, 0x45,
3731	0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63,
3732	0x61, 0x73, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3733	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
3734	0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3735	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65,
3736	0xda, 0x41, 0x15, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2c, 0x75, 0x70, 0x64,
3737	0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xdd, 0x01, 0x0a, 0x0b, 0x52, 0x75, 0x6e,
3738	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3739	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3740	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x75,
3741	0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3742	0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75,
3743	0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
3744	0x77, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, 0x3f, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
3745	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3746	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61,
3747	0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3748	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x2a, 0x0a, 0x13,
3749	0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
3750	0x6e, 0x73, 0x65, 0x12, 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3751	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xfb, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74,
3752	0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x3c,
3753	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3754	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3755	0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74,
3756	0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67,
3757	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
3758	0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0x82, 0xd3,
3759	0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b,
3760	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
3761	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67,
3762	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3763	0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x36,
3764	0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3765	0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x42, 0x61, 0x74,
3766	0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65,
3767	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe6, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63, 0x75,
3768	0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x2e, 0x67,
3769	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
3770	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
3771	0x31, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72,
3772	0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f,
3773	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3774	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3775	0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
3776	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02,
3777	0x4e, 0x12, 0x4c, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x61, 0x67, 0x65,
3778	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
3779	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73,
3780	0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x63, 0x61,
3781	0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12,
3782	0xf1, 0x01, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3783	0x73, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3784	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3785	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54,
3786	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3787	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
3788	0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82,
3789	0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x42, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
3790	0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3791	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
3792	0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43,
3793	0x61, 0x73, 0x65, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41,
3794	0x32, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3795	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x49, 0x6d, 0x70, 0x6f,
3796	0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64,
3797	0x61, 0x74, 0x61, 0x12, 0xf1, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65,
3798	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3799	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3800	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70,
3801	0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
3802	0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e,
3803	0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
3804	0x6f, 0x6e, 0x22, 0x82, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x42, 0x2f, 0x76, 0x33,
3805	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
3806	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3807	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74,
3808	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x3a,
3809	0x01, 0x2a, 0xca, 0x41, 0x32, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73,
3810	0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17,
3811	0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d,
3812	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xee, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74,
3813	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12,
3814	0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3815	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3816	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3817	0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3818	0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3819	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
3820	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3821	0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3822	0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74,
3823	0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3824	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3825	0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43,
3826	0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0xda,
3827	0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xdb, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74,
3828	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3c,
3829	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3830	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,
3831	0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3832	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67,
3833	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
3834	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
3835	0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
3836	0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74,
3837	0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3838	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
3839	0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3840	0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda,
3841	0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x78, 0xca, 0x41, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f,
3842	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
3843	0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x59, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
3844	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
3845	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
3846	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
3847	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3848	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3849	0x42, 0xac, 0x01, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3850	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3851	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x54, 0x65, 0x73,
3852	0x74, 0x43, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f,
3853	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
3854	0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3855	0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3856	0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b,
3857	0x63, 0x78, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x02, 0x44, 0x46, 0xaa, 0x02, 0x22, 0x47, 0x6f, 0x6f,
3858	0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3859	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x78, 0x2e, 0x56, 0x33, 0x42, 0x65, 0x74, 0x61, 0x31, 0x62,
3860	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3861}
3862
3863var (
3864	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescOnce sync.Once
3865	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData = file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc
3866)
3867
3868func file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP() []byte {
3869	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescOnce.Do(func() {
3870		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData)
3871	})
3872	return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData
3873}
3874
3875var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
3876var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes = make([]protoimpl.MessageInfo, 40)
3877var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_goTypes = []interface{}{
3878	(TestResult)(0),                                          // 0: google.cloud.dialogflow.cx.v3beta1.TestResult
3879	(TestRunDifference_DiffType)(0),                          // 1: google.cloud.dialogflow.cx.v3beta1.TestRunDifference.DiffType
3880	(CalculateCoverageRequest_CoverageType)(0),               // 2: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.CoverageType
3881	(ListTestCasesRequest_TestCaseView)(0),                   // 3: google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.TestCaseView
3882	(ExportTestCasesRequest_DataFormat)(0),                   // 4: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.DataFormat
3883	(*TestCase)(nil),                                         // 5: google.cloud.dialogflow.cx.v3beta1.TestCase
3884	(*TestCaseResult)(nil),                                   // 6: google.cloud.dialogflow.cx.v3beta1.TestCaseResult
3885	(*TestConfig)(nil),                                       // 7: google.cloud.dialogflow.cx.v3beta1.TestConfig
3886	(*ConversationTurn)(nil),                                 // 8: google.cloud.dialogflow.cx.v3beta1.ConversationTurn
3887	(*TestRunDifference)(nil),                                // 9: google.cloud.dialogflow.cx.v3beta1.TestRunDifference
3888	(*TransitionCoverage)(nil),                               // 10: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage
3889	(*TransitionRouteGroupCoverage)(nil),                     // 11: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage
3890	(*IntentCoverage)(nil),                                   // 12: google.cloud.dialogflow.cx.v3beta1.IntentCoverage
3891	(*CalculateCoverageRequest)(nil),                         // 13: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest
3892	(*CalculateCoverageResponse)(nil),                        // 14: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse
3893	(*ListTestCasesRequest)(nil),                             // 15: google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest
3894	(*ListTestCasesResponse)(nil),                            // 16: google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse
3895	(*BatchDeleteTestCasesRequest)(nil),                      // 17: google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest
3896	(*CreateTestCaseRequest)(nil),                            // 18: google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest
3897	(*UpdateTestCaseRequest)(nil),                            // 19: google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest
3898	(*GetTestCaseRequest)(nil),                               // 20: google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest
3899	(*RunTestCaseRequest)(nil),                               // 21: google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest
3900	(*RunTestCaseResponse)(nil),                              // 22: google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse
3901	(*RunTestCaseMetadata)(nil),                              // 23: google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata
3902	(*BatchRunTestCasesRequest)(nil),                         // 24: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest
3903	(*BatchRunTestCasesResponse)(nil),                        // 25: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse
3904	(*BatchRunTestCasesMetadata)(nil),                        // 26: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata
3905	(*TestError)(nil),                                        // 27: google.cloud.dialogflow.cx.v3beta1.TestError
3906	(*ImportTestCasesRequest)(nil),                           // 28: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest
3907	(*ImportTestCasesResponse)(nil),                          // 29: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse
3908	(*ImportTestCasesMetadata)(nil),                          // 30: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata
3909	(*TestCaseError)(nil),                                    // 31: google.cloud.dialogflow.cx.v3beta1.TestCaseError
3910	(*ExportTestCasesRequest)(nil),                           // 32: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest
3911	(*ExportTestCasesResponse)(nil),                          // 33: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse
3912	(*ExportTestCasesMetadata)(nil),                          // 34: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata
3913	(*ListTestCaseResultsRequest)(nil),                       // 35: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest
3914	(*ListTestCaseResultsResponse)(nil),                      // 36: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse
3915	(*GetTestCaseResultRequest)(nil),                         // 37: google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest
3916	(*ConversationTurn_UserInput)(nil),                       // 38: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput
3917	(*ConversationTurn_VirtualAgentOutput)(nil),              // 39: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput
3918	(*TransitionCoverage_TransitionNode)(nil),                // 40: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode
3919	(*TransitionCoverage_Transition)(nil),                    // 41: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition
3920	(*TransitionRouteGroupCoverage_Coverage)(nil),            // 42: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage
3921	(*TransitionRouteGroupCoverage_Coverage_Transition)(nil), // 43: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition
3922	(*IntentCoverage_Intent)(nil),                            // 44: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent
3923	(*timestamppb.Timestamp)(nil),                            // 45: google.protobuf.Timestamp
3924	(*fieldmaskpb.FieldMask)(nil),                            // 46: google.protobuf.FieldMask
3925	(*status.Status)(nil),                                    // 47: google.rpc.Status
3926	(*QueryInput)(nil),                                       // 48: google.cloud.dialogflow.cx.v3beta1.QueryInput
3927	(*structpb.Struct)(nil),                                  // 49: google.protobuf.Struct
3928	(*Intent)(nil),                                           // 50: google.cloud.dialogflow.cx.v3beta1.Intent
3929	(*Page)(nil),                                             // 51: google.cloud.dialogflow.cx.v3beta1.Page
3930	(*ResponseMessage_Text)(nil),                             // 52: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text
3931	(*Flow)(nil),                                             // 53: google.cloud.dialogflow.cx.v3beta1.Flow
3932	(*TransitionRoute)(nil),                                  // 54: google.cloud.dialogflow.cx.v3beta1.TransitionRoute
3933	(*EventHandler)(nil),                                     // 55: google.cloud.dialogflow.cx.v3beta1.EventHandler
3934	(*TransitionRouteGroup)(nil),                             // 56: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup
3935	(*emptypb.Empty)(nil),                                    // 57: google.protobuf.Empty
3936	(*longrunning.Operation)(nil),                            // 58: google.longrunning.Operation
3937}
3938var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_depIdxs = []int32{
3939	7,  // 0: google.cloud.dialogflow.cx.v3beta1.TestCase.test_config:type_name -> google.cloud.dialogflow.cx.v3beta1.TestConfig
3940	8,  // 1: google.cloud.dialogflow.cx.v3beta1.TestCase.test_case_conversation_turns:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn
3941	45, // 2: google.cloud.dialogflow.cx.v3beta1.TestCase.creation_time:type_name -> google.protobuf.Timestamp
3942	6,  // 3: google.cloud.dialogflow.cx.v3beta1.TestCase.last_test_result:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult
3943	8,  // 4: google.cloud.dialogflow.cx.v3beta1.TestCaseResult.conversation_turns:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn
3944	0,  // 5: google.cloud.dialogflow.cx.v3beta1.TestCaseResult.test_result:type_name -> google.cloud.dialogflow.cx.v3beta1.TestResult
3945	45, // 6: google.cloud.dialogflow.cx.v3beta1.TestCaseResult.test_time:type_name -> google.protobuf.Timestamp
3946	38, // 7: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.user_input:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput
3947	39, // 8: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.virtual_agent_output:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput
3948	1,  // 9: google.cloud.dialogflow.cx.v3beta1.TestRunDifference.type:type_name -> google.cloud.dialogflow.cx.v3beta1.TestRunDifference.DiffType
3949	41, // 10: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.transitions:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition
3950	42, // 11: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.coverages:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage
3951	44, // 12: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.intents:type_name -> google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent
3952	2,  // 13: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.type:type_name -> google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.CoverageType
3953	12, // 14: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse.intent_coverage:type_name -> google.cloud.dialogflow.cx.v3beta1.IntentCoverage
3954	10, // 15: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse.transition_coverage:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage
3955	11, // 16: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse.route_group_coverage:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage
3956	3,  // 17: google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.view:type_name -> google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.TestCaseView
3957	5,  // 18: google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse.test_cases:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase
3958	5,  // 19: google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest.test_case:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase
3959	5,  // 20: google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest.test_case:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase
3960	46, // 21: google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest.update_mask:type_name -> google.protobuf.FieldMask
3961	6,  // 22: google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse.result:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult
3962	6,  // 23: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse.results:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult
3963	27, // 24: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata.errors:type_name -> google.cloud.dialogflow.cx.v3beta1.TestError
3964	47, // 25: google.cloud.dialogflow.cx.v3beta1.TestError.status:type_name -> google.rpc.Status
3965	45, // 26: google.cloud.dialogflow.cx.v3beta1.TestError.test_time:type_name -> google.protobuf.Timestamp
3966	31, // 27: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata.errors:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseError
3967	5,  // 28: google.cloud.dialogflow.cx.v3beta1.TestCaseError.test_case:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase
3968	47, // 29: google.cloud.dialogflow.cx.v3beta1.TestCaseError.status:type_name -> google.rpc.Status
3969	4,  // 30: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.data_format:type_name -> google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.DataFormat
3970	6,  // 31: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse.test_case_results:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult
3971	48, // 32: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput.input:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryInput
3972	49, // 33: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput.injected_parameters:type_name -> google.protobuf.Struct
3973	49, // 34: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.session_parameters:type_name -> google.protobuf.Struct
3974	9,  // 35: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.differences:type_name -> google.cloud.dialogflow.cx.v3beta1.TestRunDifference
3975	49, // 36: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.diagnostic_info:type_name -> google.protobuf.Struct
3976	50, // 37: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.triggered_intent:type_name -> google.cloud.dialogflow.cx.v3beta1.Intent
3977	51, // 38: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.current_page:type_name -> google.cloud.dialogflow.cx.v3beta1.Page
3978	52, // 39: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.text_responses:type_name -> google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text
3979	47, // 40: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.status:type_name -> google.rpc.Status
3980	51, // 41: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode.page:type_name -> google.cloud.dialogflow.cx.v3beta1.Page
3981	53, // 42: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode.flow:type_name -> google.cloud.dialogflow.cx.v3beta1.Flow
3982	40, // 43: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.source:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode
3983	40, // 44: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.target:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode
3984	54, // 45: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.transition_route:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRoute
3985	55, // 46: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.event_handler:type_name -> google.cloud.dialogflow.cx.v3beta1.EventHandler
3986	56, // 47: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.route_group:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup
3987	43, // 48: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.transitions:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition
3988	54, // 49: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition.transition_route:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRoute
3989	15, // 50: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest
3990	17, // 51: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchDeleteTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest
3991	20, // 52: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest
3992	18, // 53: google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest
3993	19, // 54: google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest
3994	21, // 55: google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest
3995	24, // 56: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest
3996	13, // 57: google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage:input_type -> google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest
3997	28, // 58: google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest
3998	32, // 59: google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest
3999	35, // 60: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults:input_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest
4000	37, // 61: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCaseResult:input_type -> google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest
4001	16, // 62: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases:output_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse
4002	57, // 63: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchDeleteTestCases:output_type -> google.protobuf.Empty
4003	5,  // 64: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCase:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCase
4004	5,  // 65: google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCase
4005	5,  // 66: google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCase:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCase
4006	58, // 67: google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase:output_type -> google.longrunning.Operation
4007	58, // 68: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases:output_type -> google.longrunning.Operation
4008	14, // 69: google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage:output_type -> google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse
4009	58, // 70: google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases:output_type -> google.longrunning.Operation
4010	58, // 71: google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases:output_type -> google.longrunning.Operation
4011	36, // 72: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults:output_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse
4012	6,  // 73: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCaseResult:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult
4013	62, // [62:74] is the sub-list for method output_type
4014	50, // [50:62] is the sub-list for method input_type
4015	50, // [50:50] is the sub-list for extension type_name
4016	50, // [50:50] is the sub-list for extension extendee
4017	0,  // [0:50] is the sub-list for field type_name
4018}
4019
4020func init() { file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_init() }
4021func file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_init() {
4022	if File_google_cloud_dialogflow_cx_v3beta1_test_case_proto != nil {
4023		return
4024	}
4025	file_google_cloud_dialogflow_cx_v3beta1_flow_proto_init()
4026	file_google_cloud_dialogflow_cx_v3beta1_intent_proto_init()
4027	file_google_cloud_dialogflow_cx_v3beta1_page_proto_init()
4028	file_google_cloud_dialogflow_cx_v3beta1_response_message_proto_init()
4029	file_google_cloud_dialogflow_cx_v3beta1_session_proto_init()
4030	file_google_cloud_dialogflow_cx_v3beta1_transition_route_group_proto_init()
4031	if !protoimpl.UnsafeEnabled {
4032		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4033			switch v := v.(*TestCase); i {
4034			case 0:
4035				return &v.state
4036			case 1:
4037				return &v.sizeCache
4038			case 2:
4039				return &v.unknownFields
4040			default:
4041				return nil
4042			}
4043		}
4044		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4045			switch v := v.(*TestCaseResult); i {
4046			case 0:
4047				return &v.state
4048			case 1:
4049				return &v.sizeCache
4050			case 2:
4051				return &v.unknownFields
4052			default:
4053				return nil
4054			}
4055		}
4056		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4057			switch v := v.(*TestConfig); i {
4058			case 0:
4059				return &v.state
4060			case 1:
4061				return &v.sizeCache
4062			case 2:
4063				return &v.unknownFields
4064			default:
4065				return nil
4066			}
4067		}
4068		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4069			switch v := v.(*ConversationTurn); i {
4070			case 0:
4071				return &v.state
4072			case 1:
4073				return &v.sizeCache
4074			case 2:
4075				return &v.unknownFields
4076			default:
4077				return nil
4078			}
4079		}
4080		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4081			switch v := v.(*TestRunDifference); i {
4082			case 0:
4083				return &v.state
4084			case 1:
4085				return &v.sizeCache
4086			case 2:
4087				return &v.unknownFields
4088			default:
4089				return nil
4090			}
4091		}
4092		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4093			switch v := v.(*TransitionCoverage); i {
4094			case 0:
4095				return &v.state
4096			case 1:
4097				return &v.sizeCache
4098			case 2:
4099				return &v.unknownFields
4100			default:
4101				return nil
4102			}
4103		}
4104		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4105			switch v := v.(*TransitionRouteGroupCoverage); i {
4106			case 0:
4107				return &v.state
4108			case 1:
4109				return &v.sizeCache
4110			case 2:
4111				return &v.unknownFields
4112			default:
4113				return nil
4114			}
4115		}
4116		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4117			switch v := v.(*IntentCoverage); i {
4118			case 0:
4119				return &v.state
4120			case 1:
4121				return &v.sizeCache
4122			case 2:
4123				return &v.unknownFields
4124			default:
4125				return nil
4126			}
4127		}
4128		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4129			switch v := v.(*CalculateCoverageRequest); i {
4130			case 0:
4131				return &v.state
4132			case 1:
4133				return &v.sizeCache
4134			case 2:
4135				return &v.unknownFields
4136			default:
4137				return nil
4138			}
4139		}
4140		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4141			switch v := v.(*CalculateCoverageResponse); i {
4142			case 0:
4143				return &v.state
4144			case 1:
4145				return &v.sizeCache
4146			case 2:
4147				return &v.unknownFields
4148			default:
4149				return nil
4150			}
4151		}
4152		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4153			switch v := v.(*ListTestCasesRequest); i {
4154			case 0:
4155				return &v.state
4156			case 1:
4157				return &v.sizeCache
4158			case 2:
4159				return &v.unknownFields
4160			default:
4161				return nil
4162			}
4163		}
4164		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4165			switch v := v.(*ListTestCasesResponse); i {
4166			case 0:
4167				return &v.state
4168			case 1:
4169				return &v.sizeCache
4170			case 2:
4171				return &v.unknownFields
4172			default:
4173				return nil
4174			}
4175		}
4176		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4177			switch v := v.(*BatchDeleteTestCasesRequest); i {
4178			case 0:
4179				return &v.state
4180			case 1:
4181				return &v.sizeCache
4182			case 2:
4183				return &v.unknownFields
4184			default:
4185				return nil
4186			}
4187		}
4188		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4189			switch v := v.(*CreateTestCaseRequest); i {
4190			case 0:
4191				return &v.state
4192			case 1:
4193				return &v.sizeCache
4194			case 2:
4195				return &v.unknownFields
4196			default:
4197				return nil
4198			}
4199		}
4200		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4201			switch v := v.(*UpdateTestCaseRequest); i {
4202			case 0:
4203				return &v.state
4204			case 1:
4205				return &v.sizeCache
4206			case 2:
4207				return &v.unknownFields
4208			default:
4209				return nil
4210			}
4211		}
4212		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4213			switch v := v.(*GetTestCaseRequest); i {
4214			case 0:
4215				return &v.state
4216			case 1:
4217				return &v.sizeCache
4218			case 2:
4219				return &v.unknownFields
4220			default:
4221				return nil
4222			}
4223		}
4224		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4225			switch v := v.(*RunTestCaseRequest); i {
4226			case 0:
4227				return &v.state
4228			case 1:
4229				return &v.sizeCache
4230			case 2:
4231				return &v.unknownFields
4232			default:
4233				return nil
4234			}
4235		}
4236		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4237			switch v := v.(*RunTestCaseResponse); i {
4238			case 0:
4239				return &v.state
4240			case 1:
4241				return &v.sizeCache
4242			case 2:
4243				return &v.unknownFields
4244			default:
4245				return nil
4246			}
4247		}
4248		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4249			switch v := v.(*RunTestCaseMetadata); i {
4250			case 0:
4251				return &v.state
4252			case 1:
4253				return &v.sizeCache
4254			case 2:
4255				return &v.unknownFields
4256			default:
4257				return nil
4258			}
4259		}
4260		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4261			switch v := v.(*BatchRunTestCasesRequest); i {
4262			case 0:
4263				return &v.state
4264			case 1:
4265				return &v.sizeCache
4266			case 2:
4267				return &v.unknownFields
4268			default:
4269				return nil
4270			}
4271		}
4272		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4273			switch v := v.(*BatchRunTestCasesResponse); i {
4274			case 0:
4275				return &v.state
4276			case 1:
4277				return &v.sizeCache
4278			case 2:
4279				return &v.unknownFields
4280			default:
4281				return nil
4282			}
4283		}
4284		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4285			switch v := v.(*BatchRunTestCasesMetadata); i {
4286			case 0:
4287				return &v.state
4288			case 1:
4289				return &v.sizeCache
4290			case 2:
4291				return &v.unknownFields
4292			default:
4293				return nil
4294			}
4295		}
4296		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4297			switch v := v.(*TestError); i {
4298			case 0:
4299				return &v.state
4300			case 1:
4301				return &v.sizeCache
4302			case 2:
4303				return &v.unknownFields
4304			default:
4305				return nil
4306			}
4307		}
4308		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4309			switch v := v.(*ImportTestCasesRequest); i {
4310			case 0:
4311				return &v.state
4312			case 1:
4313				return &v.sizeCache
4314			case 2:
4315				return &v.unknownFields
4316			default:
4317				return nil
4318			}
4319		}
4320		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4321			switch v := v.(*ImportTestCasesResponse); i {
4322			case 0:
4323				return &v.state
4324			case 1:
4325				return &v.sizeCache
4326			case 2:
4327				return &v.unknownFields
4328			default:
4329				return nil
4330			}
4331		}
4332		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4333			switch v := v.(*ImportTestCasesMetadata); i {
4334			case 0:
4335				return &v.state
4336			case 1:
4337				return &v.sizeCache
4338			case 2:
4339				return &v.unknownFields
4340			default:
4341				return nil
4342			}
4343		}
4344		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4345			switch v := v.(*TestCaseError); i {
4346			case 0:
4347				return &v.state
4348			case 1:
4349				return &v.sizeCache
4350			case 2:
4351				return &v.unknownFields
4352			default:
4353				return nil
4354			}
4355		}
4356		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4357			switch v := v.(*ExportTestCasesRequest); i {
4358			case 0:
4359				return &v.state
4360			case 1:
4361				return &v.sizeCache
4362			case 2:
4363				return &v.unknownFields
4364			default:
4365				return nil
4366			}
4367		}
4368		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4369			switch v := v.(*ExportTestCasesResponse); i {
4370			case 0:
4371				return &v.state
4372			case 1:
4373				return &v.sizeCache
4374			case 2:
4375				return &v.unknownFields
4376			default:
4377				return nil
4378			}
4379		}
4380		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4381			switch v := v.(*ExportTestCasesMetadata); i {
4382			case 0:
4383				return &v.state
4384			case 1:
4385				return &v.sizeCache
4386			case 2:
4387				return &v.unknownFields
4388			default:
4389				return nil
4390			}
4391		}
4392		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4393			switch v := v.(*ListTestCaseResultsRequest); i {
4394			case 0:
4395				return &v.state
4396			case 1:
4397				return &v.sizeCache
4398			case 2:
4399				return &v.unknownFields
4400			default:
4401				return nil
4402			}
4403		}
4404		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4405			switch v := v.(*ListTestCaseResultsResponse); i {
4406			case 0:
4407				return &v.state
4408			case 1:
4409				return &v.sizeCache
4410			case 2:
4411				return &v.unknownFields
4412			default:
4413				return nil
4414			}
4415		}
4416		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4417			switch v := v.(*GetTestCaseResultRequest); i {
4418			case 0:
4419				return &v.state
4420			case 1:
4421				return &v.sizeCache
4422			case 2:
4423				return &v.unknownFields
4424			default:
4425				return nil
4426			}
4427		}
4428		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4429			switch v := v.(*ConversationTurn_UserInput); i {
4430			case 0:
4431				return &v.state
4432			case 1:
4433				return &v.sizeCache
4434			case 2:
4435				return &v.unknownFields
4436			default:
4437				return nil
4438			}
4439		}
4440		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4441			switch v := v.(*ConversationTurn_VirtualAgentOutput); i {
4442			case 0:
4443				return &v.state
4444			case 1:
4445				return &v.sizeCache
4446			case 2:
4447				return &v.unknownFields
4448			default:
4449				return nil
4450			}
4451		}
4452		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4453			switch v := v.(*TransitionCoverage_TransitionNode); i {
4454			case 0:
4455				return &v.state
4456			case 1:
4457				return &v.sizeCache
4458			case 2:
4459				return &v.unknownFields
4460			default:
4461				return nil
4462			}
4463		}
4464		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4465			switch v := v.(*TransitionCoverage_Transition); i {
4466			case 0:
4467				return &v.state
4468			case 1:
4469				return &v.sizeCache
4470			case 2:
4471				return &v.unknownFields
4472			default:
4473				return nil
4474			}
4475		}
4476		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4477			switch v := v.(*TransitionRouteGroupCoverage_Coverage); i {
4478			case 0:
4479				return &v.state
4480			case 1:
4481				return &v.sizeCache
4482			case 2:
4483				return &v.unknownFields
4484			default:
4485				return nil
4486			}
4487		}
4488		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4489			switch v := v.(*TransitionRouteGroupCoverage_Coverage_Transition); i {
4490			case 0:
4491				return &v.state
4492			case 1:
4493				return &v.sizeCache
4494			case 2:
4495				return &v.unknownFields
4496			default:
4497				return nil
4498			}
4499		}
4500		file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
4501			switch v := v.(*IntentCoverage_Intent); i {
4502			case 0:
4503				return &v.state
4504			case 1:
4505				return &v.sizeCache
4506			case 2:
4507				return &v.unknownFields
4508			default:
4509				return nil
4510			}
4511		}
4512	}
4513	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[9].OneofWrappers = []interface{}{
4514		(*CalculateCoverageResponse_IntentCoverage)(nil),
4515		(*CalculateCoverageResponse_TransitionCoverage)(nil),
4516		(*CalculateCoverageResponse_RouteGroupCoverage)(nil),
4517	}
4518	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23].OneofWrappers = []interface{}{
4519		(*ImportTestCasesRequest_GcsUri)(nil),
4520		(*ImportTestCasesRequest_Content)(nil),
4521	}
4522	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27].OneofWrappers = []interface{}{
4523		(*ExportTestCasesRequest_GcsUri)(nil),
4524	}
4525	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28].OneofWrappers = []interface{}{
4526		(*ExportTestCasesResponse_GcsUri)(nil),
4527		(*ExportTestCasesResponse_Content)(nil),
4528	}
4529	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35].OneofWrappers = []interface{}{
4530		(*TransitionCoverage_TransitionNode_Page)(nil),
4531		(*TransitionCoverage_TransitionNode_Flow)(nil),
4532	}
4533	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[36].OneofWrappers = []interface{}{
4534		(*TransitionCoverage_Transition_TransitionRoute)(nil),
4535		(*TransitionCoverage_Transition_EventHandler)(nil),
4536	}
4537	type x struct{}
4538	out := protoimpl.TypeBuilder{
4539		File: protoimpl.DescBuilder{
4540			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4541			RawDescriptor: file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc,
4542			NumEnums:      5,
4543			NumMessages:   40,
4544			NumExtensions: 0,
4545			NumServices:   1,
4546		},
4547		GoTypes:           file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_goTypes,
4548		DependencyIndexes: file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_depIdxs,
4549		EnumInfos:         file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes,
4550		MessageInfos:      file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes,
4551	}.Build()
4552	File_google_cloud_dialogflow_cx_v3beta1_test_case_proto = out.File
4553	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc = nil
4554	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_goTypes = nil
4555	file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_depIdxs = nil
4556}
4557
4558// Reference imports to suppress errors if they are not otherwise used.
4559var _ context.Context
4560var _ grpc.ClientConnInterface
4561
4562// This is a compile-time assertion to ensure that this generated file
4563// is compatible with the grpc package it is being compiled against.
4564const _ = grpc.SupportPackageIsVersion6
4565
4566// TestCasesClient is the client API for TestCases service.
4567//
4568// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4569type TestCasesClient interface {
4570	// Fetches a list of test cases for a given agent.
4571	ListTestCases(ctx context.Context, in *ListTestCasesRequest, opts ...grpc.CallOption) (*ListTestCasesResponse, error)
4572	// Batch deletes test cases.
4573	BatchDeleteTestCases(ctx context.Context, in *BatchDeleteTestCasesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
4574	// Gets a test case.
4575	GetTestCase(ctx context.Context, in *GetTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)
4576	// Creates a test case for the given agent.
4577	CreateTestCase(ctx context.Context, in *CreateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)
4578	// Updates the specified test case.
4579	UpdateTestCase(ctx context.Context, in *UpdateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)
4580	// Kicks off a test case run.
4581	RunTestCase(ctx context.Context, in *RunTestCaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4582	// Kicks off a batch run of test cases.
4583	BatchRunTestCases(ctx context.Context, in *BatchRunTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4584	// Calculates the test coverage for an agent.
4585	CalculateCoverage(ctx context.Context, in *CalculateCoverageRequest, opts ...grpc.CallOption) (*CalculateCoverageResponse, error)
4586	// Imports the test cases from a Cloud Storage bucket or a local file. It
4587	// always creates new test cases and won't overwite any existing ones. The
4588	// provided ID in the imported test case is neglected.
4589	ImportTestCases(ctx context.Context, in *ImportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4590	// Exports the test cases under the agent to a Cloud Storage bucket or a local
4591	// file. Filter can be applied to export a subset of test cases.
4592	ExportTestCases(ctx context.Context, in *ExportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4593	// Fetches a list of results for a given test case.
4594	ListTestCaseResults(ctx context.Context, in *ListTestCaseResultsRequest, opts ...grpc.CallOption) (*ListTestCaseResultsResponse, error)
4595	// Gets a test case result.
4596	GetTestCaseResult(ctx context.Context, in *GetTestCaseResultRequest, opts ...grpc.CallOption) (*TestCaseResult, error)
4597}
4598
4599type testCasesClient struct {
4600	cc grpc.ClientConnInterface
4601}
4602
4603func NewTestCasesClient(cc grpc.ClientConnInterface) TestCasesClient {
4604	return &testCasesClient{cc}
4605}
4606
4607func (c *testCasesClient) ListTestCases(ctx context.Context, in *ListTestCasesRequest, opts ...grpc.CallOption) (*ListTestCasesResponse, error) {
4608	out := new(ListTestCasesResponse)
4609	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCases", in, out, opts...)
4610	if err != nil {
4611		return nil, err
4612	}
4613	return out, nil
4614}
4615
4616func (c *testCasesClient) BatchDeleteTestCases(ctx context.Context, in *BatchDeleteTestCasesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
4617	out := new(emptypb.Empty)
4618	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchDeleteTestCases", in, out, opts...)
4619	if err != nil {
4620		return nil, err
4621	}
4622	return out, nil
4623}
4624
4625func (c *testCasesClient) GetTestCase(ctx context.Context, in *GetTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {
4626	out := new(TestCase)
4627	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/GetTestCase", in, out, opts...)
4628	if err != nil {
4629		return nil, err
4630	}
4631	return out, nil
4632}
4633
4634func (c *testCasesClient) CreateTestCase(ctx context.Context, in *CreateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {
4635	out := new(TestCase)
4636	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/CreateTestCase", in, out, opts...)
4637	if err != nil {
4638		return nil, err
4639	}
4640	return out, nil
4641}
4642
4643func (c *testCasesClient) UpdateTestCase(ctx context.Context, in *UpdateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {
4644	out := new(TestCase)
4645	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/UpdateTestCase", in, out, opts...)
4646	if err != nil {
4647		return nil, err
4648	}
4649	return out, nil
4650}
4651
4652func (c *testCasesClient) RunTestCase(ctx context.Context, in *RunTestCaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4653	out := new(longrunning.Operation)
4654	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/RunTestCase", in, out, opts...)
4655	if err != nil {
4656		return nil, err
4657	}
4658	return out, nil
4659}
4660
4661func (c *testCasesClient) BatchRunTestCases(ctx context.Context, in *BatchRunTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4662	out := new(longrunning.Operation)
4663	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchRunTestCases", in, out, opts...)
4664	if err != nil {
4665		return nil, err
4666	}
4667	return out, nil
4668}
4669
4670func (c *testCasesClient) CalculateCoverage(ctx context.Context, in *CalculateCoverageRequest, opts ...grpc.CallOption) (*CalculateCoverageResponse, error) {
4671	out := new(CalculateCoverageResponse)
4672	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/CalculateCoverage", in, out, opts...)
4673	if err != nil {
4674		return nil, err
4675	}
4676	return out, nil
4677}
4678
4679func (c *testCasesClient) ImportTestCases(ctx context.Context, in *ImportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4680	out := new(longrunning.Operation)
4681	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ImportTestCases", in, out, opts...)
4682	if err != nil {
4683		return nil, err
4684	}
4685	return out, nil
4686}
4687
4688func (c *testCasesClient) ExportTestCases(ctx context.Context, in *ExportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4689	out := new(longrunning.Operation)
4690	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ExportTestCases", in, out, opts...)
4691	if err != nil {
4692		return nil, err
4693	}
4694	return out, nil
4695}
4696
4697func (c *testCasesClient) ListTestCaseResults(ctx context.Context, in *ListTestCaseResultsRequest, opts ...grpc.CallOption) (*ListTestCaseResultsResponse, error) {
4698	out := new(ListTestCaseResultsResponse)
4699	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCaseResults", in, out, opts...)
4700	if err != nil {
4701		return nil, err
4702	}
4703	return out, nil
4704}
4705
4706func (c *testCasesClient) GetTestCaseResult(ctx context.Context, in *GetTestCaseResultRequest, opts ...grpc.CallOption) (*TestCaseResult, error) {
4707	out := new(TestCaseResult)
4708	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/GetTestCaseResult", in, out, opts...)
4709	if err != nil {
4710		return nil, err
4711	}
4712	return out, nil
4713}
4714
4715// TestCasesServer is the server API for TestCases service.
4716type TestCasesServer interface {
4717	// Fetches a list of test cases for a given agent.
4718	ListTestCases(context.Context, *ListTestCasesRequest) (*ListTestCasesResponse, error)
4719	// Batch deletes test cases.
4720	BatchDeleteTestCases(context.Context, *BatchDeleteTestCasesRequest) (*emptypb.Empty, error)
4721	// Gets a test case.
4722	GetTestCase(context.Context, *GetTestCaseRequest) (*TestCase, error)
4723	// Creates a test case for the given agent.
4724	CreateTestCase(context.Context, *CreateTestCaseRequest) (*TestCase, error)
4725	// Updates the specified test case.
4726	UpdateTestCase(context.Context, *UpdateTestCaseRequest) (*TestCase, error)
4727	// Kicks off a test case run.
4728	RunTestCase(context.Context, *RunTestCaseRequest) (*longrunning.Operation, error)
4729	// Kicks off a batch run of test cases.
4730	BatchRunTestCases(context.Context, *BatchRunTestCasesRequest) (*longrunning.Operation, error)
4731	// Calculates the test coverage for an agent.
4732	CalculateCoverage(context.Context, *CalculateCoverageRequest) (*CalculateCoverageResponse, error)
4733	// Imports the test cases from a Cloud Storage bucket or a local file. It
4734	// always creates new test cases and won't overwite any existing ones. The
4735	// provided ID in the imported test case is neglected.
4736	ImportTestCases(context.Context, *ImportTestCasesRequest) (*longrunning.Operation, error)
4737	// Exports the test cases under the agent to a Cloud Storage bucket or a local
4738	// file. Filter can be applied to export a subset of test cases.
4739	ExportTestCases(context.Context, *ExportTestCasesRequest) (*longrunning.Operation, error)
4740	// Fetches a list of results for a given test case.
4741	ListTestCaseResults(context.Context, *ListTestCaseResultsRequest) (*ListTestCaseResultsResponse, error)
4742	// Gets a test case result.
4743	GetTestCaseResult(context.Context, *GetTestCaseResultRequest) (*TestCaseResult, error)
4744}
4745
4746// UnimplementedTestCasesServer can be embedded to have forward compatible implementations.
4747type UnimplementedTestCasesServer struct {
4748}
4749
4750func (*UnimplementedTestCasesServer) ListTestCases(context.Context, *ListTestCasesRequest) (*ListTestCasesResponse, error) {
4751	return nil, status1.Errorf(codes.Unimplemented, "method ListTestCases not implemented")
4752}
4753func (*UnimplementedTestCasesServer) BatchDeleteTestCases(context.Context, *BatchDeleteTestCasesRequest) (*emptypb.Empty, error) {
4754	return nil, status1.Errorf(codes.Unimplemented, "method BatchDeleteTestCases not implemented")
4755}
4756func (*UnimplementedTestCasesServer) GetTestCase(context.Context, *GetTestCaseRequest) (*TestCase, error) {
4757	return nil, status1.Errorf(codes.Unimplemented, "method GetTestCase not implemented")
4758}
4759func (*UnimplementedTestCasesServer) CreateTestCase(context.Context, *CreateTestCaseRequest) (*TestCase, error) {
4760	return nil, status1.Errorf(codes.Unimplemented, "method CreateTestCase not implemented")
4761}
4762func (*UnimplementedTestCasesServer) UpdateTestCase(context.Context, *UpdateTestCaseRequest) (*TestCase, error) {
4763	return nil, status1.Errorf(codes.Unimplemented, "method UpdateTestCase not implemented")
4764}
4765func (*UnimplementedTestCasesServer) RunTestCase(context.Context, *RunTestCaseRequest) (*longrunning.Operation, error) {
4766	return nil, status1.Errorf(codes.Unimplemented, "method RunTestCase not implemented")
4767}
4768func (*UnimplementedTestCasesServer) BatchRunTestCases(context.Context, *BatchRunTestCasesRequest) (*longrunning.Operation, error) {
4769	return nil, status1.Errorf(codes.Unimplemented, "method BatchRunTestCases not implemented")
4770}
4771func (*UnimplementedTestCasesServer) CalculateCoverage(context.Context, *CalculateCoverageRequest) (*CalculateCoverageResponse, error) {
4772	return nil, status1.Errorf(codes.Unimplemented, "method CalculateCoverage not implemented")
4773}
4774func (*UnimplementedTestCasesServer) ImportTestCases(context.Context, *ImportTestCasesRequest) (*longrunning.Operation, error) {
4775	return nil, status1.Errorf(codes.Unimplemented, "method ImportTestCases not implemented")
4776}
4777func (*UnimplementedTestCasesServer) ExportTestCases(context.Context, *ExportTestCasesRequest) (*longrunning.Operation, error) {
4778	return nil, status1.Errorf(codes.Unimplemented, "method ExportTestCases not implemented")
4779}
4780func (*UnimplementedTestCasesServer) ListTestCaseResults(context.Context, *ListTestCaseResultsRequest) (*ListTestCaseResultsResponse, error) {
4781	return nil, status1.Errorf(codes.Unimplemented, "method ListTestCaseResults not implemented")
4782}
4783func (*UnimplementedTestCasesServer) GetTestCaseResult(context.Context, *GetTestCaseResultRequest) (*TestCaseResult, error) {
4784	return nil, status1.Errorf(codes.Unimplemented, "method GetTestCaseResult not implemented")
4785}
4786
4787func RegisterTestCasesServer(s *grpc.Server, srv TestCasesServer) {
4788	s.RegisterService(&_TestCases_serviceDesc, srv)
4789}
4790
4791func _TestCases_ListTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4792	in := new(ListTestCasesRequest)
4793	if err := dec(in); err != nil {
4794		return nil, err
4795	}
4796	if interceptor == nil {
4797		return srv.(TestCasesServer).ListTestCases(ctx, in)
4798	}
4799	info := &grpc.UnaryServerInfo{
4800		Server:     srv,
4801		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCases",
4802	}
4803	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4804		return srv.(TestCasesServer).ListTestCases(ctx, req.(*ListTestCasesRequest))
4805	}
4806	return interceptor(ctx, in, info, handler)
4807}
4808
4809func _TestCases_BatchDeleteTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4810	in := new(BatchDeleteTestCasesRequest)
4811	if err := dec(in); err != nil {
4812		return nil, err
4813	}
4814	if interceptor == nil {
4815		return srv.(TestCasesServer).BatchDeleteTestCases(ctx, in)
4816	}
4817	info := &grpc.UnaryServerInfo{
4818		Server:     srv,
4819		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchDeleteTestCases",
4820	}
4821	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4822		return srv.(TestCasesServer).BatchDeleteTestCases(ctx, req.(*BatchDeleteTestCasesRequest))
4823	}
4824	return interceptor(ctx, in, info, handler)
4825}
4826
4827func _TestCases_GetTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4828	in := new(GetTestCaseRequest)
4829	if err := dec(in); err != nil {
4830		return nil, err
4831	}
4832	if interceptor == nil {
4833		return srv.(TestCasesServer).GetTestCase(ctx, in)
4834	}
4835	info := &grpc.UnaryServerInfo{
4836		Server:     srv,
4837		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/GetTestCase",
4838	}
4839	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4840		return srv.(TestCasesServer).GetTestCase(ctx, req.(*GetTestCaseRequest))
4841	}
4842	return interceptor(ctx, in, info, handler)
4843}
4844
4845func _TestCases_CreateTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4846	in := new(CreateTestCaseRequest)
4847	if err := dec(in); err != nil {
4848		return nil, err
4849	}
4850	if interceptor == nil {
4851		return srv.(TestCasesServer).CreateTestCase(ctx, in)
4852	}
4853	info := &grpc.UnaryServerInfo{
4854		Server:     srv,
4855		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/CreateTestCase",
4856	}
4857	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4858		return srv.(TestCasesServer).CreateTestCase(ctx, req.(*CreateTestCaseRequest))
4859	}
4860	return interceptor(ctx, in, info, handler)
4861}
4862
4863func _TestCases_UpdateTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4864	in := new(UpdateTestCaseRequest)
4865	if err := dec(in); err != nil {
4866		return nil, err
4867	}
4868	if interceptor == nil {
4869		return srv.(TestCasesServer).UpdateTestCase(ctx, in)
4870	}
4871	info := &grpc.UnaryServerInfo{
4872		Server:     srv,
4873		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/UpdateTestCase",
4874	}
4875	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4876		return srv.(TestCasesServer).UpdateTestCase(ctx, req.(*UpdateTestCaseRequest))
4877	}
4878	return interceptor(ctx, in, info, handler)
4879}
4880
4881func _TestCases_RunTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4882	in := new(RunTestCaseRequest)
4883	if err := dec(in); err != nil {
4884		return nil, err
4885	}
4886	if interceptor == nil {
4887		return srv.(TestCasesServer).RunTestCase(ctx, in)
4888	}
4889	info := &grpc.UnaryServerInfo{
4890		Server:     srv,
4891		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/RunTestCase",
4892	}
4893	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4894		return srv.(TestCasesServer).RunTestCase(ctx, req.(*RunTestCaseRequest))
4895	}
4896	return interceptor(ctx, in, info, handler)
4897}
4898
4899func _TestCases_BatchRunTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4900	in := new(BatchRunTestCasesRequest)
4901	if err := dec(in); err != nil {
4902		return nil, err
4903	}
4904	if interceptor == nil {
4905		return srv.(TestCasesServer).BatchRunTestCases(ctx, in)
4906	}
4907	info := &grpc.UnaryServerInfo{
4908		Server:     srv,
4909		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchRunTestCases",
4910	}
4911	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4912		return srv.(TestCasesServer).BatchRunTestCases(ctx, req.(*BatchRunTestCasesRequest))
4913	}
4914	return interceptor(ctx, in, info, handler)
4915}
4916
4917func _TestCases_CalculateCoverage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4918	in := new(CalculateCoverageRequest)
4919	if err := dec(in); err != nil {
4920		return nil, err
4921	}
4922	if interceptor == nil {
4923		return srv.(TestCasesServer).CalculateCoverage(ctx, in)
4924	}
4925	info := &grpc.UnaryServerInfo{
4926		Server:     srv,
4927		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/CalculateCoverage",
4928	}
4929	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4930		return srv.(TestCasesServer).CalculateCoverage(ctx, req.(*CalculateCoverageRequest))
4931	}
4932	return interceptor(ctx, in, info, handler)
4933}
4934
4935func _TestCases_ImportTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4936	in := new(ImportTestCasesRequest)
4937	if err := dec(in); err != nil {
4938		return nil, err
4939	}
4940	if interceptor == nil {
4941		return srv.(TestCasesServer).ImportTestCases(ctx, in)
4942	}
4943	info := &grpc.UnaryServerInfo{
4944		Server:     srv,
4945		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ImportTestCases",
4946	}
4947	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4948		return srv.(TestCasesServer).ImportTestCases(ctx, req.(*ImportTestCasesRequest))
4949	}
4950	return interceptor(ctx, in, info, handler)
4951}
4952
4953func _TestCases_ExportTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4954	in := new(ExportTestCasesRequest)
4955	if err := dec(in); err != nil {
4956		return nil, err
4957	}
4958	if interceptor == nil {
4959		return srv.(TestCasesServer).ExportTestCases(ctx, in)
4960	}
4961	info := &grpc.UnaryServerInfo{
4962		Server:     srv,
4963		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ExportTestCases",
4964	}
4965	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4966		return srv.(TestCasesServer).ExportTestCases(ctx, req.(*ExportTestCasesRequest))
4967	}
4968	return interceptor(ctx, in, info, handler)
4969}
4970
4971func _TestCases_ListTestCaseResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4972	in := new(ListTestCaseResultsRequest)
4973	if err := dec(in); err != nil {
4974		return nil, err
4975	}
4976	if interceptor == nil {
4977		return srv.(TestCasesServer).ListTestCaseResults(ctx, in)
4978	}
4979	info := &grpc.UnaryServerInfo{
4980		Server:     srv,
4981		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCaseResults",
4982	}
4983	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4984		return srv.(TestCasesServer).ListTestCaseResults(ctx, req.(*ListTestCaseResultsRequest))
4985	}
4986	return interceptor(ctx, in, info, handler)
4987}
4988
4989func _TestCases_GetTestCaseResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4990	in := new(GetTestCaseResultRequest)
4991	if err := dec(in); err != nil {
4992		return nil, err
4993	}
4994	if interceptor == nil {
4995		return srv.(TestCasesServer).GetTestCaseResult(ctx, in)
4996	}
4997	info := &grpc.UnaryServerInfo{
4998		Server:     srv,
4999		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/GetTestCaseResult",
5000	}
5001	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5002		return srv.(TestCasesServer).GetTestCaseResult(ctx, req.(*GetTestCaseResultRequest))
5003	}
5004	return interceptor(ctx, in, info, handler)
5005}
5006
5007var _TestCases_serviceDesc = grpc.ServiceDesc{
5008	ServiceName: "google.cloud.dialogflow.cx.v3beta1.TestCases",
5009	HandlerType: (*TestCasesServer)(nil),
5010	Methods: []grpc.MethodDesc{
5011		{
5012			MethodName: "ListTestCases",
5013			Handler:    _TestCases_ListTestCases_Handler,
5014		},
5015		{
5016			MethodName: "BatchDeleteTestCases",
5017			Handler:    _TestCases_BatchDeleteTestCases_Handler,
5018		},
5019		{
5020			MethodName: "GetTestCase",
5021			Handler:    _TestCases_GetTestCase_Handler,
5022		},
5023		{
5024			MethodName: "CreateTestCase",
5025			Handler:    _TestCases_CreateTestCase_Handler,
5026		},
5027		{
5028			MethodName: "UpdateTestCase",
5029			Handler:    _TestCases_UpdateTestCase_Handler,
5030		},
5031		{
5032			MethodName: "RunTestCase",
5033			Handler:    _TestCases_RunTestCase_Handler,
5034		},
5035		{
5036			MethodName: "BatchRunTestCases",
5037			Handler:    _TestCases_BatchRunTestCases_Handler,
5038		},
5039		{
5040			MethodName: "CalculateCoverage",
5041			Handler:    _TestCases_CalculateCoverage_Handler,
5042		},
5043		{
5044			MethodName: "ImportTestCases",
5045			Handler:    _TestCases_ImportTestCases_Handler,
5046		},
5047		{
5048			MethodName: "ExportTestCases",
5049			Handler:    _TestCases_ExportTestCases_Handler,
5050		},
5051		{
5052			MethodName: "ListTestCaseResults",
5053			Handler:    _TestCases_ListTestCaseResults_Handler,
5054		},
5055		{
5056			MethodName: "GetTestCaseResult",
5057			Handler:    _TestCases_GetTestCaseResult_Handler,
5058		},
5059	},
5060	Streams:  []grpc.StreamDesc{},
5061	Metadata: "google/cloud/dialogflow/cx/v3beta1/test_case.proto",
5062}
5063