HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/packaging/__pycache__/_manylinux.cpython-310.pyc
o

�N�gm"�@s�UddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZmZm
Z
ddlmZmZmZmZdZdZdZejded	e	eeddffd
d��Zded	efd
d�Zded	efdd�Zdeded	efdd�Ze�dd��Zeeefe d<Gdd�de�Z!d	eefdd�Z"d	eefdd�Z#d	eefdd�Z$ded	e
eeffd d!�Z%e�&�d	e
eeffd"d#��Z'd$eded%e!d	efd&d'�Z(d(d)d*d+�Z)d,eded	e
efd-d.�Z*dS)/�N)�Dict�	Generator�Iterator�
NamedTuple�Optional�Tuple�)�EIClass�EIData�ELFFile�EMachinel~ii�path�returnc
csb�zt|d��}t|�VWd�WdS1swYWdStttfy0dVYdSw)N�rb)�openr�OSError�	TypeError�
ValueError)r
�f�r�H/opt/saltstack/salt/lib/python3.10/site-packages/packaging/_manylinux.py�
_parse_elfs�&��r�
executablecCsvt|��-}|duo(|jtjko(|jtjko(|jtj	ko(|j
t@tko(|j
t
@t
k	Wd�S1s4wYdS�N)r�capacityr	�C32�encodingr
�Lsb�machinerZArm�flags�EF_ARM_ABIMASK�EF_ARM_ABI_VER5�EF_ARM_ABI_FLOAT_HARD�rrrrr�_is_linux_armhfs

�
�
���$�r$cCsZt|��}|duo|jtjko|jtjko|jtj	k	Wd�S1s&wYdSr)
rrr	rrr
rrrZI386r#rrr�_is_linux_i686)s

�
�
�$�r%�archcCs(|dkrt|�S|dkrt|�S|dvS)NZarmv7l�i686>�aarch64Zs390xZppc64leZppc64�x86_64)r$r%)rr&rrr�_have_compatible_abi3s
r*cCsdS)N�2rrrrr�<lambda>@sr,�_LAST_GLIBC_MINORc@seZdZUeed<eed<dS)�
_GLibCVersion�major�minorN)�__name__�
__module__�__qualname__�int�__annotations__rrrrr.Cs
r.cCsJzttd�d�}|dusJ�|��\}}W|Sttttfy$YdSw)zJ
    Primary implementation of glibc_version_string using os.confstr.
    �confstr�CS_GNU_LIBC_VERSIONN)�getattr�os�rsplit�AssertionError�AttributeErrorrr)Zversion_string�_�versionrrr�_glibc_version_string_confstrHs��r?cCs�zddl}Wn
tyYdSwz|�d�}Wn
ty"YdSwz|j}Wn
ty2YdSw|j|_|�}t|t	�sD|�
d�}|S)zG
    Fallback implementation of glibc_version_string using ctypes.
    rN�ascii)�ctypes�ImportError�CDLLr�gnu_get_libc_versionr<�c_char_p�restype�
isinstance�str�decode)rAZprocess_namespacerD�version_strrrr�_glibc_version_string_ctypes[s(��
�

rKcCst�pt�S)z9Returns glibc version string, or None if not using glibc.)r?rKrrrr�_glibc_version_string�srLrJcCsBt�d|�}|st�d|��t�dSt|�d��t|�d��fS)a3Parse 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: ����rNr/r0)�re�match�warnings�warn�RuntimeWarningr4�group)rJ�mrrr�_parse_glibc_version�s��rVcCst�}|dur	dSt|�S)NrM)rLrV)rJrrr�_get_glibc_version�srW�namer>cCs�t�}||kr	dSzddl}Wn
tyYdSwt|d�r4|�|d|d|�}|dur2t|�SdS|tdd�krEt|d�rEt|j�S|tdd	�krVt|d
�rVt|j�S|tdd�krgt|d�rgt|j	�SdS)
NFrT�manylinux_compatibler���manylinux1_compatible��manylinux2010_compatible��manylinux2014_compatible)
rW�
_manylinuxrB�hasattrrY�boolr.r\r^r`)rXr&r>Z	sys_glibcra�resultrrr�_is_compatible�s.�






reZ
manylinux2014Z
manylinux2010Z
manylinux1))rZr_)rZr])rZr[�linuxccs�ttj|�s	dStdd�}|dvrtdd�}tt��}|g}t|jddd�D]}t|}|�t||��q(|D]E}|j|jkrE|j	}nd}t|j	|d�D]/}t|j|�}	dj
|	�}
t|
||	�rh|�d|
�V|	t
vr}t
|	}t|||	�r}|�d|�VqNq9dS)	NrZ�>r'r)�rrNzmanylinux_{}_{}rf)r*�sysrr.rW�ranger/r-�appendr0�formatre�replace�_LEGACY_MANYLINUX_MAP)rfr&Ztoo_old_glibc2Z
current_glibcZglibc_max_listZglibc_majorZglibc_minorZ	glibc_maxZ	min_minorZ
glibc_version�tagZ
legacy_tagrrr�
platform_tags�s6�



���rp)+�collections�
contextlib�	functoolsr9rOrirQ�typingrrrrrrZ_elffiler	r
rrr r!r"�contextmanagerrHrrcr$r%r*�defaultdictr-r4r5r.r?rKrLrV�	lru_cacherWrernrprrrr�<module>s>
 "

,�