a
    ibòfÕ  ã                	   @   s  d dl mZ d dlZd dlmZmZmZmZmZm	Z	m
Z
mZmZmZ edƒZee
eee eeef eeeef f  ZeZG dd„ deƒZe	ee edœdd	„ƒZe	d
dœeeegef dœdd	„ƒZdddœee ee e
eeegef f dœdd	„Ze	ee edœdd„ƒZe	d
dœeeegef dœdd„ƒZdd
dœee ee
eeegef f dœdd„Zedk�reG dd„ dƒƒZeƒ Zd dlmZ eƒ Ze d¡ e e¡ ejedd� ejedd� e d¡ dej_ e e¡ ejedd� ejedd� dS ) é    )ÚpartialN)
ÚAnyÚCallableÚIterableÚListÚOptionalÚoverloadÚUnionÚTupleÚTypeÚTypeVarÚTc                   @   s   e Zd ZdZdS )Ú	ReprErrorz2An error occurred when attempting to build a repr.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r   r   úR/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/pip/_vendor/rich/repr.pyr      s   r   )ÚclsÚreturnc                 C   s   d S ©Nr   ©r   r   r   r   Úauto   s    r   F©Úangular)r   r   c                 C   s   d S r   r   r   r   r   r   r   "   s    ©r   r   r   c                C   sD   dt t tt t t dœdd„}| du r4t||d�S || |d�S dS )z5Class decorator to create __repr__ from __rich_repr__Nr   c                 S   s^   t t tdœdd„}t t tdœdd„}t| dƒs>d|_|| _d|_|| _|d urZ|| j_| S )	N)Úselfr   c                 S   sâ   g }|j }t| jddƒ}|  ¡ D ]‚}t|tƒr–t|ƒdkrL|t|d ƒƒ q¢|^}}}|du rl|t|ƒƒ q¢t|ƒr‚|d |kr‚q ||› d|›�ƒ q |t|ƒƒ q |rÄd| jj› dd 	|¡› d	�S | jj› d
d 	|¡› d�S dS )z%Create repr string from __rich_repr__r   Fé   r   Nú=ú<ú ú>ú(z, ú))
ÚappendÚgetattrÚ__rich_repr__Ú
isinstanceÚtupleÚlenÚreprÚ	__class__r   Újoin)r   Úrepr_strr%   r   ÚargÚkeyÚvalueÚdefaultr   r   r   Ú	auto_repr-   s"    

z+auto.<locals>.do_replace.<locals>.auto_reprc              
   s   s¾   z„t  | j¡}|j ¡ D ]h\}}|j|jkr:t| |ƒV  q|j|j|j	fv r|j
|jkrht| |jƒV  q|jt| |jƒ|j
fV  qW n4 ty¸ } ztd|› �ƒd‚W Y d}~n
d}~0 0 dS )z5Auto generate __rich_rep__ from signature of __init__z'Failed to auto generate __rich_repr__; N)ÚinspectÚ	signatureÚ__init__Ú
parametersÚitemsÚkindÚPOSITIONAL_ONLYr&   ÚPOSITIONAL_OR_KEYWORDÚKEYWORD_ONLYr2   ÚemptyÚnameÚ	Exceptionr   )r   r5   r>   ÚparamÚerrorr   r   r   Úauto_rich_reprF   s$    þÿþz0auto.<locals>.do_replace.<locals>.auto_rich_reprr'   zBuild a rich reprzReturn repr(self))	r   r   ÚstrÚResultÚhasattrr   r'   Ú__repr__r   )r   r   r3   rB   r   r   r   Ú
do_replace,   s    
zauto.<locals>.do_replacer   )N)r   r   r   Úboolr   )r   r   rG   r   r   r   r   '   s     8c                 C   s   d S r   r   r   r   r   r   Ú	rich_reprj   s    rI   c                 C   s   d S r   r   r   r   r   r   rI   o   s    c                C   s   | d u rt |d�S t | ƒS d S )Nr   )r   )r   r   r   r   r   rI   t   s    
Ú__main__c                   @   s   e Zd Zedœdd„ZdS )ÚFoo)r   c                 c   s"   dV  ddg d¢ifV  dV  d S )NÚfooÚbarZshopping)ÚeggsZhamÚ	pineapple)Zbuyzhand sanitizerr   )r   r   r   r   r'   �   s    zFoo.__rich_repr__N)r   r   r   rD   r'   r   r   r   r   rK      s   rK   )ÚConsolezStandard repré<   )Úwidthé   zAngular reprT)N)N)!Ú	functoolsr   r4   Útypingr   r   r   r   r   r   r	   r
   r   r   r   rC   rD   ÚRichReprResultr?   r   r   rH   rI   r   rK   rL   Úpip._vendor.rich.consolerP   ÚconsoleÚruleÚprintr'   r   r   r   r   r   Ú<module>   sV   0*" ÿÿþC" ÿÿþ	




