Ë
    ÜÓ^jØ  ã                   óš   — d dl mZ ddlmZ ddlmZmZ ddlmZ  ej                  e
«      Z ed¬«      e G d	„ d
e«      «       «       Zd
gZy)é    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringÚloggingé   )Ú
AutoConfigzfacebook/nougat-base)Ú
checkpointc                   ó’   ‡ — e Zd ZU dZdZeedœZdZee	z  dz  e
d<   dZee	z  dz  e
d<   dZee
d<   ˆ fd	„Zed
e	de	de	fd„«       Zˆ xZS )ÚNougatConfiga3  
    encoder (`dict | PreTrainedConfig`):
        The config object or dictionary of the encoder backbone.
    decoder (`dict | PreTrainedConfig`):
        The config object or dictionary of the decoder backbone.

    Examples:

    ```python
    >>> from transformers import NougatConfig, VisionEncoderDecoderModel

    >>> # Initializing a Nougat configuration
    >>> config = NougatConfig()

    >>> # Initializing a VisionEncoderDecoder model (with random weights) from a Nougat configurations
    >>> model = VisionEncoderDecoderModel(config=config)
    ```Únougat©ÚencoderÚdecoderNr   r   TÚis_encoder_decoderc                 óî  •— | j                   �| j                  €t        d| j                  › d�«      ‚t	        | j                   t
        «      r@| j                   j                  d«      }t        j                  |fi | j                   ¤Ž| _         t	        | j                  t
        «      r@| j                  j                  d«      }t        j                  |fi | j                  ¤Ž| _        t        ‰| �(  di |¤Ž y )NzA configuration of type zd cannot be instantiated because one of both `encoder` or `decoder` sub-configurations is not passed.Ú
model_type© )r   r   Ú
ValueErrorr   Ú
isinstanceÚdictÚpopr	   Ú	for_modelÚsuperÚ__post_init__)ÚselfÚkwargsÚencoder_model_typeÚdecoder_model_typeÚ	__class__s       €úz/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/nougat/configuration_nougat.pyr   zNougatConfig.__post_init__6   sË   ø€ Ø�<‰<Ð 4§<¡<Ð#7ÜØ*¨4¯?©?Ð*;ð <Wð Xóð ô
 �d—l‘l¤DÔ)Ø!%§¡×!1Ñ!1°,Ó!?ÐÜ%×/Ñ/Ð0BÑSÀdÇlÁlÑSˆDŒLÜ�d—l‘l¤DÔ)Ø!%§¡×!1Ñ!1°,Ó!?ÐÜ%×/Ñ/Ð0BÑSÀdÇlÁlÑSˆDŒLÜ‰ÑÑ' Ó'ó    Úencoder_configÚdecoder_configÚreturnc                 ó–   — t         j                  d«       d|_        d|_         | d|j	                  «       |j	                  «       dœ|¤ŽS )a  
        Instantiate a [`VisionEncoderDecoderConfig`] (or a derived class) from a pre-trained encoder model
        configuration and decoder model configuration.

        Returns:
            [`VisionEncoderDecoderConfig`]: An instance of a configuration object
        zYSetting `config.is_decoder=True` and `config.add_cross_attention=True` for decoder_configTr   r   )ÚloggerÚinfoÚ
is_decoderÚadd_cross_attentionÚto_dict)Úclsr#   r$   r   s       r!   Úfrom_encoder_decoder_configsz)NougatConfig.from_encoder_decoder_configsE   sI   € ô 	�‰ÐoÔpØ$(ˆÔ!Ø-1ˆÔ*áÐ`˜>×1Ñ1Ó3¸^×=SÑ=SÓ=UÑ`ÐY_Ñ`Ð`r"   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r	   Úsub_configsr   r   r   Ú__annotations__r   r   Úboolr   Úclassmethodr-   Ú__classcell__)r    s   @r!   r   r      s„   ø… ñð$ €JØ(°ZÑ@€Kà.2€GˆTÐ$Ñ$ tÑ+Ó2Ø.2€GˆTÐ$Ñ$ tÑ+Ó2Ø#Ð˜Ó#ô(ð ðaØ-ðaØ?Oðaà	òaó ôar"   r   N)Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   Úauto.configuration_autor	   Ú
get_loggerr.   r'   r   Ú__all__r   r"   r!   ú<module>r=      s_   ðõ  /å 3ß ,Ý 0ð 
ˆ×	Ñ	˜HÓ	%€ñ Ð1Ô2Øô8aÐ#ó 8aó ó 3ð8aðv Ð
�r"   