U e5d��@s^dZdddgZddlZddlmZddlmZd d d�ZGd d�d�Zd d �Z e�Z e j Z dS)zGRedo the builtin repr() (representation) but with limits on most sizes.�Repr�repr�recursive_repr�N)�islice)� get_ident�...cs�fdd�}|S)zGDecorator to make a repr function return fillvalue for a recursive callcsXt�����fdd�}t�d�|_t�d�|_t�d�|_t�d�|_t�di�|_|S)Nc sBt|�t�f}|�kr�S��|�z �|�}W5��|�X|S�N)�idr�add�discard)�self�key�result)� fillvalue� repr_running� user_function��/usr/lib64/python3.8/reprlib.py�wrappers   z.decorating_function..wrapper� __module__�__doc__�__name__� __qualname__�__annotations__)�set�getattrrrrrr)rr�r)rrr�decorating_function s    z+recursive_repr..decorating_functionr)rrrrrr s c@s~eZdZdd�Zdd�Zdd�Zddd �Zd d �Zd d �Zdd�Z dd�Z dd�Z dd�Z dd�Z dd�Zdd�Zdd�ZdS) rcCsFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)N�����() �maxlevel�maxtuple�maxlist�maxarray�maxdict�maxset� maxfrozenset�maxdeque� maxstring�maxlong�maxother)r rrr�__init__&sz Repr.__init__cCs|�||j�Sr)�repr1r#)r �xrrrr3sz Repr.reprcCsVt|�j}d|kr$|��}d�|�}t|d|�rFt|d|�||�S|�||�SdS)N� �_�repr_)�typer�split�join�hasattrr� repr_instance)r r0�level�typename�partsrrrr/6s  z Repr.repr1�c s�t|�}|dkr|rd}nX|d�|j���fdd�t||�D�} ||krT| �d�d�| �}|dkrr|rr||}d|||fS)Nrr�csg|]}�|���qSrr)�.0�elem��newlevelr/rr� Gsz'Repr._repr_iterable..�, z%s%s%s)�lenr/r�appendr6) r r0r9�left�right�maxiter�trail�n�s�piecesrr@r�_repr_iterable@s    zRepr._repr_iterablecCs|�||dd|jd�S)N�(�)�,)rMr$�r r0r9rrr� repr_tupleMszRepr.repr_tuplecCs|�||dd|j�S)N�[�])rMr%rQrrr� repr_listPszRepr.repr_listcCs,|sd|jSd|j}|�|||d|j�S)Nz array('%s')z array('%s', [�]))�typecoderMr&)r r0r9�headerrrr� repr_arraySs  zRepr.repr_arraycCs$|sdSt|�}|�||dd|j�S)Nzset()�{�})�_possibly_sortedrMr(rQrrr�repr_setYsz Repr.repr_setcCs$|sdSt|�}|�||dd|j�S)Nz frozenset()z frozenset({z}))r\rMr)rQrrr�repr_frozenset_s  �zRepr.repr_frozensetcCs|�||dd|j�S)Nzdeque([rV)rMr*rQrrr� repr_dequefszRepr.repr_dequec Cs�t|�}|dkrdS|dkr dS|d}|j}g}tt|�|j�D].}|||�}||||�} |�d|| f�qB||jkr�|�d�d�|�} d| fS) Nrz{}z{...}r=z%s: %srrCz{%s})rDr/rr\r'rEr6) r r0r9rJrAr/rLr �keyrepr�valreprrKrrr� repr_dictis    zRepr.repr_dictcCs�t�|d|j��}t|�|jkr�td|jdd�}td|jd|�}t�|d|�|t|�|d��}|d|�d|t|�|d�}|S�Nr��r)�builtinsrr+rD�max�r r0r9rK�i�jrrr�repr_strxs&$z Repr.repr_strcCsht�|�}t|�|jkrdtd|jdd�}td|jd|�}|d|�d|t|�|d�}|Src)rfrrDr,rgrhrrr�repr_int�s  $z Repr.repr_intcCs�zt�|�}Wn(tk r6d|jjt|�fYSXt|�|jkr�td|jdd�}td|jd|�}|d|�d|t|�|d�}|S)Nz<%s instance at %#x>rrdrer) rfr� Exception� __class__rr rDr-rgrhrrrr8�s$zRepr.repr_instanceN)r<)rrrr.rr/rMrRrUrYr]r^r_rbrkrlr8rrrrr$s   cCs,z t|�WStk r&t|�YSXdSr)�sortedrm�list)r0rrrr\�s r\)r) r�__all__rf� itertoolsr�_threadrrrr\�aReprrrrrr�s    s