§
    ƒnócÔ  ã                  óÌ   — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	ddl
mZ dd„Zddd„Zdd„Zedk    r( ej         eej        dd…         ¦  «        ¦  «         dS dS )é    )ÚannotationsNé   )ÚExecutableSerialisationÚreturnúargparse.ArgumentParserc                 ó®   — t          j        d¬¦  «        } |                      d¦  «         |                      d¦  «         |                      d¦  «         | S )NzECustom executable wrapper for Meson. Do not run on your own, mmm'kay?)Údescriptionz
--unpicklez	--capturez--feed)ÚargparseÚArgumentParserÚadd_argument)Úparsers    ú>/usr/lib/python3/dist-packages/mesonbuild/scripts/meson_exe.pyÚbuildparserr      sW   € ÝÔ$Ð1yÐzÑzÔz€FØ
×Ò˜Ñ%Ô%Ð%Ø
×Ò˜Ñ$Ô$Ð$Ø
×Ò˜Ñ!Ô!Ð!Ø€Mó    Úexer   Ú	extra_envúT.Optional[T.Dict[str, str]]Úintc           	     ó¬  — | j         r€| j                              ¦   «         sEt          d                     | j        d         | j                              ¦   «         ¦  «        ¦  «        ‚| j                              ¦   «         | j        z   }n| j        }t          j         	                    ¦   «         }|r| 
                    |¦  «         | j        r| j                             |¦  «        }| j        ràt          j                             | j        dgz   ¦  «        |d         z   |d<   | j         r¥t!          d„ | j                              ¦   «         D ¦   «         ¦  «        ruddlm} |                     | j                              ¦   «         d„ | j        D ¦   «         |                     d	d¦  «                             d
¦  «        z   | j        ¦  «        |d	<   d }| j        rt1          | j        d¦  «        }t2          j        }| j        r| j        r
J d¦   «         ‚d }t3          j        ||| j        d|||¬¦  «        }|                     ¦   «         \  }}	|�|                     ¦   «          |j         dk    rtC          d¦  «        ‚|j         dk    r®| j"        rtG          d|›�¦  «         | j        r|j         S tI          j%        ¦   «         }
| j        s3tG          d¦  «         tG          | &                    |
d¬¦  «        ¦  «         tG          d¦  «         tG          |	 &                    |
d¬¦  «        ¦  «         |j         S | j        r�d}	 t1          | j        d¦  «        5 }| '                    ¦   «         |k    }d d d ¦  «         n# 1 swxY w Y   n# tP          $ r Y nw xY w|sBt1          | j        d¦  «        5 }| )                    |¦  «         d d d ¦  «         n# 1 swxY w Y   dS )NzBBUG: Can't run cross-compiled exe {!r} with not-found wrapper {!r}r   Ú ÚPATHc              3  ó   K  — | ]}d |v V — Œ	dS )ÚwineN© )Ú.0Úis     r   ú	<genexpr>zrun_exe.<locals>.<genexpr>1   s&   è è € Ð"VÐ"V°1 6¨Q ;Ð"VÐ"VÐ"VÐ"VÐ"VÐ"Vr   r   )Úmesonlibc                ó   — g | ]}d |z   ‘ŒS )zZ:r   )r   Úps     r   ú
<listcomp>zrun_exe.<locals>.<listcomp>5   s   € Ð3Ð3Ð3˜a�˜‘Ð3Ð3Ð3r   ÚWINEPATHú;Úrbz4Cannot capture and print to console at the same timeF)ÚenvÚcwdÚ	close_fdsÚstdinÚstdoutÚstderrl   5   zdue to missing DLLszwhile executing z--- stdout ---Úreplace)ÚencodingÚerrorsz--- stderr ---Úwb)*Úexe_wrapperÚfoundÚAssertionErrorÚformatÚcmd_argsÚget_pathÚget_commandÚosÚenvironÚcopyÚupdater%   Úget_envÚextra_pathsÚpathsepÚjoinÚanyr   r   Úget_wine_shortpathÚgetÚsplitÚworkdirÚfeedÚopenÚ
subprocessÚPIPEÚverboseÚcaptureÚPopenÚcommunicateÚcloseÚ
returncodeÚFileNotFoundErrorÚpickledÚprintÚlocaleÚgetpreferredencodingÚdecodeÚreadÚOSErrorÚwrite)r   r   r3   Ú	child_envr   r(   Úpiper    r)   r*   r,   Ú
skip_writeÚcurÚoutputs                 r   Úrun_exer[   !   sX  € Ø
„ð  ØŒ×$Ò$Ñ&Ô&ð 	eÝ ð "0ß06²°s´|ÀA´ÈÌ×H`ÒH`ÑHbÔHbÑ0cÔ0cñeô eð eà”?×.Ò.Ñ0Ô0°3´<Ñ?ˆˆà”<ˆÝ”
—’Ñ!Ô!€IØð $Ø×Ò˜Ñ#Ô#Ð#Ø
„wð /Ø”G—O’O IÑ.Ô.ˆ	Ø
„ð 	ÝœZŸ_š_¨S¬_À¸tÑ-CÑDÔDØ& vÔ.ñ/ˆ	�&ÑàŒ?ð 	�sÐ"VÐ"V¸¼×8SÒ8SÑ8UÔ8UÐ"VÑ"VÔ"VÑVÔVð 	Ø#Ð#Ð#Ð#Ð#Ð#Ø$,×$?Ò$?Ø”×+Ò+Ñ-Ô-Ø3Ð3 3¤?Ð3Ñ3Ô3°i·m²mÀJÐPRÑ6SÔ6S×6YÒ6YÐZ]Ñ6^Ô6^Ñ^Ø”ñ%ô %ˆI�jÑ!ð €EØ
„xð %Ý�S”X˜tÑ$Ô$ˆåŒ?€DØ
„{ð Ø”;ÐVÐVÐ VÑVÔVÐVØˆåÔ˜ y°c´kØ#(°¸dÈ4ð	Qñ 	Qô 	Q€Aà—]’]‘_”_�N€FˆFàÐØ�Š‰Œˆà„|�zÒ!Ð!åÐ 5Ñ6Ô6Ð6à„|�qÒÐØŒ;ð 	3ÝÐ1 XÐ1Ð1Ñ2Ô2Ð2ØŒ;ð 	 Ø”<ÐÝÔ.Ñ0Ô0ˆØŒ{ð 	FÝÐ"Ñ#Ô#Ð#Ý�&—-’-¨¸)�-ÑDÔDÑEÔEÐEÝÐÑÔÐÝˆf�mŠm X°iˆmÑ@Ô@ÑAÔAÐAØŒ|Ðà
„{ð 	%Øˆ
ð	Ý�c”k 4Ñ(Ô(ð 2¨CØ ŸXšX™ZœZ¨6Ò1�
ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2øøåð 	ð 	ð 	ØˆDð	øøøàð 	%Ý�c”k 4Ñ(Ô(ð %¨FØ—’˜VÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð ˆ1sH   Ì:N  ÍM4Í(N  Í4M8Í8N  Í;M8Í<N  Î 
NÎNÎ'O	Ï	OÏOÚargsúT.List[str]c                óú  — t          ¦   «         }|                     | ¦  «        \  }}|r|d         dk    r
|dd …         }|j        s|s|                     d¦  «         |j        rn|s|j        s|j        r|                     d¦  «         t          |j        d¦  «        5 }t          j        |¦  «        }d|_	        d d d ¦  «         n# 1 swxY w Y   nt          ||j        |j        ¬¦  «        }t          |¦  «        S )	Nr   z--é   z:either --unpickle or executable and arguments are requiredz.no other arguments can be used with --unpickler$   T)rH   rC   )r   Úparse_known_argsÚunpickleÚerrorrH   rC   rD   ÚpickleÚloadrN   r   r[   )r\   r   Úoptionsr3   Úfr   s         r   Úrunrg   g   sK  € Ý‰]Œ]€FØ×/Ò/°Ñ5Ô5Ñ€GˆXð ð  �H˜Q”K 4Ò'Ð'Ø˜A˜B˜B”<ˆØÔð S Hð SØ�ŠÐQÑRÔRÐRØÔð \Øð 	K�w”ð 	K¨'¬,ð 	KØ�LŠLÐIÑJÔJÐJÝ�'Ô" DÑ)Ô)ð 	¨QÝ”+˜a‘.”.ˆCØˆCŒKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øõ & h¸¼ÈgÌlÐ[Ñ[Ô[ˆå�3‰<Œ<Ðs   ÂCÃC
ÃC
Ú__main__r_   )r   r   )N)r   r   r   r   r   r   )r\   r]   r   r   )Ú
__future__r   r6   Úsysr
   rc   rE   ÚtypingÚTrP   Ú
utils.corer   r   r[   rg   Ú__name__ÚexitÚargvr   r   r   ú<module>rq      sø   ðð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€à 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ðDð Dð Dð Dð DðLð ð ð ð( ˆzÒÐØ€C„HˆSˆS�”˜!˜"˜"”ÑÔÑÔÐÐÐð Ðr   