§
    k•jW%  ã                  óº  — U d dl m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Zd dl	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h d	£Zej        d0d„¦   «         Zd1d„Zd1d„Zd2d„Z ej        d„ ¦  «        Zded<    G d„ de¦  «        Zd3d„Z d3d„Z!d3d„Z"d4d „Z#ej$        d5d!„¦   «         Z%d6d$„Z& ed%d&¦  «        d' ed%d(¦  «        d) ed%d*¦  «        d+iZ'd,ed-<   d7d/„Z(dS )8é    )ÚannotationsN)Ú	GeneratorÚIteratorÚ
NamedTupleÚSequenceé   )ÚEIClassÚEIDataÚELFFileÚEMachinel      ~ i   i   >   Úppc64Ús390xÚx86_64Úaarch64Úppc64leÚriscv64Úloongarch64ÚpathÚstrÚreturnú%Generator[ELFFile | None, None, None]c              #  óÄ   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     úc/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/packaging/_manylinux.pyÚ
_parse_elfr       s¿   è è € ðÝ�$˜ÑÔð 	 Ý˜!‘*”*ÐÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	øå•Y¥
Ð+ð ð ð Øˆ
ˆ
ˆ
ˆ
ˆ
ˆ
ðøøøs,   „A  ”3¦A  ³7·A  º7»A  Á AÁAÚ
executableÚboolc                ó<  — 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_armhfr0   (   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_i686r3   7   s²   € Ý	�JÑ	Ô	ð 
 1à�TˆMð +Ø”
�gœkÒ)ð+à”
�fœjÒ(ð+ð ”	�Xœ]Ò*ð		
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   �AA!Á!A%Á(A%ÚarchsúSequence[str]c                ó€   — d|v rt          | ¦  «        S d|v rt          | ¦  «        S t          d„ |D ¦   «         ¦  «        S )NÚarmv7lÚi686c              3  ó(   K  — | ]}|t           v V — Œd S r$   )Ú_ALLOWED_ARCHS)Ú.0Úarchs     r   ú	<genexpr>z'_have_compatible_abi.<locals>.<genexpr>F   s'   è è € Ð8Ð8¨$ˆt•~Ð%Ð8Ð8Ð8Ð8Ð8Ð8ó    )r0   r3   Úany)r!   r4   s     r   Ú_have_compatible_abir@   A   sO   € Ø�5ÐÐÝ˜zÑ*Ô*Ð*Ø�€€Ý˜jÑ)Ô)Ð)ÝÐ8Ð8°%Ð8Ñ8Ô8Ñ8Ô8Ð8r>   c                 ó   — dS )Né2   © rC   r>   r   ú<lambda>rD   N   s   € ÀB€ r>   zdict[int, int]Ú_LAST_GLIBC_MINORc                  ó$   — e Zd ZU ded<   ded<   dS )Ú_GLibCVersionÚintÚmajorÚminorN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__rC   r>   r   rG   rG   Q   s"   € € € € € € Ø€J€J�JØ€J€J�J€J€Jr>   rG   ú
str | Nonec                 ó°   — 	 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_confstrrZ   V   sl   € ðå%'¤ZÐ0EÑ%FÔ%FˆØÐ)Ð)Ð)Ø#×*Ò*Ñ,Ô,‰
ˆˆ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_versionrV   Úc_char_pÚrestypeÚ
isinstancer   Údecode)r]   Úprocess_namespacer`   Úversion_strs       r   Ú_glibc_version_string_ctypesrg   i   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.)rZ   rg   rC   r>   r   Ú_glibc_version_stringri   •   s   € å(Ñ*Ô*ÐLÕ.JÑ.LÔ.LÐLr>   rf   c                ó.  — t          j        d| ¦  «        }|s/t          j        d| › �t          d¬¦  «         t          dd¦  «        S t          t          |                     d¦  «        ¦  «        t          |                     d¦  «        ¦  «        ¦  «        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: é   )Ú
stackleveléÿÿÿÿrI   rJ   )ÚreÚmatchÚwarningsÚwarnÚRuntimeWarningrG   rH   Úgroup)rf   Úms     r   Ú_parse_glibc_versionru   š   s’   € õ 	ŒÐ8¸+ÑFÔF€AØð %ÝŒØWÈ+ÐWÐWÝØð	
ñ 	
ô 	
ð 	
õ
 ˜R Ñ$Ô$Ð$Ý�˜QŸWšW WÑ-Ô-Ñ.Ô.µ°A·G²G¸GÑ4DÔ4DÑ0EÔ0EÑFÔFÐFr>   c                 ó`   — t          ¦   «         } | €t          dd¦  «        S t          | ¦  «        S )Nrm   )ri   rG   ru   )rf   s    r   Ú_get_glibc_versionrw   ­   s1   € å'Ñ)Ô)€KØÐÝ˜R Ñ$Ô$Ð$Ý Ñ,Ô,Ð,r>   r<   rY   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   rk   é   Úmanylinux1_compatibleé   Úmanylinux2010_compatibleé   Úmanylinux2014_compatible)
rw   Ú
_manylinuxr^   Úhasattrry   r"   rG   r{   r}   r   )r<   rY   Ú	sys_glibcr€   Úresults        r   Ú_is_compatibler„   ¶   sQ  € Ý"Ñ$Ô$€IØ�7ÒÐØˆuðØÐÐÐÐøÝð ð ð ØˆtˆtðøøøåˆzÐ1Ñ2Ô2ð Ø×0Ò0°¸´¸WÀQ¼ZÈÑNÔNˆØÐÝ˜‘<”<ÐØˆtØ•-  1Ñ%Ô%Ò%Ð%­'°*Ð>UÑ*VÔ*VÐ%Ý�JÔ4Ñ5Ô5Ð5Ø•-  2Ñ&Ô&Ò&Ð&­7ØÐ.ñ,ô ,Ð&õ �JÔ7Ñ8Ô8Ð8Ø•-  2Ñ&Ô&Ò&Ð&­7ØÐ.ñ,ô ,Ð&õ �JÔ7Ñ8Ô8Ð8Øˆ4s   ˜ �
+ª+rk   r~   Úmanylinux2014r|   Úmanylinux2010rz   Ú
manylinux1zdict[_GLibCVersion, str]Ú_LEGACY_MANYLINUX_MAPúIterator[str]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 ]]}t          |j        |¦  «        }	t          ||	¦  «        r6 d	j        g |	¢|‘R Ž V — t                               |	¦  «        x}
r	|
› d
|› �V — Œ^Œ‘Œ–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.
    Nrk   é   r   r8   é   r   rm   zmanylinux_{}_{}_{}rX   )r@   Úsysr!   rG   Úsetrw   ÚrangerI   rE   ÚappendrJ   r„   Úformatrˆ   Úget)r4   Útoo_old_glibc2Úcurrent_glibcÚglibc_max_listÚglibc_majorÚglibc_minorr<   Ú	glibc_maxÚ	min_minorÚglibc_versionÚ
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ð 5Ø5Ð.Ô5ÐK°}ÐKÀdÐKÐKÐKÐKÐKÐKõ &;×%>Ò%>¸}Ñ%MÔ%MÐM�zð 5Ø!+Ð4Ð4¨dÐ4Ð4Ð4Ð4Ð4øð5ð	5ð5ð 5r>   )r   r   r   r   )r!   r   r   r"   )r!   r   r4   r5   r   r"   )r   rO   )rf   r   r   rG   )r   rG   )r<   r   rY   rG   r   r"   )r4   r5   r   r‰   ))Ú
__future__r   ÚcollectionsÚ
contextlibÚ	functoolsrR   rn   r�   rp   Útypingr   r   r   r   Ú_elffiler	   r
   r   r   r,   r-   r.   r:   Úcontextmanagerr    r0   r3   r@   ÚdefaultdictrE   rN   rG   rZ   rg   ri   ru   Ú	lru_cacherw   r„   rˆ   rœ   rC   r>   r   ú<module>r¦      sx  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8à€Ø€Ø"Ð ðð ð €ð Ôðð ð ñ Ôðð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð9ð 9ð 9ð 9ð %< KÔ$;¸J¸JÑ$GÔ$GÐ Ð GÐ GÐ GÑ Gðð ð ð ð �Jñ ô ð ð
ð ð ð ð&)ð )ð )ð )ðXMð Mð Mð Mð
Gð Gð Gð Gð& Ôð-ð -ð -ñ Ôð-ðð ð ð ð: €M�!�RÑÔ˜/à€M�!�RÑÔ˜/à€M�!�QÑÔ˜ð3Ð ð ð ð ñ ð+5ð +5ð +5ð +5ð +5ð +5r>   