

import copy
from dataclasses import dataclass, field
from typing import ClassVar, Dict

from ..features import Audio, Features, Value
from .base import TaskTemplate







@dataclass(frozen=lowercase_     )
class 					lowercase							(			lowercase_     ):
				__SCREAMING_SNAKE_CASE   :					str			     =     field(default='''automatic-speech-recognition'''      ,    metadata={'''include_in_asdict_even_if_is_default''': True}     )
				__SCREAMING_SNAKE_CASE   :					ClassVar[Features]			     =     Features({'''audio''': Audio()}     )
				__SCREAMING_SNAKE_CASE   :					ClassVar[Features]			     =     Features({'''transcription''': Value('''string'''     )}     )
				__SCREAMING_SNAKE_CASE   :					str			     =     "audio"
				__SCREAMING_SNAKE_CASE   :					str			     =     "transcription"




				def        a				(   self ,  snake_case			):
											if self.audio_column not in features:
																		raise ValueError(F'''Column {self.audio_column} is not present in features.'''			)
											if not isinstance(features[self.audio_column] ,  snake_case			):
																		raise ValueError(F'''Column {self.audio_column} is not an Audio type.'''			)
											snake_case_     							=       copy.deepcopy(self			)
											snake_case_     							=       self.input_schema.copy()
											snake_case_     							=       features[self.audio_column]
											snake_case_     							=       input_schema
											return task_template




				@property
				def        a				(   self			):
											return {self.audio_column: "audio", self.transcription_column: "transcription"}







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


_UpperCAmelCase						:  Tuple									=			{
    """configuration_m2m_100""": ["""M2M_100_PRETRAINED_CONFIG_ARCHIVE_MAP""", """M2M100Config""", """M2M100OnnxConfig"""],
    """tokenization_m2m_100""": ["""M2M100Tokenizer"""],
}


try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase						:  Tuple									=			[
					    """M2M_100_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """M2M100ForConditionalGeneration""",
					    """M2M100Model""",
					    """M2M100PreTrainedModel""",
					]


if TYPE_CHECKING:
					from .configuration_mam_aaa import M2M_100_PRETRAINED_CONFIG_ARCHIVE_MAP, MaMaaaConfig, MaMaaaOnnxConfig
					from .tokenization_mam_aaa import MaMaaaTokenizer

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_mam_aaa import (
										    M2M_100_PRETRAINED_MODEL_ARCHIVE_LIST,
										    MaMaaaForConditionalGeneration,
										    MaMaaaModel,
										    MaMaaaPreTrainedModel,
										)


else:
					import sys

					_UpperCAmelCase						:  Any									=			_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




