§
    (¶Õií  ã                   ó’   — d dl Z d dlZddlmZmZ ddlmZ ddlmZ ddlmZ dgZ	 G d„ d	e
¦  «        Z G d
„ dej        ¦  «        ZdS )é    Né   )Ú	reductionÚset_spawning_popen)Ú
popen_fork)Úspawn)ÚutilÚPopenc                   ó   — e Zd Zd„ Zd„ ZdS )Ú_DupFdc                 ó   — || _         d S ©N©Úfd©Úselfr   s     ú8/usr/lib/python3.11/multiprocessing/popen_spawn_posix.pyÚ__init__z_DupFd.__init__   s   € ØˆŒˆˆó    c                 ó   — | j         S r   r   )r   s    r   Údetachz_DupFd.detach   s	   € ØŒwˆr   N)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   r   r      s2   € € € € € ðð ð ðð ð ð ð r   r   c                   ó2   ‡ — e Zd ZdZeZˆ fd„Zd„ Zd„ Zˆ xZ	S )r	   r   c                 óX   •— g | _         t          ¦   «                              |¦  «         d S r   )Ú_fdsÚsuperr   )r   Úprocess_objÚ	__class__s     €r   r   zPopen.__init__   s(   ø€ ØˆŒ	Ý‰Œ×Ò˜Ñ%Ô%Ð%Ð%Ð%r   c                 ó:   — | j                              |¦  «         |S r   )r   Úappendr   s     r   Úduplicate_for_childzPopen.duplicate_for_child"   s   € ØŒ	×Ò˜ÑÔÐØˆ	r   c                 óô  — ddl m} |                     ¦   «         }| j                             |¦  «         t          j        |j        ¦  «        }t          j	        ¦   «         }t          | ¦  «         	 t          j        ||¦  «         t          j        ||¦  «         t          d ¦  «         n# t          d ¦  «         w xY wd x}x}x}}		 t          j        ¦   «         \  }}t          j        ¦   «         \  }}	t          j        ||¬¦  «        }
| j                             ||g¦  «         t#          j        t          j        ¦   «         |
| j        ¦  «        | _        || _        t-          |	dd¬¦  «        5 }|                     |                     ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   g }||	fD ]}|�|                     |¦  «         Œt#          j        | t"          j        |¦  «        | _        ||fD ]}|�t          j        |¦  «         Œd S # g }||	fD ]}|�|                     |¦  «         Œt#          j        | t"          j        |¦  «        | _        ||fD ]}|�t          j        |¦  «         Œw xY w)Nr   )Úresource_tracker)Ú
tracker_fdÚpipe_handleÚwbF)Úclosefd)Ú r%   Úgetfdr   r"   r   Úget_preparation_dataÚ_nameÚioÚBytesIOr   r   ÚdumpÚosÚpipeÚget_command_lineÚextendr   Úspawnv_passfdsÚget_executableÚpidÚsentinelÚopenÚwriteÚ	getbufferÚFinalizeÚ	close_fdsÚ	finalizerÚclose)r   r   r%   r&   Ú	prep_dataÚfpÚparent_rÚchild_wÚchild_rÚparent_wÚcmdÚfÚfds_to_closer   s                 r   Ú_launchzPopen._launch&   sÍ  € Ø&Ð&Ð&Ð&Ð&Ð&Ø%×+Ò+Ñ-Ô-ˆ
ØŒ	×Ò˜Ñ$Ô$Ð$ÝÔ.¨{Ô/@ÑAÔAˆ	ÝŒZ‰\Œ\ˆÝ˜4Ñ Ô Ð ð	%ÝŒN˜9 bÑ)Ô)Ð)ÝŒN˜;¨Ñ+Ô+Ð+å˜tÑ$Ô$Ð$Ð$øÕ˜tÑ$Ô$Ð$Ð$øøøà26Ð6ˆÐ6�7Ð6˜W xð	!Ý "¤¡	¤	ÑˆH�gÝ "¤¡	¤	ÑˆG�XÝÔ(°JØ5<ð>ñ >ô >ˆCàŒI×Ò˜g wÐ/Ñ0Ô0Ð0ÝÔ*­5Ô+?Ñ+AÔ+AØ+.°´	ñ;ô ;ˆDŒHà$ˆDŒMÝ�h ¨eÐ4Ñ4Ô4ð (¸Ø—’˜Ÿš™œÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð ˆLØ Ð*ð ,ð ,�Ø�>Ø ×'Ò'¨Ñ+Ô+Ð+øÝ!œ]¨4µ´ÀÑNÔNˆDŒNà Ð(ð !ð !�Ø�>Ý”H˜R‘L”L�Løð!ð !øð ˆLØ Ð*ð ,ð ,�Ø�>Ø ×'Ò'¨Ñ+Ô+Ð+øÝ!œ]¨4µ´ÀÑNÔNˆDŒNà Ð(ð !ð !�Ø�>Ý”H˜R‘L”L�Løð!øøøs>   Á1*B+ Â+B<ÃB(H Å0(F$ÆH Æ$F(Æ(H Æ+F(Æ,H ÈA$I7)
r   r   r   Úmethodr   ÚDupFdr   r#   rI   Ú__classcell__)r    s   @r   r	   r	      s`   ø€ € € € € Ø€FØ€Eð&ð &ð &ð &ð &ðð ð ð"!ð "!ð "!ð "!ð "!ð "!ð "!r   )r.   r1   Úcontextr   r   r*   r   r   r   Ú__all__Úobjectr   r	   r   r   r   ú<module>rP      sÍ   ðØ 	€	€	€	Ø 	€	€	€	à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð àˆ)€ðð ð ð ð ˆVñ ô ð ð.!ð .!ð .!ð .!ð .!ˆJÔñ .!ô .!ð .!ð .!ð .!r   