ó
    [h{%  ã                  óì  • % S SK J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Jr  S SKJrJr  SSKJrJrJr  SS	KJr  SS
KJr  SSKJr  SSKJrJr  SSKJrJrJ r   SSK!J"r"J#r#  SSK$J%r%  \RL                  S:¼  a	  S SKJ'r'J(r(  OS SK)J'r'J(r(  Sr*\" S5      r+\'" S5      r,\"" S5      r-S\.S'   \"" S5      r/S\.S'   \"" S5      r0S\.S'   SSS.         S!S jjr1S"S jr2S#S jr3\4S :X  a  \3" 5         gg)$é    )ÚannotationsN)Údeque)ÚCallable)Úmodule_from_specÚspec_from_file_location)ÚTypeVarÚcasté   )Úcurrent_timeÚget_async_backendÚget_cancelled_exc_class)ÚBrokenWorkerProcess)Úopen_process)ÚCapacityLimiter)ÚCancelScopeÚ
fail_after)ÚByteReceiveStreamÚByteSendStreamÚProcess)ÚRunVarÚcheckpoint_if_cancelled)ÚBufferedByteReceiveStream)é   é   )ÚTypeVarTupleÚUnpacki,  ÚT_RetvalÚPosArgsTÚ_process_pool_workerszRunVar[set[Process]]Ú_process_pool_idle_workersz$RunVar[deque[tuple[Process, float]]]Ú_default_process_limiterzRunVar[CapacityLimiter]F)ÚcancellableÚlimiterc          	   ‡  óH	  ^^^^#   • SUUUU4S jjn[        5       I Sh  v•N   [        R                  " SX4[        R                  S9n [        R                  5       m[        R                  5       nU=(       d
    [        5        ISh  v•N   U(       Ga   UR                  5       u  mnTR                  cå  [        [         TR"                  5      m[%        [        [&        TR(                  5      5      m[+        5       n/ n	U(       a`  X†S   S   -
  [,        :  a  OMUR/                  5       u  p§U
R1                  5         TR3                  U
5        U	R5                  U
5        U(       a  M`  [7        SS9   U	 H  nUR9                  5       I Sh  v•N   M     SSS5        GOUTR3                  T5        U(       a  GM   [:        R<                  S	S
[>        /n[A        U[B        RD                  [B        RD                  S9I Sh  v•N m [        [         TR"                  5      m[%        [        [&        TR(                  5      5      m[G        S5         TRI                  S5      I Sh  v•N nSSS5        WS:w  a  [K        SU< 35      e[M        [:        RN                  S   SS5      n[        R                  " S[:        RP                  U4[        R                  S9nU" U5      I Sh  v•N   TRW                  T5        [7        U(       + S9    [        [X        U" U5      I Sh  v•N 5      TT;   a  UR5                  T[+        5       45        sSSS5        sSSS5      ISh  v•N   $  GN:! [         a[    [        5       m[        5       n[        R                  T5        [        R                  U5        [        5       R                  T5         GNNf = f GN; GN?! , (       d  f       GN@= f GNä GN„! , (       d  f       GN‰= f GN! [J        [S        5       4 a    e [T         a!  nTR1                  5         [K        S5      UeSnAff = f GN$ Nè! TT;   a  UR5                  T[+        5       45        f f = f! , (       d  f       O= fSSS5      ISh  v•N    g! , ISh  v•N  (       d  f       g= f7f)aˆ  
Call the given function with the given arguments in a worker process.

If the ``cancellable`` option is enabled and the task waiting for its completion is
cancelled, the worker process running it will be abruptly terminated using SIGKILL
(or ``terminateProcess()`` on Windows).

:param func: a callable
:param args: positional arguments for the callable
:param cancellable: ``True`` to allow cancellation of the operation while it's
    running
:param limiter: capacity limiter to use to limit the total amount of processes
    running (if omitted, the default limiter is used)
:return: an awaitable that yields the return value of the function.

c              “  óÆ  >#   •  T	R                  U 5      I S h  v•N   TR                  SS5      I S h  v•N nUR                  S5      u  p#US;  a  [        SU< 35      eTR	                  [        U5      5      I S h  v•N n[        R                   " U5      nUS:X  a  [        U[        5      (       d   eUeU$  NŸ N‡ N?! [         a•  nT
R                  T5         TR                  5         [        SS9   TR                  5       I S h  v•N    S S S 5        O!! , (       d  f       O= f! [         a     Of = f[        U[        5       5      (       a  e [        UeS nAff = f7f)	Nó   
é2   ó    )ó   RETURNó	   EXCEPTIONú-Worker process returned unexpected response: T©Úshieldr*   )ÚsendÚreceive_untilÚsplitÚRuntimeErrorÚreceive_exactlyÚintÚBaseExceptionÚdiscardÚkillr   ÚacloseÚProcessLookupErrorÚ
isinstancer   r   ÚpickleÚloads)Úpickled_cmdÚresponseÚstatusÚlengthÚpickled_responseÚexcÚretvalÚbufferedÚprocessÚstdinÚworkerss          €€€€Ú]/home/gothic/public_html/Fooocus/fooocus_env/lib/python3.13/site-packages/anyio/to_process.pyÚsend_raw_commandÚ"run_sync.<locals>.send_raw_command=   s<  øé € ð	3Ø—*‘*˜[Ó)×)Ð)Ø%×3Ñ3°E¸2Ó>×>ˆHØ%Ÿ^™^¨DÓ1‰NˆFØÐ6Ó6Ü"ØCÀHÁ<ÐPóð ð &.×%=Ñ%=¼cÀ&»kÓ%J×JÐô —’Ð.Ó/ˆØ�\Ó!Ü˜f¤m×4Ñ4Ð4Ð4ØˆLàˆMñ9 *Ù>ñ  KøÜó 	3Ø�O‰O˜GÔ$ðØ—‘”Ü ¨Ó-Ø!Ÿ.™.Ó*×*Ñ*÷ .×-Ö-ûä%ó Ùðúô ˜#Ô6Ó8×9Ñ9Øä)¨sÐ2ûð	3üs¯   ƒE!…B? ™B9šB? ³B;´A	B? Á=B=Á>B? Â7E!Â9B? Â;B? Â=B? Â?
EÃ	EÃD(Ã4DÄDÄ	DÄD(ÄEÄ
D%	Ä!D(Ä$EÄ%D(Ä(
D5Ä2EÄ4D5Ä5$EÅEÅE!NÚrun)Úprotocolr   r
   Tr,   z-uz-m)rE   Ústdouté   é   ó   READY
r+   Ú__main__Ú__file__Úinitz*Error during worker process initialization)r<   ÚbytesÚreturnÚobject)-r   r:   ÚdumpsÚHIGHEST_PROTOCOLr   Úgetr    ÚLookupErrorÚsetr   r   Ú#setup_process_pool_exit_at_shutdownÚcurrent_default_process_limiterÚpopÚ
returncoder	   r   rE   r   r   rL   r   ÚWORKER_MAX_IDLE_TIMEÚpopleftr6   ÚremoveÚappendr   r7   ÚsysÚ
executableÚ__name__r   Ú
subprocessÚPIPEr   Úreceiver   ÚgetattrÚmodulesÚpathr   r4   Úaddr   )Úfuncr"   r#   ÚargsrH   ÚrequestÚidle_workersÚ
idle_sinceÚnowÚkilled_processesÚprocess_to_killÚkilled_processÚcommandÚmessageÚmain_module_pathÚpickledrA   rC   rD   rE   rF   s                    @@@@rG   Úrun_syncrz   &   sË  ûé € ÷.ò ôB "Ó
#×#Ð#Ü�lŠl˜E 4Ð.¼×9PÑ9PÑQ€GðIÜ'×+Ñ+Ó-ˆÜ1×5Ñ5Ó7ˆð ×;Ô9Ó;×;Ñ;÷ Ø".×"2Ñ"2Ó"4ÑˆG�ZØ×!Ñ!Ñ)Üœ^¨W¯]©]Ó;�Ü4ÜÔ*¨G¯N©NÓ;ó�ô #“n�Ø24Ð Þ"Ø¨!™_¨QÑ/Ñ/Ô2FÓFØà2>×2FÑ2FÓ2HÑ/�OØ#×(Ñ(Ô*Ø—N‘N ?Ô3Ø$×+Ñ+¨OÔ<÷ #�lô !¨Ó-Û*:˜Ø,×3Ñ3Ó5×5Ò5ñ +;÷ .ñ à�N‰N˜7Ô#÷7 ‰lô: —~‘~ t¨T´8Ð<ˆGÜ(ØœzŸ™´z·±ñ÷ ˆGðÜœ^¨W¯]©]Ó;�Ü4ÜÔ*¨G¯N©NÓ;ó�ô   •^Ø$,×$4Ñ$4°QÓ$7×7�G÷ $ð ˜jÓ(Ü-ØGÈÁ{ÐSóð ô $+¬3¯;©;°zÑ+BÀJÐPTÓ#UÐ Ü Ÿ,š,ØœSŸX™XÐ'7Ð8Ü#×4Ñ4ñ�ñ ' wÓ/×/Ð/ð �K‰K˜Ô ä K¤Ó0ðCÜœHÑ,<¸WÓ,E×&EÓFà˜gÓ%Ø ×'Ñ'¨´,³.Ð(AÔB÷ 1Ð0÷E <×;Ñ;ò $øô ó IÜ“%ˆÜ“wˆÜ×!Ñ! 'Ô*Ü"×&Ñ& |Ô4ÜÓ×?Ñ?À×HðIúò <ò6 6÷ .Ö-úòò 8÷ $–^úò 0øÜ'Ô)@Ó)BÐCó ØÜ ó Ø—‘”Ü)Ø@óàðûðúò 'FñI <øðL ˜gÓ%Ø ×'Ñ'¨´,³.Ð(AÕBð &ú÷	 1Õ0ú÷E <×;×;×;×;Ð;üsj  †R"ŸM )R"Á
(M Á2R"Â	OÂ
R"ÂCRÅ&	RÅ/O
ÆO
Æ	O
Æ"RÆ6ARÇ8OÇ9RÇ>AO7ÉO"ÉOÉO"É A:O7ËO4ËO7ËRË>Q%Ì P>ÌP9ÌP>Ì!Q%Ì>	RÍR"ÍP<ÍR"ÍA!OÎ=R"Ï OÏR"ÏO
Ï

O	Ï	RÏO"Ï"
O1	Ï,	O7Ï7P6ÐP1Ð1P6Ð6RÐ9P>Ð<R"Ð>$Q"Ñ"Q%Ñ%
Q3	Ñ/RÑ6R"ÒRÒR"ÒRÒRÒRÒR"c                 óÈ   •  [         R                  5       $ ! [         aA    [        [        R
                  " 5       =(       d    S5      n [         R                  U 5        U s $ f = f)zƒ
Return the capacity limiter that is used by default to limit the number of worker
processes.

:return: a capacity limiter object

é   )r!   rX   rY   r   ÚosÚ	cpu_countrZ   )r#   s    rG   r\   r\   ¶   sM   € ðÜ'×+Ñ+Ó-Ð-øÜó Ü!¤"§,¢,£.×"5°AÓ6ˆÜ ×$Ñ$ WÔ-ØŠðús   ‚ –AA!Á A!c                 ó^  • [         R                  n [         R                  n[        [        R
                  5      [         l        [        [        R
                  S5      [         l        UR                  R                  S5         S =p# [        R                  " U R                  5      tpEUS:X  a  Uu  pe U" U6 nO®US:X  a¨  Uu  [         l        n[         R                  S	 U(       a‚  [        R                  R                  U5      (       a^   [        SU5      n	U	(       aJ  U	R                  (       a9  [!        U	5      n
U	R                  R#                  U
5        U
[         R                  S'    Ub(  Sn[        R&                  " U[        R(                  5      nO(Sn[        R&                  " U[        R(                  5      n UR                  R                  S	U[+        U5      4-  5        UR                  R                  U5        [-        U[.        5      (       a  UeGM–  ! [         a  nUn S nANÃS nAff = f! [         a  nUn S nANÜS nAff = f! [$         a     g [         a  nUn S nAGNS nAff = f! [         a3  nUnSn[        R&                  " U[        R(                  5      n S nANíS nAff = f)
NÚwrO   rJ   rR   rP   Ú__mp_main__r*   r)   s   %s %d
)rc   rE   rL   Úopenr}   ÚdevnullÚbufferÚwriter:   Úloadr4   rk   rj   Úisfiler   Úloaderr   Úexec_moduleÚEOFErrorrV   rW   Úlenr9   Ú
SystemExit)rE   rL   rB   Ú	exceptionrv   rn   rm   rA   rx   ÚspecÚmainr>   ry   s                rG   Úprocess_workerr�   Æ   s  € ô �I‰I€EÜ�Z‰Z€FÜ”R—Z‘ZÓ „C„IÜ”b—j‘j #Ó&„C„Jà
‡M�M×Ñ˜
Ô#Ø
Ø!Ð!ˆð	(Ü#Ÿ[š[¨¯©Ó6ˆNˆGð ˜%ÓØ!‘
�ð$Ù! 4˜[‘Fð ˜FÓ"à-1Ñ*””Ð*Ü—K‘K 
Ð+Þ#¬¯©¯©Ð7G×(HÑ(Hð(Ü6°}ÐFVÓW˜Þ D§K§KÜ#3°DÓ#9˜DØ ŸK™K×3Ñ3°DÔ9Ø6:œCŸK™K¨
Ñ3ð
	AØÑ$Ø%�Ü Ÿ,š, y´&×2IÑ2IÓJ‘à"�Ü Ÿ,š, v¬v×/FÑ/FÓG‘ð 	�‰×Ñ˜J¨&´#°g³,Ð)?Ñ?Ô@Ø�‰×Ñ˜GÔ$ô �i¤×,Ñ,ØˆOò_ øô %ó $Ø #•Iûð$ûô )ó (Ø$'�	ûð(ûô1 ó 	ÙÜó 	ØŽIûð	ûô> ó 	AØˆIØ!ˆFÜ—l’l 3¬×(?Ñ(?Ó@�Gûð	Aúsm   Â!I
 Â2H Ä	AH1 Å'*I/ Æ'I/ È
H.È"H)È)H.È1
IÈ;IÉIÉ

I,É	I,ÉI'É'I,É/
J,É9)J'Ê'J,rP   )
rm   z&Callable[[Unpack[PosArgsT]], T_Retval]rn   zUnpack[PosArgsT]r"   Úboolr#   zCapacityLimiter | NonerT   r   )rT   r   )rT   ÚNone)5Ú
__future__r   r}   r:   rf   rc   Úcollectionsr   Úcollections.abcr   Úimportlib.utilr   r   Útypingr   r	   Ú_core._eventloopr   r   r   Ú_core._exceptionsr   Ú_core._subprocessesr   Ú_core._synchronizationr   Ú_core._tasksr   r   Úabcr   r   r   Úlowlevelr   r   Ústreams.bufferedr   Úversion_infor   r   Útyping_extensionsr_   r   r   r   Ú__annotations__r    r!   rz   r\   r�   re   © ó    rG   Ú<module>r¥      s  ðÞ "ã 	Û Û Û 
Ý Ý $ß Dß  ç VÑ VÝ 2Ý -Ý 3ß 1ß ;Ñ ;ß 5Ý 7à×Ñ�wÓß+Ð+ç6àÐ á�:Ó€Ù˜
Ó#€á.4Ð5LÓ.MÐ Ð+Ó MÙCIØ óDÐ Ð@ó ñ 5;Ð;UÓ4VÐ Ð1Ó Vð Ø&*ñ	MCØ
0ðMCàðMCð ðMCð $ð	MCð
 õMCô`ô 8ðv ˆzÓÙÕð r¤   