§
    Û×j„  ã                   ó:   — d Z ddlZddddddœZd„ Zd„ Zd„ Zd	„ ZdS )
zÜThe `overrides` setting: configuration choices replaced for one generation, written as `name=value` pairs
separated by commas, for example "attention_mode='sage2', memory_profile=4". Only non-default choices are written.é    NéÿÿÿÿÚ )Úmemory_profileÚcompilationÚattention_modeÚtransformer_quantizationÚtext_encoder_quantizationc           
      ó   — |                       ¦   «         si S 	 t          j        d| › d�d¬¦  «        j        }|j        s=t          |j        t          j        ¦  «        rt          d„ |j	        D ¦   «         ¦  «        rt          ‚d„ |j	        D ¦   «         }t          |¦  «        t          |j	        ¦  «        k     rt          ‚n(# t          t          f$ r t          d| ›�¦  «        d‚w xY wd	„ |D ¦   «         }|rXt          d
t          |¦  «        dk    rdnd› dd                     |¦  «        › dd                     t          ¦  «        › �¦  «        ‚|S )zbThe overrides written in text as a dictionary; ValueError for a malformed text or an unknown name.zf(ú)Úeval)Úmodec              3   ó(   K  — | ]}|j         d u V — Œd S ©N)Úarg©Ú.0Úkeywords     úIC:\Users\johnn\OneDrive\Documents\AI\shared\utils\generation_overrides.pyú	<genexpr>z"parse_overrides.<locals>.<genexpr>   s+   è è € ÐBtÐBtÐ[bÀ7Ä;ÐRVÐCVÐBtÐBtÐBtÐBtÐBtÐBtó    c                 óL   — i | ]!}|j         t          j        |j        ¦  «        “Œ"S © )r   ÚastÚliteral_evalÚvaluer   s     r   ú
<dictcomp>z#parse_overrides.<locals>.<dictcomp>   s)   € Ð\Ð\Ð\À7�'”+�sÔ/°´Ñ>Ô>Ð\Ð\Ð\r   zooverrides must be name=value pairs separated by commas, such as "attention_mode='sdpa', memory_profile=4", not Nc                 ó$   — g | ]}|t           v¯|‘ŒS r   )ÚOVERRIDE_DEFAULTS)r   Únames     r   ú
<listcomp>z#parse_overrides.<locals>.<listcomp>   s#   € ÐHÐHÐH˜¨$Õ6GÐ*GÐ*GˆtÐ*GÐ*GÐ*Gr   zUnknown overrideé   Úsr   ú ú, z: the overrides are )Ústripr   ÚparseÚbodyÚargsÚ
isinstanceÚfuncÚNameÚanyÚkeywordsÚSyntaxErrorÚlenÚ
ValueErrorÚjoinr   )ÚtextÚcallÚvaluesÚunknowns       r   Úparse_overridesr6   
   sº  € à�:Š:‰<Œ<ð Øˆ	ðaÝŒy˜˜d˜˜˜¨FÐ3Ñ3Ô3Ô8ˆØŒ9ð 	�J t¤yµ#´(Ñ;Ô;ð 	½sÐBtÐBtÐfjÔfsÐBtÑBtÔBtÑ?tÔ?tð 	ÝÐØ\Ð\ÈdÌmÐ\Ñ\Ô\ˆÝˆv‰;Œ;�˜Tœ]Ñ+Ô+Ò+Ð+ÝÐð ,øå�Ð$ð að að aÝð  Vð  NRð  Vð  Vñ  Wô  Wð  ]að  	aðaøøøàHÐH ÐHÑHÔH€GØð VÝð  Uµ3°w±<´<À!Ò3CÐ3C¨C¨CÈð  Uð  UÈdÏiÊiÐX_ÑN`ÔN`ð  Uð  UÐvz×vÒvõ  ARñ  wSô  wSð  Uð  Uñ  Vô  Vð  	VØ€Ms   ˜B'C  Ã %C%c                 ót   ‡ — d                      ˆ fd„t                               ¦   «         D ¦   «         ¦  «        S )Nr$   c              3   óX   •K  — | ]$\  }}|‰v ¯	‰|         |k    ¯|› d ‰|         ›�V — Œ%dS )ú=Nr   )r   r   Údefaultr4   s      €r   r   z#format_overrides.<locals>.<genexpr>   s‡   øè è € ð  Nð  N±M°D¸'ÐbfÐjpÐbpÐbpÐu{ð  }Aô  vBð  FMò  vMð  vM˜Ð/Ð/˜v dœ|Ð/Ð/ð  vMð  vMð  vMð  vMð  Nð  Nr   )r1   r   Úitems)r4   s   `r   Úformat_overridesr<      sU   ø€ Ø�9Š9ð  Nð  Nð  Nð  NÕEV×E\ÒE\ÑE^ÔE^ð  Nñ  Nô  Nñ  Nô  Nð  Nr   c                 ó^   — t          | ¦  «                             |t          |         ¦  «        S r   )r6   Úgetr   )r2   r   s     r   Úget_overrider?   !   s&   € Ý˜4Ñ Ô ×$Ò$ TÕ+<¸TÔ+BÑCÔCÐCr   c                 óF   — t          i t          | ¦  «        ¥||i¥¦  «        S r   )r<   r6   )r2   r   r   s      r   Úset_overriderA   %   s(   € ÝÐB�¨tÑ4Ô4ÐB°d¸EÐBÐBÑCÔCÐCr   )Ú__doc__r   r   r6   r<   r?   rA   r   r   r   ú<module>rC      sŽ   ððvð vð €
€
€
à')¸"ÐPRÐprð  RTð  Uð  UÐ ðð ð ð&Nð Nð NðDð Dð DðDð Dð Dð Dð Dr   