ó
    F\hÍ%  ã                   óØ   • S SK r S SKrS SKrS SKrS SKrS SKrSSKJr  SSKJr  SSK	J
r
   " S S\R                  5      r " S S	\R                  5      r " S
 S\\R                  5      rg)é    Né   )Ú	protocols)Ú
transports)Úloggerc                   ó   ^ • \ rS rSr SU 4S jjrS rS rS rS rS r	S r
\R                  4S	 jrS
 rS rS rS r\R&                  S:X  a
  S rS rS rO	S rS rS rS rS rS rS rS rS rS rS rSrU =r $ )ÚBaseSubprocessTransporté   c           
      ó€  >• [         TU ]  U
5        SU l        X l        Xl        S U l        S U l        S U l        / U l        [        R                  " 5       U l        0 U l        SU l        U[        R                  :X  a  S U R                  S'   U[        R                  :X  a  S U R                  S'   U[        R                  :X  a  S U R                  S'    U R                   " SX4XVXxS.UD6  U R
                  R$                  U l        U R
                  U R&                  S'   U R                  R)                  5       (       aD  [+        U[,        [.        45      (       a  UnOUS   n[0        R2                  " SXÀR                  5        U R                  R5                  U R7                  U	5      5        g !   U R#                  5         e = f)	NFr   r   é   )ÚargsÚshellÚstdinÚstdoutÚstderrÚbufsizeÚ
subprocesszprocess %r created: pid %s© )ÚsuperÚ__init__Ú_closedÚ	_protocolÚ_loopÚ_procÚ_pidÚ_returncodeÚ_exit_waitersÚcollectionsÚdequeÚ_pending_callsÚ_pipesÚ	_finishedr   ÚPIPEÚ_startÚcloseÚpidÚ_extraÚ	get_debugÚ
isinstanceÚbytesÚstrr   ÚdebugÚcreate_taskÚ_connect_pipes)ÚselfÚloopÚprotocolr   r   r   r   r   r   ÚwaiterÚextraÚkwargsÚprogramÚ	__class__s                €Ú./usr/lib/python3.13/asyncio/base_subprocess.pyr   Ú BaseSubprocessTransport.__init__   sp  ø€ ô 	‰Ñ˜ÔØˆŒØ!ŒØŒ
ØˆŒ
ØˆŒ	ØˆÔØˆÔÜ)×/Ò/Ó1ˆÔØˆŒØˆŒà”J—O‘OÓ#Ø!ˆD�K‰K˜‰NØ”Z—_‘_Ó$Ø!ˆD�K‰K˜‰NØ”Z—_‘_Ó$Ø!ˆD�K‰K˜‰Nð	Ø�KŠKð B˜T°eØ%ñBØ:@òBð —J‘J—N‘NˆŒ	Ø$(§J¡Jˆ�‰�LÑ!à�:‰:×Ñ×!Ñ!Ü˜$¤¬ ×-Ñ-Ø‘à˜q™'�Ü�LŠLÐ5Ø §)¡)ô-ð 	�
‰
×Ñ˜t×2Ñ2°6Ó:Õ;øð	Ø�J‰JŒLØús   ÃF* Æ*F=c                 óv  • U R                   R                  /nU R                  (       a  UR                  S5        U R                  b  UR                  SU R                   35        U R
                  b  UR                  SU R
                   35        O0U R                  b  UR                  S5        OUR                  S5        U R                  R                  S5      nUb  UR                  SUR                   35        U R                  R                  S5      nU R                  R                  S	5      nUb#  XCL a  UR                  S
UR                   35        OBUb  UR                  SUR                   35        Ub  UR                  SUR                   35        SR                  SR                  U5      5      $ )NÚclosedzpid=zreturncode=Úrunningznot startedr   zstdin=r   r   zstdout=stderr=zstdout=zstderr=z<{}>Ú )r5   Ú__name__r   Úappendr   r   r    ÚgetÚpipeÚformatÚjoin)r.   Úinfor   r   r   s        r6   Ú__repr__Ú BaseSubprocessTransport.__repr__:   sV  € Ø—‘×'Ñ'Ð(ˆØ�<�<Ø�K‰K˜Ô!Ø�9‰9Ñ Ø�K‰K˜$˜tŸy™y˜kÐ*Ô+Ø×ÑÑ'Ø�K‰K˜+ d×&6Ñ&6Ð%7Ð8Õ9Ø�Y‰YÑ"Ø�K‰K˜	Õ"à�K‰K˜Ô&à—‘—‘ Ó"ˆØÑØ�K‰K˜& §¡ Ð-Ô.à—‘—‘ Ó#ˆØ—‘—‘ Ó#ˆØÑ &Ò"2Ø�K‰K˜.¨¯©¨Ð6Õ7àÑ!Ø—‘˜g f§k¡k ]Ð3Ô4ØÑ!Ø—‘˜g f§k¡k ]Ð3Ô4à�}‰}˜SŸX™X d›^Ó,Ð,ó    c                 ó   • [         e©N)ÚNotImplementedError)r.   r   r   r   r   r   r   r3   s           r6   r#   ÚBaseSubprocessTransport._startW   s   € Ü!Ð!rE   c                 ó   • Xl         g rG   ©r   )r.   r0   s     r6   Úset_protocolÚ$BaseSubprocessTransport.set_protocolZ   s   € Ø!�rE   c                 ó   • U R                   $ rG   rK   ©r.   s    r6   Úget_protocolÚ$BaseSubprocessTransport.get_protocol]   s   € Ø�~‰~ÐrE   c                 ó   • U R                   $ rG   )r   rO   s    r6   Ú
is_closingÚ"BaseSubprocessTransport.is_closing`   s   € Ø�|‰|ÐrE   c                 ó\  • U R                   (       a  g SU l         U R                  R                  5        HV  nUc  M  U R                  (       d  M  U R                  R	                  5       (       a  M<  UR
                  R                  5         MX     U R                  b|  U R                  cn  U R                  R                  5       cR  U R                  R                  5       (       a  [        R                  " SU 5         U R                  R                  5         g g g g ! [        [        4 a     g f = f)NTz$Close running child process: kill %r)r   r    Úvaluesr   Ú	is_closedr?   r$   r   r   Úpollr'   r   ÚwarningÚkillÚProcessLookupErrorÚPermissionError)r.   Úprotos     r6   r$   ÚBaseSubprocessTransport.closec   sç   € Ø�<�<ØØˆŒà—[‘[×'Ñ'Ö)ˆEØ‰}Ùð
 �z�z‰z $§*¡*×"6Ñ"6×"8Ó"8Ø—
‘
× Ñ Ö"ñ *ð �J‰JÑ"à× Ñ Ñ(ð —
‘
—‘Ó!Ñ)à�z‰z×#Ñ#×%Ñ%Ü—’ÐEÀtÔLðØ—
‘
—‘Õ!ð *ð )ð #øô '¬Ð8ó áðús   Ã:D ÄD+Ä*D+c                 óh   • U R                   (       d!  U" SU < 3[        U S9  U R                  5         g g )Nzunclosed transport )Úsource)r   ÚResourceWarningr$   )r.   Ú_warns     r6   Ú__del__ÚBaseSubprocessTransport.__del__„   s+   € Ø�|�|ÙÐ'¨¡xÐ0´/È$ÒOØ�J‰J�Lð rE   c                 ó   • U R                   $ rG   )r   rO   s    r6   Úget_pidÚBaseSubprocessTransport.get_pid‰   s   € Ø�y‰yÐrE   c                 ó   • U R                   $ rG   )r   rO   s    r6   Úget_returncodeÚ&BaseSubprocessTransport.get_returncodeŒ   s   € Ø×ÑÐrE   c                 óT   • XR                   ;   a  U R                   U   R                  $ g rG   )r    r?   )r.   Úfds     r6   Úget_pipe_transportÚ*BaseSubprocessTransport.get_pipe_transport�   s#   € Ø—‘ÓØ—;‘;˜r‘?×'Ñ'Ð'àrE   c                 ó2   • U R                   c
  [        5       eg rG   )r   r[   rO   s    r6   Ú_check_procÚ#BaseSubprocessTransport._check_proc•   s   € Ø�:‰:ÑÜ$Ó&Ð&ð rE   Úwin32c                 óZ   • U R                  5         U R                  R                  U5        g rG   )rp   r   Úsend_signal©r.   Úsignals     r6   rt   Ú#BaseSubprocessTransport.send_signalš   s    € Ø×ÑÔØ�J‰J×"Ñ" 6Õ*rE   c                 óX   • U R                  5         U R                  R                  5         g rG   )rp   r   Ú	terminaterO   s    r6   ry   Ú!BaseSubprocessTransport.terminatež   s   € Ø×ÑÔØ�J‰J× Ñ Õ"rE   c                 óX   • U R                  5         U R                  R                  5         g rG   )rp   r   rZ   rO   s    r6   rZ   ÚBaseSubprocessTransport.kill¢   s   € Ø×ÑÔØ�J‰J�O‰OÕrE   c                 óœ   • U R                  5          [        R                  " U R                  R                  U5        g ! [
         a     g f = frG   )rp   ÚosrZ   r   r%   r[   ru   s     r6   rt   rw   ¦   s;   € Ø×ÑÔðÜ—’˜Ÿ
™
Ÿ™¨Õ/øÜ%ó Ùðús   ’+> ¾
AÁ
Ac                 óB   • U R                  [        R                  5        g rG   )rt   rv   ÚSIGTERMrO   s    r6   ry   rz   ­   ó   € Ø×ÑœVŸ^™^Õ,rE   c                 óB   • U R                  [        R                  5        g rG   )rt   rv   ÚSIGKILLrO   s    r6   rZ   r|   °   r�   rE   c              ƒ   óÄ  ^ #   •  T R                   nT R                  nUR                  b9  UR                  U 4S jUR                  5      I S h  v•N u  pEUT R                  S'   UR
                  b9  UR                  U 4S jUR
                  5      I S h  v•N u  pEUT R                  S'   UR                  b9  UR                  U 4S jUR                  5      I S h  v•N u  pEUT R                  S'   T R                  c   eUR                  T R                  R                  T 5        T R                   H  u  pgUR                  " U/UQ76   M     S T l        Ub(  UR                  5       (       d  UR                  S 5        g g g  GN2 Nî Nª! [        [        4 a    e [          a=  nUb0  UR                  5       (       d  UR#                  U5         S nAg  S nAg  S nAg S nAff = f7f)Nc                  ó   >• [        T S5      $ )Nr   )ÚWriteSubprocessPipeProtorO   s   €r6   Ú<lambda>Ú8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>º   s   ø€ Ô4°T¸1Ô=rE   r   c                  ó   >• [        T S5      $ )Nr   ©ÚReadSubprocessPipeProtorO   s   €r6   r‡   rˆ   À   ó   ø€ Ô3°D¸!Ô<rE   r   c                  ó   >• [        T S5      $ )Nr   rŠ   rO   s   €r6   r‡   rˆ   Æ   rŒ   rE   r   )r   r   r   Úconnect_write_piper    r   Úconnect_read_piper   r   Ú	call_soonr   Úconnection_madeÚ	cancelledÚ
set_resultÚ
SystemExitÚKeyboardInterruptÚBaseExceptionÚset_exception)	r.   r1   Úprocr/   Ú_r?   ÚcallbackÚdataÚexcs	   `        r6   r-   Ú&BaseSubprocessTransport._connect_pipes³   sª  øé € ð#	(Ø—:‘:ˆDØ—:‘:ˆDà�z‰zÑ%Ø $× 7Ñ 7Ü=Ø—J‘Jó! ÷  ‘�ð "&�—‘˜A‘à�{‰{Ñ&Ø $× 6Ñ 6Ü<Ø—K‘Kó!!÷ !‘�ð "&�—‘˜A‘à�{‰{Ñ&Ø $× 6Ñ 6Ü<Ø—K‘Kó!!÷ !‘�ð "&�—‘˜A‘à×&Ñ&Ñ2Ð2Ð2à�N‰N˜4Ÿ>™>×9Ñ9¸4Ô@Ø"&×"5Ô"5‘�Ø—’˜xÐ/¨$Õ/ñ #6à"&ˆDÔð Ñ!¨&×*:Ñ*:×*<Ñ*<Ø×!Ñ! $Õ'ð +=Ð!ò; ñ!ñ!øô Ô-Ð.ó 	ØÜó 	*ØÑ!¨&×*:Ñ*:×*<Ñ*<Ø×$Ñ$ S×)Ñ)ô +=Ô!ûð	*üsh   ƒG …AF ÁE?ÁAF ÂFÂAF ÃFÃA9F Å,G Å?F ÆF ÆF ÆGÆ )GÇ	G ÇGÇG c                 ó’   • U R                   b  U R                   R                  X45        g U R                  R                  " U/UQ76   g rG   )r   r=   r   r�   )r.   Úcbr›   s      r6   Ú_callÚBaseSubprocessTransport._callÙ   s;   € Ø×ÑÑ*Ø×Ñ×&Ñ&¨ zÕ2à�J‰J× Ò  Ð+ dÔ+rE   c                 óp   • U R                  U R                  R                  X5        U R                  5         g rG   )r    r   Úpipe_connection_lostÚ_try_finish)r.   rl   rœ   s      r6   Ú_pipe_connection_lostÚ-BaseSubprocessTransport._pipe_connection_lostß   s&   € Ø�
‰
�4—>‘>×6Ñ6¸Ô@Ø×ÑÕrE   c                 óP   • U R                  U R                  R                  X5        g rG   )r    r   Úpipe_data_received)r.   rl   r›   s      r6   Ú_pipe_data_receivedÚ+BaseSubprocessTransport._pipe_data_receivedã   s   € Ø�
‰
�4—>‘>×4Ñ4°bÕ?rE   c                 ó„  • Uc   U5       eU R                   b   U R                   5       eU R                  R                  5       (       a  [        R                  " SX5        Xl         U R
                  R                  c  XR
                  l        U R                  U R                  R                  5        U R                  5         g )Nz%r exited with return code %r)r   r   r'   r   rB   r   Ú
returncoder    r   Úprocess_exitedr¤   )r.   r¬   s     r6   Ú_process_exitedÚ'BaseSubprocessTransport._process_exitedæ   s–   € ØÑ%Ð1 zÓ1Ð%Ø×ÑÑ'Ð9¨×)9Ñ)9Ó9Ð'Ø�:‰:×Ñ×!Ñ!Ü�KŠKÐ7¸ÔJØ%ÔØ�:‰:× Ñ Ñ(ð %/�J‰JÔ!Ø�
‰
�4—>‘>×0Ñ0Ô1à×ÑÕrE   c              ƒ   ó¾   #   • U R                   b  U R                   $ U R                  R                  5       nU R                  R	                  U5        UI Sh  v•N $  N7f)z\Wait until the process exit and return the process return code.

This method is a coroutine.N)r   r   Úcreate_futurer   r=   )r.   r1   s     r6   Ú_waitÚBaseSubprocessTransport._waitô   sO   é € ð ×ÑÑ'Ø×#Ñ#Ð#à—‘×)Ñ)Ó+ˆØ×Ñ×!Ñ! &Ô)Ø�|Ð‰|ùs   ‚AAÁAÁAc                 óì   • U R                   (       a   eU R                  c  g [        S U R                  R	                  5        5       5      (       a$  SU l         U R                  U R                  S 5        g g )Nc              3   óP   #   • U  H  nUS L=(       a    UR                   v •  M     g 7frG   )Údisconnected)Ú.0Úps     r6   Ú	<genexpr>Ú6BaseSubprocessTransport._try_finish.<locals>.<genexpr>  s'   é € ð .Ú,�1ð ˜ˆ}×/ §¡Ô/Ú,ùs   ‚$&T)r!   r   Úallr    rV   r    Ú_call_connection_lostrO   s    r6   r¤   Ú#BaseSubprocessTransport._try_finishÿ   se   € Ø—>—>Ð!Ð!Ø×ÑÑ#ØÜñ .ØŸ™×*Ñ*Ô,ó.÷ .ñ .à!ˆDŒNØ�J‰J�t×1Ñ1°4Õ8ð.rE   c                 óÊ  •  U R                   R                  U5        U R                   H5  nUR                  5       (       a  M  UR	                  U R
                  5        M7     S U l        S U l        S U l        S U l         g ! U R                   H5  nUR                  5       (       a  M  UR	                  U R
                  5        M7     S U l        S U l        S U l        S U l         f = frG   )r   Úconnection_lostr   r’   r“   r   r   r   )r.   rœ   r1   s      r6   r¼   Ú-BaseSubprocessTransport._call_connection_lost  sÃ   € ð
	"Ø�N‰N×*Ñ*¨3Ô/ð ×,Ô,�Ø×'Ñ'×)Ó)Ø×%Ñ% d×&6Ñ&6Ö7ñ -ð "&ˆDÔØˆDŒJØˆDŒJØ!ˆD�Nøð ×,Ô,�Ø×'Ñ'×)Ó)Ø×%Ñ% d×&6Ñ&6Ö7ñ -ð "&ˆDÔØˆDŒJØˆDŒJØ!ˆD�Nús   ‚A? Á?#C"Â&<C")
r   r   r!   r   r   r   r    r   r   r   )NN)!r<   Ú
__module__Ú__qualname__Ú__firstlineno__r   rC   r#   rL   rP   rS   r$   ÚwarningsÚwarnrc   rf   ri   rm   rp   ÚsysÚplatformrt   ry   rZ   r-   r    r¥   r©   r®   r²   r¤   r¼   Ú__static_attributes__Ú__classcell__)r5   s   @r6   r   r      sª   ø† ð %)÷)<òV-ò:"ò"òòòðB %ŸM™Mô ò
ò òò'ð ‡|�|�wÓò	+ò	#ó	ò	ò	-ò	-ò$(òL,òò@òò	ò9÷"ð "rE   r   c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
r†   i  c                 ó8   • Xl         X l        S U l        SU l        g )NF)r˜   rl   r?   r¶   )r.   r˜   rl   s      r6   r   Ú!WriteSubprocessPipeProto.__init__  s   € ØŒ	ØŒØˆŒ	Ø!ˆÕrE   c                 ó   • Xl         g rG   )r?   )r.   Ú	transports     r6   r‘   Ú(WriteSubprocessPipeProto.connection_made  s   € Ø�	rE   c                 ól   • SU R                   R                   SU R                   SU R                  < S3$ )NÚ<z fd=z pipe=Ú>)r5   r<   rl   r?   rO   s    r6   rC   Ú!WriteSubprocessPipeProto.__repr__!  s0   € Ø�4—>‘>×*Ñ*Ð+¨4°·±¨y¸¸t¿y¹y¹mÈ1ÐMÐMrE   c                 ól   • SU l         U R                  R                  U R                  U5        S U l        g )NT)r¶   r˜   r¥   rl   )r.   rœ   s     r6   r¿   Ú(WriteSubprocessPipeProto.connection_lost$  s)   € Ø ˆÔØ�	‰	×'Ñ'¨¯©°Ô5Øˆ�	rE   c                 óL   • U R                   R                  R                  5         g rG   )r˜   r   Úpause_writingrO   s    r6   r×   Ú&WriteSubprocessPipeProto.pause_writing)  s   € Ø�	‰	×Ñ×)Ñ)Õ+rE   c                 óL   • U R                   R                  R                  5         g rG   )r˜   r   Úresume_writingrO   s    r6   rÚ   Ú'WriteSubprocessPipeProto.resume_writing,  s   € Ø�	‰	×Ñ×*Ñ*Õ,rE   )r¶   rl   r?   r˜   N)r<   rÁ   rÂ   rÃ   r   r‘   rC   r¿   r×   rÚ   rÈ   r   rE   r6   r†   r†     s!   † ò"òòNòò
,õ-rE   r†   c                   ó   • \ rS rSrS rSrg)r‹   i0  c                 óP   • U R                   R                  U R                  U5        g rG   )r˜   r©   rl   )r.   r›   s     r6   Údata_receivedÚ%ReadSubprocessPipeProto.data_received3  s   € Ø�	‰	×%Ñ% d§g¡g¨tÕ4rE   r   N)r<   rÁ   rÂ   rÃ   rÞ   rÈ   r   rE   r6   r‹   r‹   0  s   † õ5rE   r‹   )r   r   rÄ   r~   rv   rÆ   Ú r   r   Úlogr   ÚSubprocessTransportr   ÚBaseProtocolr†   ÚProtocolr‹   r   rE   r6   Ú<module>rå      s]   ðÛ Û Û Û 	Û Û 
å Ý Ý ôF"˜j×<Ñ<ô F"ôR-˜y×5Ñ5ô -ô45Ð6Ø'×0Ñ0õ5rE   