Ë
    äØjjh  ã            	       óT  — d dl Z d dlmZmZmZmZmZ ddlmZm	Z	 ddl
mZmZ eed   eeef   f   Z ede«      Z G d„ d	e«      Z G d
„ de«      Z e j(                  d«      Z e j(                  d«      Zdedefd„Zdeeef   defd„Zdedeeeeee   f   fd„Zdedeeef   fd„Zy)é    N)Ú	FrozenSetÚNewTypeÚTupleÚUnionÚcasté   )ÚTagÚ	parse_tag)ÚInvalidVersionÚVersion© ÚNormalizedNamec                   ó   — e Zd ZdZy)ÚInvalidWheelFilenamezM
    An invalid wheel filename was found, users should refer to PEP 427.
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ó    ú]/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_vendor/packaging/utils.pyr   r      ó   „ òr   r   c                   ó   — e Zd ZdZy)ÚInvalidSdistFilenamez^
    An invalid sdist filename was found, users should refer to the packaging user guide.
    Nr   r   r   r   r   r      r   r   r   z[-_.]+z	(\d+)(.*)ÚnameÚreturnc                 ój   — t         j                  d| «      j                  «       }t        t        |«      S )Nú-)Ú_canonicalize_regexÚsubÚlowerr   r   )r   Úvalues     r   Úcanonicalize_namer#       s*   € ä×#Ñ# C¨Ó.×4Ñ4Ó6€EÜ” Ó&Ð&r   Úversionc           
      óä  — t        | t        «      r	 t        | «      }n| }g }|j                  dk7  r|j                  |j                  › d�«       |j                  t        j                  dddj                  d„ |j                  D «       «      «      «       |j                  �1|j                  dj                  d„ |j                  D «       «      «       |j                  �|j                  d|j                  › �«       |j                  �|j                  d	|j                  › �«       |j                  �|j                  d
|j                  › �«       dj                  |«      S # t        $ r | cY S w xY w)z�
    This is very similar to Version.__str__, but has one subtle difference
    with the way it handles the release segment.
    r   ú!z(\.0)+$Ú ú.c              3   ó2   K  — | ]  }t        |«      –— Œ y ­w©N©Ústr©Ú.0Úxs     r   ú	<genexpr>z'canonicalize_version.<locals>.<genexpr><   s   è ø€ Ò0P¸A´°Q·Ñ0Pùó   ‚c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr*   r+   r-   s     r   r0   z'canonicalize_version.<locals>.<genexpr>@   s   è ø€ Ò8¨œS ŸVÑ8ùr1   z.postz.devú+)Ú
isinstancer,   r   r   ÚepochÚappendÚrer    ÚjoinÚreleaseÚpreÚpostÚdevÚlocal)r$   ÚparsedÚpartss      r   Úcanonicalize_versionr@   &   s5  € ô
 �'œ3Ôð	Ü˜WÓ%‰Fð
 ˆà€Eð ‡|�|�qÒØ�‰˜Ÿ™�~ QÐ'Ô(ð 
‡L�L”—‘˜
 B¨¯©Ñ0PÀÇÁÔ0PÓ(PÓQÔRð ‡z�zÐØ�‰�R—W‘WÑ8¨V¯Z©ZÔ8Ó8Ô9ð ‡{�{ÐØ�‰�u˜VŸ[™[˜MÐ*Ô+ð ‡z�zÐØ�‰�t˜FŸJ™J˜<Ð(Ô)ð ‡|�|ÐØ�‰�q˜Ÿ™˜Ð'Ô(à�7‰7�5‹>ÐøôA ò 	àŠNð	ús   ’E! Å!E/Å.E/Úfilenamec                 ój  — | j                  d«      st        d| › �«      ‚| d d } | j                  d«      }|dvrt        d| › �«      ‚| j                  d|dz
  «      }|d   }d	|v s%t	        j
                  d
|t        j                  «      €t        d| › �«      ‚t        |«      }t        |d   «      }|dk(  rh|d   }t        j                  |«      }|€t        d|› d| › d�«      ‚t        t        t        |j                  d«      «      |j                  d«      f«      }nd}t        |d   «      }	||||	fS )Nz.whlz3Invalid wheel filename (extension must be '.whl'): éüÿÿÿr   )é   é   z0Invalid wheel filename (wrong number of parts): é   r   Ú__z^[\w\d._]*$zInvalid project name: r   rE   zInvalid build number: z in 'ú'r   éÿÿÿÿ)Úendswithr   ÚcountÚsplitr7   ÚmatchÚUNICODEr#   r   Ú_build_tag_regexr   ÚBuildTagÚintÚgroupr
   )
rA   Údashesr?   Ú	name_partr   r$   Ú
build_partÚbuild_matchÚbuildÚtagss
             r   Úparse_wheel_filenamerY   Q   s`  € ð ×Ñ˜VÔ$Ü"ØAÀ(ÀÐLó
ð 	
ð ˜˜ˆ}€HØ�^‰^˜CÓ €FØ�VÑÜ"Ø>¸x¸jÐIó
ð 	
ð �N‰N˜3 ¨¡
Ó+€EØ�a‘€IàˆyÑœBŸH™H ^°YÄÇ
Á
ÓKÐSÜ"Ð%;¸H¸:Ð#FÓGÐGÜ˜YÓ'€DÜ�e˜A‘hÓ€GØ�‚{Ø˜1‘Xˆ
Ü&×,Ñ,¨ZÓ8ˆØÐÜ&Ø(¨¨°E¸(¸À1ÐEóð ô ”X¤ K×$5Ñ$5°aÓ$8Ó 9¸;×;LÑ;LÈQÓ;OÐPÓQ‰àˆÜ�U˜2‘YÓ€DØ�'˜5 $Ð'Ð'r   c                 ó   — | j                  d«      r| d t        d«        }n/| j                  d«      r| d t        d«        }nt        d| › �«      ‚|j                  d«      \  }}}|st        d| › �«      ‚t	        |«      }t        |«      }||fS )Nz.tar.gzz.zipz@Invalid sdist filename (extension must be '.tar.gz' or '.zip'): r   zInvalid sdist filename: )rJ   Úlenr   Ú
rpartitionr#   r   )rA   Ú	file_stemrT   ÚsepÚversion_partr   r$   s          r   Úparse_sdist_filenamer`   u   s¬   € Ø×Ñ˜Ô#ØÐ.¤ I£˜Ð/‰	Ø	×	Ñ	˜6Ô	"Ø˜^¤ F£˜|Ð,‰	ä"ðØˆzðó
ð 	
ð $-×#7Ñ#7¸Ó#<Ñ €Iˆs�LÙÜ"Ð%=¸h¸ZÐ#HÓIÐIä˜YÓ'€DÜ�lÓ#€GØ�'ˆ?Ðr   )r7   Útypingr   r   r   r   r   rX   r	   r
   r$   r   r   rQ   r,   rP   r   Ú
ValueErrorr   r   Úcompiler   rO   r#   r@   rY   r`   r   r   r   ú<module>rd      sï   ðó
 
ß 9Õ 9ç  ß ,à��r‘˜E # s (™OÐ+Ñ,€ÙÐ)¨3Ó/€ô˜:ô ô˜:ô ð !�b—j‘j Ó+Ð à�2—:‘:˜lÓ+Ð ð'˜Cð ' Nó 'ð( %¨°¨Ñ"5ð (¸#ó (ðV!(Øð!(à
ˆ>˜7 H¨i¸©nÐ<Ñ=ó!(ðH 3ð ¨5°ÀÐ1HÑ+Iô r   