+
    NV-jÃ/  ã                   ó  € . ROt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt  ]P                  P                  ]P                  ! 4       4      tR tR tR tR t ! R R ]4      t ! R R	]4      t ! R
 R]4      t ! R R]4      tRs]! 4       s]P2                  ! ^4      s]! 4       sA/ t]! ]P>                  PA                  4       4       F(  w  t!t"]!R,          R8X  g   K  R]!9  g   K  R]! 2]]") &   K*  	  A!A"]! 4       t#R#   ] d    Rt L¿i ; i)ÚBaseProcessN)ÚWeakSetc                 ó   € \         # )z8
Return process object representing the current process
)Ú_current_process© ó    Úe/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/multiprocess/process.pyÚcurrent_processr	   %   s
   € ô Ðr   c                 ó4   € \        4        \        \        4      # )zF
Return list of process objects corresponding to live child processes
)Ú_cleanupÚlistÚ	_childrenr   r   r   Úactive_childrenr   +   s   € ô „JÜ”	‹?Ðr   c                 ó   € \         # )z7
Return process object representing the parent process
)Ú_parent_processr   r   r   Úparent_processr   3   s
   € ô Ðr   c                  ó°   € \        \        4       FB  p V P                  ;p'       g   K  VP                  4       f   K-  \        P	                  V 4       KD  	  R # ©N)r   r   Ú_popenÚpollÚdiscard)ÚpÚchild_popens     r   r   r   =   s>   € ä”)Ž_ˆØŸ8™8Ð#ˆK×#Ð#¨×)9Ñ)9Ó);Ô)GÜ×Ñ˜aÖ ó r   c                   óf  a € ] tR t^Gt o RtR tRRR/R lltR tR tR t	R	 t
R
 tR tRR ltR tR t]R 4       t]P$                  R 4       t]R 4       t]P$                  R 4       t]R 4       t]P$                  R 4       t]R 4       t]R 4       t]t]R 4       tR tRR lt]R 4       tRtV tR# )r   zt
Process objects represent activity that is run in a separate process

The class is analogous to `threading.Thread`
c                ó   € \         hr   )ÚNotImplementedError©Úselfs   &r   Ú_PopenÚBaseProcess._PopenM   s   € Ü!Ð!r   NÚdaemonc               óv  € Ve   Q R4       h\        \        4      p\        P                  V3,           V n        \        P                  P                  4       V n        \        P                  ! 4       V n        \        P                  V n
        R V n        RV n        W n        \        V4      V n        V'       d   \!        V4      M/ V n        T;'       gD    \%        V 4      P&                  R,           RP)                  R V P                   4       4      ,           V n        Ve   W`n        \.        P1                  V 4       R # )Nz#group argument must be None for nowFÚ-Ú:c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   )Ústr)Ú.0Úis   & r   Ú	<genexpr>Ú'BaseProcess.__init__.<locals>.<genexpr>^   s   é € Ð=©n¨œc !Ÿf˜f«nùs   ‚)ÚnextÚ_process_counterr   Ú	_identityÚ_configÚcopyÚosÚgetpidÚ_parent_pidÚnameÚ_parent_namer   Ú_closedÚ_targetÚtupleÚ_argsÚdictÚ_kwargsÚtypeÚ__name__ÚjoinÚ_namer    Ú	_danglingÚadd)r   ÚgroupÚtargetr2   ÚargsÚkwargsr    Úcounts   &&&&&&$ r   Ú__init__ÚBaseProcess.__init__P   sä   € àŠ}ÐCÐCÓCˆ}ÜÔ%Ó&ˆÜ)×3Ñ3°u°hÕ>ˆŒÜ'×/Ñ/×4Ñ4Ó6ˆŒÜŸ9š9›;ˆÔÜ,×1Ñ1ˆÔØˆŒØˆŒØŒÜ˜4“[ˆŒ
ß'-”t˜F”|°2ˆŒØ÷ >ð >œT $›Z×0Ñ0°3Õ6Ø—X‘XÑ=¨d¯nªnÓ=Ó=õ>ˆŒ
àÒØ ŒKÜ�‰�dÖr   c                ó@   € V P                   '       d   \        R 4      hR# )zprocess object is closedN)r4   Ú
ValueErrorr   s   &r   Ú_check_closedÚBaseProcess._check_closedc   s   € Ø�<�<ˆ<ÜÐ7Ó8Ð8ñ r   c                óz   € V P                   '       d)   V P                   ! V P                  / V P                  B  R# R# )zA
Method to be run in sub-process; can be overridden in sub-class
N)r5   r7   r9   r   s   &r   ÚrunÚBaseProcess.rung   s+   € ð �<�<ˆ<Ø�LŠL˜$Ÿ*™*Ð5¨¯©Ô5ñ r   c                óª  € V P                  4        V P                  e   Q R4       hV P                  \        P                  ! 4       8X  g   Q R4       h\
        P                  P                  R4      '       d   Q R4       h\        4        V P                  V 4      V n        V P                  P                  V n        V =V =V =\        P!                  V 4       R# )z
Start child process
Nzcannot start a process twicez:can only start a process object created by current processr    z3daemonic processes are not allowed to have children)rI   r   r1   r/   r0   r   r-   Úgetr   r   ÚsentinelÚ	_sentinelr5   r7   r9   r   r?   r   s   &r   ÚstartÚBaseProcess.startn   s¶   € ð 	×ÑÔØ�{‰{Ò"ÐBÐ$BÓBÐ"Ø×Ñ¤2§9¢9£;Ô.ð 	LØKó	LÐ.ä#×+Ñ+×/Ñ/°×9Ò9ð 	EØDó	EÐ9äŒ
Ø—k‘k $Ó'ˆŒØŸ™×-Ñ-ˆŒð ˆL˜$˜* d lÜ�‰�dÖr   c                óZ   € V P                  4        V P                  P                  4        R# )z(
Terminate process; sends SIGINT signal
N)rI   r   Ú	interruptr   s   &r   rU   ÚBaseProcess.interrupt€   ó    € ð 	×ÑÔØ�‰×ÑÖr   c                óZ   € V P                  4        V P                  P                  4        R# )zD
Terminate process; sends SIGTERM signal or uses TerminateProcess()
N)rI   r   Ú	terminater   s   &r   rY   ÚBaseProcess.terminate‡   rW   r   c                óZ   € V P                  4        V P                  P                  4        R# )zD
Terminate process; sends SIGKILL signal or uses TerminateProcess()
N)rI   r   Úkillr   s   &r   r\   ÚBaseProcess.killŽ   s    € ð 	×ÑÔØ�‰×ÑÖr   c                ó  € V P                  4        V P                  \        P                  ! 4       8X  g   Q R4       hV P                  f   Q R4       hV P                  P                  V4      pVe   \        P                  V 4       R# R# )z%
Wait until child process terminates
zcan only join a child processNzcan only join a started process)rI   r1   r/   r0   r   Úwaitr   r   )r   ÚtimeoutÚress   && r   r<   ÚBaseProcess.join•   sr   € ð 	×ÑÔØ×Ñ¤2§9¢9£;Ô.ÐOÐ0OÓOÐ.Ø�{‰{Ò&ÐIÐ(IÓIÐ&Ø�k‰k×Ñ˜wÓ'ˆØŠ?Ü×Ñ˜dÖ#ñ r   c                ó  € V P                  4        V \        J d   R# V P                  \        P                  ! 4       8X  g   Q R4       hV P
                  f   R# V P
                  P                  4       pVf   R# \        P                  V 4       R# )z!
Return whether process is alive
Tzcan only test a child processF)	rI   r   r1   r/   r0   r   r   r   r   )r   Ú
returncodes   & r   Úis_aliveÚBaseProcess.is_alive    su   € ð 	×ÑÔØÔ#Ó#ÙØ×Ñ¤2§9¢9£;Ô.ÐOÐ0OÓOÐ.à�;‰;ÒÙà—[‘[×%Ñ%Ó'ˆ
ØÒÙä×Ñ˜dÔ#Ùr   c                óî   € V P                   e`   V P                   P                  4       f   \        R4      hV P                   P                  4        RV n         V =\
        P                  V 4       RV n        R# )z¢
Close the Process object.

This method releases resources held by the Process object.  It is
an error to call this method if the child process is still running.
Nz^Cannot close a process while it is still running. You should first call join() or terminate().T)r   r   rH   ÚcloserQ   r   r   r4   r   s   &r   rh   ÚBaseProcess.close³   sg   € ð �;‰;Ò"Ø�{‰{×ÑÓ!Ò)Ü ð "Pó Qð Qà�K‰K×ÑÔØˆDŒKØ�Ü×Ñ˜dÔ#ØˆŽr   c                ó   € V P                   # r   )r=   r   s   &r   r2   ÚBaseProcess.nameÄ   s   € à�z‰zÐr   c                óL   € \        V\        4      '       g   Q R 4       hWn        R# )zname must be a stringN)Ú
isinstancer%   r=   )r   r2   s   &&r   r2   rk   È   s    € ä˜$¤×$Ò$Ð=Ð&=Ó=Ð$ØŽ
r   c                ó:   € V P                   P                  RR4      # )z$
Return whether process is a daemon
r    F)r-   rO   r   s   &r   r    ÚBaseProcess.daemonÍ   s   € ð
 �|‰|×Ñ ¨%Ó0Ð0r   c                óL   € V P                   e   Q R4       hWP                  R&   R# )z!
Set whether process is a daemon
Nzprocess has already startedr    )r   r-   )r   Údaemonics   &&r   r    ro   Ô   s&   € ð
 �{‰{Ò"ÐAÐ$AÓAÐ"Ø!)�‰�XÓr   c                ó(   € V P                   R ,          # )Úauthkey)r-   r   s   &r   rs   ÚBaseProcess.authkeyÜ   s   € à�|‰|˜IÕ&Ð&r   c                ó6   € \        V4      V P                  R&   R# )z"
Set authorization key of process
rs   N)ÚAuthenticationStringr-   )r   rs   s   &&r   rs   rt   à   s   € ô
 #7°wÓ"?ˆ�‰�YÓr   c                óŠ   € V P                  4        V P                  f   V P                  # V P                  P                  4       # )z=
Return exit code of process or `None` if it has yet to stop
)rI   r   r   r   s   &r   ÚexitcodeÚBaseProcess.exitcodeç   s7   € ð
 	×ÑÔØ�;‰;ÒØ—;‘;ÐØ�{‰{×ÑÓ!Ð!r   c                ó´   € V P                  4        V \        J d   \        P                  ! 4       # V P                  ;'       d    V P                  P
                  # )zE
Return identifier (PID) of process or `None` if it has yet to start
)rI   r   r/   r0   r   Úpidr   s   &r   ÚidentÚBaseProcess.identñ   s?   € ð
 	×ÑÔØÔ#Ó#Ü—9’9“;Ðà—;‘;×2Ð2 4§;¡;§?¡?Ð2r   c                ór   € V P                  4         V P                  #   \         d    \        R4      Rhi ; i)zc
Return a file descriptor (Unix) or handle (Windows) suitable for
waiting for process termination.
zprocess not startedN)rI   rQ   ÚAttributeErrorrH   r   s   &r   rP   ÚBaseProcess.sentinelþ   s<   € ð 	×ÑÔð	>Ø—>‘>Ð!øÜô 	>ÜÐ2Ó3¸Ð=ð	>ús   ’ ž6c                ó  € R pV \         J d   RpMpV P                  '       d   RpM[V P                  \        P                  ! 4       8w  d   RpM4V P
                  f   RpM#V P
                  P                  4       pVe   RpMRp\        V 4      P                  RV P                  ,          .pV P
                  e-   VP                  RV P
                  P                  ,          4       VP                  RV P                  ,          4       VP                  V4       Ve.   \        P                  W4      pVP                  R	V,          4       V P                  '       d   VP                  R
4       RRP                  V4      ,          # )NÚstartedÚclosedÚunknownÚinitialÚstoppedzname=%rzpid=%sz	parent=%szexitcode=%sr    z<%s>Ú )r   r4   r1   r/   r0   r   r   r:   r;   r=   Úappendr{   Ú_exitcode_to_namerO   r    r<   )r   rx   ÚstatusÚinfos   &   r   Ú__repr__ÚBaseProcess.__repr__
  s  € ØˆØÔ#Ó#Ø‰FØ�\�\ˆ\Ø‰FØ×Ñ¤§¢£Ô,Ø‰FØ�[‰[Ò Ø‰Fà—{‘{×'Ñ'Ó)ˆHØÒ#Ø"‘à"�ä�T“
×#Ñ# Y°·±Õ%;Ð<ˆØ�;‰;Ò"Ø�K‰K˜ 4§;¡;§?¡?Õ2Ô3Ø�‰�K $×"2Ñ"2Õ2Ô3Ø�‰�FÔØÒÜ(×,Ñ,¨XÓ@ˆHØ�K‰K˜¨Õ0Ô1Ø�;�;ˆ;Ø�K‰K˜Ô!Ø˜Ÿ™ ›Õ&Ð&r   c                óÆ  € ^RI HpHp  V P                  e   VP	                  V P                  4       \
        P                  ! ^4      s\        4       s	VP                  4        \        pV s\        V P                  V P                  V4      s\         P"                  '       d$   \         P$                  ! 4       P'                  4         V P)                  4        ?VP+                  R4       V P-                  4        ^ p\         PD                  ! 4        TP+                  RT,          4       TPG                  4        T#   ?i ; i  \.         dŒ   pTP0                  f   ^ p Rp?Le\3        TP0                  \4        4      '       d   TP0                  p Rp?L–\6        P8                  P;                  \=        TP0                  4      R,           4       ^p Rp?LÖRp?i ^p^ RIp\6        P8                  P;                  RT P@                  ,          4       TPC                  4         EL$; i  \         PD                  ! 4        TP+                  RX,          4       TPG                  4        i ; i)é   )ÚutilÚcontextNz child process calling self.run()Ú
zProcess %s:
z process exiting with exitcode %d)$Ú r�   r‘   Ú_start_methodÚ_force_start_methodÚ	itertoolsrD   r+   Úsetr   Ú_close_stdinr   Ú_ParentProcessr3   r1   r   Ú	threadingÚ_HAVE_THREAD_NATIVE_IDÚmain_threadÚ_set_native_idÚ_after_forkr‹   rL   Ú
SystemExitÚcoderm   ÚintÚsysÚstderrÚwriter%   Ú	tracebackr2   Ú	print_excÚ	_shutdownÚ_flush_std_streams)r   Úparent_sentinelr�   r‘   Úold_processrx   Úer¥   s   &&      r   Ú
_bootstrapÚBaseProcess._bootstrap)  s¶  € ß#ð%	&Ø×!Ñ!Ò-Ø×+Ñ+¨D×,>Ñ,>Ô?Ü(Ÿš¨qÓ1ÐÜ›ˆIØ×ÑÔÜ*ˆKØ#ÐÜ,Ø×!Ñ! 4×#3Ñ#3°_óFˆOä×/×/Ð/Ü×%Ò%Ó'×6Ñ6Ô8ð Ø× Ñ Ô"ð  Ø�I‰IÐ8Ô9Ø�H‰HŒJØˆHô ×ÒÔ!Ø�I‰IÐ8¸8ÕCÔDØ×#Ñ#Ô%àˆøñ-  ûô ô 	Ø�v‰vŠ~Ø•Ü˜AŸF™F¤C×(Ò(ØŸ6™6•ä—
‘
× Ñ ¤ Q§V¡V£¨tÕ!3Ô4Ø•ûð	"ØˆHÛÜ�J‰J×Ñ˜_¨t¯y©yÕ8Ô9Ø×Ñ×!ûä×ÒÔ!Ø�I‰IÐ8¸8ÕCÔDØ×#Ñ#Õ%ús[   ŠB;D? ÃD9 Ã$D? Ä9D<Ä<D? Ä?HÅ
GÅH! Å,GÆH! Æ;GÇH! ÇAHÈH! È!?I c                 óf   € ^RI Hp  V P                  P                  4        V P	                  4        R# )r�   ©r�   N)r“   r�   Ú_finalizer_registryÚclearÚ_run_after_forkersr¯   s    r   rž   ÚBaseProcess._after_forkV  s#   € åØ× Ñ ×&Ñ&Ô(Ø×ÑÖ!r   )r7   r4   r-   r,   r9   r=   r3   r1   r   rQ   r5   r    )NNNr   Nr   )r;   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   rE   rI   rL   rR   rU   rY   r\   r<   re   rh   Úpropertyr2   Úsetterr    rs   rx   r|   r{   rP   rŒ   r¬   Ústaticmethodrž   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   G   s/  ø‡ € ñò
"ñØõò&9ò6òò$ ò òô	$òò&ð" ñó ðð 
‡[�[ñó ðð ñ1ó ð1ð ‡]�]ñ*ó ð*ð ñ'ó ð'ð ‡^�^ñ@ó ð@ð ñ"ó ð"ð ñ3ó ð3ð €Càñ	>ó ð	>ò'ô>+ðZ ñ"ó ö"r   c                   ó&   a € ] tR tRt o R tRtV tR# )rv   ia  c                óZ   € ^RI Hp V! 4       f   \        R4      h\        \	        V 4      33# )r�   )Úget_spawning_popenzJPickling an AuthenticationString object is disallowed for security reasons)r‘   rÁ   Ú	TypeErrorrv   Úbytes)r   rÁ   s   & r   Ú
__reduce__ÚAuthenticationString.__reduce__b  s3   € Ý/ÙÓÒ'Üð2óð ô $¤e¨D£k ^Ð3Ð3r   r   N)r;   r´   rµ   r¶   rÄ   r»   r¼   r½   s   @r   rv   rv   a  s   ø‡ € ÷4ð 4r   rv   c                   óJ   a € ] tR tRt o R tR t]R 4       tRR lt]t	Rt
V tR# )	r™   ip  c                óp   € RV n         Wn        W n        R V n        R V n        RV n        W0n        / V n        R # )NFr   )r,   r=   Ú_pidr1   r   r4   rQ   r-   )r   r2   r{   rP   s   &&&&r   rE   Ú_ParentProcess.__init__r  s5   € ØˆŒØŒ
ØŒ	ØˆÔØˆŒØˆŒØ!ŒØˆŽr   c                óB   € ^ RI Hp V! V P                  .^ R7      '       * # )é    ©r_   ©r`   ©Úmultiprocess.connectionr_   rQ   )r   r_   s   & r   re   Ú_ParentProcess.is_alive|  s   € Ý0Ù˜Ÿ™Ð(°!Ô4Ô4Ð4r   c                ó   € V P                   # r   )rÈ   r   s   &r   r|   Ú_ParentProcess.ident€  s   € à�y‰yÐr   Nc                ó<   € ^ RI Hp V! V P                  .VR7       R# )z&
Wait until parent process terminates
rÌ   rÍ   NrÎ   )r   r`   r_   s   && r   r<   Ú_ParentProcess.join„  s   € õ 	1Ùˆd�n‰nÐ w×/r   )r4   r-   r,   r=   r1   rÈ   r   rQ   r   )r;   r´   rµ   r¶   rE   re   r¸   r|   r<   r{   r»   r¼   r½   s   @r   r™   r™   p  s/   ø‡ € òò5ð ñó ðô0ð †Cr   r™   c                   ó,   a € ] tR tRt o R tR tRtV tR# )Ú_MainProcessi‘  c                óœ   € RV n         R V n        RV n        RV n        RV n        R\        \        P                  ! ^ 4      4      RR/V n        R# )ÚMainProcessNFrs   Ú	semprefixz/mpr   )	r,   r=   r1   r   r4   rv   r/   Úurandomr-   r   s   &r   rE   Ú_MainProcess.__init__“  sG   € ØˆŒØ"ˆŒ
ØˆÔØˆŒØˆŒØ!Ô#7¼¿
º
À2»Ó#GØ# Uð,ˆŽr   c                ó   € R # r   r   r   s   &r   rh   Ú_MainProcess.close¥  s   € Ùr   )r4   r-   r,   r=   r1   r   N)r;   r´   rµ   r¶   rE   rh   r»   r¼   r½   s   @r   rÖ   rÖ   ‘  s   ø‡ € ò,÷$ð r   rÖ   :Né   NÚSIGÚ_r"   )r   r	   r   r   )$Ú__all__r/   r¢   Úsignalr–   rš   Ú_weakrefsetr   ÚpathÚabspathÚgetcwdÚORIGINAL_DIRÚOSErrorr	   r   r   r   Úobjectr   rÃ   rv   r™   rÖ   r   r   rD   r+   r—   r   r‰   r   Ú__dict__Úitemsr2   Úsignumr>   r   r   r   Ú<module>rí      s   ðò€ó 
Û 
Û Û Û Ý ðØ—7‘7—?‘? 2§9¢9£;Ó/€Lòòòò!ôS"�&ô S"ôt4˜5ô 4ô�[ô ôB�;ô ð0 €Ù“>Ð Ø—?’? 1Ó%Ð Ù‹E€	Øð Ð á˜Ÿ™×.Ñ.Ó0Ö1�L€Dˆ&ØˆB…x�†˜3 dž?Ø'(¨¨ ZÐ˜6˜'Ó"ñ 2ð 	ˆ&ñ ‹I‚	øð{ ô Ø‚Lðús    *C> Ã>	D
Ä	D
