B Y6d@s^dZdddgZddlZddlmZddlmZd d dZGd ddZd d Z eZ e j Z dS)zGRedo the builtin repr() (representation) but with limits on most sizes.Reprreprrecursive_reprN)islice) get_ident...csfdd}|S)zGDecorator to make a repr function return fillvalue for a recursive callcsXtfdd}td|_td|_td|_td|_tdi|_|S)Nc sBt|tf}|krS|z |}Wd|X|S)N)idradddiscard)selfkeyresult) fillvalue repr_running user_function#/usr/local/lib/python3.7/reprlib.pywrappers   z.decorating_function..wrapper __module____doc____name__ __qualname____annotations__)setgetattrrrrrr)rr)r)rrrdecorating_function s    z+recursive_repr..decorating_functionr)rrr)rrr s c@s~eZdZddZddZddZddd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZdS) rcCsFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)N() maxlevelmaxtuplemaxlistmaxarraymaxdictmaxset maxfrozensetmaxdeque maxstringmaxlongmaxother)r rrr__init__&sz Repr.__init__cCs|||jS)N)repr1r!)r xrrrr3sz Repr.reprcCsVt|j}d|kr$|}d|}t|d|rFt|d|||S|||SdS)N _Zrepr_)typersplitjoinhasattrr repr_instance)r r.leveltypenameZpartsrrrr-6s  z Repr.repr1c st|}|dkr|rd}nX|d|jfddt||D} ||krT| dd| }|dkrr|rr||}d|||fS)Nrz...csg|]}|qSrr).0elem)newlevelr-rr Gsz'Repr._repr_iterable..z, z%s%s%s)lenr-rappendr3) r r.r6ZleftZrightZmaxiterZtrailnspiecesr)r<r-r_repr_iterable@s    zRepr._repr_iterablecCs|||dd|jdS)N(),)rCr")r r.r6rrr repr_tupleMszRepr.repr_tuplecCs|||dd|jS)N[])rCr#)r r.r6rrr repr_listPszRepr.repr_listcCs,|sd|jSd|j}||||d|jS)Nz array('%s')z array('%s', [z]))ZtypecoderCr$)r r.r6Zheaderrrr repr_arraySs  zRepr.repr_arraycCs$|sdSt|}|||dd|jS)Nzset(){})_possibly_sortedrCr&)r r.r6rrrrepr_setYsz Repr.repr_setcCs$|sdSt|}|||dd|jS)Nz frozenset()z frozenset({z}))rNrCr')r r.r6rrrrepr_frozenset_s  zRepr.repr_frozensetcCs|||dd|jS)Nzdeque([z]))rCr()r r.r6rrr repr_dequefszRepr.repr_dequec Cst|}|dkrdS|dkr dS|d}|j}g}xBtt||jD].}|||}||||} |d|| fqDW||jkr|dd|} d| fS) Nrz{}z{...}r9z%s: %sz...z, z{%s})r>r-rrNr%r?r3) r r.r6r@r<r-rBr ZkeyreprZvalreprrArrr repr_dictis    zRepr.repr_dictcCst|d|j}t||jkrtd|jdd}td|jd|}t|d||t||d}|d|d|t||d}|S)Nrz...)builtinsrr)r>max)r r.r6rAijrrrrepr_strxs&$z Repr.repr_strcCsht|}t||jkrdtd|jdd}td|jd|}|d|d|t||d}|S)NrrSrTz...)rUrr>r*rV)r r.r6rArWrXrrrrepr_ints  $z Repr.repr_intcCsyt|}Wn$tk r2d|jjt|fSXt||jkrtd|jdd}td|jd|}|d|d|t||d}|S)Nz<%s instance at %#x>rrSrTz...) rUr Exception __class__rrr>r+rV)r r.r6rArWrXrrrr5s$zRepr.repr_instanceN)r8)rrrr,rr-rCrGrJrKrOrPrQrRrYrZr5rrrrr$s   cCs&yt|Stk r t|SXdS)N)sortedr[list)r.rrrrNsrN)r) r__all__rU itertoolsr_threadrrrrNZaReprrrrrrs    s