§
    }Štj¢9  ã                   óF  — d Z ddlZddlZddlZddlZddlZddlZddlmZ ddl	m
Z
 ddlmZ ddlmZmZ ddlZddlmZ ddlmZmZmZmZmZ  G d	„ d
ee
¦  «        Zdededdfd„Z G d„ d¦  «        Zedededefd„¦   «         Zdedefd„Zdede eef         fd„Z! ej"        d¦  «        Z#dedefd„Z$dedefd„Z%dedefd„Z&de'e         de'e'e                  de eef         fd „Z(d!edefd"„Z)de'e         de'e'e                  d#e*de*fd$„Z+d!edefd%„Z, e¦   «         Z-dS )&z"Output framework for the `hf` CLI.é    N)ÚSequence)ÚEnum)Úcache)ÚAnyÚcast)ÚConfirmationError)ÚANSIÚ
StatusLineÚdisable_progress_barsÚis_agentÚtabulatec                   ó&   — e Zd ZdZdZdZdZdZdZdS )ÚOutputFormatzGOutput format for CLI commands with auto detection of agent/human mode.ÚagentÚautoÚhumanÚjsonÚquietN)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   © ó    úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/huggingface_hub/cli/_output.pyr   r   !   s-   € € € € € ØQÐQà€EØ€DØ€EØ€DØ€E€E€Er   r   ÚvaluesÚkwargsÚreturnc                  ó&   — t          | i |¤ddi¤Ž dS )zžLike `print`, but always flushed: some CLI flows block on user action right after
    printing (e.g. the device-code login), so output must not stay buffered.ÚflushTN)Úprint)r   r   s     r   Ú_print_flushr"   +   s(   € õ 
ˆ6Ð(�VÐ(Ð( 4Ð(Ð(Ð(Ð(Ð(Ð(r   c                   óÀ  — e Zd ZU dZeed<   eed<   d&d„Zej        fdeddfd„Z	deddfd„Z
defd	„Zd'ddd
œdedz  dedz  dedz  ddfd„Zddddœdeeeef                  dee         dz  dedz  deeef         dz  ddf
d„Zddœdededz  ddfd„Zdededdfd„Zddddœdededededdf
d „Zd'dedz  defd!„Zdeddfd"„Zdeddfd#„Zdeddfd$„Zdeddfd%„ZdS )(ÚOutputz§Output sink for the `hf` CLI.

    Mode is resolved once at init time based on `is_agent()` auto-detection
    and can be overridden per-command via `set_mode()`.
    ÚmodeÚno_truncater   Nc                 ó<   — d| _         |                      ¦   «          d S )NF)r&   Úset_mode©Úselfs    r   Ú__init__zOutput.__init__;   s   € Ø ˆÔØ�Š‰Œˆˆˆr   c                 óÀ   — |t           j        k    r&t          ¦   «         rt           j        nt           j        }|| _        |t           j        k    rt          ¦   «          dS dS )zPOverride the output mode (called once at startup and again per '--format' flag).N)r   r   r   r   r   r%   r   )r*   r%   s     r   r(   zOutput.set_mode?   sX   € à•<Ô$Ò$Ð$Ý)1©¬ÐK•<Ô%Ð%½Ô9KˆDØˆŒ	Ø•<Ô%Ò%Ð%Ý!Ñ#Ô#Ð#Ð#Ð#ð &Ð%r   c                 ó   — || _         dS )z2Toggle off cell truncation for human table output.N©r&   )r*   r&   s     r   Úset_no_truncatezOutput.set_no_truncateG   s   € à&ˆÔÐÐr   c                 ó,   — | j         t          j        k    S ©N)r%   r   r   r)   s    r   Úis_quietzOutput.is_quietK   s   € ØŒy�LÔ.Ò.Ð.r   )r   r   Úmsgr   r   c                óò   — |�$|€|�t          d¦  «        ‚|}t          |¦  «        }| j        xt          j        k    r |�t          |¦  «         dS dS t          j        k    r|�t          |¦  «         dS dS dS )z)Print a free-form text message to stdout.Nz&Cannot mix 'msg' with 'human'/'agent'.)Ú
ValueErrorÚ_strip_ansir%   r   r   r"   r   )r*   r3   r   r   s       r   ÚtextzOutput.textN   s¡   € àˆ?ØÐ  EÐ$5Ý Ð!IÑJÔJÐJØˆEÝ Ñ$Ô$ˆEàŒiØ#•Ô#Ò#Ð#Ð#ØÐ$Ý  Ñ'Ô'Ð'Ð'Ð'ð %Ð$åÔ#Ò#Ð#ØÐ$Ý  Ñ'Ô'Ð'Ð'Ð'ð %Ð$ð $Ð#r   )ÚheadersÚid_keyÚ
alignmentsÚitemsr8   r9   r:   c                ó¸  ‡‡— ‰s]| j         xxt          j        k    rnxt          j        k    rn n  t	          d¦  «         nt          j        k    rt	          d¦  «         dS ‰€5t          ‰d                              ¦   «         ¦  «        }ˆfd„|D ¦   «         Šˆfd„‰D ¦   «         }| j         xt          j        k    r¬ d„ ‰D ¦   «         }d„ |D ¦   «         }t          ||| j	        ¬	¦  «        }	i t          ‰|¦  «        ¥|pi ¥}
d
„ |
                     ¦   «         D ¦   «         }t	          t          t          d|¦  «        ||¬¦  «        ¦  «         |	r|                      d¦  «         dS dS xt          j        k    rV t	          d                     ‰¦  «        ¦  «         |D ].}t	          d                     d„ |D ¦   «         ¦  «        ¦  «         Œ/dS xt          j        k    r8 t	          t          j        t          ‰¦  «        t"          ¬¦  «        ¦  «         dS t          j        k    r4|p‰d         }‰D ]%}t	          |                     |d¦  «        ¦  «         Œ&dS dS )a§  Print tabular data to stdout.

        Args:
            items: List of dicts. Headers are auto-detected from keys if not provided.
            headers: Explicit column names. If None, derived from dict keys (all-None columns filtered).
            id_key: Key to print in quiet mode. If None, uses the first header.
            alignments: Optional mapping of header name to "left" or "right". Defaults to "left".
        zNo results found.z[]Nr   c                 óL   •‡— g | ]Št          ˆfd „‰D ¦   «         ¦  «        ¯‰‘Œ S )c              3   óF   •K  — | ]}|                      ‰¦  «        d uV — Œd S r1   ©Úget)Ú.0ÚitemÚcols     €r   ú	<genexpr>z*Output.table.<locals>.<listcomp>.<genexpr>y   s3   øè è € Ð8eÐ8eÐW[¸¿ºÀ#¹¼ÈdÐ9RÐ8eÐ8eÐ8eÐ8eÐ8eÐ8er   )Úany)rA   rC   r;   s    @€r   ú
<listcomp>z Output.table.<locals>.<listcomp>y   s=   øø€ ÐfÐfÐf˜sµSÐ8eÐ8eÐ8eÐ8eÐ_dÐ8eÑ8eÔ8eÑ5eÔ5eÐf�sÐfÐfÐfr   c                 ó.   •‡— g | ]Šˆfd „‰D ¦   «         ‘ŒS )c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r   r?   )rA   ÚhrB   s     €r   rF   z+Output.table.<locals>.<listcomp>.<listcomp>z   s#   ø€ Ð.Ð.Ð. �—’˜!‘”Ð.Ð.Ð.r   r   )rA   rB   r8   s    @€r   rF   z Output.table.<locals>.<listcomp>z   s/   øø€ ÐAÐAÐA°4Ð.Ð.Ð.Ð. gÐ.Ñ.Ô.ÐAÐAÐAr   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   ©Ú
_to_header©rA   rI   s     r   rF   z Output.table.<locals>.<listcomp>~   s   € Ð$DÐ$DÐ$D°q¥Z°¡]¤]Ð$DÐ$DÐ$Dr   c                 ó&   — g | ]}d „ |D ¦   «         ‘ŒS )c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   ©Ú_format_table_value_human©rA   Úvs     r   rF   z+Output.table.<locals>.<listcomp>.<listcomp>   s"   € Ð3^Ð3^Ð3^ÐUVÕ4MÈaÑ4PÔ4PÐ3^Ð3^Ð3^r   r   )rA   Úrows     r   rF   z Output.table.<locals>.<listcomp>   s)   € Ð2oÐ2oÐ2oÐcfÐ3^Ð3^ÐZ]Ð3^Ñ3^Ô3^Ð2oÐ2oÐ2or   r.   c                 ó4   — i | ]\  }}t          |¦  «        |“ŒS r   rK   ©rA   ÚkrS   s      r   ú
<dictcomp>z Output.table.<locals>.<dictcomp>„   s$   € Ð'VÐ'VÐ'V¹T¸QÀ­
°1©¬°qÐ'VÐ'VÐ'Vr   zlist[list[str | int]])r8   r:   z>Use `--no-truncate` or `--format json` to display full values.ú	c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r1   )Ú_format_table_cell_agentrR   s     r   rD   zOutput.table.<locals>.<genexpr>‘   s+   è è € Ð*TÐ*TÈ1Õ+CÀAÑ+FÔ+FÐ*TÐ*TÐ*TÐ*TÐ*TÐ*Tr   ©ÚdefaultÚ )r%   r   r   r   r"   r   ÚlistÚkeysÚ_truncate_columnsr&   Ú_infer_alignmentsr;   r   r   ÚhintÚjoinÚdumpsÚstrr   r@   )r*   r;   r8   r9   r:   Úall_columnsÚrowsÚscreaming_headersÚformatted_rowsÚis_truncatedÚinferredÚscreaming_alignmentsrT   Ú	quiet_keyrB   s    ``            r   ÚtablezOutput.table_   sË  øø€ ð  ð 	Ø”)Ø<Ð'•\Ô'Ò'Ð'Ð'Ð*<­,Ô*<Ò*<Ð*<Ð*<Ð*<Ð*<Ð*<Ð*<Ý Ð!4Ñ5Ô5Ð5Ð5Ý!Ô&Ò&Ð&Ý  Ñ&Ô&Ð&ØˆFàˆ?Ý˜u QœxŸ}š}™œÑ/Ô/ˆKØfÐfÐfÐf kÐfÑfÔfˆGØAÐAÐAÐA¸5ÐAÑAÔAˆàŒiØ#•Ô#Ò#Ð#Ð#Ø$DÐ$D¸GÐ$DÑ$DÔ$DÐ!Ø2oÐ2oÐjnÐ2oÑ2oÔ2o�å0Ð1BÀNÐ`dÔ`pÐqÑqÔq�àUÕ/°¸Ñ>Ô>ÐUÀ:ÐCSÐQSÐU�Ø'VÐ'VÀXÇ^Â^ÑEUÔEUÐ'VÑ'VÔ'VÐ$ÝÝÝÐ4°nÑEÔEØ 1Ø#7ðñ ô ñô ð ð  ð `Ø—I’IÐ^Ñ_Ô_Ð_Ð_Ð_ð`ð `à#•Ô#Ò#Ð#Ð#Ý˜TŸYšY wÑ/Ô/Ñ0Ô0Ð0Øð Vð V�CÝ  §¢Ð*TÐ*TÐPSÐ*TÑ*TÔ*TÑ!TÔ!TÑUÔUÐUÐUðVð Và"•Ô"Ò"Ð"Ð"Ý�TœZ­¨U©¬½SÐAÑAÔAÑBÔBÐBÐBÐBÝÔ#Ò#Ð#Ø"Ð0 g¨a¤j�	Ø!ð :ð :�DÝ  §¢¨)°RÑ!8Ô!8Ñ9Ô9Ð9Ð9ð:ð :ð $Ð#r   )r9   Údatac                ór  — t          j        |¦  «        r$t          |t          ¦  «        st	          |¦  «        }| j        t          j        k    r'|�%t          | 	                    |d¦  «        ¦  «         dS | j        t          j
        k    rdnd}t          t          j        ||t          ¬¦  «        ¦  «         dS )z„Print structured data as JSON in all modes (indented for human, compact otherwise).

        Accepts a dict or a dataclass.
        Nr^   é   )Úindentr]   )ÚdataclassesÚis_dataclassÚ
isinstanceÚtypeÚ_dataclass_to_dictr%   r   r   r"   r@   r   r   re   rf   )r*   rp   r9   rs   s       r   ÚdictzOutput.dict™   s¨   € õ
 Ô# DÑ)Ô)ð 	,µ*¸TÅ4Ñ2HÔ2Hð 	,Ý% dÑ+Ô+ˆDØŒ9�Ô*Ò*Ð*¨vÐ/AÝ˜Ÿš &¨"Ñ-Ô-Ñ.Ô.Ð.ØˆFØ”i¥<Ô#5Ò5Ð5��¸4ˆÝ•T”Z ¨V½SÐAÑAÔAÑBÔBÐBÐBÐBr   Úmessagec                 óü  — | j         xt          j        k    r„ t          j        t          dd¦  «        › d|› �¦  «        g}|                     ¦   «         D ]"\  }}|�|                     d|› d|› �¦  «         Œ#t          d 	                    |¦  «        ¦  «         dS xt          j
        k    rG d„ |                     ¦   «         D ¦   «         }t          |rd 	                    |¦  «        n|¦  «         dS xt          j        k    r/ t          |rt          j        |t          ¬	¦  «        nd
¦  «         dS t          j        k    r<t          |                     ¦   «         ¦  «        }|rt          |d         ¦  «         dS dS dS )z"Print a success summary to stdout.u   âœ“z[OK]ú Nz  z: ú
c                 ó&   — g | ]\  }}|®|› d|› �‘ŒS )Nú=r   rV   s      r   rF   z!Output.result.<locals>.<listcomp>°   s'   € ÐNÐNÐN©¨¨1ÀÀ˜A˜˜ ˜˜ÀÀÀr   r\   r^   r   )r%   r   r   r	   ÚgreenÚ_ascii_safer;   Úappendr"   rd   r   r   re   rf   r   r_   r   )r*   rz   rp   ÚpartsrW   rS   r   s          r   ÚresultzOutput.result¦   s…  € àŒiØ#•Ô#Ò#Ð#Ð#Ýœ¥{°5¸&Ñ'AÔ'AÐ$MÐ$MÀGÐ$MÐ$MÑNÔNÐO�Ø ŸJšJ™LœLð 4ð 4‘D�A�qØ�}ØŸš ]¨! ] ]¨q ] ]Ñ3Ô3Ð3øÝ˜TŸYšY uÑ-Ô-Ñ.Ô.Ð.Ð.Ð.Ø#•Ô#Ò#Ð#Ð#ØNÐN°·
²
±´ÐNÑNÔN�Ý°ÐB˜SŸXšX e™_œ_˜_¸7ÑCÔCÐCÐCÐCØ"•Ô"Ò"Ð"Ð"Ý¸dÐJ�TœZ¨µcÐ:Ñ:Ô:Ð:ÈÑKÔKÐKÐKÐKÝÔ#Ò#Ð#Ý˜dŸkšk™mœmÑ,Ô,�Øð ,Ý  ¨¤Ñ+Ô+Ð+Ð+Ð+ð,ð ,ð $Ð#r   Fz--yes)r]   ÚyesÚconfirm_paramr]   r…   r†   c                ó�   — |rdS | j         t          j        k    rt          |› d|› d�¦  «        ‚t	          j        ||d¬¦  «         dS )zV
        Ask for confirmation. Raises `ConfirmationError` in non-human modes.
        Nz Use z to skip confirmation.T)r]   Úabort)r%   r   r   r   ÚclickÚconfirm)r*   rz   r]   r…   r†   s        r   rŠ   zOutput.confirm¹   s]   € ð ð 	ØˆFØŒ9�Ô*Ò*Ð*Ý# wÐ$ZÐ$Z°]Ð$ZÐ$ZÐ$ZÑ[Ô[Ð[ÝŒ�g w°dÐ;Ñ;Ô;Ð;Ð;Ð;r   c                 óz   — t          | j        t          j        k    ¬¦  «        }|�|                     |¦  «         |S )zEReturn a status line that emits only in human mode (no-op otherwise).)Úenabled)r
   r%   r   r   Úupdate)r*   rz   Ústatuss      r   rŽ   zOutput.statusÃ   s9   € å D¤IµÔ1CÒ$CÐDÑDÔDˆØÐØ�MŠM˜'Ñ"Ô"Ð"Øˆr   c                 óÐ   — | j         t          j        k    r2t          t	          j        d|› �¦  «        t          j        ¬¦  «         dS t          d|› �t          j        ¬¦  «         dS )z0Print a non-fatal warning to stderr (all modes).z	Warning: ©ÚfileN)r%   r   r   r"   r	   ÚyellowÚsysÚstderr©r*   rz   s     r   ÚwarningzOutput.warningÊ   sd   € àŒ9�Ô*Ò*Ð*Ý�œÐ%:°Ð%:Ð%:Ñ;Ô;Å#Ä*ÐMÑMÔMÐMÐMÐMåÐ. WÐ.Ð.µS´ZÐ@Ñ@Ô@Ð@Ð@Ð@r   c                 óÐ   — | j         t          j        k    r2t          t	          j        d|› �¦  «        t          j        ¬¦  «         dS t          d|› �t          j        ¬¦  «         dS )z%Print an error to stderr (all modes).zError: r�   N)r%   r   r   r"   r	   Úredr“   r”   r•   s     r   ÚerrorzOutput.errorÑ   sd   € àŒ9�Ô*Ò*Ð*Ý�œÐ"5¨GÐ"5Ð"5Ñ6Ô6½S¼ZÐHÑHÔHÐHÐHÐHåÐ, 7Ð,Ð,µ3´:Ð>Ñ>Ô>Ð>Ð>Ð>r   c                 óò   — | j         t          j        k    rdS | j         t          j        k    r/t	          t          j        |¦  «        t          j        ¬¦  «         dS t	          |t          j        ¬¦  «         dS )a  Print a text message to stderr (human: gray, json/agent: plain text).

        Suppressed in quiet mode. Kept in json mode (like agent) since agents
        commonly run with ``--format json`` and the message goes to stderr so
        it never pollutes the parsed stdout.
        Nr�   )	r%   r   r   r   r"   r	   Úgrayr“   r”   r•   s     r   Úlogz
Output.logØ   si   € ð Œ9�Ô*Ò*Ð*ØˆFØŒ9�Ô*Ò*Ð*Ý�œ 7Ñ+Ô+µ#´*Ð=Ñ=Ô=Ð=Ð=Ð=å˜¥s¤zÐ2Ñ2Ô2Ð2Ð2Ð2r   c                 ó6   — |                       d|› �¦  «         dS )a:  Print a helpful hint to stderr (human: gray, json/agent: plain text).

        Suppressed in quiet mode. Kept in json mode (like agent) since agents
        commonly run with ``--format json`` and the next-command hints are useful
        there; hints go to stderr so they never pollute the parsed stdout.
        zHint: N)rœ   r•   s     r   rc   zOutput.hintæ   s%   € ð 	�ŠÐ#˜'Ð#Ð#Ñ$Ô$Ð$Ð$Ð$r   )r   Nr1   )r   r   r   r   r   Ú__annotations__Úboolr+   r   r(   r/   r2   rf   r7   r   ry   r   r_   ro   r„   rŠ   r
   rŽ   r–   r™   rœ   rc   r   r   r   r$   r$   1   s  € € € € € € ðð ð ÐÐÑØÐÐÑðð ð ð ð -9Ô,=ð $ð $˜\ð $À$ð $ð $ð $ð $ð'¨4ð '°Dð 'ð 'ð 'ð 'ð/˜$ð /ð /ð /ð /ð(À$Ð\`ð (ð (ð (˜˜d™
ð (°S¸4±Zð (ÈsÐUYÉzð (Ðeið (ð (ð (ð (ð* %)Ø!Ø,0ð8:ð 8:ð 8:à˜˜S #˜XœÔ'ð8:ð �c”˜TÑ!ð	8:ð
 �d‘
ð8:ð ˜˜c˜”N TÑ)ð8:ð 
ð8:ð 8:ð 8:ð 8:ðt 7;ð Cð Cð C˜ð C¨¨t©ð C¸tð Cð Cð Cð Cð,˜cð ,¨3ð ,°4ð ,ð ,ð ,ð ,ð& 8=È%Ðfmð <ð <ð <˜sð <°ð <À4ð <Ð`cð <Ðrvð <ð <ð <ð <ðð ˜c D™jð °Jð ð ð ð ðA˜sð A tð Að Að Að Að?˜Sð ? Tð ?ð ?ð ?ð ?ð3˜3ð 3 4ð 3ð 3ð 3ð 3ð%˜Cð % Dð %ð %ð %ð %ð %ð %r   r$   ÚcharÚfallbackc                 ó    — t          t          j        dd¦  «        pd}	 |                      |¦  «         n# t          t
          f$ r |cY S w xY w| S )u  Return `char`, or `fallback` if stdout cannot encode it.

    On Windows, `sys.stdout` uses the ANSI code page (e.g. cp1252) instead of the console
    encoding whenever it is not attached to a console (output redirected, piped, captured by
    a CI step). Printing a decoration like "âœ“" then raises `UnicodeEncodeError` - a
    `ValueError` subclass, so it surfaces as a confusing "Invalid value." error and aborts
    the command. Cached since the stream encoding is fixed for the lifetime of the process.
    ÚencodingNzutf-8)Úgetattrr“   ÚstdoutÚencodeÚLookupErrorÚUnicodeEncodeError)r    r¡   r£   s      r   r�   r�   ó   se   € õ •s”z :¨tÑ4Ô4Ð?¸€HðØ�Š�HÑÔÐÐøÝÕ+Ð,ð ð ð Øˆˆˆðøøøà€Ks   Ÿ5 µAÁ
ArS   c                 ó
  — t          | t          j        ¦  «        r|                      ¦   «         S t          | t          ¦  «        rd„ |                      ¦   «         D ¦   «         S t          | t
          ¦  «        rd„ | D ¦   «         S | S )z4Recursively serialize a value to be JSON-compatible.c                 ó8   — i | ]\  }}|®|t          |¦  «        “ŒS r1   ©Ú_serialize_value)rA   ÚkeyÚvals      r   rX   z$_serialize_value.<locals>.<dictcomp>
  s(   € ÐXÐXÐX©x¨s°CÈÈ�Õ% cÑ*Ô*ÈÈÈr   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   r«   )rA   rB   s     r   rF   z$_serialize_value.<locals>.<listcomp>  s!   € Ð5Ð5Ð5¨4Õ  Ñ&Ô&Ð5Ð5Ð5r   )rv   ÚdatetimeÚ	isoformatry   r;   r_   )rS   s    r   r¬   r¬     s~   € å�!•XÔ&Ñ'Ô'ð 6Ø�{Š{‰}Œ}ÐÝ	�A•tÑ	Ô	ð 6ØXÐX¸1¿7º7¹9¼9ÐXÑXÔXÐXÝ	�A•tÑ	Ô	ð 6Ø5Ð5°1Ð5Ñ5Ô5Ð5Ø€Hr   Úinfoc                 ób   — d„ t          j        | ¦  «                             ¦   «         D ¦   «         S )z0Convert a dataclass to a json-serializable dict.c                 ó8   — i | ]\  }}|®|t          |¦  «        “ŒS r1   r«   rV   s      r   rX   z&_dataclass_to_dict.<locals>.<dictcomp>  s-   € ÐaÐaÐa¡t q¨!ÐSTÐS`ˆAÕ Ñ"Ô"ÐS`ÐS`ÐS`r   )rt   Úasdictr;   )r²   s    r   rx   rx     s-   € àaÐa­{Ô/AÀ$Ñ/GÔ/G×/MÒ/MÑ/OÔ/OÐaÑaÔaÐar   z\033\[[0-9;]*mr7   c                 ó8   — t                                d| ¦  «        S )Nr^   )Ú_ANSI_REÚsub©r7   s    r   r6   r6     s   € Ý�<Š<˜˜DÑ!Ô!Ð!r   c                 óP   — d                      |                      ¦   «         ¦  «        S )Nr|   )rd   Úsplitr¹   s    r   Ú_single_liner¼     s   € Ø�8Š8�D—J’J‘L”LÑ!Ô!Ð!r   Únamec                 óV   — t          j        dd| ¦  «        }|                     ¦   «         S )zAConvert a camelCase or PascalCase string to SCREAMING_SNAKE_CASE.z([a-z])([A-Z])z\1_\2)Úrer¸   Úupper)r½   Úss     r   rL   rL      s$   € å
ŒÐ  (¨DÑ1Ô1€AØ�7Š7‰9Œ9Ðr   r8   rh   c                 óv   ‡— i }t          | ¦  «        D ]%\  Š}t          ˆfd„|D ¦   «         ¦  «        rd||<   Œ&|S )zNReturn ``{"col": "right"}`` for columns where every non-None value is numeric.c              3   ó¨   •K  — | ]L}|‰         d u p=t          |‰         t          t          f¦  «        ot          |‰         t          ¦  «         V — ŒMd S r1   )rv   ÚintÚfloatrŸ   )rA   rT   Úcs     €r   rD   z$_infer_alignments.<locals>.<genexpr>*  s]   øè è € ÐuÐuÐilˆs�1Œv˜ˆ~Ðd¥*¨S°¬Vµc½5°\Ñ"BÔ"BÐ"cÍ:ÐVYÐZ[ÔV\Õ^bÑKcÔKcÐGcÐuÐuÐuÐuÐuÐur   Úright)Ú	enumerateÚall)r8   rh   r„   rI   rÆ   s       @r   rb   rb   &  sX   ø€ à€FÝ˜'Ñ"Ô"ð  ð  ‰ˆˆ1ÝÐuÐuÐuÐuÐptÐuÑuÔuÑuÔuð 	 ØˆF�1‰IøØ€Mr   Úvaluec                 óÂ  — | €dS t          | t          ¦  «        r| rt          dd¦  «        ndS t          | t          j        ¦  «        r|                      d¦  «        S t          | t
          ¦  «        rt          j        d| ¦  «        r
| dd…         S t          | t
          ¦  «        rt          | ¦  «        S t          | t          ¦  «        rd 
                    d	„ | D ¦   «         ¦  «        S t          | t          ¦  «        rGd
| v r"t          t          | d
         ¦  «        ¦  «        S t          t          j        | ¦  «        ¦  «        S t          t          | ¦  «        ¦  «        S )z/Convert a value to string for terminal display.Nr^   u   âœ”r…   z%Y-%m-%dz^\d{4}-\d{2}-\d{2}Té
   z, c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r1   rP   rR   s     r   rD   z,_format_table_value_human.<locals>.<genexpr><  s+   è è € ÐEÐE¸!Õ2°1Ñ5Ô5ÐEÐEÐEÐEÐEÐEr   r½   )rv   rŸ   r�   r°   Ústrftimerf   r¿   Úmatchr¼   r_   rd   ry   r   re   ©rÊ   s    r   rQ   rQ   /  sG  € à€}ØˆrÝ�%�ÑÔð :Ø,1Ð9�{˜5 %Ñ(Ô(Ð(°rÐ9Ý�%�Ô*Ñ+Ô+ð *Ø�~Š~˜jÑ)Ô)Ð)Ý�%�ÑÔð ¥"¤(Ð+AÀ5Ñ"IÔ"Ið Ø�S�b�SŒzÐÝ�%�ÑÔð #Ý˜EÑ"Ô"Ð"Ý�%�ÑÔð /Ø�yŠyÐEÐE¸uÐEÑEÔEÑEÔEÐEÝ	�E�4Ñ	 Ô	 ð /Ø�Uˆ?ˆ?Ý¥ E¨&¤MÑ 2Ô 2Ñ3Ô3Ð3Ý�DœJ uÑ-Ô-Ñ.Ô.Ð.Ý�˜E™
œ
Ñ#Ô#Ð#r   r&   c                ó¨  ‡ ‡‡‡— |s‰sdS t          ‰ ¦  «        }ˆ ˆfd„t          |¦  «        D ¦   «         }t          j        ¦   «         j        t          d|dz
  ¦  «        z
  }t          |¦  «        |k    rdS |                     ¦   «         Šd„ ‰ D ¦   «         Št          ‰¦  «        |k    rXt          ˆfd„t          ‰¦  «        D ¦   «         ˆfd„d¬	¦  «        }|dk     rn#‰|xx         dz  cc<   t          ‰¦  «        |k    °Xd}‰D ]K}t          |¦  «        D ]9\  }	}
t          |
¦  «        ‰|	         k    rd
}|
d‰|	         dz
  …         dz   ||	<   Œ:ŒL|S )a  Truncate cells in-place to fit the current terminal width.

    Returns `True` if any cell was truncated, so the caller can emit a hint.
    `shutil.get_terminal_size` is cross-platform: it honors `$COLUMNS`, then
    queries the OS-native API, then falls back to `(80, 24)`.
    Fc                 ó    •‡— g | ]IŠt          t          ‰‰         ¦  «        gˆˆfd „t          t          ‰¦  «        ¦  «        D ¦   «         ¢R Ž ‘ŒJS )c              3   óN   •K  — | ]}t          ‰|         ‰         ¦  «        V — Œ d S r1   )Úlen)rA   ÚrrÆ   rh   s     €€r   rD   z/_truncate_columns.<locals>.<listcomp>.<genexpr>U  s1   øè è € Ð%PÐ%P¸!¥c¨$¨q¬'°!¬*¡o¤oÐ%PÐ%PÐ%PÐ%PÐ%PÐ%Pr   )ÚmaxrÔ   Úrange)rA   rÆ   r8   rh   s    @€€r   rF   z%_truncate_columns.<locals>.<listcomp>U  s[   øø€ ÐdÐdÐdÐVW�s•3�w˜q”z‘?”?ÐQÐ%PÐ%PÐ%PÐ%PÐ%P½uÅSÈÁYÄYÑ?OÔ?OÐ%PÑ%PÔ%PÐQÐQÐQÐdÐdÐdr   r   é   c                 óH   — g | ]}t          t          |¦  «        d ¦  «        ‘Œ S )é   )rÖ   rÔ   rM   s     r   rF   z%_truncate_columns.<locals>.<listcomp>`  s&   € Ð2Ð2Ð2 Q•#•c˜!‘f”f˜a‘.”.Ð2Ð2Ð2r   c              3   ó:   •K  — | ]\  }}|‰|         k    ¯|V — Œd S r1   r   )rA   ÚiÚwÚ
min_widthss      €r   rD   z$_truncate_columns.<locals>.<genexpr>c  s5   øè è € Ð@Ð@‘4�1�a¨a°*¸Q´-Ò.?Ð.?ˆQÐ.?Ð.?Ð.?Ð.?Ð@Ð@r   c                 ó   •— ‰|          S r1   r   )rÜ   Úcapss    €r   ú<lambda>z#_truncate_columns.<locals>.<lambda>d  s   ø€ ˜$˜qœ'€ r   éÿÿÿÿ)r­   r]   TNé   z...)	rÔ   r×   ÚshutilÚget_terminal_sizeÚcolumnsrÖ   ÚsumÚcopyrÈ   )r8   rh   r&   ÚnÚnaturalÚbudgetÚwidestÚ	truncatedrT   rÆ   Úcellrà   rÞ   s   ``         @@r   ra   ra   D  s§  øøøø€ ð ð ˜$ð ØˆuåˆG‰Œ€AàdÐdÐdÐdÐdÕ[`ÐabÑ[cÔ[cÐdÑdÔd€Gõ Ô%Ñ'Ô'Ô/µ#°a¸¸Q¹±-´-Ñ?€FÝ
ˆ7�|„|�vÒÐØˆuð
 �<Š<‰>Œ>€DØ2Ð2¨'Ð2Ñ2Ô2€JÝ
ˆd‰)Œ)�fÒ
Ð
ÝØ@Ð@Ð@Ð@�9 T™?œ?Ð@Ñ@Ô@Ø!Ð!Ð!Ð!Øð
ñ 
ô 
ˆð
 �AŠ:ˆ:ØØˆVˆˆŒ˜Ñˆˆ‰õ ˆd‰)Œ)�fÒ
Ð
ð €IØð 5ð 5ˆÝ  ‘~”~ð 	5ð 	5‰GˆAˆtÝ�4‰yŒy˜4 œ7Ò"Ð"Ø �	Ø˜m  Q¤¨!¡˜mÔ,¨uÑ4��A‘øð	5ð Ðr   c                 ó–   — t          | t          j        ¦  «        r|                      ¦   «         S t          t	          | ¦  «        ¦  «        S )zHFormat a cell value for agent TSV output (ISO timestamps, tabs escaped).)rv   r°   r±   r¼   rf   rÐ   s    r   r[   r[   t  s;   € å�%�Ô*Ñ+Ô+ð !Ø�ŠÑ Ô Ð Ý�˜E™
œ
Ñ#Ô#Ð#r   ).r   rt   r°   r   r¿   rä   r“   Úcollections.abcr   Úenumr   Ú	functoolsr   Útypingr   r   r‰   Úhuggingface_hub.errorsr   Úhuggingface_hub.utilsr	   r
   r   r   r   rf   r   r"   r$   r�   Úobjectr¬   ry   rx   Úcompiler·   r6   r¼   rL   r_   rb   rQ   rŸ   ra   r[   Úoutr   r   r   ú<module>rù      s7  ðð )Ð (à Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	Ø €€€Ø 
€
€
€
Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð à €€€à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]Ð ]ðð ð ð ð �3˜ñ ô ð ð)˜#ð )¨ð )°ð )ð )ð )ð )ð|%ð |%ð |%ð |%ð |%ñ |%ô |%ð |%ðD ð�cð  Sð ¨Sð ð ð ñ „ðð"˜ð  6ð ð ð ð ðb˜Sð b T¨#¨s¨(¤^ð bð bð bð bð
 ˆ2Œ:Ð'Ñ(Ô(€ð"�cð "˜cð "ð "ð "ð "ð"�sð "˜sð "ð "ð "ð "ð�Sð ˜Sð ð ð ð ð˜t Cœyð °°T¸#´Y´ð ÀDÈÈcÈÄNð ð ð ð ð$ Sð $¨Sð $ð $ð $ð $ð*-Ø�#ŒYð-à
ˆt�CŒyŒ/ð-ð ð	-ð
 
ð-ð -ð -ð -ð`$ Cð $¨Cð $ð $ð $ð $ð €f�h„h€€€r   