+
    'Ýhv$  ã                   ón  € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
HtHt ^ RIHtHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHtHt ] P2                  ! ]4      tR$t]! R
R7       ! R R4      4       tR R ltR R ltR R lt R%R R llt!R R lt"R R lt#R R lt$R R lt%R R lt&R  R! lt'R" R# lt(R# )&é    N)Ú	dataclass)ÚPath)ÚListÚOptionalÚSetÚTuple)ÚInvalidRequirementÚRequirement)ÚSpecifierSet)Úcanonicalize_name)Úhazard)Ú	PipxErrorÚ	pipx_wrapT)Úfrozenc                   ó,   a € ] tR t^t o V 3R ltRtV tR# )ÚParsedPackagec                ón   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   # )é   Úvalid_pep508Ú	valid_urlÚvalid_local_path)r   r
   Ústr)ÚformatÚ__classdict__s   "€Ú8/usr/lib/python3/dist-packages/pipx/package_specifier.pyÚ__annotate__ÚParsedPackage.__annotate__   s7   ø‡ ‚ á™;Õ'Ñ'ñ ñ ™�}Ññ ñ ™s•mÑ#ò	 ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      s   ø‡ ‡ „ r   r   c                óR   € V ^8„  d   QhR\         R\        \         \         3,          /# ©r   Úpackage_specÚreturn)r   r   )r   s   "r   r   r   #   s"   € ÷ "ñ "¤Sð "¬U´3¼°8­_ñ "r   c                óŒ   € \         P                  ! RV 4      pV'       d#   VP                  ^4      VP                  ^4      3# V R3# )zReturns (path, extras_string)z(.+)(\[.+\])Ú )ÚreÚsearchÚgroup)r)   Úpackage_spec_extras_res   & r   Ú_split_path_extrasr1   #   sC   € äŸYšY ¸ÓEÐßØ&×,Ñ,¨QÓ/Ð1G×1MÑ1MÈaÓ1PÐQÐQà˜bÐ!Ð!r   c                óR   € V ^8„  d   QhR\         R\        \        \        3,          /# )r   Úpackage_pathr*   )r   r   r   Úbool)r   s   "r   r   r   ,   s#   € ÷ 'ñ '¤cð '¬e´D¼$°JÕ.?ñ 'r   c                 ó>   € \        V 4      pVP                  4       pW3# ©N)r   Úexists)r3   Úpkg_pathÚpkg_path_existss   &  r   Ú_check_package_pathr:   ,   s!   € Ü�LÓ!€HØ—o‘oÓ'€OàÐ&Ð&r   c                ó0   € V ^8„  d   QhR\         R\        /# r(   )r   r   )r   s   "r   r   r   3   s   € ÷ 6ñ 6¤3ð 6¬=ñ 6r   c                ó   € RpRpRp \        V 4      pTpV'       dm   XP                  P                  \        4      '       dH   \        VP                  4      w  rVV'       d   \        VP                  4       4      pM\        V R24      hV'       gF   \        P                  P                  V 4      pVP                  '       d   VP                  '       d   T pV'       gK   V'       gC   \        V 4      w  r‰\        V4      w  rVV'       d!   \        VP                  4       4      V	,           pV'       g   V'       g   V'       g   \        RV  24      hV'       d   V'       d   Rp\        VVVR7      #   \         d     ELgi ; i)z,Parse package_spec as would be given to pipxNz does not existzUnable to parse package spec: )r   r   r   )r
   r	   ÚnameÚendswithÚARCHIVE_EXTENSIONSr:   r   Úresolver   ÚurllibÚparseÚurlsplitÚschemeÚnetlocr1   r   )
r)   r   r   r   Úpackage_reqr3   Úpackage_path_existsÚ
parsed_urlÚpackage_path_strÚpackage_extras_strs
   &         r   Ú_parse_specifierrK   3   sH  € ð €LØ€IØÐð#Ü! ,Ó/ˆð #ˆç˜×(Ñ(×1Ñ1Ô2D×EÒEä.AÀ+×BRÑBRÓ.SÑ+ˆçÜ" <×#7Ñ#7Ó#9Ó:Ñä˜|˜n¨OÐ<Ó=Ð=÷ Ü—\‘\×*Ñ*¨<Ó8ˆ
Ø××Ð ×!2×!2Ð!2Ø$ˆI÷ §	Ü1CÀLÓ1QÑ.Ð	Ü.AÐBRÓ.SÑ+ˆßÜ" <×#7Ñ#7Ó#9Ó:Ð=OÕOÐç§	×2BÜÐ8¸¸ÐGÓHÐHç×(ð ˆäØ!ØØ)ôð øôM ô âðús   ˆE. Å.E=Å<E=c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r   ÚrequirementÚremove_version_specifiersr*   )r
   r4   r   )r   s   "r   r   r   l   s#   € ÷ ñ ¬Kð ÔTXð Ôehñ r   c                 óŠ   € R V n         \        V P                  4      V n        V'       d   \        R4      V n        \        V 4      # )Nr,   )Úmarkerr   r=   r   Ú	specifierr   )rM   rN   s   &&r   Úpackage_or_url_from_pep508rR   l   s8   € Ø€KÔÜ(¨×)9Ñ)9Ó:€KÔß Ü ,¨RÓ 0ˆÔÜˆ{ÓÐr   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r   Úparsed_packagerN   r*   )r   r4   r   )r   s   "r   r   r   t   s#   € ÷ ñ ´mð Ô`dð Ôilñ r   c           	      óš  € V P                   ep   V P                   P                  e@   \        P                  \	        R\
         RV P                   P                   R2RR7      4       \        V P                   VR7      pM5V P                  e   V P                  pMV P                  e   V P                  p\        P                  RX 24       V# )Nz
                    z4  Ignoring environment markers
                    (zŽ) in package
                    specification. Use pipx options to specify this type of
                    information.
                    ©Úsubsequent_indent©rN   zcleaned package spec: ú    )
r   rP   ÚloggerÚwarningr   r   rR   r   r   Úinfo)rT   rN   Úpackage_or_urls   && r   Ú!_parsed_package_to_package_or_urlr^   t   sÇ   € Ø×"Ñ"Ò.Ø×&Ñ&×-Ñ-Ò9Ü�N‰NÜðÜ�Hð Ø$×1Ñ1×8Ñ8Ð9ð :ðð '.ôô
ô 4Ø×'Ñ'Ø&?ô
‰ð 
×	!Ñ	!Ò	-Ø'×1Ñ1‰Ø	×	(Ñ	(Ò	4Ø'×8Ñ8ˆä
‡K�KÐ(¨Ð(8Ð9Ô:ØÐr   c          	      óŠ   € V ^8„  d   QhR\         R\        \         ,          R\        \         \        \         ,          3,          /# )r   r)   Úpip_argsr*   )r   r   r   )r   s   "r   r   r   �   s7   € ÷ +$ñ +$¬cð +$¼TÄ#½Yð +$Ì5ÔQTÔVZÔ[^ÕV_ÐQ_ÕK`ñ +$r   c                óš  € \        V 4      p\        VRR7      pRV9   dL   VP                  '       g:   \        P	                  \        R\         R2RR7      4       VP                  R4       \        V4       FÐ  w  rEVP                  R	4      '       g   K  VR	9   dU   V^,           pV\        V4      8  d;   W,          p\        \        V4      P                  4       P                  4       4      W&   MUVP                  R4      p\        V4      ^8X  d5   Vw  rš\        V
4      P                  4       P                  4       pV	 RV 2W&    W13# 	  W13# )
zêReturn package_or_url and pip_args suitable for pip install

Specifically:
* Strip any markers (e.g. python_version > "3.4")
* Ensure --editable is removed for any package_spec not a local path
* Convert local paths to absolute paths
FrX   z
--editableú
                z·  Ignoring --editable install option. pipx disallows it
                for anything but a local path, to avoid having to create a new
                src/ directory.
                rV   Ú=rY   )z-cz--constraint)rK   r^   r   rZ   r[   r   r   ÚremoveÚ	enumerateÚ
startswithÚlenr   r   Ú
expanduserr@   Úsplit)r)   r`   rT   r]   ÚindexÚoptionÚargument_indexÚconstraints_fileÚoption_listÚkeyÚvalueÚ
value_paths   &&          r   Úparse_specifier_for_installrr   �   sD  € ô & lÓ3€NÜ6°~ÐafÔg€NØ�xÔ¨×(G×(GÐ(GÜ�‰ÜðÜ�ð ðð
 #*ôô		
ð 	�‰˜Ô%ä" 8Ö,‰ˆØ× Ñ Ð!7×8Ò8ÙàÐ+Ô+Ø" Q�YˆNØ¤ H£Ô-Ø#+Õ#;Ð Ü+.¬tÐ4DÓ/E×/PÑ/PÓ/R×/ZÑ/ZÓ/\Ó+]�Ñ(øð !Ÿ,™, sÓ+ˆKä�;Ó 1Ô$Ø(‘
�Ü! %›[×3Ñ3Ó5×=Ñ=Ó?�
Ø%( E¨¨:¨,Ð"7�‘ààÐ#Ð#ñ) -ð( Ð#Ð#r   c                ó0   € V ^8„  d   QhR\         R\         /# r(   ©r   )r   s   "r   r   r   ½   s   € ÷ ^ñ ^¬sð ^´sñ ^r   c                ó2   € \        V 4      p\        VRR7      # )z˜Return package_or_url suitable for pipx metadata

Specifically:
* Strip any markers (e.g. python_version > 3.4)
* Convert local paths to absolute paths
FrX   ©rK   r^   ©r)   rT   s   & r   Úparse_specifier_for_metadatarx   ½   s   € ô & lÓ3€NÜ,¨^ÐW\Ô]Ð]r   c                ó0   € V ^8„  d   QhR\         R\         /# r(   rt   )r   s   "r   r   r   È   s   € ÷ 	]ñ 	]¬cð 	]´cñ 	]r   c                ó2   € \        V 4      p\        VRR7      # )zÍReturn package_or_url suitable for pip upgrade

Specifically:
* Strip any version specifiers (e.g. package == 1.5.4)
* Strip any markers (e.g. python_version > 3.4)
* Convert local paths to absolute paths
TrX   rv   rw   s   & r   Úparse_specifier_for_upgrader{   È   s   € ô & lÓ3€NÜ,¨^ÐW[Ô\Ð\r   c                óF   € V ^8„  d   QhR\         R\        \         ,          /# r(   )r   r   )r   s   "r   r   r   Ô   s   € ÷ ñ œSð ¤S¬¥Xñ r   c                 ó6  € \        V 4      pVP                  '       d/   VP                  P                  e   VP                  P                  # VP                  '       d4   \	        VP                  4      w  r#\        RV,           4      P                  # \        4       # )NÚnotapackage)rK   r   Úextrasr   r1   r
   Úset)r)   rT   Ú_rJ   s   &   r   Ú
get_extrasr‚   Ô   sx   € Ü% lÓ3€NØ×"×"Ð" ~×'BÑ'B×'IÑ'IÒ'UØ×*Ñ*×1Ñ1Ð1Ø	×	(×	(Ð	(Ü"4°^×5TÑ5TÓ"UÑˆÜ˜=Ð+=Õ=Ó>×EÑEÐEä‹5€Lr   c                óF   € V ^8„  d   QhR\         R\        \         ,          /# r(   )r   r   )r   s   "r   r   r   ß   s   € ÷ /ñ /¤#ð /¬(´3­-ñ /r   c                 óÚ   €  \        V 4      pTP                  '       g&   TP                  P	                  \
        4      '       d   R # \        TP                  4      #   \         d     R # i ; ir6   )r
   r	   Úurlr=   r>   r?   r   )r)   rF   s   & r   Úvalid_pypi_namer†   ß   s]   € ðÜ! ,Ó/ˆð
 ‡‡€˜+×*Ñ*×3Ñ3Ô4F×GÒGñ ä˜[×-Ñ-Ó.Ð.øô ô âðús   ‚A ÁA*Á)A*c                ó<   € V ^8„  d   QhR\         R\         R\         /# )r   r]   Úpackage_namer*   rt   )r   s   "r   r   r   ï   s!   € ÷ ñ ¤Sð ¼ð Äñ r   c                 ó„  €  \        V 4      pTP                  P                  \        4      '       d   \        T4      # \        TP                  4      \        T4      8w  d?   \        P                  \        R \         RTP                  : RT: RT: R2	RR7      4       Yn        \        T4      #   \         d    T u # i ; i)rb   z9  Name supplied in package specifier was
                z but package found has name z.
                Using z.
                rV   rY   )r
   r	   r=   r>   r?   r   r   rZ   r[   r   r   )r]   rˆ   rF   s   && r   Úfix_package_namerŠ   ï   sË   € ðÜ! .Ó1ˆð
 ×Ñ× Ñ Ô!3×4Ò4Ü�;ÓÐä˜×)Ñ)Ó*Ô.?ÀÓ.MÔMÜ�‰ÜðÜ�ð Ø×!Ñ!Ñ$Ð$@ÀÑ@Pð QØ#Ñ&ð 'ðð
 #*ôô		
ð $Ôäˆ{ÓÐøô) ô àÒðús   ‚B/ Â/B?Â>B?)z.whlz.tar.gzz.zip)F))Úloggingr-   Úurllib.parserA   Údataclassesr   Úpathlibr   Útypingr   r   r   r   Úpackaging.requirementsr	   r
   Úpackaging.specifiersr   Úpackaging.utilsr   Úpipx.emojisr   Ú	pipx.utilr   r   Ú	getLoggerr    rZ   r?   r   r1   r:   rK   rR   r^   rr   rx   r{   r‚   r†   rŠ   r   r   r   Ú<module>r–      sš   ðó Û 	Û Ý !Ý ß -Ó -ç BÝ -Ý -å ß *à	×	Ò	˜8Ó	$€à0Ð ñ �$Ô÷$ð $ó ð$õ"õ'õ6÷rõõ6+$õ\^õ	]õõ/÷ r   