
    h>#                     X   d Z ddlZddlmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZmZmZmZmZmZmZmZmZ d	d
lmZ dZ edd      Z edd      Z edd      Z edd      Zee fZ!e
fZ"e#e$fZ% eddd	      Z& eddd      Z' eddd      Z( eddd	      Z) eddd      Z* eddd      Z+ eddd	      Z, eddd      Z- eddd	      Z. eddd      Z/ eddd      Z0d3d Z1e'e+fd!Z2e+fd"Z3d# Z4d$ Z5d4d%Z6d& Z7d' Z8d( Z9d) Z:d3d*Z;d+ Z<ddde=fd,ed-ee   d.e>d/e>d0ed1ee   fd2Z?y)5a  Streaming, truncating, non-recursive version of :func:`repr`.

Differences from regular :func:`repr`:

- Sets are represented the Python 3 way: ``{1, 2}`` vs ``set([1, 2])``.
- Unicode strings does not have the ``u'`` prefix, even on Python 2.
- Empty set formatted as ``set()`` (Python 3), not ``set([])`` (Python 2).
- Longs don't have the ``L`` suffix.

Very slow with no limits, super quick with limits.
    N)deque
namedtuple)Decimal)chain)Number)
_recursion)
AnyAnyStrCallableDictIteratorListOptionalSequenceSetTuple   )truncate)saferepr
reprstream_literal)valuer   	direction_key)r   _quoted_dirty)objid{F: T}[]z, ()z,)   c                 >    dj                  t        | |||            S )zSafe version of :func:`repr`.

    Warning:
        Make sure you set the maxlen argument, or it will be very slow
        for recursive objects.  With the maxlen set, it's often faster
        than built-in repr.
     )maxlen	maxlevelsseen)join	_saferepr)or)   r*   r+   s       Q/var/www/Befach/backend/env/lib/python3.12/site-packages/celery/utils/saferepr.pyr   r   B   s%     779	&ID      c              #      K   t        |       }t        | j                               D ]*  \  }\  }}t        |       | | ||dz
  k  s'| , y wNr   )len	enumerateitemsr   )mappingLIT_DICT_KVSEPLIT_LIST_SEPsizeikvs          r/   
_chaindictr=   P   sS      w<Dw}}/	6Aq1gq> 0s   AAAc              #   j   K   t        |       }t        |       D ]  \  }}| ||dz
  k  s|  y wr2   )r3   r4   )itr8   r9   r:   r<   s        r/   
_chainlistr@   ]   s7     r7D"1q> s   )33c                 2    t        |       j                   dS )Nz())type__name__ss    r/   _repr_empty_setrF   f   s    1gr""r0   c                     t        | t              r	 | j                  d       | S | S # t        $ r | j	                  dd      cY S w xY w)Nutf-8backslashreplace)errors)
isinstancebytesencodeUnicodeDecodeErrordecodevals    r/   	_safetextrR   k   sR    #u	BJJw
 J3J	 " 	B ::g.@:AA	Bs   ' AAc                     |rDt        |       |kD  r6t        |       d | j                         }t        dt	        |       | d      S t        dt	        |        d      S )N')r3   
memoryviewtobytes_bytes_prefix_repr_binary_bytes)rQ   r)   ellipsischunks       r/   _format_binary_bytesr[   w   sc    #c(V#3(002q!3E!: ;H:QGHH1/45Q788r0   c                     d| z   S )Nb rD   s    r/   rW   rW      s    7Nr0   c                 d    	 | j                  d      S # t        $ r | j                         cY S w xY w)NrH   )rO   rN   hexrP   s    r/   rX   rX      s1    zz'"" wwys    //c                     t        | t              rt        | |      S dj                  t	        | |      j                  dd            S )Nz'{}'rT   z\')rK   rL   r[   formatr   replace)rQ   r)   s     r/   _format_charsrd      s<    #u#C00}}Xc62::3FGGr0   c           	          	 t        |       S # t        $ rN}dj                  t        j                               }dt        |       t        |       dd|d|dcY d }~S d }~ww xY w)N
z<Unrepresentable z#xr    >)repr	Exceptionr,   	tracebackformat_stackrB   id)objexcstacks      r/   _reprrq      sd    QCy Q		)0023"49-3|2cWAeYaPPQs   
 	A$AAA$A$c              #   @  K   t        t        | g      g      }t        |||      D ]  \  }}||dk  rd |j                  |        nt	        |t
              r|j                  }ndt	        |t              rt        |j                  ||      }n<t	        |t              rt        |j                  |      }nt        t        ||            }| ||t        |      z  } |D ]5  }|D ].  }	t	        |	t
              s|	j                  r!|	j                   0 7 y w)N)r+   r*   r   z, ...)r   iterr   appendrK   r   r   r   r   r   rd   rR   r   r3   )
r.   r)   r*   r+   rp   tokenr?   rQ   rest1rest2s
             r/   r-   r-      s     49+EDIF	r&A+M LLeX&++Ct$5;;	:Cw'V4CHUF34C	c#hF# G$ E%*5>>kk!  s   CD*D>DDc                     t        |       |u r|| ||       fS t        t        |       j                   d|j                   dd      t        |j                   ddd       ||       fS )Nr$   Fr   r%   r!   )rB   r   rC   r   )rQ   	lit_startlit_endbuiltin_typechainers        r/   _reprseqr}      sn    CyL '73<//DI&&'q(9:E2FGMM?!$eR0 r0   rp   r+   r*   levelrK   returnc           
   #     K   |xs
 t               }| j                  }| j                  }|j                  }|j                  }|j
                  }	| r1dx}
} |       }|D ]  }|} ||t              r ||j                         & ||t              r||j                  z  }||f I ||t              r||f ] ||t              rt        |      |f z ||t              rt        |      |f  ||t              rt!        |      |f  ||t"              rt        |      |f  ||t$              r6|st'        |      |f t)        |t*        t,        t         t.              \  }
}}n ||t0              r,t2        t5        |      dk(  rt6        nt8        t/        |      }}}
n[ ||t:              rt<        t>        tA        |      }}}
n6 ||tB              rtD        tF        t/        |      }}}
nt        |      |f |r&||k\  r!|
jH                   d|jH                   |f tK        |      } ||      rtM        |      |f  |	|        |tO        |
g|t        |      |g|              n | r0yyw)z Streaming repr, yielding tokens.Nr   ...)(setrt   popleft__contains__discardaddr   r   r   r   r   r   rq   safe_tstrchars_tr   rangeset_trF   r}   LIT_SET_STARTLIT_SET_ENDr@   tupleLIT_TUPLE_STARTr3   LIT_TUPLE_END_SVLIT_TUPLE_ENDdictLIT_DICT_STARTLIT_DICT_ENDr=   listLIT_LIST_STARTLIT_LIST_ENDr   rm   r   r   )rp   r+   r*   r~   rK   rt   r   
is_in_seendiscard_from_seenadd_to_seenry   rz   r?   rQ   origr   s                   r/   r   r      sQ     =35D\\FmmG""J((K
""	GYCD#v&!#)),C*&2gC&2gC)Cj"n$C(#hl"C)clB&&C'Cj"n$c5)-c2B66 .6]Kj/+Iw  U+',/HM(}"3 ),wI  T*&jo ),wIT*&jo ),wI  *b.()!3&__-S@"DD4e$$T*B..E"
 ui[#uw/GLMq  s   I<J J)Nr&   N)r   )@__doc__rk   collectionsr   r   decimalr   	itertoolsr   numbersr   pprintr   typingr	   r
   r   r   r   r   r   r   r   r   textr   __all__r   r   r   r   rL   r   r   r   	frozensetr   r   r   r7   r   r   r   r8   r   r   r   r   r   r   r=   r@   rF   rR   r[   rW   rX   rd   rq   r-   r}   rK   intr   r^   r0   r/   <module>r      s  
  )     ^ ^ ^ 
$ j"DE &*% Y

+ 
Hj	) #,  
C#ub)$a(UB'#ub)UB'dA&eR(sE2&3r*eR(D%,  -(
 !- #
	9HQ"8 &* !&0	He Hc]HH H $	H 6>c]	Hr0   