§
    üxIfv%  ã                   ó^  — 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j'        ¦   «         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+dS )"é    N)ÚDictÚ	GeneratorÚIteratorÚ
NamedTupleÚOptionalÚSequenceÚTupleé   )ÚEIClassÚEIDataÚELFFileÚEMachinel      ~ i   i   ÚpathÚreturnc              #   óÄ   K  — 	 t          | d¦  «        5 }t          |¦  «        V — d d d ¦  «         d S # 1 swxY w Y   d S # t          t          t          f$ r d V — Y d S w xY w)NÚrb)Úopenr   ÚOSErrorÚ	TypeErrorÚ
ValueError)r   Úfs     úH/var/www/piapp/venv/lib/python3.11/site-packages/packaging/_manylinux.pyÚ
_parse_elfr      s¿   è è € ðÝ�$˜ÑÔð 	 Ý˜!‘*”*ÐÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	øå•Y¥
Ð+ð ð ð Øˆ
ˆ
ˆ
ˆ
ˆ
ˆ
ðøøøs,   „A  ”3¦A  ³7·A  º7»A  Á AÁAÚ
executablec                 ó<  — t          | ¦  «        5 }|d uon|j        t          j        k    oY|j        t
          j        k    oD|j        t          j	        k    o/|j
        t          z  t          k    o|j
        t          z  t          k    	 cd d d ¦  «         S # 1 swxY w Y   d S ©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Ò)ðIà”
�fœjÒ(ðIð ”	�Xœ\Ò)ðIð ”�.Ñ(­OÒ;ð	Ið
 ”Õ/Ñ/Õ3HÒHð	
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   �A4BÂBÂBc                 óÜ   — t          | ¦  «        5 }|d uo>|j        t          j        k    o)|j        t
          j        k    o|j        t          j	        k    	 cd d d ¦  «         S # 1 swxY w Y   d S r   )
r   r   r   r   r   r   r    r!   r   ÚI386r'   s     r   Ú_is_linux_i686r+   +   s²   € Ý	�JÑ	Ô	ð 
 1à�TˆMð +Ø”
�gœkÒ)ð+à”
�fœjÒ(ð+ð ”	�Xœ]Ò*ð		
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   �AA!Á!A%Á(A%Úarchsc                 óŽ   ‡— 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Úriscv64Úloongarch64c              3   ó    •K  — | ]}|‰v V — Œ	d S r   © )Ú.0ÚarchÚallowed_archss     €r   ú	<genexpr>z'_have_compatible_abi.<locals>.<genexpr>C   s(   øè è € Ð7Ð7¨ˆt�}Ð$Ð7Ð7Ð7Ð7Ð7Ð7ó    )r(   r+   Úany)r   r,   r;   s     @r   Ú_have_compatible_abir?   5   si   ø€ Ø�5ÐÐÝ˜zÑ*Ô*Ð*Ø�€€Ý˜jÑ)Ô)Ð)ðð ð €Mõ Ð7Ð7Ð7Ð7°Ð7Ñ7Ô7Ñ7Ô7Ð7r=   c                  ó   — dS )Né2   r8   r8   r=   r   ú<lambda>rB   K   s   € ÀB€ r=   Ú_LAST_GLIBC_MINORc                   ó$   — e Zd ZU eed<   eed<   dS )Ú_GLibCVersionÚmajorÚminorN)Ú__name__Ú
__module__Ú__qualname__ÚintÚ__annotations__r8   r=   r   rE   rE   N   s"   € € € € € € Ø€J€J�JØ€J€J�J€J€Jr=   rE   c                  ó°   — 	 t          j        d¦  «        } | €J ‚|                      ¦   «         \  }}n$# t          t          t
          t          f$ r Y dS w xY w|S )zJ
    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_confstrrW   S   sl   € ðå(*¬
Ð3HÑ(IÔ(IˆØÐ)Ð)Ð)Ø#×*Ò*Ñ,Ô,‰
ˆˆ7ˆ7øÝ�N­GµZÐ@ð ð ð àˆtˆtðøøøð €Ns   ‚/2 ²AÁAc                  ó8  — 	 ddl } n# t          $ r Y dS w xY w	 |                      d¦  «        }n# t          $ r Y dS w xY w	 |j        }n# t
          $ r Y dS w xY w| j        |_         |¦   «         }t          |t          ¦  «        s| 
                    d¦  «        }|S )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   f   së   € ðØˆˆˆˆøÝð ð ð Øˆtˆtðøøøð Ø"ŸKšK¨Ñ-Ô-ÐÐøÝð ð ð ØˆtˆtðøøøðØ0ÔEÐÐøÝð ð ð ð ˆtˆtðøøøð $*¤?ÐÔ Ø+Ð+Ñ-Ô-€Kå�k¥3Ñ'Ô'ð 2Ø!×(Ò(¨Ñ1Ô1ˆàÐs*   ‚ ‡
”™/ ¯
=¼=ÁA	 Á	
AÁAc                  ó:   — t          ¦   «         pt          ¦   «         S )z9Returns glibc version string, or None if not using glibc.)rW   re   r8   r=   r   Ú_glibc_version_stringrg   ’   s   € å(Ñ*Ô*ÐLÕ.JÑ.LÔ.LÐLr=   rd   c                 óö   — t          j        d| ¦  «        }|st          j        d| › �t          ¦  «         dS t          |                     d¦  «        ¦  «        t          |                     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   rF   rG   )ÚreÚmatchÚwarningsÚwarnÚRuntimeWarningrK   Úgroup)rd   Úms     r   Ú_parse_glibc_versionrr   —   s�   € õ 	ŒÐ8¸+ÑFÔF€AØð ÝŒð#Ø ð#ð #åñ	
ô 	
ð 	
ð
 ˆvÝˆq�wŠw�wÑÔÑ Ô ¥# a§g¢g¨gÑ&6Ô&6Ñ"7Ô"7Ð7Ð7r=   c                  óD   — t          ¦   «         } | €dS t          | ¦  «        S )Nri   )rg   rr   )rd   s    r   Ú_get_glibc_versionrt   ª   s&   € å'Ñ)Ô)€KØÐØˆxÝ Ñ,Ô,Ð,r=   r:   rV   c                 ó<  — t          ¦   «         }||k     rdS 	 dd l}n# t          $ r Y dS w xY wt          |d¦  «        r6|                     |d         |d         | ¦  «        }|�t          |¦  «        S dS |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 dS )NFr   TÚmanylinux_compatibler
   é   é   Úmanylinux1_compatibleé   Úmanylinux2010_compatibleé   Úmanylinux2014_compatible)
rt   Ú
_manylinuxr[   Úhasattrrv   ÚboolrE   ry   r{   r}   )r:   rV   Ú	sys_glibcr~   Úresults        r   Ú_is_compatiblerƒ   ³   sL  € Ý"Ñ$Ô$€IØ�7ÒÐØˆuðØÐÐÐÐøÝð ð ð ØˆtˆtðøøøåˆzÐ1Ñ2Ô2ð Ø×0Ò0°¸´¸WÀQ¼ZÈÑNÔNˆØÐÝ˜‘<”<ÐØˆtØ•-  1Ñ%Ô%Ò%Ð%Ý�:Ð6Ñ7Ô7ð 	:Ý˜
Ô8Ñ9Ô9Ð9Ø•-  2Ñ&Ô&Ò&Ð&Ý�:Ð9Ñ:Ô:ð 	=Ý˜
Ô;Ñ<Ô<Ð<Ø•-  2Ñ&Ô&Ò&Ð&Ý�:Ð9Ñ:Ô:ð 	=Ý˜
Ô;Ñ<Ô<Ð<Øˆ4s   ˜ �
+ª+Úmanylinux2014Úmanylinux2010Ú
manylinux1))rw   r|   )rw   rz   )rw   rx   c              #   óº  K  — t          t          j        | ¦  «        sdS t          dd¦  «        }t	          | ¦  «        ddhz  rt          dd¦  «        }t          t          ¦   «         Ž }|g}t          |j        dz
  dd¦  «        D ]2}t          |         }| 	                    t          ||¦  «        ¦  «         Œ3| D ]¡}|D ]œ}|j        |j        k    r|j
        }nd}t          |j
        |d¦  «        D ]i}t          |j        |¦  «        }	 d	j        |	Ž }
t          ||	¦  «        r	|
› d
|› �V — |	t          v r&t          |	         }t          ||	¦  «        r	|› d
|› �V — ŒjŒ�Œ¢dS )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   rE   Úsetrt   ÚrangerF   rC   ÚappendrG   Úformatrƒ   Ú_LEGACY_MANYLINUX_MAP)r,   Útoo_old_glibc2Úcurrent_glibcÚglibc_max_listÚglibc_majorÚglibc_minorr:   Ú	glibc_maxÚ	min_minorÚglibc_versionÚtagÚ
legacy_tags               r   Úplatform_tagsrš   ×   s½  è è € õ  ¥¤°Ñ6Ô6ð Øˆå" 1 bÑ)Ô)€NÝ
ˆ5�z„z�X˜vÐ&Ñ&ð -å& q¨!Ñ,Ô,ˆÝ!Õ#5Ñ#7Ô#7Ð8€MØ#�_€Nõ ˜]Ô0°1Ñ4°a¸Ñ<Ô<ð Gð GˆÝ'¨Ô4ˆØ×Ò�m¨K¸ÑEÔEÑFÔFÐFÐFØð 5ð 5ˆØ'ð 	5ð 	5ˆIØŒ .Ô"6Ò6Ð6Ø*Ô0�	�	ð �	Ý$ Y¤_°iÀÑDÔDð 	5ð 	5�Ý -¨i¬o¸{Ñ KÔ K�Ø.Ð'Ô.°Ð>�Ý! $¨Ñ6Ô6ð *Ø ˜/˜/ 4˜/˜/Ð)Ð)Ð)à Õ$9Ð9Ð9Ý!6°}Ô!E�JÝ% d¨MÑ:Ô:ð 5Ø!+Ð4Ð4¨dÐ4Ð4Ð4Ð4Ð4øð	5ð	5ð5ð 5r=   ),ÚcollectionsÚ
contextlibÚ	functoolsrO   rk   rŠ   rm   Útypingr   r   r   r   r   r   r	   Ú_elffiler   r   r   r   r$   r%   r&   Úcontextmanagerra   r   r€   r(   r+   r?   ÚdefaultdictrC   rK   rL   rE   rW   re   rg   rr   Ú	lru_cachert   rƒ   r�   rš   r8   r=   r   ú<module>r£      sÿ  ðØ Ð Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ Sà 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8à€Ø€Ø"Ð ð
 Ôð�Sð ˜Y x°Ô'8¸$ÀÐ'DÔEð ð ð ñ Ôðð
 ð 
¨ð 
ð 
ð 
ð 
ð
˜sð 
 tð 
ð 
ð 
ð 
ð8 Sð 8°¸#´ð 8À4ð 8ð 8ð 8ð 8ð, %< KÔ$;¸J¸JÑ$GÔ$GÐ �4˜˜S˜”>Ð GÐ GÑ Gðð ð ð ð �Jñ ô ð ð
 x°¤}ð ð ð ð ð&) h¨s¤mð )ð )ð )ð )ðXM˜x¨œ}ð Mð Mð Mð Mð
8 cð 8¨e°C¸°H¬oð 8ð 8ð 8ð 8ð& €ÔÑÔð-˜E # s (œOð -ð -ð -ñ Ôð-ð˜ð  }ð ¸ð ð ð ð ð8 ààðð Ð ð-5˜ #œð -5¨8°C¬=ð -5ð -5ð -5ð -5ð -5ð -5r=   