+
    iW%                      a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
HtHtHtHt ^RIHtHtHtHt RtRtRt0 R(mt]P0                  R R	 l4       tR
 R ltR R ltR R lt]P:                  ! R 4      tR]R&    ! R R]4      t R R lt!R R lt"R R lt#R R lt$]PJ                  R R l4       t&R R  lt'] ! ^^4      R!] ! ^^4      R"] ! ^^4      R#/t(R$]R%&   R& R' lt)R# ))    )annotationsN)	GeneratorIterator
NamedTupleSequence)EIClassEIDataELFFileEMachinel      ~ i   i   c                    V ^8  d   QhRRRR/# )   pathstrreturnz%Generator[ELFFile | None, None, None] )formats   "g/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/pip/_vendor/packaging/_manylinux.py__annotate__r       s      S B     c              #     "    \        V R 4      ;_uu_ 4       p\        V4      x  RRR4       R#   + '       g   i     R# ; i  \        \        \        3 d	    Rx   R# i ; i5i)rbN)openr
   OSError	TypeError
ValueError)r   fs   & r   
_parse_elfr      sK     $!* Y
+ 
sE   A%A 0A A%A	A A%A A"A%!A""A%c                    V ^8  d   QhRRRR/# r   
executabler   r   boolr   )r   s   "r   r   r   (   s     
 
 
 
r   c                   \        V 4      ;_uu_ 4       pVR J;'       d    VP                  \        P                  8H  ;'       d    VP                  \
        P                  8H  ;'       dj    VP                  \        P                  8H  ;'       dE    VP                  \        ,          \        8H  ;'       d    VP                  \        ,          \        8H   uuR R R 4       #   + '       g   i     R # ; iN)r   capacityr   C32encodingr	   Lsbmachiner   ArmflagsEF_ARM_ABIMASKEF_ARM_ABI_VER5EF_ARM_ABI_FLOAT_HARDr    r   s   & r   _is_linux_armhfr/   (   s     
J		1TM I I

gkk)I I

fjj(I I 		X\\)I I .(O;	I I
 //3HH	
 
 			s#   0C$C*$C%C5CC0	c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r   7   s     
 
s 
t 
r   c                N   \        V 4      ;_uu_ 4       pVR J;'       dh    VP                  \        P                  8H  ;'       dC    VP                  \
        P                  8H  ;'       d    VP                  \        P                  8H   uuR R R 4       #   + '       g   i     R # ; ir#   )
r   r$   r   r%   r&   r	   r'   r(   r   I386r.   s   & r   _is_linux_i686r3   7   sz    	J		1TM + +

gkk)+ +

fjj(+ + 		X]]*		
 
 			s   0B$B*BB$	c               $    V ^8  d   QhRRRRRR/# )r   r    r   archsSequence[str]r   r!   r   )r   s   "r   r   r   A   s!     9 9S 9 94 9r   c                    R V9   d   \        V 4      # RV9   d   \        V 4      # \        ;QJ d    R V 4       F  '       g   K   R# 	  R# ! R V 4       4      # )armv7li686c              3  2   "   T F  q\         9   x  K  	  R # 5ir#   )_ALLOWED_ARCHS).0archs   & r   	<genexpr>'_have_compatible_abi.<locals>.<genexpr>F   s     8%$~%%s   TF)r/   r3   any)r    r5   s   &&r   _have_compatible_abirA   A   sP    5z**j))38%83383838%888r   c                     ^2# )2   r   r   r   r   <lambda>rD   N   s    Br   zdict[int, int]_LAST_GLIBC_MINORc                  ,    ] tR t^Qt$ R]R&   R]R&   RtR# )_GLibCVersionintmajorminorr   N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r   r   r   rG   rG   Q   s    JJr   rG   c                   V ^8  d   QhRR/# r   r   z
str | Noner   )r   s   "r   r   r   V   s      z r   c                      \         P                  ! R4      p V f   Q hV P                  4       w  rV#   \        \        \
        \        3 d     R# i ; i)zB
Primary implementation of glibc_version_string using os.confstr.
CS_GNU_LIBC_VERSIONN)osconfstrrsplitAssertionErrorAttributeErrorr   r   )version_string_versions      r   _glibc_version_string_confstrr]   V   sV    %'ZZ0E%F)))#**,
 N NGZ@ s   .2 AAc                   V ^8  d   QhRR/# rR   r   )r   s   "r   r   r   i   s     ) )j )r   c                 8    ^ RI p  T P                  R4      p TP                  pT P                  Tn        T! 4       p\        T\        4      '       g   TP                  R4      pT#   \         d     R# i ; i  \         d     R# i ; i  \
         d     R# i ; i)z?
Fallback implementation of glibc_version_string using ctypes.
Nascii)ctypesImportErrorCDLLr   gnu_get_libc_versionrY   c_char_prestype
isinstancer   decode)ra   process_namespacerd   version_strs       r   _glibc_version_string_ctypesrk   i   s    ""KK-0EE $*?? +-Kk3''!((1G  $  
   s3   A& A8 B
 &A54A58BB
BBc                   V ^8  d   QhRR/# rR   r   )r   s   "r   r   r      s     M Mz Mr   c                 :    \        4       ;'       g    \        4       # )z9Returns glibc version string, or None if not using glibc.)r]   rk   r   r   r   _glibc_version_stringrn      s    (*LL.J.LLr   c                    V ^8  d   QhRRRR/# )r   rj   r   r   rG   r   )r   s   "r   r   r      s     G Gc Gm Gr   c                   \         P                  ! RV 4      pV'       g-   \        P                  ! RV  2\        ^R7       \        RR4      # \        \        VP                  R4      4      \        VP                  R4      4      4      # )a  Parse glibc version.

We use a regexp instead of str.split because we want to discard any
random junk that might come after the minor version -- this might happen
in patched/forked versions of glibc (e.g. Linaro's version of glibc
uses version strings like "2.20-2014.11"). See gh-3588.
z$(?P<major>[0-9]+)\.(?P<minor>[0-9]+)z;Expected glibc version with 2 components major.minor, got: )
stacklevelrI   rJ   )rematchwarningswarnRuntimeWarningrG   rH   group)rj   ms   & r   _parse_glibc_versionrz      sl     	8+FAI+W	

 R$$QWWW-.AGGG4D0EFFr   c                   V ^8  d   QhRR/# )r   r   rG   r   )r   s   "r   r   r      s     - -M -r   c                 L    \        4       p V f   \        RR4      # \        V 4      # )Nrr   )rn   rG   rz   )rj   s    r   _get_glibc_versionr}      s(    ')KR$$,,r   c               $    V ^8  d   QhRRRRRR/# )r   r=   r   r\   rG   r   r!   r   )r   s   "r   r   r      s!       }  r   c                0   \        4       pW!8  d   R #  ^ RIp\        TR4      '       d3   TP	                  T^ ,          T^,          T 4      pTe   \        T4      # R# T\        ^^4      8X  d(   \        TR4      '       d   \        TP                  4      # T\        ^^4      8X  d(   \        TR4      '       d   \        TP                  4      # T\        ^^4      8X  d(   \        TR4      '       d   \        TP                  4      # R#   \         d     R# i ; i)FNTmanylinux_compatiblemanylinux1_compatiblemanylinux2010_compatiblemanylinux2014_compatible)
r}   
_manylinuxrb   hasattrr   r!   rG   r   r   r   )r=   r\   	sys_glibcr   results   &&   r   _is_compatibler      s   "$I z12200WQZN<-1%%'*>U*V*VJ4455-2&&7., , J7788-2&&7., , J7788#  s   D DDmanylinux2014manylinux2010
manylinux1zdict[_GLibCVersion, str]_LEGACY_MANYLINUX_MAPc                    V ^8  d   QhRRRR/# )r   r5   r6   r   zIterator[str]r   )r   s   "r   r   r      s     +5 +5 +5= +5r   c              #    "   \        \        P                  V 4      '       g   R# \        ^^4      p\	        V 4      RR0,          '       d   \        ^^4      p\        \        4       !  pV.p\        VP                  ^,
          ^R4       F*  p\        V,          pVP                  \        WE4      4       K,  	  V  F  pV F  pVP                  VP                  8X  d   VP                  pMRp\        VP                  VR4       Fk  p\        VP                  V4      p	\        Wi4      '       g   K,  RP                  ! . V	OVN5!  x  \        P                  V	4      ;p
'       g   Kb  V
 RV 2x  Km  	  K  	  K  	  R# 5i)a  Generate manylinux tags compatible to the current platform.

:param archs: Sequence of compatible architectures.
    The first one shall be the closest to the actual architecture and be the part of
    platform tag after the ``linux_`` prefix, e.g. ``x86_64``.
    The ``linux_`` prefix is assumed as a prerequisite for the current platform to
    be manylinux-compatible.

:returns: An iterator of compatible manylinux tags.
Nx86_64r9   zmanylinux_{}_{}_{}r[   rr   )rA   sysr    rG   setr}   rangerI   rE   appendrJ   r   r   r   get)r5   too_old_glibc2current_glibcglibc_max_listglibc_majorglibc_minorr=   	glibc_max	min_minorglibc_version
legacy_tags   &          r   platform_tagsr      sK      66"1b)N
5zXv&&&&q!,!#5#78M#_N ]0014a<'4mKEF = 'I."6"66*00	 	$Y__iD -ioo{ K!$66.55K}KdKK &;%>%>}%MMzMM!+AdV44  E ( s   D'E;.1E;$E;>   ppc64s390xr   aarch64ppc64leriscv64loongarch64)*__conditional_annotations__
__future__r   collections
contextlib	functoolsrU   rs   r   ru   typingr   r   r   r   _elffiler   r	   r
   r   r+   r,   r-   r;   contextmanagerr   r/   r3   rA   defaultdictrE   rO   rG   r]   rk   rn   rz   	lru_cacher}   r   r   r   )r   s   @r   <module>r      s   " "    	 	 
  < < 8 8"   

9 %0$;$;J$G > GJ 
&)XM
G& - -: !R/!R/!Q3 / +5r   