+
    f4j>                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^RI
Ht ^RI
Ht ^RI
Ht ^RIHt ^RI
Ht ^RI
Ht ^RI
Ht . ROtR	t]P*                  ! R
4      t^ t ! R R]4      tRRRRR/R lltR tR tR t]! 4       t]P>                  t]P@                  t ]PB                  t!]PD                  t"R# )    N)AuthenticationError)
connection)process)	reduction)resource_tracker)spawn)util   qc                   J   a  ] tR t^#t o R tR tR tR tR tR t	R t
RtV tR	# )

ForkServerc                    R V n         R V n        R V n        R V n        R V n        \
        P                  ! 4       V n        R.V n        R # )N__main__)	_forkserver_authkey_forkserver_address_forkserver_alive_fd_forkserver_pid_inherited_fds	threadingLock_lock_preload_modulesselfs   &,lib/python3.14/multiprocessing/forkserver.py__init__ForkServer.__init__%   sB    #' #' $(!#"^^%
!+    c                    V P                   ;_uu_ 4        V P                  4        R R R 4       R #   + '       g   i     R # ; iN)r   _stop_unlockedr   s   &r   _stopForkServer._stop.   s#    ZZZ! ZZZs	   0A	c                l   V P                   f   R # \        P                  ! V P                  4       R V n        \        P                  ! V P                   ^ 4       R V n         \
        P                  ! V P                  4      '       g!   \        P                  ! V P                  4       R V n        R V n	        R # r    )
r   oscloser   waitpidr	   is_abstract_socket_namespacer   unlinkr   r   s   &r   r!   ForkServer._stop_unlocked3   s    ' 	**+$(!


4''+#001I1IJJIId../#' #' r   c                    \         ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      hWn        R# )z>Set list of module names to try to load in forkserver process.c              3   D   "   T F  p\        V4      \        J x  K  	  R # 5ir    )typestr).0mods   & r   	<genexpr>4ForkServer.set_forkserver_preload.<locals>.<genexpr>E   s     =}49#}s    FTz&module_names must be a list of stringsN)all	TypeErrorr   )r   modules_namess   &&r   set_forkserver_preload!ForkServer.set_forkserver_preloadC   s5    s=}=sss=}===DEE -r   c                    V P                   # )z|Return list of fds inherited from parent process.

This returns None if the current process was not started by fork
server.
)r   r   s   &r   get_inherited_fdsForkServer.get_inherited_fdsI   s     """r   c                   V P                  4        V P                  '       g   Q h\        V4      ^,           \        8  d   \	        R4      h\
        P
                  ! \
        P                  4      ;_uu_ 4       pVP                  V P                  4       \        P                  ! 4       w  r4\        P                  ! 4       w  rVWTV P                  \        P                  ! 4       .pWq,          p VP                  R4       \        P                   ! VP#                  4       4      p \        P$                  ! WP                  4       \        P&                  ! WP                  4       VP)                  4        ?\*        P,                  ! W'4       W63\        P.                  ! V4       \        P.                  ! V4       uuRRR4       #   TP)                  4        ?i ; i   \        P.                  ! T4       \        P.                  ! T4       h ; i  \        P.                  ! T4       \        P.                  ! T4       i ; i  + '       g   i     R# ; i)a  Request forkserver to create a child process.

Returns a pair of fds (status_r, data_w).  The calling process can read
the child process's pid and (eventually) its returncode from status_r.
The calling process should write to data_w the pickled preparation and
process data.
ztoo many fdsTN)ensure_runningr   lenMAXFDS_TO_SEND
ValueErrorsocketAF_UNIXconnectr   r%   piper   r   getfdsetblockingr   
Connectionfilenoanswer_challengedeliver_challenge_detachr   sendfdsr&   )	r   fdsclientparent_rchild_wchild_rparent_wallfdswrapped_clients	   &&       r   connect_to_new_process!ForkServer.connect_to_new_processQ   s    	'''''s8a<>)^,,]]6>>**fNN4334 "	H "	G(A(A&,,.0FMF"""4(!+!6!6v}}!G'//*,D,DF00*,D,DF #**,&!!&1) !!9 +*$ #**,&""!!9 +**sJ   7A4H;,5G"A G")G,H;GG/HH

.H88H;;I	c           	        V P                   ;_uu_ 4        \        P                  ! 4        V P                  e   \        P
                  ! V P                  \        P                  4      w  rV'       g    RRR4       R# \        P                  ! V P                  4       RV n	        RV n
        RV n        RV n        Rp/ pRpV P                  '       dM   \        P                  ! R4      pRV9   d   VR,          VR&   RV9   d   VR,          VR&   RV9   d
   VR,          p\        P                  ! \        P                  4      ;_uu_ 4       p\         P"                  ! R4      pVP%                  V4       \&        P(                  ! V4      '       g   \        P*                  ! VR	4       VP-                  4        \        P.                  ! 4       w  r\        P.                  ! 4       w  r VP1                  4       W.pWR
&   W7P1                  4       WP                  V3,          p\        P2                  ! 4       pV.\&        P4                  ! 4       ,           pVRV.,          pVe	   W,          p\&        P6                  ! WV4      p \        P                  ! T	4       \        P                  ! T4        \        P8                  ! \:        4      T n	        \        P<                  ! YP                  4       \        P                  ! T4       Yn
        Yn        Yn        RRR4       RRR4       R#    \        P                  ! T
4       \        P                  ! T4       h ; i  \        P                  ! T	4       \        P                  ! T4       i ; i  \        P                  ! T4       i ; i  + '       g   i     L; i  + '       g   i     R# ; i)zMake sure that a fork server is running.

This can be called from any process.  Note that usually a child
process will just reuse the forkserver started by its parent, so
ensure_running() will do nothing.
Nzfimport sys; from multiprocessing.forkserver import main; main(%d, %d, %r, sys_argv=sys.argv[1:], **%r)ignoresys_pathinit_main_from_path	main_pathsys_argvrA   i  	authkey_rz-c)r   r   r<   r   r%   r'   WNOHANGr&   r   r   r   r   r   get_preparation_datar@   rA   r   arbitrary_addressbindr	   r(   chmodlistenrC   rG   get_executable_args_from_interpreter_flagsspawnv_passfdsurandom_AUTHKEY_LENwrite)r   pidstatuscmdmain_kwsr[   datalisteneraddressalive_ralive_wr\   	authkey_wfds_to_passexeargss   &               r   r<   ForkServer.ensure_running{   s    ZZZ++-##/ jj)=)=rzzJ Z 223+/(+/(,0)'+$CC HH$$$11(;%+/
+;HZ((D0,01F,GH[)%#J/Hv~~..($66yAg&88AAHHWe,! $&779 ')wwy$	(#+??#4g"IK,5[)OO-w8M8M$& &C..0C54#D#D#FFDT3K'D+(--cEC HHW%HHY'(/1zz,/GD,HHY(@(@AHHY'+2(,3)'*$O /G ZtHHW%HHY'HHW%HHY' HHY'I /.G ZZsp   AN4=AN4A8N4	BN!	#BL#=,N!	*?N)(N!	N4#/MM.NN!	NN!	!N1,N44O	)r   r   r   r   r   r   r   N)__name__
__module____qualname____firstlineno__r   r"   r!   r6   r9   rT   r<   __static_attributes____classdictcell__)__classdict__s   @r   r   r   #   s0     -"
( .#("TQ+ Q+r   r   r[   r\   c                  Veb    \         P                  ! V\        4      p\        V4      \        8X  g   Q \        V4       R\         24       h \         P                  ! V4       MRpV'       d   Ve   V\
        P                  R&   Ve   V\
        P                  R&   RV9   dK   VeG   R\        P                  ! 4       n
         \        P                  ! V4       \        P                  ! 4       =
V F  p \        V4       K  	  \        P                   ! 4        \        P"                  ! 4        \         P$                  ! 4       w  r\         P&                  ! V	R4       \         P&                  ! V
R4       R p\(        P*                  V\(        P,                  \(        P.                  /pVP1                  4        UUu/ uF  w  rV\(        P(                  ! W4      bK  	  ppp\(        P2                  ! V
4       / p\4        P4                  ! \4        P6                  V R	7      ;_uu_ 4       p\8        P:                  ! 4       ;_uu_ 4       pVP=                  4       \>        n         VPC                  V\8        PD                  4       VPC                  V\8        PD                  4       VPC                  V	\8        PD                  4          VPG                  4        UUu. uF  w  ppVPH                  NK  	  pppV'       g   K9   TT9   d*   \         P                  ! T^4      R8X  g   Q R
4       h\J        hT	T9   d   \         P                  ! T	R4         \         PL                  ! R\         PN                  4      w  ppT^ 8X  d   MpTPS                  TR4      pTe<   \         PT                  ! T4      p \W        TT4       \         P                  ! T4       K  \Z        P\                  ! RT,          4       K  TT9   Ed$   TP_                  4       ^ ,          ;_uu_ 4       p T'       de   \`        Pb                  ! TPe                  4       4      p \`        Pf                  ! TT4       \`        Ph                  ! TT4       TPk                  4        ?\l        Pn                  ! T\p        ^,           4      p\        T4      \p        8  d$   \w        RPy                  \        T4      4      4      hTvpppTP	                  4        \         Pz                  ! 4       pT^ 8X  d   ^p TP	                  4        TP	                  4        TTY.pTP}                  TP                  4       4       \        P                  ! 4        \        PB                  ! \        P                  4       \        TTTT4      p\        P                  ! 4        \         P                  ! T4       MG \W        TT4       TTT&   \         P                  ! T4       T F  p \         P                  ! T 4       K  	  RRR4       EKW  EKZ    \         P                  ! T4       i ; i  \        P                  ! 4       =
i ; i  \         d     EKi  i ; iu uppi u uppi   \P         d     EK  i ; i  \X         d     ELi ; i  TPk                  4        ?i ; i  \r        \X        \t        3 d    TP	                  4         RRR4       EK  i ; i  \         dJ    \
        P                  ! \
        P                  ! 4       !   \
        P                  P                  4         ELi ; i  \        P                  ! 4        \         P                  ! T4       i ; i  \X         d     ELi ; i  + '       g   i     EK  ; i  \         d-   p!T!P                  \        P                  8w  d   h  Rp!?!EK  Rp!?!ii ; i  + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)zRun forkserver.Nz < r   :NNNr   TFc                      R # r     )_unuseds   *r   sigchld_handlermain.<locals>.sigchld_handler   s    r   )rG   zNot at EOF?i   z.forkserver: waitpid returned unexpected pid %dzToo many ({0:n}) fds to send)Nr%   readrg   r=   r&   sysargvpathr   current_process_inheritingr   import_main_path
__import__ImportErrorr	   _flush_std_streams_close_stdinrC   set_blockingsignalSIGCHLDSIGINTSIG_IGNitemsset_wakeup_fdr@   rA   	selectorsDefaultSelectorgetsockname_forkserverr   register
EVENT_READselectfileobj
SystemExitr'   r]   ChildProcessErrorpopwaitstatus_to_exitcodewrite_signedBrokenPipeErrorwarningswarnacceptr   rF   rG   rI   rH   rJ   r   recvfdsr>   EOFErrorr   RuntimeErrorformatforkextendvaluesatexit_clear_exit_function
_serve_one	Exception
excepthookexc_infostderrflush_run_exitfuncs_exitOSErrorerrnoECONNABORTED)"listener_fdrp   preloadrZ   rX   r[   r\   authkeymodnamesig_rsig_wr   handlerssigvalold_handlers	pid_to_fdrn   selectorkeyeventsrfdsri   stsrO   
returncodes	wrapped_srL   rP   code
unused_fdsfdes"   &&&&&$$                           r   mainr      s     	 ggi6Gw<</SCL>\N1SS/HHY"CHHQK"CHHQK Y%:48G##%1:&&y1++-9G7#  	!779LEOOE5!OOE5! 	v~~	
H '/nn&68&6
 s00&6  8  I	v~~k	:	:h		"	"	$	$*2*>*>*@'(I$8$89'9#7#78%!5!56c=E__=NO=NMS&CKK=NDOtd?777A.#5D}D5$$D=GGE5)"')zz"bjj'AHC !8!"+--T":".)+)B)B3)GJ% ,Wj A HHW- %MM +>@C+D E t#!*1--%&,6,A,A!((*,M	!2$.$@$@,5w%@$.$?$?,5w%@ %.$5$5$7(1"+"3"3A~7I"JC s8n4". > E E$'H!.#/ / 25.3	 ggi!8#$D/ ( 0 ( 0.5w-M
 * 1 1)2B2B2D E & &0C0C D'1'32<2>(@ !' 5 5 7 "% ,Wc : .5IcNHHW-&) " '*m .- $C HHY ++-9  .8( P   1 "!" $3 % $%. %.$5$5$7(1 !)/;NO %GGI$% .- %. $- 3 # ? #

 0 0 23 !' 5 5 7 "
 $3 % $%c .--r  77e000 1S 
%	$ 
;	:	:	:s  AX X1 5Y9"Y$_ A;_	>^	Y$*^	7A^	(Y*04^	%Y=1A^	]4,Z%>.Z,3Z%A*]4
B[,]4]":]4^	_	X.1YYY$^	*Y:5^	9Y::^	=Z^	Z^	Z""Z%%&[]4^	_	[]4A\/+\2.\//\22-]]4"]1-]40]11]44^?^	_	^		_  ^;4_	;_  _	__  _1	c                 z   \         P                  ! R4       VP                  4        F  w  rE\         P                   ! WE4       K  	  V F  p\        P                  ! V4       K  	  Vv\
        n        \        P                  n	        \
        n
        \        P                  ! V 4      p\        P                  ! W4      pV# )   r   )r   r   r   r%   r&   r   r   r   _resource_tracker_fdr   dupr   _main)	rP   rL   r   r   r   r   r   parent_sentinelr   s	   &&&&     r   r   r   {  s    
NN$c %
 
 %("[%''+  ffWoO;;w0DKr   c                     \        \        P                  4      p\        V4      pV'       d/   \        P
                  ! W4      pV^ 8X  d   \        R4      hW#R pK6  \        P                  V4      ^ ,          # )r   zunexpected EOFN)	bytearraySIGNED_STRUCTsize
memoryviewr%   readintor   unpack)r   rm   unreadcounts   &   r   read_signedr     s_    ]''(DF
B'A:+,,%a((r   c                     \         P                  V4      pV'       d/   \        P                  ! W4      pV^ 8X  d   \	        R4      hW#R pK6  R# )r   zshould not get hereN)r   packr%   rh   r   )r   nmsgnbytess   &&  r   r   r     sD    


Q
C
""Q;455'l	 r   )r<   r9   rT   r6   )NN)#r   r   r%   r   r   r@   structr   r   r    r   r   r   contextr   r   r   r	   __all__r>   Structr   rg   objectr   r   r   r   r   r   r<   r9   rT   r6   r   r   r   <module>r      s      	     
   !      % c"i+ i+^ff%)fR.	) l++11 $;; $;; r   