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