§
    »"½jw©  ã            
      óL  — 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mZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d d	lm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 d dl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z- d dl.m/Z/ ddl0m1Z1m2Z2 d dl3m4Z4  ej5        ddg¬¦  «        d„ ¦   «         Z6 ed¦  «         ed¦  «         7                    ¦   «         ddd ed¦  «         ed¦  «        ddd œid!œZ8d"Z9ej:         ;                    ej        d#k    d$¬%¦  «        ej:         <                    d&i e8¥d'e9i¥e8g¦  «        d(„ ¦   «         ¦   «         Z=d)„ Z>d*„ Z? G d+„ d,¦  «        Z@ G d-„ d.¦  «        ZAd/„ ZB G d0„ d1¦  «        ZCd2„ ZD G d3„ d4¦  «        ZE G d5„ d6¦  «        ZFej:         G                    d7¦  «        d8„ ¦   «         ZHd9„ ZI G d:„ d;¦  «        ZJ G d<„ d=¦  «        ZK G d>„ d?¦  «        ZLd@„ ZMej:         G                    dA¦  «        dB„ ¦   «         ZNdC„ ZOdD„ ZPdE„ ZQdOdK„ZRdPdN„ZSdS )Qé    )ÚannotationsN)Údeepcopy)Úimport_module)ÚEXTENSION_SUFFIXES)ÚPath)Údedent)ÚAny)ÚMock)Úuuid4)Ú	resources)	Ú_DebuggingTipsÚ_encode_pthÚ_find_namespacesÚ_find_package_rootsÚ_find_virtual_namespacesÚ_finder_templateÚ	_LinkTreeÚ_TopLevelFinderÚeditable_wheel)ÚDistribution)Ú	Extension)ÚSetuptoolsDeprecationWarningé   )ÚcontextsÚ
namespaces)Ú	run_setupÚstrictÚlenient)Úparamsc                ó$   — | j         dk    rddgS g S )Nr   ú--config-settingsúeditable-mode=strict)Úparam)Úrequests    úf/home/spazio/kingdom_calls/venv/lib/python3.11/site-packages/setuptools/tests/test_editable_install.pyÚeditable_optsr&   +   s    € à„}˜Ò Ð Ø#Ð%;Ð<Ð<Ø€Ió    aý          [build-system]
        requires = ["setuptools"]
        build-backend = "setuptools.build_meta"

        [project]
        name = "mypkg"
        version = "3.14159"
        license = {text = "MIT"}
        description = "This is a Python package"
        dynamic = ["readme"]
        classifiers = [
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers"
        ]
        urls = {Homepage = "https://github.com"}

        [tool.setuptools]
        package-dir = {"" = "src"}
        packages = {find = {where = ["src"]}}
        license-files = ["LICENSE*"]

        [tool.setuptools.dynamic]
        readme = {file = "README.rst"}

        [tool.distutils.egg_info]
        tag-build = ".post0"
        zr        global-include *.py *.txt
        global-exclude *.py[cod]
        prune dist
        prune build
        zThis is a ``README``z!---- placeholder MIT license ----Úmypkga                  import sys
                from importlib.metadata import PackageNotFoundError, version

                try:
                    __version__ = version(__name__)
                except PackageNotFoundError:
                    __version__ = "unknown"
                a                  from importlib.resources import read_text
                from . import __version__, __name__ as parent
                from .mod import x

                data = read_text(parent, "data.txt")
                print(__version__, data, x)
                zx = ''zHello World)ú__init__.pyz__main__.pyúmod.pyzdata.txt)úpyproject.tomlúMANIFEST.inz
README.rstzLICENSE.txtÚsrcz __import__('setuptools').setup()Údarwinúpypa/setuptools#4328©ÚreasonÚfilesúsetup.pyc           	     ó  — | dz  }|                      ¦   «          t          j                             ||¬¦  «         ddddddt	          |¦  «        g|¢}t          |                     |¦  «        ¦  «         g d	¢}|                     |¦  «                             ¦   «         d
k    sJ ‚|dz                       dd¬¦  «         |dz                       dd¬¦  «         |                     |¦  «                             ¦   «         dk    sJ ‚d S )Nr(   ©ÚprefixÚpythonú-mÚpipÚinstallú--no-build-isolationú-e)r7   r8   r(   z3.14159.post0 Hello Worldzsrc/mypkg/data.txtÚfoobarúutf-8©Úencodingzsrc/mypkg/mod.pyúx = 42z3.14159.post0 foobar 42)	ÚmkdirÚjaracoÚpathÚbuildÚstrÚprintÚrunÚstripÚ
write_text)Útmp_pathÚvenvr2   r&   ÚprojectÚcmds         r%   Útest_editable_with_pyprojectrO   |   s  € ð ˜Ñ €GØ‡M‚M�O„O€OÝ
„K×Ò�e GÐÑ,Ô,Ð,ð 	ØØØØØÝˆG‰Œð	ð 
ð	€Cõ 
ˆ$�(Š(�3‰-Œ-ÑÔÐà
#Ð
#Ð
#€CØ�8Š8�C‰=Œ=×ÒÑ Ô Ð$?Ò?Ð?Ð?Ð?àÐ#Ñ#×/Ò/°À7Ð/ÑKÔKÐKØÐ!Ñ!×-Ò-¨hÀÐ-ÑIÔIÐIØ�8Š8�C‰=Œ=×ÒÑ Ô Ð$=Ò=Ð=Ð=Ð=Ð=Ð=r'   c           	     óV  — dt          d¦  «        ddiddœi}t          j                             || ¬¦  «         | dz  }dd	d
dddt	          |¦  «        g|¢}t          |                     |¦  «        ¦  «         g d¢}|                     |¦  «                             ¦   «         dk    sJ ‚d S )Nr(   ac                  [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"

                [project]
                name = "mypkg"
                version = "3.14159"

                [tool.setuptools]
                packages = ["pkg"]
                py-modules = ["mod"]
                r)   za = 4úb = 2)r+   Úpkgr*   r5   r7   r8   r9   r:   r;   r<   )r7   ú-cz$import pkg, mod; print(pkg.a, mod.b)z4 2©r   rC   rD   rE   rF   rG   rH   rI   ©rK   rL   r&   r2   rM   rN   s         r%   Útest_editable_with_flat_layoutrV   �   sÜ   € àÝ$ðñô ð " 7Ð+Øð#
ð 
ð€Eõ* „K×Ò�e HÐÑ-Ô-Ð-Ø˜Ñ €Gð 	ØØØØØÝˆG‰Œð	ð 
ð	€Cõ 
ˆ$�(Š(�3‰-Œ-ÑÔÐØ
BÐ
BÐ
B€CØ�8Š8�C‰=Œ=×ÒÑ Ô  EÒ)Ð)Ð)Ð)Ð)Ð)r'   c           	     óP  — dt          d¦  «        ddœi}t          j                             || ¬¦  «         | dz  }dddd	d
dt	          |¦  «        g|¢}t          |                     |¦  «        ¦  «         g d¢}|                     |¦  «                             ¦   «         dk    sJ ‚d S )Nr(   a>                  [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"

                [project]
                name = "mod"
                version = "3.14159"

                [tool.setuptools]
                py-modules = ["mod"]
                rQ   )r+   r*   r5   r7   r8   r9   r:   r;   r<   )r7   rS   zimport mod; print(mod.b)Ú2rT   rU   s         r%   Ú test_editable_with_single_modulerY   Å   sÔ   € àÝ$ðñô ð ð
ð 
ð€Eõ& „K×Ò�e HÐÑ-Ô-Ð-Ø˜Ñ €Gð 	ØØØØØÝˆG‰Œð	ð 
ð	€Cõ 
ˆ$�(Š(�3‰-Œ-ÑÔÐØ
6Ð
6Ð
6€CØ�8Š8�C‰=Œ=×ÒÑ Ô  CÒ'Ð'Ð'Ð'Ð'Ð'r'   c                  óž   — e Zd Zd„ Zej                             dd¦  «        ej                             dd¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestLegacyNamespacesc                ó°  — t          j        t          d¬¦  «        }|dz  }|                     ¦   «          d}|D ]Ø}t	          j        ||d¬¦  «        }|5  |                     ¦   «         5 }|                     |¦  «         t          dd¬	¦  «        }	t          |	¦  «        }
|
 
                    ¦   «          |
                     d
¦  «        j        }|
                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   ŒÙt          |                     d¦  «        ¦  «        }t!          |¦  «        t!          |¦  «        k    sJ ‚d S )Nz .*namespace_packages parameter.*©Úmatchz.installation_dir)z	myns.pkgAz	myns.pkgBúmyns.n.pkgAúmyns.n.pkgBÚ42)Úversionr3   Úconfig)Ú
stop_afterÚ	dist_infoz*-nspkg.pth)ÚpytestÚwarnsr   rB   r   Úbuild_namespace_packageÚcontextÚchdirr   r   Úfinalize_optionsÚget_finalized_commandÚnameÚ_install_namespacesÚlistÚglobÚlen)ÚselfrK   ÚmonkeypatchÚdeprecationÚinstallation_dirÚexamplesrm   rR   ÚctxÚdistrN   Úeditable_namer2   s                r%   Útest_nspkg_file_is_uniquez.TestLegacyNamespaces.test_nspkg_file_is_uniqueî   sý  € Ý”lÝ(Ð0Rð
ñ 
ô 
ˆð $Ð&9Ñ9ÐØ×ÒÑ Ô Ð ð
ˆð ð 	Ið 	IˆDÝÔ4°X¸tÈTÐRÑRÔRˆCØð Ið I˜k×1Ò1Ñ3Ô3ð I°sØ—	’	˜#‘”�Ý  ¸ÐAÑAÔA�Ý$ TÑ*Ô*�Ø×$Ò$Ñ&Ô&Ð&Ø #× 9Ò 9¸+Ñ FÔ FÔ K�Ø×'Ò'Ð(8¸-ÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið Ið Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Iøõ Ð%×*Ò*¨=Ñ9Ô9Ñ:Ô:ˆÝ�5‰zŒz�S ™]œ]Ò*Ð*Ð*Ð*Ð*Ð*s7   ÁDÁ)A:C/Ã#DÃ/C3Ã3DÃ6C3Ã7DÄD
	ÄD
	Úimpl)Úpkg_resourcesÚns)zmyns.nc           
     ó*  — d}t          j        ||› d�|¬¦  «        }t          j        ||› d�|¬¦  «        }|dz                       |d¬¦  «         |dz                       |d¬¦  «         |dd…         }	|	                     d	¦  «         |                     d
dddt          |¦  «        g|	¢¦  «         |                     d
ddddt          |¦  «        g|	¢¦  «         |                     d
dd|› d|› d�g¦  «         |                     g d¢¦  «         dS )a>  
        Installing two packages sharing the same namespace, one installed
        naturally using pip or `--single-version-externally-managed`
        and the other installed in editable mode should leave the namespace
        intact and both packages reachable by import.
        (Ported from test_develop).
        zq        [build-system]
        requires = ["setuptools"]
        build-backend = "setuptools.build_meta"
        z.pkgA)r{   z.pkgBr+   r>   r?   Nr;   r7   r8   r9   r:   r<   rS   zimport z.pkgA; import )r7   rS   zimport pkg_resources)r   rh   rJ   ÚappendrH   rF   )
rr   rL   rK   r}   r{   r&   Úbuild_systemÚpkg_AÚpkg_BÚoptss
             r%   Ú!test_namespace_package_importablez6TestLegacyNamespaces.test_namespace_package_importable  sD  € ð$ˆõ
 Ô2°8À¸\¸\¸\ÐPTÐUÑUÔUˆÝÔ2°8À¸\¸\¸\ÐPTÐUÑUÔUˆØ	Ð!Ñ	!×-Ò-¨lÀWÐ-ÑMÔMÐMØ	Ð!Ñ	!×-Ò-¨lÀWÐ-ÑMÔMÐMà˜Q˜Q˜QÔˆØ�ŠÐ*Ñ+Ô+Ð+Ø�Š�(˜D %¨µC¸±J´JÐFÀÐFÑGÔGÐGØ�Š�(˜D %¨°D½#¸e¹*¼*ÐLÀtÐLÑMÔMÐMØ�Š�(˜DÐ"G¨BÐ"GÐ"G¸bÐ"GÐ"GÐ"GÐHÑIÔIÐIà�ŠÐ9Ð9Ð9Ñ:Ô:Ð:Ð:Ð:r'   N)Ú__name__Ú
__module__Ú__qualname__rz   rf   ÚmarkÚparametrizer„   © r'   r%   r[   r[   ë   sz   € € € € € ð+ð +ð +ð4 „[×ÒØð	
ñô ð „[×Ò˜T ;Ñ/Ô/ð;ð ;ñ 0Ô/ñô ð;ð ;ð ;r'   r[   c                  ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestPep420Namespacesc           
     ól  — t          j        |d¦  «        }t          j        |d¦  «        }|dd…         }|                     d¦  «         |                     ddddt	          |¦  «        g|¢¦  «         |                     ddddd	t	          |¦  «        g|¢¦  «         |                     g d
¢¦  «         dS )zÅ
        Installing two packages sharing the same namespace, one installed
        normally using pip and the other installed in editable mode
        should allow importing both packages.
        r_   r`   Nr;   r7   r8   r9   r:   r<   )r7   rS   z&import myns.n.pkgA; import myns.n.pkgB)r   Úbuild_pep420_namespace_packager   rH   rF   )rr   rL   rK   r&   r�   r‚   rƒ   s          r%   r„   z6TestPep420Namespaces.test_namespace_package_importable.  sº   € õ Ô9¸(ÀMÑRÔRˆÝÔ9¸(ÀMÑRÔRˆà˜Q˜Q˜QÔˆØ�ŠÐ*Ñ+Ô+Ð+Ø�Š�(˜D %¨µC¸±J´JÐFÀÐFÑGÔGÐGØ�Š�(˜D %¨°D½#¸e¹*¼*ÐLÀtÐLÑMÔMÐMØ�ŠÐKÐKÐKÑLÔLÐLÐLÐLr'   c           
     ó8  — dt          d¦  «        ddidœi}t          j                             ||¬¦  «         |dz  }t	          j        |d¦  «        }t	          j        |d¦  «        }|d	d	…         }|                     d
¦  «         |                     ddddt          |¦  «        g|¢¦  «         |                     dddddt          |¦  «        g|¢¦  «         |                     dddddt          |¦  «        g|¢¦  «         |                     g d¢¦  «         d	S )z@Currently users can create a namespace by tweaking `package_dir`ÚpkgAat                      [build-system]
                    requires = ["setuptools", "wheel"]
                    build-backend = "setuptools.build_meta"

                    [project]
                    name = "pkgA"
                    version = "3.14159"

                    [tool.setuptools]
                    package-dir = {"myns.n.pkgA" = "src"}
                    r)   úa = 1)r+   r-   r5   r`   zmyns.n.pkgCNr;   r7   r8   r9   r:   r<   )r7   rS   z#from myns.n import pkgA, pkgB, pkgC)	r   rC   rD   rE   r   rŽ   r   rH   rF   )	rr   rL   rK   r&   r2   r�   r‚   Úpkg_Crƒ   s	            r%   Ú&test_namespace_created_via_package_dirz;TestPep420Namespaces.test_namespace_created_via_package_dir=  s=  € ð Ý"(ðñ#ô #ð & wÐ/ðð ð
ˆõ& 	Œ×Ò˜%¨ÐÑ1Ô1Ð1Ø˜6Ñ!ˆÝÔ9¸(ÀMÑRÔRˆÝÔ9¸(ÀMÑRÔRˆð ˜Q˜Q˜QÔˆØ�ŠÐ*Ñ+Ô+Ð+Ø�Š�(˜D %¨µC¸±J´JÐFÀÐFÑGÔGÐGØ�Š�(˜D %¨°D½#¸e¹*¼*ÐLÀtÐLÑMÔMÐMØ�Š�(˜D %¨°D½#¸e¹*¼*ÐLÀtÐLÑMÔMÐMØ�ŠÐHÐHÐHÑIÔIÐIÐIÐIr'   c                ó¸  — dt          d¦  «        dddddœdœt          d         d	œi}t          j                             ||¬
¦  «         |dz  }dg}|                     ddddddt          |¦  «        g|¢¦  «         |                     g d¢¦  «        }|                     ¦   «         dk    sJ ‚d}|                     ddt          |¦  «        g¦  «        }d|v sJ ‚dS )a/  Sometimes users might specify an ``include`` pattern that ignores parent
        packages. In a normal installation this would ignore all modules inside the
        parent packages, and make them namespaces (reported in issue #3504),
        so the editable mode should preserve this behaviour.
        r�   ar                      [build-system]
                    requires = ["setuptools", "wheel"]
                    build-backend = "setuptools.build_meta"

                    [project]
                    name = "pkgA"
                    version = "3.14159"

                    [tool.setuptools]
                    packages.find.include = ["mypkg.*"]
                    Ú zb = 1r‘   )r)   zpkgA.py)r)   zother.pyÚnr,   )r+   r(   r,   r5   r;   r7   r8   r9   ú-vr:   r<   )r7   rS   z'from mypkg.n import pkgA; print(pkgA.a)Ú1z}        try:
            import mypkg.other
        except ImportError:
            print("mypkg.other not defined")
        rS   zmypkg.other not definedN)r   ÚEXAMPLErC   rD   rE   rH   rF   rI   )rr   rL   rK   r2   r�   rƒ   ÚoutrN   s           r%   Ú0test_namespace_accidental_config_in_lenient_modezETestPep420Namespaces.test_namespace_accidental_config_in_lenient_mode_  s"  € ð Ý"(ðñ#ô #ð $&Ø 'à')Ø#*ðð ðð õ  ' }Ô5ð/ð ð
ˆõ6 	Œ×Ò˜%¨ÐÑ1Ô1Ð1Ø˜6Ñ!ˆð 'Ð'ˆØ�Š�(˜D %¨¨y¸$ÅÀEÁ
Ä
ÐRÈTÐRÑSÔSÐSØ�hŠhÐRÐRÐRÑSÔSˆØ�yŠy‰{Œ{˜cÒ!Ð!Ð!Ð!ðˆð �hŠh˜ $­¨s©¬Ð4Ñ5Ô5ˆØ(¨CÐ/Ð/Ð/Ð/Ð/Ð/r'   N)r…   r†   r‡   r„   r“   r›   rŠ   r'   r%   rŒ   rŒ   -  sH   € € € € € ðMð Mð Mð Jð  Jð  JðD00ð 00ð 00ð 00ð 00r'   rŒ   c           
     ó.  ‡	— | dz  Š	ˆ	fd„t           j        D ¦   «         }|D ]}|                     d¬¦  «         Œt          |¦  «         t	          t
          j        t
          j                             t          t          |¦  «        ¦  «        ¬¦  «        }t           j        dddd	t          |¦  «        d
t          ‰	¦  «        dg	|¢}t          j        ||¬¦  «         t          j        ¦   «         dk    rdnd}‰	|z  dz  }t          j        |g|¬¦  «         dS )z>
    Editable install to a prefix should be discoverable.
    r6   c                ó´   •— g | ]T}d |v ¯|                      t          j        ¦  «        ¯%‰t          |¦  «                             t          j        ¦  «        z  ‘ŒUS )zsite-packages)Ú
startswithÚsysr6   r   Úrelative_to)Ú.0rD   r6   s     €r%   ú
<listcomp>z-test_editable_with_prefix.<locals>.<listcomp>™  s\   ø€ ð ð ð àØ˜dÐ"Ð" t§¢µs´zÑ'BÔ'BÐ"ð 	•�d‘”×'Ò'­¬
Ñ3Ô3Ñ3à"Ð"Ð"r'   T)Úparents)Ú
PYTHONPATHr8   r9   r:   z
--editablez--prefixr;   )ÚenvÚWindowsÚScriptsÚbinÚsampleN)rŸ   rD   rB   Ú_addsitedirsÚdictÚosÚenvironÚpathsepÚjoinÚmaprF   Ú
executableÚ
subprocessÚ
check_callÚplatformÚsystem)
rK   Úsample_projectr&   Úsite_packages_allÚspr¥   rN   r¨   Úexer6   s
            @r%   Útest_editable_with_prefixrº   ’  s=  ø€ ð ˜Ñ €Fðð ð ð å”Hðñ ô Ðð  ð ð ˆØ
�Š˜ˆÑÔÐÐõ Ð"Ñ#Ô#Ð#å
�rŒz¥b¤j§o¢oµc½#Ð?PÑ6QÔ6QÑ&RÔ&RÐ
SÑ
SÔ
S€CåŒØØØØÝˆNÑÔØÝˆF‰ŒØðð 
ð€Cõ Ô˜# 3Ð'Ñ'Ô'Ð'õ  ”Ñ(Ô(¨IÒ5Ð5ˆ)ˆ)¸5€CØ
�3‰,˜Ñ
!€CÝÔ˜3˜% SÐ)Ñ)Ô)Ð)Ð)Ð)r'   c                  óT   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ ZdS )ÚTestFinderTemplateúÍThis test focus in getting a particular implementation detail right.
    If at some point in time the implementation is changed for something different,
    this test can be modified or even excluded.
    c                óL   — i }t          |||¦  «          |d         ¦   «          d S )Nr:   )Úexec)rr   ÚfinderÚlocs      r%   Úinstall_finderz!TestFinderTemplate.install_finderÀ  s1   € ØˆÝˆV�S˜#ÑÔÐØˆˆIŒÑÔÐÐÐr'   c                ó  — ddddidœiddidœ}t           j                             ||¬	¦  «         t          |d
z  ¦  «        t          |dz  ¦  «        dœ}t	          t          t          ¦   «         ¦  «        |i ¦  «        }t          j        ¦   «         5  t          j        ¦   «         5  dD ]"}t          j
                             |d ¦  «         Œ#|                      |¦  «         t          d¦  «        }t          d¦  «        }t          d¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚t          |dz                       ¦   «         ¦  «        }	t!          ||	¦  «         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Úpkg1r•   úmod1.pyza = 42)r)   Úsubpkgúmod2.pyza = 43©Úsrc1Úsrc2r5   z	src1/pkg1z	src2/mod2)rÄ   Úmod2)rÄ   úpkg1.subpkgúpkg1.subpkg.mod1rË   rÍ   rË   rÌ   é*   é+   zsrc1/pkg1/subpkg)rC   rD   rE   rF   r   r   r   Ú
save_pathsÚsave_sys_modulesrŸ   ÚmodulesÚpoprÂ   r   ÚaÚresolveÚassert_path)
rr   rK   r2   ÚmappingÚtemplateÚmodÚmod1rË   rÆ   Úexpecteds
             r%   Útest_packagesz TestFinderTemplate.test_packagesÅ  s&  € ð Ø#%Ø(¨(Ð3ðð ðð  Ð)ð
ð 
ˆõ 	Œ×Ò˜%¨ÐÑ1Ô1Ð1õ ˜ ;Ñ.Ñ/Ô/Ý˜ ;Ñ.Ñ/Ô/ð
ð 
ˆõ $¥C­©¬¡L¤L°'¸2Ñ>Ô>ˆåÔ Ñ"Ô"ð 	*ð 	*¥HÔ$=Ñ$?Ô$?ð 	*ð 	*ØJð +ð +�Ý”—’  TÑ*Ô*Ð*Ð*à×Ò Ñ)Ô)Ð)Ý Ð!3Ñ4Ô4ˆDÝ  Ñ(Ô(ˆDÝ" =Ñ1Ô1ˆFà”6˜R’<�<�<�<Ø”6˜R’<�<�<�<Ý˜HÐ'9Ñ9×BÒBÑDÔDÑEÔEˆHÝ˜ Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*s7   ÂF Â&B6E(ÅF Å(E,	Å,F Å/E,	Å0F Æ FÆFc                ó  — ddddœi}t           j                             ||¬¦  «         dt          |dz  ¦  «        i}dg i}t	          t          t          ¦   «         ¦  «        ||¦  «        }t          j        ¦   «         5  t          j        ¦   «         5  dD ]"}t          j
                             |d ¦  «         Œ#|                      |¦  «         t          d¦  «        }t          j        |¦  «        d	z  }t          |dz                       ¦   «         ¦  «        }	t#          ||	¦  «         |j        d
k    sJ ‚|                     d¬¦  «        dk    sJ ‚	 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 )NrR   úa = 13Úabc)r)   útext.txtr5   úns.othernamer}   ©r}   rá   rà   é   r>   r?   )rC   rD   rE   rF   r   r   r   rÐ   rÑ   rŸ   rÒ   rÓ   rÂ   r   Úimportlib_resourcesr2   rÕ   rÖ   rÔ   Ú	read_text)
rr   rK   r2   r×   r   rØ   rÙ   rR   ÚtextrÛ   s
             r%   Útest_namespacez!TestFinderTemplate.test_namespaceå  sÿ  € Ø¨¸eÐDÐDÐEˆÝŒ×Ò˜%¨ÐÑ1Ô1Ð1à!¥3 x°%Ñ'7Ñ#8Ô#8Ð9ˆØ˜B�Zˆ
å#¥C­©¬¡L¤L°'¸:ÑFÔFˆÝÔ Ñ"Ô"ð 	=ð 	=¥HÔ$=Ñ$?Ô$?ð 	=ð 	=Ø-ð +ð +�Ý”—’  TÑ*Ô*Ð*Ð*à×Ò Ñ)Ô)Ð)Ý Ñ/Ô/ˆCÝ&Ô,¨SÑ1Ô1°JÑ>ˆDå˜H uÑ,×5Ò5Ñ7Ô7Ñ8Ô8ˆHÝ˜˜XÑ&Ô&Ð&Ø”5˜B’;�;�;�;ð —>’>¨7�>Ñ3Ô3°uÒ<Ð<Ð<Ð<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=s7   Á>E5ÂB>EÅE5ÅE!	Å!E5Å$E!	Å%E5Å5E9Å<E9c                óL  — ddddiiidddiidœ}t           j                             ||¬¦  «         t          |d	z  ¦  «        t          |d
z  ¦  «        dœ}dt          |dz  ¦  «        t          |dz  ¦  «        gi}t	          t          t          ¦   «         ¦  «        ||¦  «        }t          j        ¦   «         5  t          j        ¦   «         5  dD ]"}t          j
                             |d ¦  «         Œ#|                      |¦  «         t          d¦  «        }t          d¦  «        }t          |d	z                       ¦   «         ¦  «        }	t          ||	¦  «         |j        dk    sJ ‚|j        dk    sJ ‚	 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 )Nr}   rÄ   r)   rÞ   rÇ   úb = 37rÈ   r5   zsrc1/ns/pkg1zsrc2/ns)úns.pkgAr}   rÉ   rÊ   )r}   rê   úns.mod2rê   rë   rã   é%   )rC   rD   rE   rF   r   r   r   rÐ   rÑ   rŸ   rÒ   rÓ   rÂ   r   rÕ   rÖ   rÔ   Úb)
rr   rK   r2   r×   Únamespaces_rØ   rÙ   r�   rË   rÛ   s
             r%   Útest_combine_namespacesz*TestFinderTemplate.test_combine_namespacesü  s8  € à˜F ]°HÐ$=Ð>Ð?Ø˜I xÐ0Ð1ð
ð 
ˆõ 	Œ×Ò˜%¨ÐÑ1Ô1Ð1õ ˜8 nÑ4Ñ5Ô5Ý�h Ñ*Ñ+Ô+ð
ð 
ˆð �c (¨VÑ"3Ñ4Ô4µc¸(ÀVÑ:KÑ6LÔ6LÐMÐNˆÝ#¥C­©¬¡L¤L°'¸;ÑGÔGˆåÔ Ñ"Ô"ð 	 ð 	 ¥HÔ$=Ñ$?Ô$?ð 	 ð 	 Ø3ð +ð +�Ý”—’  TÑ*Ô*Ð*Ð*à×Ò Ñ)Ô)Ð)Ý  Ñ+Ô+ˆDÝ  Ñ+Ô+ˆDå˜H ~Ñ5×>Ò>Ñ@Ô@ÑAÔAˆHÝ˜˜hÑ'Ô'Ð'Ø”6˜R’<�<�<�<Ø”6˜R’<�<�<�<�<ð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s7   Â9FÃB'FÅ5FÆF	ÆFÆF	Æ	FÆFÆ Fc                óä  — dddiidddiidœ}t           j                             ¦   «         }|                     |¦  «        5  t           j                             |¦  «         dd	d
dœddgdœ}t          |¦  «        }t          |t          t          ¦   «         ¦  «        ¦  «        }t          d„ | 
                    ¦   «         D ¦   «         ¦  «        }ddd¦  «         n# 1 swxY w Y   t          j        ¦   «         5  t          j        ¦   «         5  |d         D ]"}t          j                             |d¦  «         Œ#|                      |¦  «         t%          d¦  «        }	t%          d¦  «        }
t          |dz                       ¦   «         ¦  «        }t          t)          |	j        ¦  «                             ¦   «         ¦  «        |k    sJ ‚t          |dz                       ¦   «         ¦  «        }t          t)          |
j        ¦  «                             ¦   «         ¦  «        |k    sJ ‚|	j        dk    sJ ‚|
j        dk    sJ ‚	 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 )z�
        Users may attempt to combine namespace packages in a nested way via
        ``package_dir`` as shown in pypa/setuptools#4248.
        Ú
my_packagezmy_module.pyrÞ   Úmy_package2zmy_module2.pyré   )r-   rÊ   ú	%PEP 517%zsrc/my_packagezsrc2/my_package2)Údifferent_nameúdifferent_name.subpkgrô   rõ   )Úscript_nameÚpackage_dirÚpackagesc              3  óJ   K  — | ]\  }}|                      d ¦  «        ¯|V — ŒdS )z.pyN©Úendswith)r¡   ÚkÚvs      r%   ú	<genexpr>zDTestFinderTemplate.test_combine_namespaces_nested.<locals>.<genexpr>/  s8   è è € ÐWÐW™d˜a ÀQÇZÂZÐPUÑEVÔEVÐW˜ÐWÐWÐWÐWÐWÐWr'   Nrø   zdifferent_name.my_modulez different_name.subpkg.my_module2zsrc/my_package/my_module.pyzsrc2/my_package2/my_module2.pyrã   rì   )rC   rD   ÚDirectoryStackri   rE   r   r   rF   r   ÚnextÚget_implementationr   rÐ   rÑ   rŸ   rÒ   rÓ   rÂ   r   rÕ   r   Ú__file__rÔ   rí   )rr   rK   r2   ÚstackÚattrsrx   rÀ   ÚcoderÙ   rÚ   rË   rÛ   s               r%   Útest_combine_namespaces_nestedz1TestFinderTemplate.test_combine_namespaces_nested  s8  € ð ! >°8Ð"<Ð=Ø" _°hÐ$?Ð@ð
ð 
ˆõ
 ”×*Ò*Ñ,Ô,ˆØ�]Š]˜8Ñ$Ô$ð 	Xð 	XÝŒK×Ò˜eÑ$Ô$Ð$à*à&6Ø-?ð ð  ð .Ð/FÐGðð ˆEõ   Ñ&Ô&ˆDÝ$ T­3­u©w¬w©<¬<Ñ8Ô8ˆFÝÐWÐW f×&?Ò&?Ñ&AÔ&AÐWÑWÔWÑWÔWˆDð	Xð 	Xð 	Xñ 	Xô 	Xð 	Xð 	Xð 	Xð 	Xð 	Xð 	Xøøøð 	Xð 	Xð 	Xð 	Xõ Ô Ñ"Ô"ð 	 ð 	 ¥HÔ$=Ñ$?Ô$?ð 	 ð 	 Ø˜ZÔ(ð +ð +�Ý”—’  TÑ*Ô*Ð*Ð*à×Ò Ñ%Ô%Ð%Ý Ð!;Ñ<Ô<ˆDÝ Ð!CÑDÔDˆDå˜HÐ'DÑD×MÒMÑOÔOÑPÔPˆHÝ•t˜DœMÑ*Ô*×2Ò2Ñ4Ô4Ñ5Ô5¸ÒAÐAÐAÐAå˜HÐ'GÑG×PÒPÑRÔRÑSÔSˆHÝ•t˜DœMÑ*Ô*×2Ò2Ñ4Ô4Ñ5Ô5¸ÒAÐAÐAÐAà”6˜R’<�<�<�<Ø”6˜R’<�<�<�<�<ð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 sJ   ÁBCÃCÃ"CÃ9I%ÄD3IÉI%ÉI	ÉI%ÉI	ÉI%É%I)É,I)c                ó¦  — ddddiiiddddiiiddddiiid	œ}t           j                             ||¬
¦  «         i }dt          |dz  ¦  «        gi}t	          t          t          ¦   «         ¦  «        ||¦  «        }d„ dD ¦   «         }t          j        ¦   «         5  t          j        ¦   «         5  dddg|¢R D ]"}t          j
                             |d ¦  «         Œ#|                      |¦  «         t          d¦  «        }|j        dk    sJ ‚t          j        t"          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j                             t          |dz  ¦  «        ¦  «         t          d¦  «        }	|	j        dk    sJ ‚t          j        t"          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j                             t          |dz  ¦  «        ¦  «         t          d¦  «        }
|
j        dk    sJ ‚	 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ÚparentÚchildzone.pyúx = 1ztwo.pyúx = 2zthree.pyzx = 3)Úproject1Úproject2Úproject3r5   zproject1/parentc              3  ó    K  — | ]	}d |› �V — Œ
dS )zparent.child.NrŠ   )r¡   rm   s     r%   rþ   zCTestFinderTemplate.test_dynamic_path_computation.<locals>.<genexpr>N  s+   è è € ÐKÐK¨4Ð& Ð&Ð&ÐKÐKÐKÐKÐKÐKr'   )ÚoneÚtwoÚthreezparent.childzparent.child.oner   zparent.child.twor  é   zparent.child.threer  é   )rC   rD   rE   rF   r   r   r   rÐ   rÑ   rŸ   rÒ   rÓ   rÂ   r   Úxrf   ÚraisesÚImportErrorr   )rr   rK   r2   r×   rî   rØ   ÚmodsrÙ   r  r  r  s              r%   Útest_dynamic_path_computationz0TestFinderTemplate.test_dynamic_path_computationB  sZ  € ð " G¨h¸Ð-@Ð#AÐBØ! G¨h¸Ð-@Ð#AÐBØ! G¨j¸'Ð-BÐ#CÐDð
ð 
ˆõ
 	Œ×Ò˜%¨ÐÑ1Ô1Ð1ØˆØ¥# hÐ1BÑ&BÑ"CÔ"CÐ!DÐEˆÝ#¥C­©¬¡L¤L°'¸;ÑGÔGˆàKÐKÐ3JÐKÑKÔKˆÝÔ Ñ"Ô"ð 	 ð 	 ¥HÔ$=Ñ$?Ô$?ð 	 ð 	 Ø  .°.ÐHÀ4ÐHÐHð +ð +�Ý”—’  TÑ*Ô*Ð*Ð*à×Ò Ñ)Ô)Ð)åÐ 2Ñ3Ô3ˆCØ”5˜A’:�:�:�:å”�{Ñ+Ô+ð 2ð 2ÝÐ0Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ ŒH�OŠO�C ¨:Ñ 5Ñ6Ô6Ñ7Ô7Ð7ÝÐ 2Ñ3Ô3ˆCØ”5˜A’:�:�:�:å”�{Ñ+Ô+ð 4ð 4ÝÐ2Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ ŒH�OŠO�C ¨:Ñ 5Ñ6Ô6Ñ7Ô7Ð7Ý!Ð"6Ñ7Ô7ˆEØ”7˜a’<�<�<�<�<ð+	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s�   ÂIÂ.A6H.Ä$E Ä4H.Å EÅH.ÅEÅA'H.Æ/GÆ?H.ÇGÇH.ÇGÇAH.È"IÈ.H2	È2IÈ5H2	È6IÉI
ÉI
c                ól  — dddii}t           j                             ||¬¦  «         dt          |dz  ¦  «        i}t	          t          t          ¦   «         ¦  «        |i ¦  «        }t          j        ¦   «         5  t          j        ¦   «         5  t          j
                             dd ¦  «         |                      |¦  «         t          j        t          d¬¦  «        5  t!          d¦  «         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 )NrR   r)   zfrom . import pkgr5   r]   ©rC   rD   rE   rF   r   r   r   rÐ   rÑ   rŸ   rÒ   rÓ   rÂ   rf   r  r  r   ©rr   rK   r2   r×   rØ   s        r%   Útest_no_recursionz$TestFinderTemplate.test_no_recursionf  sæ  € ð ØÐ2ðð
ˆõ
 	Œ×Ò˜%¨ÐÑ1Ô1Ð1ð •3�x %Ñ'Ñ(Ô(ð
ˆõ $¥C­©¬¡L¤L°'¸2Ñ>Ô>ˆåÔ Ñ"Ô"ð 	%ð 	%¥HÔ$=Ñ$?Ô$?ð 	%ð 	%ÝŒK�OŠO˜E 4Ñ(Ô(Ð(à×Ò Ñ)Ô)Ð)Ý”�{°%Ð8Ñ8Ô8ð %ð %Ý˜eÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð		%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s[   Á9D)ÂADÃC:Ã.DÃ:C>Ã>DÄC>ÄDÄD)ÄD	ÄD)ÄD	ÄD)Ä)D-Ä0D-c                ó²  — ddddidœi}t           j                             ||¬¦  «         dt          |dz  ¦  «        i}t	          t          t          ¦   «         ¦  «        |i ¦  «        }t          j        ¦   «         5  t          j        ¦   «         5  t          j
                             dd ¦  «         t          j
                             dd ¦  «         |                      |¦  «         t          j        t          d¬¦  «        5  t!          d¦  «         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Úfoor•   r)   )r)   Úbarr5   zfoo.barr=   r]   r  r  s        r%   Útest_similar_namez$TestFinderTemplate.test_similar_name{  s  € àØ!à! 2ððð ð
ˆõ 	Œ×Ò˜%¨ÐÑ1Ô1Ð1ð •3�x %Ñ'Ñ(Ô(ð
ˆõ $¥C­©¬¡L¤L°'¸2Ñ>Ô>ˆåÔ Ñ"Ô"ð 	(ð 	(¥HÔ$=Ñ$?Ô$?ð 	(ð 	(ÝŒK�OŠO˜E 4Ñ(Ô(Ð(ÝŒK�OŠO˜I tÑ,Ô,Ð,à×Ò Ñ)Ô)Ð)Ý”�{°(Ð;Ñ;Ô;ð (ð (Ý˜hÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s[   Á<EÂA1D4ÄDÄD4ÄD!Ä!D4Ä$D!Ä%D4Ä(EÄ4D8	Ä8EÄ;D8	Ä<EÅEÅEc                óø  — ddddddœdœi}t           j                             ||¬¦  «         dt          |dz  ¦  «        i}t	          t          t          ¦   «         ¦  «        |i ¦  «        }t          j        ¦   «         5  t          j        ¦   «         5  t          j
                             dd ¦  «         |                      |¦  «         t          j        t          d¬	¦  «        5  t!          d
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬	¦  «        5  t!          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬	¦  «        5  t!          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬	¦  «        5  t!          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬	¦  «        5  t!          d¦  «         d d d ¦  «         n# 1 swxY w Y   t!          d¦  «        }|j        dk    sJ ‚t!          d¦  «        }|j        dk    sJ ‚	 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 )Nr  r•   r
  r  )r)   úlowercase.py)r)   r#  r   r5   z'FOO'r]   ÚFOOz'foo\.LOWERCASE'zfoo.LOWERCASEz'foo\.bar\.Lowercase'zfoo.bar.Lowercasez
'foo\.BAR'zfoo.BAR.lowercasezFOO.bar.lowercasezfoo.lowercaser   zfoo.bar.lowercaser  )rC   rD   rE   rF   r   r   r   rÐ   rÑ   rŸ   rÒ   rÓ   rÂ   rf   r  r  r   r  )rr   rK   r2   r×   rØ   rÙ   s         r%   Útest_case_sensitivityz(TestFinderTemplate.test_case_sensitivity“  s!  € àØ!Ø 'à#%Ø$+ðð ðð ð	
ˆõ 	Œ×Ò˜%¨ÐÑ1Ô1Ð1à•3�x %Ñ'Ñ(Ô(ð
ˆõ $¥C­©¬¡L¤L°'¸2Ñ>Ô>ˆÝÔ Ñ"Ô"ð 	ð 	¥HÔ$=Ñ$?Ô$?ð 	ð 	ÝŒK�OŠO˜E 4Ñ(Ô(Ð(à×Ò Ñ)Ô)Ð)Ý”�{°'Ð:Ñ:Ô:ð %ð %Ý˜eÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ ”�{Ð2EÐFÑFÔFð /ð /Ý˜oÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ ”�{Ð2KÐLÑLÔLð 3ð 3ÝÐ1Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ ”�{°-Ð@Ñ@Ô@ð 3ð 3ÝÐ1Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ ”�{°'Ð:Ñ:Ô:ð 3ð 3ÝÐ1Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ   Ñ0Ô0ˆCØ”5˜A’:�:�:�:åÐ 3Ñ4Ô4ˆCØ”5˜A’:�:�:�:�:ð/	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	së   Á>I/ÂAIÃ#C?Ã3IÃ?DÄIÄDÄIÄ%EÄ5IÅEÅIÅEÅ	IÅ'FÅ7IÆFÆIÆ
FÆIÆ)GÆ9IÇG	Ç	IÇG	ÇIÇ+HÇ;IÈHÈIÈHÈ;IÉI/ÉI	ÉI/ÉI	ÉI/É/I3É6I3c                óž  — dddddœdœi}t           j                             ||¬¦  «         dt          |dz  ¦  «        i}d	g i}t	          t          t          ¦   «         ¦  «        ||¦  «        }t          j        ¦   «         5  t          j        ¦   «         5  d
D ]"}t          j
                             |d ¦  «         Œ#|                      |¦  «         t          d¦  «        }t          |dz                       ¦   «         ¦  «        }t          ||¦  «         |j        dk    sJ ‚t          d¦  «        }	|	j        dk    sJ ‚t          d¦  «        }
|
j        dk    sJ ‚t'          j        t*          d¬¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t'          j        t*          d¬¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t'          j        t*          d¬¦  «        5  t          d¦  «         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 )NrR   rÞ   ré   zc = 42)r)   zbar.py)r)   r  r5   rá   r}   râ   rã   zns.othername.foorì   zns.othername.foo.barrÎ   z'NS'r]   zNS.othername.fooz'ns\.othername\.FOO\'zns.othername.FOOz'ns\.othername\.foo\.BAR\'zns.othername.foo.BAR)rC   rD   rE   rF   r   r   r   rÐ   rÑ   rŸ   rÒ   rÓ   rÂ   r   rÕ   rÖ   rÔ   rí   Úcrf   r  r  )rr   rK   r2   r×   r   rØ   rÙ   rR   rÛ   r  r   s              r%   Útest_namespace_case_sensitivityz2TestFinderTemplate.test_namespace_case_sensitivity¼  sˆ  € àØ'à#+Ø&ðð ðð ð
ˆõ 	Œ×Ò˜%¨ÐÑ1Ô1Ð1à!¥3 x°%Ñ'7Ñ#8Ô#8Ð9ˆØ˜B�Zˆ
å#¥C­©¬¡L¤L°'¸:ÑFÔFˆÝÔ Ñ"Ô"ð 	6ð 	6¥HÔ$=Ñ$?Ô$?ð 	6ð 	6Ø-ð +ð +�Ý”—’  TÑ*Ô*Ð*Ð*à×Ò Ñ)Ô)Ð)Ý Ñ/Ô/ˆCÝ˜H uÑ,×5Ò5Ñ7Ô7Ñ8Ô8ˆHÝ˜˜XÑ&Ô&Ð&Ø”5˜B’;�;�;�;åÐ 2Ñ3Ô3ˆCØ”5˜B’;�;�;�;åÐ 6Ñ7Ô7ˆCØ”5˜B’;�;�;�;å”�{°&Ð9Ñ9Ô9ð 2ð 2ÝÐ0Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ ”�{Ð2LÐMÑMÔMð 2ð 2ÝÐ0Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ ”�{Ð2RÐSÑSÔSð 6ð 6ÝÐ4Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð-	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð 	6ð 	6s£   ÂIÂCH*Å3FÆH*ÆFÆH*ÆFÆH*Æ5GÇH*ÇGÇH*ÇGÇH*Ç7HÈH*ÈHÈH*ÈHÈH*ÈIÈ*H.	È.IÈ1H.	È2IÉIÉ	Ic                óð  — dddddddidœii}t           j                             ||¬	¦  «         dt          |d
z  ¦  «        i}t	          t          t          ¦   «         ¦  «        |i ¦  «        }t          j        ¦   «         5  t          j        ¦   «         5  dD ]"}t          j
                             |d¦  «         Œ#|                      |¦  «         t          d¦  «        }|j        dk    sJ ‚t          d¦  «        }|j        dk    sJ ‚t!          j        t$          ¦  «        5  t          d¦  «         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 )zˆ
        The finder should not import ``fullname`` if the intermediate segments
        don't exist (see pypa/setuptools#4019).
        r-   r(   r•   rÞ   zb = 13ú	config.pyza = 37)r)   r*  zhelloworld.pyÚ
componentsr5   z	src/mypkg)r(   zmypkg.configúmypkg.helloworldzmypkg.componentsúmypkg.components.configúmypkg.components.helloworldNr-  rì   r,  rã   r.  )rC   rD   rE   rF   r   r   r   rÐ   rÑ   rŸ   rÒ   rÓ   rÂ   r   rÔ   rí   rf   r  r  )rr   rK   r2   r×   rØ   rÙ   rc   Ú
helloworlds           r%   Útest_intermediate_packagesz-TestFinderTemplate.test_intermediate_packageså  sJ  € ð ØØ#%Ø!)Ø%-à# Xð#ð	ð ð	ð
ˆõ 	Œ×Ò˜%¨ÐÑ1Ô1Ð1à�C ¨;Ñ 6Ñ7Ô7Ð8ˆÝ#¥C­©¬¡L¤L°'¸2Ñ>Ô>ˆåÔ Ñ"Ô"ð 	=ð 	=¥HÔ$=Ñ$?Ô$?ð 	=ð 	=ðð +ð +�õ ”—’  TÑ*Ô*Ð*Ð*à×Ò Ñ)Ô)Ð)å"Ð#<Ñ=Ô=ˆFØ”8˜r’>�>�>�>å&Ð'9Ñ:Ô:ˆJØ”< 2Ò%Ð%Ð%Ð%å”�{Ñ+Ô+ð =ð =ÝÐ;Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð'	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=s[   Â E+ÂBEÄ D<Ä0EÄ<E Å EÅE ÅEÅE+ÅE	ÅE+ÅE	ÅE+Å+E/Å2E/N)r…   r†   r‡   Ú__doc__rÂ   rÜ   rç   rï   r  r  r  r!  r%  r(  r0  rŠ   r'   r%   r¼   r¼   º  sÈ   € € € € € ðð ð
ð ð ð
*ð *ð *ð@=ð =ð =ð. ð  ð  ð6) ð ) ð ) ðV" ð " ð " ðH%ð %ð %ð*(ð (ð (ð0'ð 'ð 'ðR'6ð '6ð '6ðR*=ð *=ð *=ð *=ð *=r'   r¼   c           
     óN  — ddiddœdddidœdd	dd
iiiddiddiddidœ}t           j                             || ¬¦  «         ddddœ}g d¢}t          ||| ¦  «        }|t	          | dz  ¦  «        t	          | dz  ¦  «        t	          | dz  ¦  «        t	          | dz  ¦  «        t	          | dz  ¦  «        t	          | dz  ¦  «        dœk    sJ ‚t          t          t          ||¦  «        ¦  «        ¦  «        }|ddhk    sJ ‚t          t          |¦  «        ¦  «        }|h d£k    sJ ‚dS )r½   r)   zab = 1r‘   )rí   r)   zd = 1zde = 1)r)   ÚeÚgÚhzfgh = 1zabc = 1z
abcxyz = 1z	mnopq = 1)rÔ   ÚdÚfÚotherÚanotherÚyet_anotherr5   r8  r9  r:  )úa.b.cúa.b.c.x.y.zú	m.n.o.p.q)rÔ   úa.br;  ú	a.b.c.x.yr<  r6  zd.er7  úf.gzf.g.hr=  rÔ   r6  r7  )rÔ   r;  r<  r6  r7  r=  r@  >   úm.núm.n.oúa.b.c.xúm.n.o.pÚmr>  r?  N)	rC   rD   rE   r   rF   Úsetr«   r   r   )rK   r2   r÷   rø   Úrootsr}   s         r%   Útest_pkg_rootsrH    s™  € ð " 8Ð,¸WÐEÐEØ$¨M¸8Ð+DÐEÐEØ�C˜-¨Ð3Ð4Ð5Ø Ð+Ø! <Ð0Ø% {Ð3ðð €Eõ „K×Ò�e HÐÑ-Ô-Ð-àØ Ø"ðð €Kð
ð ð €Hõ   ¨+°xÑ@Ô@€EØÝ�˜C‘Ñ Ô Ý�X Ñ'Ñ(Ô(Ý˜8 iÑ/Ñ0Ô0Ý�˜C‘Ñ Ô Ý�˜C‘Ñ Ô Ý˜ MÑ1Ñ2Ô2ðð ò ð ð ð õ 
�TÕ" 8¨UÑ3Ô3Ñ4Ô4Ñ	5Ô	5€BØ�#�u�ÒÐÐÐå	Õ% eÑ,Ô,Ñ	-Ô	-€BØÐPÐPÐPÒPÐPÐPÐPÐPÐPr'   c            
      ó<  — e Zd ZU dZ ee¦  «        ed         dddddddœdœd	œZd
ed<   e ee¦  «        ed         dded         idœ ee¦  «         ed¦  «        z   ed         dded         d         dœed         d         dœ ee¦  «        ed         dded         d         ed         d         dœidœdœZe	j
                             ej        dk    d¬¦  «        e	j
                             de                     ¦   «         ¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestOverallBehaviourz·        [build-system]
        requires = ["setuptools"]
        build-backend = "setuptools.build_meta"

        [project]
        name = "mypkg"
        version = "3.14159"
        r,   r•   zvar = 42zvar = 13úresource 39)r)   rÇ   zresource_file.txt)r)   rÅ   Ú
subpackage)r+   r,   úotherfile.pyr(   zdict[str, Any]ÚFLAT_LAYOUTr(   )r+   r,   rM  r-   zÇ                [tool.setuptools]
                packages = ["mypkg", "mypkg.subpackage"]

                [tool.setuptools.package-dir]
                "mypkg.subpackage" = "other"
                rÅ   )r)   rÅ   rL  )r+   r,   rM  r(   r8  )rÅ   rL  )úflat-layoutú
src-layoutúcustom-layoutÚ	namespacer.   r/   r0   Úlayoutc                ój  — t          d||| j        |         g|¢R Ž \  }}d}|                     ddt          |¦  «        g¦  «        }d|v sJ ‚d}	|                     ddt          |	¦  «        g¦  «        }d|v sJ ‚d}
|                     ddt          |
¦  «        g¦  «        }d	|v sJ ‚t	          |                     d
¦  «        ¦  «        }t	          |                     d¦  «        ¦  «        }t	          |                     d¦  «        ¦  «        }|                     dd¬¦  «         |                     dd¬¦  «         |                     dd¬¦  «         |                     ddt          |	¦  «        g¦  «        }d|vsJ ‚d|v sJ ‚|                     ddt          |
¦  «        g¦  «        }d	|vsJ ‚d|v sJ ‚d S )Nr(   zj        try:
            import otherfile
        except ImportError as ex:
            print(ex)
        r7   rS   zNo module named 'otherfile'zy        import mypkg, mypkg.mod1, mypkg.subpackage.mod2
        print(mypkg.mod1.var, mypkg.subpackage.mod2.var)
        z42 13zô        import mypkg.subpackage
        from setuptools._importlib import resources as importlib_resources
        text = importlib_resources.files(mypkg.subpackage) / "resource_file.txt"
        print(text.read_text(encoding="utf-8"))
        rK  ú
**/mod1.pyú
**/mod2.pyú**/resource_file.txtzvar = 17r>   r?   z	var = 781zresource 374z17 781)Úinstall_projectÚEXAMPLESrH   r   r   rp   rJ   )rr   rK   rL   rS  r&   rM   Ú_Úcmd_import_errorrš   Úcmd_get_varsÚcmd_get_resourcerÚ   rË   Úresource_files                 r%   Útest_editable_installz*TestOverallBehaviour.test_editable_install†  sü  € õ %Ø�T˜8 T¤]°6Ô%:ð
Ø=Jð
ð 
ð 
‰
ˆ�ð
Ðð �hŠh˜ $­Ð/?Ñ(@Ô(@ÐAÑBÔBˆØ,°Ð3Ð3Ð3Ð3ðˆð �hŠh˜ $­¨|Ñ(<Ô(<Ð=Ñ>Ô>ˆØ˜#ˆ~ˆ~ˆ~ˆ~ðÐð �hŠh˜ $­Ð/?Ñ(@Ô(@ÐAÑBÔBˆØ Ð#Ð#Ð#Ð#õ �G—L’L Ñ.Ô.Ñ/Ô/ˆÝ�G—L’L Ñ.Ô.Ñ/Ô/ˆÝ˜WŸ\š\Ð*@ÑAÔAÑBÔBˆà�Š˜
¨WˆÑ5Ô5Ð5Ø�Š˜¨gˆÑ6Ô6Ð6Ø× Ò  ¸'Ð ÑBÔBÐBà�hŠh˜ $­¨|Ñ(<Ô(<Ð=Ñ>Ô>ˆØ˜cÐ!Ð!Ð!Ð!Ø˜3ˆˆˆˆà�hŠh˜ $­Ð/?Ñ(@Ô(@ÐAÑBÔBˆØ CÐ'Ð'Ð'Ð'Ø Ð$Ð$Ð$Ð$Ð$Ð$r'   N)r…   r†   r‡   Ú	PYPROJECTr   r™   rN  Ú__annotations__rY  rf   rˆ   ÚxfailrŸ   r´   r‰   Úkeysr_  rŠ   r'   r%   rJ  rJ  C  sÒ  € € € € € € ð€Ið !˜& Ñ+Ô+Ø˜}Ô-ØàØ!à!Ø%Ø%2ðð ð
ð 
ð	#ð #€Kð ð ð ñ ð  #à$˜f YÑ/Ô/Ø" =Ô1ØØ˜[¨Ô1Ð2ð	
ð 
ð %˜f YÑ/Ô/Øˆfðñô ñ	ð # =Ô1Øà!Ø& wÔ/°	Ô:ðð ð ! Ô)¨,Ô7ð#
ð 
ð( %˜f YÑ/Ô/Ø" =Ô1ØàØ*¨7Ô3°IÔ>Ø"-¨gÔ"6°|Ô"Dðð ðð	

ð 

ð7&ð &€HðP „[×Ò�s”| xÒ/Ð8NÐÑOÔOØ„[×Ò˜X x§}¢}¡¤Ñ7Ô7ð0%ð 0%ñ 8Ô7ñ PÔOð0%ð 0%ð 0%r'   rJ  c                  óš   — e Zd Z eej        d         ¦  «        Zedxx          ed¦  «        z  cc<   ded         d         d<   d„ Zd	„ Z	d
S )ÚTestLinkTreerP  r+   a[          [tool.setuptools]
        # Temporary workaround: both `include-package-data` and `package-data` configs
        # can be removed after #3260 is fixed.
        include-package-data = false
        package-data = {"*" = ["*.txt"]}

        [tool.setuptools.packages.find]
        where = ["src"]
        exclude = ["*.subpackage*"]
        rß   r-   r(   úresource.not_in_manifestc                ó  — t           j                             | j        |¬¦  «         t	          |¦  «        5  d}t          ddi¦  «        }|                     ¦   «          t          ¦   «         }|dz  }|dz  }|                     ¦   «          |                     ¦   «          | 	                    d¦  «        }d|_
        t          |¦  «        |_        |                     ¦   «          |                     ¦   «         }|                     ¦   «         }	t!          ||||¦  «        }
 |
|||	¦  «         t#          |                     d	¦  «        ¦  «        }|d
z  }t'          ||¦  «         t#          |                     d¦  «        d ¦  «        �J ‚t#          |                     d¦  «        d ¦  «        �J ‚t#          |                     d¦  «        d ¦  «        �J ‚t#          |                     d¦  «        d ¦  «        �J ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr5   zmypkg-3.14159rö   ró   z.auxz.buildÚbuild_pyTrU  zsrc/mypkg/mod1.pyz**/subpackagerV  rW  z**/resource.not_in_manifest)rC   rD   rE   ÚFILESÚ_Pathr   Úparse_config_filesr
   rB   Úget_command_objÚeditable_moderF   Ú	build_libÚensure_finalizedÚget_outputsÚget_output_mappingr   r   rp   Úassert_link_to)rr   rK   rm   rx   ÚwheelÚauxrE   rh  ÚoutputsÚoutput_mappingÚ	make_treerÚ   rÛ   s                r%   Útest_generated_treez TestLinkTree.test_generated_treeÌ  sH  € ÝŒ×Ò˜$œ*¨XÐÑ6Ô6Ð6å�8‰_Œ_ð 	Oð 	OØ"ˆDÝ °Ð <Ñ=Ô=ˆDØ×#Ò#Ñ%Ô%Ð%å‘F”FˆEØ˜VÑ#ˆCØ˜xÑ'ˆEØ�IŠI‰KŒKˆKØ�KŠK‰MŒMˆMà×+Ò+¨JÑ7Ô7ˆHØ%)ˆHÔ"Ý!$ U¡¤ˆHÔØ×%Ò%Ñ'Ô'Ð'Ø×*Ò*Ñ,Ô,ˆGØ%×8Ò8Ñ:Ô:ˆNå! $¨¨c°5Ñ9Ô9ˆIØˆI�e˜W nÑ5Ô5Ð5å˜Ÿš Ñ.Ô.Ñ/Ô/ˆDØÐ"5Ñ5ˆHÝ˜4 Ñ*Ô*Ð*å˜Ÿš Ñ1Ô1°4Ñ8Ô8Ð@Ð@Ð@Ý˜Ÿš Ñ.Ô.°Ñ5Ô5Ð=Ð=Ð=Ý˜ŸšÐ!7Ñ8Ô8¸$Ñ?Ô?ÐGÐGÐGå˜ŸšÐ!>Ñ?Ô?ÀÑFÔFÐNÐNÐNÐNð;	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	Oð 	Oð 	Os   ¶F>HÈHÈ	Hc                ó2  — ddg}t          d||| j        g|¢R Ž  |                     g d¢¦  «        }d|v sJ ‚d}|                     ddt          |¦  «        g¦  «        }d	|v sJ ‚d
}|                     ddt          |¦  «        g¦  «        }d|v sJ ‚d|v sJ ‚d S )Nr!   r"   r(   ©r7   rS   z(import mypkg.mod1; print(mypkg.mod1.var)ra   zv        try:
            from mypkg import subpackage
        except ImportError as ex:
            print(ex)
        r7   rS   úcannot import name 'subpackage'a8          import mypkg
        from setuptools._importlib import resources as importlib_resources
        try:
            text = importlib_resources.files(mypkg) / "resource.not_in_manifest"
            print(text.read_text(encoding="utf-8"))
        except FileNotFoundError as ex:
            print(ex)
        zNo such file or directoryrf  )rX  ri  rH   r   )rr   rK   rL   rƒ   rš   r[  r]  s          r%   Útest_strict_installz TestLinkTree.test_strict_installî  sß   € Ø#Ð%;Ð<ˆÝ˜  x°´ÐC¸dÐCÐCÐCÐCà�hŠhÐSÐSÐSÑTÔTˆØ�sˆ{ˆ{ˆ{ˆ{ðÐð �hŠh˜ $­Ð/?Ñ(@Ô(@ÐAÑBÔBˆØ0°CÐ7Ð7Ð7Ð7ðÐð �hŠh˜ $­Ð/?Ñ(@Ô(@ÐAÑBÔBˆØ*¨cÐ1Ð1Ð1Ð1Ø)¨SÐ0Ð0Ð0Ð0Ð0Ð0r'   N)
r…   r†   r‡   r   rJ  rY  ri  r   rx  r|  rŠ   r'   r%   re  re  »  s”   € € € € € ØˆHÐ)Ô2°<Ô@ÑAÔA€EØ	Ð
ÐÐÔ˜v˜vð
	ñ ô  ñ ÐÐÑð 9>€Eˆ%„L�ÔÐ4Ñ5ð Oð  Oð  OðD1ð 1ð 1ð 1ð 1r'   re  z9ignore:.*compat.*:setuptools.SetuptoolsDeprecationWarningc                ó~  — ddg}t           j        d         }t          d|| |g|¢R Ž  |                     g d¢¦  «        }d|v sJ ‚t	          t          | ¦  «        ¦  «        }dD ]-}t	          |                     dd	|g¦  «        ¦  «        }||v sJ ‚Œ.d
}|                     dd	t          |¦  «        g¦  «        }d|v sJ ‚d S )Nr!   zeditable-mode=compatrQ  r(   rz  ra   )z"import otherfile; print(otherfile)zimport other; print(other)zimport mypkg; print(mypkg)r7   rS   zc    try:
        from mypkg import subpackage;
    except ImportError as ex:
        print(ex)
    r{  )rJ  rY  rX  rH   Úcomparable_pathrF   r   )rK   rL   rƒ   r2   rš   Úexpected_pathrN   s          r%   Útest_compat_installr€    sõ   € ð  Ð!7Ð8€DÝ Ô)¨/Ô:€EÝ�G˜T 8¨UÐ:°TÐ:Ð:Ð:Ð:à
�(Š(ÐOÐOÐOÑ
PÔ
P€CØ�3ˆ;ˆ;ˆ;ˆ;å#¥C¨¡M¤MÑ2Ô2€Mðð $ð $ˆõ
 ˜dŸhšh¨°$¸Ð'<Ñ=Ô=Ñ>Ô>ˆØ Ð#Ð#Ð#Ð#Ð#ð€Cð �(Š(�H˜d¥F¨3¡K¤KÐ0Ñ
1Ô
1€CØ,°Ð3Ð3Ð3Ð3Ð3Ð3r'   c                óP  — t          d¦  «        t          d¦  «        t          d¦  «        dddœddid	œ}|                     g d
¢¦  «         t          j        d¬¦  «        5  t	          d|| |g|¢R Ž  ddd¦  «         n# 1 swxY w Y   |                     g d¢¦  «        }d|v sJ ‚dS )z3Ensure editable installs work with pbr, issue #3500z�            [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+   r3   z	setup.cfgr(   r8  )r7   r8   r9   r:   Úpbrz0.42)ÚPBR_VERSIONr(   N)r7   rS   zimport mypkg.hellozHello world!)r   rH   r   ÚenvironmentrX  )rK   rL   r&   r2   rš   s        r%   Útest_pbr_integrationr…  /  sJ  € õ !ðñ
ô 
õ ðñ
ô 
õ ðñ	
ô 	
ð Ø/ð
ð 
ð Ð5Ð6ð=ð €Eð@ 	‡H‚HÐ6Ð6Ð6Ñ7Ô7Ð7å	Ô	¨&Ð	1Ñ	1Ô	1ð Hð HÝ˜  x°ÐG¸ÐGÐGÐGÐGðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð �(Š(Ð9Ð9Ð9Ñ
:Ô
:€CØ˜SÐ Ð Ð Ð Ð Ð s   Á!A>Á>BÂBc                  óP   — e Zd ZdZi ej        d         ¥d ed¦  «        i¥Zd„ ZdS )ÚTestCustomBuildPya$  
    Issue #3501 indicates that some plugins/customizations might rely on:

    1. ``build_py`` not running
    2. ``build_py`` always copying files to ``build_lib``

    During the transition period setuptools should prevent potential errors from
    happening due to those assumptions.
    rO  r3   af              import pathlib
            from setuptools import setup
            from setuptools.command.build_py import build_py as orig

            class my_build_py(orig):
                def run(self):
                    super().run()
                    raise ValueError("TEST_RAISE")

            setup(cmdclass={"build_py": my_build_py})
            c                óŒ   — t          d||| j        ¦  «        \  }}d|v sJ ‚d|v sJ ‚|                     g d¢¦  «        }d|v sJ ‚dS )z>Ensure that errors in custom build_py are reported as warningsr(   r   zValueError: TEST_RAISErz  ra   N)rX  ri  rH   )rr   rK   rL   rZ  rš   s        r%   Útest_safeguarded_from_errorsz.TestCustomBuildPy.test_safeguarded_from_errorsy  sh   € õ ! ¨$°¸$¼*ÑEÔE‰ˆˆ3Ø-°Ð4Ð4Ð4Ð4Ø'¨3Ð.Ð.Ð.Ð.à�hŠhÐSÐSÐSÑTÔTˆØ�sˆ{ˆ{ˆ{ˆ{ˆ{ˆ{r'   N)	r…   r†   r‡   r1  rJ  rY  r   ri  r‰  rŠ   r'   r%   r‡  r‡  Z  sd   € € € € € ðð ðØ
Ô
'¨Ô
6ðà�F�Fðñ
ô 
ðð €Eð$ð ð ð ð r'   r‡  c                  ó   — e Zd Zd„ Zd„ ZdS )ÚTestCustomBuildWheelc                ó`   — |                      d¦  «        } G d„ d|¦  «        }||j        d<   d S )NÚbdist_wheelc                  ó   ‡ — e Zd Zˆ fd„Zˆ xZS )úETestCustomBuildWheel.install_custom_build_wheel.<locals>.MyBdistWheelc                ó|   •— | j                              d¦  «        rd}t          ¦   «                              ¦   «         S )Nzmacosx-zmacOS platform)Ú	plat_namerž   ÚsuperÚget_tag)rr   rZ  Ú	__class__s     €r%   r“  zMTestCustomBuildWheel.install_custom_build_wheel.<locals>.MyBdistWheel.get_tag‰  s6   ø€ ð ”>×,Ò,¨YÑ7Ô7ð )Ø(�AÝ‘w”w—’Ñ(Ô(Ð(r'   )r…   r†   r‡   r“  Ú__classcell__)r”  s   @r%   ÚMyBdistWheelr�  ˆ  s8   ø€ € € € € ð)ð )ð )ð )ð )ð )ð )ð )ð )r'   r–  )Úget_command_classÚcmdclass)rr   rx   Úbdist_wheel_clsr–  s       r%   Úinstall_custom_build_wheelz/TestCustomBuildWheel.install_custom_build_wheel…  sS   € Ø×0Ò0°Ñ?Ô?ˆð	)ð 	)ð 	)ð 	)ð 	)˜?ñ 	)ô 	)ð 	)ð (4ˆŒ�mÑ$Ð$Ð$r'   c                ó´  — t           j                             ddi¦  «         t          ¦   «         }d|_        |                     ¦   «          |                      |¦  «         t          |¦  «        }|                     ¦   «          | 	                    ¦   «          t          t          t          ¦   «                              d¦  «        ¦  «        ¦  «        }d|v sJ ‚d S )Nú	module.pyrA   r3   ú
dist/*.whlÚeditable)rC   rD   rE   r   rö   Úset_defaultsrš  r   ro  rH   rF   r   r   rp   )rr   Ú
tmpdir_cwdrx   rN   Ú
wheel_files        r%   Útest_access_plat_namez*TestCustomBuildWheel.test_access_plat_name’  s¾   € õ 	Œ×Ò˜;¨Ð1Ñ2Ô2Ð2Ý‰~Œ~ˆØ%ˆÔØ×ÒÑÔÐØ×'Ò'¨Ñ-Ô-Ð-Ý˜TÑ"Ô"ˆØ×ÒÑÔÐØ�Š‰	Œ	ˆ	Ý��d™fœfŸkšk¨,Ñ7Ô7Ñ8Ô8Ñ9Ô9ˆ
Ø˜ZÐ'Ð'Ð'Ð'Ð'Ð'r'   N)r…   r†   r‡   rš  r¢  rŠ   r'   r%   r‹  r‹  „  s2   € € € € € ð4ð 4ð 4ð(ð (ð (ð (ð (r'   r‹  c                  óp   — e Zd Zd„ Zej                             ej        dk    d¬¦  «        d„ ¦   «         Z	dS )ÚTestCustomBuildExtc                óB   — ddl m}  G d„ d|¦  «        }||j        d<   d S )Nr   )Ú	build_extc                  ó   — e Zd ZdS )úITestCustomBuildExt.install_custom_build_ext_distutils.<locals>.MyBuildExtN)r…   r†   r‡   rŠ   r'   r%   Ú
MyBuildExtr¨  ¥  s   € € € € € ØˆDr'   r©  r¦  )Údistutils.command.build_extr¦  r˜  )rr   rx   Úbuild_ext_clsr©  s       r%   Ú"install_custom_build_ext_distutilsz5TestCustomBuildExt.install_custom_build_ext_distutils¢  sR   € ØJÐJÐJÐJÐJÐJð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ð &0ˆŒ�kÑ"Ð"Ð"r'   Úlinuxz(compilers may fail without correct setupr0   c                ó¾  ‡— t           j                             ddi¦  «         dt          ddg¦  «        gi}t	          |¦  «        }d|_        |                     ¦   «          |                      |¦  «         t          |¦  «        }| 	                    ¦   «          | 
                    ¦   «          t          t          t          ¦   «                              d¦  «        ¦  «        ¦  «        }d|v sJ ‚d„ t          ¦   «                              d	¦  «        D ¦   «         }t          |¦  «        d
k    sJ ‚|d         j        Št#          ˆfd„t$          D ¦   «         ¦  «        sJ ‚d S )Nzmodule.cr•   Úext_modulesÚmoduler3   r�  rž  c                ó(   — g | ]}|j         d k    ¯|‘ŒS )z.c)Úsuffix)r¡   Úps     r%   r¢   zITestCustomBuildExt.test_distutils_leave_inplace_files.<locals>.<listcomp>»  s$   € ÐHÐHÐH�q°q´xÀ4Ò7GÐ7G�Ð7GÐ7GÐ7Gr'   zmodule.*r   r   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S ©Nrú   )r¡   Úextrm   s     €r%   rþ   zHTestCustomBuildExt.test_distutils_leave_inplace_files.<locals>.<genexpr>¾  s/   øè è € ÐDÐD¨#�4—=’= Ñ%Ô%ÐDÐDÐDÐDÐDÐDr'   )rC   rD   rE   r   r   rö   rŸ  r¬  r   ro  rH   rF   r   r   rp   rq   rm   Úanyr   )rr   r   r  rx   rN   r¡  r2   rm   s          @r%   Ú"test_distutils_leave_inplace_filesz5TestCustomBuildExt.test_distutils_leave_inplace_filesª  sK  ø€ õ 	Œ×Ò˜: rÐ*Ñ+Ô+Ð+à�I h°°Ñ=Ô=Ð>ð
ˆõ ˜EÑ"Ô"ˆØ%ˆÔØ×ÒÑÔÐØ×/Ò/°Ñ5Ô5Ð5Ý˜TÑ"Ô"ˆØ×ÒÑÔÐØ�Š‰	Œ	ˆ	Ý��d™fœfŸkšk¨,Ñ7Ô7Ñ8Ô8Ñ9Ô9ˆ
Ø˜ZÐ'Ð'Ð'Ð'ØHÐH�D™FœFŸKšK¨
Ñ3Ô3ÐHÑHÔHˆÝ�5‰zŒz˜QŠˆˆˆØ�QŒxŒ}ˆÝÐDÐDÐDÐDÕ1CÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDr'   N)
r…   r†   r‡   r¬  rf   rˆ   ÚskipifrŸ   r´   r¸  rŠ   r'   r%   r¤  r¤  ¡  sj   € € € € € ð0ð 0ð 0ð „[×ÒØŒ˜ÒÐ(Rð ñ ô ðEð Eñô ðEð Eð Er'   r¤  c                óX  — t           j                             ddi¦  «         t          ¦   «         }d|_        |                     ¦   «          t          |¦  «        }|                     ¦   «          t          dt          fi ¦  «        }t           |¦   «         ¬¦  «        }|                     |d|¦  «         d}t          j        |¦  «        5  t          j        t          |¬¦  «        5  |                     ¦   «          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 )
z7Make sure to display useful debugging tips to the user.rœ  rA   r3   ÚSimulatedErr)Úside_effectrl   z-following steps are recommended to help debugr]   N)rC   rD   rE   r   rö   rŸ  r   ro  ÚtypeÚ	Exceptionr
   Úsetattrrf   r  rg   r   rH   )r   rs   rx   rN   r»  Úsimulated_failureÚexpected_msgs          r%   Útest_debugging_tipsrÂ  Á  s’  € å
„K×Ò�{ HÐ-Ñ.Ô.Ð.Ý‰>Œ>€DØ!€DÔØ×ÒÑÔÐÝ
˜Ñ
Ô
€CØ×ÒÑÔÐå˜­¨°bÑ9Ô9€LÝ¨¨©¬Ð8Ñ8Ô8ÐØ×Ò˜Ð4Ð6GÑHÔHÐHàB€LÝ	Œ�|Ñ	$Ô	$ð ð ¥f¤lµ>ÈÐ&VÑ&VÔ&Vð ð Ø�Š‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s6   Ã
DÃ&DÃ;DÄD	ÄDÄD	ÄDÄD#Ä&D#Úerrorc                 óR   — t          d¦  «        } t          | t          ¦  «        sJ ‚dS )z>Ensure _encode_pth function does not produce encoding warningsu   tkmilan_Ã§_utf8N)r   Ú
isinstanceÚbytes)Úcontents    r%   Útest_encode_pthrÈ  Ó  s.   € õ Ð+Ñ,Ô,€GÝ�g�uÑ%Ô%Ð%Ð%Ð%Ð%Ð%r'   c                óø   — || z  }|                      ¦   «          t          j                             ||¬¦  «         g |¢d‘}|                     ddddddt          |¦  «        g|¢t          j        ¬	¦  «        }||fS )
Nr5   r;   r7   r8   r9   r—   r:   r<   )Ústderr)rB   rC   rD   rE   rH   rF   r²   ÚSTDOUT)rm   rL   rK   r2   rƒ   rM   rš   s          r%   rX  rX  Ú  sŠ   € Ø˜‰o€GØ‡M‚M�O„O€OÝ
„K×Ò�e GÐÑ,Ô,Ð,Ø*ˆTÐ*Ð)Ð*€DØ
�(Š(Ø	�4˜  i°µs¸7±|´|ÐKÀdÐKÝÔ ð ñ ô €Cð �Cˆ<Ðr'   c                ó¤   — d                      dt          d„ | D ¦   «         ¦  «        z   ¦  «        }| d         dz                       |d¬¦  «         dS )	a5  To use this function, it is necessary to insert new_dir in front of sys.path.
    The Python process will try to import a ``sitecustomize`` module on startup.
    If we manipulate sys.path/PYTHONPATH, we can force it to run our code,
    which invokes ``addsitedir`` and ensure ``.pth`` files are loaded.
    Ú
)zimport sitec              3  óF   K  — | ]}d t          j        |¦  «        ›d�V — ŒdS )zsite.addsitedir(ú)N)r¬   Úfspath)r¡   Únew_dirs     r%   rþ   z_addsitedirs.<locals>.<genexpr>î  s8   è è € ÐSÐS¸wÐ:¥2¤9¨WÑ#5Ô#5Ð:Ð:Ð:ÐSÐSÐSÐSÐSÐSr'   r   zsitecustomize.pyr>   r?   N)r¯   ÚtuplerJ   )Únew_dirsrÇ  s     r%   rª   rª   æ  se   € ð �iŠiØÝ
ÐSÐSÈ(ÐSÑSÔSÑ
SÔ
Sñ	Tñô €Gð ˆa„[Ð%Ñ%×1Ò1°'ÀGÐ1ÑLÔLÐLÐLÐLr'   c                óÌ   — | j         rXt          t          | j         ¦  «        d ¦  «        }|r6t          t	          |¦  «                             ¦   «         ¦  «        |k    sJ ‚d S d S d S rµ  )Ú__path__r   ÚiterrF   r   rÕ   )rR   rÛ   rD   s      r%   rÖ   rÖ   ö  sr   € à
„|ð 9Ý•D˜œÑ&Ô&¨Ñ-Ô-ˆØð 	9Ý•t˜D‘z”z×)Ò)Ñ+Ô+Ñ,Ô,°Ò8Ð8Ð8Ð8ð9ð 9ð	9ð 	9Ø8Ð8r'   Úfiler   r8  ÚreturnÚNonec                ó®  — |                       ¦   «         rHt          |                      ¦   «         ¦  «        t          |                     ¦   «         ¦  «        k    sJ ‚d S |                      ¦   «         }|                     ¦   «         }|t          j                 |t          j                 k    sJ ‚|t          j                 |t          j                 k    sJ ‚d S rµ  )Ú
is_symlinkrF   rÕ   ÚstatÚST_INOÚST_DEV)r×  r8  Ú	file_statÚ
other_stats       r%   rr  rr  þ  sª   € Ø‡‚ÑÔð AÝ�4—<’<‘>”>Ñ"Ô"¥c¨%¯-ª-©/¬/Ñ&:Ô&:Ò:Ð:Ð:Ð:Ð:Ð:à—I’I‘K”Kˆ	Ø—Z’Z‘\”\ˆ
Ø�œÔ%¨µD´KÔ)@Ò@Ð@Ð@Ð@Ø�œÔ%¨µD´KÔ)@Ò@Ð@Ð@Ð@Ð@Ð@r'   Ústr_with_pathrF   c                óŽ   — |                       ¦   «                              t          j        d¦  «                             dd¦  «        S )Nú/z//)ÚlowerÚreplacer¬   Úsep)rá  s    r%   r~  r~    s6   € Ø×ÒÑ Ô ×(Ò(­¬°Ñ5Ô5×=Ò=¸dÀCÑHÔHÐHr'   )r×  r   r8  r   rØ  rÙ  )rá  rF   rØ  rF   )TÚ
__future__r   r¬   r´   rÜ  r²   rŸ   Úcopyr   Ú	importlibr   Úimportlib.machineryr   Úpathlibr   Útextwrapr   Útypingr	   Úunittest.mockr
   Úuuidr   Újaraco.envsrC   Újaraco.pathrf   rD   rj  Úsetuptools._importlibr   rä   Ú!setuptools.command.editable_wheelr   r   r   r   r   r   r   r   r   Úsetuptools.distr   Úsetuptools.extensionr   Úsetuptools.warningsr   r•   r   r   Údistutils.corer   Úfixturer&   rI   r™   ÚSETUP_SCRIPT_STUBrˆ   rb  r‰   rO   rV   rY   r[   rŒ   rº   r¼   rH  rJ  re  Úfilterwarningsr€  r…  r‡  r‹  r¤  rÂ  rÈ  rX  rª   rÖ   rr  r~  rŠ   r'   r%   ú<module>rû     sÄ  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à BÐ BÐ BÐ BÐ BÐ Bð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð )Ð (Ð (Ð (Ð (Ð (Ø *Ð *Ð *Ð *Ð *Ð *Ø <Ð <Ð <Ð <Ð <Ð <à "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à $Ð $Ð $Ð $Ð $Ð $ð €„˜ )Ð,Ð-Ñ-Ô-ðð ñ .Ô-ðð �fð	ñô ð< �6ð	ñô ÷ ‚e�g„gØ(Ø6àØ!˜6ðñ
ô 
ð "˜6ðñ	ô 	ð Ø%ð/
ð 
ððSDð D€ðN 7Ð ð „×Ò�3”< 8Ò+Ð4JÐÑKÔKØ„×ÒØà2ˆ7Ð2�JÐ 1Ð2Ð2Øðñô ð>ð >ñô ñ LÔKð>ð2%*ð %*ð %*ðP#(ð #(ð #(ðL?;ð ?;ð ?;ð ?;ð ?;ñ ?;ô ?;ð ?;ðDb0ð b0ð b0ð b0ð b0ñ b0ô b0ð b0ðJ%*ð %*ð %*ðPU=ð U=ð U=ð U=ð U=ñ U=ô U=ð U=ðp
.Qð .Qð .Qðbu%ð u%ð u%ð u%ð u%ñ u%ô u%ð u%ðpP1ð P1ð P1ð P1ð P1ñ P1ô P1ð P1ðf „×ÒÐWÑXÔXð4ð 4ñ YÔXð4ð@(!ð (!ð (!ðV'ð 'ð 'ð 'ð 'ñ 'ô 'ð 'ðT(ð (ð (ð (ð (ñ (ô (ð (ð:Eð Eð Eð Eð Eñ Eô Eð Eð@ð ð ð$ „×Ò˜GÑ$Ô$ð&ð &ñ %Ô$ð&ð	ð 	ð 	ð
Mð 
Mð 
Mð 9ð 9ð 9ðAð Að Að AðIð Ið Ið Ið Ið Ir'   