ó
    € ’ec(  ã                   óØ   • 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        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[.        [0        45      (       a  UnOUS   n[2        R4                  " SXÀR                  5        U R                  R7                  U R9                  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Ú	_finishedÚ_pipes_connectedr   Ú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                €ÚrD:\a\ComfyUI-Standalone-Environments\ComfyUI-Standalone-Environments\standalone-env\Lib\asyncio\base_subprocess.pyr   Ú BaseSubprocessTransport.__init__   sx  ø€ ô 	‰Ñ˜ÔØˆŒØ!ŒØŒ
ØˆŒ
ØˆŒ	ØˆÔØˆÔÜ)×/Ò/Ó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   ÃF1 Æ1G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<{}>Ú )r6   Ú__name__r   Úappendr   r   r    ÚgetÚpipeÚformatÚjoin)r/   Úinfor   r   r   s        r7   Ú__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   r4   s           r7   r$   ÚBaseSubprocessTransport._startX   s   € Ü!Ð!rF   c                 ó   • Xl         g rH   ©r   )r/   r1   s     r7   Úset_protocolÚ$BaseSubprocessTransport.set_protocol[   s   € Ø!�rF   c                 ó   • U R                   $ rH   rL   ©r/   s    r7   Úget_protocolÚ$BaseSubprocessTransport.get_protocol^   s   € Ø�~‰~ÐrF   c                 ó   • U R                   $ rH   )r   rP   s    r7   Ú
is_closingÚ"BaseSubprocessTransport.is_closinga   s   € Ø�|‰|ÐrF   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     r7   r%   ÚBaseSubprocessTransport.closed   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     r7   Ú__del__ÚBaseSubprocessTransport.__del__…   s+   € Ø�|�|ÙÐ'¨¡xÐ0´/È$ÒOØ�J‰J�Lð rF   c                 ó   • U R                   $ rH   )r   rP   s    r7   Úget_pidÚBaseSubprocessTransport.get_pidŠ   s   € Ø�y‰yÐrF   c                 ó   • U R                   $ rH   )r   rP   s    r7   Úget_returncodeÚ&BaseSubprocessTransport.get_returncode�   s   € Ø×ÑÐrF   c                 óT   • XR                   ;   a  U R                   U   R                  $ g rH   )r    r@   )r/   Úfds     r7   Úget_pipe_transportÚ*BaseSubprocessTransport.get_pipe_transport�   s#   € Ø—‘ÓØ—;‘;˜r‘?×'Ñ'Ð'àrF   c                 ó2   • U R                   c
  [        5       eg rH   )r   r\   rP   s    r7   Ú_check_procÚ#BaseSubprocessTransport._check_proc–   s   € Ø�:‰:ÑÜ$Ó&Ð&ð rF   Úwin32c                 óZ   • U R                  5         U R                  R                  U5        g rH   )rq   r   Úsend_signal©r/   Úsignals     r7   ru   Ú#BaseSubprocessTransport.send_signal›   s    € Ø×ÑÔØ�J‰J×"Ñ" 6Õ*rF   c                 óX   • U R                  5         U R                  R                  5         g rH   )rq   r   Ú	terminaterP   s    r7   rz   Ú!BaseSubprocessTransport.terminateŸ   s   € Ø×ÑÔØ�J‰J× Ñ Õ"rF   c                 óX   • U R                  5         U R                  R                  5         g rH   )rq   r   r[   rP   s    r7   r[   ÚBaseSubprocessTransport.kill£   s   € Ø×ÑÔØ�J‰J�O‰OÕrF   c                 óœ   • U R                  5          [        R                  " U R                  R                  U5        g ! [
         a     g f = frH   )rq   Úosr[   r   r&   r\   rv   s     r7   ru   rx   §   s;   € Ø×ÑÔðÜ—’˜Ÿ
™
Ÿ™¨Õ/øÜ%ó Ùðús   ’+> ¾
AÁ
Ac                 óB   • U R                  [        R                  5        g rH   )ru   rw   ÚSIGTERMrP   s    r7   rz   r{   ®   ó   € Ø×ÑœVŸ^™^Õ,rF   c                 óB   • U R                  [        R                  5        g rH   )ru   rw   ÚSIGKILLrP   s    r7   r[   r}   ±   r‚   rF   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        ST l        g  GN7 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   )ÚWriteSubprocessPipeProtorP   s   €r7   Ú<lambda>Ú8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>»   s   ø€ Ô4°T¸1Ô=rF   r   c                  ó   >• [        T S5      $ )Nr   ©ÚReadSubprocessPipeProtorP   s   €r7   rˆ   r‰   Á   ó   ø€ Ô3°D¸!Ô<rF   r   c                  ó   >• [        T S5      $ )Nr   r‹   rP   s   €r7   rˆ   r‰   Ç   r�   rF   r   T)r   r   r   Úconnect_write_piper    r   Úconnect_read_piper   r   Ú	call_soonr   Úconnection_madeÚ	cancelledÚ
set_resultr"   Ú
SystemExitÚKeyboardInterruptÚBaseExceptionÚset_exception)	r/   r2   Úprocr0   Ú_r@   ÚcallbackÚdataÚexcs	   `        r7   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Ôð Ñ!¨&×*:Ñ*:×*<Ñ*<Ø×!Ñ! $Ô'Ø$(ˆDÕ!ò? ñ!ñ!øô Ô-Ð.ó 	ØÜó 	*ØÑ!¨&×*:Ñ*:×*<Ñ*<Ø×$Ñ$ S×)Ñ)ô +=Ô!ûð	*üsh   ƒG%…AF ÁFÁAF ÂFÂAF ÃF	ÃA9F Å1G%Æ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 rH   )r   r>   r   r‘   )r/   Úcbrœ   s      r7   Ú_callÚBaseSubprocessTransport._callÛ   s;   € Ø×ÑÑ*Ø×Ñ×&Ñ&¨ zÕ2à�J‰J× Ò  Ð+ dÔ+rF   c                 óp   • U R                  U R                  R                  X5        U R                  5         g rH   )r¡   r   Úpipe_connection_lostÚ_try_finish)r/   rm   r�   s      r7   Ú_pipe_connection_lostÚ-BaseSubprocessTransport._pipe_connection_lostá   s&   € Ø�
‰
�4—>‘>×6Ñ6¸Ô@Ø×ÑÕrF   c                 óP   • U R                  U R                  R                  X5        g rH   )r¡   r   Úpipe_data_received)r/   rm   rœ   s      r7   Ú_pipe_data_receivedÚ+BaseSubprocessTransport._pipe_data_receivedå   s   € Ø�
‰
�4—>‘>×4Ñ4°bÕ?rF   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   rC   r   Ú
returncoder¡   r   Úprocess_exitedr¥   )r/   r­   s     r7   Ú_process_exitedÚ'BaseSubprocessTransport._process_exitedè   s–   € ØÑ%Ð1 zÓ1Ð%Ø×ÑÑ'Ð9¨×)9Ñ)9Ó9Ð'Ø�:‰:×Ñ×!Ñ!Ü�KŠKÐ7¸ÔJØ%ÔØ�:‰:× Ñ Ñ(ð %/�J‰JÔ!Ø�
‰
�4—>‘>×0Ñ0Ô1à×ÑÕrF   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/   r2   s     r7   Ú_waitÚBaseSubprocessTransport._waitö   sO   é € ð ×ÑÑ'Ø×#Ñ#Ð#à—‘×)Ñ)Ó+ˆØ×Ñ×!Ñ! &Ô)Ø�|Ð‰|ùs   ‚AAÁAÁAc                 ó˜  • U R                   (       a   eU R                  c  g U R                  (       dE  U R                   H5  nUR	                  5       (       a  M  UR                  U R                  5        M7     [        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rH   )Údisconnected)Ú.0Úps     r7   Ú	<genexpr>Ú6BaseSubprocessTransport._try_finish.<locals>.<genexpr>  s'   é € ð .Ú,�1ð ˜ˆ}×/ §¡Ô/Ú,ùs   ‚$&T)r!   r   r"   r   r“   r”   Úallr    rW   r¡   Ú_call_connection_lostr³   s     r7   r¥   Ú#BaseSubprocessTransport._try_finish  s¥   € Ø—>—>Ð!Ð!Ø×ÑÑ#ØØ×$×$ð ×,Ô,�Ø×'Ñ'×)Ó)Ø×%Ñ% d×&6Ñ&6Ö7ñ -ô ñ .ØŸ™×*Ñ*Ô,ó.÷ .ñ .à!ˆDŒNØ�J‰J�t×1Ñ1°4Õ8ð.rF   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rH   )r   Úconnection_lostr   r“   r”   r   r   r   )r/   r�   r2   s      r7   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   r   )NN)!r=   Ú
__module__Ú__qualname__Ú__firstlineno__r   rD   r$   rM   rQ   rT   r%   ÚwarningsÚwarnrd   rg   rj   rn   rq   ÚsysÚplatformru   rz   r[   r.   r¡   r¦   rª   r¯   r´   r¥   r¾   Ú__static_attributes__Ú__classcell__)r6   s   @r7   r   r      sª   ø† ð %)÷*<òX-ò:"ò"òòòðB %ŸM™Mô ò
ò òò'ð ‡|�|�wÓò	+ò	#ó	ò	ò	-ò	-ò%)òN,òò@òò	ò9÷$"ð "rF   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™   rm   r@   r¸   )r/   r™   rm   s      r7   r   Ú!WriteSubprocessPipeProto.__init__#  s   € ØŒ	ØŒØˆŒ	Ø!ˆÕrF   c                 ó   • Xl         g rH   )r@   )r/   Ú	transports     r7   r’   Ú(WriteSubprocessPipeProto.connection_made)  s   € Ø�	rF   c                 ól   • SU R                   R                   SU R                   SU R                  < S3$ )NÚ<z fd=z pipe=Ú>)r6   r=   rm   r@   rP   s    r7   rD   Ú!WriteSubprocessPipeProto.__repr__,  s0   € Ø�4—>‘>×*Ñ*Ð+¨4°·±¨y¸¸t¿y¹y¹mÈ1ÐMÐMrF   c                 ól   • SU l         U R                  R                  U R                  U5        S U l        g )NT)r¸   r™   r¦   rm   )r/   r�   s     r7   rÁ   Ú(WriteSubprocessPipeProto.connection_lost/  s)   € Ø ˆÔØ�	‰	×'Ñ'¨¯©°Ô5Øˆ�	rF   c                 óL   • U R                   R                  R                  5         g rH   )r™   r   Úpause_writingrP   s    r7   rÙ   Ú&WriteSubprocessPipeProto.pause_writing4  s   € Ø�	‰	×Ñ×)Ñ)Õ+rF   c                 óL   • U R                   R                  R                  5         g rH   )r™   r   Úresume_writingrP   s    r7   rÜ   Ú'WriteSubprocessPipeProto.resume_writing7  s   € Ø�	‰	×Ñ×*Ñ*Õ,rF   )r¸   rm   r@   r™   N)r=   rÃ   rÄ   rÅ   r   r’   rD   rÁ   rÙ   rÜ   rÊ   r   rF   r7   r‡   r‡   !  s!   † ò"òòNòò
,õ-rF   r‡   c                   ó   • \ rS rSrS rSrg)rŒ   i;  c                 óP   • U R                   R                  U R                  U5        g rH   )r™   rª   rm   )r/   rœ   s     r7   Údata_receivedÚ%ReadSubprocessPipeProto.data_received>  s   € Ø�	‰	×%Ñ% d§g¡g¨tÕ4rF   r   N)r=   rÃ   rÄ   rÅ   rà   rÊ   r   rF   r7   rŒ   rŒ   ;  s   † õ5rF   rŒ   )r   r   rÆ   r   rw   rÈ   Ú r   r   Úlogr   ÚSubprocessTransportr   ÚBaseProtocolr‡   ÚProtocolrŒ   r   rF   r7   Ú<module>rç      s]   ðÛ Û Û Û 	Û Û 
å Ý Ý ôQ"˜j×<Ñ<ô Q"ôh-˜y×5Ñ5ô -ô45Ð6Ø'×0Ñ0õ5rF   