+
    Îih                    f    R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt	 ^ RIH
t
 ^ RIHt  ! R R4      tR# )	z`Represents a wheel file and provides access to the various parts of the
name that have meaning.
)annotations)Iterable)Tag)InvalidWheelFilename)parse_wheel_filenamec                  V    ] tR t^tRtR R ltR R ltR R ltR R	 ltR
 R lt	Rt
R# )WheelzA wheel filec                    V ^8  d   QhRRRR/# )   filenamestrreturnNone )formats   "i/Users/ahmad/.openclaw/workspace/scripts/.venv/lib/python3.14/site-packages/pip/_internal/models/wheel.py__annotate__Wheel.__annotate__   s     	% 	% 	% 	%    c                	    Wn          \        V4      pTw  T n        q@n        T n        \        T4      T n	        R#   \         d#   p\        TP                  ^ ,          4      RhRp?ii ; i)    N)
r   r   _PackagingInvalidWheelFilenamer   argsname	build_tag	file_tagsr   version)selfr   
wheel_infoe_versions   &&   r   __init__Wheel.__init__   s]     	<-h7J ?I;	8^T^8}	 . 	<&qvvay1t;	<s   : A'A""A'c                   V ^8  d   QhRR/# )r
   r   z	list[str]r   )r   s   "r   r   r       s     : : :r   c                :    \        R V P                   4       4      # )z4Return the wheel's tags as a sorted list of strings.c              3  8   "   T F  p\        V4      x  K  	  R # 5iN)r   ).0tags   & r   	<genexpr>0Wheel.get_formatted_file_tags.<locals>.<genexpr>"   s     9.3c#hh.s   )sortedr   )r   s   &r   get_formatted_file_tagsWheel.get_formatted_file_tags    s    9$..999r   c                    V ^8  d   QhRRRR/# )r
   tags	list[Tag]r   intr   )r   s   "r   r   r   $   s      i C r   c                t   a   \        V 3R l\        V4       4       4      #   \         d    \        4       hi ; i)a  Return the lowest index that one of the wheel's file_tag combinations
achieves in the given list of supported tags.

For example, if there are 8 supported tags and one of the file tags
is first in the list, then return 0.

:param tags: the PEP 425 tags to check the wheel against, in order
    with most preferred first.

:raises ValueError: If none of the wheel's file tags match one of
    the supported tags.
c              3  R   <"   T F  w  rVSP                   9   g   K  Vx  K  	  R # 5ir&   )r   )r'   itr   s   &  r   r)   *Wheel.support_index_min.<locals>.<genexpr>2   s      Modadnn9Los   '
')next	enumerateStopIteration
ValueErrorr   r/   s   f&r   support_index_minWheel.support_index_min$   s4    	MioMMM 	,	s   ! 7c               $    V ^8  d   QhRRRRRR/# )r
   r/   r0   tag_to_priorityzdict[Tag, int]r   r1   r   )r   s   "r   r   r   6   s$     
 

0>
	
r   c                B   a \        V3R lV P                   4       4      # )aX  Return the priority of the most preferred tag that one of the wheel's file
tag combinations achieves in the given list of supported tags using the given
tag_to_priority mapping, where lower priorities are more-preferred.

This is used in place of support_index_min in some cases in order to avoid
an expensive linear scan of a large list of tags.

:param tags: the PEP 425 tags to check the wheel against.
:param tag_to_priority: a mapping from tag to priority of that tag, where
    lower is more preferred.

:raises ValueError: If none of the wheel's file tags match one of
    the supported tags.
c              3  F   <"   T F  qS9   g   K  SV,          x  K  	  R # 5ir&   r   )r'   r(   r?   s   & r   r)   0Wheel.find_most_preferred_tag.<locals>.<genexpr>G   s$      
,:S_>T OC  Ns   !!)minr   )r   r/   r?   s   &&fr   find_most_preferred_tagWheel.find_most_preferred_tag6   s#    "  
,0NN
 
 	
r   c                    V ^8  d   QhRRRR/# )r
   r/   zIterable[Tag]r   boolr   )r   s   "r   r   r   K   s     3 3m 3 3r   c                B    V P                   P                  V4      '       * # )z~Return whether the wheel is compatible with one of the given tags.

:param tags: the PEP 425 tags to check the wheel against.
)r   
isdisjointr;   s   &&r   	supportedWheel.supportedK   s    
 >>,,T222r   )r   r   r   r   r   N)__name__
__module____qualname____firstlineno____doc__r!   r,   r<   rD   rJ   __static_attributes__r   r   r   r   r      s#    	%:$
*3 3r   r   N)rP   
__future__r   collections.abcr   pip._vendor.packaging.tagsr   pip._vendor.packaging.utilsr   r   r   pip._internal.exceptionsr   r   r   r   <module>rW      s,    # $ * = 9>3 >3r   