




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

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







@dataclass(frozen=UpperCamelCase__		)
class 						lowercase							(   UpperCamelCase__		):
     _a							 =						field(default="automatic-speech-recognition",metadata={"include_in_asdict_even_if_is_default": True}		)
     _a							 =						Features({"audio": Audio()}		)
     _a							 =						Features({"transcription": Value("string"		)}		)
     _a							 =						"audio"
     _a							 =						"transcription"

     def 					a__	(  self		,     _a				)						->							Union[str, Any]:
           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]		,     _a				):
                 raise ValueError(F'''Column {self.audio_column} is not an Audio type.'''				)
           _A							:     Union[str, Any]			=						copy.deepcopy(self				)
           _A							:     List[str]			=						self.input_schema.copy()
           _A							:     int			=						features[self.audio_column]
           _A							:     List[Any]			=						input_schema
           return task_template



     @property
     def 					a__	(  self				)						->							Dict[str, str]:
           return {self.audio_column: "audio", self.transcription_column: "transcription"}







def 				lowerCAmelCase_	(     snake_case_,snake_case_     ):
      while b:
            _A			,   _A							:     List[str]			=						b, a % b
      return a







def 				lowerCAmelCase_	(     snake_case_,snake_case_     ):
      return a if b == 0 else euclidean_gcd_recursive(snake_case_,a % b     )







def 				lowerCAmelCase_	(     ):
      print(f'''euclidean_gcd(3, 5) = {euclidean_gcd(3,5     )}'''     )
      print(f'''euclidean_gcd(5, 3) = {euclidean_gcd(5,3     )}'''     )
      print(f'''euclidean_gcd(1, 3) = {euclidean_gcd(1,3     )}'''     )
      print(f'''euclidean_gcd(3, 6) = {euclidean_gcd(3,6     )}'''     )
      print(f'''euclidean_gcd(6, 3) = {euclidean_gcd(6,3     )}'''     )

      print(f'''euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3,5     )}'''     )
      print(f'''euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5,3     )}'''     )
      print(f'''euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1,3     )}'''     )
      print(f'''euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3,6     )}'''     )
      print(f'''euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6,3     )}'''     )


if __name__ == "__main__":
  main()

