
    g/                         d Z ddlZddlmZmZ  G d d          Zdeeeeef                           dee         defd	ZdS )
z+Contains a utility for good-looking prints.    N)ListUnionc                       e Zd ZdZdZdZdZdZdZe	de
de
fd	            Ze	de
de
fd
            Ze	de
de
fd            Ze	de
de
fd            Ze	de
de
de
fd            ZdS )ANSIz;
    Helper for en.wikipedia.org/wiki/ANSI_escape_code
    z[1mz[90mz[31mz[0mz[33msreturnc                 8    |                      || j                  S N)_format_boldclsr   s     _/var/www/html/ai-engine/env/lib/python3.11/site-packages/huggingface_hub/commands/_cli_utils.pyboldz	ANSI.bold       {{1ci(((    c                 8    |                      || j                  S r
   )r   _grayr   s     r   grayz	ANSI.gray#   r   r   c                 H    |                      || j        | j        z             S r
   )r   r   _redr   s     r   redzANSI.red'   s    {{1ci#(2333r   c                 8    |                      || j                  S r
   )r   _yellowr   s     r   yellowzANSI.yellow+   s    {{1ck***r   codec                 ^    t           j                            d          r|S | | | j         S )NNO_COLOR)osenvironget_reset)r   r   r   s      r   r   zANSI._format/   s5    :>>*%% 	H''3:'''r   N)__name__
__module____qualname____doc__r   r   r   r"   r   classmethodstrr   r   r   r   r    r   r   r   r      s$         EEDFG)S )S ) ) ) [) )S )S ) ) ) [) 4C 4C 4 4 4 [4 +s +s + + + [+ ( (3 (3 ( ( ( [( ( (r   r   rowsheadersr   c                 `   d t          g | |R  D             } dt          |          z  j        | }g }|                     |j        |            |                     |j        d |D                         | D ]}|                     |j        |             d                    |          S )z
    Inspired by:

    - stackoverflow.com/a/8356620/593036
    - stackoverflow.com/questions/9535954/printing-lists-as-tabular-data
    c                 @    g | ]}t          d  |D                       S )c              3   N   K   | ] }t          t          |                    V  !d S r
   )lenr(   ).0xs     r   	<genexpr>z&tabulate.<locals>.<listcomp>.<genexpr>>   s.      //ac#a&&kk//////r   )max)r0   cols     r   
<listcomp>ztabulate.<locals>.<listcomp>>   s/    OOOC#//3/////OOOr   z{{:{}}} c                     g | ]}d |z  S )-r)   )r0   ws     r   r5   ztabulate.<locals>.<listcomp>B   s    $A$A$AS1W$A$A$Ar   
)zipr/   formatappendjoin)r*   r+   
col_widths
row_formatlinesrows         r   tabulaterB   7   s     PO3;N;Ng;N;N;NOOOJ3*s7||+3Z@JE	LL""G,---	LL""$A$Aj$A$A$ABCCC . .&Z&,----99Ur   )	r&   r   typingr   r   r   r(   intrB   r)   r   r   <module>rE      s    2 1 				         (  (  (  (  (  (  (  (F4U38_-. c s      r   