
    g/                     d    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y)
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y)ANSIz;
    Helper for en.wikipedia.org/wiki/ANSI_escape_code
    z[1mz[90mz[31mz[0mz[33msreturnc                 :    | j                  || j                        S N)_format_boldclsr   s     X/var/www/openai/venv/lib/python3.12/site-packages/huggingface_hub/commands/_cli_utils.pyboldz	ANSI.bold       {{1cii((    c                 :    | j                  || j                        S r
   )r   _grayr   s     r   grayz	ANSI.gray#   r   r   c                 T    | j                  || j                  | j                  z         S r
   )r   r   _redr   s     r   redzANSI.red'   s     {{1cii#((233r   c                 :    | j                  || j                        S r
   )r   _yellowr   s     r   yellowzANSI.yellow+   s    {{1ckk**r   codec                 h    t         j                  j                  d      r|S | | | j                   S )NNO_COLOR)osenvironget_reset)r   r   r   s      r   r   zANSI._format/   s.    ::>>*%Hs3::,''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 +s +s + + ( (3 (3 ( (r   r   rowsheadersr   c           	         t        g | | D cg c]  }t        d |D               }} dt        |      z  j                  | }g }|j	                   |j                  |        |j	                   |j                  |D cg c]  }d|z  	 c}        | D ]   }|j	                   |j                  |        " dj                  |      S c c}w c c}w )z
    Inspired by:

    - stackoverflow.com/a/8356620/593036
    - stackoverflow.com/questions/9535954/printing-lists-as-tabular-data
    c              3   D   K   | ]  }t        t        |              y wr
   )lenr(   ).0xs     r   	<genexpr>ztabulate.<locals>.<genexpr>>   s     /3ac#a&k3s    z{{:{}}} -
)zipmaxr.   formatappendjoin)r*   r+   col
col_widths
row_formatlineswrows           r   tabulater?   7   s     <?;N;Ng;NO;NC#/3//;NJO3*s7|+33Z@JE	LL"""G,-	LL"""j$AjS1Wj$ABC&Z&&,- 99U P %Bs   CC)	r&   r   typingr   r   r   r(   intr?   r)   r   r   <module>rB      sK    2 	  (  (F4U38_-. c s r   