§
    `ÉÝj::  ã                  óp  — 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	Z	d dl
Z
d dlZd dlZd dlmZ d dlmZmZmZ d dlZd dlmZ d dlmZ erd dlZn<e
j                             d¦  «        rd dlmc mc mc mZ ne
j        ej                 Ze Z!erd dl"m#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„ ¦   «         Z0ej&        d„ ¦   «         Z1h d£Z2d„ Z3d„ Z4d„ Z5 G d„ d¦  «        Z6 e7ed¦  «        r	ej8        gZ9ng Z9 G d„ de6¦  «        Z: ej;        ej<        d „ d! =                    ¦   «         D ¦   «         ¦  «        Z> G d"„ d#e¦  «        Z?dS )%é    )ÚannotationsN)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚClassVar)Úworking_set)ÚDistutilsErrorÚjava)ÚSelf)Ú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          úZ/home/spazio/cosmos_universe_media/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%   7   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)   B   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_tempr1   K   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   Úpushdr6   \   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   )r8   )ÚpickleÚdumpsÚ	ExceptionÚsetuptools.sandboxr8   ÚdumpÚrepr)ÚtypeÚexcÚclss      r   r>   zUnpickleableException.dumpk   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__Ústaticmethodr>   © ó    r   r8   r8   f   s9   € € € € € ðð ð ð1ð 1ñ „\ð1ð 1ð 1rI   r8   c                  ó(   — e Zd ZdZdd„Zdd„Zd„ ZdS )ÚExceptionSaverz]
    A Context Manager that will save an exception, serialize, and restore it
    later.
    Úreturnr   c                ó   — | S r    rH   ©Úselfs    r   Ú	__enter__zExceptionSaver.__enter__€   s   € ØˆrI   r@   útype[BaseException] | NonerA   úBaseException | NoneÚtbúTracebackType | NoneÚboolc                ó\   — |sdS t                                ||¦  «        | _        || _        dS )NFT)r8   r>   Ú_savedÚ_tb)rO   r@   rA   rS   s       r   Ú__exit__zExceptionSaver.__exit__ƒ   s8   € ð ð 	Ø�5õ ,×0Ò0°°sÑ;Ô;ˆŒØˆŒð ˆtrI   c                ó    — dt          | ¦  «        vrdS t          t          j        | j        ¦  «        \  }}|                     | j        ¦  «        ‚)z"restore and re-raise any exceptionrW   N)ÚvarsÚmapr:   ÚloadsrW   Úwith_tracebackrX   )rO   Ú_typerA   s      r   ÚresumezExceptionSaver.resume“   sG   € ð �4 ™:œ:Ð%Ð%ØˆFå�œ t¤{Ñ3Ô3‰
ˆˆsØ× Ò  ¤Ñ*Ô*Ð*rI   N)rL   r   )r@   rQ   rA   rR   rS   rT   rL   rU   )rC   rD   rE   rF   rP   rY   r`   rH   rI   r   rK   rK   z   sU   € € € € € ðð ð
ð ð ð ðð ð ð ð +ð +ð +ð +ð +rI   rK   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ð !ð 	à Ð Ð Ð ðð rI   )r!   ÚmodulesÚcopyrK   ÚupdateÚ_clear_modulesr`   )Ú	saved_excÚdel_modulesr$   s     @r   Úsave_modulesrn   �   sí   øè è € õ ŒK×ÒÑÔ€EÝ	Ñ	Ô	ð ˜YØˆˆˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ „K×Ò�uÑÔÐðð ð ð åœðñ ô €Kõ �;ÑÔÐà×ÒÑÔÐÐÐs   °AÁAÁAc                óD   — t          | ¦  «        D ]}t          j        |= Œd S r    )Úlistr!   rh   )Úmodule_namesrf   s     r   rk   rk   ·   s0   € Ý˜Ñ&Ô&ð "ð "ˆÝŒK˜Ð!Ð!ð"ð "rI   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_staterv   ¼   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'   Újoinrv   rn   r)   Úhide_setuptoolsr%   r1   r6   Ú
__import__)Ú	setup_dirÚtemp_dirs     r   Úsetup_contextr   Å   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Ú	distutilsry   rs   Ú_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)rf   Úbase_modules     r   Ú_needs_hidingr‰   Ý   s(   € ð" —.’.  aÑ(Ô(¨Ô+€KØÕ*Ð*Ð*rI   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.
    r‚   N)r!   rh   ÚgetÚ_remove_shimÚfilterr‰   rk   )r‚   rh   s     r   r{   r{   ò   sW   € õ ”k—o’oÐ&7¸Ñ>Ô>€OØÐ"Ø×$Ò$Ñ&Ô&Ð&å•]¥C¤KÑ0Ô0€GÝ�7ÑÔÐÐÐrI   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€ rI   Ú__main__)Ú__file__rC   )r,   r'   ÚabspathÚdirnamer   rp   r!   r"   Úinsertr   Ú__init__Ú	callbacksÚappendr   Údictr   Ú
SystemExitÚargs)Úsetup_scriptr�   r}   Ú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"d„Zd„ Zd"d„Zd#d„Zd„ Z	d$d„Z
dD ]$Z eee¦  «        r e
e¦  «         e¦   «         e<   Œ%d%d$d„Z ede¦  «        ZdD ]$Z eee¦  «        r ee¦  «         e¦   «         e<   Œ%d$d„ZdD ]$Z eee¦  «        r ee¦  «         e¦   «         e<   Œ%d$d„ZdD ]$Z eee¦  «        r ee¦  «         e¦   «         e<   Œ%d„ Zd„ Zd„ Zd„ Zerd&d!„ZdS dS )'r   zDWrap 'os' module and 'open()' builtin for virtualizing setup scriptsFrL   ÚNonec                óR   ‡ — ˆ fd„t          t          ¦  «        D ¦   «         ‰ _        d S )Nc                ó^   •— g | ])}|                      d ¦  «        °t          ‰|¦  «        ¯'|‘Œ*S )Ú_)rd   Úhasattr)re   ÚnamerO   s     €r   ú
<listcomp>z,AbstractSandbox.__init__.<locals>.<listcomp>  sO   ø€ ð 
ð 
ð 
àØ—?’? 3Ñ'Ô'ð
õ -4°D¸$Ñ,?Ô,?ð
Øð
ð 
ð 
rI   )ÚdirÚ_osÚ_attrsrN   s   `r   r˜   zAbstractSandbox.__init__  s7   ø€ ð
ð 
ð 
ð 
å�C™œð
ñ 
ô 
ˆŒˆˆrI   c           	     ób   — | j         D ]&}t          t          |t          ||¦  «        ¦  «         Œ'd S r    )r«   Úsetattrr,   Úgetattr)rO   Úsourcer§   s      r   Ú_copyzAbstractSandbox._copy!  s<   € Ø”Kð 	5ð 	5ˆDÝ•B˜�g f¨dÑ3Ô3Ñ4Ô4Ð4Ð4ð	5ð 	5rI   c                ó`   — |                       | ¦  «         | j        t          _        d| _        d S )NT)r°   Ú_openÚbuiltinsr   Ú_activerN   s    r   rP   zAbstractSandbox.__enter__%  s(   € Ø�
Š
�4ÑÔÐØœ
�ŒØˆŒˆˆrI   Úexc_typerQ   Ú	exc_valuerR   Ú	tracebackrT   c                ój   — d| _         t          t          _        |                      t
          ¦  «         d S ©NF)r´   r²   r³   r   r°   rª   )rO   rµ   r¶   r·   s       r   rY   zAbstractSandbox.__exit__*  s%   € ð ˆŒÝ�ŒØ�
Š
•3‰ŒˆˆˆrI   c                óN   — | 5   |¦   «         cddd¦  «         S # 1 swxY w Y   dS )zRun 'func' under os sandboxingNrH   )rO   Úfuncs     r   ÚrunzAbstractSandbox.run4  su   € àð 	ð 	Ø�4‘6”6ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ƒ
š¡r§   Ústrc                ó@   ‡ ‡— t          t          ‰ ¦  «        Šˆ ˆfd„}|S )Nc                óX   •— | j         r | j        ‰||g|¢R i |¤Ž\  }} ‰||g|¢R i |¤ŽS r    )r´   Ú_remap_pair)rO   ÚsrcÚdstr�   Úkwr§   Úoriginals        €€r   Úwrapz3AbstractSandbox._mk_dual_path_wrapper.<locals>.wrap<  sZ   ø€ ØŒ|ð IØ+˜4Ô+¨D°#°sÐH¸TÐHÐHÐHÀRÐHÐH‘��SØ�8˜C Ð2 tÐ2Ð2Ð2¨rÐ2Ð2Ð2rI   ©r®   rª   ©r§   rÅ   rÄ   s   ` @r   Ú_mk_dual_path_wrapperz%AbstractSandbox._mk_dual_path_wrapper9  s8   øø€ Ý�3 Ñ%Ô%ˆð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð
 ˆrI   )Ú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©rO   r'   r�   rÃ   r§   rÄ   s       €€r   rÅ   z5AbstractSandbox._mk_single_path_wrapper.<locals>.wrapJ  sR   ø€ ØŒ|ð BØ(�tÔ(¨¨tÐA°dÐAÐAÐA¸bÐAÐA�Ø�8˜DÐ. 4Ð.Ð.Ð.¨2Ð.Ð.Ð.rI   rÆ   )r§   rÄ   rÅ   s   `` r   Ú_mk_single_path_wrapperz'AbstractSandbox._mk_single_path_wrapperG  s=   øø€ ØÐ1�w¥s¨DÑ1Ô1ˆð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð
 ˆrI   r   )ÚstatÚlistdirr4   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>.wrapm  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Ð.Ð.Ð.rI   rÆ   rÇ   s   ` @r   Ú_mk_single_with_returnz&AbstractSandbox._mk_single_with_returnj  s8   øø€ Ý�3 Ñ%Ô%ˆð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð ˆrI   )ÚreadlinkÚtempnamc                ó@   ‡ ‡— t          t          ‰ ¦  «        Šˆ ˆfd„}|S )Nc                óR   •—  ‰|i |¤Ž}| j         r|                      ‰|¦  «        S |S r    )r´   rä   )rO   r�   rÃ   Úretvalr§   rÄ   s       €€r   rÅ   z'AbstractSandbox._mk_query.<locals>.wrap|  s<   ø€ Ø�X˜tÐ* rÐ*Ð*ˆFØŒ|ð 8Ø×)Ò)¨$°Ñ7Ô7Ð7ØˆMrI   rÆ   rÇ   s   ` @r   Ú	_mk_queryzAbstractSandbox._mk_queryy  s8   øø€ Ý�3 Ñ%Ô%ˆð	ð 	ð 	ð 	ð 	ð 	ð ˆrI   )r3   Útmpnamc                ó   — |S )z=Called to remap or validate any path, whether input or outputrH   )rO   r'   s     r   Ú_validate_pathzAbstractSandbox._validate_pathˆ  s   € àˆrI   c                ó,   — |                       |¦  «        S ©zCalled for path inputs©rî   ©rO   Ú	operationr'   r�   rÃ   s        r   rÎ   zAbstractSandbox._remap_inputŒ  ó   € à×"Ò" 4Ñ(Ô(Ð(rI   c                ó,   — |                       |¦  «        S )zCalled for path outputsrñ   )rO   ró   r'   s      r   rä   zAbstractSandbox._remap_output�  rô   rI   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Î   ©rO   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ð
ð 	
rI   r   c                ó   — d S r    rH   )rO   r§   s     r   Ú__getattribute__z AbstractSandbox.__getattribute__ž  s   € € € rI   ©rL   r¢   )rµ   rQ   r¶   rR   r·   rT   )r§   r½   r    )r§   r½   rL   r   )rC   rD   rE   rF   r´   r˜   r°   rP   rY   r¼   rÈ   Ú_AbstractSandbox__namer¦   rª   r   rÐ   r²   rå   rë   rî   rÎ   rä   rÀ   r   rú   rH   rI   r   r   r     sA  € € € € € ØNÐNà€Gð
ð 
ð 
ð 
ð5ð 5ð 5ðð ð ð ð
ð ð ð ðð ð ð
ð ð ð ð 0ð =ð =ˆØˆ7�3˜ÑÔð 	=Ø4Ð4°VÑ<Ô<ˆFˆF‰HŒH�VÑøðð ð ð ð ð $Ð# F¨EÑ2Ô2€Eðð ?ð ?ˆð* ˆ7�3˜ÑÔð 	?Ø6Ð6°vÑ>Ô>ˆFˆF‰HŒH�VÑøð	ð 	ð 	ð 	ð *ð >ð >ˆØˆ7�3˜ÑÔð 	>Ø5Ð5°fÑ=Ô=ˆFˆF‰HŒH�VÑøð	ð 	ð 	ð 	ð 'ð 1ð 1ˆØˆ7�3˜ÑÔð 	1Ø(˜y¨Ñ0Ô0ˆFˆF‰HŒH�VÑøðð ð ð)ð )ð )ð)ð )ð )ð
ð 
ð 
ð ð :ð 	:Ð9Ð9Ð9Ð9Ð9ð:ð :rI   r   Údevnullc                  ó    — e Zd ZU dZe                     g d¢¦  «        Zded<   g Zded<   	 e	fdd	„Z
d
„ Zdd„Zdd„Zd„ Zd„ Zd„ Zd„ Zd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ç   zClassVar[dict[str, None]]Ú	write_opszlist[str | re.Pattern]Ú_exception_patternsrL   r¢   c                ó2  — t           j                             t           j                             |¦  «        ¦  «        | _        t           j                             | j        d¦  «        | _        d„ |D ¦   «         | _        t           	                    | ¦  «         d S )NÚ c                ó†   — g | ]>}t           j                             t           j                             |¦  «        ¦  «        ‘Œ?S rH   )r,   r'   ÚnormcaseÚrealpath)re   r'   s     r   r¨   z-DirectorySandbox.__init__.<locals>.<listcomp>À  sE   € ð 
ð 
ð 
Ø9=�BŒG×Ò�RœW×-Ò-¨dÑ3Ô3Ñ4Ô4ð
ð 
ð 
rI   )
r,   r'   r  r  Ú_sandboxrz   Ú_prefixÚ_exceptionsr   r˜   )rO   ÚsandboxÚ
exceptionss      r   r˜   zDirectorySandbox.__init__½  s   € Ýœ×(Ò(­¬×)9Ò)9¸'Ñ)BÔ)BÑCÔCˆŒÝ”w—|’| D¤M°2Ñ6Ô6ˆŒð
ð 
ØAKð
ñ 
ô 
ˆÔõ 	× Ò  Ñ&Ô&Ð&Ð&Ð&rI   c                ó(   — ddl m}  ||||¦  «        ‚)Nr   )r   )r=   r   )rO   ró   r�   rÃ   r   s        r   Ú
_violationzDirectorySandbox._violationÅ  s)   € Ø7Ð7Ð7Ð7Ð7Ð7àÐ˜y¨$°Ñ3Ô3Ð3rI   Úrc                ó|   — |dvr(|                       |¦  «        s | j        d||g|¢R i |¤Ž t          ||g|¢R i |¤ŽS )N)r  Úrtr   ÚrUÚUr   )Ú_okr  r²   )rO   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Ð- $Ð-Ð-Ð-¨"Ð-Ð-Ð-rI   c                ó0   — |                       d¦  «         d S )Nrì   )r  rN   s    r   rì   zDirectorySandbox.tmpnamÏ  s   € Ø�Š˜Ñ!Ô!Ð!Ð!Ð!rI   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  rd   r  )rO   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    rc   )re   Ú	exceptionÚfilepaths     €r   rg   z-DirectorySandbox._exempted.<locals>.<genexpr>à  sB   øè è € ð 
ð 
Ø/8ˆH×Ò 	Ñ*Ô*ð
ð 
ð 
ð 
ð 
ð 
rI   c              3  óB   •K  — | ]}t          j        |‰¦  «        V — Œd S r    )ÚreÚmatch)re   Úpatternr  s     €r   rg   z-DirectorySandbox._exempted.<locals>.<genexpr>ã  s@   øè è € ð 
ð 
Ø,3�BŒH�W˜hÑ'Ô'ð
ð 
ð 
ð 
ð 
ð 
rI   )r  r   Ú	itertoolsÚchainÚany)rO   r  Ústart_matchesÚpattern_matchesÚ
candidatess    `   r   r  zDirectorySandbox._exemptedß  sx   ø€ ð
ð 
ð 
ð 
Ø<@Ô<Lð
ñ 
ô 
ˆð
ð 
ð 
ð 
Ø7;Ô7Oð
ñ 
ô 
ˆõ ”_ ]°OÑDÔDˆ
Ý�:‰ŒÐrI   c                ó    — || j         v rD|                      |¦  «        s/ | j        |t          j                             |¦  «        g|¢R i |¤Ž |S rð   )rÿ   r  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ØˆrI   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ÐrI   éÿ  r   Úintc                ó–   — |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   )rO   ÚfileÚ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Ð7rI   Nrû   )r  )r'  )r   r(  rL   r(  )rC   rD   rE   rF   r›   Úfromkeysrÿ   Ú__annotations__r   Ú_EXCEPTIONSr˜   r  r²   rì   r  r  rÎ   rÀ   r   rH   rI   r   r   r   §  s  € € € € € € ØFÐFà+/¯=ª=ð :ð :ð :ñ ,ô ,€Ið ð ð ñ ð  35ÐÐ4Ð4Ð4Ñ4Ø4à+6ð 'ð 'ð 'ð 'ð 'ð4ð 4ð 4ð
.ð .ð .ð .ð
"ð "ð "ð "ð"ð "ð "ðð ð ðð ð ðð ð ð8ð 8ð 8ð 8ð 8ð 8ð 8rI   r   c                ó:   — g | ]}t          t          |d ¦  «        ‘ŒS )r   rÆ   )re   Úas     r   r¨   r¨   þ  s4   € ð ð ð àõ 	•�Q˜ÑÔðð ð rI   z4O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYc                  ó^   — e Zd ZdZ ej        d¦  «                             ¦   «         Zd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.
        rL   r½   c                óT   — | j         \  }}} | j        j        di t          ¦   «         ¤ŽS )NrH   )r�   ÚtmplÚformatr   )rO   Úcmdr�   Úkwargss       r   Ú__str__zSandboxViolation.__str__  s/   € Ø œIÑˆˆT�6ØˆtŒyÔÐ+Ð+¥&¡(¤(Ð+Ð+Ð+rI   N)rL   r½   )	rC   rD   rE   rF   ÚtextwrapÚdedentÚlstripr4  r8  rH   rI   r   r   r     sT   € € € € € ØOÐOàˆ8Œ?ð
	ñô ÷ ‚f�h„hð 	ð,ð ,ð ,ð ,ð ,ð ,rI   r   r    )@Ú
__future__r   r³   Ú
contextlibÚ	functoolsr  Úoperatorr,   r:   r  r!   r.   r9  Útypesr   Útypingr   r   r   rs   r   Údistutils.errorsr	   rª   Úplatformrd   Ú$org.python.modules.posix.PosixModuleÚpythonrh   ÚposixÚPosixModuler§   r   r²   Útyping_extensionsr   Ú__all__r   Úcontextmanagerr%   r)   r1   r6   r<   r8   rK   rn   rk   rv   r   r‡   r‰   r{   r   r   r¦   rý   r/  r   ÚreduceÚor_r†   r*  r   rH   rI   r   ú<module>rM     s  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %à +Ð +Ð +Ð +Ð +Ð +àð ØÐÐÐÐØ„\×Ò˜VÑ$Ô$ð Ø6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6à
Œ+�b”gÔ
€CØ€ð ð 'Ø&Ð&Ð&Ð&Ð&Ð&ðð ð €ð
 ð 
 ð 
 ð 
 ð Ôðð ð ñ Ôðð Ôðð ñ Ôðð Ôð!ð !ñ Ôð!ð  Ôðð ñ Ôðð1ð 1ð 1ð 1ð 1˜Iñ 1ô 1ð 1ð( +ð  +ð  +ð  +ð  +ñ  +ô  +ð  +ðF Ôðð ñ Ôðð2"ð "ð "ð
 Ôð*ð *ñ Ôð*ð Ôð"ð "ñ Ôð"ðð ð Ð ð+ð +ð +ð*ð ð ðð ð ð(I:ð I:ð I:ð I:ð I:ñ I:ô I:ð I:ðX €7ˆ2ˆyÑÔð Ø”:�,€K€Kà€KðR8ð R8ð R8ð R8ð R8�ñ R8ô R8ð R8ðj ˆiÔØ„Lðð àG×MÒMÑOÔOðñ ô ñô €ð,ð ,ð ,ð ,ð ,�~ñ ,ô ,ð ,ð ,ð ,rI   