
    ϶vg`K                       d 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 ddlZddlmZ ddlmZ ddlZdd	lmZ dd
lmZmZmZ ddlmZmZ ddlmZ ddlmZ ddlm Z m!Z!  e	e"          j#        Z$dZ%d Z&ej'        (                    d e!e$e%z                      ej'        )                    d          ej'        j*        d                                     Z+dZ,dZ-dZ.de,fdZ/d Z0ej'        (                    dg d          d             Z1d Z2d Z3ej'        (                    d  ej4        e,d!d"#           ej4        e-d$ej'        5                    d%d&'          d()          f          d*             Z6 G d+ d,          Z7 G d- d.          Z8 G d/ d0          Z9 G d1 d2          Z: G d3 d4          Z; G d5 d6          Z< G d7 d8          Z=d<d;Z>dS )=zMake sure that applying the configuration from pyproject.toml is equivalent to
applying a similar configuration from setup.cfg

To run these tests offline, please have a look on ``./downloads/preload.py``
    )annotationsN)cleandoc)Path)Mock)LiteTranslator)Metadata)write_requirements)expandpyprojecttomlsetupcfg)_MissingDynamic_some_attrgetterDistribution)RemovedConfigError   )retrieve_fileurls_from_filezsetupcfg_examples.txtc                (    t          d| i|          S )Nsrc_rootr   )pathattrss     m/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.pymakedistr   !   s    T3U3444    urlignorec                   |                     t          dt          d                     t          |           }t	          |d          }|                    d          }t                                          |d          }|                    |d           t          j
        t          |          |          }t          j
        t          |          |          }t          |          }	t          |          }
|	|
k    sJ t          d ||fD                       r,t          |j                  t          |j                  k    sJ t          d	 ||fD                       rbt#          |j                   d
 |j                                        D             }d |j                                        D             }||k    sJ t          d ||fD                       rNd |j                                        D             }d |j                                        D             }||k    sJ t          d ||fD                       r*d |j        D             }d |j        D             }||k    sJ t          |j                  t          |j                  k    sJ t          d ||fD                       rNd |j                                        D             }d |j                                        D             }||k    sJ d S d S )N	read_attrz0.0.1)return_valuepyproject.tomlutf-8encodingz	setup.cfgc              3  8   K   | ]}t          |d d          V  dS )license_filesNgetattr.0ds     r   	<genexpr>z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>7   s.      
L
L71ot,,
L
L
L
L
L
Lr   c              3  8   K   | ]}t          |d d          V  dS )entry_pointsNr'   r)   s     r   r,   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>:   .      
K
K71nd++
K
K
K
K
K
Kr   c                N    h | ]"\  }}|gt          d  |D                       R #S )c              3  B   K   | ]}|                     d d          V  dS   Nreplacer*   is     r   r,   zHtest_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>.<genexpr>=   0      66q		#r**666666r   sortedr*   kvs      r   	<setcomp>z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp><   sN     
 
 
1 766A6666677
 
 
r   c                N    h | ]"\  }}|gt          d  |D                       R #S )c              3  B   K   | ]}|                     d d          V  dS r2   r5   r7   s     r   r,   zHtest_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>.<genexpr>A   r9   r   r:   r<   s      r   r?   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>@   sN     
 
 
1 766A6666677
 
 
r   c              3  8   K   | ]}t          |d d          V  dS )package_dataNr'   r)   s     r   r,   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>F   r/   r   c                :    h | ]\  }}|gt          |          R S  r:   r<   s      r   r?   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>G   s*    TTTTQ!fQiiTTTr   c                :    h | ]\  }}|gt          |          R S rE   r:   r<   s      r   r?   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>H   s*    RRRDAqVAYYRRRr   c              3  8   K   | ]}t          |d d          V  dS )
data_filesNr'   r)   s     r   r,   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>K   s.      
I
Ia71lD))
I
I
I
I
I
Ir   c                :    h | ]\  }}|gt          |          R S rE   r:   r<   s      r   r?   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>L   s*    LLLtq!A?q		??LLLr   c                :    h | ]\  }}|gt          |          R S rE   r:   r<   s      r   r?   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>M   s*    JJJda1/vayy//JJJr   c              3  8   K   | ]}t          |d d          V  dS )extras_requireNr'   r)   s     r   r,   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>Q   s/      
M
M!71&--
M
M
M
M
M
Mr   c                :    h | ]\  }}|gt          |          R S rE   r:   r<   s      r   r?   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>R   s*    WWWda1/vayy//WWWr   c                :    h | ]\  }}|gt          |          R S rE   r:   r<   s      r   r?   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>S   s*    UUUTQ!fQiiUUUr   )setattrr
   r   r   r   	read_textr   	translate
write_textr   apply_configurationr   r   core_metadataanysetr&   printr.   itemsrC   rH   install_requiresrL   )r   monkeypatchtmp_pathsetupcfg_examplepyproject_examplesetupcfg_texttoml_config	dist_tomldist_cfgpkg_info_tomlpkg_info_cfgep_tomlep_cfgpkg_data_tomlpkg_data_cfgdata_files_tomldata_files_cfgextra_req_tomlextra_req_cfgs                      r   +test_apply_pyproject_equivalent_to_setupcfgrl   %   sk    Tw-G-G-GHHH$S))X'788$...@@M "",,]KHHK  w ???1(82D2DFWXXI+HX,>,>@PQQH!),,M **LL((((

L
Ly(6K
L
L
LLL K9*++s83I/J/JJJJJ

K
Ki5J
K
K
KKK 
!h#$$$
 
!.4466
 
 

 
 -3355
 
 
 &    

K
Ki5J
K
K
KKK -TTY5K5Q5Q5S5STTTRRH4I4O4O4Q4QRRR,,,,

I
IIx3H
I
I
III 1LLy7KLLLJJh6IJJJ.0000y)**c(2K.L.LLLLL

M
M	87L
M
M
MMM /WWi6N6T6T6V6VWWWUUX5L5R5R5T5TUUU..../ / /.r   u  [project]
name = "spam"
version = "2020.0.0"
description = "Lovely Spam! Wonderful Spam!"
readme = "README.rst"
requires-python = ">=3.8"
license = {file = "LICENSE.txt"}
keywords = ["egg", "bacon", "sausage", "tomatoes", "Lobster Thermidor"]
authors = [
  {email = "hi@pradyunsg.me"},
  {name = "Tzu-Ping Chung"}
]
maintainers = [
  {name = "Brett Cannon", email = "brett@python.org"},
  {name = "John X. Ãørçeč", email = "john@utf8.org"},
  {name = "Γαμα קּ 東", email = "gama@utf8.org"},
]
classifiers = [
  "Development Status :: 4 - Beta",
  "Programming Language :: Python"
]

dependencies = [
  "httpx",
  "gidgethub[httpx]>4.0.0",
  "django>2.1; os_name != 'nt'",
  "django>2.0; os_name == 'nt'"
]

[project.optional-dependencies]
test = [
  "pytest < 5.0.0",
  "pytest-cov[all]"
]

[project.urls]
homepage = "http://example.com"
documentation = "http://readthedocs.org"
repository = "http://github.com"
changelog = "http://github.com/me/spam/blob/master/CHANGELOG.md"

[project.scripts]
spam-cli = "spam:main_cli"

[project.gui-scripts]
spam-gui = "spam:main_gui"

[project.entry-points."spam.magical"]
tomatoes = "spam:main_tomatoes"
u   [project]
name = "spam"
version = "2020.0.0"
authors = [
  {email = "hi@pradyunsg.me"},
  {name = "Tzu-Ping Chung"}
]
maintainers = [
  {name = "Степан Бандера", email = "криївка@оун-упа.укр"},
]
zE
def main_cli(): pass
def main_gui(): pass
def main_tomatoes(): pass
z
README.rstc                X   | dz  }|}dd| di}|                                 D ]\  }}|                    ||          }|                    |d           | |z                      dd           | dz                      d	d           | d
z                      t          d           |S )Nr!   zreadme = "README.rst"z
readme = ""r"   r#   zhello worldLICENSE.txt--- LICENSE stub ---zspam.py)rX   r6   rR   PEP621_EXAMPLE_SCRIPT)r[   readmepyproject_text	pyprojecttextreplacementsorigsubsts           r   _pep621_example_projectry      s    
 ++ID+-C&-C-C-CDL#))++ ) )e||D%((000""=7"CCC))*@7)SSS	%%&;g%NNNr   c                    t          |           }t          j        t          |           |          }|j        j        dk    sJ t          |j        j                  dhk    sJ dS )z&Make sure the example in PEP 621 worksrp   ro   N)ry   r   rS   r   metadatalicenserV   r&   r[   rt   dists      r   test_pep621_exampler      sf    '11I,Xh-?-?KKD= $:::::t}*++>>>>>>r   )rr   ctype))z
Readme.txtz
text/plain)z	readme.mdztext/markdown)ztext.rstz
text/x-rstc                    t          | |          }t          j        t          |           |          }|j        j        |k    sJ d S Nry   r   rS   r   r{   long_description_content_type)r[   rr   r   rt   r~   s        r   test_readme_content_typer      sI     (&99I,Xh-?-?KKD=6%??????r   c                    t          | d          }t          j        t          d          5  t	          j        t          |           |           d d d            d S # 1 swxY w Y   d S )Nz
README.texz%Undefined content type for README.texmatch)ry   pytestraises
ValueErrorr   rS   r   )r[   rt   s     r   test_undefined_content_typer      s    ',??I	z)P	Q	Q	Q I I)(8*<*<iHHHI I I I I I I I I I I I I I I I I Is   #AA #A c                    t          | d          }t          j        t          |           |          }|j        j        J d S )NREADMEr   r}   s      r   3test_no_explicit_content_type_for_missing_extensionr      sB    '(;;I,Xh-?-?KKD=6>>>>>r   )rs   expected_maintainers_meta_valueug   Brett Cannon <brett@python.org>, "John X. Ãørçeč" <john@utf8.org>, Γαμα קּ 東 <gama@utf8.org>znon-international-emails)iduA   Степан Бандера <криївка@оун-упа.укр>zlCPython's `email.headerregistry.Address` only supports RFC 5322, as of Nov 10, 2022 and latest Python 3.11.0T)reasonstrictzinternational-email)marksr   c                b   t          |d|          }t          j        t          |          |          }|j        j        | k    sJ |dz  }t          |dd          5 }|j                            |           d d d            n# 1 swxY w Y   |                    d          }d|  |v sJ d S )Nr   )rs   zPKG-FILEwr"   r#   zMaintainer-email: )	ry   r   rS   r   r{   maintainer_emailopenwrite_pkg_filerP   )r   rs   r[   rt   r~   pkg_filefhcontents           r    test_utf8_maintainer_in_metadatar      s   8 (%  I
 ,Xh-?-?KKD=)-LLLLL*$H	hg	.	.	. )"$$R((() ) ) ) ) ) ) ) ) ) ) ) ) ) )  ' 22GA ?AAWLLLLLLs   BB	B	c                       e Zd Zd Zd Zd ZdS )TestLicenseFilesc                    t          |d          }|                    d          }d|v sJ d|vsJ | d| d}|                    |d           |S )Nr   r"   r#   z license = {file = "LICENSE.txt"}z[tool.setuptools]
)ry   rP   rR   )selfr[   additional_textrt   ru   s        r   base_pyprojectzTestLicenseFiles.base_pyproject  s    +Hh??	""G"44 2T9999"$....--/---TG444r   c                t   d}|                      ||          }|dz                                   |dz                                   |dz  }|                    dd           t          j        t          |          |          }t          |j        j                  ddhk    sJ |j        j	        dk    sJ d S )Nz,[tool.setuptools]
license-files = ["_FILE*"]z	_FILE.txtz	_FILE.rstro   zLicenseRef-Proprietary
r"   r#   )
r   touchrR   r   rS   r   rV   r{   r&   r|   )r   r[   setuptools_configrt   r|   r~   s         r   +test_both_license_and_license_files_definedz<TestLicenseFiles.test_both_license_and_license_files_defined  s    K''2CDD		K	&&(((	K	&&((( ]*5HHH0(1C1CYOO4=.//K3MMMMM}$(BBBBBBBr   c                ^   d}|                      ||          }d                                }|D ]}||z                      | dd            t          j        t          |          |          }|dz                                  sJ t          |j        j	                  h |dk    sJ d S )Nz"[tool.setuptools]
zip-safe = falsez5LICENCE-a.html COPYING-abc.txt AUTHORS-xyz NOTICE,defr   r"   r#   ro   )
r   splitrR   r   rS   r   existsrV   r{   r&   )r   r[   r   rt   r&   fnamer~   s          r   test_default_patternsz&TestLicenseFiles.test_default_patterns  s    A''2CDD	OUUWW" 	J 	JE))U,,,)IIII0(1C1CYOO=(00222224=.//3R]3RM3RRRRRRRr   N)__name__
__module____qualname__r   r   r   rE   r   r   r   r      sI        
 
 
C C C S S S S Sr   r   c                      e Zd Zd Zej                            dddg          d             Zej                            dg d          d             ZdS )	TestPyModulesc                    d|d}t          d          }|                    t          |          d           t          j        t          i           |          S )Nzr
        [project]
        name = "test"
        version = "42.0"
        [tool.setuptools]
        py-modules = [z
]
        r!   r"   r#   )r   rR   r   r   rS   r   )r   namer_   rt   s       r   r~   zTestPyModules.dist/  si    
    )**	Xk22WEEE0b1A1A9MMMr   modulezpip-runu   abc-d.λ-xyz-ec                l    |                     |           ||                     |          j        v sJ d S r   )chdirr~   
py_modulesr   r[   rZ   r   s       r   test_valid_module_namez$TestPyModules.test_valid_module_name;  s<    (###6**5555555r   )zpip runz-pip-runzpip-run-stubsc                    |                     |           t          j        t          d          5  |                     |          j         d d d            d S # 1 swxY w Y   d S )Nz
py-modulesr   )r   r   r   r   r~   r   r   s       r   test_invalid_module_namez&TestPyModules.test_invalid_module_name@  s    (###]:\::: 	) 	)IIf((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   AA AN)	r   r   r   r~   r   markparametrizer   r   rE   r   r   r   r   ,  s        
N 
N 
N [X	3C'DEE6 6 FE6 [X'O'O'OPP) ) QP) ) )r   r   c                      e Zd Zd ZdS )TestExtModulesc                   |                     |           t          d          }d}|                    t          |          d           t	          j        t          j                  5  t          j        t          i           |          }d d d            n# 1 swxY w Y   t          |j                  dk    sJ |j        d         j        dk    sJ t          |j        d         j                  dd	hk    sJ d S )
Nr!   z
        [project]
        name = "test"
        version = "42.0"
        [tool.setuptools]
        ext-modules = [
          {name = "my.ext", sources = ["hello.c", "world.c"]}
        ]
        r"   r#   r   r   zmy.extzhello.czworld.c)r   r   rR   r   r   warnsr   _ExperimentalConfigurationrS   r   lenext_modulesr   rV   sources)r   r[   rZ   rt   r_   r~   s         r   test_pyproject_sets_attributez,TestExtModules.test_pyproject_sets_attributeH  sH   (###)**	 	Xk22WEEE\-BCC 	R 	R 4\"5E5EyQQD	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R4#$$))))"'833334#A&.//Iy3IIIIIIIs   )#BBBN)r   r   r   r   rE   r   r   r   r   G  s(        J J J J Jr   r   c                      e Zd Zd ZdS )TestDeprecatedFieldsc                   |dz  }d}|                     t          |          d           t          j        t          d          5  t          j        t          |          |           d d d            d S # 1 swxY w Y   d S )Nr!   z
        [project]
        name = "myproj"
        version = "42"
        [tool.setuptools]
        namespace-packages = ["myproj.pkg"]
        r"   r#   znamespace-packagesr   )rR   r   r   r   r   r   rS   r   )r   r[   rt   configs       r   test_namespace_packagesz,TestDeprecatedFields.test_namespace_packages]  s    //	 	Xf--@@@]-5IJJJ 	M 	M-hx.@.@)LLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	Ms   #A77A;>A;N)r   r   r   r   rE   r   r   r   r   \  s(        M M M M Mr   r   c                     e Zd ZddZej                            ddddgfdddd	gifdd
ddgif ej        dddgfdej                            d          gig          d             Z	ej                            dddg fddi fdddgfdddgfg          d             Z
d Zd Zej                            dddg          ej                            d          d                         ZdS )TestPresetFieldr4   c                b    d|d}d|vr|dz  }|dz  }|                     ||z   d           |S )Nz"[project]
name = 'proj'
dynamic = r   versionzversion = '42'
r!   r"   r#   )rR   )r   r[   dynamicextra_contentr   files         r   rt   zTestPresetField.pyprojectl  sS    FFFFG##))G**-/'BBBr   )attrfieldvalueclassifierszPrivate :: Classifierr.   scriptsconsole_scriptsfoobar=foobar:maingui-scriptsgui_scriptszbazquux=bazquux:mainrY   dependenciessixr   z&ignore:.*install_requires. overwrittenc                d   |                      |g           }t          |fi ||i}t          j        d| t          j                  }t          j        t          |          5  t          j	        ||          }ddd           n# 1 swxY w Y    t          d| |          |          }|rJ dS )z:Setuptools cannot set a field if not listed in ``dynamic``z&defined outside of `pyproject.toml`:.*r   N	metadata.)rt   r   recompileSr   r   r   r   rS   r   )	r   r[   r   r   r   rt   r~   msg
dist_values	            r   test_not_listed_in_dynamicz*TestPresetField.test_not_listed_in_dynamict  s     NN8R00	22T5M22jI%II24PP\/555 	F 	F 4T9EED	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F @%&8$&8&8$??EE
s   #BB	B	rL   zoptional-dependenciesc                    |                      ||g          }t          |fi ||i}t          j        ||          } t	          d| |          |          }||k    sJ d S )Nr   )rt   r   r   rS   r   )r   r[   r   r   r   rt   r~   r   s           r   test_listed_in_dynamicz&TestPresetField.test_listed_in_dynamic  s~     NN8eW55	22T5M220yAA?%&8$&8&8$??EE
U""""""r   c                    d}|dz  }|                     |d           t          |dg          }t          j        d          5  t	          j        ||          }d d d            n# 1 swxY w Y   d|j        vsJ d S )	Nz:[project]
name='pkg'
version='0.1'
dependencies=['click']
r!   r"   r#   wheelrY   z`install_requires` overwrittenr   )rR   r   r   r   r   rS   rY   )r   r[   srcrt   r~   s        r   %test_warning_overwritten_dependenciesz5TestPresetField.test_warning_overwritten_dependencies  s    N//	S7333G9===\ @AAA 	F 	F 4T9EED	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fd3333333s   A((A,/A,c                J   d}|                      |dg|          }dg}t          ||          }t          j        ||          }d|j        v sJ |                    d          }t          |||dz             |dz                      d	          }d
|v sJ d|v sJ d|v sJ dS )a#  
        Internally setuptools converts dependencies with markers to "extras".
        If ``install_requires`` is given by ``setup.py``, we have to ensure that
        applying ``optional-dependencies`` does not overwrite the mandatory
        dependencies with markers (see #3204).
        z1
[project.optional-dependencies]
foo = ['bar>1']
r   z6importlib-resources (>=3.0.0) ; python_version < "3.7"r   fooegg_infozrequires.txtr"   r#   zimportlib-resourcesbarz:python_version < "3.7"N)rt   r   r   rS   rL   get_command_objr	   rP   )r   r[   extrart   install_reqr~   r   reqss           r   2test_optional_dependencies_dont_remove_env_markerszBTestPresetField.test_optional_dependencies_dont_remove_env_markers  s     GNN8n-=uEE	OP;???0yAA+++++''
338Xx./HIII>)44g4FF$,,,,}}}}(D000000r   )r   group)r   r   )r   r   errorc                    |                      ||g          }t          ||dgi          }t          j        ||          }||j        v sJ d S )Nr   )r.   )rt   r   r   rS   r.   )r   r[   r   r   rt   r~   s         r   .test_scripts_dont_require_dynamic_entry_pointsz>TestPresetField.test_scripts_dont_require_dynamic_entry_points  s`     NN8eW55	8L7M/NOOO0yAA)))))))r   N)r4   )r   r   r   rt   r   r   r   paramfilterwarningsr   r   r   r   r   rE   r   r   r   r   k  s           ["M,C+DEY):=Q<R(ST]]=S<T,UVFL$nug> K../WXX 	
	
 	 	 	 ["46;%9M,C+DE		
 # # #4 4 41 1 1, [	')GH  [((* * )(	 
* * *r   r   c                      e Zd Zd ZdS )TestMetac                    t          j        |          5 }t          d |                                D                       sJ 	 ddd           dS # 1 swxY w Y   dS )z,Meta test to ensure tests can run from sdistc              3  J   K   | ]}|                     t                    V  d S r   )endswithEXAMPLES_FILE)r*   r   s     r   r,   z6TestMeta.test_example_file_in_sdist.<locals>.<genexpr>  s.      OOt}}]33OOOOOOr   N)tarfiler   rU   getnames)r   setuptools_sdisttars      r   test_example_file_in_sdistz#TestMeta.test_example_file_in_sdist  s    \*++ 	PsOOOOOOOOOOO	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	Ps   .AAAN)r   r   r   r  rE   r   r   r   r     s(        P P P P Pr   r   c                      e Zd Zd ZdS )TestInteropCommandLineParsingc                P   |                     |           d}t          |d          }|                    t          |          d           ddgi}t	          j        t          |          |          }|                                 |                                }d|j	        v sJ d S )NzJ
        [project]
        name = "test"
        version = "42.0"
        r!   r"   r#   script_argsz	--versionz42.0)
r   r   rR   r   r   rS   r   parse_command_line
readouterrout)	r   r[   rZ   capsysr_   rt   optsr~   captureds	            r   test_versionz*TestInteropCommandLineParsing.test_version  s     	(###
 #344	Xk22WEEE}-0d1C1CYOO!!!$$&&%%%%%%r   N)r   r   r   r  rE   r   r   r	  r	    s#        & & & & &r   r	  returnstrc                   t          j                    5 }| j                            |           |                                }d d d            n# 1 swxY w Y   t          j        |d           d}t                      }|dz  }|dz  }|dz  }|                    d           g }|	                                D ]4}|
                    |          s||v r|                    |dz              5d                    |          S )	NT)validaterE   )zAuthor:zAuthor-email:zMaintainer:zMaintainer-email:)zProject-URL: Homepage,z
Home-page:)zDescription-Content-Type:r4   r   )ioStringIOr{   r   getvaluer   
from_emailrV   add
splitlines
startswithappendjoin)r~   bufferpkg_file_txtskip_prefixes
skip_linesresultlines          r   rT   rT     sJ   	 )&$$V,,,(() ) ) ) ) ) ) ) ) ) ) ) ) ) )
 t4444%'MJ UUM==M33MNN2F'')) # #??=)) 	TZ-?-?dTk""""776??s   /AAA)r  r  )?__doc__
__future__r   r  r   r  inspectr   pathlibr   unittest.mockr   r   ini2toml.apir   packaging.metadatar   
setuptoolssetuptools.command.egg_infor	   setuptools.configr
   r   r   &setuptools.config._apply_pyprojecttomlr   r   setuptools.distr   setuptools.errorsr   	downloadsr   r   __file__parentHEREr  r   r   r   r   uses_networkrl   PEP621_EXAMPLE"PEP621_INTERNATIONAL_EMAIL_EXAMPLErq   ry   r   r   r   r   r   xfailr   r   r   r   r   r   r   r	  rT   rE   r   r   <module>r;     sl    # " " " " " 				 				                     ' ' ' ' ' ' ' ' ' ' ' '     : : : : : : = = = = = = = = = = T T T T T T T T ( ( ( ( ( ( 0 0 0 0 0 0 4 4 4 4 4 4 4 4tH~~'5 5 5 tm/C D DEEH%%,/ ,/  &% FE,/^2h& "  !   $? ? ?    @ @ @I I I? ? ? 93 *	
 	
 	
 	.O+##H $  
 %		
 		
 		
 .M M/ .M&,S ,S ,S ,S ,S ,S ,S ,S^) ) ) ) ) ) ) )6J J J J J J J J*M M M M M M M M[* [* [* [* [* [* [* [*|P P P P P P P P& & & & & & & &,     r   