

A_		:			str										=   [0.485, 0.456, 0.406]
A_		:			List[str]										=   [0.229, 0.224, 0.225]
A_		:			Optional[Any]										=   [0.5, 0.5, 0.5]
A_		:			str										=   [0.5, 0.5, 0.5]
A_		:			Dict										=   [0.4814_5466, 0.457_8275, 0.4082_1073]
A_		:			Dict										=   [0.2686_2954, 0.2613_0258, 0.2757_7711]








import copy

from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ..auto.configuration_auto import AutoConfig


A_		:			int										=   logging.get_logger(__name__)
class 					A_   (      _a						):


    '''simple docstring'''






    a__     							=       "speech-encoder-decoder"
    a__     							=       True


    def __init__(self     ,      **lowercase__  )     ->      Optional[int]:
        super().__init__(**lowercase__  )
        if "encoder" not in kwargs or "decoder" not in kwargs:
            raise ValueError(
                F'''A configuraton of type {self.model_type} cannot be instantiated because not both `encoder` and'''
                F''' `decoder` sub-configurations are passed, but only {kwargs}'''  )

        __UpperCAmelCase									=			kwargs.pop('''encoder'''  )
        __UpperCAmelCase									=			encoder_config.pop('''model_type'''  )
        __UpperCAmelCase									=			kwargs.pop('''decoder'''  )
        __UpperCAmelCase									=			decoder_config.pop('''model_type'''  )

        __UpperCAmelCase									=			AutoConfig.for_model(lowercase__     ,      **lowercase__  )
        __UpperCAmelCase									=			AutoConfig.for_model(lowercase__     ,      **lowercase__  )
        __UpperCAmelCase									=			True


    @classmethod
    def      lowerCAmelCase_						(cls     ,      lowercase__     ,      lowercase__     ,      **lowercase__  )     ->      PretrainedConfig:
        logger.info('''Setting `config.is_decoder=True` and `config.add_cross_attention=True` for decoder_config'''  )
        __UpperCAmelCase									=			True
        __UpperCAmelCase									=			True

        return cls(encoder=encoder_config.to_dict()     ,      decoder=decoder_config.to_dict()     ,      **lowercase__  )






    def      lowerCAmelCase_						(self  )     ->      Optional[Any]:
        __UpperCAmelCase									=			copy.deepcopy(self.__dict__  )
        __UpperCAmelCase									=			self.encoder.to_dict()
        __UpperCAmelCase									=			self.decoder.to_dict()
        __UpperCAmelCase									=			self.__class__.model_type
        return output




