HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/cwd/lib/python3/dist-packages/__pycache__/lsb_release.cpython-312.pyc
�

x�b]5:��>�ddlmZddlZddlZddlZddlZddlZddlZdd�Ze�dd�Z	dZ
ejd�Zd�Z
	ed	�Zd
ddd
dd�Zd�Zd�Zd�Zd�Zddddddifd�Zd�Zd�Zd�Zd�Zedk(re�yy#e$rddlZej"ZY�SwxYw) �)�print_functionN�Debianc�2�	t}	td|j	�z�}tj|�}|D�cic]}|ds�	|d|d��c}attj��a
tjd���tttt��d�a
|j	�dk(rd	a
tjgd
��|j�y#t$r	t}Y��wxYw#|$rtd�}Y��wxYwcc}w)Nz/usr/share/distro-info/%s.csvz!/usr/share/distro-info/debian.csv�version�seriesc��t|d�S�Nr)�float)�ns �-/usr/lib/python3/dist-packages/lsb_release.py�<lambda>z!get_distro_info.<locals>.<lambda>0s��e�A�a�D�k���key��debianzunknown.new.testing)�stablezproposed-updates�testingztesting-proposed-updates�unstable�sid)�FileNotFoundError�	NameError�IOError�open�lower�csv�
DictReader�RELEASE_CODENAME_LOOKUP�list�items�RELEASES_ORDER�sort�zip�TESTING_CODENAME�extend�close)�origin�FileNotFoundException�csvfile�reader�rs     r�get_distro_infor,s��(� 1��
<��6�����G�H��
�^�^�G�
$�F�CI�Z�6�a�Q�y�\��)��a��k� 9�6�Z���1�7�7�9�:�N����1��2��$�s�N�3�4�Q�7�8�N�
�|�|�~��!�0�����v�w��M�M�O��+�(� '��(��!�<��:�;��<��[s-�C)�C>�
D�	D�)C;�:C;�>D�Dc���tjd|�}|s|St|jd��dkrd|jdd�z}nd|jd�z}tj||�S)Nz(\d+)\.(\d+)(r(\d+))?r�z%s.%s�z%s)�re�match�int�groupr�get)�release�unknown�m�shortreleases    r�lookup_codenamer9<sh��
���)�7�3�A����
�1�7�7�1�:���������1��-���a�g�g�a�j�(��"�&�&�|�W�=�=rz`lsb-core lsb-cxx lsb-graphics lsb-desktop lsb-languages lsb-multimedia lsb-printing lsb-securityzIlsb-(?P<module>[a-z0-9]+)-(?P<arch>[^ ]+)(?: \(= (?P<version>[0-9.]+)\))?c�n�|dk(rddgS|dk(r|dvrdgS|dk(rddgSgd�S|dk(r%|dk(rddgS|d	k(rdgS|d
vrdgS|dk(rgd�Sgd�S|d
k(r.|dk(rgd�S|d	k(rdgS|d
vrdd
gS|dk(rd
gS|dk(rgd�Sgd�S|dk(r/|dk(rgd�S|d	k(rdgS|d
vrgd�S|dk(rd
dgS|dk(rgd�Sgd�S|gS)N�3.0�2.0�3.1)�desktop�qt4�cxx)r<r;r=�3.2r>r?)�printing�	languages�
multimedia)r;r=rA)r<r;r=rA�4.0)r=rArE�security)r;r=rArE)r<r;r=rArE�4.1)r=rArErG)rArErG)r;r=rArErG)r<r;r=rArErG�)r�modules  r�valid_lsb_versionsrJLsK���%���u�~��	�E�	��'�'��7�N�
�u�_��5�>�!�(�(�	�E�	��Y���5�>�!�
�u�_��7�N�
�>�
>��7�N�
�u�_�(�(�/�/�	�E�	��Y��(�(�
�u�_��7�N�
�>�
>��5�>�!�
�z�
!��7�N�
�u�_�/�/�6�6�	�E�	��Y��/�/�
�u�_��7�N�
�>�
>�(�(�
�z�
!��5�>�!�
�u�_�6�6�=�=�
�9�rc�T�tjj�}d|d<tjgd�t
j
�z|tjtjd��j�djd�}|sgSt�}|j
tj�D]�}|sn�|j
dd	�\}}tjd
|d	�d}|j
d�D]�}tj|�}|s�|j�}|j!d�rd
|z}	|j#|	��S|d}	t%||	�D]}
|
|d<d
|z}	|j#|	������t'|�}|j)�|S)N�C�LC_ALL)z
dpkg-queryz-fz${Version} ${Provides}
z-WT��env�stdout�stderr�	close_fdsr�utf-8� rz[-+~]�,rz%(module)s-%(version)s-%(arch)srI)�os�environ�copy�
subprocess�Popen�PACKAGES�split�PIPE�communicate�decode�set�linesepr0�	modnamere�search�	groupdictr4�addrJrr")�C_env�output�modules�liner�provides�pkg�mob�mgroupsrI�vs           r�check_modules_installedro�st���J�J�O�O��E��u�X��
�
�
�Q�T\�Tb�Tb�Td�d�"'�%/�_�_�%/�_�_�(,�	.�/:�k�m�A�	?�@F�v�g��	���	��e�G����R�Z�Z�(���� �J�J�s�A�.�����(�(�7�G�Q�/��2���>�>�#�&�C��"�"�3�'�C����m�m�o�G��{�{�9�%�:�W�D�����F�#� ��*��+�G�V�<�A�)*�G�I�&�>��H�F��K�K��'�=�'�
)�.�7�m�G��L�L�N��Nrrr'�suite�	component�label)rn�o�a�c�lc��i}|jd�}|D]@}|jdd�}t|�dkDs�$|dd\}}|tvs�5||t|<�B|S)NrU�=rr/)r\�len�	longnames)�data�retval�bits�bit�kv�krns       r�parse_policy_liner��sd��
�F��:�:�c�?�D���
�Y�Y�s�A�
���r�7�Q�;��b�q�6�D�A�q��I�~�'(��y��|�$���Mrc���|djd�}|rB|tvr.ttt�tj	|�z
�S	t|�Sy#t$rYywxYw)Nrrpr)r4r!r2ry�indexr
�
ValueError)�xrps  r�
release_indexr��sg��
�a�D�H�H�W��E���N�"��s�>�*�^�-A�-A�%�-H�H�I�I�
��U�|�#�
���
��
�s�
A�	A&�%A&c��tjdtd��t|�}t|�}	||z
S#t$r||kD||kz
cYSwxYw)Nz^compare_release(x,y) is deprecated; please use the release_index(x) as key for sort() instead.r/)�
stacklevel)�warnings�warn�DeprecationWarningr��	TypeError)r��y�	suite_x_i�	suite_y_is    r�compare_releaser��sk���M�M�r�uG�TU�V��a� �I��a� �I�A��9�$�$���A��I�%�)�i�*?�@�@�A�s�9�A�Ac�T�g}tjj�}d|d<tjddg|tj
tj
d��j
�djd�}|jd	�D]�}|j�}tjd
|�}|rt|jd��}|jd�s�W|jd
d�}t|�dkDs�x|j!t#|d�f���|S)NzC.UTF-8rMz	apt-cache�policyTrNrrS�
z(-?\d+)rr5rT)rVrWrXrYrZr]r^r_r\�stripr0r1r2r3�
startswithry�appendr�)r{rfr�rir7�priorityr}s       r�parse_apt_policyr��s���
�D��J�J�O�O��E��u�X��
�
�
�{�8�4�"'�%/�_�_�%/�_�_�(,�	.�/:�k�m�A�	?�@F�v�g��	�
���T�"���z�z�|���H�H�Z��&����1�7�7�1�:��H��?�?�9�%��:�:�c�1�%�D��4�y�1�}����h�(9�$�q�'�(B�C�E�#��Kr�main�experimental�Debian Ports�zftp.ports.debian.orgzftp.debian-ports.orgc
�V�t�}|sy|D�cgc]�}|djdd�|k(rG|djdd�|vr0|djdd�|k(r|djdd�|k(sP|djdd�|vr;|djdd�|j|djdd��vr|���}}|sy|jd�d�	�|d
d
}|D�cgc]
}|d
|k(s�|��}}|jt��|d
dScc}wcc}w)Nrr'�rprqrrc��|dSr	rH)�tuples rr
z(guess_release_from_apt.<locals>.<lambda>�s��E�!�HrT)r�reverserr)r�r4r"r�)r'rq�ignoresuitesrr�alternate_olabels�releasesr��max_prioritys        r�guess_release_from_aptr��sE�� �!�H���$�Q�8�a�	�!�����2��&�(�	�!�����"��\�1�	�!�����b�!�Y�.�	�!�����"���&�	�!�����2��"3�3�	�!�����"��!2�!6�!6�q��t�x�x��"�7M�!N�N�
�8�H�Q����M�M�,�T�M�:�
�A�;�q�>�L�#�<�8�a�q��t�|�';��8�H�<��M�M�m�M�$��A�;�q�>���+Q��$=s�B8D!�/
D&�=D&c�,�i}d|d<tjjdd�}tjj	|�r]	t|�5}|D]B}	|j
dd�\}}|j�}|j�}|dk(r||d<�D	ddd�t|d�tj �d}|dvr	d
|z|d<n|dk(r	d|z|d<n|dvr||d<nd|d<d|z|d<tjjdd�}tjj	|�r�	t|�5}	|	j#�j�}
ddd�
ddj%�s!t'|
d�}|j)|
|d��nO|
j+d�r9|
j-d�j�dk7r|
j-d�ad|d<n|
|d<|jd�s�t1�}|r�|jd�}
|
d k(r<|jd!�d"k(r(|jd#�d$vrd}
|j)d%d&i�|
r
t'|
d�}n |jd%d&�}
|
dk(rt.}nd'}|j)|
|d��|jd�r|dxxd(|zz
cc<|jd�r|dxxd)|zz
cc<|S#t$rY���wxYw#1swY��\xYw#t$r6}td|zd	zt|�tj�
�Yd}~���d}~wwxYw#1swY���xYw#t$r8}td|zd	zt|�tj�
�d}
Yd}~��!d}~wwxYw)*Nr�ID�LSB_ETC_DPKG_ORIGINS_DEFAULTz/etc/dpkg/origins/defaultz: r�vendor�Unable to open �:��filer)�Linux�Hurd�NetBSDzGNU/�OS�FreeBSDzGNU/k)z	GNU/LinuxzGNU/kFreeBSD�GNUz
%(ID)s %(OS)s�DESCRIPTION�LSB_ETC_DEBIAN_VERSIONz/etc/debian_versionr6zn/a)�RELEASE�CODENAMEz/sidrztesting/unstabler�r�rz1.0r'r�rrr�rprrz %(RELEASE)sz (%(CODENAME)s))rVrWr4�path�existsrr\rr�r�r�print�str�sysrQr,�uname�read�isalphar9�update�endswith�rstripr$r�)
�distinfo�etc_dpkg_origins_default�dpkg_origins_fileri�header�content�msg�kern�etc_debian_version�debian_versionr5�codename�rinfos
             r�guess_debian_releaser�
sl���H��H�T�N�!�z�z�~�~�.L�Mh�i��	�w�w�~�~�.�/�	a��.�/�3D�-�D��,0�J�J�t�Q�,?�)���!'�����")�-�-�/��!�X�-�-4�H�T�N��
.�0��H�T�N�#�
�8�8�:�a�=�D��*�*�������	
��	� ������	
�.�	.���������-��8�H�]�������(@�AV�W��	�w�w�~�~�(�)�	 ��(�)�^�(�-�-�/�5�5�7��*��q��|�#�#�%�&�w��6�H��O�O�'��J�K�
�
�
�f�
%��~�~�f�%�+�+�-��:�#*�>�>�&�#9� �"4�H�Y��")�H�Y���<�<�
�#�$�&�e�	��)�)�I�&���e���	�	�(� 3�~� E�%�)�)�T[�J\�aQ�KQ��G��L�L�'�:�.�/��&�w��6�H��i�i���4�G��)�#�+�� �����g�H�F�G��|�|�I�����>�H�#<�<���|�|�J�����#4�x�#?�?���O��W&�����0�/���	a��#�&>�>��D�c�#�h�UX�U_�U_�`�`��	a��**�)���	 ��#�&8�8�3�>��C��s�z�z�Z��G��	 �s��L�K6�?K&�K6�L�;M�M�%M�&	K3�/K6�2K3�3K6�6L�;L�	M�+L=�=M�M�
M�	N�-N�Nc��i}tjjdd�}tjj	|�r�	t|�5}|D]�}|j
�}|s�d|vr�|jdd�\}}|jd�r|jd�r|dd}|s�Z|dk(r|j
�|d<�s|d	k(r|j
�|d
<��|dk(r"|j
�j�|d<��|dk(s��|j
�|d
<��	ddd�|S|S#1swY|SxYw#t$r6}td|zdzt|�tj��Yd}~|Sd}~wwxYw)N�LSB_OS_RELEASEz/usr/lib/os-releaserxr�"����
VERSION_IDr��VERSION_CODENAMEr�r��PRETTY_NAMEr�r�r�r�)rVrWr4r�r�rr�r\r�r��titlerr�r�r�rQ)r��
os_release�os_release_fileri�var�argr�s       r�get_os_releaser�hsZ���H������ 0�2G�H�J�	�w�w�~�~�j�!�	S��j�!�_�+�D��:�:�<�D�� ��$�;� �#�z�z�#�q�1�H�C���~�~�c�*�s�|�|�C�/@�!�!�B�i����,�.�25�)�)�+�H�Y�/� �$6�6�36�9�9�;�H�Z�0� �D�[�-0�Y�Y�[�->�->�-@�H�T�N� �M�1�69�i�i�k�H�]�3�+,�"�4�O�8�O�5"�4�O���	S��#�j�0�3�6��C��s�z�z�R�R��O��	S�sD�D9�AD,�+AD,�
D,� D9�,D6�1D9�6D9�9	E8�+E3�3E8c�n�t�}dD]%}||vs�t�}|j|�|cS|S)N)r�r�r�r�)r�r�r�)�lsbinforr�s   r�get_distro_informationr��s<����G�<���g��+�-�H��O�O�G�$��O�	=��rc�P�tt��tt��y�N)r�r�rorHrr�testr��s��	�
 �
"�#�	�
!�
#�$r�__main__)rr�)�
__future__rr�rYrVr0r�rr,r9r[�compilerbrJr`r�sets�Setrorzr�r�r�r�r�r�r�r�r��__name__rHrr�<module>r�s���,&�
��	�	��
��6��	>�n���B�J�J�c�d�	�3�j��&�P�8�'��W�
.�	�	�

�A��*#+�f�)7�!)�.<�>n�-o��B[�|�B	�%��z���F���k���
�(�(�C��s�B�B�B