Ë
    ™2Úi6%  ã                   ó  — U d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZm	Z	m
Z
mZmZmZmZ ddlmZmZmZmZ dZdZdZej.                  ded	e	ee   ddf   fd
„«       Zded	efd„Zded	efd„Zdedee   d	efd„Z e j<                  d„ «      Zee e f   e!d<    G d„ de«      Z"d	ee   fd„Z#d	ee   fd„Z$d	ee   fd„Z%ded	ee e f   fd„Z& ejN                  «       d	ee e f   fd„«       Z(dede"d	efd„Z)dddd œZ*dee   d	e
e   fd!„Z+y)"é    N)ÚDictÚ	GeneratorÚIteratorÚ
NamedTupleÚOptionalÚSequenceÚTupleé   )ÚEIClassÚEIDataÚELFFileÚEMachinel      ~ i   i   ÚpathÚreturnc              #   ó¦   K  — 	 t        | d«      5 }t        |«      –— d d d «       y # 1 sw Y   y xY w# t        t        t        f$ r d –— Y y w xY w­w)NÚrb)Úopenr   ÚOSErrorÚ	TypeErrorÚ
ValueError)r   Úfs     úK/var/www/html/acx/venv/lib/python3.12/site-packages/packaging/_manylinux.pyÚ
_parse_elfr      sO   è ø€ ðÜ�$˜Óð 	 Ü˜!“*Ò÷	÷ 	ñ 	ûä”Y¤
Ð+ò ØŒ
ðüs>   ‚A„3 �'ž3 ¦A§0¬3 ¯A°3 ³AÁAÁAÁAÚ
executablec                 óx  — t        | «      5 }|d uxr“ |j                  t        j                  k(  xrt |j                  t
        j                  k(  xrU |j                  t        j                  k(  xr6 |j                  t        z  t        k(  xr |j                  t        z  t        k(  	 cd d d «       S # 1 sw Y   y xY w©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à�TˆMò IØ—
‘
œgŸk™kÑ)òIà—
‘
œfŸj™jÑ(òIð —	‘	œXŸ\™\Ñ)òIð —‘œ.Ñ(¬OÑ;ò	Ið
 —‘Ô/Ñ/Ô3HÑHð	
÷
÷ 
ò 
ús   ŒBB0Â0B9c                 ó  — t        | «      5 }|d uxr[ |j                  t        j                  k(  xr< |j                  t
        j                  k(  xr |j                  t        j                  k(  	 cd d d «       S # 1 sw Y   y xY wr   )
r   r   r   r   r   r   r    r!   r   ÚI386r'   s     r   Ú_is_linux_i686r+   +   sn   € Ü	�JÓ	ð 
 1à�TˆMò +Ø—
‘
œgŸk™kÑ)ò+à—
‘
œfŸj™jÑ(ò+ð —	‘	œXŸ]™]Ñ*ð		
÷
÷ 
ò 
ús   ŒA"A8Á8BÚarchsc                 óp   ‡— d|v rt        | «      S d|v rt        | «      S h d£Št        ˆfd„|D «       «      S )NÚarmv7lÚi686>   Úppc64Ús390xÚx86_64Úaarch64Úppc64leÚloongarch64c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr   © )Ú.0ÚarchÚallowed_archss     €r   ú	<genexpr>z'_have_compatible_abi.<locals>.<genexpr>;   s   øè ø€ Ò7¨ˆt�}Ô$Ñ7ùs   ƒ)r(   r+   Úany)r   r,   r:   s     @r   Ú_have_compatible_abir=   5   s>   ø€ Ø�5ÑÜ˜zÓ*Ð*Ø��Ü˜jÓ)Ð)ÚU€MÜÓ7°Ô7Ó7Ð7ó    c                   ó   — y)Né2   r7   r7   r>   r   ú<lambda>rA   C   s   � r>   Ú_LAST_GLIBC_MINORc                   ó"   — e Zd ZU eed<   eed<   y)Ú_GLibCVersionÚmajorÚminorN)Ú__name__Ú
__module__Ú__qualname__ÚintÚ__annotations__r7   r>   r   rD   rD   F   s   … ØƒJØ„Jr>   rD   c                  ó    — 	  t        t        d«      d«      } | €J ‚| j                  «       \  }}|S # t        t        t
        t        f$ r Y yw xY w)zJ
    Primary implementation of glibc_version_string using os.confstr.
    ÚconfstrÚCS_GNU_LIBC_VERSIONN)ÚgetattrÚosÚrsplitÚAssertionErrorÚAttributeErrorr   r   )Úversion_stringÚ_Úversions      r   Ú_glibc_version_string_confstrrW   K   s]   € ðà4œg¤b¨)Ó4Ð5JÓKˆØÐ)Ð)Ð)Ø#×*Ñ*Ó,‰
ˆˆ7ð €Nøô œN¬G´ZÐ@ò áðús   ‚-1 ±AÁAc                  ó  — 	 ddl } 	 | j                  d«      }	 |j                  }| j                  |_         |«       }t        |t        «      s|j                  d«      }|S # t        $ r Y yw xY w# t        $ r Y yw xY w# t
        $ r Y yw xY w)zG
    Fallback implementation of glibc_version_string using ctypes.
    r   NÚascii)ÚctypesÚImportErrorÚCDLLr   Úgnu_get_libc_versionrS   Úc_char_pÚrestypeÚ
isinstanceÚstrÚdecode)rZ   Úprocess_namespacer]   Úversion_strs       r   Ú_glibc_version_string_ctypesre   ^   s£   € ðÛð"Ø"ŸK™K¨Ó-ÐðØ0×EÑEÐð $*§?¡?ÐÔ Ù+Ó-€Kä�k¤3Ô'Ø!×(Ñ(¨Ó1ˆàÐøôG ò Ùðûô$ ò Ùðûô
 ò ñ ðús3   ‚A  ‡A/ ™A> Á 	A,Á+A,Á/	A;Á:A;Á>	B
Â	B
c                  ó.   — t        «       xs
 t        «       S )z9Returns glibc version string, or None if not using glibc.)rW   re   r7   r>   r   Ú_glibc_version_stringrg   Š   s   € ä(Ó*ÒLÔ.JÓ.LÐLr>   rd   c                 óÖ   — t        j                  d| «      }|st        j                  d| › �t        «       yt        |j                  d«      «      t        |j                  d«      «      fS )a3  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: ©éÿÿÿÿrj   rE   rF   )ÚreÚmatchÚwarningsÚwarnÚRuntimeWarningrJ   Úgroup)rd   Úms     r   Ú_parse_glibc_versionrr   �   sb   € ô 	�‰Ð8¸+ÓF€AÙÜ�‰ðØ �Mð#äô	
ð
 Üˆq�w‰w�wÓÓ ¤# a§g¡g¨gÓ&6Ó"7Ð7Ð7r>   c                  ó2   — t        «       } | €yt        | «      S )Nri   )rg   rr   )rd   s    r   Ú_get_glibc_versionrt   ¢   s   € ä'Ó)€KØÐØÜ Ó,Ð,r>   r9   rV   c                 óÒ  — t        «       }||k  ry	 dd l}t        |d«      r'|j	                  |d   |d   | «      }|�t        |«      S y|t        dd«      k(  r!t        |d«      rt        |j                  «      S |t        dd	«      k(  r!t        |d
«      rt        |j                  «      S |t        dd«      k(  r!t        |d«      rt        |j                  «      S y# t        $ r Y yw xY w)NFr   TÚmanylinux_compatibler
   é   é   Úmanylinux1_compatibleé   Úmanylinux2010_compatibleé   Úmanylinux2014_compatible)
rt   Ú
_manylinuxr[   Úhasattrrv   ÚboolrD   ry   r{   r}   )r9   rV   Ú	sys_glibcr~   Úresults        r   Ú_is_compatiblerƒ   «   sñ   € Ü"Ó$€IØ�7ÒØðÛô ˆzÐ1Ô2Ø×0Ñ0°¸±¸WÀQ¹ZÈÓNˆØÐÜ˜“<ÐØØ”-  1Ó%Ò%Ü�:Ð6Ô7Ü˜
×8Ñ8Ó9Ð9Ø”-  2Ó&Ò&Ü�:Ð9Ô:Ü˜
×;Ñ;Ó<Ð<Ø”-  2Ó&Ò&Ü�:Ð9Ô:Ü˜
×;Ñ;Ó<Ð<Øøô! ò Ùðús   ’C Ã	C&Ã%C&Úmanylinux2014Úmanylinux2010Ú
manylinux1))rw   r|   )rw   rz   )rw   rx   c              #   ó¦  K  — t        t        j                  | «      syt        dd«      }t	        | «      ddhz  rt        dd«      }t        t        «       Ž }|g}t        |j                  dz
  dd«      D ]&  }t        |   }|j                  t        ||«      «       Œ( | D ]¯  }|D ]¨  }|j                  |j                  k(  r|j                  }nd}t        |j                  |d«      D ]d  }t        |j                  |«      }	 d	j                  |	Ž }
t        ||	«      r	|
› d
|› �–— |	t        v sŒFt        |	   }t        ||	«      sŒ\|› d
|› �–— Œf Œª Œ± y­w)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.
    Nrw   é   r2   r/   é   r
   rj   zmanylinux_{}_{}rU   )r=   Úsysr   rD   Úsetrt   ÚrangerE   rB   ÚappendrF   Úformatrƒ   Ú_LEGACY_MANYLINUX_MAP)r,   Útoo_old_glibc2Úcurrent_glibcÚglibc_max_listÚglibc_majorÚglibc_minorr9   Ú	glibc_maxÚ	min_minorÚglibc_versionÚtagÚ
legacy_tags               r   Úplatform_tagsrš   Ï   sh  è ø€ ô  ¤§¡°Ô6Øä" 1 bÓ)€NÜ
ˆ5ƒz�X˜vÐ&Ò&ä& q¨!Ó,ˆÜ!Ô#5Ó#7Ð8€MØ#�_€Nô ˜]×0Ñ0°1Ñ4°a¸Ó<ò GˆÜ'¨Ñ4ˆØ×Ñœm¨K¸ÓEÕFðGð ò 5ˆØ'ò 	5ˆIØ�‰ .×"6Ñ"6Ò6Ø*×0Ñ0‘	ð �	Ü$ Y§_¡_°iÀÓDò 	5�Ü -¨i¯o©o¸{Ó K�Ø.Ð'×.Ñ.°Ð>�Ü! $¨Ô6Ø ˜E  4 &˜/Ò)à Ô$9Ò9Ü!6°}Ñ!E�JÜ% d¨MÕ:Ø!+ ¨A¨d¨VÐ4Ó4ñ	5ñ	5ñ5ùs   ‚D(EÄ+EÅE),ÚcollectionsÚ
contextlibÚ	functoolsrP   rk   rŠ   rm   Útypingr   r   r   r   r   r   r	   Ú_elffiler   r   r   r   r$   r%   r&   Úcontextmanagerra   r   r€   r(   r+   r=   ÚdefaultdictrB   rJ   rK   rD   rW   re   rg   rr   Ú	lru_cachert   rƒ   r�   rš   r7   r>   r   ú<module>r£      s¨  ðÜ Û Û Û 	Û 	Û 
Û ß S× SÑ Sç 8Ó 8à€Ø€Ø"Ð ð
 ×Ñð�Sð ˜Y x°Ñ'8¸$ÀÐ'DÑEò ó ðð
 ð 
¨ó 
ð
˜sð 
 tó 
ð8 Sð 8°¸#±ð 8À4ó 8ð %< K×$;Ñ$;¹JÓ$GÐ �4˜˜S˜‘>Ó Gô�Jô ð
 x°¡}ó ð&) h¨s¡mó )ðXM˜x¨™}ó Mð
8 cð 8¨e°C¸°H©oó 8ð& €×ÑÓð-˜E # s (™Oò -ó ð-ð˜ð  }ð ¸ó ð8 ààñÐ ð-5˜ #™ð -5¨8°C©=ô -5r>   