ó
    Á›‘hz  ã                   óH  • S SK r S SKrS SKrS SKrS SKrS SKrS SKJr  S SKrS SKJ	r	J
r
JrJrJrJrJrJrJr  S r " S S\R&                  5      r\R                  R*                  r " S S5      r " S	 S
5      r " S S5      r " S S5      r " S S5      r " S S5      rg)é    N)ÚSpecifierSet)	ÚDistributionÚ
EntryPointÚRequirementÚVersionConflictÚ
WorkingSetÚparse_requirementsÚparse_versionÚ	safe_nameÚsafe_versionc                 ó`   • [         R                  " U 5      u  p[        US5        [        X5      $ )z$s -> (s0,s1), (s1,s2), (s2, s3), ...N)Ú	itertoolsÚteeÚnextÚzip)ÚiterableÚaÚbs      ÚfC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\pkg_resources/tests/test_resources.pyÚpairwiser      s%   € ä�=Š=˜Ó"�D€AÜˆˆD„MÜˆq‹9Ðó    c                   ó<   • \ rS rSrSrS
S jrS\4S jrS rS r	S	r
g)ÚMetadataé    zAMock object to return metadata as if from an on-disk distributionÚreturnNc                 ó$   • [        U5      U l        g ©N)ÚdictÚmetadata)ÚselfÚpairss     r   Ú__init__ÚMetadata.__init__#   s   € Ü˜U›ˆ�r   c                 ó   • XR                   ;   $ r   ©r   ©r    Únames     r   Úhas_metadataÚMetadata.has_metadata&   s   € Ø—}‘}Ñ$Ð$r   c                 ó    • U R                   U   $ r   r%   r&   s     r   Úget_metadataÚMetadata.get_metadata)   s   € Ø�}‰}˜TÑ"Ð"r   c                 óL   • [         R                  " U R                  U5      5      $ r   )Úpkg_resourcesÚyield_linesr+   r&   s     r   Úget_metadata_linesÚMetadata.get_metadata_lines,   s   € Ü×(Ò(¨×):Ñ):¸4Ó)@ÓAÐAr   r%   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r"   Úboolr(   r+   r0   Ú__static_attributes__© r   r   r   r       s!   † ÙKô$ð% Dô %ò#õBr   r   c                   óŠ  • \ rS rSrS rS rS rS rS rS r	SS	 jr
S
 r\R                  R                  \" \S5      (       + SS9rS r\S 5       r\S 5       rS rS rS rS rS rS rS rS r\R                  R;                  \R>                  SS S:H  =(       a    \R>                  R@                  S:g  SS9S 5       r!Sr"g) Ú
TestDistroé3   c                 óR  • [         R                  " / S S S9n[        U5      / :X  d   eUS   / :X  d   eUR                  [	        S5      5        UR                  [	        S5      5        UR                  [	        S5      5        US   (       d   e[        U5      S/:X  d   e/ SQnUS    Vs/ s H  o3R
                  PM     snU:X  d   eUR                  US   S   5        US    Vs/ s H  o3R
                  PM     snS	S
/:X  d   eUR                  [	        S5      5        US    Vs/ s H  o3R
                  PM     sn/ SQ:X  d   e[        / 5      n[	        S5      n[	        S5      n[        S5      u  nUR                  Xt5      R
                  S:X  d   eUR                  U5        UR                  Xt5      R
                  S	:X  d   e[        / 5      nUR                  U5        UR                  U5        [        R                  " [        5         UR                  Xt5        S S S 5        [        / 5      nUR                  U5        UR                  U5        UR                  U5        UR                  Xt5      R
                  S	:X  d   eg s  snf s  snf s  snf ! , (       d  f       N}= f)N)ÚplatformÚpythonÚFooPkgúFooPkg-1.3_1.eggzFooPkg-1.4-py2.4-win32.eggúFooPkg-1.2-py2.4.eggÚfoopkg)ú1.4ú1.3-1ú1.2é   rD   rF   zFooPkg-1.9.egg)ú1.9rD   rF   zFooPkg>=1.3rH   )r.   ÚEnvironmentÚlistÚaddÚdist_from_fnÚversionÚremover   r	   Ú
best_matchÚpytestÚraisesr   )r    ÚadÚexpectedÚdistÚwsÚfoo12Úfoo14Úreqs           r   ÚtestCollectionÚTestDistro.testCollection4   sA  € ä×&Ò& r°DÀÑFˆÜ�B‹x˜2‹~Ðˆ~Ø�(‰|˜rÓ!Ð!Ð!Ø
�‰Œ|Ð.Ó/Ô0Ø
�‰Œ|Ð8Ó9Ô:Ø
�‰Œ|Ð2Ó3Ô4ð �(�|Ðˆ|ä�B‹x˜H˜:Ó%Ð%Ð%ò +ˆØ)+¨HªÓ6ª —”©Ñ6¸(ÓBÐBÐBð 	�	‰	�"�X‘,˜q‘/Ô"Ø)+¨HªÓ6ª —”©Ñ6¸5À%¸.ÓHÐHÐHð 	�‰Œ|Ð,Ó-Ô.Ø)+¨HªÓ6ª —”©Ñ6Ò:OÓOÐOÐOä˜‹^ˆÜÐ3Ó4ˆÜÐ9Ó:ˆÜ# MÓ2‰ˆð �}‰}˜SÓ%×-Ñ-°Ó6Ð6Ð6à
�‰ˆuŒØ�}‰}˜SÓ%×-Ñ-°Ó6Ð6Ð6ô ˜‹^ˆØ
�‰ˆuŒØ
�‰ˆuŒÜ�]Š]œ?Õ+Ø�M‰M˜#Ô"÷ ,ô ˜‹^ˆØ
�‰ˆuŒØ
�‰ˆuŒØ
�‰ˆuŒØ�}‰}˜SÓ%×-Ñ-°Ó6Ð6Ñ6ùòC 7ùò 7ùò 7÷" ,Õ+ús   Â*J	Ã&JÄ'JÈJÊ
J&c                 óî   • UR                   S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR
                  [        S5      :X  d   eg )Nr@   rC   z	1.3.post1ú2.4Úwin32rE   )Úproject_nameÚkeyrM   Ú
py_versionr>   Úparsed_versionr
   ©r    Úds     r   ÚcheckFooPkgÚTestDistro.checkFooPkgg   su   € Ø�~‰~ Ó)Ð)Ð)Ø�u‰u˜Ó Ð Ð Ø�y‰y˜KÓ'Ð'Ð'Ø�|‰|˜uÓ$Ð$Ð$Ø�z‰z˜WÓ$Ð$Ð$Ø×Ñ¤=°Ó#9Ó9Ð9Ñ9r   c                 ó  • [        SSSSSS9nU R                  U5        [        S5      nUR                  [        R                  R
                   S[        R                  R                   3:X  d   eUR                  b   eg )Nú
/some/pathr@   rE   r\   r]   )r^   rM   r`   r>   Ú.)r   rd   r`   ÚsysÚversion_infoÚmajorÚminorr>   rb   s     r   ÚtestDistroBasicsÚTestDistro.testDistroBasicso   s|   € ÜØØ!ØØØñ
ˆð 	×Ñ˜Ôä˜Ó&ˆØ�|‰|¤#×"2Ñ"2×"8Ñ"8Ð!9¸¼3×;KÑ;K×;QÑ;QÐ:RÐSÓSÐSÐSØ�z‰zÑ!Ð!Ñ!r   c                 ót   • [        S5      nU R                  U5        [        S5      nU R                  U5        g )Nz FooPkg-1.3.post1-py2.4-win32.eggz%FooPkg-1.3.post1-py2.4-win32.egg-info)rL   rd   rb   s     r   ÚtestDistroParseÚTestDistro.testDistroParse}   s4   € ÜÐ;Ó<ˆØ×Ñ˜ÔÜÐ@ÓAˆØ×Ñ˜Õr   c           	      óR   • [        SSSS[        S5      S9nU R                  U5        g )Nrg   r@   r\   r]   )zPKG-INFOz%Metadata-Version: 1.0
Version: 1.3-1
)r^   r`   r>   r   )r   r   rd   rb   s     r   ÚtestDistroMetadataÚTestDistro.testDistroMetadataƒ   s1   € ÜØØ!ØØÜÐUÓVñ
ˆð 	×Ñ˜Õr   c                 ó,   • [        S[        SU45      S9$ )Nz/fooúdepends.txtr%   )r   r   )r    Útxts     r   ÚdistRequiresÚTestDistro.distRequires�   s   € Ü˜F¬X°}ÀcÐ6JÓ-KÑLÐLr   r9   c                 óh   • [        UR                  U5      5      [        [        U5      5      :X  d   eg r   )rJ   Úrequiresr	   )r    rT   rw   Úextrass       r   ÚcheckRequiresÚTestDistro.checkRequires�   s)   € Ü�D—M‘M &Ó)Ó*¬dÔ3EÀcÓ3JÓ.KÓKÐKÑKr   c                 óX   • S H$  nU R                  U R                  U5      U5        M&     g )N)úTwisted>=1.5zTwisted>=1.5
ZConfig>=2.0)r}   rx   )r    Úvs     r   ÚtestDistroDependsSimpleÚ"TestDistro.testDistroDependsSimple“   s'   € Û=ˆAØ×Ñ˜t×0Ñ0°Ó3°QÖ7ò >r   Ú__dir__z8object.__dir__ necessary for self.__dir__ implementation©Úreasonc                 óD   • [         R                  " 5       n[        U5        g r   )r.   r   Údirrb   s     r   Útest_distribution_dirÚ TestDistro.test_distribution_dirœ   s   € Ü×&Ò&Ó(ˆÜˆA�r   c                 óê   • [         R                  " 5       nUR                  5       nSU;  d   eS UR                  l        UR                  5       n[        U5      [        U5      S-   :X  d   eSU;   d   eg )NÚ	test_attrrG   )r.   r   r„   Ú	_providerrŒ   Úlen©r    rc   ÚbeforeÚafters       r   Ú+test_distribution_dir_includes_provider_dirÚ6TestDistro.test_distribution_dir_includes_provider_dir    sh   € ä×&Ò&Ó(ˆØ—‘“ˆØ &Ó(Ð(Ð(Ø $ˆ�‰ÔØ—	‘	“ˆÜ�5‹zœS ›[¨1™_Ó,Ð,Ð,Ø˜eÓ#Ð#Ñ#r   c                 óä   • [         R                  " 5       nUR                  5       nSU;  d   eS UR                  l        UR                  5       n[        U5      [        U5      :X  d   eSU;  d   eg )NÚ
_test_attr)r.   r   r„   r�   r•   rŽ   r�   s       r   Ú=test_distribution_dir_ignores_provider_dir_leading_underscoreÚHTestDistro.test_distribution_dir_ignores_provider_dir_leading_underscoreª   sd   € ä×&Ò&Ó(ˆØ—‘“ˆØ 6Ó)Ð)Ð)Ø!%ˆ�‰ÔØ—	‘	“ˆÜ�5‹zœS ›[Ó(Ð(Ð(Ø 5Ó(Ð(Ñ(r   c                 óœ  • [         R                  " / 5      n[        / 5      n[        UR	                  / U5      5      / :X  d   e[
        R                  " [         R                  5         UR	                  [        S5      U5        S S S 5        [        R                  " S[        S5      S9nUR                  U5        UR                  [        R                  " S5      5        [        S5       HN  n[        UR	                  [        S5      U5      5      nXS/:X  d   e[        [        UR                  U5      5        MP     [
        R                  " [        5         UR	                  [        S5      U5        S S S 5        [        / 5      n[
        R                  " [         R                  5         UR	                  [        S5      U5        S S S 5        [        R                  " S	[        S
5      S9nUR                  U5        [        UR	                  [        S5      U5      5      X6/:X  d   e[
        R                  " [        5       nUR	                  [        S5      U5        S S S 5        SnWR                   R#                  5       U:X  d   eg ! , (       d  f       GN= f! , (       d  f       GN/= f! , (       d  f       Ní= f! , (       d  f       Nf= f)NÚFooú/foo_dir/Foo-1.2.egg)rv   z[bar]
Baz>=2.0r%   zFoo-0.9.eggé   zFoo==0.9zFoo[bar]z/foo_dir/Baz-2.1.egg)rv   r™   zFoo==1.2
Foo!=1.2z-Foo 0.9 is installed but Foo==1.2 is required)r.   rI   r   rJ   ÚresolverP   rQ   ÚDistributionNotFoundr	   r   Úfrom_filenamer   rK   ÚrangeÚmapr   ÚvalueÚreport)	r    rR   rU   r™   ÚiÚtargetsÚBazÚvcÚmsgs	            r   ÚtestResolveÚTestDistro.testResolve´   s  € Ü×&Ò& rÓ*ˆÜ˜‹^ˆä�B—J‘J˜r 2Ó&Ó'¨2Ó-Ð-Ð-ä�]Š]œ=×=Ñ=Õ>Ø�J‰JÔ)¨%Ó0°"Ô5÷ ?ô ×(Ò(Ø"ÜÐ@ÓAñ
ˆð 	�‰ˆsŒØ
�‰Œ|×)Ò)¨-Ó8Ô9ô �q–ˆAÜ˜2Ÿ:™:Ô&8¸Ó&?ÀÓDÓEˆGØ˜eÓ#Ð#Ð#Ü”�R—V‘V˜WÓ%Ö&ñ ô �]Š]œ?Õ+Ø�J‰JÔ)¨*Ó5°rÔ:÷ ,ä˜‹^ˆô �]Š]œ=×=Ñ=Õ>Ø�J‰JÔ)¨*Ó5°rÔ:÷ ?ä×(Ò(Ø"¬XÐ6LÓ-Mñ
ˆð 	�‰ˆsŒô �B—J‘JÔ1°*Ó=¸rÓBÓCÈÀzÓQÐQÐQä�]Š]œ?Ô+¨rØ�J‰JÔ)Ð*>Ó?ÀÔD÷ ,ð >ˆØ�x‰x�‰Ó  CÓ'Ð'Ñ'÷E ?Ö>ú÷ ,Ö+ú÷
 ?Õ>ú÷ ,Õ+ús0   Á'JÅJÆ)J,ÉJ=Ê
JÊ
J)Ê,
J:Ê=
Kc                 óž   • [         R                  " / 5      n[        / 5      nUR                  [	        S5      U5      n[        U5      / :X  d   eg)z5Environment markers are evaluated at resolution time.zFoo;python_version<'2'N)r.   rI   r   rœ   r	   rJ   )r    rR   rU   Úress       r   Ú+test_environment_marker_evaluation_negativeÚ6TestDistro.test_environment_marker_evaluation_negativeÞ   sB   € ä×&Ò& rÓ*ˆÜ˜‹^ˆØ�j‰jÔ+Ð,DÓEÀrÓJˆÜ�C‹y˜B‹Ð‰r   c                 óî   • [         R                  " / 5      n[        / 5      n[        R                  " S5      nUR                  U5        UR                  [        S5      U5      n[        U5      U/:X  d   eg )Nú/foo_dir/Foo-1.2.dist-infozFoo;python_version>='2')	r.   rI   r   r   rž   rK   rœ   r	   rJ   )r    rR   rU   r™   r«   s        r   Ú+test_environment_marker_evaluation_positiveÚ6TestDistro.test_environment_marker_evaluation_positiveå   sb   € Ü×&Ò& rÓ*ˆÜ˜‹^ˆÜ×(Ò(Ð)EÓFˆØ
�‰ˆsŒØ�j‰jÔ+Ð,EÓFÈÓKˆÜ�C‹y˜S˜EÓ!Ð!Ñ!r   c                 óP  • [        S5      u  n[        S5      u  n[        R                  " X!R                  05      nUR	                  U5      (       d   e[        S5      u  n[        S5      u  n[        R                  " X!R                  05      nUR	                  U5      (       d   eg)za
If one package foo requires bar without any extras,
markers should pass for bar without extras.
Úfoozbar;python_version>='2'zfoo[]N)r	   r.   Ú
_ReqExtrasr|   Úmarkers_pass)r    Ú
parent_reqrX   Ú
req_extrass       r   Ú)test_environment_marker_evaluation_calledÚ4TestDistro.test_environment_marker_evaluation_calledí   s–   € ô
 +¨5Ó1‰ˆÜ#Ð$=Ó>‰ˆÜ"×-Ò-¨s×4EÑ4EÐ.FÓGˆ
Ø×&Ñ& s×+Ñ+Ð+Ð+ä*¨7Ó3‰ˆÜ#Ð$=Ó>‰ˆÜ"×-Ò-¨s×4EÑ4EÐ.FÓGˆ
Ø×&Ñ& s×+Ñ+Ð+Ñ+r   c                 ó¢  • [         R                  " / 5      n[        / 5      n[        R                  " S[        S5      S9nUR                  U5        [        UR                  [        S5      U5      5      U/:X  d   e[        R                  " S5      nUR                  U5        [        UR                  [        S5      U5      5      nXSU/:X  d   eg)ú8Extras are also evaluated as markers at resolution time.r¯   )ÚMETADATAz5Provides-Extra: baz
Requires-Dist: quux; extra=='baz'r%   r™   ú/foo_dir/quux-1.0.dist-infozFoo[baz]N©
r.   rI   r   r   rž   r   rK   rJ   rœ   r	   ©r    rR   rU   r™   Úquuxr«   s         r   Ú"test_marker_evaluation_with_extrasÚ-TestDistro.test_marker_evaluation_with_extrasü   sµ   € ä×&Ò& rÓ*ˆÜ˜‹^ˆÜ×(Ò(Ø(Üð ó ñ
ˆð 	�‰ˆsŒÜ�B—J‘JÔ1°%Ó8¸"Ó=Ó>À3À%ÓGÐGÐGÜ×)Ò)Ð*GÓHˆØ
�‰ˆtŒÜ�2—:‘:Ô0°Ó<¸bÓAÓBˆØ˜D�kÓ!Ð!Ñ!r   c                 ó¢  • [         R                  " / 5      n[        / 5      n[        R                  " S[        S5      S9nUR                  U5        [        UR                  [        S5      U5      5      U/:X  d   e[        R                  " S5      nUR                  U5        [        UR                  [        S5      U5      5      nXSU/:X  d   eg)r»   r¯   )r¼   zIProvides-Extra: baz-lightyear
Requires-Dist: quux; extra=='baz-lightyear'r%   r™   r½   zFoo[baz-lightyear]Nr¾   r¿   s         r   Ú,test_marker_evaluation_with_extras_normlizedÚ7TestDistro.test_marker_evaluation_with_extras_normlized  s¶   € ä×&Ò& rÓ*ˆÜ˜‹^ˆÜ×(Ò(Ø(Üð ó ñ
ˆð 	�‰ˆsŒÜ�B—J‘JÔ1°%Ó8¸"Ó=Ó>À3À%ÓGÐGÐGÜ×)Ò)Ð*GÓHˆØ
�‰ˆtŒÜ�2—:‘:Ô0Ð1EÓFÈÓKÓLˆØ˜D�kÓ!Ð!Ñ!r   c                 ó®  • [         R                  " / 5      n[        / 5      n[        R                  " S[        S5      S9nUR                  U5        [        R                  " S5      nUR                  U5        [        R                  " S5      nUR                  U5        [        UR                  [        S5      U5      5      n[        U5      XTU/:X  d   eg )Nr¯   )r¼   zlProvides-Extra: baz
Requires-Dist: quux; extra=='baz'
Provides-Extra: bar
Requires-Dist: fred; extra=='bar'
r%   r½   z/foo_dir/fred-0.1.dist-infozFoo[baz,bar])r.   rI   r   r   rž   r   rK   rJ   rœ   r	   Úsorted)r    rR   rU   r™   rÀ   Úfredr«   s          r   Ú+test_marker_evaluation_with_multiple_extrasÚ6TestDistro.test_marker_evaluation_with_multiple_extras!  s²   € Ü×&Ò& rÓ*ˆÜ˜‹^ˆÜ×(Ò(Ø(Üð ó ñ	
ˆð 	�‰ˆsŒÜ×)Ò)Ð*GÓHˆØ
�‰ˆtŒÜ×)Ò)Ð*GÓHˆØ
�‰ˆtŒÜ�2—:‘:Ô0°Ó@À"ÓEÓFˆÜ�c‹{˜t¨3Ð/Ó/Ð/Ñ/r   c                 óº  • [         R                  " / 5      n[        / 5      n[        R                  " S[        S5      S9n[        R                  " S[        S5      S9n[        R                  " S[        S5      S9n[        R                  " S5      nX4XV4 H  nUR                  U5        M     [        UR                  [        S	5      U5      5      nXƒXTU/:X  d   eg )
Nz/foo_dir/a-0.2.dist-info)r¼   zRequires-Dist: c[a]r%   z/foo_dir/b-0.3.dist-info)r¼   zRequires-Dist: c[b]z/foo_dir/c-1.0.dist-info)r¼   z]Provides-Extra: a
Requires-Dist: b;extra=='a'
Provides-Extra: b
Requires-Dist: foo;extra=='b'z/foo_dir/foo-0.1.dist-infor   r¾   )	r    rR   rU   r   r   Úcr³   rT   r«   s	            r   Ú'test_marker_evaluation_with_extras_loopÚ2TestDistro.test_marker_evaluation_with_extras_loop6  sÐ   € Ü×&Ò& rÓ*ˆÜ˜‹^ˆÜ×&Ò&Ø&ÜÐAÓBñ
ˆô ×&Ò&Ø&ÜÐAÓBñ
ˆô ×&Ò&Ø&Üð ó ñ	
ˆô ×(Ò(Ð)EÓFˆØ˜1“NˆDØ�F‰F�4ŽLñ #ä�2—:‘:Ô0°Ó5°rÓ:Ó;ˆØ˜! �nÓ$Ð$Ñ$r   Né   )r›   é   Úfinalz/https://github.com/python/cpython/issues/103632c                 óþ  • U R                  S5      nU R                  US5        U R                  USR                  5       S/5        U R                  USR                  5       S/5        U R                  USR                  5       SS/5        U R                  USR                  5       SS/5        [        R                  " [
        R                  5         UR                  S	/5        S S S 5        g ! , (       d  f       g = f)
Nz�
            Twisted>=1.5
            [docgen]
            ZConfig>=2.0
            docutils>=0.3
            [fastcgi]
            fcgiapp>=0.1r€   z'Twisted>=1.5 ZConfig>=2.0 docutils>=0.3ÚdocgenzTwisted>=1.5 fcgiapp>=0.1Úfastcgiz4Twisted>=1.5 ZConfig>=2.0 docutils>=0.3 fcgiapp>=0.1z4Twisted>=1.5 fcgiapp>=0.1 ZConfig>=2.0 docutils>=0.3r³   )rx   r}   ÚsplitrP   rQ   r.   ÚUnknownExtrar{   rb   s     r   ÚtestDistroDependsOptionsÚ#TestDistro.testDistroDependsOptionsQ  sæ   € ð
 ×Ñðó
ˆð 	×Ñ˜1˜nÔ-Ø×ÑØÐ8×>Ñ>Ó@À8À*ô	
ð 	×Ñ˜1Ð9×?Ñ?ÓAÀIÀ;ÔOØ×ÑØØB×HÑHÓJØ�yÐ!ô	
ð
 	×ÑØØB×HÑHÓJØ˜Ð!ô	
ô
 �]Š]œ=×5Ñ5Õ6Ø�J‰J˜�wÔ÷ 7×6Ö6ús   ÃC.Ã.
C<)r9   )#r2   r3   r4   r5   rY   rd   rm   rp   rs   rx   r}   r‚   rP   ÚmarkÚskipifÚhasattrÚobjectÚneeds_object_dirr‰   r’   r–   r¨   r¬   r°   r¸   rÁ   rÄ   rÉ   rÍ   Úxfailri   rj   Úreleaselevelr×   r8   r9   r   r   r;   r;   3   s  † ò17òf:ò"òòòMôLò8ð —{‘{×)Ñ)Ù�F˜IÓ&Ô&ØIð *ð Ðò
ð ñ$ó ð$ð ñ)ó ð)ò((òTò"ò,ò"ò$"ò&0ò*%ð6 ‡[�[×ÑØ×Ñ˜˜!Ð Ñ'×T¨C×,<Ñ,<×,IÑ,IÈWÑ,TØ@ð ð ñ ó	ó r   r;   c                   ó    • \ rS rSrS rS rSrg)ÚTestWorkingSetir  c                 ó^  • [        / 5      n[        R                  " S5      nUR                  U5        [	        [        S5      5      n[        R                  " [        5       nUR                  U5        S S S 5        SnWR                  R                  5       U:X  d   eg ! , (       d  f       N1= f)Nrš   zFoo<1.2z,Foo 1.2 is installed but Foo<1.2 is required)r   r   rž   rK   r   r	   rP   rQ   r   Úfindr¡   r¢   )r    rU   r™   rX   r¦   r§   s         r   Útest_find_conflictingÚ$TestWorkingSet.test_find_conflictings  s€   € Ü˜‹^ˆÜ×(Ò(Ð)?Ó@ˆØ
�‰ˆsŒô Ô% iÓ0Ó1ˆä�]Š]œ?Ô+¨rØ�G‰G�CŒL÷ ,ð =ˆØ�x‰x�‰Ó  CÓ'Ð'Ñ'÷	 ,Õ+ús   Á!BÂ
B,c                 óŠ  • [        / 5      n[        S5      n[        R                  " SUS9nUR	                  U5        [        S5      n[        R                  " SUS9nUR	                  U5        [        R                  " S5      nUR	                  U5        [        R                  " S5      nUR	                  U5        [
        R                  " [        5       nUR                  [        S5      5        S	S	S	5        S
nU[        [        S/5      5      -  nWR                  R                  5       U:X  d   eg	! , (       d  f       NI= f)z}
A ContextualVersionConflict should be raised when a requirement
conflicts with a prior requirement for a different package.
)rv   zBaz==1.0z/foo_dir/Foo-1.0.eggr%   )rv   zBaz==2.0z/foo_dir/Bar-1.0.eggz/foo_dir/Baz-1.0.eggz/foo_dir/Baz-2.0.eggzFoo
Bar
Nz1Baz 1.0 is installed but Baz==2.0 is required by ÚBar)r   r   r   rž   rK   rP   rQ   r   rœ   r	   ÚreprÚsetr¡   r¢   )r    rU   Úmdr™   rç   r¥   r¦   r§   s           r   Ú!test_resolve_conflicts_with_priorÚ0TestWorkingSet.test_resolve_conflicts_with_prior�  sû   € ô ˜‹^ˆÜÐ1Ó2ˆÜ×(Ò(Ð)?È"ÑMˆØ
�‰ˆsŒÜÐ1Ó2ˆÜ×(Ò(Ð)?È"ÑMˆØ
�‰ˆsŒÜ×(Ò(Ð)?Ó@ˆØ
�‰ˆsŒÜ×(Ò(Ð)?Ó@ˆØ
�‰ˆsŒä�]Š]œ?Ô+¨rØ�J‰JÔ)¨,Ó7Ô8÷ ,ð BˆØŒt”C˜˜“LÓ!Ñ!ˆØ�x‰x�‰Ó  CÓ'Ð'Ñ'÷ ,Õ+ús   ÃD4Ä4
Er9   N)r2   r3   r4   r5   rä   rë   r8   r9   r   r   rá   rá   r  s   † ò(õ(r   rá   c            
       óÞ   • \ rS rSrS rS rS rS rSr\	R                  R                  S\5      S 5       rS	 rS
 r\" \" SSS/5      \" SSS/SS/5      \" SSS/S9S9rSrS rS rS rSrg)ÚTestEntryPointsiœ  c                 óì   • UR                   S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR	                  5       [
        L d   eSn[        U5      U:X  d   eg )Nr³   ú"pkg_resources.tests.test_resources)rî   )Úxú<foo = pkg_resources.tests.test_resources:TestEntryPoints [x])r'   Úmodule_nameÚattrsr|   Úloadrî   Ústr)r    ÚepÚexpects      r   ÚassertfieldsÚTestEntryPoints.assertfields�  sw   € Ø�w‰w˜%ÓÐÐØ�~‰~Ð!EÓEÐEÐEØ�x‰xÐ/Ó/Ð/Ð/Ø�y‰y˜FÓ"Ð"Ð"Ø�w‰w‹yœOÒ+Ð+Ð+ØOˆÜ�2‹w˜&Ó Ð Ñ r   c                 óJ   • [         R                  " S[        S5      S9U l        g )NrB   )zrequires.txtz[x]r%   )r   rž   r   rT   )r    Úmethods     r   Úsetup_methodÚTestEntryPoints.setup_method¦  s   € Ü ×.Ò.Ø"¬XÐ6MÓ-Nñ
ˆ�	r   c                 ó\   • [        SSS/S/U R                  5      nU R                  U5        g )Nr³   rð   rî   rñ   )r   rT   rù   ©r    r÷   s     r   Ú
testBasicsÚTestEntryPoints.testBasics«  s4   € ÜØØ0ØÐØˆEØ�I‰Ió
ˆð 	×Ñ˜"Õr   c                 ó6  • Sn[         R                  " XR                  5      nU R                  U5        [         R                  " S5      nUR                  S:X  d   eUR
                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   e[         R                  " S5      nUR                  S:X  d   eUR
                  S	:X  d   eUR                  S
:X  d   eUR                  S:X  d   eSn[         R                  " U5      nUR                  S:X  d   eg )Nrò   zbar baz=  spammity[PING]zbar bazÚspammityr9   )Úpingz fizzly =  wocka:fooÚfizzlyÚwocka)r³   z0html+mako = mako.ext.pygmentplugin:MakoHtmlLexerz	html+mako)r   ÚparserT   rù   r'   ró   rô   r|   )r    Úsr÷   Úspecs       r   Ú	testParseÚTestEntryPoints.testParseµ  s  € ØJˆÜ×Ò˜a§¡Ó+ˆØ×Ñ˜"Ôä×ÒÐ8Ó9ˆØ�w‰w˜)Ó#Ð#Ð#Ø�~‰~ Ó+Ð+Ð+Ø�x‰x˜2‹~Ðˆ~Ø�y‰y˜IÓ%Ð%Ð%ä×ÒÐ4Ó5ˆØ�w‰w˜(Ó"Ð"Ð"Ø�~‰~ Ó(Ð(Ð(Ø�x‰x˜8Ó#Ð#Ð#Ø�y‰y˜B‹Ðˆð BˆÜ×Ò˜dÓ#ˆØ�w‰w˜+Ó%Ð%Ñ%r   )r³   zx=a:b:czq=x/nazfez=pish:tush-zzx=f[a]>2Úreject_specc                 ó˜   • [         R                  " [        5         [        R                  " U5        S S S 5        g ! , (       d  f       g = fr   )rP   rQ   Ú
ValueErrorr   r  )r    r  s     r   Útest_reject_specÚ TestEntryPoints.test_reject_specÍ  s(   € ä�]Š]œ:Õ&Ü×Ò˜[Ô)÷ '×&Ö&ús	   ›;»
A	c                 óÄ   • [         R                  R                  5       nSR                  " S0 [	        5       D6n[
        R                  " U5      nUR                  U:X  d   eg)z,
Allow any printable character in the name.
z{name} = module:attrNr9   )ÚstringÚ	printableÚstripÚformatÚlocalsr   r  r'   )r    r'   r
  r÷   s       r   Útest_printable_nameÚ#TestEntryPoints.test_printable_nameÒ  sM   € ô
 ×Ñ×%Ñ%Ó'ˆØ%×,Ò,Ñ8¬v«xÑ8ˆÜ×Ò˜dÓ#ˆØ�w‰w˜$‹Ð‰r   c                 ó2  • [        U5      [        U R                  5      :X  d   eU R                  R                  5        HÕ  u  p#UR                  U5      R                  UR                  :X  d   eUR                  U5      R
                  UR
                  :X  d   e[        UR                  U5      R                  5      [        UR                  5      :X  d   e[        UR                  U5      R                  5      [        UR                  5      :X  a  MÕ   e   g r   )	rŽ   Úsubmap_expectÚitemsÚgetr'   ró   rÇ   rô   r|   )r    Úmr_   r÷   s       r   ÚcheckSubMapÚTestEntryPoints.checkSubMapÜ  sÌ   € Ü�1‹vœ˜T×/Ñ/Ó0Ó0Ð0Ð0Ø×)Ñ)×/Ñ/Ö1‰GˆCØ—5‘5˜“:—?‘? b§g¡gÓ-Ð-Ð-Ø—5‘5˜“:×)Ñ)¨R¯^©^Ó;Ð;Ð;Ü˜!Ÿ%™% ›*×*Ñ*Ó+¬v°b·h±hÓ/?Ó?Ð?Ð?Ü˜!Ÿ%™% ›*×+Ñ+Ó,´°r·y±yÓ0AÕAÐAÐAò	 2r   Úfeature1Ú
somemoduleÚsomefunctionÚfeature2zanother.moduleÚ	SomeClassÚextra1Úextra2Úfeature3zthis.moduleÚ	something)r|   )r!  r$  r(  zÏ
            # define features for blah blah
            feature1 = somemodule:somefunction
            feature2 = another.module:SomeClass [extra1,extra2]
            feature3 = this.module [something]
    c                 ó”  • U R                  [        R                  " SU R                  5      5        [        R
                  " [        5         [        R                  " SS5        S S S 5        [        R
                  " [        5         [        R                  " SSS/5        S S S 5        g ! , (       d  f       NK= f! , (       d  f       g = f)NÚxyzzx azfoo=barrñ   zfoo=baz)r  r   Úparse_groupÚ
submap_strrP   rQ   r  ©r    s    r   ÚtestParseListÚTestEntryPoints.testParseListò  s{   € Ø×Ñœ×/Ò/°°t·±ÓGÔHÜ�]Š]œ:Õ&Ü×"Ò" 5¨)Ô4÷ 'ä�]Š]œ:Õ&Ü×"Ò" 3¨°IÐ(>Ô?÷ 'Ð&÷ 'Õ&úç&Õ&ús   ÁB(ÂB9Â(
B6Â9
Cc                 óž  • [         R                  " SU R                  05      nU R                  US   5        [	        UR                  5       5      S/:X  d   e[         R                  " SU R                  -   5      nU R                  US   5        [	        UR                  5       5      S/:X  d   e[        R                  " [        5         [         R                  " SS/5        S S S 5        [        R                  " [        5         [         R                  " U R                  5        S S S 5        g ! , (       d  f       NR= f! , (       d  f       g = f)Nr+  z[xyz]
z[xyz])	r   Ú	parse_mapr-  r  rJ   ÚkeysrP   rQ   r  )r    r  s     r   ÚtestParseMapÚTestEntryPoints.testParseMapù  sæ   € Ü× Ò  %¨¯©Ð!9Ó:ˆØ×Ñ˜˜5™Ô"Ü�A—F‘F“H‹~ % Ó(Ð(Ð(Ü× Ò  ¨T¯_©_Ñ!<Ó=ˆØ×Ñ˜˜5™Ô"Ü�A—F‘F“H‹~ % Ó(Ð(Ð(Ü�]Š]œ:Õ&Ü× Ò  '¨7Ð!3Ô4÷ 'ä�]Š]œ:Õ&Ü× Ò  §¡Ô1÷ 'Ð&÷ 'Õ&úç&Õ&ús   ÃD-Ä!D>Ä-
D;Ä>
Ec                 ó¾   • [        SSS/S/5      n[        R                  " [        R                  5         UR                  SS9  S S S 5        g ! , (       d  f       g = f)Nr³   rð   rî   rñ   F)Úrequire)r   rP   Úwarnsr.   ÚPkgResourcesDeprecationWarningrõ   r   s     r   ÚtestDeprecationWarningsÚ'TestEntryPoints.testDeprecationWarnings  sK   € ÜØÐ7Ð:KÐ9LÈsÈeó
ˆô �\Š\œ-×FÑFÕGØ�G‰G˜EˆGÑ"÷ H×GÖGús   µAÁ
A)rT   N)r2   r3   r4   r5   rù   rý   r  r  Úreject_specsrP   rÙ   Úparametrizer  r  r  r   r   r  r-  r/  r4  r:  r8   r9   r   r   rî   rî   œ  s§   † ò!ò
ò
ò&ð, M€Là‡[�[×Ñ˜]¨LÓ9ñ*ó :ð*òòBñ Ù˜J¨°~Ð6FÓGÙØÐ(¨;¨-¸(ÀHÐ9Mó
ñ ˜J¨¸{¸mÑLñ€Mð€Jò@ò
2õ#r   rî   c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚTestRequirementsi  c                 ó@  • [         R                  " S5      n[        U5      S:X  d   e[        U5      S:X  d   eU[        S5      :X  d   eU[        S5      :X  d   eU[        S5      :w  d   eU[        S5      :w  d   eU[        S5      :w  d   eU[        S5      :w  d   eg )NúTwisted>=1.2z!Requirement.parse('Twisted>=1.2')ztwisTed>=1.2zTwisted>=2.0z	Zope>=1.2z	Zope>=3.0zTwisted[extras]>=1.2)r   r  rö   rè   )r    Úrs     r   r  ÚTestRequirements.testBasics  sª   € Ü×Ò˜nÓ-ˆÜ�1‹v˜Ó'Ð'Ð'Ü�A‹wÐ=Ó=Ð=Ð=Ø”K Ó/Ó/Ð/Ð/Ø”K Ó/Ó/Ð/Ð/Ø”K Ó/Ó/Ð/Ð/Ø”K Ó,Ó,Ð,Ð,Ø”K Ó,Ó,Ð,Ð,Ø”KÐ 6Ó7Ó7Ð7Ñ7r   c                 óÈ   • [        S5      n[        S5      nX:X  d   e[        U5      [        U5      :X  d   e[        U5      S:X  d   e[        S5      [        S5      :w  d   eg )NzTwisted==1.2c1,>=1.2zTwisted>=1.2,==1.2c1ÚTwistedú'Twisted @ https://localhost/twisted.zip)r   rö   ©r    Úr1Úr2s      r   ÚtestOrderingÚTestRequirements.testOrdering  sk   € ÜÐ/Ó0ˆÜÐ/Ó0ˆØ‹xˆˆxÜ�2‹wœ#˜b›'Ó!Ð!Ð!Ü�2‹wÐ0Ó0Ð0Ð0Ü˜9Ó%¬Ø5ó*
ó 
ð 	
ñ 
r   c                 ó,  • [        S5      n[        R                  " S5      n[        R                  " S5      n[        R                  " S5      n[        S5      U;   d   e[        S5      U;  d   eSU;   d   eSU;  d   eX!;  d   eX1;  d   eXA;   d   eg )NrA  rA   zTwisted-1.1.eggzTwisted-1.2.eggrF   ú1.1)r   r   rž   r
   )r    rB  Úfoo_distÚtwist11Útwist12s        r   ÚtestBasicContainsÚ"TestRequirements.testBasicContains#  sŸ   € Ü˜Ó'ˆÜ×-Ò-Ð.@ÓAˆÜ×,Ò,Ð->Ó?ˆÜ×,Ò,Ð->Ó?ˆÜ˜UÓ# qÓ(Ð(Ð(Ü˜UÓ#¨1Ó,Ð,Ð,Ø˜‹zÐˆzØ˜A‹~Ðˆ~ØÓ Ð Ð ØÓÐÐØ‹|Ð‰|r   c           
      ó  • [         R                  " S5      n[         R                  " S5      nX:X  d   e[        UR                  5      [        S5      :X  d   e[        UR                  5      [        S5      :X  d   e[	        U5      [	        U5      :X  d   e[	        U5      [	        SS [        S5      [        SS/5      S 45      :X  d   e[	        [         R                  " S5      5      [	        SS	[        5       [        5       S 45      :X  d   eg )
NzTwisted[foo,bar]>=1.2zTwisted[bar,FOO]>=1.2)r³   ÚbarÚtwistedz>=1.2r³   rT  rF  zhttps://localhost/twisted.zip)r   r  ré   r|   Úhashr   Ú	frozensetrG  s      r   ÚtestOptionsAndHashingÚ&TestRequirements.testOptionsAndHashing0  s   € Ü×ÒÐ6Ó7ˆÜ×ÒÐ6Ó7ˆØ‹xˆˆxÜ�2—9‘9‹~¤ ^Ó!4Ó4Ð4Ð4Ü�2—9‘9‹~¤ ^Ó!4Ó4Ð4Ð4Ü�B‹xœ4 ›8Ó#Ð#Ð#Ü�B‹xœ4ØØÜ˜Ó!Ü�u˜e�nÓ%Øð!
ó ó ð 	ð ô Ü×ÒÐGÓHó
äØØ+Ü‹NÜ‹KØð
ó óð 	ñ r   c                 ó@  • [         R                  " S5      n[         R                  " S5      n[        R                  nU" S5      U;  d   eU" S5      U;  d   eU" S5      U;  d   eU" S5      U;   d   eU" S5      U;   d   eU" S5      U;   d   eU" S5      U;   d   eg )Nz
foo==0.3a2z
foo!=0.3a4zfoo-0.3a4.eggzfoo-0.3a1.eggzfoo-0.3a2.eggzfoo-0.3a3.eggzfoo-0.3a5.egg)r   r  r   rž   )r    rH  rI  rc   s       r   ÚtestVersionEqualityÚ$TestRequirements.testVersionEqualityH  s²   € Ü×Ò˜|Ó,ˆÜ×Ò˜|Ó,ˆÜ×&Ñ&ˆá�Ó!¨Ó+Ð+Ð+Ù�Ó!¨Ó+Ð+Ð+Ù�Ó!¨Ó+Ð+Ð+á�Ó! RÓ'Ð'Ð'Ù�Ó! RÓ'Ð'Ð'Ù�Ó! RÓ'Ð'Ð'Ù�Ó! RÓ'Ð'Ñ'r   c                 ó4  • [         R                  " S5      R                  S:X  d   e[         R                  " S5      R                  S:X  d   e[         R                  " S5      R                  S:X  d   e[         R                  " S5      R                  S:X  d   eg)zA
The setuptools project should implement the setuptools package.
Ú
setuptoolszsetuptools == 0.7zsetuptools == 0.7a1zsetuptools >= 0.7N)r   r  r^   r.  s    r   ÚtestSetuptoolsProjectNameÚ*TestRequirements.testSetuptoolsProjectNameV  sƒ   € ô
 × Ò  Ó.×;Ñ;¸|ÓKÐKÐKä× Ò Ð!4Ó5×BÑBÀlÓRÐRÐRÜ× Ò Ð!6Ó7×DÑDÈÓTÐTÐTÜ× Ò Ð!4Ó5×BÑBÀlÓRÐRÑRr   r9   N)r2   r3   r4   r5   r  rJ  rQ  rX  r[  r_  r8   r9   r   r   r?  r?    s!   † ò	8ò
òòò0(õ	Sr   r?  c                   ó*  • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 r\R                  R                  S/ SQ5      S 5       rSr\R                  R                  S/ SQ\" \" \" \R+                  5       5      5      5      -   5      S 5       rS rSrg)ÚTestParsingib  c                 ó8   • [        [        S5      5      / :X  d   eg )NÚ )rJ   r	   r.  s    r   ÚtestEmptyParseÚTestParsing.testEmptyParsec  s   € ÜÔ& rÓ*Ó+¨rÓ1Ð1Ñ1r   c                 ó’   • / / 4SS/4/ // 4SSS/4SS/SS/44 H*  u  p[        [        R                  " U5      5      U:X  a  M*   e   g )Nrñ   z x
 yÚyzx

)rJ   r.   r/   )r    ÚinpÚouts      r   ÚtestYieldingÚTestParsing.testYieldingf  se   € à�ˆHØ�3�%ˆLØˆT�2ˆJØ˜˜S�zÐ"Ø�sˆ^˜c 3˜ZÐ(ó
‰HˆCô œ×1Ò1°#Ó6Ó7¸3Õ>Ð>Ð>ò
r   c                 ó   • Sn[        [        R                  " U5      5      S S/4SSS/4SS/4S/ 4S	S
/4/:X  d   e[        R                  " [
        5         [        [        R                  " S5      5        S S S 5        g ! , (       d  f       g = f)Na   
                    x
                    [Y]
                    z

                    a
                    [b ]
                    # foo
                    c
                    [ d]
                    [q]
                    v
                    rñ   ÚYÚzr   r   rÌ   rc   Úqr�   z[foo)rJ   r.   Úsplit_sectionsrP   rQ   r  )r    Úsamples     r   ÚtestSplittingÚTestParsing.testSplittingp  s�   € ðˆô ”M×0Ò0°Ó8Ó9Ø�C�5ˆMØ�3˜�*ÐØ�3�%ˆLØ�"ˆIØ�3�%ˆLð>
ó 
ð 	
ð 
ô �]Š]œ:Õ&Ü”×-Ò-¨fÓ5Ô6÷ '×&Ö&ús   Á A?Á?
Bc                 ó®   • [        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:w  d   eg )	Nzadns-pythonz
WSGI Utilsz
WSGI-UtilszWSGI  UtilsúMoney$$$MakerúMoney-Makerúpeak.webzpeak-web)r   r.  s    r   ÚtestSafeNameÚTestParsing.testSafeNameˆ  sa   € Ü˜Ó'¨=Ó8Ð8Ð8Ü˜Ó&¨,Ó6Ð6Ð6Ü˜Ó'¨<Ó7Ð7Ð7Ü˜Ó)¨]Ó:Ð:Ð:Ü˜Ó$¨
Ó2Ð2Ñ2r   c                 ó®   • [        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S	5      S	:X  d   eg )
Nz1.2-1z	1.2.post1z	1.2 alphaz	1.2.alphaz2.3.4 20050521z2.3.4.20050521rv  rw  rx  )r   r.  s    r   ÚtestSafeVersionÚTestParsing.testSafeVersion�  sc   € Ü˜GÓ$¨Ó3Ð3Ð3Ü˜KÓ(¨KÓ7Ð7Ð7ÜÐ,Ó-Ð1AÓAÐAÐAÜ˜OÓ,°Ó=Ð=Ð=Ü˜JÓ'¨:Ó5Ð5Ñ5r   c                 óÂ  • [        [        S5      5      [        S5      /:X  d   e[        [        S5      5      [        S5      /:X  d   e[        R                  " S5      [        S5      :X  d   e[        R
                  " [        5         [        R                  " S5        S S S 5        [        R
                  " [        5         [        R                  " S5        S S S 5        [        R
                  " [        5         [        R                  " S5        S S S 5        [        R
                  " [        5         [        R                  " S5        S S S 5        [        R
                  " [        5         [        R                  " S	5        S S S 5        g ! , (       d  f       Nó= f! , (       d  f       NË= f! , (       d  f       N£= f! , (       d  f       N{= f! , (       d  f       g = f)
NzTwis-Ted>=1.2-1zTwisted >=1.2, \ # more
<2.0zTwisted>=1.2,<2.0zFooBar==1.99a3z>=2.3zx\zx==2 qz	X==1
Y==2Ú#)rJ   r	   r   r  rP   rQ   r  r.  s    r   ÚtestSimpleRequirementsÚ"TestParsing.testSimpleRequirements–  sB  € ÜÔ&Ð'8Ó9Ó:ÜÐ)Ó*ð?
ó 
ð 	
ð 
ô Ô&Ð'GÓHÓIÜÐ+Ó,ðN
ó 
ð 	
ð 
ô × Ò Ð!1Ó2´kÐBRÓ6SÓSÐSÐSÜ�]Š]œ:Õ&Ü×Ò˜gÔ&÷ 'ä�]Š]œ:Õ&Ü×Ò˜eÔ$÷ 'ä�]Š]œ:Õ&Ü×Ò˜hÔ'÷ 'ä�]Š]œ:Õ&Ü×Ò˜lÔ+÷ 'ä�]Š]œ:Õ&Ü×Ò˜cÔ"÷ 'Ð&÷ 'Õ&úç&Õ&úç&Õ&úç&Õ&úç&Õ&ús<   ÂFÃFÃ:F.Ä3F?Å,GÆ
FÆ
F+Æ.
F<Æ?
GÇ
Gc                 ó„  • [         R                  " S5      [         R                  " S5      :X  d   e[         R                  " S5      [         R                  " S5      :w  d   e[         R                  " S5      [         R                  " S5      :w  d   e[         R                  " S5      [         R                  " S5      :w  d   eg )Nzfoobar;os_name=='a'zname==1.1;python_version=='2.7'zname==1.1;python_version=='3.6'zname==1.0;python_version=='2.7'zname==1.2;python_version=='2.7'z$name[foo]==1.0;python_version=='3.6'z(name[foo,bar]==1.0;python_version=='3.6')r   r  r.  s    r   Útest_requirements_with_markersÚ*TestParsing.test_requirements_with_markers©  sÌ   € Ü× Ò Ð!6Ó7¼;×;LÒ;LØ!ó<
ó 
ð 	
ð 
ô × Ò Ø-ó
ä×ÒÐ@ÓAóBð 	Bð Bô × Ò Ø-ó
ä×ÒÐ@ÓAóBð 	Bð Bô × Ò Ø2ó
ä×ÒÐIÓJóKð 	Kñ Kr   c                 ó   • [        S5        g )Nzfoo==1.0+org1©r	   r.  s    r   Útest_local_versionÚTestParsing.test_local_version·  s
   € Ü˜?Õ+r   c                 ó0   • [        S5        [        S5        g )Nzfoo>=1.0, <3zfoo >= 1.0, < 3r†  r.  s    r   Ú%test_spaces_between_multiple_versionsÚ1TestParsing.test_spaces_between_multiple_versionsº  s   € Ü˜>Ô*ÜÐ,Õ-r   )ÚlowerÚupper)
)z1.2-rc1z1.2rc1)ú0.4ú0.4.0)z0.4.0.0r�  )z0.4.0-0z0.4-0)Ú0post1z0.0post1)Ú0pre1ú0.0c1)z0.0.0preview1Ú0c1)r’  z0-rc1)z1.2a1z1.2.a.1)z1.2.az1.2ac                 ó8   • [        U5      [        U5      :X  d   eg r   ©r
   ©r    rŒ  r�  s      r   r[  ÚTestParsing.testVersionEquality¾  s   € ô  ˜UÓ#¤}°UÓ';Ó;Ð;Ñ;r   zœ
        0.80.1-3 0.80.1-2 0.80.1-1 0.79.9999+0.80.0pre4-1
        0.79.9999+0.80.0pre2-3 0.79.9999+0.80.0pre2-2
        0.77.2-1 0.77.1-1 0.77.0-1
        ))ú2.1ú2.1.1)Ú2a1Ú2b0)rš  r˜  )z2.3a1z2.3)ú2.1-1z2.1-2)rœ  r™  )r˜  z2.1post4)z2.1a0-20040501r˜  )rM  z02.1)z3.2z	3.2.post0)z3.2post1z3.2post2)rŽ  z4.0)z0.0.4r�  )r�  z0.4post1)z	2.1.0-rc1z2.1.0)z2.1devz2.1a0c                 ó8   • [        U5      [        U5      :  d   eg r   r•  r–  s      r   ÚtestVersionOrderingÚTestParsing.testVersionOrderingÖ  s   € ô. ˜UÓ#¤m°EÓ&:Ó:Ð:Ñ:r   c                 ó\   • [        [        S5      5      [        [        S5      5      :X  d   eg)zl
Ensure that our versions stay hashable even though we've subclassed
them and added some shim code to them.
z1.0N)rV  r
   r.  s    r   ÚtestVersionHashableÚTestParsing.testVersionHashableï  s&   € ô
 ”M %Ó(Ó)¬T´-ÀÓ2FÓ-GÓGÐGÑGr   r9   N)r2   r3   r4   r5   re  rk  rs  ry  r|  r€  rƒ  r‡  rŠ  rP   rÙ   r=  r[  ÚtorturerJ   r   ÚreversedrÕ   rž  r¡  r8   r9   r   r   rb  rb  b  s²   † ò2ò?ò7ò03ò6ò#ò&Kò,ò.ð ‡[�[×ÑØò	
óñ<óð<ð€Gð ‡[�[×ÑØò	
ñ$ ‰x™ §¡£Ó1Ó2Ó
3ñ%	4óñ,;ó-ð,;õHr   rb  c                   óà   • \ rS rSrSr\R                  S 5       r\R                  " SS9S 5       r\R                  R                  \R                  " 5       S:H  SS	9r\S
 5       r\S 5       rSrg)ÚTestNamespacesi÷  z8__import__('pkg_resources').declare_namespace(__name__)
c              #   ó8  #   • [        [        S5      (       d  [        U5      v •  g[        U5      S-   n[        R                  " [        U5      U5         [	        U5      " U5      v •  [        R
                  " U5        g! [        R
                  " U5        f = f7f)zu
Where available, return the tempdir as a symlink,
which as revealed in #231 is more fragile than
a natural tempdir.
ÚsymlinkNz-linked)rÛ   Úosrö   r¨  ÚtypeÚunlink)r    ÚtmpdirÚ	link_names      r   Úsymlinked_tmpdirÚTestNamespaces.symlinked_tmpdirú  sm   é € ô ”r˜9×%Ñ%Ü�f“+ÒØä˜“K )Ñ+ˆ	Ü
�
Š
”3�v“; 	Ô*ð	!Ü�v”,˜yÓ)Ò)ä�IŠI�iÕ øŒB�IŠI�iÕ üs   ‚ABÁA? Á(BÁ?BÂBT)Úautousec              #   óL  #   • [         R                  R                  5       n[        R                  SS nUR                  S5      n[        R                  R                  [        U5      5         Sv •  U[         l        U[        l        g! U[         l        U[        l        f = f7f)zt
Patch sys.path to include the 'site-pkgs' dir. Also
restore pkg_resources._namespace_packages to its
former state.
Nú	site-pkgs)r.   Ú_namespace_packagesÚcopyri   ÚpathÚmkdirÚappendrö   )r    r¬  Úsaved_ns_pkgsÚsaved_sys_pathÚ	site_pkgss        r   Úpatched_pathÚTestNamespaces.patched_path  ss   é € ô &×9Ñ9×>Ñ>Ó@ˆÜŸ™¡!˜ˆØ—L‘L Ó-ˆ	Ü�‰�‰œ˜I›Ô'ð	&Ûà0=ŒMÔ-Ø%ŒC�Høð 1>ŒMÔ-Ø%ŒC�Hüs   ‚A+B$Á.B	 Á2B$Â	B!Â!B$ÚWindowsz#591r…   c                 ó<  • UR                  5       nUn[        R                  R                  [	        US-  5      5        US-  US-  4nU HW  nUS-  nUS-  nUR                  5         US-  R                  U R                  SS9  US-  R                  U R                  SS9  MY     [        R                  " [        SS	9   S
SKnSSS5        S[        R                  ;   d   e[        R                  " [        SS	9   S
SKnSSS5        S[        R                  ;   d   e[        R                  S   S/:X  d   e[	        US-  S-  S-  5      [	        US-  S-  S-  5      /nWR                  R                   U:X  d   eg! , (       d  f       N¿= f! , (       d  f       N”= f)zà
Test nested namespace packages
Create namespace packages in the following tree :
    site-packages-1/pkg1/pkg2
    site-packages-2/pkg1/pkg2
Check both are in the _namespace_packages dict and that their __path__
is correct
ú
site-pkgs2r²  Úpkg1Úpkg2ú__init__.pyúutf-8©Úencodingúpkg_resources.declare_namespace©Úmatchr   Nz	pkg1.pkg2)Úrealpathri   rµ  r·  rö   Ú
ensure_dirÚ
write_textÚns_strrP   r8  ÚDeprecationWarningrÀ  r.   r³  Ú	pkg1.pkg2rÁ  Ú__path__)	r    r®  Úreal_tmpdirr¬  Ú	site_dirsÚsiterÀ  rÁ  rS   s	            r   Útest_two_levels_deepÚ#TestNamespaces.test_two_levels_deep  s�  € ð '×/Ñ/Ó1ˆØ!ˆÜ�‰�‰œ˜F \Ñ1Ó2Ô3Ø˜[Ñ(¨&°<Ñ*?Ð?ˆ	ÛˆDØ˜&‘=ˆDØ˜&‘=ˆDØ�O‰OÔØ�MÑ!×-Ñ-¨d¯k©kÀGÐ-ÑLØ�MÑ!×-Ñ-¨d¯k©kÀGÐ-ÓLñ ô �\Š\Ô,Ð4UÓVÛ÷ Wàœ×:Ñ:Ó:Ð:Ð:ä�\Š\Ô,Ð4UÓVÛ÷ Wð œm×?Ñ?Ó?Ð?Ð?Ü×0Ñ0°Ñ8¸[¸MÓIÐIÐIô �˜kÑ)¨FÑ2°VÑ;Ó<Ü�˜lÑ*¨VÑ3°fÑ<Ó=ð
ˆð �y‰y×!Ñ! XÓ-Ð-Ñ-÷ WÕVú÷ WÕVús   Â>E<Ã:FÅ<
F
Æ
Fc                 óz  • UnUS-  US-  US-  4nSn[        US5       H  u  pVUS:”  a(  [        R                  R                  [	        U5      5        US-  nUS-  nUR                  5         US-  R                  U R                  S	S
9  US-  R                  XE-  S	S
9  M�     [        R                  " [        SS9   SSKnSSKnSSS5        U Vs/ s H  n[	        UR                  5       S-  5      PM!     n	nWR                  U	:X  d   eUR                  R                   S:X  d   eg! , (       d  f       Ni= fs  snf )a&  
Test that if multiple versions of the same namespace package subpackage
are on different sys.path entries, that only the one earliest on
sys.path is imported, and that the namespace package's __path__ is in
the correct order.

Regression test for https://github.com/pypa/setuptools/issues/207
r²  r¿  z
site-pkgs3z__version__ = %rrG   ÚnspkgÚsubpkgrÂ  rÃ  rÄ  rÆ  rÇ  r   N)Ú	enumerateri   rµ  r·  rö   rÊ  rË  rÌ  rP   r8  rÍ  rÖ  Únspkg.subpkgrÉ  rÏ  r×  Ú__version__)
r    r®  r¬  rÑ  Úvers_strÚnumberrÒ  rÖ  r×  rS   s
             r   Útest_path_orderÚTestNamespaces.test_path_orderC  s2  € ð "ˆà�[Ñ Ø�\Ñ!Ø�\Ñ!ð
ˆ	ð &ˆä% i°Ö3‰LˆFØ˜‹zÜ—‘—‘¤ D£	Ô*Ø˜7‘NˆEØ˜XÑ%ˆFØ×ÑÔØ�]Ñ"×.Ñ.¨t¯{©{ÀWÐ.ÑMØ�mÑ#×/Ñ/°Ñ0AÈGÐ/ÓTñ 4ô �\Š\Ô,Ð4UÓVÛÛ÷ Wñ @IÓIºy°t”C˜Ÿ™›¨'Ñ1Ö2¹yˆÐIØ�~‰~ Ó)Ð)Ð)Ø�|‰|×'Ñ'¨1Ó,Ð,Ñ,÷ WÕVüò Js   Â;	D'Ã&D8Ä'
D5r9   N)r2   r3   r4   r5   rÌ  rP   Úfixturer®  r»  rÙ   rÞ   r>   ÚsystemÚissue591rÓ  rÝ  r8   r9   r   r   r¦  r¦  ÷  sˆ   † ØH€Fà‡^�^ñ!ó ð!ð" ‡^‚^˜DÑ!ñ&ó "ð&ð  �{‰{× Ñ  §¢Ó!2°iÑ!?ÈÐ ÐO€Hàñ!.ó ð!.ðF ñ!-ó ó!-r   r¦  )r   r©  r>   r  ri   rP   Úpackaging.specifiersr   r.   r   r   r   r   r   r	   r
   r   r   r   ÚEmptyProviderr   rž   rL   r;   rá   rî   r?  rb  r¦  r9   r   r   Ú<module>rä     s§   ðÛ Û 	Û Û Û 
ã Ý -ã ÷
÷ 
õ 
òôBˆ}×*Ñ*ô Bð  ×)Ñ)×7Ñ7€÷| ñ | ÷~	'(ñ '(÷Tn#ñ n#÷bRSñ RS÷jRHñ RH÷jn-ò n-r   