+
    i&  c                   s    ^ RI HtHt ^ RIHt ^ RIHt ^ RIt^ RIH	t	H
t
  ! R R]4      t ! R R	]4      tR
 R ltR tR tR tR tR tR tRR ltR tR R ltR tR R ltR R ltR R ltR# )    )defaultdict
namedtuple)count)EnumN)RemoteUnwinder	FrameInfoc                   s    ] tR t^	t^t^tRtR# )NodeType N)__name__
__module____qualname____firstlineno__	COROUTINETASK__static_attributes__r       &/usr/lib64/python3.14/asyncio/tools.pyr   r   	   s    IDr   r   c                   s>   a a ] tR t^t oV3R lV 3R lltRtVtV ;t# )CycleFoundExceptionc                s`   < V ^8  d   QhRS[ S[ S[,          ,          RS[S[S[3,          RR/# )   cyclesid2namereturnN)listintdictstr)format__classdict__s   "r   __annotate__Z CycleFoundException.__annotate__   s9      cO #s(^ 	r   c                s>   < \         SV `  W4       Wn        W n        R # N)Zsuper__init__r   r   )Zselfr   r   	__class__s   &&&r   r   ZCycleFoundException.__init__   s    
 	)r   )r   r   )r	   r
   r   r   r   r   Z__classdictcell__Z__classcell__)r    r   s   @@r   r   r      s       r   r   c                sF    V ^8  d   QhR\         \        ,          R\         /# )r   elemr   )r   r   r      "r   r   r      s      c)m  r   c                 s    \        V \        4      '       gX   V P                  ^ 8X  d   V P                  R8X  d   V P                   # V P                   RV P                   RV P                   2# V # )r      Z:)
isinstancer   ZlinenoZfilenameZfuncname)r!   s   &r   _format_stack_entryr'      sZ    dC  ;;! 3mm_%mm_Admm_Adkk]CCKr   c           	      s   / . / r2pV  F  pVP                    F  pVP                  pVP                  pWqV&   VP                  '       d>   VP                   F-  pVP                  p	V	 U
u. uF  p
\        V
4      NK  	  pp
WV&   K/  	  VP                   '       g   K  VP                    FH  pVP                  p	VP                  pV	 U
u. uF  p
\        V
4      NK  	  pp
VP                  WV34       KJ  	  K  	  K  	  WV3# u up
i u up
i r   )
awaited_bytask_id	task_namecoroutine_stack
call_stackr'   append)resultr   awaitstask_stacksawaited_info	task_infor)   r*   	coro_infor,   frameZinternal_stackZparent_task_idstacks   &             r   _indexr6   %   s   #%r2[G%00I''G!++I(G (((!*!:!:I!*!5!5JNX%YjU&9%&@jN%Y+9( "; ###!*!5!5I!*!5!5J%.%8%8NEOPZE07ZEPMM>'"BC	 "6 1 ( K'' &Z Qs   'C=
D
c                 s  aaaa V P                  4        UUu/ uF  w  r4\        P                  V3VbK  	  uppo\        \        4      o\        \
        4      o\        ^4      oVVVV3R lpV Fl  w  rgp\        P                  V3p	\        V4       F  p
V! W4      p	K  	  \        P                  V3pVSV	,          9  g   KT  SV	,          P                  V4       Kn  	  V UUu0 uF  w  p qkK
  	  pppV  FE  pW9  g   K  W9   g   K  \        P                  V3p	\        W.,          4       F  p
V! W4      p	K  	  KG  	  SS3# u uppi u uppi )   c                 s   < VSV ,          9   d   SV ,          V,          # \         P                  R \        S4       23pVSV&   SV ,          P                  V4       VSV ,          V&   V# )c)r   r   Znextr-   )Zparentr4   Znode_keychildren	cor_nodesid2labelnext_cor_ids   && r   get_or_create_cor_nodeZ+_build_tree.<locals>.get_or_create_cor_nodeD   sn    If%%V$U++&&!D,=+>(?@")#+	&% r   )	Zitemsr   r   r   r   r   r   Zreversedr-   )r   r/   r0   tidZnamer=   	parent_idr5   child_idZcurr4   Z	child_key_Zawaiting_tasksr)   r9   r:   r;   r<   s   &&&            @@@@r   _build_treerB   >   s-   <CMMOLOys$d*OLH4 HD!I(K	 	 '-"	(}}i(e_E(4C % ]]H-	HSM)SM  + '- 8>>vOIq!ivN>(W-C=='*C!+"67,S8 8  XE M6 ?s   E#E	c                 s    VP                  4        UUu0 uF  q" F  q3kK  	  K  	  pppV  Uu. uF  qUV9  g   K  VNK  	  up# u uppi u upi r   )Zvalues)r;   r9   kidsr8   Zall_childrenZns   &&    r   _rootsrD   d   sL    "*//"3B"3$TATA"3LB9x!L#8AAx99 C9s   AA	A	c                 sj    \        \        4      pV  F  w  r#pW,          P                  V4       K  	  V# r   )r   ZsetZadd)r/   gr?   Z_stackr@      &    r   _task_graphrG   i   s0    CA'-#	8	" (.Hr   c                 s   a aaaaaaa ^ ^^uooo\        V3R l4      o. . uooVVVVVVV V3R lo\        S 4       F  pSV,          S8X  g   K  S! V4       K  	  S# )r    c                  s   < S # r   r   )WHITEs   r   Z<lambda>Z_find_cycles.<locals>.<lambda>y   s    r   c                 s:  < SSV &   S
P                  V 4       S	P                  V R4       FX  pSV,          S8X  d   S! V4       K  SV,          S8X  g   K+  S
P                  V4      pSP                  S
VR  V.,           4       KZ  	  SSV &   S
P                  4        R # )Nr   )r-   getZindexZpop)vZwiBLACKGREYrH   colorr   dfsgraphpaths   &  r   rO   Z_find_cycles.<locals>.dfs|   s    aA1b!AQx5 AqT!JJqMd12h!n- " a
r   )r   r   )	rP   rJ   rL   rM   rH   rN   r   rO   rQ   s	   f @@@@@@@r   _find_cyclesrR   q   s^     AqE4&ErLD&
 
 %[8uF  Mr   c                 s8    \        V 4      pVP                  4       # r   )r   get_all_awaited_by)pidZunwinder   & r   rS   rS      s    c"H&&((r   c                 s  aaa	a
aa \        V 4      w  r4p\        V4      p\        V4      pV'       d   \        Ws4      h\	        W4V4      w  o
o	VV
V3R  loRV	VV3R llo\        S
S	4       Uu. uF  pS! V4      NK  	  up# u upi )c                 s`   < V ^ ,          \         P                  8X  d   SMSpV RSV ,           2# )r    r%   )r   r   )nodeZflag	cor_emojilabels
task_emojis   & r   prettyZ build_async_tree.<locals>.pretty   s.    !!W5z9q''r   c           	      s  < Vf   . pTP                  T V'       d   RMR S	! V 4       24       Y'       d   RMR,           pSP                  V . 4      p\        V4       F"  w  rgS
! WtV\        V4      ^,
          8H  V4       K$  	  V# )Nu
   └── u
   ├── z    u   │   )r-   rI   Z	enumerateZlen)rV   ZprefixZlastZbufZnew_prefrC   rK   Zkidr9   rZ   renders   &&&&    r   r[   Z build_async_tree.<locals>.render   s{    ;C

fXdlEfTl^TUtV:||D"%oFA3!s4y1}"4c: &
r   )r$   TN)r6   rG   rR   r   rB   rD   )r.   rY   rW   r   r/   r0   rE   r   Zrootr9   rX   rZ   r[   s   &ff      @@@@r   build_async_treer\      s{     $*&> G[FA!_F!&22"7K@FH(  &,FH%=>%=TF4L%=>>>s   -Bc                 sN   \        V 4      w  p p. pV  EF  pVP                  pVP                   EF`  pVP                  pVP                  pVP
                   U	U
u. uF  p	V	P                   F  p
V
NK  	  K  	  pp	p
R P                  R V 4       4      pVP                  '       g#   VP                  V\        V4      WRRR.4       K  VP                   F  pVP                  pVP                   Uu. uF$  p\        V4      P                  R4      ^ ,          NK&  	  ppR P                  V4      pVP                  VR4      p\        V\        4      '       d   \        V4      M
\        V4      pVP                  V\        V4      WVVV.4       K  	  EKc  	  EK  	  V# u up
p	i u upi )z -> c              3   sd   "   T F&  p\        V4      P                  R 4      ^ ,          x  K(  	  R# 5i)r%   N)r'   split).0xrU   r   	<genexpr>Z#build_task_table.<locals>.<genexpr>   s/      %4,2q &9%;%A%A#%Fq%I%I,2s   .0r$   Z0x0r%   ZUnknown)r6   	thread_idr(   r)   r*   r+   r,   joinr-   hexr'   r]   rI   r&   r   r   )r.   r   rA   tabler1   ra   r2   r)   r*   Zcoror4   ZframesZ
coro_stackr3   r?   r_   Zawaiter_framesZawaiter_chainZawaiter_nameZparent_id_strs   &                   r   build_task_tablere      s   6NMGQE **	%00I''G!++I )2(A(A 3(A"&// "1 (AF 3 %4,2%4 4J '''iWyE+ , '11	%//	)2)=)="?)=A #6a"8">">s"CA"F"F)=  "? &N ;&{{9i@3=i3M3MY$'	N  iWy)<H I 2% 1 @ L13"?s   F
1*F"
c                s$    V ^8  d   QhR\         /# )r   	exception)r   r"   r#   r   r   r      s     3 3&9 3r   c                 s  a  \        R \        P                  R7       \        R\        P                  R7       S P                   F<  pRP	                  V 3R lV 4       4      p\        RV 2\        P                  R7       K>  	  R# )z9ERROR: await-graph contains cycles - cannot print a tree!)Zfiler$   u    → c              3   sn   <"   T F*  pSP                   P                  V\        V4      4      x  K,  	  R # 5ir   )r   rI   rc   )r^   r>   rf   s   & r   r`   Z)_print_cycle_exception.<locals>.<genexpr>   s+     Pasi//33CSBBas   25zcycle: N)printsysZstderrr   rb   )rf   r8   Zinamess   f  r   _print_cycle_exceptionri      sY    	
ECJJW	"3::PaPPx szz2 r   c                  sH    \        R 4       \        P                  ! ^4       R# )zError: The specified process cannot be attached to due to insufficient permissions.
See the Python documentation for details on required privileges and troubleshooting:
https://docs.python.org/3.14/howto/remote_debugging.html#permission-requirements
N)rg   rh   exitr   r   r   exit_with_permission_help_textrk      s     
	]
 HHQKr   c                s0    V ^8  d   QhR\         R\        /# )r   rT   r   )r   r   r"   r#   r   r   r      s     	) 	)s 	)t 	)r   c                 s    \        V 4      #   \         dL   pTP                  e   TP                  pK  \        RT 24       \        P
                  ! ^4        R p?R # R p?i\         d   p\        4         R p?R # R p?ii ; i)NzError retrieving tasks: )rS   ZRuntimeErrorZ__context__rg   rh   rj   ZPermissionErrorrk   )rT   erU   r   _get_awaited_by_tasksrm      sd    )!#&& mm'A(,- )&(()s'   
 BA AB+B,
A<<Bc                (    V ^8  d   QhR\         RR/# r   rT   r   Nr   r"   r#   r   r   r      s     m m m mr   c                 sT   \        V 4      p\        V4      p\        R R RRR RRR RRR RRR RR	R
 RRR
 24       \        R4       V FZ  p\        V^ ,          R RV^,          R RV^,          R RV^,          R RV^,          R RV^,          R
 RV^,          R
 24       K\  	  R# )r>   z<10r%   ztask idz<20z	task namezcoroutine stackz<50zawaiter chainzawaiter namez<15z
awaiter idNz------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------)rm   re   rg   )rT   tasksrd   Zrows   &   r   display_awaited_by_tasks_tablerr      s     "#&EU#E	+QyoQ{3&7q9J38OqQ`adPeefguvyfzz{  }I  JM  |N  	O 
)QAc!fS\3q6#,aAs|1SVCLPQRUVWRXY\Q]]^_bcd_efi^jkl r   c                rn   ro   rp   r"   r#   r   r   r   	  s      s t r   c                 s    \        V 4      p \        V4      pX F  p\        RP                  V4      4       K  	  R#   \         d,   p\        T4       \        P
                  ! ^4        Rp?LVRp?ii ; i)r7   NZ
)rm   r\   r   ri   rh   rj   rg   rb   )rT   rq   r.   rl   ZtreerF   r   display_awaited_by_tasks_treers   	  s`     "#&E!%(
 diio 	  q!s   = A3!A..A3)z(T)r$   )Zcollectionsr   r   Z	itertoolsr   Zenumr   rh   Z_remote_debuggingr   r   r   Z	Exceptionr   r'   r6   rB   rD   rG   rR   rS   r\   re   ri   rk   rm   rr   rs   r   r   r   <module>rt      sw    0   
 7t 
	) 	(2#L:
<)
?>$L3	)mr   