§
    WŠtjÿW  ã                   ó†  — d dl Z d dlZd dlmZ d dlmZ d dlZd dlZd dl	m
Z
 d dlZd dlmZ d dlmZmZ d dlmZ d dlmZ d	d
lmZ d	dlmZmZmZ d	dlmZ d dlZ G d„ d¦  «        Z G d„ d¦  «        Z  G d„ d¦  «        Z! G d„ d¦  «        Z" G d„ d¦  «        Z# G d„ d¦  «        Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d „ Z,dS )!é    N)ÚConfigParser)Úcast)ÚPath)Úsdist)Úfind_package_pathÚfind_parent_package)ÚDistribution)ÚPackageDiscoveryErroré   )Úquiet)Úget_sdist_membersÚget_wheel_membersÚrun)ÚDALSc                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestFindParentPackagec                 óÐ   — |dz                        dd¬¦  «         |dz                       ¦   «          |dz                       ¦   «          g d¢}t          |ddi|¦  «        d	k    sJ ‚d S )
Nzsrc/namespace/pkg/nestedT©Úexist_okÚparentsz$src/namespace/pkg/nested/__init__.pyzsrc/namespace/pkg/__init__.py)Ú	namespaceúnamespace.pkgznamespace.pkg.nestedÚ Úsrcr   ©ÚmkdirÚtouchr   )ÚselfÚtmp_pathÚpackagess      úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/tests/test_config_discovery.pyÚtest_single_packagez)TestFindParentPackage.test_single_package   sƒ   € à	Ð.Ñ	.×5Ò5¸tÈTÐ5ÑRÔRÐRØ	Ð:Ñ	:×AÒAÑCÔCÐCØ	Ð3Ñ	3×:Ò:Ñ<Ô<Ð<ØIÐIÐIˆÝ" 8¨b°%¨[¸(ÑCÔCÀÒVÐVÐVÐVÐVÐVó    c                 ó²   — g d¢}|D ]:}|d|› �z                        dd¬¦  «         |d|› d�z                       ¦   «          Œ;t          |ddi|¦  «        �J ‚d S )N)ÚpkgÚpkg1Úpkg2úsrc/Tr   z/__init__.pyr   r   r   )r   r   ÚmultipleÚnames       r!   Útest_multiple_toplevelz,TestFindParentPackage.test_multiple_toplevel    sŠ   € ð +Ð*Ð*ˆØð 	;ð 	;ˆDØ˜˜t˜˜Ñ%×,Ò,°dÀDÐ,ÑIÔIÐIØÐ1˜tÐ1Ð1Ð1Ñ1×8Ò8Ñ:Ô:Ð:Ð:Ý" 8¨b°%¨[¸(ÑCÔCÐKÐKÐKÐKÐKr#   N)Ú__name__Ú
__module__Ú__qualname__r"   r+   © r#   r!   r   r      s:   € € € € € ðWð Wð WðLð Lð Lð Lð Lr#   r   c                   ó–  — e Zd ZdZddidgdœdddiiddgid	dgidd
dgii i i i dœ	ZddgddgddgdgdgdœZd„ Zej         	                    de 
                    ¦   «         ¦  «        d„ ¦   «         Zej         	                    de 
                    ¦   «         ¦  «        d„ ¦   «         Z ed¦  «         ed¦  «         ed¦  «         ed¦  «        dœZej         	                    dg d ¢¦  «        ej         	                    d!dd	g¦  «        ej         	                    de 
                    ¦   «         ¦  «        d"„ ¦   «         ¦   «         ¦   «         Zej         	                    d#d$gdhfd%gdd&hfd'gdd(hfd)gh d*£fd+gdd,hfd-gdhfd.gdhfg¦  «        d/„ ¦   «         Zej         	                    d0d1gd2gg¦  «        d3„ ¦   «         Zd4„ Zd5„ Zd6„ Zd7S )8Ú TestDiscoverPackagesAndPyModulesz‹Make sure discovered values for ``packages`` and ``py_modules`` work
    similarly to explicit configuration for the simple scenarios.
    r   r   r%   )Úpackage_dirr    r2   Úlibr    Ú
py_modulesÚnszns.pkg)	zexplicit-srczvariation-libzexplicit-flatzexplicit-single_modulezexplicit-namespacezautomatic-srczautomatic-flatzautomatic-single_modulezautomatic-namespaceúsrc/pkg/__init__.pyzsrc/pkg/main.pyzlib/pkg/__init__.pyzlib/pkg/main.pyzpkg/__init__.pyzpkg/main.pyúpkg.pyzns/pkg/__init__.py)r   r3   ÚflatÚsingle_moduler   c                 óp   — |                      d¦  «        \  }}}| j        |         }| j        |         }||fS )Nú-)Ú	partitionÚFILESÚOPTIONS)r   ÚcircumstanceÚ_ÚlayoutÚfilesÚoptionss         r!   Ú	_get_infoz*TestDiscoverPackagesAndPyModules._get_infoE   s=   € Ø#×-Ò-¨cÑ2Ô2‰ˆˆ1ˆfØ”
˜6Ô"ˆØ”,˜|Ô,ˆØ�gˆ~Ðr#   r?   c                 óð   ‡— |                       |¦  «        \  }}t          |||¦  «         t          ||¦  «        \  }}d„ |j        j        D ¦   «         }|D ]Št          ˆfd„|D ¦   «         ¦  «        sJ ‚Œ d S )Nc                 óN   — g | ]"}|                      t          j        d ¦  «        ‘Œ#S )ú/)ÚreplaceÚosÚsep©Ú.0Úfs     r!   ú
<listcomp>zHTestDiscoverPackagesAndPyModules.test_sdist_filelist.<locals>.<listcomp>R   s(   € ÐGÐGÐG¨q�A—I’I�bœf cÑ*Ô*ÐGÐGÐGr#   c              3   óB   •K  — | ]}|                      ‰¦  «        V — Œd S ©N)Úendswith)rL   rM   Úfiles     €r!   ú	<genexpr>zGTestDiscoverPackagesAndPyModules.test_sdist_filelist.<locals>.<genexpr>T   s/   øè è € Ð:Ð:¨A�q—z’z $Ñ'Ô'Ð:Ð:Ð:Ð:Ð:Ð:r#   )rD   Ú_populate_project_dirÚ_run_sdist_programaticallyÚfilelistrB   Úany)	r   r   r?   rB   rC   r@   ÚcmdÚmanifestrR   s	           @r!   Útest_sdist_filelistz4TestDiscoverPackagesAndPyModules.test_sdist_filelistK   sš   ø€ àŸš¨Ñ5Ô5‰ˆˆwÝ˜h¨¨wÑ7Ô7Ð7å+¨H°gÑ>Ô>‰ˆˆ3àGÐG°C´LÔ4FÐGÑGÔGˆØð 	;ð 	;ˆDÝÐ:Ð:Ð:Ð:°Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:ð	;ð 	;r#   c                 óÚ  — |                       |¦  «        \  }}t          |||¦  «         |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          t	          |¦  «         t          t          |                     d	¦  «        ¦  «        ¦  «        }t          d
¦  «         t          d 	                    |¦  «        ¦  «         |t          |¦  «        k    sJ ‚t          t          |                     d¦  «        ¦  «        ¦  «        }t          d¦  «         t          d 	                    |¦  «        ¦  «         d„ |D ¦   «         }||k    sJ ‚|D ]}d|vsJ ‚d|vsJ ‚Œd S )NÚbuildz	build/libzbuild/bdist.linux-x86_64z build/bdist.linux-x86_64/file.pyzbuild/lib/__init__.pyzbuild/lib/file.pyÚdistzdist/file.pyúdist/*.tar.gzú~~~~~ sdist_members ~~~~~ú
ú
dist/*.whlú~~~~~ wheel_members ~~~~~c                 ób   — h | ],}|                      d d¦  «                              dd¦  «        ’Œ-S ©r(   r   zlib/©rH   rK   s     r!   ú	<setcomp>z@TestDiscoverPackagesAndPyModules.test_project.<locals>.<setcomp>o   s6   € ÐOÐOÐOÀA�a—i’i ¨Ñ+Ô+×3Ò3°F¸BÑ?Ô?ÐOÐOÐOr#   )rD   rT   r   r   Ú
_run_buildr   ÚnextÚglobÚprintÚjoinÚsetr   )	r   r   r?   rB   rC   Úsdist_filesÚwheel_filesÚ
orig_filesrR   s	            r!   Útest_projectz-TestDiscoverPackagesAndPyModules.test_projectV   s  € àŸš¨Ñ5Ô5‰ˆˆwÝ˜h¨¨wÑ7Ô7Ð7ð 
�GÑ	×"Ò"Ñ$Ô$Ð$Ø	�KÑ	×&Ò&Ñ(Ô(Ð(Ø	Ð.Ñ	.×5Ò5Ñ7Ô7Ð7Ø	Ð6Ñ	6×=Ò=Ñ?Ô?Ð?Ø	Ð+Ñ	+×2Ò2Ñ4Ô4Ð4Ø	Ð'Ñ	'×.Ò.Ñ0Ô0Ð0Ø	�FÑ	×!Ò!Ñ#Ô#Ð#Ø	�NÑ	"×)Ò)Ñ+Ô+Ð+å�8ÑÔÐå'­¨X¯]ª]¸?Ñ-KÔ-KÑ(LÔ(LÑMÔMˆÝÐ)Ñ*Ô*Ð*Ýˆd�iŠi˜Ñ$Ô$Ñ%Ô%Ð%Ø�c %™jœjÒ(Ð(Ð(Ð(å'­¨X¯]ª]¸<Ñ-HÔ-HÑ(IÔ(IÑJÔJˆÝÐ)Ñ*Ô*Ð*Ýˆd�iŠi˜Ñ$Ô$Ñ%Ô%Ð%ØOÐOÈÐOÑOÔOˆ
Ø˜jÒ(Ð(Ð(Ð(ð  ð 	'ð 	'ˆDØ %Ð'Ð'Ð'Ð'Ø Ð&Ð&Ð&Ð&Ð&ð	'ð 	'r#   z‡
            [metadata]
            name = myproj
            version = 0.0.0

            [options]
            {param} =
            z¢
            __import__('setuptools').setup(
                name="myproj",
                version="0.0.0",
                {param}=[]
            )
            zÿ
            [build-system]
            requires = []
            build-backend = 'setuptools.build_meta'

            [project]
            name = "myproj"
            version = "0.0.0"

            [tool.setuptools]
            {param} = []
            zv
            [build-system]
            requires = []
            build-backend = 'setuptools.build_meta'
            )ú	setup.cfgúsetup.pyúpyproject.tomlútemplate-pyproject.tomlÚconfig_file)rq   rr   rs   Úparamc                 óÔ  — | j         |         g d¢z   }t          ||i ¦  «         |dk    r|                     dd¦  «        }n)| j        d         }|dz                       |d¬¦  «         |}| j        |                              |¬¦  «        }||z                       |d¬¦  «         t          |i ¦  «        }	t          |	|¦  «        g k    sJ ‚d	d
dœ|         }
t          |	|
¦  «        �J ‚d S )N)zmod.pyzother.pyr6   rs   r@   r;   rt   úutf-8©Úencoding)rv   r    r4   )r4   r    )r=   rT   rH   ÚPURPOSEFULLY_EMPYÚ
write_textÚformatÚ	_get_distÚgetattr)r   r   ru   rv   r?   rB   Útemplate_paramÚ	pyprojectÚconfigr]   Úothers              r!   Útest_purposefully_emptyz8TestDiscoverPackagesAndPyModules.test_purposefully_empty¢   s  € ð ”
˜<Ô(Ð+XÐ+XÐ+XÑXˆÝ˜h¨¨rÑ2Ô2Ð2àÐ*Ò*Ð*Ø"Ÿ]š]¨3°Ñ4Ô4ˆNˆNð Ô.Ð/HÔIˆIØÐ(Ñ(×4Ò4°YÈÐ4ÑQÔQÐQØ"ˆNàÔ'¨Ô4×;Ò;À.Ð;ÑQÔQˆØ	�KÑ	×+Ò+¨F¸WÐ+ÑEÔEÐEå˜ 2Ñ&Ô&ˆõ �t˜UÑ#Ô# rÒ)Ð)Ð)Ð)Ø)°|ÐDÐDÀUÔKˆÝ�t˜UÑ#Ô#Ð+Ð+Ð+Ð+Ð+r#   )Úextra_filesÚpkgszvenv/bin/simulate_venvzpkg-stubs/__init__.pyiz	pkg-stubszother-stubs/__init__.pyizother-stubsz namespace-stubs/pkg/__init__.pyi>   únamespace-stubs.pkgr%   únamespace-stubsz&namespace-stubs/pkg-stubs/__init__.pyirˆ   z_hidden/file.pyznews/finalize.pyc                 óœ   — | j         d         |z   }t          ||i ¦  «         t          |i ¦  «        }t          |j        ¦  «        |k    sJ ‚d S )Nr8   )r=   rT   r~   rl   r    )r   r   r…   r†   rB   r]   s         r!   Ú!test_flat_layout_with_extra_fileszBTestDiscoverPackagesAndPyModules.test_flat_layout_with_extra_files»   sW   € ð* ”
˜6Ô" [Ñ0ˆÝ˜h¨¨rÑ2Ô2Ð2Ý˜ 2Ñ&Ô&ˆÝ�4”=Ñ!Ô! TÒ)Ð)Ð)Ð)Ð)Ð)r#   r…   zother/__init__.pyzother/finalize.pyc                 óÐ   — | j         d         |z   }t          ||i ¦  «         t          j        t          d¬¦  «        5  t          |i ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr8   úmultiple (packages|modules)©Úmatch©r=   rT   ÚpytestÚraisesr
   r~   )r   r   r…   rB   s       r!   Ú+test_flat_layout_with_dangerous_extra_fileszLTestDiscoverPackagesAndPyModules.test_flat_layout_with_dangerous_extra_filesÕ   s²   € ð ”
˜6Ô" [Ñ0ˆÝ˜h¨¨rÑ2Ô2Ð2ÝŒ]Õ0Ð8UÐVÑVÔVð 	$ð 	$Ý�h Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   ½AÁAÁ"Ac                 ó    — | j         d         dgz   }t          ||i ¦  «         t          |i ¦  «        }t          |j        ¦  «        dhk    sJ ‚d S )Nr9   zinvalid-module-name.pyr%   )r=   rT   r~   rl   r4   )r   r   rB   r]   s       r!   Ú#test_flat_layout_with_single_modulezDTestDiscoverPackagesAndPyModules.test_flat_layout_with_single_moduleâ   s[   € Ø”
˜?Ô+Ð/GÐ.HÑHˆÝ˜h¨¨rÑ2Ô2Ð2Ý˜ 2Ñ&Ô&ˆÝ�4”?Ñ#Ô#¨ wÒ.Ð.Ð.Ð.Ð.Ð.r#   c                 óÒ   — | j         d         dgz   }t          ||i ¦  «         t          j        t          d¬¦  «        5  t          |i ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr9   zvalid_module_name.pyrŒ   r�   r�   )r   r   rB   s      r!   Ú&test_flat_layout_with_multiple_moduleszGTestDiscoverPackagesAndPyModules.test_flat_layout_with_multiple_modulesè   s´   € Ø”
˜?Ô+Ð/EÐ.FÑFˆÝ˜h¨¨rÑ2Ô2Ð2ÝŒ]Õ0Ð8UÐVÑVÔVð 	$ð 	$Ý�h Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   ¾AÁA Á#A c                 ó¸  — ddl m} d}|dz                       t          |¦  «        d¬¦  «         |dz                       ¦   «          t
          j                             ¦   «                              |¦  «        5  | 	                    d¦  «         d	d	d	¦  «         n# 1 swxY w Y   t          t          |                     d
¦  «        ¦  «        ¦  «        }d|v sJ ‚d	S )zRegression for issue 3692r   )Ú
build_metaz%[project]
name = "test"
version = "1"rs   rx   ry   zfoo.pyú.Nz*.whl)Ú
setuptoolsr˜   r|   r   r   ÚjaracoÚpathÚDirectoryStackÚcontextÚbuild_wheelr   rh   ri   )r   r   r˜   r�   rn   s        r!   Ú%test_py_modules_when_wheel_dir_is_cwdzFTestDiscoverPackagesAndPyModules.test_py_modules_when_wheel_dir_is_cwdî   s  € à)Ð)Ð)Ð)Ð)Ð)à=ˆ	Ø	Ð$Ñ	$×0Ò0µ°i±´È7Ð0ÑSÔSÐSØ	�HÑ	×#Ò#Ñ%Ô%Ð%ÝŒ[×'Ò'Ñ)Ô)×1Ò1°(Ñ;Ô;ð 	(ð 	(Ø×"Ò" 3Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(õ (­¨X¯]ª]¸7Ñ-CÔ-CÑ(DÔ(DÑEÔEˆØ˜;Ð&Ð&Ð&Ð&Ð&Ð&s   Á8BÂBÂ!BN)r,   r-   r.   Ú__doc__r>   r=   rD   r�   ÚmarkÚparametrizeÚkeysrZ   rp   r   r{   r„   rŠ   r’   r”   r–   r    r/   r#   r!   r1   r1   *   s,  € € € € € ðð ð *,¨U¨À%ÀÐIÐIà˜B ˜;ð
ð % u gÐ.Ø#/°%°Ð"9Ø)¨D°(Ð+;Ð<ØØØ#%Ø!ðð €Gð &Ð'8Ð9Ø%Ð'8Ð9Ø" MÐ2Ø"˜Ø*Ð+ðð €Eðð ð ð „[×Ò˜^¨W¯\ª\©^¬^Ñ<Ô<ð;ð ;ñ =Ô<ð;ð „[×Ò˜^¨W¯\ª\©^¬^Ñ<Ô<ð'ð 'ñ =Ô<ð'ðB �Tðñ	
ô 	
ð �Dðñ
ô 
ð ˜$ðñ
ô 
ð $( 4ðñ$
ô $
ðE)ð )ÐðV „[×Ò˜]Ð,WÐ,WÐ,WÑXÔXØ„[×Ò˜W z°<Ð&@ÑAÔAØ„[×Ò˜^¨U¯ZªZ©\¬\Ñ:Ô:ð,ð ,ñ ;Ô:ñ BÔAñ YÔXð,ð, „[×ÒØà&Ð'¨%¨Ð1Ø&Ð'¨%°Ð)=Ð>Ø(Ð)¨E°=Ð+AÐBð 4Ð4ØAÐAÐAðð :Ð:ØÐ)Ð*ðð
  Ð  5 'Ð*Ø Ð! E 7Ð+ð	
ñô ð(*ð *ñ)ô ð(*ð „[×ÒØà Ð!Ø Ð!ð	
ñô ð$ð $ñô ð$ð/ð /ð /ð$ð $ð $ð'ð 'ð 'ð 'ð 'r#   r1   c                   ó¦   — e Zd ZdZdgdgddgddgdgd	gd
œZej                             de                     ¦   «         ¦  «        d„ ¦   «         Z	d„ Z
dS )ÚTestNoConfigz0.0.0zsrc/pkg1.pyzsrc/pkg2/__init__.pyzsrc/pkg3/__init__.pyzsrc/pkg3-stubs/__init__.pyzpkg4/__init__.pyzpkg4-stubs/__init__.pyzsrc/ns/nested/pkg1/__init__.pyzns/nested/pkg2/__init__.py)r&   r'   Úpkg3Úpkg4zns.nested.pkg1zns.nested.pkg2Úexamplec                 ó’   — t          || j        |         i ¦  «         t          |i ¦  «        }|                     ¦   «         |k    sJ ‚d S rP   )rT   ÚEXAMPLESr~   Úget_name)r   r   r©   r]   s       r!   Útest_discover_namezTestNoConfig.test_discover_name  sI   € å˜h¨¬°gÔ(>ÀÑCÔCÐCÝ˜ 2Ñ&Ô&ˆØ�}Š}‰Œ 'Ò)Ð)Ð)Ð)Ð)Ð)r#   c                 ó–   — dg}t          ||i ¦  «         t          |d¦  «         |d| j        › d�z  }|                     ¦   «         sJ ‚d S )Nzsrc/ns/nested/pkg/__init__.pyú--sdistzdist/ns_nested_pkg-z.tar.gz)rT   rg   ÚDEFAULT_VERSIONÚis_file)r   r   rB   Ú	dist_files       r!   Útest_build_with_discovered_namez,TestNoConfig.test_build_with_discovered_name  sc   € Ø0Ð1ˆÝ˜h¨¨rÑ2Ô2Ð2Ý�8˜YÑ'Ô'Ð'àÐR°TÔ5IÐRÐRÐRÑRˆ	Ø× Ò Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r#   N)r,   r-   r.   r°   r«   r�   r¢   r£   r¤   r­   r³   r/   r#   r!   r¦   r¦   ü   s•   € € € € € Ø€Oð �Ø'Ð(Ø'Ð)EÐFØ#Ð%=Ð>Ø;Ð<Ø7Ð8ðð €Hð „[×Ò˜Y¨¯ª©¬Ñ8Ô8ð*ð *ñ 9Ô8ð*ð
#ð #ð #ð #ð #r#   r¦   c                   ór   — e Zd Zej                             ddi fddddidœfg¦  «        d„ ¦   «         Zd„ Zd	S )
ÚTestWithAttrDirective)ÚfolderÚoptsr   r3   zfind:Úwhere)r    úpackages.findc                 ól  — |› d�dg}t          |||¦  «         |dz                       d¬¦  «        }|dddiidd|z   i}t          j                             ||¬	¦  «         t          |i ¦  «        }|                     ¦   «         dk    sJ ‚|                     ¦   «         d
k    sJ ‚|j        sJ ‚t          d|j        |¦  «        }t          j                             |¦  «        sJ ‚|t          |¦  «                             ¦   «         v sJ ‚t          |d¦  «         |dz  }	|	                     ¦   «         sJ ‚d S )Nz/pkg/__init__.pyrq   rx   ry   r%   ú__init__.pyúversion = 42z'[metadata]
version = attr: pkg.version
©ÚprefixÚ42r¯   zdist/pkg-42.tar.gz)rT   Ú	read_textr›   rœ   r\   r~   r¬   Úget_versionr2   r   rI   Úexistsr   Úpartsrg   r±   )
r   r   r¶   r·   rB   r‚   Ú	overwriter]   Úpackage_pathr²   s
             r!   Útest_setupcfg_metadataz,TestWithAttrDirective.test_setupcfg_metadata  sb  € ð Ð,Ð,Ð,¨kÐ:ˆÝ˜h¨¨tÑ4Ô4Ð4à˜[Ñ(×3Ò3¸WÐ3ÑEÔEˆà�U˜]¨NÐ;Ð<ØÐDÀvÑMð
ˆ	õ 	Œ×Ò˜)¨HÐÑ5Ô5Ð5å˜ 2Ñ&Ô&ˆØ�}Š}‰Œ %Ò'Ð'Ð'Ð'Ø×ÒÑ!Ô! TÒ)Ð)Ð)Ð)ØÔÐÐÐÝ(¨°Ô0@À(ÑKÔKˆÝŒw�~Š~˜lÑ+Ô+Ð+Ð+Ð+Ø�˜lÑ+Ô+×1Ò1Ñ3Ô3Ð3Ð3Ð3Ð3å�8˜YÑ'Ô'Ð'ØÐ3Ñ3ˆ	Ø× Ò Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r#   c                 óð   — t          |dgi ¦  «         dddiiddœ}t          j                             ||¬¦  «         t	          |i ¦  «        }|                     ¦   «         dk    sJ ‚|j        d	d
ik    sJ ‚d S )Nr6   r%   r»   r¼   zh[project]
name = 'pkg'
dynamic = ['version']
[tool.setuptools.dynamic]
version = {attr = 'pkg.version'}
©r   rs   r½   r¿   r   r   )rT   r›   rœ   r\   r~   rÁ   r2   )r   r   rÄ   r]   s       r!   Útest_pyproject_metadataz-TestWithAttrDirective.test_pyproject_metadata6  s    € Ý˜hÐ)>Ð(?ÀÑDÔDÐDð ˜M¨>Ð:Ð;ðPð
ð 
ˆ	õ 	Œ×Ò˜)¨HÐÑ5Ô5Ð5å˜ 2Ñ&Ô&ˆØ×ÒÑ!Ô! TÒ)Ð)Ð)Ð)ØÔ B¨ ;Ò.Ð.Ð.Ð.Ð.Ð.r#   N)r,   r-   r.   r�   r¢   r£   rÆ   rÉ   r/   r#   r!   rµ   rµ     su   € € € € € Ø„[×ÒØà�BˆKØ ¸GÀUÐ;KÐLÐLÐMð	
ñô ð#ð #ñô ð#ð./ð /ð /ð /ð /r#   rµ   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestWithCExtensionc                 ó‚   — g d¢}t          ||i ¦  «         d}|dz                       t          |¦  «        d¬¦  «         d S )N)zbenchmarks/file.pyzdocs/Makefilezdocs/requirements.txtzdocs/source/conf.pyzproj/header.hzproj/file.pyzpy/proj.cppzpy/other.cppz
py/file.pyzpy/py.typedzpy/tests/test_proj.pyz
README.rsta^  
            from setuptools import Extension, setup

            ext_modules = [
                Extension(
                    "proj",
                    ["py/proj.cpp", "py/other.cpp"],
                    include_dirs=["."],
                    language="c++",
                ),
            ]
            setup(ext_modules=ext_modules)
        rr   rx   ry   ©rT   r|   r   )r   r   rB   Úsetup_scripts       r!   Ú _simulate_package_with_extensionz3TestWithCExtension._simulate_package_with_extensionH  s\   € ð
ð 
ð 
ˆõ 	˜h¨¨rÑ2Ô2Ð2ðˆð 
�JÑ	×*Ò*­4°Ñ+=Ô+=ÈÐ*ÑPÔPÐPÐPÐPr#   c                 óä  — |                       |¦  «         d}|dz                       t          |¦  «        d¬¦  «         d}|dz                       t          |¦  «        d¬¦  «         t          |i ¦  «        }|                     ¦   «         dk    sJ ‚|                     ¦   «         dk    sJ ‚|j        �J ‚|j        �J ‚t          |j	        ¦  «        d
k    sJ ‚|j	        d         j
        dk    sJ ‚d	S )zˆEnsure that auto-discovery is not triggered when the project is based on
        C-extensions only, for backward compatibility.
        zr
            [build-system]
            requires = []
            build-backend = 'setuptools.build_meta'
        rs   rx   ry   zQ
            [metadata]
            name = proj
            version = 42
        rq   Úprojr¿   Nr   r   )rÏ   r|   r   r~   r¬   rÁ   r4   r    ÚlenÚext_modulesr*   )r   r   r�   Úsetupcfgr]   s        r!   Ú*test_skip_discovery_with_setupcfg_metadataz=TestWithCExtension.test_skip_discovery_with_setupcfg_metadatai  s  € ð 	×-Ò-¨hÑ7Ô7Ð7ðˆ	ð
 
Ð$Ñ	$×0Ò0µ°i±´È7Ð0ÑSÔSÐSðˆð
 
�KÑ	×+Ò+­D°©N¬NÀWÐ+ÑMÔMÐMå˜ 2Ñ&Ô&ˆØ�}Š}‰Œ &Ò(Ð(Ð(Ð(Ø×ÒÑ!Ô! TÒ)Ð)Ð)Ð)ØŒÐ&Ð&Ð&ØŒ}Ð$Ð$Ð$Ý�4Ô#Ñ$Ô$¨Ò)Ð)Ð)Ð)ØÔ Ô"Ô'¨6Ò1Ð1Ð1Ð1Ð1Ð1r#   c                 ó
  — |                       |¦  «         d}|dz                       t          |¦  «        d¬¦  «         t          j        t
          d¬¦  «        5  t          |i ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )aŽ  When opting-in to pyproject.toml metadata, auto-discovery will be active if
        the package lists C-extensions, but does not configure py-modules or packages.

        This way we ensure users with complex package layouts that would lead to the
        discovery of multiple top-level modules/packages see errors and are forced to
        explicitly set ``packages`` or ``py-modules``.
        zT
            [project]
            name = 'proj'
            version = '42'
        rs   rx   ry   rŒ   r�   N)rÏ   r|   r   r�   r‘   r
   r~   )r   r   r�   s      r!   Ú0test_dont_skip_discovery_with_pyproject_metadatazCTestWithCExtension.test_dont_skip_discovery_with_pyproject_metadata…  sÑ   € ð 	×-Ò-¨hÑ7Ô7Ð7ðˆ	ð
 
Ð$Ñ	$×0Ò0µ°i±´È7Ð0ÑSÔSÐSÝŒ]Õ0Ð8UÐVÑVÔVð 	$ð 	$Ý�h Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   ÁA8Á8A<Á?A<N)r,   r-   r.   rÏ   rÕ   r×   r/   r#   r!   rË   rË   G  sE   € € € € € ðQð Qð QðB2ð 2ð 2ð8$ð $ð $ð $ð $r#   rË   c                   ó@  — e Zd Zd„ ZdZdZdZej         	                    ddd e
e¦  «        ifdd e
e¦  «        ifd	d e
e¦  «        ifd	d e
e¦  «        ifd	d e
e¦  «         e
d
¦  «        z   ifd	d e
e¦  «         e
d¦  «        z   ifg¦  «        d„ ¦   «         ZdS )ÚTestWithPackageDatac                 ó–   — |› d�|› d�|› d�g}t          ||i ¦  «         d}|dz                       t          |¦  «        d¬¦  «         d S )Nz/proj/__init__.pyú/proj/file1.txtú/proj/nested/file2.txtz/
            global-include *.py *.txt
        zMANIFEST.inrx   ry   rÍ   )r   r   Úsrc_rootrB   rY   s        r!   Ú!_simulate_package_with_data_filesz5TestWithPackageData._simulate_package_with_data_filesš  st   € àÐ*Ð*Ð*ØÐ(Ð(Ð(ØÐ/Ð/Ð/ð
ˆõ
 	˜h¨¨rÑ2Ô2Ð2ðˆð 
�MÑ	!×-Ò-­d°8©n¬nÀwÐ-ÑOÔOÐOÐOÐOr#   zd
    [metadata]
    name = proj
    version = 42

    [options]
    include_package_data = True
    z8
    [project]
    name = "proj"
    version = "42"
    z:
    [tool.setuptools]
    package-dir = {"" = "src"}
    )rÝ   rB   r™   rq   rs   r   zÞ
                        packages = find:
                        package_dir =
                            =src

                        [options.packages.find]
                        where = src
                        zv
                        [tool.setuptools]
                        package-dir = {"" = "src"}
                        c                 ód  — t           j                             |t          |¦  «        ¬¦  «         |                      ||¦  «         t
          j                             |› d�¦  «                             t
          j        d¦  «        t
          j                             |› d�¦  «                             t
          j        d¦  «        h}t          |¦  «         t          t          |                     d¦  «        ¦  «        ¦  «        }t          d¦  «         t          d                     |¦  «        ¦  «         ||k    sJ ‚t          t          |                     d¦  «        ¦  «        ¦  «        }t          d	¦  «         t          d                     |¦  «        ¦  «         d
„ |D ¦   «         }||k    sJ ‚dS )zq
        Make sure auto-discovery does not affect package include_package_data.
        See issue #3196.
        r½   rÛ   rG   rÜ   r^   r_   r`   ra   rb   c                 ób   — h | ],}|                      d d¦  «                              dd¦  «        ’Œ-S rd   re   rK   s     r!   rf   z@TestWithPackageData.test_include_package_data.<locals>.<setcomp>ö  s6   € ÐRÐRÐRÀA�a—i’i ¨Ñ+Ô+×3Ò3°F¸BÑ?Ô?ÐRÐRÐRr#   N)r›   rœ   r\   ÚstrrÞ   rI   ÚnormpathrH   rJ   rg   r   rh   ri   rj   rk   r   )r   r   rÝ   rB   Úexpectedrm   rn   ro   s           r!   Útest_include_package_dataz-TestWithPackageData.test_include_package_dataº  s�  € õT 	Œ×Ò˜%­¨H©¬ÐÑ6Ô6Ð6Ø×.Ò.¨x¸ÑBÔBÐBõ ŒG×Ò Ð9Ð9Ð9Ñ:Ô:×BÒBÅ2Ä6È3ÑOÔOÝŒG×Ò Ð@Ð@Ð@ÑAÔA×IÒIÍ"Ì&ÐRUÑVÔVð
ˆõ
 	�8ÑÔÐå'­¨X¯]ª]¸?Ñ-KÔ-KÑ(LÔ(LÑMÔMˆÝÐ)Ñ*Ô*Ð*Ýˆd�iŠi˜Ñ$Ô$Ñ%Ô%Ð%Ø˜hÒ&Ð&Ð&Ð&å'­¨X¯]ª]¸<Ñ-HÔ-HÑ(IÔ(IÑJÔJˆÝÐ)Ñ*Ô*Ð*Ýˆd�iŠi˜Ñ$Ô$Ñ%Ô%Ð%ØRÐRÈÐRÑRÔRˆ
Ø˜jÒ(Ð(Ð(Ð(Ð(Ð(r#   N)r,   r-   r.   rÞ   ÚEXAMPLE_SETUPCFGÚEXAMPLE_PYPROJECTÚPYPROJECT_PACKAGE_DIRr�   r¢   r£   r   rä   r/   r#   r!   rÙ   rÙ   ™  sI  € € € € € ðPð Pð PðÐðÐðÐð
 „[×ÒØà�;  Ð%5Ñ 6Ô 6Ð7Ð8ØÐ# T TÐ*;Ñ%<Ô%<Ð=Ð>Ø�[ $ $Ð'7Ñ"8Ô"8Ð9Ð:ØÐ% t tÐ,=Ñ'>Ô'>Ð?Ð@àà  Ð&6Ñ!7Ô!7Ø�dðñ	ô 	ñ
"ððð" à$ d dÐ+<Ñ&=Ô&=Ø�dðñô ñ'ððð+!	
ñ$ô $ðJ)ð )ñK$ô $ðJ)ð )ð )r#   rÙ   c                 óÀ   — g d¢}t          | |i ¦  «         t          i ¦  «        }t          ¦   «         |_        |                     ¦   «          |j        �J ‚|j        �J ‚d S )N)zdir1/__init__.pyzdir2/__init__.pyzfile.py)rT   r	   ÚobjectÚconfigurationÚset_defaultsr4   r    )r   rB   r]   s      r!   Ú(test_compatible_with_numpy_configurationrì   ú  st   € ðð ð €Eõ
 ˜( E¨2Ñ.Ô.Ð.Ý˜ÑÔ€DÝ™œ€DÔØ×ÒÑÔÐØŒ?Ð"Ð"Ð"ØŒ=Ð Ð Ð Ð Ð r#   c                 óú   — t           j                             ddi¦  «         t          i ¦  «        }dg|_        |                     ¦   «          |                     ¦   «          |                     ¦   «         dk    sJ ‚d S )Nr7   r   z--namer%   )r›   rœ   r\   r	   Úscript_argsrë   Úparse_command_liner¬   )Ú
tmpdir_cwdr]   s     r!   Ú$test_name_discovery_doesnt_break_clirñ     sv   € Ý
„K×Ò�x �nÑ%Ô%Ð%Ý˜ÑÔ€DØ �z€DÔØ×ÒÑÔÐØ×ÒÑÔÐØ�=Š=‰?Œ?˜eÒ#Ð#Ð#Ð#Ð#Ð#r#   c                 ó€  ‡‡— dddiit          d¦  «        dœ}t          j                             |¦  «         t	          i ¦  «        Š‰j        j        Šˆˆfd„}|                     ‰j        d|¦  «         ‰                     ¦   «          ‰ 	                    ¦   «         dk    sJ ‚t          ‰j        ¦  «        dhk    sJ ‚d	S )
a
  According to #3545 it seems that ``name`` discovery is running,
    even when the project already explicitly sets it.
    This seems to be related to parsing of dynamic versions (via ``attr`` directive),
    which requires the auto-discovery of ``package_dir``.
    r%   r»   z__version__ = 42
zæ
            [project]
            name = "myproj"  # purposefully different from package name
            dynamic = ["version"]
            [tool.setuptools.dynamic]
            version = {"attr" = "pkg.__version__"}
            rÈ   c                  óP   •—  ‰¦   «          ‰                       ¦   «         dk    sJ ‚d S )NÚmyproj)r¬   )r]   Úorig_analyse_names   €€r!   Úspy_analyse_namezJtest_preserve_explicit_name_with_dynamic_version.<locals>.spy_analyse_name)  s3   ø€ ð 	ÐÑÔÐØ�}Š}‰Œ (Ò*Ð*Ð*Ð*Ð*Ð*r#   Úanalyse_namer¿   N)r   r›   rœ   r\   r	   rë   r÷   ÚsetattrÚparse_config_filesrÁ   rl   r    )rð   ÚmonkeypatchrB   rö   r]   rõ   s       @@r!   Ú0test_preserve_explicit_name_with_dynamic_versionrû     sõ   øø€ ð �MÐ#7Ð8ð
õ ðñ
ô 
ð	ð €Eõ „K×Ò�eÑÔÐÝ˜ÑÔ€DØÔ)Ô6Ðð+ð +ð +ð +ð +ð +ð ×Ò˜Ô)¨>Ð;KÑLÔLÐLØ×ÒÑÔÐØ×ÒÑÔ Ò%Ð%Ð%Ð%ÝˆtŒ}ÑÔ % Ò(Ð(Ð(Ð(Ð(Ð(r#   c                 óü   ‡ — ddddœ}t           j                             |‰ ¬¦  «         t          ‰ |¦  «         ˆ fd„|D ¦   «         }|D ]2}|j                             dd¬¦  «         |                     ¦   «          Œ3d S )	Nz$import setuptools
setuptools.setup()z# Example PackagezCopyright (c) 2018)rr   z	README.mdÚLICENSEr½   c              3   ó"   •K  — | ]	}‰|z  V — Œ
d S rP   r/   )rL   rM   Úroots     €r!   rS   z(_populate_project_dir.<locals>.<genexpr>@  s'   øè è € Ð%Ð%˜!ˆT�A‰XÐ%Ð%Ð%Ð%Ð%Ð%r#   Tr   )r›   rœ   r\   Ú_write_setupcfgÚparentr   r   )rÿ   rB   rC   ÚbasicÚpathsrœ   s   `     r!   rT   rT   5  s£   ø€ ð
 <Ø(Ø'ðð €Eõ
 „K×Ò�e DÐÑ)Ô)Ð)Ý�D˜'Ñ"Ô"Ð"Ø%Ð%Ð%Ð%˜uÐ%Ñ%Ô%€EØð ð ˆØŒ×Ò 4°ÐÑ6Ô6Ð6Ø�
Š
‰Œˆˆðð r#   c                 óP  — |st          d¦  «         d S t          ¦   «         }|                     d¦  «         |                     ¦   «         D ]ã\  }}|dk    r7|                     d|› �¦  «         |d|› �                              |¦  «         ŒBt          |t          ¦  «        rd                     |¦  «        |d         |<   Œvt          |t          ¦  «        r@d                     d„ |                     ¦   «         D ¦   «         ¦  «        }d|z   |d         |<   ŒËt          |¦  «        |d         |<   Œät          | dz  d	d
¬¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¦  «         t          | dz                       d
¬¦  «        ¦  «         d S )Nz~~~~~ **NO** setup.cfg ~~~~~rC   r¹   zoptions.z, r`   c              3   ó,   K  — | ]\  }}d |› d|› �V — ŒdS )ú	z = Nr/   )rL   ÚkÚvs      r!   rS   z"_write_setupcfg.<locals>.<genexpr>S  s2   è è € Ð!KÐ!K±T°Q¸ . q . .¨Q . .Ð!KÐ!KÐ!KÐ!KÐ!KÐ!Kr#   rq   Úwrx   ry   z~~~~~ setup.cfg ~~~~~)rj   r   Úadd_sectionÚitemsÚupdateÚ
isinstanceÚlistrk   Údictrá   ÚopenÚwriterÀ   )rÿ   rC   rÔ   ÚkeyÚvalueÚ	str_valuerM   s          r!   r   r   F  só  € Øð ÝÐ,Ñ-Ô-Ð-ØˆÝ‰~Œ~€HØ×Ò˜Ñ#Ô#Ð#Ø—m’m‘o”oð 
2ð 
2‰
ˆˆUØ�/Ò!Ð!Ø× Ò Ð!1¨CÐ!1Ð!1Ñ2Ô2Ð2ØÐ% Ð%Ð%Ô&×-Ò-¨eÑ4Ô4Ð4Ð4Ý˜�tÑ$Ô$ð 	2Ø'+§y¢y°Ñ'7Ô'7ˆH�YÔ Ñ$Ð$Ý˜�tÑ$Ô$ð 	2ØŸ	š	Ð!KÐ!K¸U¿[º[¹]¼]Ð!KÑ!KÔ!KÑKÔKˆIØ'+¨iÑ'7ˆH�YÔ Ñ$Ð$å'*¨5¡z¤zˆH�YÔ Ñ$Ð$Ý	ˆd�[Ñ  #°Ð	8Ñ	8Ô	8ð ¸AØ�Š�qÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Ð
!Ñ"Ô"Ð"Ý	ˆ4�+Ñ×
(Ò
(°'Ð
(Ñ
:Ô
:Ñ;Ô;Ð;Ð;Ð;s   ÅE&Å&E*Å-E*c                 ój   — t           j        dddg|¢t          | ¦  «        ‘}t          |ddi¬¦  «        S )Nz-mr\   z--no-isolationÚDISTUTILS_DEBUGr   )Úenv)ÚsysÚ
executablerá   r   )rœ   ÚflagsrX   s      r!   rg   rg   ]  s<   € ÝŒ>˜4 Ð*:Ð
N¸UÐ
NÅCÈÁIÄIÐ
N€CÝˆsÐ*¨BÐ/Ð0Ñ0Ô0Ð0r#   c           	      ó.  — d                      t          j                             | ¦  «        ¦  «        }| dz  }|                     ¦   «         r]t          | ¦  «        5  t          t          t          j	         
                    di d¬¦  «        ¦  «        }d d d ¦  «         n# 1 swxY w Y   nt          |¦  «        }||_        d|_        t          | ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                     ¦   «          |S )NrG   rr   Úinit)Ú
stop_after)rk   rI   rœ   ÚsplitrÂ   r   r   r	   Ú	distutilsÚcoreÚ	run_setuprÝ   Úscript_namerù   rë   )Ú	dist_pathÚattrsrÿ   Úscriptr]   s        r!   r~   r~   b  ss  € Ø�8Š8•B”G—M’M )Ñ,Ô,Ñ-Ô-€Dà˜Ñ#€FØ‡}‚}�„ð #Ý�)‰_Œ_ð 	ð 	ÝÝÝ”×(Ò(¨°RÀFÐ(ÑKÔKñô ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øõ ˜EÑ"Ô"ˆà€D„MØ!€DÔÝ	ˆi‰Œð "ð "Ø×ÒÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð 	×ÒÑÔÐØ€Ks$   Á6BÂB!Â$B!ÃC6Ã6C:Ã=C:c                 óf  — t          | |¦  «        }t          |¦  «        }|                     ¦   «          |j        j        s|j        j        sJ ‚t          ¦   «         5  t          | ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   ||fS rP   )	r~   r   Úensure_finalizedÚdistributionr    r4   r   r   r   )r#  r$  r]   rX   s       r!   rU   rU   x  s#  € Ý�Y Ñ&Ô&€DÝ
�‰+Œ+€CØ×ÒÑÔÐØÔÔ$ÐC¨Ô(8Ô(CÐCÐCÐCå	‰Œð ð •$�y‘/”/ð ð Ø�Š‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �ˆ9Ðs6   ÁB$Á,BÂB$ÂB	ÂB$ÂB	ÂB$Â$B(Â+B()-rI   r  Úconfigparserr   Útypingr   Újaraco.pathr›   r�   rœ   r   rš   Úsetuptools.command.sdistr   Úsetuptools.discoveryr   r   Úsetuptools.distr	   Úsetuptools.errorsr
   Úcontextsr   Úintegration.helpersr   r   r   Útextwrapr   Údistutils.corer  r   r1   r¦   rµ   rË   rÙ   rì   rñ   rû   rT   r   rg   r~   rU   r/   r#   r!   ú<module>r4     s¡  ðØ 	€	€	€	Ø 
€
€
€
Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ (Ð (Ð (Ð (Ð (Ð (Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à Ð Ð Ð Ð Ð Ø JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ Ð Ð Ð Ð Ð à Ð Ð Ð ðLð Lð Lð Lð Lñ Lô Lð Lð&O'ð O'ð O'ð O'ð O'ñ O'ô O'ð O'ðd#ð #ð #ð #ð #ñ #ô #ð #ð6-/ð -/ð -/ð -/ð -/ñ -/ô -/ð -/ð`O$ð O$ð O$ð O$ð O$ñ O$ô O$ð O$ðd^)ð ^)ð ^)ð ^)ð ^)ñ ^)ô ^)ð ^)ðB!ð !ð !ð$ð $ð $ð!)ð !)ð !)ðHð ð ð"<ð <ð <ð.1ð 1ð 1ð
ð ð ð,	ð 	ð 	ð 	ð 	r#   