Ë
    óÇ:jÀ/  ã                   ót  — 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	Z
d dlZd dlZd dlmZ ddlmZmZ ddlmZ ej(                  d„ «       Zej(                  d„ «       Z ej(                  d	d
¬«      d„ «       Zej(                  d„ «       Zej(                  d„ «       Zd„ Z ej(                  d
¬«      d„ «       Z ej(                  d
¬«      d„ «       Zej(                  d„ «       Zej(                  d„ «       Zej(                  d„ «       Zd„ Z dd„Z!d„ Z"d„ Z#dde!dddfd„Z$ej(                  d„ «       Z%y) é    N)ÚPath)Ú
safer_nameé   )ÚcontextsÚenvironment)ÚDALSc              #   óR  K  — t        j                  «       5 }| j                  d|«       t        j                  «       5 }| j                  d|«       t        j                  «       5  d–— ddd«       ddd«       ddd«       y# 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   yxY w­w)za
    Override site.USER_BASE and site.USER_SITE with temporary directories in
    a context.
    zsite.USER_BASEzsite.USER_SITEN)r   ÚtempdirÚsetattrÚsave_user_site_setting)ÚmonkeypatchÚ	user_baseÚ	user_sites      ún/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/setuptools/tests/fixtures.pyÚuser_overrider      s˜   è ø€ ô 
×	Ñ	Ó	ð ˜yØ×ÑÐ,¨iÔ8Ü×ÑÓð 	 9Ø×ÑÐ 0°)Ô<Ü×0Ñ0Ó2ñ Û÷÷	÷ð ÷ð ú÷	ð 	ú÷ð üsK   ‚B'—'B¾'BÁ%BÁ*BÁ2BÁ:	B'ÂBÂBÂB	ÂBÂB$Â B'c              #   ó^   K  — | j                  «       5 }|–— d d d «       y # 1 sw Y   y xY w­w©N)Úas_cwd)ÚtmpdirÚorigs     r   Ú
tmpdir_cwdr   "   s*   è ø€ à	�‰‹ð ˜DØŠ
÷÷ ñ üs   ‚-“!˜	-¡*¦-TÚsession)ÚautouseÚscopec                 óê   — | j                   j                  j                  d«      syt        j                  t
        «      5  t        j                  j                  d«       ddd«       y# 1 sw Y   yxY w)zù
    Workaround pytest-dev/pytest-xdist#376

    ``pytest-xdist`` tends to inject '' into ``sys.path``,
    which may break certain isolation expectations.
    Remove the entry so the import
    machinery behaves the same irrespective of xdist.
    ÚxdistNÚ )	ÚconfigÚpluginmanagerÚ
has_pluginÚ
contextlibÚsuppressÚ
ValueErrorÚsysÚpathÚremove)Úrequests    r   Úworkaround_xdist_376r(   (   sR   € ð �>‰>×'Ñ'×2Ñ2°7Ô;Øä	×	Ñ	œZÓ	(ñ Ü�‰�‰˜Ô÷÷ ñ ús   Á  A)Á)A2c                 ó¦   — g d¢}	 t        j                  |t        | «      ¬«       | dz  S # t        $ r t	        j
                  d«       Y | dz  S w xY w)z<
    Clone the 'sampleproject' and return a path to it.
    )ÚgitÚclonez%https://github.com/pypa/sampleproject)ÚcwdzUnable to clone sampleprojectÚsampleproject)Ú
subprocessÚ
check_callÚstrÚ	ExceptionÚpytestÚskip)Útmp_pathÚcmds     r   Úsample_projectr6   9   sY   € ò
 D€Cð5Ü×Ñ˜c¤s¨8£}Õ5ð �oÑ%Ð%øô ò 5Ü�‰Ð3Õ4Ø�oÑ%Ð%ð5ús   † + «AÁAc              #   óh   K  — t        j                  | «      5  d –— d d d «       y # 1 sw Y   y xY w­wr   )r%   r   )r6   s    r   Úsample_project_cwdr8   F   s)   è ø€ ä	�‰�>Ó	"ñ Û÷÷ ñ üs   ‚2˜&�	2¦/«2c                 ó°  — t        j                  || d«      5 }t        |j                  d«      d «      }t        |j                  d«      d «      }|r|r||fcd d d «       S t	        |j
                  j                  d«      j                  «       rJ ‚t        j                  t        j                  dddt        |«      t        |j
                  j                  «      g«       t	        |j
                  j                  d«      j                  «       rJ ‚t        |j                  d«      «      t        |j                  d«      «      fcd d d «       S # 1 sw Y   y xY w)NÚ
dist_buildz*.tar.gzz*.whlzbuild/lib/buildú-mÚbuildz--outdir)r   Úsession_locked_tmp_dirÚnextÚglobr   r   ÚrootdirÚexistsr.   Úcheck_outputr$   Ú
executabler0   )Útmp_path_factoryr'   ÚtmpÚsdistÚwheels        r   Ú_build_distributionsrH   T   s"  € Ü	×	(Ñ	(ØÐ! <ó
ð Cà	Ü�S—X‘X˜jÓ)¨4Ó0ˆÜ�S—X‘X˜gÓ&¨Ó-ˆÙ‘UØ˜5�>÷Cñ Cô ˜Ÿ™×.Ñ.Ð0AÓB×IÑIÔKÐKÐKä×ÑÜ�N‰NØØØÜ�‹HÜ�—‘×&Ñ&Ó'ð!
ô 	ô ˜Ÿ™×.Ñ.Ð0AÓB×IÑIÔKÐKÐKä�C—H‘H˜ZÓ(Ó)¬4°·±¸Ó0AÓ+BÐB÷/C÷ Cò Cús   ˜>EÁ C"EÅE)r   c                 óÂ   — t        j                  d«      }|r8t         j                  j                  |«      rt	        |«      j                  «       S t        | |«      \  }}|S )NÚPRE_BUILT_SETUPTOOLS_SDIST©ÚosÚgetenvr%   rA   r   ÚresolverH   )rD   r'   ÚprebuiltrF   Ú_s        r   Úsetuptools_sdistrQ   o   sL   € ä�y‰yÐ5Ó6€HÙ”B—G‘G—N‘N 8Ô,Ü�H‹~×%Ñ%Ó'Ð'ä#Ð$4°gÓ>�H€Eˆ1Ø€Ló    c                 óÂ   — t        j                  d«      }|r8t         j                  j                  |«      rt	        |«      j                  «       S t        | |«      \  }}|S )NÚPRE_BUILT_SETUPTOOLS_WHEELrK   )rD   r'   rO   rP   rG   s        r   Úsetuptools_wheelrU   y   sL   € ä�y‰yÐ5Ó6€HÙ”B—G‘G—N‘N 8Ô,Ü�H‹~×%Ñ%Ó'Ð'ä#Ð$4°gÓ>�H€A€uØ€LrR   c                 ó  — t        j                  «       }t        j                  | dz  «      |_        ddg|_        t        |«      |_        t        j                   d¬«      5  |j                  «       cddd«       S # 1 sw Y   yxY w)z?Virtual env with the version of setuptools under test installedÚvenvú--no-setuptoolsz--wheel=bundleN)Ú
PYTHONPATH)
r   Ú
VirtualEnvr%   r   ÚrootÚcreate_optsr0   Úreqr   Úcreate)r4   rU   Úenvs      r   rW   rW   ƒ   so   € ô ×
 Ñ
 Ó
"€CÜ�y‰y˜ FÑ*Ó+€C„HØ(Ð*:Ð;€C„OäÐ"Ó#€C„Gô 
×	Ñ	¨Ô	.ñ Ø�z‰z‹|÷÷ ò ús   Á!A;Á;Bc                 óš   — t        j                  «       }t        j                  | dz  «      |_        ddg|_        |j                  «        |S )z7Virtual env without any version of setuptools installedÚvenv_without_setuptoolsrX   ú
--no-wheel©r   rZ   r%   r   r[   r\   Ú
ensure_env©r4   r_   s     r   ra   ra   ™   sC   € ô ×
 Ñ
 Ó
"€CÜ�y‰y˜Ð$=Ñ=Ó>€C„HØ(¨,Ð7€C„OØ‡N�NÔØ€JrR   c                 óš   — t        j                  «       }t        j                  | dz  «      |_        g d¢|_        |j                  «        |S )z1Virtual env without any common packages installedÚ	bare_venv)rX   z--no-piprb   z	--no-seedrc   re   s     r   rg   rg   £   s=   € ô ×
 Ñ
 Ó
"€CÜ�y‰y˜ KÑ/Ó0€C„HÚP€C„OØ‡N�NÔØ€JrR   c                 óª  — t        |«      dkD  sJ ‚t        j                  | d«      5 }|D ]’  \  }}t        j                  |j                  d«      «      }t        j                  |¬«      }t        |j                  «       «      |_        t        t        j                  «       «      |_        |j                  ||¬«       Œ” 	 ddd«       y# 1 sw Y   yxY w)z…
    Create a simple sdist tarball at dist_path, containing the files
    listed in ``files`` as ``(filename, content)`` tuples.
    r   zw:gzúutf-8)Úname)ÚfileobjN)ÚlenÚtarfileÚopenÚioÚBytesIOÚencodeÚTarInfoÚgetvalueÚsizeÚintÚtimeÚmtimeÚaddfile)Ú	dist_pathÚfilesÚdistÚfilenameÚcontentÚ
file_bytesÚ	file_infos          r   Ú
make_sdistr€   ­   s©   € ô ˆu‹:˜Š>Ðˆ>Ü	�‰�i Ó	(ð 8¨DØ!&ò 	8ÑˆH�gÜŸ™ G§N¡N°7Ó$;Ó<ˆJÜŸ™¨XÔ6ˆIÜ  ×!4Ñ!4Ó!6Ó7ˆIŒNÜ!¤$§)¡)£+Ó.ˆIŒOØ�L‰L˜¨JˆLÕ7ñ	8÷8÷ 8ñ 8ús   §BC	Ã	Cc                 ó¨   — dt        d|›d|›d�«      fdg}|r.|j                  dt        d|j                  «       › d�«      f«       t        | |«       y	)
a  
    Create a simple sdist tarball at dist_path, containing just a simple
    setup.py.

    If ``setuptools_wheel`` is passed, a ``pyproject.toml`` file will also
    be generated and the passed value will be used as location for
    setuptools (as build dependency).
    úsetup.pyz`                 import setuptools
                 setuptools.setup(
                     name=z,
                     version=z%
                 )
                 ©ú	setup.cfgr   úpyproject.tomlzI                [build-system]
                requires = ["setuptools @ zK"]
                build-backend = "setuptools.build_meta"
                N)r   ÚappendÚas_urir€   )ry   ÚdistnameÚversionrU   rz   s        r   Úmake_trivial_sdistrŠ   ¾   sŒ   € ð Üðð $˜,ð 'Ø%˜[ð )ð	óð	
ð 	ð€Eñ  Ø�‰ØÜð+à+;×+BÑ+BÓ+DÐ*Eð Fðóð	
ô 		ô ˆy˜%Õ rR   c                 óä  — d|v sJ ‚|j                  d«      }|d   }t        dt        |«      dz   «      D �cg c]  }dj                  |d| «      ‘Œ }}t	        d|›d|›d|›d|›d	�	«      }d
}d|ft
        j                  j                  |d«      |fg}	|dd D ]D  }
t        j                  j                  |
j                  d«      dgz   Ž }|	j                  |df«       ŒF t        | |	«       yc c}w )z¼
    Make an sdist tarball with distname and version which also contains one
    package with the same name as distname.  The top-level package is
    designated a namespace package).
    ú.r   r   NzE        import setuptools
        setuptools.setup(
            name=z,
            version=z,
            packages=z",
            namespace_packages=[z]
        )
    z7__import__('pkg_resources').declare_namespace(__name__)r‚   ú__init__.pyr   )	ÚsplitÚrangerl   Újoinr   rL   r%   r†   r€   )ry   rˆ   r‰   ÚpartsÚ	nspackageÚidxÚpackagesÚsetup_pyÚinitrz   Úpackager|   s               r   Úmake_nspkg_sdistr˜   æ   s  € ð �(‰?Ðˆ?à�N‰N˜3Ó€EØ�a‘€Iä16°q¼#¸e»*Àq¹.Ó1IÖJ¨#�—‘˜˜t ˜Õ%ÐJ€HÐJäðð �ð Ø�Kð  Ø�\ð "!Ø!* ð .ð	ó
€Hð E€Dà˜(Ð#¤b§g¡g§l¡l°9¸mÓ&LÈdÐ%SÐT€EØ˜A˜B�<ò %ˆÜ—7‘7—<‘< '§-¡-°Ó"4¸°Ñ"FÐHˆØ�‰�h �^Õ$ð%ô ˆy˜%Õ ùò+ Ks   ·C-c           	      óZ   — t        | dt        d«      j                  |||¬«      fdg«       y )Nr‚   zå                import setuptools
                setuptools.setup(
                  name={name!r},
                  version={version!r},
                  python_requires={python_requires!r},
                )
                )rj   r‰   Úpython_requiresrƒ   )r€   r   Úformat)ry   rˆ   r‰   rš   s       r   Úmake_python_requires_sdistrœ   
  sF   € ÜØð Üðó	÷ ‘&Ø!¨7ÀOð ó ðð ð!	
õrR   Úfoobarz0.1© c                 ó(  — t        |«      }dd|› d|› �gt        j                  j                  | «      gdœ}|r|j	                  |«       t        j                  j                  | d«      }	t        j                  |	«       |r«g }
g }|D ]g  }|j                  |«      }|dj                  «       v r|}n|
}t        |t        t        f«      rdj                  |«      }|j                  |› d|› �«       Œi t        d«      j                  d	j                  |
«      d	j                  |«      ¬
«      }nd}t        t        j                  j                  |	d«      dd¬«      5 }|j!                  |«       ddd«       |€t        d«      }t        t        j                  j                  |	d«      dd¬«      5 }|j!                  ||z  «       ddd«       t        j                  j                  | |› d|› d�«      } ||||«       |	S # 1 sw Y   Œ‘xY w# 1 sw Y   ŒGxY w)a—  Creates a source tree under path for a trivial test package that has a
    single requirement in setup_requires--a tarball for that requirement is
    also created and added to the dependency_links argument.

    ``distname`` and ``version`` refer to the name/version of the package that
    the test package requires via ``setup_requires``.  The name of the test
    package itself is just 'test_pkg'.
    Útest_pkgz0.0z==)rj   r‰   Úsetup_requiresÚdependency_linkszname versionú;z: zg
            [metadata]
            {metadata}
            [options]
            {options}
            ú
)ÚoptionsÚmetadatar   r„   Úwri   )ÚencodingNzI            import setuptools
            setuptools.setup(**%r)
        r‚   ú-z.tar.gz)r   rL   r%   ÚabspathÚupdater�   ÚmkdirÚpoprŽ   Ú
isinstanceÚtupleÚlistr†   r   r›   rn   Úwrite)r%   rˆ   r‰   Úmake_packageÚsetup_py_templateÚsetup_attrsÚuse_setup_cfgÚnormalized_distnameÚtest_setup_attrsr    r¥   r¦   rj   ÚvalueÚsectionÚtest_setup_cfg_contentsÚfÚfoobar_paths                     r   Úcreate_setup_requires_packager½   "  s	  € ô$ % XÓ.ÐàØØ1Ð2°"°W°IÐ>Ð?ÜŸW™WŸ_™_¨TÓ2Ð3ñ	Ðñ Ø×Ñ Ô,ä�w‰w�|‰|˜D *Ó-€HÜ‡H�HˆXÔñ ØˆØˆØ!ò 	/ˆDØ$×(Ñ(¨Ó.ˆEØ�~×+Ñ+Ó-Ñ-Ø"‘à!�Ü˜%¤%¬ Ô/ØŸ™ ›�Ø�N‰N˜d˜V 2 e WÐ-Õ.ð	/ô #'ðó#
÷ ‰&Ø—I‘I˜gÓ&Ø—Y‘Y˜xÓ(ð ó 
ñ 	 ð #%ÐÜ	Œb�g‰g�l‰l˜8 [Ó1°3ÀÔ	Ið )ÈQØ	�‰Ð'Ô(÷)ð Ð Ü ðó
Ðô 
Œb�g‰g�l‰l˜8 ZÓ0°#ÀÔ	Hð 6ÈAØ	�‰Ð!Ð$4Ñ4Ô5÷6ô —'‘'—,‘,˜tÐ(;Ð'<¸A¸g¸YÀgÐ%NÓO€KÙ�˜h¨Ô0à€O÷#)ð )ú÷6ð 6ús   ÅG<Æ-HÇ<HÈHc                 ó  — t        d«      t        d«      t        d«      dddœddid	œ}|j                  g d
¢«       | dz  }|j                  «        t        j                  j                  ||¬«       |j                  dd«       |S )Nz‚
            [build-system]
            requires = ["setuptools"]
            build-backend = "setuptools.build_meta"
            z‰
            __import__('setuptools').setup(
                pbr=True,
                setup_requires=["pbr"],
            )
            z
            [metadata]
            name = mypkg

            [files]
            packages =
                mypkg
            r   zprint('Hello world!'))r�   zhello.pyztest.txtzAnother file in here.)r…   r‚   r„   ÚmypkgÚother)Úpythonr;   ÚpipÚinstallÚpbrr¿   )ÚprefixÚPBR_VERSIONz0.42)r   Úrunr¬   Újaracor%   r<   Úsetenv)r4   r   rW   rz   rÅ   s        r   Úpbr_packagerÊ   o  s�   € ô ðó
ô ðó
ô ðó	
ð Ø/ñ
ð Ð5Ð6ñ=€Eð@ 	‡H�HÒ6Ô7Ø˜Ñ€FØ
‡L�L„NÜ
‡K�K×Ñ�e FÐÔ+Ø×Ñ�} fÔ-Ø€MrR   r   )&r!   ro   rL   r.   r$   rm   rv   Úpathlibr   Újaraco.pathrÈ   r%   r2   Úsetuptools._normalizationr   r   r   r   Útextwrapr   Úfixturer   r   r(   r6   r8   rH   rQ   rU   rW   ra   rg   r€   rŠ   r˜   rœ   r½   rÊ   rž   rR   r   ú<module>rÐ      s…  ðÛ Û 	Û 	Û Û 
Û Û Ý ã Û Û å 0ç #Ý ð ‡�ñ
ó ð
ð ‡�ñó ðð
 €‡�˜ IÔ.ñó /ðð  ‡�ñ	&ó ð	&ð ‡�ñó ðòCð6 €‡��iÔ ñó !ðð €‡��iÔ ñó !ðð ‡�ñó ðð* ‡�ñó ðð ‡�ñó ðò8ó"%!òP!!òHð4 ØØ#ØØØóJðZ ‡�ñ&ó ñ&rR   