+
    DfjZ                     :    R t ^ RIHt ^RIHt ^RIHt R R ltR# )z
Logging utilities.
)List)LogTrace)Loggerc                0    V ^8  d   QhR\         R\        /# )   tracereturn)r   str)formats   "6/usr/lib/python3/dist-packages/twisted/logger/_util.py__annotate__r      s     $ $x $C $    c                   R R lp. p. pV  F  w  rEV'       d   VR,          VJdZ   WC9   d!   VR,          VJd   VP                  4        K  M3V'       g   VP                  V! V4       R24       VP                  V4       VP                  R\        V4      ,          4       VP                  RV! V4       R24       K  	  RP                  V4      # )a]  
Format a trace (that is, the contents of the C{log_trace} key of a log
event) as a visual indication of the message's propagation through various
observers.

@param trace: the contents of the C{log_trace} key from an event.

@return: A multi-line string with indentation and arrows indicating the
    flow of the message through various observers.
c                0    V ^8  d   QhR\         R\        /# )r   objr   )objectr	   )r
   s   "r   r   !formatTrace.<locals>.__annotate__   s      F s r   c                 P    \        V R 4      '       d   V  RV P                   R2# V  # )namez ())hasattrr   )r   s   &r   formatWithName#formatTrace.<locals>.formatWithName   s-    3U"SXXJa((UOr   
z  z->  )popappendlenjoin)r   r   resultlineageparentchilds   &     r   formatTracer$      s     FG'"+V3 bk/KKM 0 MM^F%;$<B"?@v&dS\)*N512"56  776?r   N)__doc__typingr   _interfacesr   _loggerr   r$    r   r   <module>r*      s   
  ! $r   