1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.13.0
19// source: google/cloud/dialogflow/cx/v3/session.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	status "google.golang.org/genproto/googleapis/rpc/status"
31	latlng "google.golang.org/genproto/googleapis/type/latlng"
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	durationpb "google.golang.org/protobuf/types/known/durationpb"
38	structpb "google.golang.org/protobuf/types/known/structpb"
39)
40
41const (
42	// Verify that this generated code is sufficiently up-to-date.
43	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
44	// Verify that runtime/protoimpl is sufficiently up-to-date.
45	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
46)
47
48// This is a compile-time assertion that a sufficiently up-to-date version
49// of the legacy proto package is being used.
50const _ = proto.ProtoPackageIsVersion4
51
52// Type of the response message.
53type StreamingRecognitionResult_MessageType int32
54
55const (
56	// Not specified. Should never be used.
57	StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED StreamingRecognitionResult_MessageType = 0
58	// Message contains a (possibly partial) transcript.
59	StreamingRecognitionResult_TRANSCRIPT StreamingRecognitionResult_MessageType = 1
60	// Event indicates that the server has detected the end of the user's speech
61	// utterance and expects no additional speech. Therefore, the server will
62	// not process additional audio (although it may subsequently return
63	// additional results). The client should stop sending additional audio
64	// data, half-close the gRPC connection, and wait for any additional results
65	// until the server closes the gRPC connection. This message is only sent if
66	// [`single_utterance`][google.cloud.dialogflow.cx.v3.InputAudioConfig.single_utterance] was set to
67	// `true`, and is not used otherwise.
68	StreamingRecognitionResult_END_OF_SINGLE_UTTERANCE StreamingRecognitionResult_MessageType = 2
69)
70
71// Enum value maps for StreamingRecognitionResult_MessageType.
72var (
73	StreamingRecognitionResult_MessageType_name = map[int32]string{
74		0: "MESSAGE_TYPE_UNSPECIFIED",
75		1: "TRANSCRIPT",
76		2: "END_OF_SINGLE_UTTERANCE",
77	}
78	StreamingRecognitionResult_MessageType_value = map[string]int32{
79		"MESSAGE_TYPE_UNSPECIFIED": 0,
80		"TRANSCRIPT":               1,
81		"END_OF_SINGLE_UTTERANCE":  2,
82	}
83)
84
85func (x StreamingRecognitionResult_MessageType) Enum() *StreamingRecognitionResult_MessageType {
86	p := new(StreamingRecognitionResult_MessageType)
87	*p = x
88	return p
89}
90
91func (x StreamingRecognitionResult_MessageType) String() string {
92	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
93}
94
95func (StreamingRecognitionResult_MessageType) Descriptor() protoreflect.EnumDescriptor {
96	return file_google_cloud_dialogflow_cx_v3_session_proto_enumTypes[0].Descriptor()
97}
98
99func (StreamingRecognitionResult_MessageType) Type() protoreflect.EnumType {
100	return &file_google_cloud_dialogflow_cx_v3_session_proto_enumTypes[0]
101}
102
103func (x StreamingRecognitionResult_MessageType) Number() protoreflect.EnumNumber {
104	return protoreflect.EnumNumber(x)
105}
106
107// Deprecated: Use StreamingRecognitionResult_MessageType.Descriptor instead.
108func (StreamingRecognitionResult_MessageType) EnumDescriptor() ([]byte, []int) {
109	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{4, 0}
110}
111
112// Type of a Match.
113type Match_MatchType int32
114
115const (
116	// Not specified. Should never be used.
117	Match_MATCH_TYPE_UNSPECIFIED Match_MatchType = 0
118	// The query was matched to an intent.
119	Match_INTENT Match_MatchType = 1
120	// The query directly triggered an intent.
121	Match_DIRECT_INTENT Match_MatchType = 2
122	// The query was used for parameter filling.
123	Match_PARAMETER_FILLING Match_MatchType = 3
124	// No match was found for the query.
125	Match_NO_MATCH Match_MatchType = 4
126	// Indicates an empty query.
127	Match_NO_INPUT Match_MatchType = 5
128	// The query directly triggered an event.
129	Match_EVENT Match_MatchType = 6
130)
131
132// Enum value maps for Match_MatchType.
133var (
134	Match_MatchType_name = map[int32]string{
135		0: "MATCH_TYPE_UNSPECIFIED",
136		1: "INTENT",
137		2: "DIRECT_INTENT",
138		3: "PARAMETER_FILLING",
139		4: "NO_MATCH",
140		5: "NO_INPUT",
141		6: "EVENT",
142	}
143	Match_MatchType_value = map[string]int32{
144		"MATCH_TYPE_UNSPECIFIED": 0,
145		"INTENT":                 1,
146		"DIRECT_INTENT":          2,
147		"PARAMETER_FILLING":      3,
148		"NO_MATCH":               4,
149		"NO_INPUT":               5,
150		"EVENT":                  6,
151	}
152)
153
154func (x Match_MatchType) Enum() *Match_MatchType {
155	p := new(Match_MatchType)
156	*p = x
157	return p
158}
159
160func (x Match_MatchType) String() string {
161	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
162}
163
164func (Match_MatchType) Descriptor() protoreflect.EnumDescriptor {
165	return file_google_cloud_dialogflow_cx_v3_session_proto_enumTypes[1].Descriptor()
166}
167
168func (Match_MatchType) Type() protoreflect.EnumType {
169	return &file_google_cloud_dialogflow_cx_v3_session_proto_enumTypes[1]
170}
171
172func (x Match_MatchType) Number() protoreflect.EnumNumber {
173	return protoreflect.EnumNumber(x)
174}
175
176// Deprecated: Use Match_MatchType.Descriptor instead.
177func (Match_MatchType) EnumDescriptor() ([]byte, []int) {
178	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{13, 0}
179}
180
181// The request to detect user's intent.
182type DetectIntentRequest struct {
183	state         protoimpl.MessageState
184	sizeCache     protoimpl.SizeCache
185	unknownFields protoimpl.UnknownFields
186
187	// Required. The name of the session this query is sent to.
188	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
189	// ID>/sessions/<Session ID>` or `projects/<Project ID>/locations/<Location
190	// ID>/agents/<Agent ID>/environments/<Environment ID>/sessions/<Session ID>`.
191	// If `Environment ID` is not specified, we assume default 'draft'
192	// environment.
193	// It's up to the API caller to choose an appropriate `Session ID`. It can be
194	// a random number or some type of session identifiers (preferably hashed).
195	// The length of the `Session ID` must not exceed 36 characters.
196	//
197	// For more information, see the [sessions
198	// guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).
199	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
200	// The parameters of this query.
201	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
202	// Required. The input specification.
203	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
204	// Instructs the speech synthesizer how to generate the output audio.
205	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,4,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
206}
207
208func (x *DetectIntentRequest) Reset() {
209	*x = DetectIntentRequest{}
210	if protoimpl.UnsafeEnabled {
211		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[0]
212		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
213		ms.StoreMessageInfo(mi)
214	}
215}
216
217func (x *DetectIntentRequest) String() string {
218	return protoimpl.X.MessageStringOf(x)
219}
220
221func (*DetectIntentRequest) ProtoMessage() {}
222
223func (x *DetectIntentRequest) ProtoReflect() protoreflect.Message {
224	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[0]
225	if protoimpl.UnsafeEnabled && x != nil {
226		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
227		if ms.LoadMessageInfo() == nil {
228			ms.StoreMessageInfo(mi)
229		}
230		return ms
231	}
232	return mi.MessageOf(x)
233}
234
235// Deprecated: Use DetectIntentRequest.ProtoReflect.Descriptor instead.
236func (*DetectIntentRequest) Descriptor() ([]byte, []int) {
237	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{0}
238}
239
240func (x *DetectIntentRequest) GetSession() string {
241	if x != nil {
242		return x.Session
243	}
244	return ""
245}
246
247func (x *DetectIntentRequest) GetQueryParams() *QueryParameters {
248	if x != nil {
249		return x.QueryParams
250	}
251	return nil
252}
253
254func (x *DetectIntentRequest) GetQueryInput() *QueryInput {
255	if x != nil {
256		return x.QueryInput
257	}
258	return nil
259}
260
261func (x *DetectIntentRequest) GetOutputAudioConfig() *OutputAudioConfig {
262	if x != nil {
263		return x.OutputAudioConfig
264	}
265	return nil
266}
267
268// The message returned from the DetectIntent method.
269type DetectIntentResponse struct {
270	state         protoimpl.MessageState
271	sizeCache     protoimpl.SizeCache
272	unknownFields protoimpl.UnknownFields
273
274	// Output only. The unique identifier of the response. It can be used to
275	// locate a response in the training example set or for reporting issues.
276	ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
277	// The result of the conversational query.
278	QueryResult *QueryResult `protobuf:"bytes,2,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
279	// The audio data bytes encoded as specified in the request.
280	// Note: The output audio is generated based on the values of default platform
281	// text responses found in the
282	// [`query_result.response_messages`][google.cloud.dialogflow.cx.v3.QueryResult.response_messages] field. If
283	// multiple default text responses exist, they will be concatenated when
284	// generating audio. If no default platform text responses exist, the
285	// generated audio content will be empty.
286	//
287	// In some scenarios, multiple output audio fields may be present in the
288	// response structure. In these cases, only the top-most-level audio output
289	// has content.
290	OutputAudio []byte `protobuf:"bytes,4,opt,name=output_audio,json=outputAudio,proto3" json:"output_audio,omitempty"`
291	// The config used by the speech synthesizer to generate the output audio.
292	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,5,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
293}
294
295func (x *DetectIntentResponse) Reset() {
296	*x = DetectIntentResponse{}
297	if protoimpl.UnsafeEnabled {
298		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[1]
299		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
300		ms.StoreMessageInfo(mi)
301	}
302}
303
304func (x *DetectIntentResponse) String() string {
305	return protoimpl.X.MessageStringOf(x)
306}
307
308func (*DetectIntentResponse) ProtoMessage() {}
309
310func (x *DetectIntentResponse) ProtoReflect() protoreflect.Message {
311	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[1]
312	if protoimpl.UnsafeEnabled && x != nil {
313		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
314		if ms.LoadMessageInfo() == nil {
315			ms.StoreMessageInfo(mi)
316		}
317		return ms
318	}
319	return mi.MessageOf(x)
320}
321
322// Deprecated: Use DetectIntentResponse.ProtoReflect.Descriptor instead.
323func (*DetectIntentResponse) Descriptor() ([]byte, []int) {
324	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{1}
325}
326
327func (x *DetectIntentResponse) GetResponseId() string {
328	if x != nil {
329		return x.ResponseId
330	}
331	return ""
332}
333
334func (x *DetectIntentResponse) GetQueryResult() *QueryResult {
335	if x != nil {
336		return x.QueryResult
337	}
338	return nil
339}
340
341func (x *DetectIntentResponse) GetOutputAudio() []byte {
342	if x != nil {
343		return x.OutputAudio
344	}
345	return nil
346}
347
348func (x *DetectIntentResponse) GetOutputAudioConfig() *OutputAudioConfig {
349	if x != nil {
350		return x.OutputAudioConfig
351	}
352	return nil
353}
354
355// The top-level message sent by the client to the
356// [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent] method.
357//
358// Multiple request messages should be sent in order:
359//
360// 1.  The first message must contain
361// [session][google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest.session],
362//     [query_input][google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest.query_input] plus optionally
363//     [query_params][google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest.query_params]. If the client
364//     wants to receive an audio response, it should also contain
365//     [output_audio_config][google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest.output_audio_config].
366//
367// 2.  If [query_input][google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest.query_input] was set to
368//     [query_input.audio.config][google.cloud.dialogflow.cx.v3.AudioInput.config], all subsequent messages
369//     must contain [query_input.audio.audio][google.cloud.dialogflow.cx.v3.AudioInput.audio] to continue with
370//     Speech recognition.
371//     If you decide to rather detect an intent from text
372//     input after you already started Speech recognition, please send a message
373//     with [query_input.text][google.cloud.dialogflow.cx.v3.QueryInput.text].
374//
375//     However, note that:
376//
377//     * Dialogflow will bill you for the audio duration so far.
378//     * Dialogflow discards all Speech recognition results in favor of the
379//       input text.
380//     * Dialogflow will use the language code from the first message.
381//
382// After you sent all input, you must half-close or abort the request stream.
383type StreamingDetectIntentRequest struct {
384	state         protoimpl.MessageState
385	sizeCache     protoimpl.SizeCache
386	unknownFields protoimpl.UnknownFields
387
388	// The name of the session this query is sent to.
389	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
390	// ID>/sessions/<Session ID>` or `projects/<Project ID>/locations/<Location
391	// ID>/agents/<Agent ID>/environments/<Environment ID>/sessions/<Session ID>`.
392	// If `Environment ID` is not specified, we assume default 'draft'
393	// environment.
394	// It's up to the API caller to choose an appropriate `Session ID`. It can be
395	// a random number or some type of session identifiers (preferably hashed).
396	// The length of the `Session ID` must not exceed 36 characters.
397	// Note: session must be set in the first request.
398	//
399	// For more information, see the [sessions
400	// guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).
401	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
402	// The parameters of this query.
403	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
404	// Required. The input specification.
405	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
406	// Instructs the speech synthesizer how to generate the output audio.
407	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,4,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
408}
409
410func (x *StreamingDetectIntentRequest) Reset() {
411	*x = StreamingDetectIntentRequest{}
412	if protoimpl.UnsafeEnabled {
413		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[2]
414		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
415		ms.StoreMessageInfo(mi)
416	}
417}
418
419func (x *StreamingDetectIntentRequest) String() string {
420	return protoimpl.X.MessageStringOf(x)
421}
422
423func (*StreamingDetectIntentRequest) ProtoMessage() {}
424
425func (x *StreamingDetectIntentRequest) ProtoReflect() protoreflect.Message {
426	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[2]
427	if protoimpl.UnsafeEnabled && x != nil {
428		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
429		if ms.LoadMessageInfo() == nil {
430			ms.StoreMessageInfo(mi)
431		}
432		return ms
433	}
434	return mi.MessageOf(x)
435}
436
437// Deprecated: Use StreamingDetectIntentRequest.ProtoReflect.Descriptor instead.
438func (*StreamingDetectIntentRequest) Descriptor() ([]byte, []int) {
439	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{2}
440}
441
442func (x *StreamingDetectIntentRequest) GetSession() string {
443	if x != nil {
444		return x.Session
445	}
446	return ""
447}
448
449func (x *StreamingDetectIntentRequest) GetQueryParams() *QueryParameters {
450	if x != nil {
451		return x.QueryParams
452	}
453	return nil
454}
455
456func (x *StreamingDetectIntentRequest) GetQueryInput() *QueryInput {
457	if x != nil {
458		return x.QueryInput
459	}
460	return nil
461}
462
463func (x *StreamingDetectIntentRequest) GetOutputAudioConfig() *OutputAudioConfig {
464	if x != nil {
465		return x.OutputAudioConfig
466	}
467	return nil
468}
469
470// The top-level message returned from the `StreamingDetectIntent` method.
471//
472// Multiple response messages can be returned in order:
473//
474// 1.  If the input was set to streaming audio, the first one or more messages
475//     contain `recognition_result`. Each `recognition_result` represents a more
476//     complete transcript of what the user said. The last `recognition_result`
477//     has `is_final` set to `true`.
478//
479// 2.  The last message contains `detect_intent_response`.
480type StreamingDetectIntentResponse struct {
481	state         protoimpl.MessageState
482	sizeCache     protoimpl.SizeCache
483	unknownFields protoimpl.UnknownFields
484
485	// The output response.
486	//
487	// Types that are assignable to Response:
488	//	*StreamingDetectIntentResponse_RecognitionResult
489	//	*StreamingDetectIntentResponse_DetectIntentResponse
490	Response isStreamingDetectIntentResponse_Response `protobuf_oneof:"response"`
491}
492
493func (x *StreamingDetectIntentResponse) Reset() {
494	*x = StreamingDetectIntentResponse{}
495	if protoimpl.UnsafeEnabled {
496		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[3]
497		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
498		ms.StoreMessageInfo(mi)
499	}
500}
501
502func (x *StreamingDetectIntentResponse) String() string {
503	return protoimpl.X.MessageStringOf(x)
504}
505
506func (*StreamingDetectIntentResponse) ProtoMessage() {}
507
508func (x *StreamingDetectIntentResponse) ProtoReflect() protoreflect.Message {
509	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[3]
510	if protoimpl.UnsafeEnabled && x != nil {
511		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
512		if ms.LoadMessageInfo() == nil {
513			ms.StoreMessageInfo(mi)
514		}
515		return ms
516	}
517	return mi.MessageOf(x)
518}
519
520// Deprecated: Use StreamingDetectIntentResponse.ProtoReflect.Descriptor instead.
521func (*StreamingDetectIntentResponse) Descriptor() ([]byte, []int) {
522	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{3}
523}
524
525func (m *StreamingDetectIntentResponse) GetResponse() isStreamingDetectIntentResponse_Response {
526	if m != nil {
527		return m.Response
528	}
529	return nil
530}
531
532func (x *StreamingDetectIntentResponse) GetRecognitionResult() *StreamingRecognitionResult {
533	if x, ok := x.GetResponse().(*StreamingDetectIntentResponse_RecognitionResult); ok {
534		return x.RecognitionResult
535	}
536	return nil
537}
538
539func (x *StreamingDetectIntentResponse) GetDetectIntentResponse() *DetectIntentResponse {
540	if x, ok := x.GetResponse().(*StreamingDetectIntentResponse_DetectIntentResponse); ok {
541		return x.DetectIntentResponse
542	}
543	return nil
544}
545
546type isStreamingDetectIntentResponse_Response interface {
547	isStreamingDetectIntentResponse_Response()
548}
549
550type StreamingDetectIntentResponse_RecognitionResult struct {
551	// The result of speech recognition.
552	RecognitionResult *StreamingRecognitionResult `protobuf:"bytes,1,opt,name=recognition_result,json=recognitionResult,proto3,oneof"`
553}
554
555type StreamingDetectIntentResponse_DetectIntentResponse struct {
556	// The response from detect intent.
557	DetectIntentResponse *DetectIntentResponse `protobuf:"bytes,2,opt,name=detect_intent_response,json=detectIntentResponse,proto3,oneof"`
558}
559
560func (*StreamingDetectIntentResponse_RecognitionResult) isStreamingDetectIntentResponse_Response() {}
561
562func (*StreamingDetectIntentResponse_DetectIntentResponse) isStreamingDetectIntentResponse_Response() {
563}
564
565// Contains a speech recognition result corresponding to a portion of the audio
566// that is currently being processed or an indication that this is the end
567// of the single requested utterance.
568//
569// Example:
570//
571// 1.  transcript: "tube"
572//
573// 2.  transcript: "to be a"
574//
575// 3.  transcript: "to be"
576//
577// 4.  transcript: "to be or not to be"
578//     is_final: true
579//
580// 5.  transcript: " that's"
581//
582// 6.  transcript: " that is"
583//
584// 7.  message_type: `END_OF_SINGLE_UTTERANCE`
585//
586// 8.  transcript: " that is the question"
587//     is_final: true
588//
589// Only two of the responses contain final results (#4 and #8 indicated by
590// `is_final: true`). Concatenating these generates the full transcript: "to be
591// or not to be that is the question".
592//
593// In each response we populate:
594//
595// *  for `TRANSCRIPT`: `transcript` and possibly `is_final`.
596//
597// *  for `END_OF_SINGLE_UTTERANCE`: only `message_type`.
598type StreamingRecognitionResult struct {
599	state         protoimpl.MessageState
600	sizeCache     protoimpl.SizeCache
601	unknownFields protoimpl.UnknownFields
602
603	// Type of the result message.
604	MessageType StreamingRecognitionResult_MessageType `protobuf:"varint,1,opt,name=message_type,json=messageType,proto3,enum=google.cloud.dialogflow.cx.v3.StreamingRecognitionResult_MessageType" json:"message_type,omitempty"`
605	// Transcript text representing the words that the user spoke.
606	// Populated if and only if `message_type` = `TRANSCRIPT`.
607	Transcript string `protobuf:"bytes,2,opt,name=transcript,proto3" json:"transcript,omitempty"`
608	// If `false`, the `StreamingRecognitionResult` represents an
609	// interim result that may change. If `true`, the recognizer will not return
610	// any further hypotheses about this piece of the audio. May only be populated
611	// for `message_type` = `TRANSCRIPT`.
612	IsFinal bool `protobuf:"varint,3,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
613	// The Speech confidence between 0.0 and 1.0 for the current portion of audio.
614	// A higher number indicates an estimated greater likelihood that the
615	// recognized words are correct. The default of 0.0 is a sentinel value
616	// indicating that confidence was not set.
617	//
618	// This field is typically only provided if `is_final` is true and you should
619	// not rely on it being accurate or even set.
620	Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
621	// An estimate of the likelihood that the speech recognizer will
622	// not change its guess about this interim recognition result:
623	// * If the value is unspecified or 0.0, Dialogflow didn't compute the
624	//   stability. In particular, Dialogflow will only provide stability for
625	//   `TRANSCRIPT` results with `is_final = false`.
626	// * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely
627	//   unstable and 1.0 means completely stable.
628	Stability float32 `protobuf:"fixed32,6,opt,name=stability,proto3" json:"stability,omitempty"`
629	// Word-specific information for the words recognized by Speech in
630	// [transcript][google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.transcript]. Populated if and only if `message_type` = `TRANSCRIPT` and
631	// [InputAudioConfig.enable_word_info] is set.
632	SpeechWordInfo []*SpeechWordInfo `protobuf:"bytes,7,rep,name=speech_word_info,json=speechWordInfo,proto3" json:"speech_word_info,omitempty"`
633	// Time offset of the end of this Speech recognition result relative to the
634	// beginning of the audio. Only populated for `message_type` =
635	// `TRANSCRIPT`.
636	SpeechEndOffset *durationpb.Duration `protobuf:"bytes,8,opt,name=speech_end_offset,json=speechEndOffset,proto3" json:"speech_end_offset,omitempty"`
637}
638
639func (x *StreamingRecognitionResult) Reset() {
640	*x = StreamingRecognitionResult{}
641	if protoimpl.UnsafeEnabled {
642		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[4]
643		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
644		ms.StoreMessageInfo(mi)
645	}
646}
647
648func (x *StreamingRecognitionResult) String() string {
649	return protoimpl.X.MessageStringOf(x)
650}
651
652func (*StreamingRecognitionResult) ProtoMessage() {}
653
654func (x *StreamingRecognitionResult) ProtoReflect() protoreflect.Message {
655	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[4]
656	if protoimpl.UnsafeEnabled && x != nil {
657		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
658		if ms.LoadMessageInfo() == nil {
659			ms.StoreMessageInfo(mi)
660		}
661		return ms
662	}
663	return mi.MessageOf(x)
664}
665
666// Deprecated: Use StreamingRecognitionResult.ProtoReflect.Descriptor instead.
667func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) {
668	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{4}
669}
670
671func (x *StreamingRecognitionResult) GetMessageType() StreamingRecognitionResult_MessageType {
672	if x != nil {
673		return x.MessageType
674	}
675	return StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED
676}
677
678func (x *StreamingRecognitionResult) GetTranscript() string {
679	if x != nil {
680		return x.Transcript
681	}
682	return ""
683}
684
685func (x *StreamingRecognitionResult) GetIsFinal() bool {
686	if x != nil {
687		return x.IsFinal
688	}
689	return false
690}
691
692func (x *StreamingRecognitionResult) GetConfidence() float32 {
693	if x != nil {
694		return x.Confidence
695	}
696	return 0
697}
698
699func (x *StreamingRecognitionResult) GetStability() float32 {
700	if x != nil {
701		return x.Stability
702	}
703	return 0
704}
705
706func (x *StreamingRecognitionResult) GetSpeechWordInfo() []*SpeechWordInfo {
707	if x != nil {
708		return x.SpeechWordInfo
709	}
710	return nil
711}
712
713func (x *StreamingRecognitionResult) GetSpeechEndOffset() *durationpb.Duration {
714	if x != nil {
715		return x.SpeechEndOffset
716	}
717	return nil
718}
719
720// Represents the parameters of a conversational query.
721type QueryParameters struct {
722	state         protoimpl.MessageState
723	sizeCache     protoimpl.SizeCache
724	unknownFields protoimpl.UnknownFields
725
726	// The time zone of this conversational query from the [time zone
727	// database](https://www.iana.org/time-zones), e.g., America/New_York,
728	// Europe/Paris. If not provided, the time zone specified in the agent is
729	// used.
730	TimeZone string `protobuf:"bytes,1,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
731	// The geo location of this conversational query.
732	GeoLocation *latlng.LatLng `protobuf:"bytes,2,opt,name=geo_location,json=geoLocation,proto3" json:"geo_location,omitempty"`
733	// Additional session entity types to replace or extend developer entity types
734	// with. The entity synonyms apply to all languages and persist for the
735	// session of this query.
736	SessionEntityTypes []*SessionEntityType `protobuf:"bytes,3,rep,name=session_entity_types,json=sessionEntityTypes,proto3" json:"session_entity_types,omitempty"`
737	// This field can be used to pass custom data into the webhook associated with
738	// the agent. Arbitrary JSON objects are supported.
739	Payload *structpb.Struct `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"`
740	// Additional parameters to be put into [session
741	// parameters][SessionInfo.parameters]. To remove a
742	// parameter from the session, clients should explicitly set the parameter
743	// value to null.
744	//
745	// Depending on your protocol or client library language, this is a
746	// map, associative array, symbol table, dictionary, or JSON object
747	// composed of a collection of (MapKey, MapValue) pairs:
748	//
749	// -   MapKey type: string
750	// -   MapKey value: parameter name
751	// -   MapValue type:
752	//     -   If parameter's entity type is a composite entity: map
753	//     -   Else: string or number, depending on parameter value type
754	// -   MapValue value:
755	//     -   If parameter's entity type is a composite entity:
756	//         map from composite entity property names to property values
757	//     -   Else: parameter value
758	Parameters *structpb.Struct `protobuf:"bytes,5,opt,name=parameters,proto3" json:"parameters,omitempty"`
759	// Configures whether sentiment analysis should be performed. If not
760	// provided, sentiment analysis is not performed.
761	AnalyzeQueryTextSentiment bool `protobuf:"varint,8,opt,name=analyze_query_text_sentiment,json=analyzeQueryTextSentiment,proto3" json:"analyze_query_text_sentiment,omitempty"`
762}
763
764func (x *QueryParameters) Reset() {
765	*x = QueryParameters{}
766	if protoimpl.UnsafeEnabled {
767		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[5]
768		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
769		ms.StoreMessageInfo(mi)
770	}
771}
772
773func (x *QueryParameters) String() string {
774	return protoimpl.X.MessageStringOf(x)
775}
776
777func (*QueryParameters) ProtoMessage() {}
778
779func (x *QueryParameters) ProtoReflect() protoreflect.Message {
780	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[5]
781	if protoimpl.UnsafeEnabled && x != nil {
782		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
783		if ms.LoadMessageInfo() == nil {
784			ms.StoreMessageInfo(mi)
785		}
786		return ms
787	}
788	return mi.MessageOf(x)
789}
790
791// Deprecated: Use QueryParameters.ProtoReflect.Descriptor instead.
792func (*QueryParameters) Descriptor() ([]byte, []int) {
793	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{5}
794}
795
796func (x *QueryParameters) GetTimeZone() string {
797	if x != nil {
798		return x.TimeZone
799	}
800	return ""
801}
802
803func (x *QueryParameters) GetGeoLocation() *latlng.LatLng {
804	if x != nil {
805		return x.GeoLocation
806	}
807	return nil
808}
809
810func (x *QueryParameters) GetSessionEntityTypes() []*SessionEntityType {
811	if x != nil {
812		return x.SessionEntityTypes
813	}
814	return nil
815}
816
817func (x *QueryParameters) GetPayload() *structpb.Struct {
818	if x != nil {
819		return x.Payload
820	}
821	return nil
822}
823
824func (x *QueryParameters) GetParameters() *structpb.Struct {
825	if x != nil {
826		return x.Parameters
827	}
828	return nil
829}
830
831func (x *QueryParameters) GetAnalyzeQueryTextSentiment() bool {
832	if x != nil {
833		return x.AnalyzeQueryTextSentiment
834	}
835	return false
836}
837
838// Represents the query input. It can contain one of:
839//
840// 1.  A conversational query in the form of text.
841//
842// 2.  An intent query that specifies which intent to trigger.
843//
844// 3.  Natural language speech audio to be processed.
845//
846// 4.  An event to be triggered.
847//
848type QueryInput struct {
849	state         protoimpl.MessageState
850	sizeCache     protoimpl.SizeCache
851	unknownFields protoimpl.UnknownFields
852
853	// Required. The input specification.
854	//
855	// Types that are assignable to Input:
856	//	*QueryInput_Text
857	//	*QueryInput_Intent
858	//	*QueryInput_Audio
859	//	*QueryInput_Event
860	//	*QueryInput_Dtmf
861	Input isQueryInput_Input `protobuf_oneof:"input"`
862	// Required. The language of the input. See [Language
863	// Support](https://cloud.google.com/dialogflow/docs/reference/language) for a
864	// list of the currently supported language codes. Note that queries in the
865	// same session do not necessarily need to specify the same language.
866	LanguageCode string `protobuf:"bytes,4,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
867}
868
869func (x *QueryInput) Reset() {
870	*x = QueryInput{}
871	if protoimpl.UnsafeEnabled {
872		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[6]
873		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
874		ms.StoreMessageInfo(mi)
875	}
876}
877
878func (x *QueryInput) String() string {
879	return protoimpl.X.MessageStringOf(x)
880}
881
882func (*QueryInput) ProtoMessage() {}
883
884func (x *QueryInput) ProtoReflect() protoreflect.Message {
885	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[6]
886	if protoimpl.UnsafeEnabled && x != nil {
887		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
888		if ms.LoadMessageInfo() == nil {
889			ms.StoreMessageInfo(mi)
890		}
891		return ms
892	}
893	return mi.MessageOf(x)
894}
895
896// Deprecated: Use QueryInput.ProtoReflect.Descriptor instead.
897func (*QueryInput) Descriptor() ([]byte, []int) {
898	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{6}
899}
900
901func (m *QueryInput) GetInput() isQueryInput_Input {
902	if m != nil {
903		return m.Input
904	}
905	return nil
906}
907
908func (x *QueryInput) GetText() *TextInput {
909	if x, ok := x.GetInput().(*QueryInput_Text); ok {
910		return x.Text
911	}
912	return nil
913}
914
915func (x *QueryInput) GetIntent() *IntentInput {
916	if x, ok := x.GetInput().(*QueryInput_Intent); ok {
917		return x.Intent
918	}
919	return nil
920}
921
922func (x *QueryInput) GetAudio() *AudioInput {
923	if x, ok := x.GetInput().(*QueryInput_Audio); ok {
924		return x.Audio
925	}
926	return nil
927}
928
929func (x *QueryInput) GetEvent() *EventInput {
930	if x, ok := x.GetInput().(*QueryInput_Event); ok {
931		return x.Event
932	}
933	return nil
934}
935
936func (x *QueryInput) GetDtmf() *DtmfInput {
937	if x, ok := x.GetInput().(*QueryInput_Dtmf); ok {
938		return x.Dtmf
939	}
940	return nil
941}
942
943func (x *QueryInput) GetLanguageCode() string {
944	if x != nil {
945		return x.LanguageCode
946	}
947	return ""
948}
949
950type isQueryInput_Input interface {
951	isQueryInput_Input()
952}
953
954type QueryInput_Text struct {
955	// The natural language text to be processed.
956	Text *TextInput `protobuf:"bytes,2,opt,name=text,proto3,oneof"`
957}
958
959type QueryInput_Intent struct {
960	// The intent to be triggered.
961	Intent *IntentInput `protobuf:"bytes,3,opt,name=intent,proto3,oneof"`
962}
963
964type QueryInput_Audio struct {
965	// The natural language speech audio to be processed.
966	Audio *AudioInput `protobuf:"bytes,5,opt,name=audio,proto3,oneof"`
967}
968
969type QueryInput_Event struct {
970	// The event to be triggered.
971	Event *EventInput `protobuf:"bytes,6,opt,name=event,proto3,oneof"`
972}
973
974type QueryInput_Dtmf struct {
975	// The DTMF event to be handled.
976	Dtmf *DtmfInput `protobuf:"bytes,7,opt,name=dtmf,proto3,oneof"`
977}
978
979func (*QueryInput_Text) isQueryInput_Input() {}
980
981func (*QueryInput_Intent) isQueryInput_Input() {}
982
983func (*QueryInput_Audio) isQueryInput_Input() {}
984
985func (*QueryInput_Event) isQueryInput_Input() {}
986
987func (*QueryInput_Dtmf) isQueryInput_Input() {}
988
989// Represents the result of a conversational query.
990type QueryResult struct {
991	state         protoimpl.MessageState
992	sizeCache     protoimpl.SizeCache
993	unknownFields protoimpl.UnknownFields
994
995	// The original conversational query.
996	//
997	// Types that are assignable to Query:
998	//	*QueryResult_Text
999	//	*QueryResult_TriggerIntent
1000	//	*QueryResult_Transcript
1001	//	*QueryResult_TriggerEvent
1002	Query isQueryResult_Query `protobuf_oneof:"query"`
1003	// The language that was triggered during intent detection.
1004	// See [Language
1005	// Support](https://cloud.google.com/dialogflow/docs/reference/language)
1006	// for a list of the currently supported language codes.
1007	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1008	// The collected [session parameters][google.cloud.dialogflow.cx.v3.SessionInfo.parameters].
1009	//
1010	// Depending on your protocol or client library language, this is a
1011	// map, associative array, symbol table, dictionary, or JSON object
1012	// composed of a collection of (MapKey, MapValue) pairs:
1013	//
1014	// -   MapKey type: string
1015	// -   MapKey value: parameter name
1016	// -   MapValue type:
1017	//     -   If parameter's entity type is a composite entity: map
1018	//     -   Else: string or number, depending on parameter value type
1019	// -   MapValue value:
1020	//     -   If parameter's entity type is a composite entity:
1021	//         map from composite entity property names to property values
1022	//     -   Else: parameter value
1023	Parameters *structpb.Struct `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"`
1024	// The list of rich messages returned to the client. Responses vary from
1025	// simple text messages to more sophisticated, structured payloads used
1026	// to drive complex logic.
1027	ResponseMessages []*ResponseMessage `protobuf:"bytes,4,rep,name=response_messages,json=responseMessages,proto3" json:"response_messages,omitempty"`
1028	// The list of webhook call status in the order of call sequence.
1029	WebhookStatuses []*status.Status `protobuf:"bytes,13,rep,name=webhook_statuses,json=webhookStatuses,proto3" json:"webhook_statuses,omitempty"`
1030	// The list of webhook payload in [WebhookResponse.payload][google.cloud.dialogflow.cx.v3.WebhookResponse.payload], in
1031	// the order of call sequence. If some webhook call fails or doesn't return
1032	// any payload, an empty `Struct` would be used instead.
1033	WebhookPayloads []*structpb.Struct `protobuf:"bytes,6,rep,name=webhook_payloads,json=webhookPayloads,proto3" json:"webhook_payloads,omitempty"`
1034	// The current [Page][google.cloud.dialogflow.cx.v3.Page]. Some, not all fields are filled in this message,
1035	// including but not limited to `name` and `display_name`.
1036	CurrentPage *Page `protobuf:"bytes,7,opt,name=current_page,json=currentPage,proto3" json:"current_page,omitempty"`
1037	// The [Intent][google.cloud.dialogflow.cx.v3.Intent] that matched the conversational query. Some, not all fields
1038	// are filled in this message, including but not limited to: `name` and
1039	// `display_name`.
1040	// This field is deprecated, please use [QueryResult.match][google.cloud.dialogflow.cx.v3.QueryResult.match] instead.
1041	//
1042	// Deprecated: Do not use.
1043	Intent *Intent `protobuf:"bytes,8,opt,name=intent,proto3" json:"intent,omitempty"`
1044	// The intent detection confidence. Values range from 0.0 (completely
1045	// uncertain) to 1.0 (completely certain).
1046	// This value is for informational purpose only and is only used to
1047	// help match the best intent within the classification threshold.
1048	// This value may change for the same end-user expression at any time due to a
1049	// model retraining or change in implementation.
1050	// This field is deprecated, please use [QueryResult.match][google.cloud.dialogflow.cx.v3.QueryResult.match] instead.
1051	//
1052	// Deprecated: Do not use.
1053	IntentDetectionConfidence float32 `protobuf:"fixed32,9,opt,name=intent_detection_confidence,json=intentDetectionConfidence,proto3" json:"intent_detection_confidence,omitempty"`
1054	// Intent match result, could be an intent or an event.
1055	Match *Match `protobuf:"bytes,15,opt,name=match,proto3" json:"match,omitempty"`
1056	// The free-form diagnostic info. For example, this field could contain
1057	// webhook call latency. The string keys of the Struct's fields map can change
1058	// without notice.
1059	DiagnosticInfo *structpb.Struct `protobuf:"bytes,10,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"`
1060	// The sentiment analyss result, which depends on
1061	// [`analyze_query_text_sentiment`]
1062	// [google.cloud.dialogflow.cx.v3.QueryParameters.analyze_query_text_sentiment], specified in the request.
1063	SentimentAnalysisResult *SentimentAnalysisResult `protobuf:"bytes,17,opt,name=sentiment_analysis_result,json=sentimentAnalysisResult,proto3" json:"sentiment_analysis_result,omitempty"`
1064}
1065
1066func (x *QueryResult) Reset() {
1067	*x = QueryResult{}
1068	if protoimpl.UnsafeEnabled {
1069		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[7]
1070		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1071		ms.StoreMessageInfo(mi)
1072	}
1073}
1074
1075func (x *QueryResult) String() string {
1076	return protoimpl.X.MessageStringOf(x)
1077}
1078
1079func (*QueryResult) ProtoMessage() {}
1080
1081func (x *QueryResult) ProtoReflect() protoreflect.Message {
1082	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[7]
1083	if protoimpl.UnsafeEnabled && x != nil {
1084		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1085		if ms.LoadMessageInfo() == nil {
1086			ms.StoreMessageInfo(mi)
1087		}
1088		return ms
1089	}
1090	return mi.MessageOf(x)
1091}
1092
1093// Deprecated: Use QueryResult.ProtoReflect.Descriptor instead.
1094func (*QueryResult) Descriptor() ([]byte, []int) {
1095	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{7}
1096}
1097
1098func (m *QueryResult) GetQuery() isQueryResult_Query {
1099	if m != nil {
1100		return m.Query
1101	}
1102	return nil
1103}
1104
1105func (x *QueryResult) GetText() string {
1106	if x, ok := x.GetQuery().(*QueryResult_Text); ok {
1107		return x.Text
1108	}
1109	return ""
1110}
1111
1112func (x *QueryResult) GetTriggerIntent() string {
1113	if x, ok := x.GetQuery().(*QueryResult_TriggerIntent); ok {
1114		return x.TriggerIntent
1115	}
1116	return ""
1117}
1118
1119func (x *QueryResult) GetTranscript() string {
1120	if x, ok := x.GetQuery().(*QueryResult_Transcript); ok {
1121		return x.Transcript
1122	}
1123	return ""
1124}
1125
1126func (x *QueryResult) GetTriggerEvent() string {
1127	if x, ok := x.GetQuery().(*QueryResult_TriggerEvent); ok {
1128		return x.TriggerEvent
1129	}
1130	return ""
1131}
1132
1133func (x *QueryResult) GetLanguageCode() string {
1134	if x != nil {
1135		return x.LanguageCode
1136	}
1137	return ""
1138}
1139
1140func (x *QueryResult) GetParameters() *structpb.Struct {
1141	if x != nil {
1142		return x.Parameters
1143	}
1144	return nil
1145}
1146
1147func (x *QueryResult) GetResponseMessages() []*ResponseMessage {
1148	if x != nil {
1149		return x.ResponseMessages
1150	}
1151	return nil
1152}
1153
1154func (x *QueryResult) GetWebhookStatuses() []*status.Status {
1155	if x != nil {
1156		return x.WebhookStatuses
1157	}
1158	return nil
1159}
1160
1161func (x *QueryResult) GetWebhookPayloads() []*structpb.Struct {
1162	if x != nil {
1163		return x.WebhookPayloads
1164	}
1165	return nil
1166}
1167
1168func (x *QueryResult) GetCurrentPage() *Page {
1169	if x != nil {
1170		return x.CurrentPage
1171	}
1172	return nil
1173}
1174
1175// Deprecated: Do not use.
1176func (x *QueryResult) GetIntent() *Intent {
1177	if x != nil {
1178		return x.Intent
1179	}
1180	return nil
1181}
1182
1183// Deprecated: Do not use.
1184func (x *QueryResult) GetIntentDetectionConfidence() float32 {
1185	if x != nil {
1186		return x.IntentDetectionConfidence
1187	}
1188	return 0
1189}
1190
1191func (x *QueryResult) GetMatch() *Match {
1192	if x != nil {
1193		return x.Match
1194	}
1195	return nil
1196}
1197
1198func (x *QueryResult) GetDiagnosticInfo() *structpb.Struct {
1199	if x != nil {
1200		return x.DiagnosticInfo
1201	}
1202	return nil
1203}
1204
1205func (x *QueryResult) GetSentimentAnalysisResult() *SentimentAnalysisResult {
1206	if x != nil {
1207		return x.SentimentAnalysisResult
1208	}
1209	return nil
1210}
1211
1212type isQueryResult_Query interface {
1213	isQueryResult_Query()
1214}
1215
1216type QueryResult_Text struct {
1217	// If [natural language text][google.cloud.dialogflow.cx.v3.TextInput] was provided as input, this field
1218	// will contain a copy of the text.
1219	Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"`
1220}
1221
1222type QueryResult_TriggerIntent struct {
1223	// If an [intent][google.cloud.dialogflow.cx.v3.IntentInput] was provided as input, this field will
1224	// contain a copy of the intent identifier.
1225	TriggerIntent string `protobuf:"bytes,11,opt,name=trigger_intent,json=triggerIntent,proto3,oneof"`
1226}
1227
1228type QueryResult_Transcript struct {
1229	// If [natural language speech audio][google.cloud.dialogflow.cx.v3.AudioInput] was provided as input,
1230	// this field will contain the trascript for the audio.
1231	Transcript string `protobuf:"bytes,12,opt,name=transcript,proto3,oneof"`
1232}
1233
1234type QueryResult_TriggerEvent struct {
1235	// If an [event][google.cloud.dialogflow.cx.v3.EventInput] was provided as input, this field will contain
1236	// the name of the event.
1237	TriggerEvent string `protobuf:"bytes,14,opt,name=trigger_event,json=triggerEvent,proto3,oneof"`
1238}
1239
1240func (*QueryResult_Text) isQueryResult_Query() {}
1241
1242func (*QueryResult_TriggerIntent) isQueryResult_Query() {}
1243
1244func (*QueryResult_Transcript) isQueryResult_Query() {}
1245
1246func (*QueryResult_TriggerEvent) isQueryResult_Query() {}
1247
1248// Represents the natural language text to be processed.
1249type TextInput struct {
1250	state         protoimpl.MessageState
1251	sizeCache     protoimpl.SizeCache
1252	unknownFields protoimpl.UnknownFields
1253
1254	// Required. The UTF-8 encoded natural language text to be processed. Text length must
1255	// not exceed 256 characters.
1256	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
1257}
1258
1259func (x *TextInput) Reset() {
1260	*x = TextInput{}
1261	if protoimpl.UnsafeEnabled {
1262		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[8]
1263		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1264		ms.StoreMessageInfo(mi)
1265	}
1266}
1267
1268func (x *TextInput) String() string {
1269	return protoimpl.X.MessageStringOf(x)
1270}
1271
1272func (*TextInput) ProtoMessage() {}
1273
1274func (x *TextInput) ProtoReflect() protoreflect.Message {
1275	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[8]
1276	if protoimpl.UnsafeEnabled && x != nil {
1277		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1278		if ms.LoadMessageInfo() == nil {
1279			ms.StoreMessageInfo(mi)
1280		}
1281		return ms
1282	}
1283	return mi.MessageOf(x)
1284}
1285
1286// Deprecated: Use TextInput.ProtoReflect.Descriptor instead.
1287func (*TextInput) Descriptor() ([]byte, []int) {
1288	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{8}
1289}
1290
1291func (x *TextInput) GetText() string {
1292	if x != nil {
1293		return x.Text
1294	}
1295	return ""
1296}
1297
1298// Represents the intent to trigger programmatically rather than as a result of
1299// natural language processing.
1300type IntentInput struct {
1301	state         protoimpl.MessageState
1302	sizeCache     protoimpl.SizeCache
1303	unknownFields protoimpl.UnknownFields
1304
1305	// Required. The unique identifier of the intent.
1306	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1307	// ID>/intents/<Intent ID>`.
1308	Intent string `protobuf:"bytes,1,opt,name=intent,proto3" json:"intent,omitempty"`
1309}
1310
1311func (x *IntentInput) Reset() {
1312	*x = IntentInput{}
1313	if protoimpl.UnsafeEnabled {
1314		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[9]
1315		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1316		ms.StoreMessageInfo(mi)
1317	}
1318}
1319
1320func (x *IntentInput) String() string {
1321	return protoimpl.X.MessageStringOf(x)
1322}
1323
1324func (*IntentInput) ProtoMessage() {}
1325
1326func (x *IntentInput) ProtoReflect() protoreflect.Message {
1327	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[9]
1328	if protoimpl.UnsafeEnabled && x != nil {
1329		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1330		if ms.LoadMessageInfo() == nil {
1331			ms.StoreMessageInfo(mi)
1332		}
1333		return ms
1334	}
1335	return mi.MessageOf(x)
1336}
1337
1338// Deprecated: Use IntentInput.ProtoReflect.Descriptor instead.
1339func (*IntentInput) Descriptor() ([]byte, []int) {
1340	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{9}
1341}
1342
1343func (x *IntentInput) GetIntent() string {
1344	if x != nil {
1345		return x.Intent
1346	}
1347	return ""
1348}
1349
1350// Represents the natural speech audio to be processed.
1351type AudioInput struct {
1352	state         protoimpl.MessageState
1353	sizeCache     protoimpl.SizeCache
1354	unknownFields protoimpl.UnknownFields
1355
1356	// Required. Instructs the speech recognizer how to process the speech audio.
1357	Config *InputAudioConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
1358	// The natural language speech audio to be processed.
1359	// A single request can contain up to 1 minute of speech audio data.
1360	// The [transcribed text][google.cloud.dialogflow.cx.v3.QueryResult.transcript] cannot contain more than 256
1361	// bytes.
1362	//
1363	// For non-streaming audio detect intent, both `config` and `audio` must be
1364	// provided.
1365	// For streaming audio detect intent, `config` must be provided in
1366	// the first request and `audio` must be provided in all following requests.
1367	Audio []byte `protobuf:"bytes,2,opt,name=audio,proto3" json:"audio,omitempty"`
1368}
1369
1370func (x *AudioInput) Reset() {
1371	*x = AudioInput{}
1372	if protoimpl.UnsafeEnabled {
1373		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[10]
1374		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1375		ms.StoreMessageInfo(mi)
1376	}
1377}
1378
1379func (x *AudioInput) String() string {
1380	return protoimpl.X.MessageStringOf(x)
1381}
1382
1383func (*AudioInput) ProtoMessage() {}
1384
1385func (x *AudioInput) ProtoReflect() protoreflect.Message {
1386	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[10]
1387	if protoimpl.UnsafeEnabled && x != nil {
1388		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1389		if ms.LoadMessageInfo() == nil {
1390			ms.StoreMessageInfo(mi)
1391		}
1392		return ms
1393	}
1394	return mi.MessageOf(x)
1395}
1396
1397// Deprecated: Use AudioInput.ProtoReflect.Descriptor instead.
1398func (*AudioInput) Descriptor() ([]byte, []int) {
1399	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{10}
1400}
1401
1402func (x *AudioInput) GetConfig() *InputAudioConfig {
1403	if x != nil {
1404		return x.Config
1405	}
1406	return nil
1407}
1408
1409func (x *AudioInput) GetAudio() []byte {
1410	if x != nil {
1411		return x.Audio
1412	}
1413	return nil
1414}
1415
1416// Represents the event to trigger.
1417type EventInput struct {
1418	state         protoimpl.MessageState
1419	sizeCache     protoimpl.SizeCache
1420	unknownFields protoimpl.UnknownFields
1421
1422	// Name of the event.
1423	Event string `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"`
1424}
1425
1426func (x *EventInput) Reset() {
1427	*x = EventInput{}
1428	if protoimpl.UnsafeEnabled {
1429		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[11]
1430		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1431		ms.StoreMessageInfo(mi)
1432	}
1433}
1434
1435func (x *EventInput) String() string {
1436	return protoimpl.X.MessageStringOf(x)
1437}
1438
1439func (*EventInput) ProtoMessage() {}
1440
1441func (x *EventInput) ProtoReflect() protoreflect.Message {
1442	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[11]
1443	if protoimpl.UnsafeEnabled && x != nil {
1444		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1445		if ms.LoadMessageInfo() == nil {
1446			ms.StoreMessageInfo(mi)
1447		}
1448		return ms
1449	}
1450	return mi.MessageOf(x)
1451}
1452
1453// Deprecated: Use EventInput.ProtoReflect.Descriptor instead.
1454func (*EventInput) Descriptor() ([]byte, []int) {
1455	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{11}
1456}
1457
1458func (x *EventInput) GetEvent() string {
1459	if x != nil {
1460		return x.Event
1461	}
1462	return ""
1463}
1464
1465// Represents the input for dtmf event.
1466type DtmfInput struct {
1467	state         protoimpl.MessageState
1468	sizeCache     protoimpl.SizeCache
1469	unknownFields protoimpl.UnknownFields
1470
1471	// The dtmf digits.
1472	Digits string `protobuf:"bytes,1,opt,name=digits,proto3" json:"digits,omitempty"`
1473	// The finish digit (if any).
1474	FinishDigit string `protobuf:"bytes,2,opt,name=finish_digit,json=finishDigit,proto3" json:"finish_digit,omitempty"`
1475}
1476
1477func (x *DtmfInput) Reset() {
1478	*x = DtmfInput{}
1479	if protoimpl.UnsafeEnabled {
1480		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[12]
1481		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1482		ms.StoreMessageInfo(mi)
1483	}
1484}
1485
1486func (x *DtmfInput) String() string {
1487	return protoimpl.X.MessageStringOf(x)
1488}
1489
1490func (*DtmfInput) ProtoMessage() {}
1491
1492func (x *DtmfInput) ProtoReflect() protoreflect.Message {
1493	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[12]
1494	if protoimpl.UnsafeEnabled && x != nil {
1495		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1496		if ms.LoadMessageInfo() == nil {
1497			ms.StoreMessageInfo(mi)
1498		}
1499		return ms
1500	}
1501	return mi.MessageOf(x)
1502}
1503
1504// Deprecated: Use DtmfInput.ProtoReflect.Descriptor instead.
1505func (*DtmfInput) Descriptor() ([]byte, []int) {
1506	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{12}
1507}
1508
1509func (x *DtmfInput) GetDigits() string {
1510	if x != nil {
1511		return x.Digits
1512	}
1513	return ""
1514}
1515
1516func (x *DtmfInput) GetFinishDigit() string {
1517	if x != nil {
1518		return x.FinishDigit
1519	}
1520	return ""
1521}
1522
1523// Represents one match result of [MatchIntent][].
1524type Match struct {
1525	state         protoimpl.MessageState
1526	sizeCache     protoimpl.SizeCache
1527	unknownFields protoimpl.UnknownFields
1528
1529	// The [Intent][google.cloud.dialogflow.cx.v3.Intent] that matched the query. Some, not all fields are filled in
1530	// this message, including but not limited to: `name` and `display_name`. Only
1531	// filled for [`INTENT`][google.cloud.dialogflow.cx.v3.Match.MatchType] match type.
1532	Intent *Intent `protobuf:"bytes,1,opt,name=intent,proto3" json:"intent,omitempty"`
1533	// The event that matched the query. Only filled for
1534	// [`EVENT`][google.cloud.dialogflow.cx.v3.Match.MatchType] match type.
1535	Event string `protobuf:"bytes,6,opt,name=event,proto3" json:"event,omitempty"`
1536	// The collection of parameters extracted from the query.
1537	//
1538	// Depending on your protocol or client library language, this is a
1539	// map, associative array, symbol table, dictionary, or JSON object
1540	// composed of a collection of (MapKey, MapValue) pairs:
1541	//
1542	// -   MapKey type: string
1543	// -   MapKey value: parameter name
1544	// -   MapValue type:
1545	//     -   If parameter's entity type is a composite entity: map
1546	//     -   Else: string or number, depending on parameter value type
1547	// -   MapValue value:
1548	//     -   If parameter's entity type is a composite entity:
1549	//         map from composite entity property names to property values
1550	//     -   Else: parameter value
1551	Parameters *structpb.Struct `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
1552	// Final text input which was matched during MatchIntent. This value can be
1553	// different from original input sent in request because of spelling
1554	// correction or other processing.
1555	ResolvedInput string `protobuf:"bytes,3,opt,name=resolved_input,json=resolvedInput,proto3" json:"resolved_input,omitempty"`
1556	// Type of this [Match][google.cloud.dialogflow.cx.v3.Match].
1557	MatchType Match_MatchType `protobuf:"varint,4,opt,name=match_type,json=matchType,proto3,enum=google.cloud.dialogflow.cx.v3.Match_MatchType" json:"match_type,omitempty"`
1558	// The confidence of this match. Values range from 0.0 (completely uncertain)
1559	// to 1.0 (completely certain).
1560	// This value is for informational purpose only and is only used to help match
1561	// the best intent within the classification threshold. This value may change
1562	// for the same end-user expression at any time due to a model retraining or
1563	// change in implementation.
1564	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
1565}
1566
1567func (x *Match) Reset() {
1568	*x = Match{}
1569	if protoimpl.UnsafeEnabled {
1570		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[13]
1571		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1572		ms.StoreMessageInfo(mi)
1573	}
1574}
1575
1576func (x *Match) String() string {
1577	return protoimpl.X.MessageStringOf(x)
1578}
1579
1580func (*Match) ProtoMessage() {}
1581
1582func (x *Match) ProtoReflect() protoreflect.Message {
1583	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[13]
1584	if protoimpl.UnsafeEnabled && x != nil {
1585		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1586		if ms.LoadMessageInfo() == nil {
1587			ms.StoreMessageInfo(mi)
1588		}
1589		return ms
1590	}
1591	return mi.MessageOf(x)
1592}
1593
1594// Deprecated: Use Match.ProtoReflect.Descriptor instead.
1595func (*Match) Descriptor() ([]byte, []int) {
1596	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{13}
1597}
1598
1599func (x *Match) GetIntent() *Intent {
1600	if x != nil {
1601		return x.Intent
1602	}
1603	return nil
1604}
1605
1606func (x *Match) GetEvent() string {
1607	if x != nil {
1608		return x.Event
1609	}
1610	return ""
1611}
1612
1613func (x *Match) GetParameters() *structpb.Struct {
1614	if x != nil {
1615		return x.Parameters
1616	}
1617	return nil
1618}
1619
1620func (x *Match) GetResolvedInput() string {
1621	if x != nil {
1622		return x.ResolvedInput
1623	}
1624	return ""
1625}
1626
1627func (x *Match) GetMatchType() Match_MatchType {
1628	if x != nil {
1629		return x.MatchType
1630	}
1631	return Match_MATCH_TYPE_UNSPECIFIED
1632}
1633
1634func (x *Match) GetConfidence() float32 {
1635	if x != nil {
1636		return x.Confidence
1637	}
1638	return 0
1639}
1640
1641// Request of [MatchIntent][].
1642type MatchIntentRequest struct {
1643	state         protoimpl.MessageState
1644	sizeCache     protoimpl.SizeCache
1645	unknownFields protoimpl.UnknownFields
1646
1647	// Required. The name of the session this query is sent to.
1648	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1649	// ID>/sessions/<Session ID>` or `projects/<Project ID>/locations/<Location
1650	// ID>/agents/<Agent ID>/environments/<Environment ID>/sessions/<Session ID>`.
1651	// If `Environment ID` is not specified, we assume default 'draft'
1652	// environment.
1653	// It's up to the API caller to choose an appropriate `Session ID`. It can be
1654	// a random number or some type of session identifiers (preferably hashed).
1655	// The length of the `Session ID` must not exceed 36 characters.
1656	//
1657	// For more information, see the [sessions
1658	// guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).
1659	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
1660	// The parameters of this query.
1661	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
1662	// Required. The input specification.
1663	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
1664}
1665
1666func (x *MatchIntentRequest) Reset() {
1667	*x = MatchIntentRequest{}
1668	if protoimpl.UnsafeEnabled {
1669		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[14]
1670		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1671		ms.StoreMessageInfo(mi)
1672	}
1673}
1674
1675func (x *MatchIntentRequest) String() string {
1676	return protoimpl.X.MessageStringOf(x)
1677}
1678
1679func (*MatchIntentRequest) ProtoMessage() {}
1680
1681func (x *MatchIntentRequest) ProtoReflect() protoreflect.Message {
1682	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[14]
1683	if protoimpl.UnsafeEnabled && x != nil {
1684		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1685		if ms.LoadMessageInfo() == nil {
1686			ms.StoreMessageInfo(mi)
1687		}
1688		return ms
1689	}
1690	return mi.MessageOf(x)
1691}
1692
1693// Deprecated: Use MatchIntentRequest.ProtoReflect.Descriptor instead.
1694func (*MatchIntentRequest) Descriptor() ([]byte, []int) {
1695	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{14}
1696}
1697
1698func (x *MatchIntentRequest) GetSession() string {
1699	if x != nil {
1700		return x.Session
1701	}
1702	return ""
1703}
1704
1705func (x *MatchIntentRequest) GetQueryParams() *QueryParameters {
1706	if x != nil {
1707		return x.QueryParams
1708	}
1709	return nil
1710}
1711
1712func (x *MatchIntentRequest) GetQueryInput() *QueryInput {
1713	if x != nil {
1714		return x.QueryInput
1715	}
1716	return nil
1717}
1718
1719// Response of [MatchIntent][].
1720type MatchIntentResponse struct {
1721	state         protoimpl.MessageState
1722	sizeCache     protoimpl.SizeCache
1723	unknownFields protoimpl.UnknownFields
1724
1725	// The original conversational query.
1726	//
1727	// Types that are assignable to Query:
1728	//	*MatchIntentResponse_Text
1729	//	*MatchIntentResponse_TriggerIntent
1730	//	*MatchIntentResponse_Transcript
1731	//	*MatchIntentResponse_TriggerEvent
1732	Query isMatchIntentResponse_Query `protobuf_oneof:"query"`
1733	// Match results, if more than one, ordered descendingly by the confidence
1734	// we have that the particular intent matches the query.
1735	Matches []*Match `protobuf:"bytes,4,rep,name=matches,proto3" json:"matches,omitempty"`
1736	// The current [Page][google.cloud.dialogflow.cx.v3.Page]. Some, not all fields are filled in this message,
1737	// including but not limited to `name` and `display_name`.
1738	CurrentPage *Page `protobuf:"bytes,5,opt,name=current_page,json=currentPage,proto3" json:"current_page,omitempty"`
1739}
1740
1741func (x *MatchIntentResponse) Reset() {
1742	*x = MatchIntentResponse{}
1743	if protoimpl.UnsafeEnabled {
1744		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[15]
1745		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1746		ms.StoreMessageInfo(mi)
1747	}
1748}
1749
1750func (x *MatchIntentResponse) String() string {
1751	return protoimpl.X.MessageStringOf(x)
1752}
1753
1754func (*MatchIntentResponse) ProtoMessage() {}
1755
1756func (x *MatchIntentResponse) ProtoReflect() protoreflect.Message {
1757	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[15]
1758	if protoimpl.UnsafeEnabled && x != nil {
1759		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1760		if ms.LoadMessageInfo() == nil {
1761			ms.StoreMessageInfo(mi)
1762		}
1763		return ms
1764	}
1765	return mi.MessageOf(x)
1766}
1767
1768// Deprecated: Use MatchIntentResponse.ProtoReflect.Descriptor instead.
1769func (*MatchIntentResponse) Descriptor() ([]byte, []int) {
1770	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{15}
1771}
1772
1773func (m *MatchIntentResponse) GetQuery() isMatchIntentResponse_Query {
1774	if m != nil {
1775		return m.Query
1776	}
1777	return nil
1778}
1779
1780func (x *MatchIntentResponse) GetText() string {
1781	if x, ok := x.GetQuery().(*MatchIntentResponse_Text); ok {
1782		return x.Text
1783	}
1784	return ""
1785}
1786
1787func (x *MatchIntentResponse) GetTriggerIntent() string {
1788	if x, ok := x.GetQuery().(*MatchIntentResponse_TriggerIntent); ok {
1789		return x.TriggerIntent
1790	}
1791	return ""
1792}
1793
1794func (x *MatchIntentResponse) GetTranscript() string {
1795	if x, ok := x.GetQuery().(*MatchIntentResponse_Transcript); ok {
1796		return x.Transcript
1797	}
1798	return ""
1799}
1800
1801func (x *MatchIntentResponse) GetTriggerEvent() string {
1802	if x, ok := x.GetQuery().(*MatchIntentResponse_TriggerEvent); ok {
1803		return x.TriggerEvent
1804	}
1805	return ""
1806}
1807
1808func (x *MatchIntentResponse) GetMatches() []*Match {
1809	if x != nil {
1810		return x.Matches
1811	}
1812	return nil
1813}
1814
1815func (x *MatchIntentResponse) GetCurrentPage() *Page {
1816	if x != nil {
1817		return x.CurrentPage
1818	}
1819	return nil
1820}
1821
1822type isMatchIntentResponse_Query interface {
1823	isMatchIntentResponse_Query()
1824}
1825
1826type MatchIntentResponse_Text struct {
1827	// If [natural language text][google.cloud.dialogflow.cx.v3.TextInput] was provided as input, this field
1828	// will contain a copy of the text.
1829	Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"`
1830}
1831
1832type MatchIntentResponse_TriggerIntent struct {
1833	// If an [intent][google.cloud.dialogflow.cx.v3.IntentInput] was provided as input, this field will
1834	// contain a copy of the intent identifier.
1835	TriggerIntent string `protobuf:"bytes,2,opt,name=trigger_intent,json=triggerIntent,proto3,oneof"`
1836}
1837
1838type MatchIntentResponse_Transcript struct {
1839	// If [natural language speech audio][google.cloud.dialogflow.cx.v3.AudioInput] was provided as input,
1840	// this field will contain the trascript for the audio.
1841	Transcript string `protobuf:"bytes,3,opt,name=transcript,proto3,oneof"`
1842}
1843
1844type MatchIntentResponse_TriggerEvent struct {
1845	// If an [event][google.cloud.dialogflow.cx.v3.EventInput] was provided as input, this field will
1846	// contain a copy of the event name.
1847	TriggerEvent string `protobuf:"bytes,6,opt,name=trigger_event,json=triggerEvent,proto3,oneof"`
1848}
1849
1850func (*MatchIntentResponse_Text) isMatchIntentResponse_Query() {}
1851
1852func (*MatchIntentResponse_TriggerIntent) isMatchIntentResponse_Query() {}
1853
1854func (*MatchIntentResponse_Transcript) isMatchIntentResponse_Query() {}
1855
1856func (*MatchIntentResponse_TriggerEvent) isMatchIntentResponse_Query() {}
1857
1858// Request of [FulfillIntent][]
1859type FulfillIntentRequest struct {
1860	state         protoimpl.MessageState
1861	sizeCache     protoimpl.SizeCache
1862	unknownFields protoimpl.UnknownFields
1863
1864	// Must be same as the corresponding MatchIntent request, otherwise the
1865	// behavior is undefined.
1866	MatchIntentRequest *MatchIntentRequest `protobuf:"bytes,1,opt,name=match_intent_request,json=matchIntentRequest,proto3" json:"match_intent_request,omitempty"`
1867	// The matched intent/event to fulfill.
1868	Match *Match `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"`
1869	// Instructs the speech synthesizer how to generate output audio.
1870	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,3,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
1871}
1872
1873func (x *FulfillIntentRequest) Reset() {
1874	*x = FulfillIntentRequest{}
1875	if protoimpl.UnsafeEnabled {
1876		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[16]
1877		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1878		ms.StoreMessageInfo(mi)
1879	}
1880}
1881
1882func (x *FulfillIntentRequest) String() string {
1883	return protoimpl.X.MessageStringOf(x)
1884}
1885
1886func (*FulfillIntentRequest) ProtoMessage() {}
1887
1888func (x *FulfillIntentRequest) ProtoReflect() protoreflect.Message {
1889	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[16]
1890	if protoimpl.UnsafeEnabled && x != nil {
1891		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1892		if ms.LoadMessageInfo() == nil {
1893			ms.StoreMessageInfo(mi)
1894		}
1895		return ms
1896	}
1897	return mi.MessageOf(x)
1898}
1899
1900// Deprecated: Use FulfillIntentRequest.ProtoReflect.Descriptor instead.
1901func (*FulfillIntentRequest) Descriptor() ([]byte, []int) {
1902	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{16}
1903}
1904
1905func (x *FulfillIntentRequest) GetMatchIntentRequest() *MatchIntentRequest {
1906	if x != nil {
1907		return x.MatchIntentRequest
1908	}
1909	return nil
1910}
1911
1912func (x *FulfillIntentRequest) GetMatch() *Match {
1913	if x != nil {
1914		return x.Match
1915	}
1916	return nil
1917}
1918
1919func (x *FulfillIntentRequest) GetOutputAudioConfig() *OutputAudioConfig {
1920	if x != nil {
1921		return x.OutputAudioConfig
1922	}
1923	return nil
1924}
1925
1926// Response of [FulfillIntent][]
1927type FulfillIntentResponse struct {
1928	state         protoimpl.MessageState
1929	sizeCache     protoimpl.SizeCache
1930	unknownFields protoimpl.UnknownFields
1931
1932	// Output only. The unique identifier of the response. It can be used to
1933	// locate a response in the training example set or for reporting issues.
1934	ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
1935	// The result of the conversational query.
1936	QueryResult *QueryResult `protobuf:"bytes,2,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
1937	// The audio data bytes encoded as specified in the request.
1938	// Note: The output audio is generated based on the values of default platform
1939	// text responses found in the
1940	// [`query_result.response_messages`][google.cloud.dialogflow.cx.v3.QueryResult.response_messages] field. If
1941	// multiple default text responses exist, they will be concatenated when
1942	// generating audio. If no default platform text responses exist, the
1943	// generated audio content will be empty.
1944	//
1945	// In some scenarios, multiple output audio fields may be present in the
1946	// response structure. In these cases, only the top-most-level audio output
1947	// has content.
1948	OutputAudio []byte `protobuf:"bytes,3,opt,name=output_audio,json=outputAudio,proto3" json:"output_audio,omitempty"`
1949	// The config used by the speech synthesizer to generate the output audio.
1950	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,4,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
1951}
1952
1953func (x *FulfillIntentResponse) Reset() {
1954	*x = FulfillIntentResponse{}
1955	if protoimpl.UnsafeEnabled {
1956		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[17]
1957		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1958		ms.StoreMessageInfo(mi)
1959	}
1960}
1961
1962func (x *FulfillIntentResponse) String() string {
1963	return protoimpl.X.MessageStringOf(x)
1964}
1965
1966func (*FulfillIntentResponse) ProtoMessage() {}
1967
1968func (x *FulfillIntentResponse) ProtoReflect() protoreflect.Message {
1969	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[17]
1970	if protoimpl.UnsafeEnabled && x != nil {
1971		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1972		if ms.LoadMessageInfo() == nil {
1973			ms.StoreMessageInfo(mi)
1974		}
1975		return ms
1976	}
1977	return mi.MessageOf(x)
1978}
1979
1980// Deprecated: Use FulfillIntentResponse.ProtoReflect.Descriptor instead.
1981func (*FulfillIntentResponse) Descriptor() ([]byte, []int) {
1982	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{17}
1983}
1984
1985func (x *FulfillIntentResponse) GetResponseId() string {
1986	if x != nil {
1987		return x.ResponseId
1988	}
1989	return ""
1990}
1991
1992func (x *FulfillIntentResponse) GetQueryResult() *QueryResult {
1993	if x != nil {
1994		return x.QueryResult
1995	}
1996	return nil
1997}
1998
1999func (x *FulfillIntentResponse) GetOutputAudio() []byte {
2000	if x != nil {
2001		return x.OutputAudio
2002	}
2003	return nil
2004}
2005
2006func (x *FulfillIntentResponse) GetOutputAudioConfig() *OutputAudioConfig {
2007	if x != nil {
2008		return x.OutputAudioConfig
2009	}
2010	return nil
2011}
2012
2013// The result of sentiment analysis. Sentiment analysis inspects user input
2014// and identifies the prevailing subjective opinion, especially to determine a
2015// user's attitude as positive, negative, or neutral.
2016type SentimentAnalysisResult struct {
2017	state         protoimpl.MessageState
2018	sizeCache     protoimpl.SizeCache
2019	unknownFields protoimpl.UnknownFields
2020
2021	// Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
2022	// sentiment).
2023	Score float32 `protobuf:"fixed32,1,opt,name=score,proto3" json:"score,omitempty"`
2024	// A non-negative number in the [0, +inf) range, which represents the absolute
2025	// magnitude of sentiment, regardless of score (positive or negative).
2026	Magnitude float32 `protobuf:"fixed32,2,opt,name=magnitude,proto3" json:"magnitude,omitempty"`
2027}
2028
2029func (x *SentimentAnalysisResult) Reset() {
2030	*x = SentimentAnalysisResult{}
2031	if protoimpl.UnsafeEnabled {
2032		mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[18]
2033		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2034		ms.StoreMessageInfo(mi)
2035	}
2036}
2037
2038func (x *SentimentAnalysisResult) String() string {
2039	return protoimpl.X.MessageStringOf(x)
2040}
2041
2042func (*SentimentAnalysisResult) ProtoMessage() {}
2043
2044func (x *SentimentAnalysisResult) ProtoReflect() protoreflect.Message {
2045	mi := &file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[18]
2046	if protoimpl.UnsafeEnabled && x != nil {
2047		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2048		if ms.LoadMessageInfo() == nil {
2049			ms.StoreMessageInfo(mi)
2050		}
2051		return ms
2052	}
2053	return mi.MessageOf(x)
2054}
2055
2056// Deprecated: Use SentimentAnalysisResult.ProtoReflect.Descriptor instead.
2057func (*SentimentAnalysisResult) Descriptor() ([]byte, []int) {
2058	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP(), []int{18}
2059}
2060
2061func (x *SentimentAnalysisResult) GetScore() float32 {
2062	if x != nil {
2063		return x.Score
2064	}
2065	return 0
2066}
2067
2068func (x *SentimentAnalysisResult) GetMagnitude() float32 {
2069	if x != nil {
2070		return x.Magnitude
2071	}
2072	return 0
2073}
2074
2075var File_google_cloud_dialogflow_cx_v3_session_proto protoreflect.FileDescriptor
2076
2077var file_google_cloud_dialogflow_cx_v3_session_proto_rawDesc = []byte{
2078	0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
2079	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f,
2080	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67,
2081	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
2082	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x1a, 0x1c, 0x67, 0x6f,
2083	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
2084	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
2085	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68,
2086	0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f,
2087	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
2088	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63,
2089	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f,
2090	0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
2091	0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2092	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2093	0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f,
2094	0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2095	0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76,
2096	0x33, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28,
2097	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61,
2098	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61,
2099	0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2100	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2101	0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
2102	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37,
2103	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61,
2104	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65,
2105	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70,
2106	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2107	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
2108	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2109	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e,
2110	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70,
2111	0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18,
2112	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6c, 0x61, 0x74, 0x6c,
2113	0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2114	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2115	0x6f, 0x22, 0xe0, 0x02, 0x0a, 0x13, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65,
2116	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x73, 0x65, 0x73,
2117	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
2118	0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67,
2119	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65,
2120	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x51,
2121	0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02,
2122	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2123	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
2124	0x78, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
2125	0x74, 0x65, 0x72, 0x73, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d,
2126	0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74,
2127	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2128	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2129	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75,
2130	0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70,
2131	0x75, 0x74, 0x12, 0x60, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64,
2132	0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
2133	0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2134	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e,
2135	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69,
2136	0x67, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f,
2137	0x6e, 0x66, 0x69, 0x67, 0x22, 0x8b, 0x02, 0x0a, 0x14, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49,
2138	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a,
2139	0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
2140	0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x64, 0x12, 0x4d,
2141	0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02,
2142	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2143	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
2144	0x78, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
2145	0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21, 0x0a,
2146	0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x04, 0x20,
2147	0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f,
2148	0x12, 0x60, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f,
2149	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e,
2150	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
2151	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75,
2152	0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
2153	0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66,
2154	0x69, 0x67, 0x22, 0xe6, 0x02, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67,
2155	0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
2156	0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
2157	0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2158	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
2159	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65,
2160	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70,
2161	0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f,
2162	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2163	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72,
2164	0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0b, 0x71, 0x75, 0x65,
2165	0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72,
2166	0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
2167	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
2168	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75,
2169	0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x71,
2170	0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x60, 0x0a, 0x13, 0x6f, 0x75, 0x74,
2171	0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
2172	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2173	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2174	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64,
2175	0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
2176	0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x84, 0x02, 0x0a, 0x1d,
2177	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49,
2178	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a,
2179	0x12, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73,
2180	0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2181	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2182	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
2183	0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
2184	0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74,
2185	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6b, 0x0a, 0x16, 0x64, 0x65, 0x74,
2186	0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f,
2187	0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2188	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2189	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
2190	0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
2191	0x52, 0x14, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65,
2192	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2193	0x73, 0x65, 0x22, 0xf9, 0x03, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67,
2194	0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c,
2195	0x74, 0x12, 0x68, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70,
2196	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2197	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2198	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
2199	0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75,
2200	0x6c, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b,
2201	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74,
2202	0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
2203	0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69,
2204	0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69,
2205	0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
2206	0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66,
2207	0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c,
2208	0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x62, 0x69,
2209	0x6c, 0x69, 0x74, 0x79, 0x12, 0x57, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x77,
2210	0x6f, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d,
2211	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
2212	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x53,
2213	0x70, 0x65, 0x65, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x73,
2214	0x70, 0x65, 0x65, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a,
2215	0x11, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73,
2216	0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2217	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
2218	0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x4f, 0x66,
2219	0x66, 0x73, 0x65, 0x74, 0x22, 0x58, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54,
2220	0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54,
2221	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
2222	0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10,
2223	0x01, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x49, 0x4e, 0x47,
2224	0x4c, 0x45, 0x5f, 0x55, 0x54, 0x54, 0x45, 0x52, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x22, 0xf7,
2225	0x02, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
2226	0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18,
2227	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12,
2228	0x36, 0x0a, 0x0c, 0x67, 0x65, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
2229	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74,
2230	0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x0b, 0x67, 0x65, 0x6f, 0x4c,
2231	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x14, 0x73, 0x65, 0x73, 0x73, 0x69,
2232	0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18,
2233	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2234	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2235	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
2236	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
2237	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x70,
2238	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
2239	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2240	0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x37,
2241	0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01,
2242	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2243	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x72,
2244	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x61, 0x6e, 0x61, 0x6c, 0x79,
2245	0x7a, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65,
2246	0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x61,
2247	0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x78, 0x74, 0x53,
2248	0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x03, 0x0a, 0x0a, 0x51, 0x75, 0x65,
2249	0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18,
2250	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2251	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2252	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48,
2253	0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e,
2254	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2255	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2256	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e,
2257	0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a,
2258	0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67,
2259	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
2260	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x64,
2261	0x69, 0x6f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f,
2262	0x12, 0x41, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
2263	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2264	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e,
2265	0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x05, 0x65, 0x76,
2266	0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28,
2267	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2268	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
2269	0x33, 0x2e, 0x44, 0x74, 0x6d, 0x66, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x04, 0x64,
2270	0x74, 0x6d, 0x66, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f,
2271	0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
2272	0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x07, 0x0a,
2273	0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x9d, 0x07, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79,
2274	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01,
2275	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x27, 0x0a, 0x0e,
2276	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0b,
2277	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49,
2278	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72,
2279	0x69, 0x70, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x72, 0x61,
2280	0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67,
2281	0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
2282	0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x23,
2283	0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
2284	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43,
2285	0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
2286	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2287	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
2288	0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5b, 0x0a, 0x11,
2289	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
2290	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2291	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2292	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
2293	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
2294	0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x10, 0x77, 0x65, 0x62,
2295	0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x0d, 0x20,
2296	0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
2297	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b,
2298	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x10, 0x77, 0x65, 0x62, 0x68,
2299	0x6f, 0x6f, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03,
2300	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2301	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0f, 0x77, 0x65, 0x62,
2302	0x68, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x46, 0x0a, 0x0c,
2303	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01,
2304	0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2305	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
2306	0x76, 0x33, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
2307	0x50, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x08,
2308	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2309	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
2310	0x78, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52,
2311	0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x6e, 0x74, 0x65, 0x6e,
2312	0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
2313	0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01,
2314	0x52, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
2315	0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x6d,
2316	0x61, 0x74, 0x63, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
2317	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2318	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68,
2319	0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x40, 0x0a, 0x0f, 0x64, 0x69, 0x61, 0x67, 0x6e,
2320	0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
2321	0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2322	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x64, 0x69, 0x61, 0x67, 0x6e,
2323	0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x72, 0x0a, 0x19, 0x73, 0x65, 0x6e,
2324	0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f,
2325	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67,
2326	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
2327	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x6e,
2328	0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65,
2329	0x73, 0x75, 0x6c, 0x74, 0x52, 0x17, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41,
2330	0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x07, 0x0a,
2331	0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x24, 0x0a, 0x09, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e,
2332	0x70, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
2333	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x4f, 0x0a, 0x0b,
2334	0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x69,
2335	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02,
2336	0xfa, 0x41, 0x22, 0x0a, 0x20, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2337	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49,
2338	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x70, 0x0a,
2339	0x0a, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x06, 0x63,
2340	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f,
2341	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2342	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x70, 0x75,
2343	0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41,
2344	0x02, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x75, 0x64,
2345	0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x22,
2346	0x22, 0x0a, 0x0a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a,
2347	0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x76,
2348	0x65, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x09, 0x44, 0x74, 0x6d, 0x66, 0x49, 0x6e, 0x70, 0x75, 0x74,
2349	0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2350	0x52, 0x06, 0x64, 0x69, 0x67, 0x69, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x69,
2351	0x73, 0x68, 0x5f, 0x64, 0x69, 0x67, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
2352	0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x69, 0x67, 0x69, 0x74, 0x22, 0xb2, 0x03, 0x0a, 0x05,
2353	0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3d, 0x0a, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18,
2354	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2355	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2356	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x6e,
2357	0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20,
2358	0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x61,
2359	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
2360	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2361	0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
2362	0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f,
2363	0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73,
2364	0x6f, 0x6c, 0x76, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x0a, 0x6d, 0x61,
2365	0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e,
2366	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
2367	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4d,
2368	0x61, 0x74, 0x63, 0x68, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09,
2369	0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e,
2370	0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63,
2371	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x09, 0x4d, 0x61,
2372	0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48,
2373	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
2374	0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12,
2375	0x11, 0x0a, 0x0d, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54,
2376	0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x5f,
2377	0x46, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f,
2378	0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x49, 0x4e,
2379	0x50, 0x55, 0x54, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x06,
2380	0x22, 0xfd, 0x01, 0x0a, 0x12, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74,
2381	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69,
2382	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23,
2383	0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
2384	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73,
2385	0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0c,
2386	0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01,
2387	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2388	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
2389	0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
2390	0x72, 0x73, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
2391	0x4f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03,
2392	0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2393	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
2394	0x78, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42,
2395	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74,
2396	0x22, 0xae, 0x02, 0x0a, 0x13, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74,
2397	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74,
2398	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x27,
2399	0x0a, 0x0e, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74,
2400	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
2401	0x72, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73,
2402	0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x74,
2403	0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x69,
2404	0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
2405	0x48, 0x00, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74,
2406	0x12, 0x3e, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
2407	0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2408	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
2409	0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73,
2410	0x12, 0x46, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65,
2411	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2412	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2413	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x75, 0x72,
2414	0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72,
2415	0x79, 0x22, 0x99, 0x02, 0x0a, 0x14, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74,
2416	0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x14, 0x6d, 0x61,
2417	0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
2418	0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2419	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2420	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e,
2421	0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x6d, 0x61, 0x74,
2422	0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
2423	0x3a, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
2424	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
2425	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4d,
2426	0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x60, 0x0a, 0x13, 0x6f,
2427	0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
2428	0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2429	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2430	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41,
2431	0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70,
2432	0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8c, 0x02,
2433	0x0a, 0x15, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,
2434	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f,
2435	0x6e, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65,
2436	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72,
2437	0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
2438	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
2439	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x51,
2440	0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72,
2441	0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75,
2442	0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f,
2443	0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x60, 0x0a, 0x13, 0x6f, 0x75,
2444	0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
2445	0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2446	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2447	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75,
2448	0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75,
2449	0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4d, 0x0a, 0x17,
2450	0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
2451	0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
2452	0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a,
2453	0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
2454	0x52, 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x32, 0xc4, 0x09, 0x0a, 0x08,
2455	0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa6, 0x02, 0x0a, 0x0c, 0x44, 0x65, 0x74,
2456	0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2457	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2458	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
2459	0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e,
2460	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
2461	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65,
2462	0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2463	0x73, 0x65, 0x22, 0xac, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa5, 0x01, 0x22, 0x45, 0x2f, 0x76,
2464	0x33, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2465	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
2466	0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69,
2467	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74,
2468	0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x59, 0x22, 0x54, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x73,
2469	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
2470	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67,
2471	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
2472	0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
2473	0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01,
2474	0x2a, 0x12, 0x98, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44,
2475	0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f,
2476	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2477	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65,
2478	0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e,
2479	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2480	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2481	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69,
2482	0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65,
2483	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x02, 0x0a,
2484	0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x2e, 0x67,
2485	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
2486	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x74,
2487	0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
2488	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2489	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e,
2490	0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
2491	0x6e, 0x73, 0x65, 0x22, 0xaa, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa3, 0x01, 0x22, 0x44, 0x2f,
2492	0x76, 0x33, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2493	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2494	0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73,
2495	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74,
2496	0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x58, 0x22, 0x53, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x73,
2497	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
2498	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67,
2499	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
2500	0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
2501	0x7d, 0x3a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a,
2502	0x12, 0xd5, 0x02, 0x0a, 0x0d, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65,
2503	0x6e, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2504	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
2505	0x76, 0x33, 0x2e, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74,
2506	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2507	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2508	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49,
2509	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd8, 0x01,
2510	0x82, 0xd3, 0xe4, 0x93, 0x02, 0xd1, 0x01, 0x22, 0x5b, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x6d, 0x61,
2511	0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
2512	0x73, 0x74, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2513	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
2514	0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69,
2515	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e,
2516	0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x6f, 0x22, 0x6a, 0x2f, 0x76, 0x33, 0x2f, 0x7b,
2517	0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71,
2518	0x75, 0x65, 0x73, 0x74, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f,
2519	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2520	0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x76,
2521	0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73,
2522	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49,
2523	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x1a, 0x78, 0xca, 0x41, 0x19, 0x64, 0x69, 0x61,
2524	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
2525	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x59, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
2526	0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
2527	0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70,
2528	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
2529	0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
2530	0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2531	0x6f, 0x77, 0x42, 0xf4, 0x02, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2532	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2533	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
2534	0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2535	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70,
2536	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f,
2537	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2538	0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x78, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x02, 0x44,
2539	0x46, 0xaa, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64,
2540	0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x78, 0x2e, 0x56,
2541	0x33, 0xea, 0x41, 0xd4, 0x01, 0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2542	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2543	0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
2544	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63,
2545	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2546	0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d,
2547	0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69,
2548	0x6f, 0x6e, 0x7d, 0x12, 0x64, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70,
2549	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2550	0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65,
2551	0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x65, 0x6e, 0x76, 0x69,
2552	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
2553	0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
2554	0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2555	0x33,
2556}
2557
2558var (
2559	file_google_cloud_dialogflow_cx_v3_session_proto_rawDescOnce sync.Once
2560	file_google_cloud_dialogflow_cx_v3_session_proto_rawDescData = file_google_cloud_dialogflow_cx_v3_session_proto_rawDesc
2561)
2562
2563func file_google_cloud_dialogflow_cx_v3_session_proto_rawDescGZIP() []byte {
2564	file_google_cloud_dialogflow_cx_v3_session_proto_rawDescOnce.Do(func() {
2565		file_google_cloud_dialogflow_cx_v3_session_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_cx_v3_session_proto_rawDescData)
2566	})
2567	return file_google_cloud_dialogflow_cx_v3_session_proto_rawDescData
2568}
2569
2570var file_google_cloud_dialogflow_cx_v3_session_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
2571var file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
2572var file_google_cloud_dialogflow_cx_v3_session_proto_goTypes = []interface{}{
2573	(StreamingRecognitionResult_MessageType)(0), // 0: google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.MessageType
2574	(Match_MatchType)(0),                        // 1: google.cloud.dialogflow.cx.v3.Match.MatchType
2575	(*DetectIntentRequest)(nil),                 // 2: google.cloud.dialogflow.cx.v3.DetectIntentRequest
2576	(*DetectIntentResponse)(nil),                // 3: google.cloud.dialogflow.cx.v3.DetectIntentResponse
2577	(*StreamingDetectIntentRequest)(nil),        // 4: google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest
2578	(*StreamingDetectIntentResponse)(nil),       // 5: google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse
2579	(*StreamingRecognitionResult)(nil),          // 6: google.cloud.dialogflow.cx.v3.StreamingRecognitionResult
2580	(*QueryParameters)(nil),                     // 7: google.cloud.dialogflow.cx.v3.QueryParameters
2581	(*QueryInput)(nil),                          // 8: google.cloud.dialogflow.cx.v3.QueryInput
2582	(*QueryResult)(nil),                         // 9: google.cloud.dialogflow.cx.v3.QueryResult
2583	(*TextInput)(nil),                           // 10: google.cloud.dialogflow.cx.v3.TextInput
2584	(*IntentInput)(nil),                         // 11: google.cloud.dialogflow.cx.v3.IntentInput
2585	(*AudioInput)(nil),                          // 12: google.cloud.dialogflow.cx.v3.AudioInput
2586	(*EventInput)(nil),                          // 13: google.cloud.dialogflow.cx.v3.EventInput
2587	(*DtmfInput)(nil),                           // 14: google.cloud.dialogflow.cx.v3.DtmfInput
2588	(*Match)(nil),                               // 15: google.cloud.dialogflow.cx.v3.Match
2589	(*MatchIntentRequest)(nil),                  // 16: google.cloud.dialogflow.cx.v3.MatchIntentRequest
2590	(*MatchIntentResponse)(nil),                 // 17: google.cloud.dialogflow.cx.v3.MatchIntentResponse
2591	(*FulfillIntentRequest)(nil),                // 18: google.cloud.dialogflow.cx.v3.FulfillIntentRequest
2592	(*FulfillIntentResponse)(nil),               // 19: google.cloud.dialogflow.cx.v3.FulfillIntentResponse
2593	(*SentimentAnalysisResult)(nil),             // 20: google.cloud.dialogflow.cx.v3.SentimentAnalysisResult
2594	(*OutputAudioConfig)(nil),                   // 21: google.cloud.dialogflow.cx.v3.OutputAudioConfig
2595	(*SpeechWordInfo)(nil),                      // 22: google.cloud.dialogflow.cx.v3.SpeechWordInfo
2596	(*durationpb.Duration)(nil),                 // 23: google.protobuf.Duration
2597	(*latlng.LatLng)(nil),                       // 24: google.type.LatLng
2598	(*SessionEntityType)(nil),                   // 25: google.cloud.dialogflow.cx.v3.SessionEntityType
2599	(*structpb.Struct)(nil),                     // 26: google.protobuf.Struct
2600	(*ResponseMessage)(nil),                     // 27: google.cloud.dialogflow.cx.v3.ResponseMessage
2601	(*status.Status)(nil),                       // 28: google.rpc.Status
2602	(*Page)(nil),                                // 29: google.cloud.dialogflow.cx.v3.Page
2603	(*Intent)(nil),                              // 30: google.cloud.dialogflow.cx.v3.Intent
2604	(*InputAudioConfig)(nil),                    // 31: google.cloud.dialogflow.cx.v3.InputAudioConfig
2605}
2606var file_google_cloud_dialogflow_cx_v3_session_proto_depIdxs = []int32{
2607	7,  // 0: google.cloud.dialogflow.cx.v3.DetectIntentRequest.query_params:type_name -> google.cloud.dialogflow.cx.v3.QueryParameters
2608	8,  // 1: google.cloud.dialogflow.cx.v3.DetectIntentRequest.query_input:type_name -> google.cloud.dialogflow.cx.v3.QueryInput
2609	21, // 2: google.cloud.dialogflow.cx.v3.DetectIntentRequest.output_audio_config:type_name -> google.cloud.dialogflow.cx.v3.OutputAudioConfig
2610	9,  // 3: google.cloud.dialogflow.cx.v3.DetectIntentResponse.query_result:type_name -> google.cloud.dialogflow.cx.v3.QueryResult
2611	21, // 4: google.cloud.dialogflow.cx.v3.DetectIntentResponse.output_audio_config:type_name -> google.cloud.dialogflow.cx.v3.OutputAudioConfig
2612	7,  // 5: google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest.query_params:type_name -> google.cloud.dialogflow.cx.v3.QueryParameters
2613	8,  // 6: google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest.query_input:type_name -> google.cloud.dialogflow.cx.v3.QueryInput
2614	21, // 7: google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest.output_audio_config:type_name -> google.cloud.dialogflow.cx.v3.OutputAudioConfig
2615	6,  // 8: google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse.recognition_result:type_name -> google.cloud.dialogflow.cx.v3.StreamingRecognitionResult
2616	3,  // 9: google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse.detect_intent_response:type_name -> google.cloud.dialogflow.cx.v3.DetectIntentResponse
2617	0,  // 10: google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.message_type:type_name -> google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.MessageType
2618	22, // 11: google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.speech_word_info:type_name -> google.cloud.dialogflow.cx.v3.SpeechWordInfo
2619	23, // 12: google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.speech_end_offset:type_name -> google.protobuf.Duration
2620	24, // 13: google.cloud.dialogflow.cx.v3.QueryParameters.geo_location:type_name -> google.type.LatLng
2621	25, // 14: google.cloud.dialogflow.cx.v3.QueryParameters.session_entity_types:type_name -> google.cloud.dialogflow.cx.v3.SessionEntityType
2622	26, // 15: google.cloud.dialogflow.cx.v3.QueryParameters.payload:type_name -> google.protobuf.Struct
2623	26, // 16: google.cloud.dialogflow.cx.v3.QueryParameters.parameters:type_name -> google.protobuf.Struct
2624	10, // 17: google.cloud.dialogflow.cx.v3.QueryInput.text:type_name -> google.cloud.dialogflow.cx.v3.TextInput
2625	11, // 18: google.cloud.dialogflow.cx.v3.QueryInput.intent:type_name -> google.cloud.dialogflow.cx.v3.IntentInput
2626	12, // 19: google.cloud.dialogflow.cx.v3.QueryInput.audio:type_name -> google.cloud.dialogflow.cx.v3.AudioInput
2627	13, // 20: google.cloud.dialogflow.cx.v3.QueryInput.event:type_name -> google.cloud.dialogflow.cx.v3.EventInput
2628	14, // 21: google.cloud.dialogflow.cx.v3.QueryInput.dtmf:type_name -> google.cloud.dialogflow.cx.v3.DtmfInput
2629	26, // 22: google.cloud.dialogflow.cx.v3.QueryResult.parameters:type_name -> google.protobuf.Struct
2630	27, // 23: google.cloud.dialogflow.cx.v3.QueryResult.response_messages:type_name -> google.cloud.dialogflow.cx.v3.ResponseMessage
2631	28, // 24: google.cloud.dialogflow.cx.v3.QueryResult.webhook_statuses:type_name -> google.rpc.Status
2632	26, // 25: google.cloud.dialogflow.cx.v3.QueryResult.webhook_payloads:type_name -> google.protobuf.Struct
2633	29, // 26: google.cloud.dialogflow.cx.v3.QueryResult.current_page:type_name -> google.cloud.dialogflow.cx.v3.Page
2634	30, // 27: google.cloud.dialogflow.cx.v3.QueryResult.intent:type_name -> google.cloud.dialogflow.cx.v3.Intent
2635	15, // 28: google.cloud.dialogflow.cx.v3.QueryResult.match:type_name -> google.cloud.dialogflow.cx.v3.Match
2636	26, // 29: google.cloud.dialogflow.cx.v3.QueryResult.diagnostic_info:type_name -> google.protobuf.Struct
2637	20, // 30: google.cloud.dialogflow.cx.v3.QueryResult.sentiment_analysis_result:type_name -> google.cloud.dialogflow.cx.v3.SentimentAnalysisResult
2638	31, // 31: google.cloud.dialogflow.cx.v3.AudioInput.config:type_name -> google.cloud.dialogflow.cx.v3.InputAudioConfig
2639	30, // 32: google.cloud.dialogflow.cx.v3.Match.intent:type_name -> google.cloud.dialogflow.cx.v3.Intent
2640	26, // 33: google.cloud.dialogflow.cx.v3.Match.parameters:type_name -> google.protobuf.Struct
2641	1,  // 34: google.cloud.dialogflow.cx.v3.Match.match_type:type_name -> google.cloud.dialogflow.cx.v3.Match.MatchType
2642	7,  // 35: google.cloud.dialogflow.cx.v3.MatchIntentRequest.query_params:type_name -> google.cloud.dialogflow.cx.v3.QueryParameters
2643	8,  // 36: google.cloud.dialogflow.cx.v3.MatchIntentRequest.query_input:type_name -> google.cloud.dialogflow.cx.v3.QueryInput
2644	15, // 37: google.cloud.dialogflow.cx.v3.MatchIntentResponse.matches:type_name -> google.cloud.dialogflow.cx.v3.Match
2645	29, // 38: google.cloud.dialogflow.cx.v3.MatchIntentResponse.current_page:type_name -> google.cloud.dialogflow.cx.v3.Page
2646	16, // 39: google.cloud.dialogflow.cx.v3.FulfillIntentRequest.match_intent_request:type_name -> google.cloud.dialogflow.cx.v3.MatchIntentRequest
2647	15, // 40: google.cloud.dialogflow.cx.v3.FulfillIntentRequest.match:type_name -> google.cloud.dialogflow.cx.v3.Match
2648	21, // 41: google.cloud.dialogflow.cx.v3.FulfillIntentRequest.output_audio_config:type_name -> google.cloud.dialogflow.cx.v3.OutputAudioConfig
2649	9,  // 42: google.cloud.dialogflow.cx.v3.FulfillIntentResponse.query_result:type_name -> google.cloud.dialogflow.cx.v3.QueryResult
2650	21, // 43: google.cloud.dialogflow.cx.v3.FulfillIntentResponse.output_audio_config:type_name -> google.cloud.dialogflow.cx.v3.OutputAudioConfig
2651	2,  // 44: google.cloud.dialogflow.cx.v3.Sessions.DetectIntent:input_type -> google.cloud.dialogflow.cx.v3.DetectIntentRequest
2652	4,  // 45: google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent:input_type -> google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest
2653	16, // 46: google.cloud.dialogflow.cx.v3.Sessions.MatchIntent:input_type -> google.cloud.dialogflow.cx.v3.MatchIntentRequest
2654	18, // 47: google.cloud.dialogflow.cx.v3.Sessions.FulfillIntent:input_type -> google.cloud.dialogflow.cx.v3.FulfillIntentRequest
2655	3,  // 48: google.cloud.dialogflow.cx.v3.Sessions.DetectIntent:output_type -> google.cloud.dialogflow.cx.v3.DetectIntentResponse
2656	5,  // 49: google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent:output_type -> google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse
2657	17, // 50: google.cloud.dialogflow.cx.v3.Sessions.MatchIntent:output_type -> google.cloud.dialogflow.cx.v3.MatchIntentResponse
2658	19, // 51: google.cloud.dialogflow.cx.v3.Sessions.FulfillIntent:output_type -> google.cloud.dialogflow.cx.v3.FulfillIntentResponse
2659	48, // [48:52] is the sub-list for method output_type
2660	44, // [44:48] is the sub-list for method input_type
2661	44, // [44:44] is the sub-list for extension type_name
2662	44, // [44:44] is the sub-list for extension extendee
2663	0,  // [0:44] is the sub-list for field type_name
2664}
2665
2666func init() { file_google_cloud_dialogflow_cx_v3_session_proto_init() }
2667func file_google_cloud_dialogflow_cx_v3_session_proto_init() {
2668	if File_google_cloud_dialogflow_cx_v3_session_proto != nil {
2669		return
2670	}
2671	file_google_cloud_dialogflow_cx_v3_audio_config_proto_init()
2672	file_google_cloud_dialogflow_cx_v3_flow_proto_init()
2673	file_google_cloud_dialogflow_cx_v3_intent_proto_init()
2674	file_google_cloud_dialogflow_cx_v3_page_proto_init()
2675	file_google_cloud_dialogflow_cx_v3_response_message_proto_init()
2676	file_google_cloud_dialogflow_cx_v3_session_entity_type_proto_init()
2677	if !protoimpl.UnsafeEnabled {
2678		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2679			switch v := v.(*DetectIntentRequest); i {
2680			case 0:
2681				return &v.state
2682			case 1:
2683				return &v.sizeCache
2684			case 2:
2685				return &v.unknownFields
2686			default:
2687				return nil
2688			}
2689		}
2690		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2691			switch v := v.(*DetectIntentResponse); i {
2692			case 0:
2693				return &v.state
2694			case 1:
2695				return &v.sizeCache
2696			case 2:
2697				return &v.unknownFields
2698			default:
2699				return nil
2700			}
2701		}
2702		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2703			switch v := v.(*StreamingDetectIntentRequest); i {
2704			case 0:
2705				return &v.state
2706			case 1:
2707				return &v.sizeCache
2708			case 2:
2709				return &v.unknownFields
2710			default:
2711				return nil
2712			}
2713		}
2714		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2715			switch v := v.(*StreamingDetectIntentResponse); i {
2716			case 0:
2717				return &v.state
2718			case 1:
2719				return &v.sizeCache
2720			case 2:
2721				return &v.unknownFields
2722			default:
2723				return nil
2724			}
2725		}
2726		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2727			switch v := v.(*StreamingRecognitionResult); i {
2728			case 0:
2729				return &v.state
2730			case 1:
2731				return &v.sizeCache
2732			case 2:
2733				return &v.unknownFields
2734			default:
2735				return nil
2736			}
2737		}
2738		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2739			switch v := v.(*QueryParameters); i {
2740			case 0:
2741				return &v.state
2742			case 1:
2743				return &v.sizeCache
2744			case 2:
2745				return &v.unknownFields
2746			default:
2747				return nil
2748			}
2749		}
2750		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2751			switch v := v.(*QueryInput); i {
2752			case 0:
2753				return &v.state
2754			case 1:
2755				return &v.sizeCache
2756			case 2:
2757				return &v.unknownFields
2758			default:
2759				return nil
2760			}
2761		}
2762		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2763			switch v := v.(*QueryResult); i {
2764			case 0:
2765				return &v.state
2766			case 1:
2767				return &v.sizeCache
2768			case 2:
2769				return &v.unknownFields
2770			default:
2771				return nil
2772			}
2773		}
2774		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2775			switch v := v.(*TextInput); i {
2776			case 0:
2777				return &v.state
2778			case 1:
2779				return &v.sizeCache
2780			case 2:
2781				return &v.unknownFields
2782			default:
2783				return nil
2784			}
2785		}
2786		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2787			switch v := v.(*IntentInput); i {
2788			case 0:
2789				return &v.state
2790			case 1:
2791				return &v.sizeCache
2792			case 2:
2793				return &v.unknownFields
2794			default:
2795				return nil
2796			}
2797		}
2798		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2799			switch v := v.(*AudioInput); i {
2800			case 0:
2801				return &v.state
2802			case 1:
2803				return &v.sizeCache
2804			case 2:
2805				return &v.unknownFields
2806			default:
2807				return nil
2808			}
2809		}
2810		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2811			switch v := v.(*EventInput); i {
2812			case 0:
2813				return &v.state
2814			case 1:
2815				return &v.sizeCache
2816			case 2:
2817				return &v.unknownFields
2818			default:
2819				return nil
2820			}
2821		}
2822		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2823			switch v := v.(*DtmfInput); i {
2824			case 0:
2825				return &v.state
2826			case 1:
2827				return &v.sizeCache
2828			case 2:
2829				return &v.unknownFields
2830			default:
2831				return nil
2832			}
2833		}
2834		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2835			switch v := v.(*Match); i {
2836			case 0:
2837				return &v.state
2838			case 1:
2839				return &v.sizeCache
2840			case 2:
2841				return &v.unknownFields
2842			default:
2843				return nil
2844			}
2845		}
2846		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2847			switch v := v.(*MatchIntentRequest); i {
2848			case 0:
2849				return &v.state
2850			case 1:
2851				return &v.sizeCache
2852			case 2:
2853				return &v.unknownFields
2854			default:
2855				return nil
2856			}
2857		}
2858		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2859			switch v := v.(*MatchIntentResponse); i {
2860			case 0:
2861				return &v.state
2862			case 1:
2863				return &v.sizeCache
2864			case 2:
2865				return &v.unknownFields
2866			default:
2867				return nil
2868			}
2869		}
2870		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2871			switch v := v.(*FulfillIntentRequest); i {
2872			case 0:
2873				return &v.state
2874			case 1:
2875				return &v.sizeCache
2876			case 2:
2877				return &v.unknownFields
2878			default:
2879				return nil
2880			}
2881		}
2882		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2883			switch v := v.(*FulfillIntentResponse); i {
2884			case 0:
2885				return &v.state
2886			case 1:
2887				return &v.sizeCache
2888			case 2:
2889				return &v.unknownFields
2890			default:
2891				return nil
2892			}
2893		}
2894		file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
2895			switch v := v.(*SentimentAnalysisResult); i {
2896			case 0:
2897				return &v.state
2898			case 1:
2899				return &v.sizeCache
2900			case 2:
2901				return &v.unknownFields
2902			default:
2903				return nil
2904			}
2905		}
2906	}
2907	file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[3].OneofWrappers = []interface{}{
2908		(*StreamingDetectIntentResponse_RecognitionResult)(nil),
2909		(*StreamingDetectIntentResponse_DetectIntentResponse)(nil),
2910	}
2911	file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[6].OneofWrappers = []interface{}{
2912		(*QueryInput_Text)(nil),
2913		(*QueryInput_Intent)(nil),
2914		(*QueryInput_Audio)(nil),
2915		(*QueryInput_Event)(nil),
2916		(*QueryInput_Dtmf)(nil),
2917	}
2918	file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[7].OneofWrappers = []interface{}{
2919		(*QueryResult_Text)(nil),
2920		(*QueryResult_TriggerIntent)(nil),
2921		(*QueryResult_Transcript)(nil),
2922		(*QueryResult_TriggerEvent)(nil),
2923	}
2924	file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes[15].OneofWrappers = []interface{}{
2925		(*MatchIntentResponse_Text)(nil),
2926		(*MatchIntentResponse_TriggerIntent)(nil),
2927		(*MatchIntentResponse_Transcript)(nil),
2928		(*MatchIntentResponse_TriggerEvent)(nil),
2929	}
2930	type x struct{}
2931	out := protoimpl.TypeBuilder{
2932		File: protoimpl.DescBuilder{
2933			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2934			RawDescriptor: file_google_cloud_dialogflow_cx_v3_session_proto_rawDesc,
2935			NumEnums:      2,
2936			NumMessages:   19,
2937			NumExtensions: 0,
2938			NumServices:   1,
2939		},
2940		GoTypes:           file_google_cloud_dialogflow_cx_v3_session_proto_goTypes,
2941		DependencyIndexes: file_google_cloud_dialogflow_cx_v3_session_proto_depIdxs,
2942		EnumInfos:         file_google_cloud_dialogflow_cx_v3_session_proto_enumTypes,
2943		MessageInfos:      file_google_cloud_dialogflow_cx_v3_session_proto_msgTypes,
2944	}.Build()
2945	File_google_cloud_dialogflow_cx_v3_session_proto = out.File
2946	file_google_cloud_dialogflow_cx_v3_session_proto_rawDesc = nil
2947	file_google_cloud_dialogflow_cx_v3_session_proto_goTypes = nil
2948	file_google_cloud_dialogflow_cx_v3_session_proto_depIdxs = nil
2949}
2950
2951// Reference imports to suppress errors if they are not otherwise used.
2952var _ context.Context
2953var _ grpc.ClientConnInterface
2954
2955// This is a compile-time assertion to ensure that this generated file
2956// is compatible with the grpc package it is being compiled against.
2957const _ = grpc.SupportPackageIsVersion6
2958
2959// SessionsClient is the client API for Sessions service.
2960//
2961// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2962type SessionsClient interface {
2963	// Processes a natural language query and returns structured, actionable data
2964	// as a result. This method is not idempotent, because it may cause session
2965	// entity types to be updated, which in turn might affect results of future
2966	// queries.
2967	DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error)
2968	// Processes a natural language query in audio format in a streaming fashion
2969	// and returns structured, actionable data as a result. This method is only
2970	// available via the gRPC API (not REST).
2971	StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error)
2972	// Returns preliminary intent match results, doesn't change the session
2973	// status.
2974	MatchIntent(ctx context.Context, in *MatchIntentRequest, opts ...grpc.CallOption) (*MatchIntentResponse, error)
2975	// Fulfills a matched intent returned by [MatchIntent][google.cloud.dialogflow.cx.v3.Sessions.MatchIntent].
2976	// Must be called after [MatchIntent][google.cloud.dialogflow.cx.v3.Sessions.MatchIntent], with input from
2977	// [MatchIntentResponse][google.cloud.dialogflow.cx.v3.MatchIntentResponse]. Otherwise, the behavior is undefined.
2978	FulfillIntent(ctx context.Context, in *FulfillIntentRequest, opts ...grpc.CallOption) (*FulfillIntentResponse, error)
2979}
2980
2981type sessionsClient struct {
2982	cc grpc.ClientConnInterface
2983}
2984
2985func NewSessionsClient(cc grpc.ClientConnInterface) SessionsClient {
2986	return &sessionsClient{cc}
2987}
2988
2989func (c *sessionsClient) DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error) {
2990	out := new(DetectIntentResponse)
2991	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.Sessions/DetectIntent", in, out, opts...)
2992	if err != nil {
2993		return nil, err
2994	}
2995	return out, nil
2996}
2997
2998func (c *sessionsClient) StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error) {
2999	stream, err := c.cc.NewStream(ctx, &_Sessions_serviceDesc.Streams[0], "/google.cloud.dialogflow.cx.v3.Sessions/StreamingDetectIntent", opts...)
3000	if err != nil {
3001		return nil, err
3002	}
3003	x := &sessionsStreamingDetectIntentClient{stream}
3004	return x, nil
3005}
3006
3007type Sessions_StreamingDetectIntentClient interface {
3008	Send(*StreamingDetectIntentRequest) error
3009	Recv() (*StreamingDetectIntentResponse, error)
3010	grpc.ClientStream
3011}
3012
3013type sessionsStreamingDetectIntentClient struct {
3014	grpc.ClientStream
3015}
3016
3017func (x *sessionsStreamingDetectIntentClient) Send(m *StreamingDetectIntentRequest) error {
3018	return x.ClientStream.SendMsg(m)
3019}
3020
3021func (x *sessionsStreamingDetectIntentClient) Recv() (*StreamingDetectIntentResponse, error) {
3022	m := new(StreamingDetectIntentResponse)
3023	if err := x.ClientStream.RecvMsg(m); err != nil {
3024		return nil, err
3025	}
3026	return m, nil
3027}
3028
3029func (c *sessionsClient) MatchIntent(ctx context.Context, in *MatchIntentRequest, opts ...grpc.CallOption) (*MatchIntentResponse, error) {
3030	out := new(MatchIntentResponse)
3031	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.Sessions/MatchIntent", in, out, opts...)
3032	if err != nil {
3033		return nil, err
3034	}
3035	return out, nil
3036}
3037
3038func (c *sessionsClient) FulfillIntent(ctx context.Context, in *FulfillIntentRequest, opts ...grpc.CallOption) (*FulfillIntentResponse, error) {
3039	out := new(FulfillIntentResponse)
3040	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.Sessions/FulfillIntent", in, out, opts...)
3041	if err != nil {
3042		return nil, err
3043	}
3044	return out, nil
3045}
3046
3047// SessionsServer is the server API for Sessions service.
3048type SessionsServer interface {
3049	// Processes a natural language query and returns structured, actionable data
3050	// as a result. This method is not idempotent, because it may cause session
3051	// entity types to be updated, which in turn might affect results of future
3052	// queries.
3053	DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error)
3054	// Processes a natural language query in audio format in a streaming fashion
3055	// and returns structured, actionable data as a result. This method is only
3056	// available via the gRPC API (not REST).
3057	StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error
3058	// Returns preliminary intent match results, doesn't change the session
3059	// status.
3060	MatchIntent(context.Context, *MatchIntentRequest) (*MatchIntentResponse, error)
3061	// Fulfills a matched intent returned by [MatchIntent][google.cloud.dialogflow.cx.v3.Sessions.MatchIntent].
3062	// Must be called after [MatchIntent][google.cloud.dialogflow.cx.v3.Sessions.MatchIntent], with input from
3063	// [MatchIntentResponse][google.cloud.dialogflow.cx.v3.MatchIntentResponse]. Otherwise, the behavior is undefined.
3064	FulfillIntent(context.Context, *FulfillIntentRequest) (*FulfillIntentResponse, error)
3065}
3066
3067// UnimplementedSessionsServer can be embedded to have forward compatible implementations.
3068type UnimplementedSessionsServer struct {
3069}
3070
3071func (*UnimplementedSessionsServer) DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error) {
3072	return nil, status1.Errorf(codes.Unimplemented, "method DetectIntent not implemented")
3073}
3074func (*UnimplementedSessionsServer) StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error {
3075	return status1.Errorf(codes.Unimplemented, "method StreamingDetectIntent not implemented")
3076}
3077func (*UnimplementedSessionsServer) MatchIntent(context.Context, *MatchIntentRequest) (*MatchIntentResponse, error) {
3078	return nil, status1.Errorf(codes.Unimplemented, "method MatchIntent not implemented")
3079}
3080func (*UnimplementedSessionsServer) FulfillIntent(context.Context, *FulfillIntentRequest) (*FulfillIntentResponse, error) {
3081	return nil, status1.Errorf(codes.Unimplemented, "method FulfillIntent not implemented")
3082}
3083
3084func RegisterSessionsServer(s *grpc.Server, srv SessionsServer) {
3085	s.RegisterService(&_Sessions_serviceDesc, srv)
3086}
3087
3088func _Sessions_DetectIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3089	in := new(DetectIntentRequest)
3090	if err := dec(in); err != nil {
3091		return nil, err
3092	}
3093	if interceptor == nil {
3094		return srv.(SessionsServer).DetectIntent(ctx, in)
3095	}
3096	info := &grpc.UnaryServerInfo{
3097		Server:     srv,
3098		FullMethod: "/google.cloud.dialogflow.cx.v3.Sessions/DetectIntent",
3099	}
3100	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3101		return srv.(SessionsServer).DetectIntent(ctx, req.(*DetectIntentRequest))
3102	}
3103	return interceptor(ctx, in, info, handler)
3104}
3105
3106func _Sessions_StreamingDetectIntent_Handler(srv interface{}, stream grpc.ServerStream) error {
3107	return srv.(SessionsServer).StreamingDetectIntent(&sessionsStreamingDetectIntentServer{stream})
3108}
3109
3110type Sessions_StreamingDetectIntentServer interface {
3111	Send(*StreamingDetectIntentResponse) error
3112	Recv() (*StreamingDetectIntentRequest, error)
3113	grpc.ServerStream
3114}
3115
3116type sessionsStreamingDetectIntentServer struct {
3117	grpc.ServerStream
3118}
3119
3120func (x *sessionsStreamingDetectIntentServer) Send(m *StreamingDetectIntentResponse) error {
3121	return x.ServerStream.SendMsg(m)
3122}
3123
3124func (x *sessionsStreamingDetectIntentServer) Recv() (*StreamingDetectIntentRequest, error) {
3125	m := new(StreamingDetectIntentRequest)
3126	if err := x.ServerStream.RecvMsg(m); err != nil {
3127		return nil, err
3128	}
3129	return m, nil
3130}
3131
3132func _Sessions_MatchIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3133	in := new(MatchIntentRequest)
3134	if err := dec(in); err != nil {
3135		return nil, err
3136	}
3137	if interceptor == nil {
3138		return srv.(SessionsServer).MatchIntent(ctx, in)
3139	}
3140	info := &grpc.UnaryServerInfo{
3141		Server:     srv,
3142		FullMethod: "/google.cloud.dialogflow.cx.v3.Sessions/MatchIntent",
3143	}
3144	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3145		return srv.(SessionsServer).MatchIntent(ctx, req.(*MatchIntentRequest))
3146	}
3147	return interceptor(ctx, in, info, handler)
3148}
3149
3150func _Sessions_FulfillIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3151	in := new(FulfillIntentRequest)
3152	if err := dec(in); err != nil {
3153		return nil, err
3154	}
3155	if interceptor == nil {
3156		return srv.(SessionsServer).FulfillIntent(ctx, in)
3157	}
3158	info := &grpc.UnaryServerInfo{
3159		Server:     srv,
3160		FullMethod: "/google.cloud.dialogflow.cx.v3.Sessions/FulfillIntent",
3161	}
3162	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3163		return srv.(SessionsServer).FulfillIntent(ctx, req.(*FulfillIntentRequest))
3164	}
3165	return interceptor(ctx, in, info, handler)
3166}
3167
3168var _Sessions_serviceDesc = grpc.ServiceDesc{
3169	ServiceName: "google.cloud.dialogflow.cx.v3.Sessions",
3170	HandlerType: (*SessionsServer)(nil),
3171	Methods: []grpc.MethodDesc{
3172		{
3173			MethodName: "DetectIntent",
3174			Handler:    _Sessions_DetectIntent_Handler,
3175		},
3176		{
3177			MethodName: "MatchIntent",
3178			Handler:    _Sessions_MatchIntent_Handler,
3179		},
3180		{
3181			MethodName: "FulfillIntent",
3182			Handler:    _Sessions_FulfillIntent_Handler,
3183		},
3184	},
3185	Streams: []grpc.StreamDesc{
3186		{
3187			StreamName:    "StreamingDetectIntent",
3188			Handler:       _Sessions_StreamingDetectIntent_Handler,
3189			ServerStreams: true,
3190			ClientStreams: true,
3191		},
3192	},
3193	Metadata: "google/cloud/dialogflow/cx/v3/session.proto",
3194}
3195