// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.34.2
// 	protoc        v3.21.12
// source: yandex/cloud/ai/stt/v3/stt.proto

package stt

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type CodeType int32

const (
	// Deprecated: Marked as deprecated in yandex/cloud/ai/stt/v3/stt.proto.
	CodeType_CODE_TYPE_UNSPECIFIED CodeType = 0
	// All good.
	CodeType_WORKING CodeType = 1
	// For example, if speech is sent not in real time or context is unknown and we've made fallback.
	CodeType_WARNING CodeType = 2
	// After session was closed.
	CodeType_CLOSED CodeType = 3
)

// Enum value maps for CodeType.
var (
	CodeType_name = map[int32]string{
		0: "CODE_TYPE_UNSPECIFIED",
		1: "WORKING",
		2: "WARNING",
		3: "CLOSED",
	}
	CodeType_value = map[string]int32{
		"CODE_TYPE_UNSPECIFIED": 0,
		"WORKING":               1,
		"WARNING":               2,
		"CLOSED":                3,
	}
)

func (x CodeType) Enum() *CodeType {
	p := new(CodeType)
	*p = x
	return p
}

func (x CodeType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CodeType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[0].Descriptor()
}

func (CodeType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[0]
}

func (x CodeType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CodeType.Descriptor instead.
func (CodeType) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{0}
}

// Normalization
type TextNormalizationOptions_TextNormalization int32

const (
	TextNormalizationOptions_TEXT_NORMALIZATION_UNSPECIFIED TextNormalizationOptions_TextNormalization = 0
	// Enable normalization
	TextNormalizationOptions_TEXT_NORMALIZATION_ENABLED TextNormalizationOptions_TextNormalization = 1
	// Disable normalization
	TextNormalizationOptions_TEXT_NORMALIZATION_DISABLED TextNormalizationOptions_TextNormalization = 2
)

// Enum value maps for TextNormalizationOptions_TextNormalization.
var (
	TextNormalizationOptions_TextNormalization_name = map[int32]string{
		0: "TEXT_NORMALIZATION_UNSPECIFIED",
		1: "TEXT_NORMALIZATION_ENABLED",
		2: "TEXT_NORMALIZATION_DISABLED",
	}
	TextNormalizationOptions_TextNormalization_value = map[string]int32{
		"TEXT_NORMALIZATION_UNSPECIFIED": 0,
		"TEXT_NORMALIZATION_ENABLED":     1,
		"TEXT_NORMALIZATION_DISABLED":    2,
	}
)

func (x TextNormalizationOptions_TextNormalization) Enum() *TextNormalizationOptions_TextNormalization {
	p := new(TextNormalizationOptions_TextNormalization)
	*p = x
	return p
}

func (x TextNormalizationOptions_TextNormalization) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TextNormalizationOptions_TextNormalization) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[1].Descriptor()
}

func (TextNormalizationOptions_TextNormalization) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[1]
}

func (x TextNormalizationOptions_TextNormalization) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TextNormalizationOptions_TextNormalization.Descriptor instead.
func (TextNormalizationOptions_TextNormalization) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{0, 0}
}

type TextNormalizationOptions_PhoneFormattingMode int32

const (
	TextNormalizationOptions_PHONE_FORMATTING_MODE_UNSPECIFIED TextNormalizationOptions_PhoneFormattingMode = 0
	// Disable phone formatting
	TextNormalizationOptions_PHONE_FORMATTING_MODE_DISABLED TextNormalizationOptions_PhoneFormattingMode = 1
)

// Enum value maps for TextNormalizationOptions_PhoneFormattingMode.
var (
	TextNormalizationOptions_PhoneFormattingMode_name = map[int32]string{
		0: "PHONE_FORMATTING_MODE_UNSPECIFIED",
		1: "PHONE_FORMATTING_MODE_DISABLED",
	}
	TextNormalizationOptions_PhoneFormattingMode_value = map[string]int32{
		"PHONE_FORMATTING_MODE_UNSPECIFIED": 0,
		"PHONE_FORMATTING_MODE_DISABLED":    1,
	}
)

func (x TextNormalizationOptions_PhoneFormattingMode) Enum() *TextNormalizationOptions_PhoneFormattingMode {
	p := new(TextNormalizationOptions_PhoneFormattingMode)
	*p = x
	return p
}

func (x TextNormalizationOptions_PhoneFormattingMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TextNormalizationOptions_PhoneFormattingMode) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[2].Descriptor()
}

func (TextNormalizationOptions_PhoneFormattingMode) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[2]
}

func (x TextNormalizationOptions_PhoneFormattingMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TextNormalizationOptions_PhoneFormattingMode.Descriptor instead.
func (TextNormalizationOptions_PhoneFormattingMode) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{0, 1}
}

type DefaultEouClassifier_EouSensitivity int32

const (
	DefaultEouClassifier_EOU_SENSITIVITY_UNSPECIFIED DefaultEouClassifier_EouSensitivity = 0
	DefaultEouClassifier_DEFAULT                     DefaultEouClassifier_EouSensitivity = 1
	DefaultEouClassifier_HIGH                        DefaultEouClassifier_EouSensitivity = 2
)

// Enum value maps for DefaultEouClassifier_EouSensitivity.
var (
	DefaultEouClassifier_EouSensitivity_name = map[int32]string{
		0: "EOU_SENSITIVITY_UNSPECIFIED",
		1: "DEFAULT",
		2: "HIGH",
	}
	DefaultEouClassifier_EouSensitivity_value = map[string]int32{
		"EOU_SENSITIVITY_UNSPECIFIED": 0,
		"DEFAULT":                     1,
		"HIGH":                        2,
	}
)

func (x DefaultEouClassifier_EouSensitivity) Enum() *DefaultEouClassifier_EouSensitivity {
	p := new(DefaultEouClassifier_EouSensitivity)
	*p = x
	return p
}

func (x DefaultEouClassifier_EouSensitivity) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DefaultEouClassifier_EouSensitivity) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[3].Descriptor()
}

func (DefaultEouClassifier_EouSensitivity) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[3]
}

func (x DefaultEouClassifier_EouSensitivity) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DefaultEouClassifier_EouSensitivity.Descriptor instead.
func (DefaultEouClassifier_EouSensitivity) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{1, 0}
}

// Type of recognition classifier trigger.
type RecognitionClassifier_TriggerType int32

const (
	// Deprecated: Marked as deprecated in yandex/cloud/ai/stt/v3/stt.proto.
	RecognitionClassifier_TRIGGER_TYPE_UNSPECIFIED RecognitionClassifier_TriggerType = 0
	// Apply classifier to utterance responses
	RecognitionClassifier_ON_UTTERANCE RecognitionClassifier_TriggerType = 1
	// Apply classifier to final responses
	RecognitionClassifier_ON_FINAL RecognitionClassifier_TriggerType = 2
	// Apply classifier to partial responses
	RecognitionClassifier_ON_PARTIAL RecognitionClassifier_TriggerType = 3
)

// Enum value maps for RecognitionClassifier_TriggerType.
var (
	RecognitionClassifier_TriggerType_name = map[int32]string{
		0: "TRIGGER_TYPE_UNSPECIFIED",
		1: "ON_UTTERANCE",
		2: "ON_FINAL",
		3: "ON_PARTIAL",
	}
	RecognitionClassifier_TriggerType_value = map[string]int32{
		"TRIGGER_TYPE_UNSPECIFIED": 0,
		"ON_UTTERANCE":             1,
		"ON_FINAL":                 2,
		"ON_PARTIAL":               3,
	}
)

func (x RecognitionClassifier_TriggerType) Enum() *RecognitionClassifier_TriggerType {
	p := new(RecognitionClassifier_TriggerType)
	*p = x
	return p
}

func (x RecognitionClassifier_TriggerType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RecognitionClassifier_TriggerType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[4].Descriptor()
}

func (RecognitionClassifier_TriggerType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[4]
}

func (x RecognitionClassifier_TriggerType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RecognitionClassifier_TriggerType.Descriptor instead.
func (RecognitionClassifier_TriggerType) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{4, 0}
}

type RawAudio_AudioEncoding int32

const (
	RawAudio_AUDIO_ENCODING_UNSPECIFIED RawAudio_AudioEncoding = 0
	// Audio bit depth 16-bit signed little-endian (Linear PCM).
	RawAudio_LINEAR16_PCM RawAudio_AudioEncoding = 1
)

// Enum value maps for RawAudio_AudioEncoding.
var (
	RawAudio_AudioEncoding_name = map[int32]string{
		0: "AUDIO_ENCODING_UNSPECIFIED",
		1: "LINEAR16_PCM",
	}
	RawAudio_AudioEncoding_value = map[string]int32{
		"AUDIO_ENCODING_UNSPECIFIED": 0,
		"LINEAR16_PCM":               1,
	}
)

func (x RawAudio_AudioEncoding) Enum() *RawAudio_AudioEncoding {
	p := new(RawAudio_AudioEncoding)
	*p = x
	return p
}

func (x RawAudio_AudioEncoding) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RawAudio_AudioEncoding) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[5].Descriptor()
}

func (RawAudio_AudioEncoding) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[5]
}

func (x RawAudio_AudioEncoding) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RawAudio_AudioEncoding.Descriptor instead.
func (RawAudio_AudioEncoding) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{7, 0}
}

type ContainerAudio_ContainerAudioType int32

const (
	ContainerAudio_CONTAINER_AUDIO_TYPE_UNSPECIFIED ContainerAudio_ContainerAudioType = 0
	// Audio bit depth 16-bit signed little-endian (Linear PCM).
	ContainerAudio_WAV ContainerAudio_ContainerAudioType = 1
	// Data is encoded using the OPUS audio codec and compressed using the OGG container format.
	ContainerAudio_OGG_OPUS ContainerAudio_ContainerAudioType = 2
	// Data is encoded using MPEG-1/2 Layer III and compressed using the MP3 container format.
	ContainerAudio_MP3 ContainerAudio_ContainerAudioType = 3
)

// Enum value maps for ContainerAudio_ContainerAudioType.
var (
	ContainerAudio_ContainerAudioType_name = map[int32]string{
		0: "CONTAINER_AUDIO_TYPE_UNSPECIFIED",
		1: "WAV",
		2: "OGG_OPUS",
		3: "MP3",
	}
	ContainerAudio_ContainerAudioType_value = map[string]int32{
		"CONTAINER_AUDIO_TYPE_UNSPECIFIED": 0,
		"WAV":                              1,
		"OGG_OPUS":                         2,
		"MP3":                              3,
	}
)

func (x ContainerAudio_ContainerAudioType) Enum() *ContainerAudio_ContainerAudioType {
	p := new(ContainerAudio_ContainerAudioType)
	*p = x
	return p
}

func (x ContainerAudio_ContainerAudioType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ContainerAudio_ContainerAudioType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[6].Descriptor()
}

func (ContainerAudio_ContainerAudioType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[6]
}

func (x ContainerAudio_ContainerAudioType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ContainerAudio_ContainerAudioType.Descriptor instead.
func (ContainerAudio_ContainerAudioType) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{8, 0}
}

type LanguageRestrictionOptions_LanguageRestrictionType int32

const (
	LanguageRestrictionOptions_LANGUAGE_RESTRICTION_TYPE_UNSPECIFIED LanguageRestrictionOptions_LanguageRestrictionType = 0
	// The allowing list. The incoming audio can contain only the listed languages.
	LanguageRestrictionOptions_WHITELIST LanguageRestrictionOptions_LanguageRestrictionType = 1
	// The forbidding list. The incoming audio cannot contain the listed languages.
	LanguageRestrictionOptions_BLACKLIST LanguageRestrictionOptions_LanguageRestrictionType = 2
)

// Enum value maps for LanguageRestrictionOptions_LanguageRestrictionType.
var (
	LanguageRestrictionOptions_LanguageRestrictionType_name = map[int32]string{
		0: "LANGUAGE_RESTRICTION_TYPE_UNSPECIFIED",
		1: "WHITELIST",
		2: "BLACKLIST",
	}
	LanguageRestrictionOptions_LanguageRestrictionType_value = map[string]int32{
		"LANGUAGE_RESTRICTION_TYPE_UNSPECIFIED": 0,
		"WHITELIST":                             1,
		"BLACKLIST":                             2,
	}
)

func (x LanguageRestrictionOptions_LanguageRestrictionType) Enum() *LanguageRestrictionOptions_LanguageRestrictionType {
	p := new(LanguageRestrictionOptions_LanguageRestrictionType)
	*p = x
	return p
}

func (x LanguageRestrictionOptions_LanguageRestrictionType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (LanguageRestrictionOptions_LanguageRestrictionType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[7].Descriptor()
}

func (LanguageRestrictionOptions_LanguageRestrictionType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[7]
}

func (x LanguageRestrictionOptions_LanguageRestrictionType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use LanguageRestrictionOptions_LanguageRestrictionType.Descriptor instead.
func (LanguageRestrictionOptions_LanguageRestrictionType) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{10, 0}
}

type RecognitionModelOptions_AudioProcessingType int32

const (
	RecognitionModelOptions_AUDIO_PROCESSING_TYPE_UNSPECIFIED RecognitionModelOptions_AudioProcessingType = 0
	// Process audio in mode optimized for real-time recognition, i.e. send partials and final responses as soon as possible
	RecognitionModelOptions_REAL_TIME RecognitionModelOptions_AudioProcessingType = 1
	// Process audio after all data was received
	RecognitionModelOptions_FULL_DATA RecognitionModelOptions_AudioProcessingType = 2
)

// Enum value maps for RecognitionModelOptions_AudioProcessingType.
var (
	RecognitionModelOptions_AudioProcessingType_name = map[int32]string{
		0: "AUDIO_PROCESSING_TYPE_UNSPECIFIED",
		1: "REAL_TIME",
		2: "FULL_DATA",
	}
	RecognitionModelOptions_AudioProcessingType_value = map[string]int32{
		"AUDIO_PROCESSING_TYPE_UNSPECIFIED": 0,
		"REAL_TIME":                         1,
		"FULL_DATA":                         2,
	}
)

func (x RecognitionModelOptions_AudioProcessingType) Enum() *RecognitionModelOptions_AudioProcessingType {
	p := new(RecognitionModelOptions_AudioProcessingType)
	*p = x
	return p
}

func (x RecognitionModelOptions_AudioProcessingType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RecognitionModelOptions_AudioProcessingType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[8].Descriptor()
}

func (RecognitionModelOptions_AudioProcessingType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[8]
}

func (x RecognitionModelOptions_AudioProcessingType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RecognitionModelOptions_AudioProcessingType.Descriptor instead.
func (RecognitionModelOptions_AudioProcessingType) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{11, 0}
}

type SpeakerLabelingOptions_SpeakerLabeling int32

const (
	SpeakerLabelingOptions_SPEAKER_LABELING_UNSPECIFIED SpeakerLabelingOptions_SpeakerLabeling = 0
	// Enable speaker labeling
	SpeakerLabelingOptions_SPEAKER_LABELING_ENABLED SpeakerLabelingOptions_SpeakerLabeling = 1
	// Disable speaker labeling
	SpeakerLabelingOptions_SPEAKER_LABELING_DISABLED SpeakerLabelingOptions_SpeakerLabeling = 2
)

// Enum value maps for SpeakerLabelingOptions_SpeakerLabeling.
var (
	SpeakerLabelingOptions_SpeakerLabeling_name = map[int32]string{
		0: "SPEAKER_LABELING_UNSPECIFIED",
		1: "SPEAKER_LABELING_ENABLED",
		2: "SPEAKER_LABELING_DISABLED",
	}
	SpeakerLabelingOptions_SpeakerLabeling_value = map[string]int32{
		"SPEAKER_LABELING_UNSPECIFIED": 0,
		"SPEAKER_LABELING_ENABLED":     1,
		"SPEAKER_LABELING_DISABLED":    2,
	}
)

func (x SpeakerLabelingOptions_SpeakerLabeling) Enum() *SpeakerLabelingOptions_SpeakerLabeling {
	p := new(SpeakerLabelingOptions_SpeakerLabeling)
	*p = x
	return p
}

func (x SpeakerLabelingOptions_SpeakerLabeling) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SpeakerLabelingOptions_SpeakerLabeling) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[9].Descriptor()
}

func (SpeakerLabelingOptions_SpeakerLabeling) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[9]
}

func (x SpeakerLabelingOptions_SpeakerLabeling) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SpeakerLabelingOptions_SpeakerLabeling.Descriptor instead.
func (SpeakerLabelingOptions_SpeakerLabeling) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{12, 0}
}

type RecognitionClassifierUpdate_WindowType int32

const (
	// Deprecated: Marked as deprecated in yandex/cloud/ai/stt/v3/stt.proto.
	RecognitionClassifierUpdate_WINDOW_TYPE_UNSPECIFIED RecognitionClassifierUpdate_WindowType = 0
	// The result of applying the classifier to the last utterance response
	RecognitionClassifierUpdate_LAST_UTTERANCE RecognitionClassifierUpdate_WindowType = 1
	// The result of applying the classifier to the last final response
	RecognitionClassifierUpdate_LAST_FINAL RecognitionClassifierUpdate_WindowType = 2
	// The result of applying the classifier to the last partial response
	RecognitionClassifierUpdate_LAST_PARTIAL RecognitionClassifierUpdate_WindowType = 3
)

// Enum value maps for RecognitionClassifierUpdate_WindowType.
var (
	RecognitionClassifierUpdate_WindowType_name = map[int32]string{
		0: "WINDOW_TYPE_UNSPECIFIED",
		1: "LAST_UTTERANCE",
		2: "LAST_FINAL",
		3: "LAST_PARTIAL",
	}
	RecognitionClassifierUpdate_WindowType_value = map[string]int32{
		"WINDOW_TYPE_UNSPECIFIED": 0,
		"LAST_UTTERANCE":          1,
		"LAST_FINAL":              2,
		"LAST_PARTIAL":            3,
	}
)

func (x RecognitionClassifierUpdate_WindowType) Enum() *RecognitionClassifierUpdate_WindowType {
	p := new(RecognitionClassifierUpdate_WindowType)
	*p = x
	return p
}

func (x RecognitionClassifierUpdate_WindowType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RecognitionClassifierUpdate_WindowType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[10].Descriptor()
}

func (RecognitionClassifierUpdate_WindowType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[10]
}

func (x RecognitionClassifierUpdate_WindowType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RecognitionClassifierUpdate_WindowType.Descriptor instead.
func (RecognitionClassifierUpdate_WindowType) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{31, 0}
}

type SpeakerAnalysis_WindowType int32

const (
	// Deprecated: Marked as deprecated in yandex/cloud/ai/stt/v3/stt.proto.
	SpeakerAnalysis_WINDOW_TYPE_UNSPECIFIED SpeakerAnalysis_WindowType = 0
	// Stats for all received audio.
	SpeakerAnalysis_TOTAL SpeakerAnalysis_WindowType = 1
	// Stats for last utterance.
	SpeakerAnalysis_LAST_UTTERANCE SpeakerAnalysis_WindowType = 2
)

// Enum value maps for SpeakerAnalysis_WindowType.
var (
	SpeakerAnalysis_WindowType_name = map[int32]string{
		0: "WINDOW_TYPE_UNSPECIFIED",
		1: "TOTAL",
		2: "LAST_UTTERANCE",
	}
	SpeakerAnalysis_WindowType_value = map[string]int32{
		"WINDOW_TYPE_UNSPECIFIED": 0,
		"TOTAL":                   1,
		"LAST_UTTERANCE":          2,
	}
)

func (x SpeakerAnalysis_WindowType) Enum() *SpeakerAnalysis_WindowType {
	p := new(SpeakerAnalysis_WindowType)
	*p = x
	return p
}

func (x SpeakerAnalysis_WindowType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SpeakerAnalysis_WindowType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[11].Descriptor()
}

func (SpeakerAnalysis_WindowType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes[11]
}

func (x SpeakerAnalysis_WindowType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SpeakerAnalysis_WindowType.Descriptor instead.
func (SpeakerAnalysis_WindowType) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{34, 0}
}

// Options
type TextNormalizationOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TextNormalization TextNormalizationOptions_TextNormalization `protobuf:"varint,1,opt,name=text_normalization,json=textNormalization,proto3,enum=speechkit.stt.v3.TextNormalizationOptions_TextNormalization" json:"text_normalization,omitempty"`
	// Profanity filter (default: false).
	ProfanityFilter bool `protobuf:"varint,2,opt,name=profanity_filter,json=profanityFilter,proto3" json:"profanity_filter,omitempty"`
	// Rewrite text in literature style (default: false).
	LiteratureText bool `protobuf:"varint,3,opt,name=literature_text,json=literatureText,proto3" json:"literature_text,omitempty"`
	// Define phone formatting mode
	PhoneFormattingMode TextNormalizationOptions_PhoneFormattingMode `protobuf:"varint,4,opt,name=phone_formatting_mode,json=phoneFormattingMode,proto3,enum=speechkit.stt.v3.TextNormalizationOptions_PhoneFormattingMode" json:"phone_formatting_mode,omitempty"`
}

func (x *TextNormalizationOptions) Reset() {
	*x = TextNormalizationOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TextNormalizationOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TextNormalizationOptions) ProtoMessage() {}

func (x *TextNormalizationOptions) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TextNormalizationOptions.ProtoReflect.Descriptor instead.
func (*TextNormalizationOptions) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{0}
}

func (x *TextNormalizationOptions) GetTextNormalization() TextNormalizationOptions_TextNormalization {
	if x != nil {
		return x.TextNormalization
	}
	return TextNormalizationOptions_TEXT_NORMALIZATION_UNSPECIFIED
}

func (x *TextNormalizationOptions) GetProfanityFilter() bool {
	if x != nil {
		return x.ProfanityFilter
	}
	return false
}

func (x *TextNormalizationOptions) GetLiteratureText() bool {
	if x != nil {
		return x.LiteratureText
	}
	return false
}

func (x *TextNormalizationOptions) GetPhoneFormattingMode() TextNormalizationOptions_PhoneFormattingMode {
	if x != nil {
		return x.PhoneFormattingMode
	}
	return TextNormalizationOptions_PHONE_FORMATTING_MODE_UNSPECIFIED
}

type DefaultEouClassifier struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// EOU sensitivity. Currently two levels, faster with more error and more conservative (our default).
	Type DefaultEouClassifier_EouSensitivity `protobuf:"varint,1,opt,name=type,proto3,enum=speechkit.stt.v3.DefaultEouClassifier_EouSensitivity" json:"type,omitempty"`
	// Hint for max pause between words. Our EOU detector could use this information to distinguish between end of utterance and slow speech (like one <long pause> two <long pause> three, etc).
	MaxPauseBetweenWordsHintMs int64 `protobuf:"varint,2,opt,name=max_pause_between_words_hint_ms,json=maxPauseBetweenWordsHintMs,proto3" json:"max_pause_between_words_hint_ms,omitempty"`
}

func (x *DefaultEouClassifier) Reset() {
	*x = DefaultEouClassifier{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DefaultEouClassifier) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DefaultEouClassifier) ProtoMessage() {}

func (x *DefaultEouClassifier) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DefaultEouClassifier.ProtoReflect.Descriptor instead.
func (*DefaultEouClassifier) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{1}
}

func (x *DefaultEouClassifier) GetType() DefaultEouClassifier_EouSensitivity {
	if x != nil {
		return x.Type
	}
	return DefaultEouClassifier_EOU_SENSITIVITY_UNSPECIFIED
}

func (x *DefaultEouClassifier) GetMaxPauseBetweenWordsHintMs() int64 {
	if x != nil {
		return x.MaxPauseBetweenWordsHintMs
	}
	return 0
}

// Use EOU provided by user
type ExternalEouClassifier struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ExternalEouClassifier) Reset() {
	*x = ExternalEouClassifier{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ExternalEouClassifier) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExternalEouClassifier) ProtoMessage() {}

func (x *ExternalEouClassifier) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ExternalEouClassifier.ProtoReflect.Descriptor instead.
func (*ExternalEouClassifier) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{2}
}

type EouClassifierOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Type of EOU classifier.
	//
	// Types that are assignable to Classifier:
	//
	//	*EouClassifierOptions_DefaultClassifier
	//	*EouClassifierOptions_ExternalClassifier
	Classifier isEouClassifierOptions_Classifier `protobuf_oneof:"Classifier"`
}

func (x *EouClassifierOptions) Reset() {
	*x = EouClassifierOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EouClassifierOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EouClassifierOptions) ProtoMessage() {}

func (x *EouClassifierOptions) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EouClassifierOptions.ProtoReflect.Descriptor instead.
func (*EouClassifierOptions) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{3}
}

func (m *EouClassifierOptions) GetClassifier() isEouClassifierOptions_Classifier {
	if m != nil {
		return m.Classifier
	}
	return nil
}

func (x *EouClassifierOptions) GetDefaultClassifier() *DefaultEouClassifier {
	if x, ok := x.GetClassifier().(*EouClassifierOptions_DefaultClassifier); ok {
		return x.DefaultClassifier
	}
	return nil
}

func (x *EouClassifierOptions) GetExternalClassifier() *ExternalEouClassifier {
	if x, ok := x.GetClassifier().(*EouClassifierOptions_ExternalClassifier); ok {
		return x.ExternalClassifier
	}
	return nil
}

type isEouClassifierOptions_Classifier interface {
	isEouClassifierOptions_Classifier()
}

type EouClassifierOptions_DefaultClassifier struct {
	// EOU classifier provided by SpeechKit. Default.
	DefaultClassifier *DefaultEouClassifier `protobuf:"bytes,1,opt,name=default_classifier,json=defaultClassifier,proto3,oneof"`
}

type EouClassifierOptions_ExternalClassifier struct {
	// EOU is enforced by external messages from user.
	ExternalClassifier *ExternalEouClassifier `protobuf:"bytes,2,opt,name=external_classifier,json=externalClassifier,proto3,oneof"`
}

func (*EouClassifierOptions_DefaultClassifier) isEouClassifierOptions_Classifier() {}

func (*EouClassifierOptions_ExternalClassifier) isEouClassifierOptions_Classifier() {}

type RecognitionClassifier struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Classifier name
	Classifier string `protobuf:"bytes,1,opt,name=classifier,proto3" json:"classifier,omitempty"`
	// Describes the types of responses to which the classification results will come
	Triggers []RecognitionClassifier_TriggerType `protobuf:"varint,2,rep,packed,name=triggers,proto3,enum=speechkit.stt.v3.RecognitionClassifier_TriggerType" json:"triggers,omitempty"`
}

func (x *RecognitionClassifier) Reset() {
	*x = RecognitionClassifier{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RecognitionClassifier) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecognitionClassifier) ProtoMessage() {}

func (x *RecognitionClassifier) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecognitionClassifier.ProtoReflect.Descriptor instead.
func (*RecognitionClassifier) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{4}
}

func (x *RecognitionClassifier) GetClassifier() string {
	if x != nil {
		return x.Classifier
	}
	return ""
}

func (x *RecognitionClassifier) GetTriggers() []RecognitionClassifier_TriggerType {
	if x != nil {
		return x.Triggers
	}
	return nil
}

type RecognitionClassifierOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// List of classifiers to use
	Classifiers []*RecognitionClassifier `protobuf:"bytes,1,rep,name=classifiers,proto3" json:"classifiers,omitempty"`
}

func (x *RecognitionClassifierOptions) Reset() {
	*x = RecognitionClassifierOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RecognitionClassifierOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecognitionClassifierOptions) ProtoMessage() {}

func (x *RecognitionClassifierOptions) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecognitionClassifierOptions.ProtoReflect.Descriptor instead.
func (*RecognitionClassifierOptions) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{5}
}

func (x *RecognitionClassifierOptions) GetClassifiers() []*RecognitionClassifier {
	if x != nil {
		return x.Classifiers
	}
	return nil
}

type SpeechAnalysisOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Analyse speech for every speaker
	EnableSpeakerAnalysis bool `protobuf:"varint,1,opt,name=enable_speaker_analysis,json=enableSpeakerAnalysis,proto3" json:"enable_speaker_analysis,omitempty"`
	// Analyse conversation of two speakers
	EnableConversationAnalysis bool `protobuf:"varint,2,opt,name=enable_conversation_analysis,json=enableConversationAnalysis,proto3" json:"enable_conversation_analysis,omitempty"`
	// Quantile levels in range (0, 1) for descriptive statistics
	DescriptiveStatisticsQuantiles []float64 `protobuf:"fixed64,3,rep,packed,name=descriptive_statistics_quantiles,json=descriptiveStatisticsQuantiles,proto3" json:"descriptive_statistics_quantiles,omitempty"`
}

func (x *SpeechAnalysisOptions) Reset() {
	*x = SpeechAnalysisOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SpeechAnalysisOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpeechAnalysisOptions) ProtoMessage() {}

func (x *SpeechAnalysisOptions) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SpeechAnalysisOptions.ProtoReflect.Descriptor instead.
func (*SpeechAnalysisOptions) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{6}
}

func (x *SpeechAnalysisOptions) GetEnableSpeakerAnalysis() bool {
	if x != nil {
		return x.EnableSpeakerAnalysis
	}
	return false
}

func (x *SpeechAnalysisOptions) GetEnableConversationAnalysis() bool {
	if x != nil {
		return x.EnableConversationAnalysis
	}
	return false
}

func (x *SpeechAnalysisOptions) GetDescriptiveStatisticsQuantiles() []float64 {
	if x != nil {
		return x.DescriptiveStatisticsQuantiles
	}
	return nil
}

// RAW Audio format spec (no container to infer type). Used in AudioFormat options.
type RawAudio struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Type of audio encoding
	AudioEncoding RawAudio_AudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=speechkit.stt.v3.RawAudio_AudioEncoding" json:"audio_encoding,omitempty"`
	// PCM sample rate
	SampleRateHertz int64 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"`
	// PCM channel count. Currently only single channel audio is supported in real-time recognition.
	AudioChannelCount int64 `protobuf:"varint,3,opt,name=audio_channel_count,json=audioChannelCount,proto3" json:"audio_channel_count,omitempty"`
}

func (x *RawAudio) Reset() {
	*x = RawAudio{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RawAudio) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RawAudio) ProtoMessage() {}

func (x *RawAudio) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RawAudio.ProtoReflect.Descriptor instead.
func (*RawAudio) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{7}
}

func (x *RawAudio) GetAudioEncoding() RawAudio_AudioEncoding {
	if x != nil {
		return x.AudioEncoding
	}
	return RawAudio_AUDIO_ENCODING_UNSPECIFIED
}

func (x *RawAudio) GetSampleRateHertz() int64 {
	if x != nil {
		return x.SampleRateHertz
	}
	return 0
}

func (x *RawAudio) GetAudioChannelCount() int64 {
	if x != nil {
		return x.AudioChannelCount
	}
	return 0
}

// Audio with fixed type in container. Used in AudioFormat options.
type ContainerAudio struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Type of audio container.
	ContainerAudioType ContainerAudio_ContainerAudioType `protobuf:"varint,1,opt,name=container_audio_type,json=containerAudioType,proto3,enum=speechkit.stt.v3.ContainerAudio_ContainerAudioType" json:"container_audio_type,omitempty"`
}

func (x *ContainerAudio) Reset() {
	*x = ContainerAudio{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ContainerAudio) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ContainerAudio) ProtoMessage() {}

func (x *ContainerAudio) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ContainerAudio.ProtoReflect.Descriptor instead.
func (*ContainerAudio) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{8}
}

func (x *ContainerAudio) GetContainerAudioType() ContainerAudio_ContainerAudioType {
	if x != nil {
		return x.ContainerAudioType
	}
	return ContainerAudio_CONTAINER_AUDIO_TYPE_UNSPECIFIED
}

// Audio format options.
type AudioFormatOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to AudioFormat:
	//
	//	*AudioFormatOptions_RawAudio
	//	*AudioFormatOptions_ContainerAudio
	AudioFormat isAudioFormatOptions_AudioFormat `protobuf_oneof:"AudioFormat"`
}

func (x *AudioFormatOptions) Reset() {
	*x = AudioFormatOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AudioFormatOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AudioFormatOptions) ProtoMessage() {}

func (x *AudioFormatOptions) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AudioFormatOptions.ProtoReflect.Descriptor instead.
func (*AudioFormatOptions) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{9}
}

func (m *AudioFormatOptions) GetAudioFormat() isAudioFormatOptions_AudioFormat {
	if m != nil {
		return m.AudioFormat
	}
	return nil
}

func (x *AudioFormatOptions) GetRawAudio() *RawAudio {
	if x, ok := x.GetAudioFormat().(*AudioFormatOptions_RawAudio); ok {
		return x.RawAudio
	}
	return nil
}

func (x *AudioFormatOptions) GetContainerAudio() *ContainerAudio {
	if x, ok := x.GetAudioFormat().(*AudioFormatOptions_ContainerAudio); ok {
		return x.ContainerAudio
	}
	return nil
}

type isAudioFormatOptions_AudioFormat interface {
	isAudioFormatOptions_AudioFormat()
}

type AudioFormatOptions_RawAudio struct {
	// Audio without container.
	RawAudio *RawAudio `protobuf:"bytes,1,opt,name=raw_audio,json=rawAudio,proto3,oneof"`
}

type AudioFormatOptions_ContainerAudio struct {
	// Audio is wrapped in container.
	ContainerAudio *ContainerAudio `protobuf:"bytes,2,opt,name=container_audio,json=containerAudio,proto3,oneof"`
}

func (*AudioFormatOptions_RawAudio) isAudioFormatOptions_AudioFormat() {}

func (*AudioFormatOptions_ContainerAudio) isAudioFormatOptions_AudioFormat() {}

// Type of restriction for the list of languages expected in the incoming speech stream.
type LanguageRestrictionOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Language restriction type
	RestrictionType LanguageRestrictionOptions_LanguageRestrictionType `protobuf:"varint,1,opt,name=restriction_type,json=restrictionType,proto3,enum=speechkit.stt.v3.LanguageRestrictionOptions_LanguageRestrictionType" json:"restriction_type,omitempty"`
	// The list of language codes to restrict recognition in the case of an auto model
	LanguageCode []string `protobuf:"bytes,2,rep,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
}

func (x *LanguageRestrictionOptions) Reset() {
	*x = LanguageRestrictionOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LanguageRestrictionOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LanguageRestrictionOptions) ProtoMessage() {}

func (x *LanguageRestrictionOptions) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LanguageRestrictionOptions.ProtoReflect.Descriptor instead.
func (*LanguageRestrictionOptions) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{10}
}

func (x *LanguageRestrictionOptions) GetRestrictionType() LanguageRestrictionOptions_LanguageRestrictionType {
	if x != nil {
		return x.RestrictionType
	}
	return LanguageRestrictionOptions_LANGUAGE_RESTRICTION_TYPE_UNSPECIFIED
}

func (x *LanguageRestrictionOptions) GetLanguageCode() []string {
	if x != nil {
		return x.LanguageCode
	}
	return nil
}

type RecognitionModelOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Sets the recognition model for the cloud version of SpeechKit. Possible values: 'general', 'general:rc', 'general:deprecated'.
	// The model is ignored for SpeechKit Hybrid.
	Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
	// Specified input audio.
	AudioFormat *AudioFormatOptions `protobuf:"bytes,2,opt,name=audio_format,json=audioFormat,proto3" json:"audio_format,omitempty"`
	// Text normalization options.
	TextNormalization *TextNormalizationOptions `protobuf:"bytes,3,opt,name=text_normalization,json=textNormalization,proto3" json:"text_normalization,omitempty"`
	// Possible languages in audio.
	LanguageRestriction *LanguageRestrictionOptions `protobuf:"bytes,4,opt,name=language_restriction,json=languageRestriction,proto3" json:"language_restriction,omitempty"`
	// How to deal with audio data (in real time, after all data is received, etc). Default is REAL_TIME.
	AudioProcessingType RecognitionModelOptions_AudioProcessingType `protobuf:"varint,5,opt,name=audio_processing_type,json=audioProcessingType,proto3,enum=speechkit.stt.v3.RecognitionModelOptions_AudioProcessingType" json:"audio_processing_type,omitempty"`
}

func (x *RecognitionModelOptions) Reset() {
	*x = RecognitionModelOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RecognitionModelOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecognitionModelOptions) ProtoMessage() {}

func (x *RecognitionModelOptions) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecognitionModelOptions.ProtoReflect.Descriptor instead.
func (*RecognitionModelOptions) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{11}
}

func (x *RecognitionModelOptions) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *RecognitionModelOptions) GetAudioFormat() *AudioFormatOptions {
	if x != nil {
		return x.AudioFormat
	}
	return nil
}

func (x *RecognitionModelOptions) GetTextNormalization() *TextNormalizationOptions {
	if x != nil {
		return x.TextNormalization
	}
	return nil
}

func (x *RecognitionModelOptions) GetLanguageRestriction() *LanguageRestrictionOptions {
	if x != nil {
		return x.LanguageRestriction
	}
	return nil
}

func (x *RecognitionModelOptions) GetAudioProcessingType() RecognitionModelOptions_AudioProcessingType {
	if x != nil {
		return x.AudioProcessingType
	}
	return RecognitionModelOptions_AUDIO_PROCESSING_TYPE_UNSPECIFIED
}

type SpeakerLabelingOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Specifies the execution of speaker labeling. Default is SPEAKER_LABELING_DISABLED.
	SpeakerLabeling SpeakerLabelingOptions_SpeakerLabeling `protobuf:"varint,1,opt,name=speaker_labeling,json=speakerLabeling,proto3,enum=speechkit.stt.v3.SpeakerLabelingOptions_SpeakerLabeling" json:"speaker_labeling,omitempty"`
}

func (x *SpeakerLabelingOptions) Reset() {
	*x = SpeakerLabelingOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SpeakerLabelingOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpeakerLabelingOptions) ProtoMessage() {}

func (x *SpeakerLabelingOptions) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SpeakerLabelingOptions.ProtoReflect.Descriptor instead.
func (*SpeakerLabelingOptions) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{12}
}

func (x *SpeakerLabelingOptions) GetSpeakerLabeling() SpeakerLabelingOptions_SpeakerLabeling {
	if x != nil {
		return x.SpeakerLabeling
	}
	return SpeakerLabelingOptions_SPEAKER_LABELING_UNSPECIFIED
}

type StreamingOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Configuration for speech recognition model.
	RecognitionModel *RecognitionModelOptions `protobuf:"bytes,1,opt,name=recognition_model,json=recognitionModel,proto3" json:"recognition_model,omitempty"`
	// Configuration for end of utterance detection model.
	EouClassifier *EouClassifierOptions `protobuf:"bytes,2,opt,name=eou_classifier,json=eouClassifier,proto3" json:"eou_classifier,omitempty"`
	// Configuration for classifiers over speech recognition.
	RecognitionClassifier *RecognitionClassifierOptions `protobuf:"bytes,3,opt,name=recognition_classifier,json=recognitionClassifier,proto3" json:"recognition_classifier,omitempty"`
	// Configuration for speech analysis over speech recognition.
	SpeechAnalysis *SpeechAnalysisOptions `protobuf:"bytes,4,opt,name=speech_analysis,json=speechAnalysis,proto3" json:"speech_analysis,omitempty"`
	// Configuration for speaker labeling
	SpeakerLabeling *SpeakerLabelingOptions `protobuf:"bytes,5,opt,name=speaker_labeling,json=speakerLabeling,proto3" json:"speaker_labeling,omitempty"`
}

func (x *StreamingOptions) Reset() {
	*x = StreamingOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StreamingOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamingOptions) ProtoMessage() {}

func (x *StreamingOptions) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamingOptions.ProtoReflect.Descriptor instead.
func (*StreamingOptions) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{13}
}

func (x *StreamingOptions) GetRecognitionModel() *RecognitionModelOptions {
	if x != nil {
		return x.RecognitionModel
	}
	return nil
}

func (x *StreamingOptions) GetEouClassifier() *EouClassifierOptions {
	if x != nil {
		return x.EouClassifier
	}
	return nil
}

func (x *StreamingOptions) GetRecognitionClassifier() *RecognitionClassifierOptions {
	if x != nil {
		return x.RecognitionClassifier
	}
	return nil
}

func (x *StreamingOptions) GetSpeechAnalysis() *SpeechAnalysisOptions {
	if x != nil {
		return x.SpeechAnalysis
	}
	return nil
}

func (x *StreamingOptions) GetSpeakerLabeling() *SpeakerLabelingOptions {
	if x != nil {
		return x.SpeakerLabeling
	}
	return nil
}

// Data chunk with audio.
type AudioChunk struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Bytes with audio data.
	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *AudioChunk) Reset() {
	*x = AudioChunk{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AudioChunk) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AudioChunk) ProtoMessage() {}

func (x *AudioChunk) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AudioChunk.ProtoReflect.Descriptor instead.
func (*AudioChunk) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{14}
}

func (x *AudioChunk) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

// Data chunk with silence.
type SilenceChunk struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Duration of silence chunk in ms.
	DurationMs int64 `protobuf:"varint,1,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
}

func (x *SilenceChunk) Reset() {
	*x = SilenceChunk{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SilenceChunk) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SilenceChunk) ProtoMessage() {}

func (x *SilenceChunk) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SilenceChunk.ProtoReflect.Descriptor instead.
func (*SilenceChunk) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{15}
}

func (x *SilenceChunk) GetDurationMs() int64 {
	if x != nil {
		return x.DurationMs
	}
	return 0
}

// Force EOU
type Eou struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *Eou) Reset() {
	*x = Eou{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Eou) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Eou) ProtoMessage() {}

func (x *Eou) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Eou.ProtoReflect.Descriptor instead.
func (*Eou) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{16}
}

// Streaming audio request
// Events are control messages from user.
// First message should be session options.
// The next messages are audio data chunks or control messages.
type StreamingRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Event:
	//
	//	*StreamingRequest_SessionOptions
	//	*StreamingRequest_Chunk
	//	*StreamingRequest_SilenceChunk
	//	*StreamingRequest_Eou
	Event isStreamingRequest_Event `protobuf_oneof:"Event"`
}

func (x *StreamingRequest) Reset() {
	*x = StreamingRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StreamingRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamingRequest) ProtoMessage() {}

func (x *StreamingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamingRequest.ProtoReflect.Descriptor instead.
func (*StreamingRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{17}
}

func (m *StreamingRequest) GetEvent() isStreamingRequest_Event {
	if m != nil {
		return m.Event
	}
	return nil
}

func (x *StreamingRequest) GetSessionOptions() *StreamingOptions {
	if x, ok := x.GetEvent().(*StreamingRequest_SessionOptions); ok {
		return x.SessionOptions
	}
	return nil
}

func (x *StreamingRequest) GetChunk() *AudioChunk {
	if x, ok := x.GetEvent().(*StreamingRequest_Chunk); ok {
		return x.Chunk
	}
	return nil
}

func (x *StreamingRequest) GetSilenceChunk() *SilenceChunk {
	if x, ok := x.GetEvent().(*StreamingRequest_SilenceChunk); ok {
		return x.SilenceChunk
	}
	return nil
}

func (x *StreamingRequest) GetEou() *Eou {
	if x, ok := x.GetEvent().(*StreamingRequest_Eou); ok {
		return x.Eou
	}
	return nil
}

type isStreamingRequest_Event interface {
	isStreamingRequest_Event()
}

type StreamingRequest_SessionOptions struct {
	// Session options. Should be the first message from user.
	SessionOptions *StreamingOptions `protobuf:"bytes,1,opt,name=session_options,json=sessionOptions,proto3,oneof"`
}

type StreamingRequest_Chunk struct {
	// Chunk with audio data.
	Chunk *AudioChunk `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"`
}

type StreamingRequest_SilenceChunk struct {
	// Chunk with silence.
	SilenceChunk *SilenceChunk `protobuf:"bytes,3,opt,name=silence_chunk,json=silenceChunk,proto3,oneof"`
}

type StreamingRequest_Eou struct {
	// Request to end current utterance. Works only with external EOU detector.
	Eou *Eou `protobuf:"bytes,4,opt,name=eou,proto3,oneof"`
}

func (*StreamingRequest_SessionOptions) isStreamingRequest_Event() {}

func (*StreamingRequest_Chunk) isStreamingRequest_Event() {}

func (*StreamingRequest_SilenceChunk) isStreamingRequest_Event() {}

func (*StreamingRequest_Eou) isStreamingRequest_Event() {}

type RecognizeFileRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to AudioSource:
	//
	//	*RecognizeFileRequest_Content
	//	*RecognizeFileRequest_Uri
	AudioSource isRecognizeFileRequest_AudioSource `protobuf_oneof:"AudioSource"`
	// Configuration for speech recognition model.
	RecognitionModel *RecognitionModelOptions `protobuf:"bytes,3,opt,name=recognition_model,json=recognitionModel,proto3" json:"recognition_model,omitempty"`
	// Configuration for classifiers over speech recognition.
	RecognitionClassifier *RecognitionClassifierOptions `protobuf:"bytes,4,opt,name=recognition_classifier,json=recognitionClassifier,proto3" json:"recognition_classifier,omitempty"`
	// Configuration for speech analysis over speech recognition.
	SpeechAnalysis *SpeechAnalysisOptions `protobuf:"bytes,5,opt,name=speech_analysis,json=speechAnalysis,proto3" json:"speech_analysis,omitempty"`
	// Configuration for speaker labeling
	SpeakerLabeling *SpeakerLabelingOptions `protobuf:"bytes,6,opt,name=speaker_labeling,json=speakerLabeling,proto3" json:"speaker_labeling,omitempty"`
}

func (x *RecognizeFileRequest) Reset() {
	*x = RecognizeFileRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RecognizeFileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecognizeFileRequest) ProtoMessage() {}

func (x *RecognizeFileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecognizeFileRequest.ProtoReflect.Descriptor instead.
func (*RecognizeFileRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{18}
}

func (m *RecognizeFileRequest) GetAudioSource() isRecognizeFileRequest_AudioSource {
	if m != nil {
		return m.AudioSource
	}
	return nil
}

func (x *RecognizeFileRequest) GetContent() []byte {
	if x, ok := x.GetAudioSource().(*RecognizeFileRequest_Content); ok {
		return x.Content
	}
	return nil
}

func (x *RecognizeFileRequest) GetUri() string {
	if x, ok := x.GetAudioSource().(*RecognizeFileRequest_Uri); ok {
		return x.Uri
	}
	return ""
}

func (x *RecognizeFileRequest) GetRecognitionModel() *RecognitionModelOptions {
	if x != nil {
		return x.RecognitionModel
	}
	return nil
}

func (x *RecognizeFileRequest) GetRecognitionClassifier() *RecognitionClassifierOptions {
	if x != nil {
		return x.RecognitionClassifier
	}
	return nil
}

func (x *RecognizeFileRequest) GetSpeechAnalysis() *SpeechAnalysisOptions {
	if x != nil {
		return x.SpeechAnalysis
	}
	return nil
}

func (x *RecognizeFileRequest) GetSpeakerLabeling() *SpeakerLabelingOptions {
	if x != nil {
		return x.SpeakerLabeling
	}
	return nil
}

type isRecognizeFileRequest_AudioSource interface {
	isRecognizeFileRequest_AudioSource()
}

type RecognizeFileRequest_Content struct {
	// Bytes with data
	Content []byte `protobuf:"bytes,1,opt,name=content,proto3,oneof"`
}

type RecognizeFileRequest_Uri struct {
	// S3 data url
	Uri string `protobuf:"bytes,2,opt,name=uri,proto3,oneof"`
}

func (*RecognizeFileRequest_Content) isRecognizeFileRequest_AudioSource() {}

func (*RecognizeFileRequest_Uri) isRecognizeFileRequest_AudioSource() {}

// Recognized word.
type Word struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Word text.
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// Estimation of word start time in ms.
	StartTimeMs int64 `protobuf:"varint,2,opt,name=start_time_ms,json=startTimeMs,proto3" json:"start_time_ms,omitempty"`
	// Estimation of word end time in ms.
	EndTimeMs int64 `protobuf:"varint,3,opt,name=end_time_ms,json=endTimeMs,proto3" json:"end_time_ms,omitempty"`
}

func (x *Word) Reset() {
	*x = Word{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Word) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Word) ProtoMessage() {}

func (x *Word) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Word.ProtoReflect.Descriptor instead.
func (*Word) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{19}
}

func (x *Word) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *Word) GetStartTimeMs() int64 {
	if x != nil {
		return x.StartTimeMs
	}
	return 0
}

func (x *Word) GetEndTimeMs() int64 {
	if x != nil {
		return x.EndTimeMs
	}
	return 0
}

// Estimation of language and its probability.
type LanguageEstimation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Language code in ISO 639-1 format.
	LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	// Estimation of language probability.
	Probability float64 `protobuf:"fixed64,2,opt,name=probability,proto3" json:"probability,omitempty"`
}

func (x *LanguageEstimation) Reset() {
	*x = LanguageEstimation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LanguageEstimation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LanguageEstimation) ProtoMessage() {}

func (x *LanguageEstimation) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LanguageEstimation.ProtoReflect.Descriptor instead.
func (*LanguageEstimation) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{20}
}

func (x *LanguageEstimation) GetLanguageCode() string {
	if x != nil {
		return x.LanguageCode
	}
	return ""
}

func (x *LanguageEstimation) GetProbability() float64 {
	if x != nil {
		return x.Probability
	}
	return 0
}

// Recognition of specific time frame.
type Alternative struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Words in time frame.
	Words []*Word `protobuf:"bytes,1,rep,name=words,proto3" json:"words,omitempty"`
	// Text in time frame.
	Text string `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"`
	// Start of time frame.
	StartTimeMs int64 `protobuf:"varint,3,opt,name=start_time_ms,json=startTimeMs,proto3" json:"start_time_ms,omitempty"`
	// End of time frame.
	EndTimeMs int64 `protobuf:"varint,4,opt,name=end_time_ms,json=endTimeMs,proto3" json:"end_time_ms,omitempty"`
	// The hypothesis confidence. Currently is not used.
	Confidence float64 `protobuf:"fixed64,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
	// Distribution over possible languages.
	Languages []*LanguageEstimation `protobuf:"bytes,6,rep,name=languages,proto3" json:"languages,omitempty"`
}

func (x *Alternative) Reset() {
	*x = Alternative{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Alternative) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Alternative) ProtoMessage() {}

func (x *Alternative) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Alternative.ProtoReflect.Descriptor instead.
func (*Alternative) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{21}
}

func (x *Alternative) GetWords() []*Word {
	if x != nil {
		return x.Words
	}
	return nil
}

func (x *Alternative) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *Alternative) GetStartTimeMs() int64 {
	if x != nil {
		return x.StartTimeMs
	}
	return 0
}

func (x *Alternative) GetEndTimeMs() int64 {
	if x != nil {
		return x.EndTimeMs
	}
	return 0
}

func (x *Alternative) GetConfidence() float64 {
	if x != nil {
		return x.Confidence
	}
	return 0
}

func (x *Alternative) GetLanguages() []*LanguageEstimation {
	if x != nil {
		return x.Languages
	}
	return nil
}

// Update information for external End of Utterance.
type EouUpdate struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// EOU estimated time.
	TimeMs int64 `protobuf:"varint,2,opt,name=time_ms,json=timeMs,proto3" json:"time_ms,omitempty"`
}

func (x *EouUpdate) Reset() {
	*x = EouUpdate{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EouUpdate) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EouUpdate) ProtoMessage() {}

func (x *EouUpdate) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EouUpdate.ProtoReflect.Descriptor instead.
func (*EouUpdate) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{22}
}

func (x *EouUpdate) GetTimeMs() int64 {
	if x != nil {
		return x.TimeMs
	}
	return 0
}

// Update of hypothesis.
type AlternativeUpdate struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// List of hypothesis for timeframes.
	Alternatives []*Alternative `protobuf:"bytes,1,rep,name=alternatives,proto3" json:"alternatives,omitempty"`
	// Deprecated: Marked as deprecated in yandex/cloud/ai/stt/v3/stt.proto.
	ChannelTag string `protobuf:"bytes,2,opt,name=channel_tag,json=channelTag,proto3" json:"channel_tag,omitempty"`
}

func (x *AlternativeUpdate) Reset() {
	*x = AlternativeUpdate{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AlternativeUpdate) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AlternativeUpdate) ProtoMessage() {}

func (x *AlternativeUpdate) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AlternativeUpdate.ProtoReflect.Descriptor instead.
func (*AlternativeUpdate) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{23}
}

func (x *AlternativeUpdate) GetAlternatives() []*Alternative {
	if x != nil {
		return x.Alternatives
	}
	return nil
}

// Deprecated: Marked as deprecated in yandex/cloud/ai/stt/v3/stt.proto.
func (x *AlternativeUpdate) GetChannelTag() string {
	if x != nil {
		return x.ChannelTag
	}
	return ""
}

// AudioCursors are state of ASR recognition stream.
type AudioCursors struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Amount of audio chunks server received. This cursor is moved after each audio chunk was received by server.
	ReceivedDataMs int64 `protobuf:"varint,1,opt,name=received_data_ms,json=receivedDataMs,proto3" json:"received_data_ms,omitempty"`
	// Input stream reset data.
	ResetTimeMs int64 `protobuf:"varint,2,opt,name=reset_time_ms,json=resetTimeMs,proto3" json:"reset_time_ms,omitempty"`
	// How much audio was processed. This time includes trimming silences as well. This cursor is moved after server received enough data
	// to update recognition results (includes silence as well).
	PartialTimeMs int64 `protobuf:"varint,3,opt,name=partial_time_ms,json=partialTimeMs,proto3" json:"partial_time_ms,omitempty"`
	// Time of last final. This cursor is moved when server decides that recognition from start of audio until final_time_ms will not change anymore
	// usually this even is followed by EOU detection (but this could change in future).
	FinalTimeMs int64 `protobuf:"varint,4,opt,name=final_time_ms,json=finalTimeMs,proto3" json:"final_time_ms,omitempty"`
	// This is index of last final server send. Incremented after each new final.
	FinalIndex int64 `protobuf:"varint,5,opt,name=final_index,json=finalIndex,proto3" json:"final_index,omitempty"`
	// Estimated time of EOU. Cursor is updated after each new EOU is sent.
	// For external classifier this equals to received_data_ms at the moment EOU event arrives.
	// For internal classifier this is estimation of time. The time is not exact and has the same guarantees as word timings.
	EouTimeMs int64 `protobuf:"varint,6,opt,name=eou_time_ms,json=eouTimeMs,proto3" json:"eou_time_ms,omitempty"`
}

func (x *AudioCursors) Reset() {
	*x = AudioCursors{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AudioCursors) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AudioCursors) ProtoMessage() {}

func (x *AudioCursors) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AudioCursors.ProtoReflect.Descriptor instead.
func (*AudioCursors) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{24}
}

func (x *AudioCursors) GetReceivedDataMs() int64 {
	if x != nil {
		return x.ReceivedDataMs
	}
	return 0
}

func (x *AudioCursors) GetResetTimeMs() int64 {
	if x != nil {
		return x.ResetTimeMs
	}
	return 0
}

func (x *AudioCursors) GetPartialTimeMs() int64 {
	if x != nil {
		return x.PartialTimeMs
	}
	return 0
}

func (x *AudioCursors) GetFinalTimeMs() int64 {
	if x != nil {
		return x.FinalTimeMs
	}
	return 0
}

func (x *AudioCursors) GetFinalIndex() int64 {
	if x != nil {
		return x.FinalIndex
	}
	return 0
}

func (x *AudioCursors) GetEouTimeMs() int64 {
	if x != nil {
		return x.EouTimeMs
	}
	return 0
}

// Refinement for final hypo. For example, text normalization is refinement.
type FinalRefinement struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Index of final for which server sends additional information.
	FinalIndex int64 `protobuf:"varint,1,opt,name=final_index,json=finalIndex,proto3" json:"final_index,omitempty"`
	// Type of refinement.
	//
	// Types that are assignable to Type:
	//
	//	*FinalRefinement_NormalizedText
	Type isFinalRefinement_Type `protobuf_oneof:"Type"`
}

func (x *FinalRefinement) Reset() {
	*x = FinalRefinement{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FinalRefinement) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FinalRefinement) ProtoMessage() {}

func (x *FinalRefinement) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FinalRefinement.ProtoReflect.Descriptor instead.
func (*FinalRefinement) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{25}
}

func (x *FinalRefinement) GetFinalIndex() int64 {
	if x != nil {
		return x.FinalIndex
	}
	return 0
}

func (m *FinalRefinement) GetType() isFinalRefinement_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *FinalRefinement) GetNormalizedText() *AlternativeUpdate {
	if x, ok := x.GetType().(*FinalRefinement_NormalizedText); ok {
		return x.NormalizedText
	}
	return nil
}

type isFinalRefinement_Type interface {
	isFinalRefinement_Type()
}

type FinalRefinement_NormalizedText struct {
	// Normalized text instead of raw one.
	NormalizedText *AlternativeUpdate `protobuf:"bytes,2,opt,name=normalized_text,json=normalizedText,proto3,oneof"`
}

func (*FinalRefinement_NormalizedText) isFinalRefinement_Type() {}

// Status message
type StatusCode struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Code type.
	CodeType CodeType `protobuf:"varint,1,opt,name=code_type,json=codeType,proto3,enum=speechkit.stt.v3.CodeType" json:"code_type,omitempty"`
	// Human readable message.
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
}

func (x *StatusCode) Reset() {
	*x = StatusCode{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StatusCode) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StatusCode) ProtoMessage() {}

func (x *StatusCode) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StatusCode.ProtoReflect.Descriptor instead.
func (*StatusCode) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{26}
}

func (x *StatusCode) GetCodeType() CodeType {
	if x != nil {
		return x.CodeType
	}
	return CodeType_CODE_TYPE_UNSPECIFIED
}

func (x *StatusCode) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// Session identifier.
type SessionUuid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Internal session identifier.
	Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	// User session identifier.
	UserRequestId string `protobuf:"bytes,2,opt,name=user_request_id,json=userRequestId,proto3" json:"user_request_id,omitempty"`
}

func (x *SessionUuid) Reset() {
	*x = SessionUuid{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SessionUuid) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionUuid) ProtoMessage() {}

func (x *SessionUuid) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[27]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionUuid.ProtoReflect.Descriptor instead.
func (*SessionUuid) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{27}
}

func (x *SessionUuid) GetUuid() string {
	if x != nil {
		return x.Uuid
	}
	return ""
}

func (x *SessionUuid) GetUserRequestId() string {
	if x != nil {
		return x.UserRequestId
	}
	return ""
}

type PhraseHighlight struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Text transcription of the highlighted audio segment
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// Start time of the highlighted audio segment
	StartTimeMs int64 `protobuf:"varint,2,opt,name=start_time_ms,json=startTimeMs,proto3" json:"start_time_ms,omitempty"`
	// End time of the highlighted audio segment
	EndTimeMs int64 `protobuf:"varint,3,opt,name=end_time_ms,json=endTimeMs,proto3" json:"end_time_ms,omitempty"`
}

func (x *PhraseHighlight) Reset() {
	*x = PhraseHighlight{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PhraseHighlight) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PhraseHighlight) ProtoMessage() {}

func (x *PhraseHighlight) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[28]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PhraseHighlight.ProtoReflect.Descriptor instead.
func (*PhraseHighlight) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{28}
}

func (x *PhraseHighlight) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *PhraseHighlight) GetStartTimeMs() int64 {
	if x != nil {
		return x.StartTimeMs
	}
	return 0
}

func (x *PhraseHighlight) GetEndTimeMs() int64 {
	if x != nil {
		return x.EndTimeMs
	}
	return 0
}

type RecognitionClassifierLabel struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The label of the class predicted by the classifier
	Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
	// The prediction confidence
	Confidence float64 `protobuf:"fixed64,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
}

func (x *RecognitionClassifierLabel) Reset() {
	*x = RecognitionClassifierLabel{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RecognitionClassifierLabel) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecognitionClassifierLabel) ProtoMessage() {}

func (x *RecognitionClassifierLabel) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[29]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecognitionClassifierLabel.ProtoReflect.Descriptor instead.
func (*RecognitionClassifierLabel) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{29}
}

func (x *RecognitionClassifierLabel) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

func (x *RecognitionClassifierLabel) GetConfidence() float64 {
	if x != nil {
		return x.Confidence
	}
	return 0
}

type RecognitionClassifierResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Name of the triggered classifier
	Classifier string `protobuf:"bytes,1,opt,name=classifier,proto3" json:"classifier,omitempty"`
	// List of highlights, i.e. parts of phrase that determine the result of the classification
	Highlights []*PhraseHighlight `protobuf:"bytes,2,rep,name=highlights,proto3" json:"highlights,omitempty"`
	// Classifier predictions
	Labels []*RecognitionClassifierLabel `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty"`
}

func (x *RecognitionClassifierResult) Reset() {
	*x = RecognitionClassifierResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RecognitionClassifierResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecognitionClassifierResult) ProtoMessage() {}

func (x *RecognitionClassifierResult) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[30]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecognitionClassifierResult.ProtoReflect.Descriptor instead.
func (*RecognitionClassifierResult) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{30}
}

func (x *RecognitionClassifierResult) GetClassifier() string {
	if x != nil {
		return x.Classifier
	}
	return ""
}

func (x *RecognitionClassifierResult) GetHighlights() []*PhraseHighlight {
	if x != nil {
		return x.Highlights
	}
	return nil
}

func (x *RecognitionClassifierResult) GetLabels() []*RecognitionClassifierLabel {
	if x != nil {
		return x.Labels
	}
	return nil
}

type RecognitionClassifierUpdate struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Response window type
	WindowType RecognitionClassifierUpdate_WindowType `protobuf:"varint,1,opt,name=window_type,json=windowType,proto3,enum=speechkit.stt.v3.RecognitionClassifierUpdate_WindowType" json:"window_type,omitempty"`
	// Start time of the audio segment used for classification
	StartTimeMs int64 `protobuf:"varint,2,opt,name=start_time_ms,json=startTimeMs,proto3" json:"start_time_ms,omitempty"`
	// End time of the audio segment used for classification
	EndTimeMs int64 `protobuf:"varint,3,opt,name=end_time_ms,json=endTimeMs,proto3" json:"end_time_ms,omitempty"`
	// Result for dictionary-based classifier
	ClassifierResult *RecognitionClassifierResult `protobuf:"bytes,4,opt,name=classifier_result,json=classifierResult,proto3" json:"classifier_result,omitempty"`
}

func (x *RecognitionClassifierUpdate) Reset() {
	*x = RecognitionClassifierUpdate{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RecognitionClassifierUpdate) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecognitionClassifierUpdate) ProtoMessage() {}

func (x *RecognitionClassifierUpdate) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[31]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecognitionClassifierUpdate.ProtoReflect.Descriptor instead.
func (*RecognitionClassifierUpdate) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{31}
}

func (x *RecognitionClassifierUpdate) GetWindowType() RecognitionClassifierUpdate_WindowType {
	if x != nil {
		return x.WindowType
	}
	return RecognitionClassifierUpdate_WINDOW_TYPE_UNSPECIFIED
}

func (x *RecognitionClassifierUpdate) GetStartTimeMs() int64 {
	if x != nil {
		return x.StartTimeMs
	}
	return 0
}

func (x *RecognitionClassifierUpdate) GetEndTimeMs() int64 {
	if x != nil {
		return x.EndTimeMs
	}
	return 0
}

func (x *RecognitionClassifierUpdate) GetClassifierResult() *RecognitionClassifierResult {
	if x != nil {
		return x.ClassifierResult
	}
	return nil
}

type DescriptiveStatistics struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Minimum observed value
	Min float64 `protobuf:"fixed64,1,opt,name=min,proto3" json:"min,omitempty"`
	// Maximum observed value
	Max float64 `protobuf:"fixed64,2,opt,name=max,proto3" json:"max,omitempty"`
	// Estimated mean of distribution
	Mean float64 `protobuf:"fixed64,3,opt,name=mean,proto3" json:"mean,omitempty"`
	// Estimated standard deviation of distribution
	Std float64 `protobuf:"fixed64,4,opt,name=std,proto3" json:"std,omitempty"`
	// List of evaluated quantiles
	Quantiles []*DescriptiveStatistics_Quantile `protobuf:"bytes,5,rep,name=quantiles,proto3" json:"quantiles,omitempty"`
}

func (x *DescriptiveStatistics) Reset() {
	*x = DescriptiveStatistics{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DescriptiveStatistics) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DescriptiveStatistics) ProtoMessage() {}

func (x *DescriptiveStatistics) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[32]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DescriptiveStatistics.ProtoReflect.Descriptor instead.
func (*DescriptiveStatistics) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{32}
}

func (x *DescriptiveStatistics) GetMin() float64 {
	if x != nil {
		return x.Min
	}
	return 0
}

func (x *DescriptiveStatistics) GetMax() float64 {
	if x != nil {
		return x.Max
	}
	return 0
}

func (x *DescriptiveStatistics) GetMean() float64 {
	if x != nil {
		return x.Mean
	}
	return 0
}

func (x *DescriptiveStatistics) GetStd() float64 {
	if x != nil {
		return x.Std
	}
	return 0
}

func (x *DescriptiveStatistics) GetQuantiles() []*DescriptiveStatistics_Quantile {
	if x != nil {
		return x.Quantiles
	}
	return nil
}

type AudioSegmentBoundaries struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Audio segment start time
	StartTimeMs int64 `protobuf:"varint,1,opt,name=start_time_ms,json=startTimeMs,proto3" json:"start_time_ms,omitempty"`
	// Audio segment end time
	EndTimeMs int64 `protobuf:"varint,2,opt,name=end_time_ms,json=endTimeMs,proto3" json:"end_time_ms,omitempty"`
}

func (x *AudioSegmentBoundaries) Reset() {
	*x = AudioSegmentBoundaries{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AudioSegmentBoundaries) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AudioSegmentBoundaries) ProtoMessage() {}

func (x *AudioSegmentBoundaries) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[33]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AudioSegmentBoundaries.ProtoReflect.Descriptor instead.
func (*AudioSegmentBoundaries) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{33}
}

func (x *AudioSegmentBoundaries) GetStartTimeMs() int64 {
	if x != nil {
		return x.StartTimeMs
	}
	return 0
}

func (x *AudioSegmentBoundaries) GetEndTimeMs() int64 {
	if x != nil {
		return x.EndTimeMs
	}
	return 0
}

type SpeakerAnalysis struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Speaker tag
	SpeakerTag string `protobuf:"bytes,1,opt,name=speaker_tag,json=speakerTag,proto3" json:"speaker_tag,omitempty"`
	// Response window type
	WindowType SpeakerAnalysis_WindowType `protobuf:"varint,2,opt,name=window_type,json=windowType,proto3,enum=speechkit.stt.v3.SpeakerAnalysis_WindowType" json:"window_type,omitempty"`
	// Audio segment boundaries
	SpeechBoundaries *AudioSegmentBoundaries `protobuf:"bytes,3,opt,name=speech_boundaries,json=speechBoundaries,proto3" json:"speech_boundaries,omitempty"`
	// Total speech duration
	TotalSpeechMs int64 `protobuf:"varint,4,opt,name=total_speech_ms,json=totalSpeechMs,proto3" json:"total_speech_ms,omitempty"`
	// Speech ratio within audio segment
	SpeechRatio float64 `protobuf:"fixed64,5,opt,name=speech_ratio,json=speechRatio,proto3" json:"speech_ratio,omitempty"`
	// Total silence duration
	TotalSilenceMs int64 `protobuf:"varint,6,opt,name=total_silence_ms,json=totalSilenceMs,proto3" json:"total_silence_ms,omitempty"`
	// Silence ratio within audio segment
	SilenceRatio float64 `protobuf:"fixed64,7,opt,name=silence_ratio,json=silenceRatio,proto3" json:"silence_ratio,omitempty"`
	// Number of words in recognized speech
	WordsCount int64 `protobuf:"varint,8,opt,name=words_count,json=wordsCount,proto3" json:"words_count,omitempty"`
	// Number of letters in recognized speech
	LettersCount int64 `protobuf:"varint,9,opt,name=letters_count,json=lettersCount,proto3" json:"letters_count,omitempty"`
	// Descriptive statistics for words per second distribution
	WordsPerSecond *DescriptiveStatistics `protobuf:"bytes,10,opt,name=words_per_second,json=wordsPerSecond,proto3" json:"words_per_second,omitempty"`
	// Descriptive statistics for letters per second distribution
	LettersPerSecond *DescriptiveStatistics `protobuf:"bytes,11,opt,name=letters_per_second,json=lettersPerSecond,proto3" json:"letters_per_second,omitempty"`
	// Descriptive statistics for words per utterance distribution
	WordsPerUtterance *DescriptiveStatistics `protobuf:"bytes,12,opt,name=words_per_utterance,json=wordsPerUtterance,proto3" json:"words_per_utterance,omitempty"`
	// Descriptive statistics for letters per utterance distribution
	LettersPerUtterance *DescriptiveStatistics `protobuf:"bytes,13,opt,name=letters_per_utterance,json=lettersPerUtterance,proto3" json:"letters_per_utterance,omitempty"`
	// Number of utterances
	UtteranceCount int64 `protobuf:"varint,14,opt,name=utterance_count,json=utteranceCount,proto3" json:"utterance_count,omitempty"`
	// Descriptive statistics for utterance duration distribution
	UtteranceDurationEstimation *DescriptiveStatistics `protobuf:"bytes,15,opt,name=utterance_duration_estimation,json=utteranceDurationEstimation,proto3" json:"utterance_duration_estimation,omitempty"`
}

func (x *SpeakerAnalysis) Reset() {
	*x = SpeakerAnalysis{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SpeakerAnalysis) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpeakerAnalysis) ProtoMessage() {}

func (x *SpeakerAnalysis) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[34]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SpeakerAnalysis.ProtoReflect.Descriptor instead.
func (*SpeakerAnalysis) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{34}
}

func (x *SpeakerAnalysis) GetSpeakerTag() string {
	if x != nil {
		return x.SpeakerTag
	}
	return ""
}

func (x *SpeakerAnalysis) GetWindowType() SpeakerAnalysis_WindowType {
	if x != nil {
		return x.WindowType
	}
	return SpeakerAnalysis_WINDOW_TYPE_UNSPECIFIED
}

func (x *SpeakerAnalysis) GetSpeechBoundaries() *AudioSegmentBoundaries {
	if x != nil {
		return x.SpeechBoundaries
	}
	return nil
}

func (x *SpeakerAnalysis) GetTotalSpeechMs() int64 {
	if x != nil {
		return x.TotalSpeechMs
	}
	return 0
}

func (x *SpeakerAnalysis) GetSpeechRatio() float64 {
	if x != nil {
		return x.SpeechRatio
	}
	return 0
}

func (x *SpeakerAnalysis) GetTotalSilenceMs() int64 {
	if x != nil {
		return x.TotalSilenceMs
	}
	return 0
}

func (x *SpeakerAnalysis) GetSilenceRatio() float64 {
	if x != nil {
		return x.SilenceRatio
	}
	return 0
}

func (x *SpeakerAnalysis) GetWordsCount() int64 {
	if x != nil {
		return x.WordsCount
	}
	return 0
}

func (x *SpeakerAnalysis) GetLettersCount() int64 {
	if x != nil {
		return x.LettersCount
	}
	return 0
}

func (x *SpeakerAnalysis) GetWordsPerSecond() *DescriptiveStatistics {
	if x != nil {
		return x.WordsPerSecond
	}
	return nil
}

func (x *SpeakerAnalysis) GetLettersPerSecond() *DescriptiveStatistics {
	if x != nil {
		return x.LettersPerSecond
	}
	return nil
}

func (x *SpeakerAnalysis) GetWordsPerUtterance() *DescriptiveStatistics {
	if x != nil {
		return x.WordsPerUtterance
	}
	return nil
}

func (x *SpeakerAnalysis) GetLettersPerUtterance() *DescriptiveStatistics {
	if x != nil {
		return x.LettersPerUtterance
	}
	return nil
}

func (x *SpeakerAnalysis) GetUtteranceCount() int64 {
	if x != nil {
		return x.UtteranceCount
	}
	return 0
}

func (x *SpeakerAnalysis) GetUtteranceDurationEstimation() *DescriptiveStatistics {
	if x != nil {
		return x.UtteranceDurationEstimation
	}
	return nil
}

type ConversationAnalysis struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Audio segment boundaries
	ConversationBoundaries *AudioSegmentBoundaries `protobuf:"bytes,1,opt,name=conversation_boundaries,json=conversationBoundaries,proto3" json:"conversation_boundaries,omitempty"`
	// Total simultaneous silence duration
	TotalSimultaneousSilenceDurationMs int64 `protobuf:"varint,2,opt,name=total_simultaneous_silence_duration_ms,json=totalSimultaneousSilenceDurationMs,proto3" json:"total_simultaneous_silence_duration_ms,omitempty"`
	// Simultaneous silence ratio within audio segment
	TotalSimultaneousSilenceRatio float64 `protobuf:"fixed64,3,opt,name=total_simultaneous_silence_ratio,json=totalSimultaneousSilenceRatio,proto3" json:"total_simultaneous_silence_ratio,omitempty"`
	// Descriptive statistics for simultaneous silence duration distribution
	SimultaneousSilenceDurationEstimation *DescriptiveStatistics `protobuf:"bytes,4,opt,name=simultaneous_silence_duration_estimation,json=simultaneousSilenceDurationEstimation,proto3" json:"simultaneous_silence_duration_estimation,omitempty"`
	// Total simultaneous speech duration
	TotalSimultaneousSpeechDurationMs int64 `protobuf:"varint,5,opt,name=total_simultaneous_speech_duration_ms,json=totalSimultaneousSpeechDurationMs,proto3" json:"total_simultaneous_speech_duration_ms,omitempty"`
	// Simultaneous speech ratio within audio segment
	TotalSimultaneousSpeechRatio float64 `protobuf:"fixed64,6,opt,name=total_simultaneous_speech_ratio,json=totalSimultaneousSpeechRatio,proto3" json:"total_simultaneous_speech_ratio,omitempty"`
	// Descriptive statistics for simultaneous speech duration distribution
	SimultaneousSpeechDurationEstimation *DescriptiveStatistics `protobuf:"bytes,7,opt,name=simultaneous_speech_duration_estimation,json=simultaneousSpeechDurationEstimation,proto3" json:"simultaneous_speech_duration_estimation,omitempty"`
	// Interrupts description for every speaker
	SpeakerInterrupts []*ConversationAnalysis_InterruptsEvaluation `protobuf:"bytes,8,rep,name=speaker_interrupts,json=speakerInterrupts,proto3" json:"speaker_interrupts,omitempty"`
	// Total speech duration, including both simultaneous and separate speech
	TotalSpeechDurationMs int64 `protobuf:"varint,9,opt,name=total_speech_duration_ms,json=totalSpeechDurationMs,proto3" json:"total_speech_duration_ms,omitempty"`
	// Total speech ratio within audio segment
	TotalSpeechRatio float64 `protobuf:"fixed64,10,opt,name=total_speech_ratio,json=totalSpeechRatio,proto3" json:"total_speech_ratio,omitempty"`
}

func (x *ConversationAnalysis) Reset() {
	*x = ConversationAnalysis{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConversationAnalysis) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConversationAnalysis) ProtoMessage() {}

func (x *ConversationAnalysis) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[35]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ConversationAnalysis.ProtoReflect.Descriptor instead.
func (*ConversationAnalysis) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{35}
}

func (x *ConversationAnalysis) GetConversationBoundaries() *AudioSegmentBoundaries {
	if x != nil {
		return x.ConversationBoundaries
	}
	return nil
}

func (x *ConversationAnalysis) GetTotalSimultaneousSilenceDurationMs() int64 {
	if x != nil {
		return x.TotalSimultaneousSilenceDurationMs
	}
	return 0
}

func (x *ConversationAnalysis) GetTotalSimultaneousSilenceRatio() float64 {
	if x != nil {
		return x.TotalSimultaneousSilenceRatio
	}
	return 0
}

func (x *ConversationAnalysis) GetSimultaneousSilenceDurationEstimation() *DescriptiveStatistics {
	if x != nil {
		return x.SimultaneousSilenceDurationEstimation
	}
	return nil
}

func (x *ConversationAnalysis) GetTotalSimultaneousSpeechDurationMs() int64 {
	if x != nil {
		return x.TotalSimultaneousSpeechDurationMs
	}
	return 0
}

func (x *ConversationAnalysis) GetTotalSimultaneousSpeechRatio() float64 {
	if x != nil {
		return x.TotalSimultaneousSpeechRatio
	}
	return 0
}

func (x *ConversationAnalysis) GetSimultaneousSpeechDurationEstimation() *DescriptiveStatistics {
	if x != nil {
		return x.SimultaneousSpeechDurationEstimation
	}
	return nil
}

func (x *ConversationAnalysis) GetSpeakerInterrupts() []*ConversationAnalysis_InterruptsEvaluation {
	if x != nil {
		return x.SpeakerInterrupts
	}
	return nil
}

func (x *ConversationAnalysis) GetTotalSpeechDurationMs() int64 {
	if x != nil {
		return x.TotalSpeechDurationMs
	}
	return 0
}

func (x *ConversationAnalysis) GetTotalSpeechRatio() float64 {
	if x != nil {
		return x.TotalSpeechRatio
	}
	return 0
}

// Responses from server.
// Each response contains session uuid
// AudioCursors
// plus specific event
type StreamingResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Session identifier
	SessionUuid *SessionUuid `protobuf:"bytes,1,opt,name=session_uuid,json=sessionUuid,proto3" json:"session_uuid,omitempty"`
	// Progress bar for stream session recognition: how many data we obtained; final and partial times; etc.
	AudioCursors *AudioCursors `protobuf:"bytes,2,opt,name=audio_cursors,json=audioCursors,proto3" json:"audio_cursors,omitempty"`
	// Wall clock on server side. This is time when server wrote results to stream
	ResponseWallTimeMs int64 `protobuf:"varint,3,opt,name=response_wall_time_ms,json=responseWallTimeMs,proto3" json:"response_wall_time_ms,omitempty"`
	// Types that are assignable to Event:
	//
	//	*StreamingResponse_Partial
	//	*StreamingResponse_Final
	//	*StreamingResponse_EouUpdate
	//	*StreamingResponse_FinalRefinement
	//	*StreamingResponse_StatusCode
	//	*StreamingResponse_ClassifierUpdate
	//	*StreamingResponse_SpeakerAnalysis
	//	*StreamingResponse_ConversationAnalysis
	Event isStreamingResponse_Event `protobuf_oneof:"Event"`
	// Tag for distinguish audio channels.
	ChannelTag string `protobuf:"bytes,9,opt,name=channel_tag,json=channelTag,proto3" json:"channel_tag,omitempty"`
}

func (x *StreamingResponse) Reset() {
	*x = StreamingResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StreamingResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamingResponse) ProtoMessage() {}

func (x *StreamingResponse) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[36]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamingResponse.ProtoReflect.Descriptor instead.
func (*StreamingResponse) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{36}
}

func (x *StreamingResponse) GetSessionUuid() *SessionUuid {
	if x != nil {
		return x.SessionUuid
	}
	return nil
}

func (x *StreamingResponse) GetAudioCursors() *AudioCursors {
	if x != nil {
		return x.AudioCursors
	}
	return nil
}

func (x *StreamingResponse) GetResponseWallTimeMs() int64 {
	if x != nil {
		return x.ResponseWallTimeMs
	}
	return 0
}

func (m *StreamingResponse) GetEvent() isStreamingResponse_Event {
	if m != nil {
		return m.Event
	}
	return nil
}

func (x *StreamingResponse) GetPartial() *AlternativeUpdate {
	if x, ok := x.GetEvent().(*StreamingResponse_Partial); ok {
		return x.Partial
	}
	return nil
}

func (x *StreamingResponse) GetFinal() *AlternativeUpdate {
	if x, ok := x.GetEvent().(*StreamingResponse_Final); ok {
		return x.Final
	}
	return nil
}

func (x *StreamingResponse) GetEouUpdate() *EouUpdate {
	if x, ok := x.GetEvent().(*StreamingResponse_EouUpdate); ok {
		return x.EouUpdate
	}
	return nil
}

func (x *StreamingResponse) GetFinalRefinement() *FinalRefinement {
	if x, ok := x.GetEvent().(*StreamingResponse_FinalRefinement); ok {
		return x.FinalRefinement
	}
	return nil
}

func (x *StreamingResponse) GetStatusCode() *StatusCode {
	if x, ok := x.GetEvent().(*StreamingResponse_StatusCode); ok {
		return x.StatusCode
	}
	return nil
}

func (x *StreamingResponse) GetClassifierUpdate() *RecognitionClassifierUpdate {
	if x, ok := x.GetEvent().(*StreamingResponse_ClassifierUpdate); ok {
		return x.ClassifierUpdate
	}
	return nil
}

func (x *StreamingResponse) GetSpeakerAnalysis() *SpeakerAnalysis {
	if x, ok := x.GetEvent().(*StreamingResponse_SpeakerAnalysis); ok {
		return x.SpeakerAnalysis
	}
	return nil
}

func (x *StreamingResponse) GetConversationAnalysis() *ConversationAnalysis {
	if x, ok := x.GetEvent().(*StreamingResponse_ConversationAnalysis); ok {
		return x.ConversationAnalysis
	}
	return nil
}

func (x *StreamingResponse) GetChannelTag() string {
	if x != nil {
		return x.ChannelTag
	}
	return ""
}

type isStreamingResponse_Event interface {
	isStreamingResponse_Event()
}

type StreamingResponse_Partial struct {
	// Partial results, server will send them regularly after enough audio data was received from user. This are current text estimation
	// from final_time_ms to partial_time_ms. Could change after new data will arrive.
	Partial *AlternativeUpdate `protobuf:"bytes,4,opt,name=partial,proto3,oneof"`
}

type StreamingResponse_Final struct {
	// Final results, the recognition is now fixed until final_time_ms. For now, final is sent only if the EOU event was triggered. This could be change in future releases.
	Final *AlternativeUpdate `protobuf:"bytes,5,opt,name=final,proto3,oneof"`
}

type StreamingResponse_EouUpdate struct {
	// After EOU classifier, send the message with final, send the EouUpdate with time of EOU
	// before eou_update we send final with the same time. there could be several finals before eou update.
	EouUpdate *EouUpdate `protobuf:"bytes,6,opt,name=eou_update,json=eouUpdate,proto3,oneof"`
}

type StreamingResponse_FinalRefinement struct {
	// For each final, if normalization is enabled, sent the normalized text (or some other advanced post-processing).
	// Final normalization will introduce additional latency.
	FinalRefinement *FinalRefinement `protobuf:"bytes,7,opt,name=final_refinement,json=finalRefinement,proto3,oneof"`
}

type StreamingResponse_StatusCode struct {
	// Status messages, send by server with fixed interval (keep-alive).
	StatusCode *StatusCode `protobuf:"bytes,8,opt,name=status_code,json=statusCode,proto3,oneof"`
}

type StreamingResponse_ClassifierUpdate struct {
	// Result of the triggered classifier
	ClassifierUpdate *RecognitionClassifierUpdate `protobuf:"bytes,10,opt,name=classifier_update,json=classifierUpdate,proto3,oneof"`
}

type StreamingResponse_SpeakerAnalysis struct {
	// Speech statistics for every speaker
	SpeakerAnalysis *SpeakerAnalysis `protobuf:"bytes,11,opt,name=speaker_analysis,json=speakerAnalysis,proto3,oneof"`
}

type StreamingResponse_ConversationAnalysis struct {
	// Conversation statistics
	ConversationAnalysis *ConversationAnalysis `protobuf:"bytes,12,opt,name=conversation_analysis,json=conversationAnalysis,proto3,oneof"`
}

func (*StreamingResponse_Partial) isStreamingResponse_Event() {}

func (*StreamingResponse_Final) isStreamingResponse_Event() {}

func (*StreamingResponse_EouUpdate) isStreamingResponse_Event() {}

func (*StreamingResponse_FinalRefinement) isStreamingResponse_Event() {}

func (*StreamingResponse_StatusCode) isStreamingResponse_Event() {}

func (*StreamingResponse_ClassifierUpdate) isStreamingResponse_Event() {}

func (*StreamingResponse_SpeakerAnalysis) isStreamingResponse_Event() {}

func (*StreamingResponse_ConversationAnalysis) isStreamingResponse_Event() {}

type DeleteRecognitionRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
}

func (x *DeleteRecognitionRequest) Reset() {
	*x = DeleteRecognitionRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteRecognitionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteRecognitionRequest) ProtoMessage() {}

func (x *DeleteRecognitionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[37]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteRecognitionRequest.ProtoReflect.Descriptor instead.
func (*DeleteRecognitionRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{37}
}

func (x *DeleteRecognitionRequest) GetOperationId() string {
	if x != nil {
		return x.OperationId
	}
	return ""
}

type DescriptiveStatistics_Quantile struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Quantile level in range (0, 1)
	Level float64 `protobuf:"fixed64,1,opt,name=level,proto3" json:"level,omitempty"`
	// Quantile value
	Value float64 `protobuf:"fixed64,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *DescriptiveStatistics_Quantile) Reset() {
	*x = DescriptiveStatistics_Quantile{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DescriptiveStatistics_Quantile) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DescriptiveStatistics_Quantile) ProtoMessage() {}

func (x *DescriptiveStatistics_Quantile) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[38]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DescriptiveStatistics_Quantile.ProtoReflect.Descriptor instead.
func (*DescriptiveStatistics_Quantile) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{32, 0}
}

func (x *DescriptiveStatistics_Quantile) GetLevel() float64 {
	if x != nil {
		return x.Level
	}
	return 0
}

func (x *DescriptiveStatistics_Quantile) GetValue() float64 {
	if x != nil {
		return x.Value
	}
	return 0
}

type ConversationAnalysis_InterruptsEvaluation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Speaker tag
	SpeakerTag string `protobuf:"bytes,1,opt,name=speaker_tag,json=speakerTag,proto3" json:"speaker_tag,omitempty"`
	// Number of interrupts made by the speaker
	InterruptsCount int64 `protobuf:"varint,2,opt,name=interrupts_count,json=interruptsCount,proto3" json:"interrupts_count,omitempty"`
	// Total duration of all interrupts
	InterruptsDurationMs int64 `protobuf:"varint,3,opt,name=interrupts_duration_ms,json=interruptsDurationMs,proto3" json:"interrupts_duration_ms,omitempty"`
	// Boundaries for every interrupt
	Interrupts []*AudioSegmentBoundaries `protobuf:"bytes,4,rep,name=interrupts,proto3" json:"interrupts,omitempty"`
}

func (x *ConversationAnalysis_InterruptsEvaluation) Reset() {
	*x = ConversationAnalysis_InterruptsEvaluation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConversationAnalysis_InterruptsEvaluation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConversationAnalysis_InterruptsEvaluation) ProtoMessage() {}

func (x *ConversationAnalysis_InterruptsEvaluation) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[39]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ConversationAnalysis_InterruptsEvaluation.ProtoReflect.Descriptor instead.
func (*ConversationAnalysis_InterruptsEvaluation) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP(), []int{35, 0}
}

func (x *ConversationAnalysis_InterruptsEvaluation) GetSpeakerTag() string {
	if x != nil {
		return x.SpeakerTag
	}
	return ""
}

func (x *ConversationAnalysis_InterruptsEvaluation) GetInterruptsCount() int64 {
	if x != nil {
		return x.InterruptsCount
	}
	return 0
}

func (x *ConversationAnalysis_InterruptsEvaluation) GetInterruptsDurationMs() int64 {
	if x != nil {
		return x.InterruptsDurationMs
	}
	return 0
}

func (x *ConversationAnalysis_InterruptsEvaluation) GetInterrupts() []*AudioSegmentBoundaries {
	if x != nil {
		return x.Interrupts
	}
	return nil
}

var File_yandex_cloud_ai_stt_v3_stt_proto protoreflect.FileDescriptor

var file_yandex_cloud_ai_stt_v3_stt_proto_rawDesc = []byte{
	0x0a, 0x20, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
	0x69, 0x2f, 0x73, 0x74, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x74, 0x74, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x12, 0x10, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74,
	0x74, 0x2e, 0x76, 0x33, 0x22, 0xab, 0x04, 0x0a, 0x18, 0x54, 0x65, 0x78, 0x74, 0x4e, 0x6f, 0x72,
	0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x12, 0x6b, 0x0a, 0x12, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e,
	0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33,
	0x2e, 0x54, 0x65, 0x78, 0x74, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x4e, 0x6f,
	0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x74, 0x65, 0x78,
	0x74, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29,
	0x0a, 0x10, 0x70, 0x72, 0x6f, 0x66, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x61, 0x6e,
	0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x69, 0x74,
	0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0e, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65,
	0x78, 0x74, 0x12, 0x72, 0x0a, 0x15, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d,
	0x61, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x3e, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74,
	0x74, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69,
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x68,
	0x6f, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64,
	0x65, 0x52, 0x13, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x69,
	0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x78, 0x0a, 0x11, 0x54, 0x65, 0x78, 0x74, 0x4e, 0x6f,
	0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x1e, 0x54,
	0x45, 0x58, 0x54, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f,
	0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
	0x1e, 0x0a, 0x1a, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a,
	0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12,
	0x1f, 0x0a, 0x1b, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a,
	0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02,
	0x22, 0x60, 0x0a, 0x13, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74,
	0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x48, 0x4f, 0x4e, 0x45,
	0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45,
	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22,
	0x0a, 0x1e, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x54, 0x49,
	0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44,
	0x10, 0x01, 0x22, 0xf0, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6f,
	0x75, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x04, 0x74,
	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x70, 0x65, 0x65,
	0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x66,
	0x61, 0x75, 0x6c, 0x74, 0x45, 0x6f, 0x75, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65,
	0x72, 0x2e, 0x45, 0x6f, 0x75, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x1f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61,
	0x75, 0x73, 0x65, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x77, 0x6f, 0x72, 0x64,
	0x73, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x1a, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x75, 0x73, 0x65, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e,
	0x57, 0x6f, 0x72, 0x64, 0x73, 0x48, 0x69, 0x6e, 0x74, 0x4d, 0x73, 0x22, 0x48, 0x0a, 0x0e, 0x45,
	0x6f, 0x75, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a,
	0x1b, 0x45, 0x4f, 0x55, 0x5f, 0x53, 0x45, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59,
	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b,
	0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48,
	0x49, 0x47, 0x48, 0x10, 0x02, 0x22, 0x17, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x6c, 0x45, 0x6f, 0x75, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xd9,
	0x01, 0x0a, 0x14, 0x45, 0x6f, 0x75, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72,
	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75,
	0x6c, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e,
	0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6f,
	0x75, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x11, 0x64,
	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72,
	0x12, 0x5a, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x61,
	0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
	0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33,
	0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6f, 0x75, 0x43, 0x6c, 0x61, 0x73,
	0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e,
	0x61, 0x6c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a,
	0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xe9, 0x01, 0x0a, 0x15, 0x52,
	0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,
	0x66, 0x69, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69,
	0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69,
	0x66, 0x69, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b,
	0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e,
	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x74, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x73, 0x22, 0x5f, 0x0a, 0x0b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x18, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x5f,
	0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x4e, 0x5f, 0x55, 0x54, 0x54,
	0x45, 0x52, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x4e, 0x5f, 0x46,
	0x49, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52,
	0x54, 0x49, 0x41, 0x4c, 0x10, 0x03, 0x22, 0x69, 0x0a, 0x1c, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69,
	0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70,
	0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52,
	0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,
	0x66, 0x69, 0x65, 0x72, 0x52, 0x0b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72,
	0x73, 0x22, 0xdb, 0x01, 0x0a, 0x15, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x41, 0x6e, 0x61, 0x6c,
	0x79, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x65,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x6e,
	0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x6e, 0x61, 0x6c, 0x79,
	0x73, 0x69, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f,
	0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79,
	0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x61,
	0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x48, 0x0a, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x5f,
	0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x01, 0x52,
	0x1e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74,
	0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x22,
	0xfa, 0x01, 0x0a, 0x08, 0x52, 0x61, 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x4f, 0x0a, 0x0e,
	0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74,
	0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f,
	0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0d,
	0x61, 0x75, 0x64, 0x69, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a,
	0x11, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x72,
	0x74, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
	0x52, 0x61, 0x74, 0x65, 0x48, 0x65, 0x72, 0x74, 0x7a, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x75, 0x64,
	0x69, 0x6f, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x41, 0x0a, 0x0d, 0x41, 0x75, 0x64,
	0x69, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x55,
	0x44, 0x49, 0x4f, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53,
	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x49,
	0x4e, 0x45, 0x41, 0x52, 0x31, 0x36, 0x5f, 0x50, 0x43, 0x4d, 0x10, 0x01, 0x22, 0xd3, 0x01, 0x0a,
	0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12,
	0x65, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x75, 0x64,
	0x69, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e,
	0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33,
	0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x2e,
	0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x54, 0x79,
	0x70, 0x65, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x75, 0x64,
	0x69, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5a, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
	0x6e, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20,
	0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f,
	0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x57, 0x41, 0x56, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f,
	0x47, 0x47, 0x5f, 0x4f, 0x50, 0x55, 0x53, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x50, 0x33,
	0x10, 0x03, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x6f, 0x72, 0x6d,
	0x61, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x61, 0x77,
	0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73,
	0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e,
	0x52, 0x61, 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x72, 0x61, 0x77, 0x41,
	0x75, 0x64, 0x69, 0x6f, 0x12, 0x4b, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
	0x72, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
	0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33,
	0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x48,
	0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69,
	0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74,
	0x22, 0x96, 0x02, 0x0a, 0x1a, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73,
	0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
	0x6f, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x73, 0x70, 0x65, 0x65,
	0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x61, 0x6e,
	0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
	0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52,
	0x0f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64,
	0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
	0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x62, 0x0a, 0x17, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
	0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x29, 0x0a, 0x25, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x53,
	0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e,
	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x57,
	0x48, 0x49, 0x54, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c,
	0x41, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x22, 0x83, 0x04, 0x0a, 0x17, 0x52, 0x65,
	0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x47, 0x0a, 0x0c, 0x61,
	0x75, 0x64, 0x69, 0x6f, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x24, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74,
	0x74, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74,
	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x6f,
	0x72, 0x6d, 0x61, 0x74, 0x12, 0x59, 0x0a, 0x12, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x6f, 0x72,
	0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2a, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74,
	0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x11, 0x74, 0x65,
	0x78, 0x74, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x5f, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74,
	0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
	0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33,
	0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x6c, 0x61, 0x6e,
	0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x71, 0x0a, 0x15, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
	0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x3d, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e,
	0x76, 0x33, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f,
	0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f,
	0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13,
	0x61, 0x75, 0x64, 0x69, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54,
	0x79, 0x70, 0x65, 0x22, 0x5a, 0x0a, 0x13, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x50, 0x72, 0x6f, 0x63,
	0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x55,
	0x44, 0x49, 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x54,
	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
	0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x4c, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01,
	0x12, 0x0d, 0x0a, 0x09, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, 0x22,
	0xef, 0x01, 0x0a, 0x16, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c,
	0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x63, 0x0a, 0x10, 0x73, 0x70,
	0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74,
	0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4c,
	0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53,
	0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x0f,
	0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x22,
	0x70, 0x0a, 0x0f, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69,
	0x6e, 0x67, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x50, 0x45, 0x41, 0x4b, 0x45, 0x52, 0x5f, 0x4c, 0x41,
	0x42, 0x45, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
	0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x50, 0x45, 0x41, 0x4b, 0x45, 0x52, 0x5f,
	0x4c, 0x41, 0x42, 0x45, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44,
	0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x50, 0x45, 0x41, 0x4b, 0x45, 0x52, 0x5f, 0x4c, 0x41,
	0x42, 0x45, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10,
	0x02, 0x22, 0xc7, 0x03, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x56, 0x0a, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x29, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74,
	0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x72, 0x65,
	0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x4d,
	0x0a, 0x0e, 0x65, 0x6f, 0x75, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b,
	0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6f, 0x75, 0x43, 0x6c, 0x61,
	0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d,
	0x65, 0x6f, 0x75, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x65, 0x0a,
	0x16, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x61,
	0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
	0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33,
	0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73,
	0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x15, 0x72,
	0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,
	0x66, 0x69, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x61,
	0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
	0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33,
	0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x41, 0x6e,
	0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65,
	0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x28, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74,
	0x2e, 0x76, 0x33, 0x2e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c,
	0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x61,
	0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x0a, 0x0a, 0x41,
	0x75, 0x64, 0x69, 0x6f, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74,
	0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a,
	0x0c, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x1f, 0x0a,
	0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x0a, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x22, 0x05,
	0x0a, 0x03, 0x45, 0x6f, 0x75, 0x22, 0x92, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
	0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0f, 0x73, 0x65,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e,
	0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67,
	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x73, 0x73, 0x69,
	0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x68, 0x75,
	0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63,
	0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x64, 0x69,
	0x6f, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x12,
	0x45, 0x0a, 0x0d, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b,
	0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63,
	0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63,
	0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x29, 0x0a, 0x03, 0x65, 0x6f, 0x75, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e,
	0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6f, 0x75, 0x48, 0x00, 0x52, 0x03, 0x65, 0x6f,
	0x75, 0x42, 0x07, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xbb, 0x03, 0x0a, 0x14, 0x52,
	0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12,
	0x12, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03,
	0x75, 0x72, 0x69, 0x12, 0x56, 0x0a, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
	0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76,
	0x33, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x67,
	0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x65, 0x0a, 0x16, 0x72,
	0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
	0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x70,
	0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52,
	0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,
	0x66, 0x69, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x15, 0x72, 0x65, 0x63,
	0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69,
	0x65, 0x72, 0x12, 0x50, 0x0a, 0x0f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x61, 0x6e, 0x61,
	0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70,
	0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53,
	0x70, 0x65, 0x65, 0x63, 0x68, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x41, 0x6e, 0x61, 0x6c,
	0x79, 0x73, 0x69, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f,
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
	0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76,
	0x33, 0x2e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e,
	0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65,
	0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x41, 0x75, 0x64,
	0x69, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x04, 0x57, 0x6f, 0x72, 0x64,
	0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x74, 0x65, 0x78, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69,
	0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65,
	0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x5b, 0x0a, 0x12, 0x4c, 0x61, 0x6e, 0x67,
	0x75, 0x61, 0x67, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23,
	0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43,
	0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69,
	0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62,
	0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xf7, 0x01, 0x0a, 0x0b, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74,
	0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x05, 0x77, 0x6f,
	0x72, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x65,
	0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x09, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x6c,
	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76,
	0x33, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22,
	0x24, 0x0a, 0x09, 0x45, 0x6f, 0x75, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07,
	0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74,
	0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x7b, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x61, 0x6c,
	0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1d, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74,
	0x2e, 0x76, 0x33, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52,
	0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x23, 0x0a,
	0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54,
	0x61, 0x67, 0x22, 0xe9, 0x01, 0x0a, 0x0c, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x75, 0x72, 0x73,
	0x6f, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f,
	0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x72,
	0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x73, 0x12, 0x22, 0x0a,
	0x0d, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d,
	0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d,
	0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74,
	0x69, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x69, 0x6e,
	0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x1f, 0x0a,
	0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1e,
	0x0a, 0x0b, 0x65, 0x6f, 0x75, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x6f, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x8a,
	0x01, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65,
	0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x49, 0x6e,
	0x64, 0x65, 0x78, 0x12, 0x4e, 0x0a, 0x0f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65,
	0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73,
	0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e,
	0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54,
	0x65, 0x78, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5f, 0x0a, 0x0a, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x63, 0x6f, 0x64,
	0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73,
	0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e,
	0x43, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x49, 0x0a, 0x0b,
	0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75,
	0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12,
	0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x0f, 0x50, 0x68, 0x72, 0x61, 0x73,
	0x65, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65,
	0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x22,
	0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
	0x4d, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d,
	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
	0x4d, 0x73, 0x22, 0x52, 0x0a, 0x1a, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c,
	0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
	0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x63, 0x6f, 0x67,
	0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72,
	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69,
	0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x61, 0x73,
	0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0a, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69,
	0x67, 0x68, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x65,
	0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x68,
	0x72, 0x61, 0x73, 0x65, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x52, 0x0a, 0x68,
	0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x6c, 0x61, 0x62,
	0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x65, 0x65,
	0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x63,
	0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69,
	0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22,
	0xfd, 0x02, 0x0a, 0x1b, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43,
	0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12,
	0x59, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74,
	0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a,
	0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74,
	0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x1e,
	0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x5a,
	0x0a, 0x11, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x65, 0x65,
	0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x63,
	0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69,
	0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x10, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69,
	0x66, 0x69, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x63, 0x0a, 0x0a, 0x57, 0x69,
	0x6e, 0x64, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x17, 0x57, 0x49, 0x4e, 0x44,
	0x4f, 0x57, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
	0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x53,
	0x54, 0x5f, 0x55, 0x54, 0x54, 0x45, 0x52, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a,
	0x0a, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a,
	0x0c, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x03, 0x22,
	0xe9, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x76, 0x65, 0x53,
	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d,
	0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x12, 0x0a,
	0x04, 0x6d, 0x65, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6d, 0x65, 0x61,
	0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03,
	0x73, 0x74, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73,
	0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b,
	0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
	0x70, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e,
	0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x52, 0x09, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69,
	0x6c, 0x65, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12,
	0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05,
	0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5c, 0x0a, 0x16, 0x41,
	0x75, 0x64, 0x69, 0x6f, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x75, 0x6e, 0x64,
	0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x74,
	0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x65, 0x6e, 0x64,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
	0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0xfc, 0x07, 0x0a, 0x0f, 0x53, 0x70,
	0x65, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x1f, 0x0a,
	0x0b, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x54, 0x61, 0x67, 0x12, 0x4d,
	0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e,
	0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x6e,
	0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x55, 0x0a,
	0x11, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x69,
	0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63,
	0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x64, 0x69,
	0x6f, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x69,
	0x65, 0x73, 0x52, 0x10, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61,
	0x72, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x70,
	0x65, 0x65, 0x63, 0x68, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x73, 0x12, 0x21, 0x0a, 0x0c,
	0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x01, 0x52, 0x0b, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12,
	0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65,
	0x5f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x6c,
	0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01,
	0x52, 0x0c, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1f,
	0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
	0x23, 0x0a, 0x0d, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x65,
	0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
	0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76,
	0x33, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61,
	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x50, 0x65,
	0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x55, 0x0a, 0x12, 0x6c, 0x65, 0x74, 0x74, 0x65,
	0x72, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e,
	0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
	0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x10, 0x6c, 0x65,
	0x74, 0x74, 0x65, 0x72, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x57,
	0x0a, 0x13, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x75, 0x74, 0x74, 0x65,
	0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70,
	0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x44,
	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73,
	0x74, 0x69, 0x63, 0x73, 0x52, 0x11, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x50, 0x65, 0x72, 0x55, 0x74,
	0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x15, 0x6c, 0x65, 0x74, 0x74, 0x65,
	0x72, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x75, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65,
	0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b,
	0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
	0x70, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52,
	0x13, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x50, 0x65, 0x72, 0x55, 0x74, 0x74, 0x65, 0x72,
	0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63,
	0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x75,
	0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x6b, 0x0a,
	0x1d, 0x75, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74,
	0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x1b, 0x75,
	0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4c, 0x0a, 0x0a, 0x57, 0x69,
	0x6e, 0x64, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x17, 0x57, 0x49, 0x4e, 0x44,
	0x4f, 0x57, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
	0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x54,
	0x41, 0x4c, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x55, 0x54, 0x54,
	0x45, 0x52, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x22, 0xea, 0x08, 0x0a, 0x14, 0x43, 0x6f, 0x6e,
	0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
	0x73, 0x12, 0x61, 0x0a, 0x17, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73,
	0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x53, 0x65, 0x67, 0x6d, 0x65,
	0x6e, 0x74, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x16, 0x63, 0x6f,
	0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61,
	0x72, 0x69, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x26, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69,
	0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x69, 0x6c, 0x65, 0x6e,
	0x63, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x6d, 0x75, 0x6c,
	0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x5f, 0x73,
	0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x01, 0x52, 0x1d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61,
	0x6e, 0x65, 0x6f, 0x75, 0x73, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x61, 0x74, 0x69,
	0x6f, 0x12, 0x80, 0x01, 0x0a, 0x28, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f,
	0x75, 0x73, 0x5f, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74,
	0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x25, 0x73,
	0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x53, 0x69, 0x6c, 0x65, 0x6e,
	0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x25, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69,
	0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x63,
	0x68, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x21, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x74,
	0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
	0x73, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x70, 0x65,
	0x65, 0x63, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x1c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f,
	0x75, 0x73, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x7e, 0x0a,
	0x27, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x70,
	0x65, 0x65, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x73,
	0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
	0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76,
	0x33, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61,
	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x24, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61,
	0x6e, 0x65, 0x6f, 0x75, 0x73, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a,
	0x12, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75,
	0x70, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x70, 0x65, 0x65,
	0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e,
	0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
	0x73, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x73, 0x45, 0x76, 0x61, 0x6c,
	0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x49,
	0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x4d, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x65,
	0x63, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6f,
	0x1a, 0xe2, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x73, 0x45,
	0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x70, 0x65,
	0x61, 0x6b, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x54, 0x61, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e,
	0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x73,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75,
	0x70, 0x74, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74,
	0x73, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x12, 0x48, 0x0a, 0x0a, 0x69,
	0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x28, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e,
	0x76, 0x33, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42,
	0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72,
	0x72, 0x75, 0x70, 0x74, 0x73, 0x22, 0xd1, 0x06, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
	0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x73,
	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74,
	0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64,
	0x52, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x12, 0x43, 0x0a,
	0x0d, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x73, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74,
	0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x75, 0x72,
	0x73, 0x6f, 0x72, 0x73, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x75, 0x72, 0x73, 0x6f,
	0x72, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x77,
	0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x54,
	0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b,
	0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x07, 0x70,
	0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69,
	0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x66, 0x69,
	0x6e, 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x6f, 0x75, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68,
	0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6f, 0x75, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x65, 0x6f, 0x75, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x12, 0x4e, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x69, 0x6e,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70,
	0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x46,
	0x69, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00,
	0x52, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x6d, 0x65, 0x6e,
	0x74, 0x12, 0x3f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b,
	0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x43, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f,
	0x64, 0x65, 0x12, 0x5c, 0x0a, 0x11, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72,
	0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
	0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33,
	0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73,
	0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x10,
	0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x12, 0x4e, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x61, 0x6c,
	0x79, 0x73, 0x69, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x65,
	0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x70,
	0x65, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52,
	0x0f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
	0x12, 0x5d, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x26, 0x2e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6b, 0x69, 0x74, 0x2e, 0x73, 0x74, 0x74, 0x2e,
	0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41,
	0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x76, 0x65,
	0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12,
	0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x61, 0x67,
	0x42, 0x07, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x3d, 0x0a, 0x18, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x2a, 0x4f, 0x0a, 0x08, 0x43, 0x6f, 0x64, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x15, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50,
	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a,
	0x02, 0x08, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x4f, 0x52, 0x4b, 0x49, 0x4e, 0x47, 0x10, 0x01,
	0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a,
	0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x03, 0x42, 0x5c, 0x0a, 0x1a, 0x79, 0x61, 0x6e,
	0x64, 0x65, 0x78, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x69,
	0x2e, 0x73, 0x74, 0x74, 0x2e, 0x76, 0x33, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
	0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x2f, 0x67, 0x6f, 0x2d, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x79, 0x61, 0x6e,
	0x64, 0x65, 0x78, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x2f, 0x73, 0x74, 0x74,
	0x2f, 0x76, 0x33, 0x3b, 0x73, 0x74, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_yandex_cloud_ai_stt_v3_stt_proto_rawDescOnce sync.Once
	file_yandex_cloud_ai_stt_v3_stt_proto_rawDescData = file_yandex_cloud_ai_stt_v3_stt_proto_rawDesc
)

func file_yandex_cloud_ai_stt_v3_stt_proto_rawDescGZIP() []byte {
	file_yandex_cloud_ai_stt_v3_stt_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_ai_stt_v3_stt_proto_rawDescData = protoimpl.X.CompressGZIP(file_yandex_cloud_ai_stt_v3_stt_proto_rawDescData)
	})
	return file_yandex_cloud_ai_stt_v3_stt_proto_rawDescData
}

var file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes = make([]protoimpl.EnumInfo, 12)
var file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes = make([]protoimpl.MessageInfo, 40)
var file_yandex_cloud_ai_stt_v3_stt_proto_goTypes = []any{
	(CodeType)(0), // 0: speechkit.stt.v3.CodeType
	(TextNormalizationOptions_TextNormalization)(0),         // 1: speechkit.stt.v3.TextNormalizationOptions.TextNormalization
	(TextNormalizationOptions_PhoneFormattingMode)(0),       // 2: speechkit.stt.v3.TextNormalizationOptions.PhoneFormattingMode
	(DefaultEouClassifier_EouSensitivity)(0),                // 3: speechkit.stt.v3.DefaultEouClassifier.EouSensitivity
	(RecognitionClassifier_TriggerType)(0),                  // 4: speechkit.stt.v3.RecognitionClassifier.TriggerType
	(RawAudio_AudioEncoding)(0),                             // 5: speechkit.stt.v3.RawAudio.AudioEncoding
	(ContainerAudio_ContainerAudioType)(0),                  // 6: speechkit.stt.v3.ContainerAudio.ContainerAudioType
	(LanguageRestrictionOptions_LanguageRestrictionType)(0), // 7: speechkit.stt.v3.LanguageRestrictionOptions.LanguageRestrictionType
	(RecognitionModelOptions_AudioProcessingType)(0),        // 8: speechkit.stt.v3.RecognitionModelOptions.AudioProcessingType
	(SpeakerLabelingOptions_SpeakerLabeling)(0),             // 9: speechkit.stt.v3.SpeakerLabelingOptions.SpeakerLabeling
	(RecognitionClassifierUpdate_WindowType)(0),             // 10: speechkit.stt.v3.RecognitionClassifierUpdate.WindowType
	(SpeakerAnalysis_WindowType)(0),                         // 11: speechkit.stt.v3.SpeakerAnalysis.WindowType
	(*TextNormalizationOptions)(nil),                        // 12: speechkit.stt.v3.TextNormalizationOptions
	(*DefaultEouClassifier)(nil),                            // 13: speechkit.stt.v3.DefaultEouClassifier
	(*ExternalEouClassifier)(nil),                           // 14: speechkit.stt.v3.ExternalEouClassifier
	(*EouClassifierOptions)(nil),                            // 15: speechkit.stt.v3.EouClassifierOptions
	(*RecognitionClassifier)(nil),                           // 16: speechkit.stt.v3.RecognitionClassifier
	(*RecognitionClassifierOptions)(nil),                    // 17: speechkit.stt.v3.RecognitionClassifierOptions
	(*SpeechAnalysisOptions)(nil),                           // 18: speechkit.stt.v3.SpeechAnalysisOptions
	(*RawAudio)(nil),                                        // 19: speechkit.stt.v3.RawAudio
	(*ContainerAudio)(nil),                                  // 20: speechkit.stt.v3.ContainerAudio
	(*AudioFormatOptions)(nil),                              // 21: speechkit.stt.v3.AudioFormatOptions
	(*LanguageRestrictionOptions)(nil),                      // 22: speechkit.stt.v3.LanguageRestrictionOptions
	(*RecognitionModelOptions)(nil),                         // 23: speechkit.stt.v3.RecognitionModelOptions
	(*SpeakerLabelingOptions)(nil),                          // 24: speechkit.stt.v3.SpeakerLabelingOptions
	(*StreamingOptions)(nil),                                // 25: speechkit.stt.v3.StreamingOptions
	(*AudioChunk)(nil),                                      // 26: speechkit.stt.v3.AudioChunk
	(*SilenceChunk)(nil),                                    // 27: speechkit.stt.v3.SilenceChunk
	(*Eou)(nil),                                             // 28: speechkit.stt.v3.Eou
	(*StreamingRequest)(nil),                                // 29: speechkit.stt.v3.StreamingRequest
	(*RecognizeFileRequest)(nil),                            // 30: speechkit.stt.v3.RecognizeFileRequest
	(*Word)(nil),                                            // 31: speechkit.stt.v3.Word
	(*LanguageEstimation)(nil),                              // 32: speechkit.stt.v3.LanguageEstimation
	(*Alternative)(nil),                                     // 33: speechkit.stt.v3.Alternative
	(*EouUpdate)(nil),                                       // 34: speechkit.stt.v3.EouUpdate
	(*AlternativeUpdate)(nil),                               // 35: speechkit.stt.v3.AlternativeUpdate
	(*AudioCursors)(nil),                                    // 36: speechkit.stt.v3.AudioCursors
	(*FinalRefinement)(nil),                                 // 37: speechkit.stt.v3.FinalRefinement
	(*StatusCode)(nil),                                      // 38: speechkit.stt.v3.StatusCode
	(*SessionUuid)(nil),                                     // 39: speechkit.stt.v3.SessionUuid
	(*PhraseHighlight)(nil),                                 // 40: speechkit.stt.v3.PhraseHighlight
	(*RecognitionClassifierLabel)(nil),                      // 41: speechkit.stt.v3.RecognitionClassifierLabel
	(*RecognitionClassifierResult)(nil),                     // 42: speechkit.stt.v3.RecognitionClassifierResult
	(*RecognitionClassifierUpdate)(nil),                     // 43: speechkit.stt.v3.RecognitionClassifierUpdate
	(*DescriptiveStatistics)(nil),                           // 44: speechkit.stt.v3.DescriptiveStatistics
	(*AudioSegmentBoundaries)(nil),                          // 45: speechkit.stt.v3.AudioSegmentBoundaries
	(*SpeakerAnalysis)(nil),                                 // 46: speechkit.stt.v3.SpeakerAnalysis
	(*ConversationAnalysis)(nil),                            // 47: speechkit.stt.v3.ConversationAnalysis
	(*StreamingResponse)(nil),                               // 48: speechkit.stt.v3.StreamingResponse
	(*DeleteRecognitionRequest)(nil),                        // 49: speechkit.stt.v3.DeleteRecognitionRequest
	(*DescriptiveStatistics_Quantile)(nil),                  // 50: speechkit.stt.v3.DescriptiveStatistics.Quantile
	(*ConversationAnalysis_InterruptsEvaluation)(nil),       // 51: speechkit.stt.v3.ConversationAnalysis.InterruptsEvaluation
}
var file_yandex_cloud_ai_stt_v3_stt_proto_depIdxs = []int32{
	1,  // 0: speechkit.stt.v3.TextNormalizationOptions.text_normalization:type_name -> speechkit.stt.v3.TextNormalizationOptions.TextNormalization
	2,  // 1: speechkit.stt.v3.TextNormalizationOptions.phone_formatting_mode:type_name -> speechkit.stt.v3.TextNormalizationOptions.PhoneFormattingMode
	3,  // 2: speechkit.stt.v3.DefaultEouClassifier.type:type_name -> speechkit.stt.v3.DefaultEouClassifier.EouSensitivity
	13, // 3: speechkit.stt.v3.EouClassifierOptions.default_classifier:type_name -> speechkit.stt.v3.DefaultEouClassifier
	14, // 4: speechkit.stt.v3.EouClassifierOptions.external_classifier:type_name -> speechkit.stt.v3.ExternalEouClassifier
	4,  // 5: speechkit.stt.v3.RecognitionClassifier.triggers:type_name -> speechkit.stt.v3.RecognitionClassifier.TriggerType
	16, // 6: speechkit.stt.v3.RecognitionClassifierOptions.classifiers:type_name -> speechkit.stt.v3.RecognitionClassifier
	5,  // 7: speechkit.stt.v3.RawAudio.audio_encoding:type_name -> speechkit.stt.v3.RawAudio.AudioEncoding
	6,  // 8: speechkit.stt.v3.ContainerAudio.container_audio_type:type_name -> speechkit.stt.v3.ContainerAudio.ContainerAudioType
	19, // 9: speechkit.stt.v3.AudioFormatOptions.raw_audio:type_name -> speechkit.stt.v3.RawAudio
	20, // 10: speechkit.stt.v3.AudioFormatOptions.container_audio:type_name -> speechkit.stt.v3.ContainerAudio
	7,  // 11: speechkit.stt.v3.LanguageRestrictionOptions.restriction_type:type_name -> speechkit.stt.v3.LanguageRestrictionOptions.LanguageRestrictionType
	21, // 12: speechkit.stt.v3.RecognitionModelOptions.audio_format:type_name -> speechkit.stt.v3.AudioFormatOptions
	12, // 13: speechkit.stt.v3.RecognitionModelOptions.text_normalization:type_name -> speechkit.stt.v3.TextNormalizationOptions
	22, // 14: speechkit.stt.v3.RecognitionModelOptions.language_restriction:type_name -> speechkit.stt.v3.LanguageRestrictionOptions
	8,  // 15: speechkit.stt.v3.RecognitionModelOptions.audio_processing_type:type_name -> speechkit.stt.v3.RecognitionModelOptions.AudioProcessingType
	9,  // 16: speechkit.stt.v3.SpeakerLabelingOptions.speaker_labeling:type_name -> speechkit.stt.v3.SpeakerLabelingOptions.SpeakerLabeling
	23, // 17: speechkit.stt.v3.StreamingOptions.recognition_model:type_name -> speechkit.stt.v3.RecognitionModelOptions
	15, // 18: speechkit.stt.v3.StreamingOptions.eou_classifier:type_name -> speechkit.stt.v3.EouClassifierOptions
	17, // 19: speechkit.stt.v3.StreamingOptions.recognition_classifier:type_name -> speechkit.stt.v3.RecognitionClassifierOptions
	18, // 20: speechkit.stt.v3.StreamingOptions.speech_analysis:type_name -> speechkit.stt.v3.SpeechAnalysisOptions
	24, // 21: speechkit.stt.v3.StreamingOptions.speaker_labeling:type_name -> speechkit.stt.v3.SpeakerLabelingOptions
	25, // 22: speechkit.stt.v3.StreamingRequest.session_options:type_name -> speechkit.stt.v3.StreamingOptions
	26, // 23: speechkit.stt.v3.StreamingRequest.chunk:type_name -> speechkit.stt.v3.AudioChunk
	27, // 24: speechkit.stt.v3.StreamingRequest.silence_chunk:type_name -> speechkit.stt.v3.SilenceChunk
	28, // 25: speechkit.stt.v3.StreamingRequest.eou:type_name -> speechkit.stt.v3.Eou
	23, // 26: speechkit.stt.v3.RecognizeFileRequest.recognition_model:type_name -> speechkit.stt.v3.RecognitionModelOptions
	17, // 27: speechkit.stt.v3.RecognizeFileRequest.recognition_classifier:type_name -> speechkit.stt.v3.RecognitionClassifierOptions
	18, // 28: speechkit.stt.v3.RecognizeFileRequest.speech_analysis:type_name -> speechkit.stt.v3.SpeechAnalysisOptions
	24, // 29: speechkit.stt.v3.RecognizeFileRequest.speaker_labeling:type_name -> speechkit.stt.v3.SpeakerLabelingOptions
	31, // 30: speechkit.stt.v3.Alternative.words:type_name -> speechkit.stt.v3.Word
	32, // 31: speechkit.stt.v3.Alternative.languages:type_name -> speechkit.stt.v3.LanguageEstimation
	33, // 32: speechkit.stt.v3.AlternativeUpdate.alternatives:type_name -> speechkit.stt.v3.Alternative
	35, // 33: speechkit.stt.v3.FinalRefinement.normalized_text:type_name -> speechkit.stt.v3.AlternativeUpdate
	0,  // 34: speechkit.stt.v3.StatusCode.code_type:type_name -> speechkit.stt.v3.CodeType
	40, // 35: speechkit.stt.v3.RecognitionClassifierResult.highlights:type_name -> speechkit.stt.v3.PhraseHighlight
	41, // 36: speechkit.stt.v3.RecognitionClassifierResult.labels:type_name -> speechkit.stt.v3.RecognitionClassifierLabel
	10, // 37: speechkit.stt.v3.RecognitionClassifierUpdate.window_type:type_name -> speechkit.stt.v3.RecognitionClassifierUpdate.WindowType
	42, // 38: speechkit.stt.v3.RecognitionClassifierUpdate.classifier_result:type_name -> speechkit.stt.v3.RecognitionClassifierResult
	50, // 39: speechkit.stt.v3.DescriptiveStatistics.quantiles:type_name -> speechkit.stt.v3.DescriptiveStatistics.Quantile
	11, // 40: speechkit.stt.v3.SpeakerAnalysis.window_type:type_name -> speechkit.stt.v3.SpeakerAnalysis.WindowType
	45, // 41: speechkit.stt.v3.SpeakerAnalysis.speech_boundaries:type_name -> speechkit.stt.v3.AudioSegmentBoundaries
	44, // 42: speechkit.stt.v3.SpeakerAnalysis.words_per_second:type_name -> speechkit.stt.v3.DescriptiveStatistics
	44, // 43: speechkit.stt.v3.SpeakerAnalysis.letters_per_second:type_name -> speechkit.stt.v3.DescriptiveStatistics
	44, // 44: speechkit.stt.v3.SpeakerAnalysis.words_per_utterance:type_name -> speechkit.stt.v3.DescriptiveStatistics
	44, // 45: speechkit.stt.v3.SpeakerAnalysis.letters_per_utterance:type_name -> speechkit.stt.v3.DescriptiveStatistics
	44, // 46: speechkit.stt.v3.SpeakerAnalysis.utterance_duration_estimation:type_name -> speechkit.stt.v3.DescriptiveStatistics
	45, // 47: speechkit.stt.v3.ConversationAnalysis.conversation_boundaries:type_name -> speechkit.stt.v3.AudioSegmentBoundaries
	44, // 48: speechkit.stt.v3.ConversationAnalysis.simultaneous_silence_duration_estimation:type_name -> speechkit.stt.v3.DescriptiveStatistics
	44, // 49: speechkit.stt.v3.ConversationAnalysis.simultaneous_speech_duration_estimation:type_name -> speechkit.stt.v3.DescriptiveStatistics
	51, // 50: speechkit.stt.v3.ConversationAnalysis.speaker_interrupts:type_name -> speechkit.stt.v3.ConversationAnalysis.InterruptsEvaluation
	39, // 51: speechkit.stt.v3.StreamingResponse.session_uuid:type_name -> speechkit.stt.v3.SessionUuid
	36, // 52: speechkit.stt.v3.StreamingResponse.audio_cursors:type_name -> speechkit.stt.v3.AudioCursors
	35, // 53: speechkit.stt.v3.StreamingResponse.partial:type_name -> speechkit.stt.v3.AlternativeUpdate
	35, // 54: speechkit.stt.v3.StreamingResponse.final:type_name -> speechkit.stt.v3.AlternativeUpdate
	34, // 55: speechkit.stt.v3.StreamingResponse.eou_update:type_name -> speechkit.stt.v3.EouUpdate
	37, // 56: speechkit.stt.v3.StreamingResponse.final_refinement:type_name -> speechkit.stt.v3.FinalRefinement
	38, // 57: speechkit.stt.v3.StreamingResponse.status_code:type_name -> speechkit.stt.v3.StatusCode
	43, // 58: speechkit.stt.v3.StreamingResponse.classifier_update:type_name -> speechkit.stt.v3.RecognitionClassifierUpdate
	46, // 59: speechkit.stt.v3.StreamingResponse.speaker_analysis:type_name -> speechkit.stt.v3.SpeakerAnalysis
	47, // 60: speechkit.stt.v3.StreamingResponse.conversation_analysis:type_name -> speechkit.stt.v3.ConversationAnalysis
	45, // 61: speechkit.stt.v3.ConversationAnalysis.InterruptsEvaluation.interrupts:type_name -> speechkit.stt.v3.AudioSegmentBoundaries
	62, // [62:62] is the sub-list for method output_type
	62, // [62:62] is the sub-list for method input_type
	62, // [62:62] is the sub-list for extension type_name
	62, // [62:62] is the sub-list for extension extendee
	0,  // [0:62] is the sub-list for field type_name
}

func init() { file_yandex_cloud_ai_stt_v3_stt_proto_init() }
func file_yandex_cloud_ai_stt_v3_stt_proto_init() {
	if File_yandex_cloud_ai_stt_v3_stt_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[0].Exporter = func(v any, i int) any {
			switch v := v.(*TextNormalizationOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[1].Exporter = func(v any, i int) any {
			switch v := v.(*DefaultEouClassifier); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[2].Exporter = func(v any, i int) any {
			switch v := v.(*ExternalEouClassifier); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[3].Exporter = func(v any, i int) any {
			switch v := v.(*EouClassifierOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[4].Exporter = func(v any, i int) any {
			switch v := v.(*RecognitionClassifier); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[5].Exporter = func(v any, i int) any {
			switch v := v.(*RecognitionClassifierOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[6].Exporter = func(v any, i int) any {
			switch v := v.(*SpeechAnalysisOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[7].Exporter = func(v any, i int) any {
			switch v := v.(*RawAudio); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[8].Exporter = func(v any, i int) any {
			switch v := v.(*ContainerAudio); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[9].Exporter = func(v any, i int) any {
			switch v := v.(*AudioFormatOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[10].Exporter = func(v any, i int) any {
			switch v := v.(*LanguageRestrictionOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[11].Exporter = func(v any, i int) any {
			switch v := v.(*RecognitionModelOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[12].Exporter = func(v any, i int) any {
			switch v := v.(*SpeakerLabelingOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[13].Exporter = func(v any, i int) any {
			switch v := v.(*StreamingOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[14].Exporter = func(v any, i int) any {
			switch v := v.(*AudioChunk); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[15].Exporter = func(v any, i int) any {
			switch v := v.(*SilenceChunk); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[16].Exporter = func(v any, i int) any {
			switch v := v.(*Eou); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[17].Exporter = func(v any, i int) any {
			switch v := v.(*StreamingRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[18].Exporter = func(v any, i int) any {
			switch v := v.(*RecognizeFileRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[19].Exporter = func(v any, i int) any {
			switch v := v.(*Word); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[20].Exporter = func(v any, i int) any {
			switch v := v.(*LanguageEstimation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[21].Exporter = func(v any, i int) any {
			switch v := v.(*Alternative); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[22].Exporter = func(v any, i int) any {
			switch v := v.(*EouUpdate); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[23].Exporter = func(v any, i int) any {
			switch v := v.(*AlternativeUpdate); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[24].Exporter = func(v any, i int) any {
			switch v := v.(*AudioCursors); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[25].Exporter = func(v any, i int) any {
			switch v := v.(*FinalRefinement); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[26].Exporter = func(v any, i int) any {
			switch v := v.(*StatusCode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[27].Exporter = func(v any, i int) any {
			switch v := v.(*SessionUuid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[28].Exporter = func(v any, i int) any {
			switch v := v.(*PhraseHighlight); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[29].Exporter = func(v any, i int) any {
			switch v := v.(*RecognitionClassifierLabel); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[30].Exporter = func(v any, i int) any {
			switch v := v.(*RecognitionClassifierResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[31].Exporter = func(v any, i int) any {
			switch v := v.(*RecognitionClassifierUpdate); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[32].Exporter = func(v any, i int) any {
			switch v := v.(*DescriptiveStatistics); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[33].Exporter = func(v any, i int) any {
			switch v := v.(*AudioSegmentBoundaries); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[34].Exporter = func(v any, i int) any {
			switch v := v.(*SpeakerAnalysis); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[35].Exporter = func(v any, i int) any {
			switch v := v.(*ConversationAnalysis); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[36].Exporter = func(v any, i int) any {
			switch v := v.(*StreamingResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[37].Exporter = func(v any, i int) any {
			switch v := v.(*DeleteRecognitionRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[38].Exporter = func(v any, i int) any {
			switch v := v.(*DescriptiveStatistics_Quantile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[39].Exporter = func(v any, i int) any {
			switch v := v.(*ConversationAnalysis_InterruptsEvaluation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[3].OneofWrappers = []any{
		(*EouClassifierOptions_DefaultClassifier)(nil),
		(*EouClassifierOptions_ExternalClassifier)(nil),
	}
	file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[9].OneofWrappers = []any{
		(*AudioFormatOptions_RawAudio)(nil),
		(*AudioFormatOptions_ContainerAudio)(nil),
	}
	file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[17].OneofWrappers = []any{
		(*StreamingRequest_SessionOptions)(nil),
		(*StreamingRequest_Chunk)(nil),
		(*StreamingRequest_SilenceChunk)(nil),
		(*StreamingRequest_Eou)(nil),
	}
	file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[18].OneofWrappers = []any{
		(*RecognizeFileRequest_Content)(nil),
		(*RecognizeFileRequest_Uri)(nil),
	}
	file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[25].OneofWrappers = []any{
		(*FinalRefinement_NormalizedText)(nil),
	}
	file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes[36].OneofWrappers = []any{
		(*StreamingResponse_Partial)(nil),
		(*StreamingResponse_Final)(nil),
		(*StreamingResponse_EouUpdate)(nil),
		(*StreamingResponse_FinalRefinement)(nil),
		(*StreamingResponse_StatusCode)(nil),
		(*StreamingResponse_ClassifierUpdate)(nil),
		(*StreamingResponse_SpeakerAnalysis)(nil),
		(*StreamingResponse_ConversationAnalysis)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_yandex_cloud_ai_stt_v3_stt_proto_rawDesc,
			NumEnums:      12,
			NumMessages:   40,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_ai_stt_v3_stt_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_ai_stt_v3_stt_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_ai_stt_v3_stt_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_ai_stt_v3_stt_proto_msgTypes,
	}.Build()
	File_yandex_cloud_ai_stt_v3_stt_proto = out.File
	file_yandex_cloud_ai_stt_v3_stt_proto_rawDesc = nil
	file_yandex_cloud_ai_stt_v3_stt_proto_goTypes = nil
	file_yandex_cloud_ai_stt_v3_stt_proto_depIdxs = nil
}
