§
    Á³g8  ã                   óH  — 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Zd dlZd dl	Z	d dl
Z
d dlZd dlmZ d dlmZ ej                             d¦  «        rd dlmc mc mc mZ nej        e j                 Z	 eZn# e$ r dZY nw xY weZg d¢Zd d„Zej        d d„¦   «         Z ej        d„ ¦   «         Z!ej        d	„ ¦   «         Z"ej        d
„ ¦   «         Z# G d„ de$¦  «        Z% G d„ d¦  «        Z&ej        d„ ¦   «         Z'd„ Z(ej        d„ ¦   «         Z)ej        d„ ¦   «         Z*h d£Z+d„ Z,d„ Z-d„ Z. G d„ d¦  «        Z/ e0e d¦  «        r	e j1        gZ2ng Z2 G d„ de/¦  «        Z3 ej4        ej5        d„ d 6                    ¦   «         D ¦   «         ¦  «        Z7 G d„ de¦  «        Z8dS )!é    N)ÚDistutilsError)Úworking_setÚjava)ÚAbstractSandboxÚDirectorySandboxÚSandboxViolationÚ	run_setupc                 óÎ   — d}t          | |¦  «        5 }|                     ¦   «         }ddd¦  «         n# 1 swxY w Y   |€|}t          || d¦  «        }t          |||¦  «         dS )z.
    Python 3 implementation of execfile.
    ÚrbNÚexec)ÚopenÚreadÚcompiler   )ÚfilenameÚglobalsÚlocalsÚmodeÚstreamÚscriptÚcodes          úP/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/setuptools/sandbox.pyÚ	_execfiler   $   s«   € ð €DÝ	ˆh˜Ñ	Ô	ð  Ø—’‘”ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à€~ØˆÝ�6˜8 VÑ,Ô,€DÝˆˆw˜ÑÔÐÐÐs   “4´8»8c              #   ó°   K  — t           j        d d …         }| �| t           j        d d …<   	 |V — |t           j        d d …<   d S # |t           j        d d …<   w xY w©N)ÚsysÚargv)ÚreplÚsaveds     r   Ú	save_argvr   1   sf   è è € åŒH�Q�Q�QŒK€EØÐØ�Œ���‰ðØˆˆˆà�Œ���‰ˆˆø�e�Œ���‰ÐÐÐÐs   «A ÁAc               #   óŠ   K  — t           j        d d …         } 	 | V — | t           j        d d …<   d S # | t           j        d d …<   w xY wr   )r   Úpath©r   s    r   Ú	save_pathr#   <   sQ   è è € åŒH�Q�Q�QŒK€EðØˆˆˆà�Œ���‰ˆˆø�e�Œ���‰ÐÐÐÐs	   ˜/ ¯Ac              #   óª   K  — t          j        | d¬¦  «         t          j        }| t          _        	 dV — |t          _        dS # |t          _        w xY w)zL
    Monkey-patch tempfile.tempdir with replacement, ensuring it exists
    T)Úexist_okN)ÚosÚmakedirsÚtempfileÚtempdir)Úreplacementr   s     r   Úoverride_tempr+   E   s]   è è € õ
 „K� dÐ+Ñ+Ô+Ð+åÔ€Eà"…HÔð!Øˆˆˆà �ÔÐÐø˜5�ÔÐ Ð Ð Ð s   ²A ÁAc              #   ó¼   K  — t          j        ¦   «         }t          j        | ¦  «         	 |V — t          j        |¦  «         d S # t          j        |¦  «         w xY wr   )r&   ÚgetcwdÚchdir)Útargetr   s     r   Úpushdr0   V   sR   è è € åŒI‰KŒK€EÝ„HˆVÑÔÐðØˆˆˆå
Œ�‰Œˆˆˆø�Œ�‰Œˆˆøøøs   «A ÁAc                   ó(   — e Zd ZdZed„ ¦   «         ZdS )ÚUnpickleableExceptionzP
    An exception representing another Exception that could not be pickled.
    c           	      óØ   — 	 t          j        | ¦  «        t          j        |¦  «        fS # t          $ r5 ddlm} |                     | |t          |¦  «        ¦  «        ¦  «        cY S w xY w)z‰
        Always return a dumped (pickled) type and exc. If exc can't be pickled,
        wrap it in UnpickleableException first.
        r   )r2   )ÚpickleÚdumpsÚ	ExceptionÚsetuptools.sandboxr2   ÚdumpÚrepr)ÚtypeÚexcÚclss      r   r8   zUnpickleableException.dumpe   s{   € ð	1Ý”< Ñ%Ô%¥v¤|°CÑ'8Ô'8Ð8Ð8øÝð 	1ð 	1ð 	1àGÐGÐGÐGÐGÐGà—8’8˜C  ¥T¨#¡Y¤Y¡¤Ñ0Ô0Ð0Ð0Ð0ð		1øøøs   ‚'* ª<A)Á(A)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústaticmethodr8   © ó    r   r2   r2   `   s9   € € € € € ðð ð ð1ð 1ñ „\ð1ð 1ð 1rC   r2   c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )ÚExceptionSaverz^
    A Context Manager that will save an exception, serialized, and restore it
    later.
    c                 ó   — | S r   rB   ©Úselfs    r   Ú	__enter__zExceptionSaver.__enter__z   s   € ØˆrC   c                 ó\   — |sd S t                                ||¦  «        | _        || _        dS ©NT)r2   r8   Ú_savedÚ_tb)rH   r:   r;   Útbs       r   Ú__exit__zExceptionSaver.__exit__}   s6   € Øð 	ØˆFõ ,×0Ò0°°sÑ;Ô;ˆŒØˆŒð ˆtrC   c                 ó    — dt          | ¦  «        vrdS t          t          j        | j        ¦  «        \  }}|                     | j        ¦  «        ‚)z"restore and re-raise any exceptionrL   N)ÚvarsÚmapr4   ÚloadsrL   Úwith_tracebackrM   )rH   r:   r;   s      r   ÚresumezExceptionSaver.resumeˆ   sG   € ð �4 ™:œ:Ð%Ð%ØˆFå�œ d¤kÑ2Ô2‰	ˆˆcØ× Ò  ¤Ñ*Ô*Ð*rC   N)r=   r>   r?   r@   rI   rO   rU   rB   rC   r   rE   rE   t   sK   € € € € € ðð ð
ð ð ð	ð 	ð 	ð+ð +ð +ð +ð +rC   rE   c               #   óP  ‡K  — t           j                             ¦   «         Št          ¦   «         5 } ‰V — ddd¦  «         n# 1 swxY w Y   t           j                             ‰¦  «         ˆfd„t           j        D ¦   «         }t          |¦  «         |                      ¦   «          dS )z 
    Context in which imported modules are saved.

    Translates exceptions internal to the context into the equivalent exception
    outside the context.
    Nc              3   óN   •K  — | ]}|‰v¯|                      d ¦  «        °|V — Œ dS )z
encodings.N©Ú
startswith)Ú.0Úmod_namer   s     €r   ú	<genexpr>zsave_modules.<locals>.<genexpr>    sP   øè è € ð ð àØ˜5Ð Ð à×#Ò# LÑ1Ô1ð !ð 	à Ð Ð Ð ðð rC   )r   ÚmodulesÚcopyrE   ÚupdateÚ_clear_modulesrU   )Ú	saved_excÚdel_modulesr   s     @r   Úsave_modulesrc   ’   sí   øè è € õ ŒK×ÒÑÔ€EÝ	Ñ	Ô	ð ˜YØˆˆˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ „K×Ò�uÑÔÐðð ð ð åœðñ ô €Kõ �;ÑÔÐà×ÒÑÔÐÐÐs   °AÁAÁAc                 óD   — t          | ¦  «        D ]}t          j        |= Œd S r   )Úlistr   r]   )Úmodule_namesr[   s     r   r`   r`   ¬   s0   € Ý˜Ñ&Ô&ð "ð "ˆÝŒK˜Ð!Ð!ð"ð "rC   c               #   ó”   K  — t          j        ¦   «         } 	 | V — t          j        | ¦  «         d S # t          j        | ¦  «         w xY wr   )Úpkg_resourcesÚ__getstate__Ú__setstate__r"   s    r   Úsave_pkg_resources_staterk   ±   sP   è è € åÔ&Ñ(Ô(€Eð*ØˆˆˆåÔ" 5Ñ)Ô)Ð)Ð)Ð)ø�Ô" 5Ñ)Ô)Ð)Ð)øøøs	   —1 ±Ac              #   óZ  K  — t           j                             | d¦  «        }t          ¦   «         5  t	          ¦   «         5  t          ¦   «         5  t          ¦   «          t          ¦   «         5  t          |¦  «        5  t          | ¦  «        5  t          d¦  «         d V — d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )NÚtempÚ
setuptools)r&   r!   Újoinrk   rc   r#   Úhide_setuptoolsr   r+   r0   Ú
__import__)Ú	setup_dirÚtemp_dirs     r   Úsetup_contextrt   º   s‘  è è € åŒw�|Š|˜I vÑ.Ô.€HÝ	!Ñ	#Ô	#ð 	"ð 	"Ý‰^Œ^ð 	"ð 	"Ý‘”ð "ð "ÝÑ!Ô!Ð!Ý‘[”[ð "ð "Ý& xÑ0Ô0ð "ð "Ý" 9Ñ-Ô-ð "ð "å& |Ñ4Ô4Ð4Ø!˜E˜E˜Eð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"sÅ   ±D Á DÁC1Á,C	Á<CÂB,Â CÂ,B0Â0CÂ3B0Â4CÂ7C	ÃCÃC	Ã
CÃC	ÃC1ÃCÃC1Ã!CÃ"C1Ã%DÃ1C5Ã5DÃ8C5Ã9DÃ<D ÄD	ÄD ÄD	ÄD Ä D$Ä'D$>   ÚCythonÚ	distutilsrn   rh   Ú_distutils_hackc                 óL   — |                       dd¦  «        d         }|t          v S )aH  
    >>> _needs_hiding('setuptools')
    True
    >>> _needs_hiding('pkg_resources')
    True
    >>> _needs_hiding('setuptools_plugin')
    False
    >>> _needs_hiding('setuptools.__init__')
    True
    >>> _needs_hiding('distutils')
    True
    >>> _needs_hiding('os')
    False
    >>> _needs_hiding('Cython')
    True
    ú.é   r   )ÚsplitÚ_MODULES_TO_HIDE)r[   Úbase_modules     r   Ú_needs_hidingr~   Ò   s(   € ð" —.’.  aÑ(Ô(¨Ô+€KØÕ*Ð*Ð*rC   c                  óÎ   — t           j                             dd¦  «        } | �|                      ¦   «          t	          t
          t           j        ¦  «        }t          |¦  «         dS )a%  
    Remove references to setuptools' modules from sys.modules to allow the
    invocation to import the most appropriate setuptools. This technique is
    necessary to avoid issues such as #315 where setuptools upgrading itself
    would fail to find a function declared in the metadata.
    rw   N)r   r]   ÚgetÚremove_shimÚfilterr~   r`   )rw   r]   s     r   rp   rp   ç   sW   € õ ”k—o’oÐ&7¸Ñ>Ô>€OØÐ"Ø×#Ò#Ñ%Ô%Ð%å•]¥C¤KÑ0Ô0€GÝ�7ÑÔÐÐÐrC   c                 ó¤  — t           j                             t           j                             | ¦  «        ¦  «        }t	          |¦  «        5  	 | gt          |¦  «        z   t          j        dd…<   t          j                             d|¦  «         t          j
        ¦   «          t          j                             d„ ¦  «         t          |¦  «        5  t          | d¬¦  «        }t          | |¦  «         ddd¦  «         n# 1 swxY w Y   n,# t           $ r}|j        r|j        d         r‚ Y d}~nd}~ww xY wddd¦  «         dS # 1 swxY w Y   dS )z8Run a distutils setup script, sandboxed in its directoryNr   c                 ó*   — |                       ¦   «         S r   )Úactivate)Údists    r   ú<lambda>zrun_setup.<locals>.<lambda>ÿ   s   € °d·m²m±o´o€ rC   Ú__main__)Ú__file__r=   )r&   r!   ÚabspathÚdirnamert   re   r   r   Úinsertr   Ú__init__Ú	callbacksÚappendr   Údictr   Ú
SystemExitÚargs)Úsetup_scriptr’   rr   ÚnsÚvs        r   r	   r	   ö   s¼  € å”—’¥¤§¢°Ñ =Ô =Ñ>Ô>€IÝ	�yÑ	!Ô	!ð ð ð	Ø'˜.­4°©:¬:Ñ5�CŒH�Q�Q�Q‰KÝŒH�OŠO˜A˜yÑ)Ô)Ð)åÔ Ñ"Ô"Ð"ÝÔ!×(Ò(Ð)EÐ)EÑFÔFÐFå! )Ñ,Ô,ð ,ð ,Ý <¸*ÐEÑEÔE�Ý˜,¨Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,øøõ ð 	ð 	ð 	ØŒvð ˜!œ& œ)ð Øøøøøøøøøøð	øøøðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sa   ÁEÁBDÃ"D Ã4DÄ D	ÄDÄD	ÄDÄEÄ
D5ÄD0Ä+EÄ0D5Ä5EÅE	ÅE	c                   óÒ  — e Zd ZdZdZd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	D ]$Z eee¦  «        r e
e¦  «         e¦   «         e<   Œ%dd„Zer ede¦  «        Z ede¦  «        ZdD ]$Z eee¦  «        r ee¦  «         e¦   «         e<   Œ%d„ ZdD ]$Z eee¦  «        r ee¦  «         e¦   «         e<   Œ%d„ ZdD ]$Z eee¦  «        r ee¦  «         e¦   «         e<   Œ%d„ Zd„ Zd„ Zd„ Zd
S )r   zDWrap 'os' module and 'open()' builtin for virtualizing setup scriptsFc                 óR   ‡ — ˆ fd„t          t          ¦  «        D ¦   «         ‰ _        d S )Nc                 ó^   •— g | ])}|                      d ¦  «        °t          ‰|¦  «        ¯'|‘Œ*S )Ú_)rY   Úhasattr)rZ   ÚnamerH   s     €r   ú
<listcomp>z,AbstractSandbox.__init__.<locals>.<listcomp>  sO   ø€ ð 
ð 
ð 
àØ—?’? 3Ñ'Ô'ð
õ -4°D¸$Ñ,?Ô,?ð
Øð
ð 
ð 
rC   )ÚdirÚ_osÚ_attrsrG   s   `r   r�   zAbstractSandbox.__init__  s7   ø€ ð
ð 
ð 
ð 
å�C™œð
ñ 
ô 
ˆŒˆˆrC   c           	      ób   — | j         D ]&}t          t          |t          ||¦  «        ¦  «         Œ'd S r   )rŸ   Úsetattrr&   Úgetattr)rH   Úsourcer›   s      r   Ú_copyzAbstractSandbox._copy  s<   € Ø”Kð 	5ð 	5ˆDÝ•B˜�g f¨dÑ3Ô3Ñ4Ô4Ð4Ð4ð	5ð 	5rC   c                 ó�   — |                       | ¦  «         t          r| j        t          _        | j        t          _        d| _        d S rK   )r¤   Ú_fileÚbuiltinsÚfileÚ_openr   Ú_activerG   s    r   rI   zAbstractSandbox.__enter__  s9   € Ø�
Š
�4ÑÔÐÝð 	'Ø œJ�HŒMØœ
�ŒØˆŒˆˆrC   c                 óš   — d| _         t          rt          t          _        t          t          _        |                      t          ¦  «         d S ©NF)rª   r¦   r§   r¨   r©   r   r¤   rž   )rH   Úexc_typeÚ	exc_valueÚ	tracebacks       r   rO   zAbstractSandbox.__exit__!  s2   € ØˆŒÝð 	"Ý!�HŒMÝ�ŒØ�
Š
•3‰ŒˆˆˆrC   c                 óN   — | 5   |¦   «         cddd¦  «         S # 1 swxY w Y   dS )zRun 'func' under os sandboxingNrB   )rH   Úfuncs     r   ÚrunzAbstractSandbox.run(  su   € àð 	ð 	Ø�4‘6”6ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ƒ
š¡c                 ó@   ‡ ‡— t          t          ‰ ¦  «        Šˆ ˆfd„}|S )Nc                 óX   •— | j         r | j        ‰||g|¢R i |¤Ž\  }} ‰||g|¢R i |¤ŽS r   )rª   Ú_remap_pair)rH   ÚsrcÚdstr’   Úkwr›   Úoriginals        €€r   Úwrapz3AbstractSandbox._mk_dual_path_wrapper.<locals>.wrap0  sZ   ø€ ØŒ|ð IØ+˜4Ô+¨D°#°sÐH¸TÐHÐHÐHÀRÐHÐH‘��SØ�8˜C Ð2 tÐ2Ð2Ð2¨rÐ2Ð2Ð2rC   ©r¢   rž   ©r›   rº   r¹   s   ` @r   Ú_mk_dual_path_wrapperz%AbstractSandbox._mk_dual_path_wrapper-  s8   øø€ Ý�3 Ñ%Ô%ˆð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð
 ˆrC   )ÚrenameÚlinkÚsymlinkNc                 óD   ‡ ‡— ‰pt          t          ‰ ¦  «        Šˆ ˆfd„}|S )Nc                 óN   •— | j         r | j        ‰|g|¢R i |¤Ž} ‰|g|¢R i |¤ŽS r   )rª   Ú_remap_input©rH   r!   r’   r¸   r›   r¹   s       €€r   rº   z5AbstractSandbox._mk_single_path_wrapper.<locals>.wrap>  sR   ø€ ØŒ|ð BØ(�tÔ(¨¨tÐA°dÐAÐAÐA¸bÐAÐA�Ø�8˜DÐ. 4Ð.Ð.Ð.¨2Ð.Ð.Ð.rC   r»   )r›   r¹   rº   s   `` r   Ú_mk_single_path_wrapperz'AbstractSandbox._mk_single_path_wrapper;  s=   øø€ ØÐ1�w¥s¨DÑ1Ô1ˆð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð
 ˆrC   r¨   r   )ÚstatÚlistdirr.   r   ÚchmodÚchownÚmkdirÚremoveÚunlinkÚrmdirÚutimeÚlchownÚchrootÚlstatÚ	startfileÚmkfifoÚmknodÚpathconfÚaccessc                 ó@   ‡ ‡— t          t          ‰ ¦  «        Šˆ ˆfd„}|S )Nc                 óŽ   •— | j         r2 | j        ‰|g|¢R i |¤Ž}|                      ‰ ‰|g|¢R i |¤Ž¦  «        S  ‰|g|¢R i |¤ŽS r   )rª   rÃ   Ú_remap_outputrÄ   s       €€r   rº   z4AbstractSandbox._mk_single_with_return.<locals>.wrapc  s‚   ø€ ØŒ|ð MØ(�tÔ(¨¨tÐA°dÐAÐAÐA¸bÐAÐA�Ø×)Ò)¨$°°¸Ð0KÀÐ0KÐ0KÐ0KÈÐ0KÐ0KÑLÔLÐLØ�8˜DÐ. 4Ð.Ð.Ð.¨2Ð.Ð.Ð.rC   r»   r¼   s   ` @r   Ú_mk_single_with_returnz&AbstractSandbox._mk_single_with_return`  s8   øø€ Ý�3 Ñ%Ô%ˆð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð ˆrC   )ÚreadlinkÚtempnamc                 ó@   ‡ ‡— t          t          ‰ ¦  «        Šˆ ˆfd„}|S )Nc                 óR   •—  ‰|i |¤Ž}| j         r|                      ‰|¦  «        S |S r   )rª   rÙ   )rH   r’   r¸   Úretvalr›   r¹   s       €€r   rº   z'AbstractSandbox._mk_query.<locals>.wrapr  s<   ø€ Ø�X˜tÐ* rÐ*Ð*ˆFØŒ|ð 8Ø×)Ò)¨$°Ñ7Ô7Ð7ØˆMrC   r»   r¼   s   ` @r   Ú	_mk_queryzAbstractSandbox._mk_queryo  s8   øø€ Ý�3 Ñ%Ô%ˆð	ð 	ð 	ð 	ð 	ð 	ð ˆrC   )r-   Útmpnamc                 ó   — |S )z=Called to remap or validate any path, whether input or outputrB   )rH   r!   s     r   Ú_validate_pathzAbstractSandbox._validate_path~  s   € àˆrC   c                 ó,   — |                       |¦  «        S ©zCalled for path inputs©rã   ©rH   Ú	operationr!   r’   r¸   s        r   rÃ   zAbstractSandbox._remap_input‚  ó   € à×"Ò" 4Ñ(Ô(Ð(rC   c                 ó,   — |                       |¦  «        S )zCalled for path outputsræ   )rH   rè   r!   s      r   rÙ   zAbstractSandbox._remap_output†  ré   rC   c                 óV   —  | j         |dz   |g|¢R i |¤Ž | j         |dz   |g|¢R i |¤ŽfS )ú?Called for path pairs like rename, link, and symlink operationsz-fromz-to)rÃ   ©rH   rè   r¶   r·   r’   r¸   s         r   rµ   zAbstractSandbox._remap_pairŠ  s\   € ð ˆDÔ˜i¨'Ñ1°3ÐD¸ÐDÐDÐDÀÐDÐDØˆDÔ˜i¨%Ñ/°ÐB°tÐBÐBÐB¸rÐBÐBð
ð 	
rC   r   )r=   r>   r?   r@   rª   r�   r¤   rI   rO   r²   r½   r›   rš   rž   r   rÅ   r¦   r©   rÚ   rà   rã   rÃ   rÙ   rµ   rB   rC   r   r   r   
  s  € € € € € ØNÐNà€Gð
ð 
ð 
ð5ð 5ð 5ðð ð ðð ð ðð ð ð
ð ð ð .ð 9ð 9ˆØˆ7�3˜ÑÔð 	9Ø2Ð2°4Ñ8Ô8ˆFˆF‰HŒH�T‰Nøðð ð ð ð ð 7Ø'Ð'¨°Ñ6Ô6ˆØ#Ð# F¨EÑ2Ô2€Eðð ;ð ;ˆð* ˆ7�3˜ÑÔð 	;Ø4Ð4°TÑ:Ô:ˆFˆF‰HŒH�T‰Nøð	ð 	ð 	ð (ð :ð :ˆØˆ7�3˜ÑÔð 	:Ø3Ð3°DÑ9Ô9ˆFˆF‰HŒH�T‰Nøð	ð 	ð 	ð %ð -ð -ˆØˆ7�3˜ÑÔð 	-Ø&˜Y t™_œ_ˆFˆF‰HŒH�T‰Nøðð ð ð)ð )ð )ð)ð )ð )ð
ð 
ð 
ð 
ð 
rC   r   Údevnullc                   ó�   — e Zd ZdZe                     g d¢¦  «        Zg Z	 efd„Z	d„ Z
erdd„Zdd„Zd„ Zd	„ Zd
„ Zd„ Zd„ Zdd„ZdS )r   z<Restrict operations to a single subdirectory - pseudo-chroot)r   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   rÓ   rÔ   rÜ   c                 ó2  — t           j                             t           j                             |¦  «        ¦  «        | _        t           j                             | j        d¦  «        | _        d„ |D ¦   «         | _        t           	                    | ¦  «         d S )NÚ c                 ó†   — g | ]>}t           j                             t           j                             |¦  «        ¦  «        ‘Œ?S rB   )r&   r!   ÚnormcaseÚrealpath)rZ   r!   s     r   rœ   z-DirectorySandbox.__init__.<locals>.<listcomp>³  sE   € ð 
ð 
ð 
Ø9=�BŒG×Ò�RœW×-Ò-¨dÑ3Ô3Ñ4Ô4ð
ð 
ð 
rC   )
r&   r!   ró   rô   Ú_sandboxro   Ú_prefixÚ_exceptionsr   r�   )rH   ÚsandboxÚ
exceptionss      r   r�   zDirectorySandbox.__init__°  s   € Ýœ×(Ò(­¬×)9Ò)9¸'Ñ)BÔ)BÑCÔCˆŒÝ”w—|’| D¤M°2Ñ6Ô6ˆŒð
ð 
ØAKð
ñ 
ô 
ˆÔõ 	× Ò  Ñ&Ô&Ð&Ð&Ð&rC   c                 ó(   — ddl m}  ||||¦  «        ‚)Nr   )r   )r7   r   )rH   rè   r’   r¸   r   s        r   Ú
_violationzDirectorySandbox._violation¸  s)   € Ø7Ð7Ð7Ð7Ð7Ð7àÐ˜y¨$°Ñ3Ô3Ð3rC   Úrc                 ó|   — |dvr(|                       |¦  «        s | j        d||g|¢R i |¤Ž t          ||g|¢R i |¤ŽS )N©rü   Úrtr   ÚrUÚUr¨   )Ú_okrû   r¦   ©rH   r!   r   r’   r¸   s        r   r¦   zDirectorySandbox._file¿  sc   € ØÐ7Ð7Ð7ÀÇÂÈÁÄÐ7Ø�” ¨¨dÐ@°TÐ@Ð@Ð@¸RÐ@Ð@Ð@Ý˜˜tÐ1 dÐ1Ð1Ð1¨bÐ1Ð1Ð1rC   c                 ó|   — |dvr(|                       |¦  «        s | j        d||g|¢R i |¤Ž t          ||g|¢R i |¤ŽS )Nrþ   r   )r  rû   r©   r  s        r   r©   zDirectorySandbox._openÄ  sc   € ØÐ3Ð3Ð3¸D¿HºHÀT¹N¼NÐ3ØˆDŒO˜F D¨$Ð<°Ð<Ð<Ð<¸Ð<Ð<Ð<Ý�T˜4Ð- $Ð-Ð-Ð-¨"Ð-Ð-Ð-rC   c                 ó0   — |                       d¦  «         d S )Nrá   )rû   rG   s    r   rá   zDirectorySandbox.tmpnamÉ  s   € Ø�Š˜Ñ!Ô!Ð!Ð!Ð!rC   c                 ó4  — | j         }	 d| _         t          j                             t          j                             |¦  «        ¦  «        }|                      |¦  «        p$|| j        k    p|                     | j        ¦  «        	 || _         S # || _         w xY wr¬   )	rª   r&   r!   ró   rô   Ú	_exemptedrõ   rY   rö   )rH   r!   Úactiverô   s       r   r  zDirectorySandbox._okÌ  s“   € Ø”ˆð		"Ø ˆDŒLÝ”w×'Ò'­¬×(8Ò(8¸Ñ(>Ô(>Ñ?Ô?ˆHà—’˜xÑ(Ô(ð 5Ø˜tœ}Ò,ð5à×&Ò& t¤|Ñ4Ô4ðð "ˆDŒLˆLø˜6ˆDŒLÐ!Ð!Ð!Ð!s   ‰A<B Â	Bc                 ó˜   ‡— ˆfd„| j         D ¦   «         }ˆfd„| j        D ¦   «         }t          j        ||¦  «        }t	          |¦  «        S )Nc              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r   rX   )rZ   Ú	exceptionÚfilepaths     €r   r\   z-DirectorySandbox._exempted.<locals>.<genexpr>Ú  sB   øè è € ð 
ð 
Ø/8ˆH×Ò 	Ñ*Ô*ð
ð 
ð 
ð 
ð 
ð 
rC   c              3   óB   •K  — | ]}t          j        |‰¦  «        V — Œd S r   )ÚreÚmatch)rZ   Úpatternr  s     €r   r\   z-DirectorySandbox._exempted.<locals>.<genexpr>Ý  s@   øè è € ð 
ð 
Ø,3�BŒH�W˜hÑ'Ô'ð
ð 
ð 
ð 
ð 
ð 
rC   )r÷   Ú_exception_patternsÚ	itertoolsÚchainÚany)rH   r  Ústart_matchesÚpattern_matchesÚ
candidatess    `   r   r  zDirectorySandbox._exemptedÙ  sx   ø€ ð
ð 
ð 
ð 
Ø<@Ô<Lð
ñ 
ô 
ˆð
ð 
ð 
ð 
Ø7;Ô7Oð
ñ 
ô 
ˆõ ”_ ]°OÑDÔDˆ
Ý�:‰ŒÐrC   c                 ó    — || j         v rD|                      |¦  «        s/ | j        |t          j                             |¦  «        g|¢R i |¤Ž |S rå   )Ú	write_opsr  rû   r&   r!   rô   rç   s        r   rÃ   zDirectorySandbox._remap_inputã  sW   € à˜œÐ&Ð&¨t¯xªx¸©~¬~Ð&ØˆDŒO˜I¥r¤w×'7Ò'7¸Ñ'=Ô'=ÐKÀÐKÐKÐKÈÐKÐKÐKØˆrC   c                 ó„   — |                       |¦  «        r|                       |¦  «        s | j        |||g|¢R i |¤Ž ||fS )rì   )r  rû   rí   s         r   rµ   zDirectorySandbox._remap_pairé  sU   € à�xŠx˜‰}Œ}ð 	> D§H¢H¨S¡M¤Mð 	>ØˆDŒO˜I s¨CÐ=°$Ð=Ð=Ð=¸"Ð=Ð=Ð=Ø�SˆzÐrC   éÿ  c                 ó–   — |t           z  r)|                      |¦  «        s | j        d|||g|¢R i |¤Ž t          j        |||g|¢R i |¤ŽS )zCalled for low-level os.open()zos.open)ÚWRITE_FLAGSr  rû   rž   r   )rH   r¨   Úflagsr   r’   r¸   s         r   r   zDirectorySandbox.openï  sn   € à•;Ñð 	G t§x¢x°¡~¤~ð 	GØˆDŒO˜I t¨U°DÐF¸4ÐFÐFÐFÀ2ÐFÐFÐFÝŒx˜˜e TÐ7¨DÐ7Ð7Ð7°BÐ7Ð7Ð7rC   N)rü   )r  )r=   r>   r?   r@   r�   Úfromkeysr  r  Ú_EXCEPTIONSr�   rû   r¦   r©   rá   r  r  rÃ   rµ   r   rB   rC   r   r   r   ˜  sþ   € € € € € ØFÐFà—’ð	
ð 	
ð 	
ñô €Ið$ ÐØ4à+6ð 'ð 'ð 'ð 'ð4ð 4ð 4ð
 ð 2ð	2ð 	2ð 	2ð 	2ð
.ð .ð .ð .ð
"ð "ð "ð"ð "ð "ðð ð ðð ð ðð ð ð8ð 8ð 8ð 8ð 8ð 8rC   r   c                 ó:   — g | ]}t          t          |d ¦  «        ‘ŒS )r   r»   )rZ   Úas     r   rœ   rœ   ø  s4   € ð ð ð àõ 	•�Q˜ÑÔðð ð rC   z4O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYc                   ó\   — e Zd ZdZ ej        d¦  «                             ¦   «         Zd„ ZdS )r   zEA setup script attempted to modify the filesystem outside the sandboxa  
        SandboxViolation: {cmd}{args!r} {kwargs}

        The package setup script has attempted to modify files on your system
        that are not within the EasyInstall build area, and has been aborted.

        This package cannot be safely installed by EasyInstall, and may not
        support alternate installation locations even if you run its setup
        script by hand.  Please inform the package's author and the EasyInstall
        maintainers to find out if a fix or workaround is available.
        c                 óT   — | j         \  }}} | j        j        di t          ¦   «         ¤ŽS )NrB   )r’   ÚtmplÚformatr   )rH   Úcmdr’   Úkwargss       r   Ú__str__zSandboxViolation.__str__  s/   € Ø œIÑˆˆT�6ØˆtŒyÔÐ+Ð+¥&¡(¤(Ð+Ð+Ð+rC   N)	r=   r>   r?   r@   ÚtextwrapÚdedentÚlstripr%  r)  rB   rC   r   r   r   ÿ  sO   € € € € € ØOÐOàˆ8Œ?ð
	ñô ÷ ‚f�h„hð 	ð,ð ,ð ,ð ,ð ,rC   r   r   )9r&   r   r(   ÚoperatorÚ	functoolsr  r  Ú
contextlibr4   r*  r§   rh   Údistutils.errorsr   r   ÚplatformrY   Ú$org.python.modules.posix.PosixModuleÚpythonr]   ÚposixÚPosixModulerž   r›   r¨   r¦   Ú	NameErrorr   r©   Ú__all__r   Úcontextmanagerr   r#   r+   r0   r6   r2   rE   rc   r`   rk   rt   r|   r~   rp   r	   r   rš   rî   r   r   ÚreduceÚor_r{   r  r   rB   rC   r   ú<module>r;     sÐ  ðØ 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€à Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø %Ð %Ð %Ð %Ð %Ð %à„<×Ò˜6Ñ"Ô"ð Ø6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6à
Œ+�b”gÔ
€CðØ€E€EøØð ð ð Ø€E€E€Eðøøøà€ðð ð €ð
 ð 
 ð 
 ð 
 ð Ôðð ð ñ Ôðð Ôðð ñ Ôðð Ôð!ð !ñ Ôð!ð  Ôðð ñ Ôðð1ð 1ð 1ð 1ð 1˜Iñ 1ô 1ð 1ð(+ð +ð +ð +ð +ñ +ô +ð +ð< Ôðð ñ Ôðð2"ð "ð "ð
 Ôð*ð *ñ Ôð*ð Ôð"ð "ñ Ôð"ðð ð Ð ð+ð +ð +ð*ð ð ðð ð ð(E
ð E
ð E
ð E
ð E
ñ E
ô E
ð E
ðP €7ˆ2ˆyÑÔð Ø”:�,€K€Kà€Kð[8ð [8ð [8ð [8ð [8�ñ [8ô [8ð [8ð| ˆiÔØ„Lðð àG×MÒMÑOÔOðñ ô ñô €ð,ð ,ð ,ð ,ð ,�~ñ ,ô ,ð ,ð ,ð ,s   Á:A= Á=BÂB