Viewing File: /opt/alt/python313/lib64/python3.13/ctypes/__pycache__/util.cpython-313.pyc

�

D,bi�7��@�SSKrSSKrSSKrSSKr\RS:Xa
SrSrSrO�\RS:Xa\RS;a
SSK	J
r S	rO�\RRS
5(aSSK
Jr O�\RS:XaS
rO~\RS:XanSSKrSSKrSrSr\RS:XaSrOSr\RRS5(aSrSrO"\RS:Xa	SrSSjrO	SrSrSrSr\S:Xa\"5 gg)�N�ntc�8�Sn[RRU5nUS:XagU[U5-n[RUSR	SS5up#[USS5S-
nUS:�aUS-
n[US	S
5S-nUS:XaSnUS:�aXE-$g)
z�Return the version of MSVC that was used to build Python.

For Python 2.3 and up, the version number is included in
sys.version.  For earlier versions, assume the compiler is MSVC 6.
zMSC v.����N� �����
��g$@r)�sys�version�find�len�split�int)�prefix�i�s�rest�majorVersion�minorVersions      �2/opt/alt/python313/lib64/python3.13/ctypes/util.py�_get_build_versionr	s������K�K���V�$����7��
��F��O���+�+�a�b�/�'�'��Q�/����1�S�b�6�{�Q����2���A��L��1�Q�q�6�{�T�)���1���L��1���.�.��c��[5nUcgUS::aSnOUS::a	SUS--nOgSSKnSURR;aUS	-
nUS
-$)z%Return the name of the VC runtime dllNr�msvcrtr
zmsvcr%d�
rz_d.pyd�d�.dll)r�importlib.machinery�	machinery�EXTENSION_SUFFIXES)r�clibname�	importlibs   r�find_msvcrtr&"sd��$�&���?���a�<��H�
��]� �G�b�L�1�H��	#��y�*�*�=�=�=���O�H����rc���US;a
[5$[RSR[R5H�n[R
R
X5n[R
RU5(aUs $UR5RS5(aMpUS-n[R
RU5(dM�Us $ g)N)�c�m�PATHr )
r&�os�environr�pathsep�path�join�isfile�lower�endswith��name�	directory�fnames   r�find_libraryr77s����:���=� ����F�+�1�1�"�*�*�=�I��G�G�L�L��1�E��w�w�~�~�e�$�$����{�{�}�%�%�f�-�-���F�N�E��w�w�~�~�e�$�$���>�r�posix>�ios�tvos�darwin�watchos)�	dyld_findc�t�SU-SU-U<SU<3/nUHn[U5s $ g![a M!f=f)Nzlib%s.dylibz%s.dylibz.framework/)�
_dyld_find�
ValueError)r4�possibles  rr7r7HsV��!�D�(���%�)-�t�4�6���D�
�!�$�'�'��
���
��
�s�
)�
7�7�aix)r7�androidc��SnS[R"5R;aUS-
nUSUS3n[RR	U5(aU$S$)Nz/system/lib�64z/libz.so)r+�uname�machiner.r0r3s   rr7r7]sT��!�	��2�8�8�:�%�%�%����I��+�T�$��s�+�������u�-�-�u�7�4�7rc��Sn[US5nURS5U:HsSSS5 $!,(df   g=f![a gf=f)z,Return True if the given file is an ELF filesELF�br�NF)�open�read�FileNotFoundError)�filename�
elf_header�thefiles   r�_is_elfrQisE���
�	��h��%���|�|�A��*�4�&�%�%�� �	��	�s#�?�.�	?�
<�?�?�
A�Ac���[R"S[R"U5-5n[R
"S5nU(d[R
"S5nU(dg[R"5nUSSURSU-/n[[R5nSUS'SUS	'[R"U[R[RUS
9nU UR$R'5nSSS5 UR!5 [R("UW5nU(dgUH+n	[+U	5(dM[R,"U	5s $ g![a$ UR!5 g!["a gf=ff=f!,(df   N�=f!["a N�f=f!UR!5 f!["a ff=f=f)N�[^\(\)\s]*lib%s\.[^\(\)\s]*�gcc�ccz-Wl,-t�-oz-l�C�LC_ALL�LANG��stdout�stderr�env)r+�fsencode�re�escape�shutil�which�tempfile�NamedTemporaryFiler4�dictr,�
subprocess�Popen�PIPE�STDOUT�OSError�closerMr[rL�findallrQ�fsdecode)
r4�expr�
c_compiler�temp�argsr]�proc�trace�res�files
          r�_findLib_gccrvrs���
�{�{�9�B�I�I�d�O�K�L���\�\�%�(�
�����d�+�J����*�*�,��	���$��	�	�4�$�;�G�D��r�z�z�"�C��C��M��C��K�
�!�'�'��/9���/9�/@�/@�,/�1������(�(�*���
��
�
��
�j�j��u�%�����D��4�=�=���;�;�t�$�$�
���
��
��
�
���$�
��
��
�����
%�
��
��
��
�
���$�
��
�s��?7G�73E1�*G�,F"�G�F3�1
F�;G�=F�
F�F�F�G�"
F0�,G�3
G�?G�G&�G�G&�
G#� G&�"G#�#G&�sunos5c��U(dg[R"SSU4[R[RS9nU UR
R
5nSSS5 [R"SW5nU(dg[R"URS55$![a gf=f!,(df   Nb=f)Nz/usr/ccs/bin/dumpz-Lpv�r[r\s\[.*\]\sSONAME\s+([^\s]+)r)rfrgrh�DEVNULLrjr[rLr_�searchr+rm�group)�frr�datarts    r�_get_sonamer�s�����
�!�'�'�)<�f�a�(H�/9���/9�/A�/A�C��
��{�{�'�'�)����)�)�9�4�@�C����;�;�s�y�y��|�,�,���
��
����s�5B(�B8�(
B5�4B5�8
Cc���U(dg[R"S5nU(dg[R"USSSU4[R[R
S9nU URR5nSSS5 [R"SW5nU(dg[R"URS55$![a gf=f!,(df   Nb=f)N�objdump�-pz-jz.dynamicrys\sSONAME\s+([^\s]+)r)rarbrfrgrhrzrjr[rLr_r{r+rmr|)r}r�rr�dumprts     rrr�s������l�l�9�-�G���
�!�'�'��$��j�!�(L�/9���/9�/A�/A�C��
��{�{�'�'�)����)�)�3�T�:�C����;�;�s�y�y��|�,�,���
��
����s�7C�!C�
C�C�
C&)�freebsd�openbsd�	dragonflyc���URS5n/nU(a2URS[UR555 U(aM2U=(d [
R/$![a N&f=f)N�.r)r�insertr�popr@r
�maxsize)�libname�parts�numss   r�_num_versionr��sd���M�M�$�'�E��D�
���K�K��3�u�y�y�{�#3�4��e��(�C�K�K�=�(���
��
�s�7A(�(
A5�4A5c�"�[R"U5nSU<SU<S3n[R"U5n[R
"S[R[RS9nU URR5nSSS5 [R"UW5nU(d[[U55$UR[S9 [R "US5$!,(df   Nl=f![a SnN}f=f)	Nz:-lz\.\S+ => \S*/(libz\.\S+))�/sbin/ldconfigz-rryr)�keyr)r_r`r+r^rfrgrhrzr[rLrjrlrrv�sortr�rm)r4�enamernrrr~rts      rr7r7�s����I�I�d�O�E�8=�u�E�D��;�;�t�$�D�
.�!�'�'�(@�/9���/9�/A�/A�C����;�;�+�+�-�D���*�*�T�4�(�C��"�<��#5�6�6��H�H��H�&��;�;�s�2�w�'�'��T���
���
�s�2C?�-C.�.
C<�?D�
Dc��[RRS5(dg[[R5nSUS'U(aSnOSnSn[
R"U[
R[
RUS9nU URHRnUR5nURS5(dM+[R"U5R5SnMT SSS5 U(dgURS	5HNn[RRUS
U-5n[RRU5(dMLUs $ g![a gf=f!,(df   N�=f)N�
/usr/bin/crlerWrX)r��-64)r�rZsDefault Library Path (ELF):rJ�:zlib%s.so)r+r.�existsrer,rfrgrhrzrjr[�strip�
startswithrmrr/)	r4�is64r]rq�pathsrr�line�dir�libfiles	         r�
_findLib_crler��s%���7�7�>�>�/�2�2���r�z�z�"�C��C��M��/��)���E�
�!�'�'��/9���/9�/A�/A�,/�1��� �K�K�D��:�:�<�D����'E�F�F� "���D� 1� 7� 7� 9�!� <��(�����{�{�3�'���'�'�,�,�s�J��,=�>���7�7�>�>�'�*�*�"�N�(�
��!�
��
����s$�3E�4E/�+E/�
E,�+E,�/
E=c�N�[[X5=(d [U55$�N)rr�rv)r4r�s  rr7r7s���}�T�8�N�L��<N�O�Orc	��SSKnURS5S:Xa#[R"5RS-nO"[R"5RS-nSSSSSS	.nURUS
5nSn[R"U[R"U5U4-5n[R"SS
/[R[R[RSSS.S9n[R"XVRR55nU(a.[R "UR#S55sSSS5 $SSS5 g!,(df   g=f![$a gf=f)Nr�lrJz-32r�zlibc6,x86-64zlibc6,64bitzlibc6,IA-64)z	x86_64-64zppc64-64z
sparc64-64zs390x-64zia64-64�libc6z\s+(lib%s\.[^\s]+)\s+\(%sr�r�rW)rXrY)�stdinr\r[r]r)�struct�calcsizer+rFrG�getr^r_r`rfrgrzrhr{r[rLrmr|rj)r4r�rG�mach_map�abi_type�regex�prts        r�_findSoname_ldconfigr�s;������s�#�q�(��(�(�*�,�,�u�4���(�(�*�,�,�u�4��+�)�+�)�(��H� �|�|�G�W�5�H�1�E��K�K�����4��(�(C� C�D�E�

��%�%�'7��&>�,6�,>�,>�-7�-?�-?�-7�_�_�58�#�*F�	H�LM��)�)�E�8�8�=�=�?�;�C��!�{�{�3�9�9�Q�<�8�H�H��
H�H�H���
��
�s8�+AE1�2AE �	E1�E1� 
E.�*E1�.E1�1
E>�=E>c��S[R"U5-nSS/n[RR	S5nU(a+URS5HnUR
SU/5 M UR
S[RSU-/5 Sn[R"U[R[RS	S
9nUR5upx[R"U[R"U55n	U	H+n
[U
5(dM[R"U
5s $ U$![a U$f=f)NrS�ldz-t�LD_LIBRARY_PATHr�z-LrVz-l%sT)r[r\�universal_newlines)r_r`r+r,r�r�extend�devnullrfrgrh�communicaterlrmrQ�	Exception)r4rn�cmd�libpathr�resultr��out�_rtrus           r�_findLib_ldr�8s��1�B�I�I�d�O�C�D���,�C��j�j�n�n�%6�7�G�� ���s�+�A��J�J��a�y�)�,��J�J��b�j�j�&�4�-�8�9��F�
��$�$�S����,6�O�O�8<�>���������j�j��r�{�{�3�'7�8���D�#�4�=�=� ��;�;�t�,�,�
 ��M���
���M�
�s�BD:�6D:�:
E�Ec��[U5=(d/ [[U55=(d [[U55$r�)r�rrvr�)r4s rr7r7Ss6��'��-�U��|�D�1�2�U�6A�+�d�BS�6T�
Urc��SSKJn [RS:XaC[	UR
5 [	UR
S55 [	[S55 [RS:XGak[	[S55 [	[S55 [	[S55 [RS	:Xai[	URS
55 [	URS55 [	URS55 [	URS
55 g[RRS5(GaDSSKJn [RS:ao[	SU"S[R535 [	SURS535 [	[S55 [	URS55 O@[	SU"S[R535 [	SURS535 [	S[S535 [	SUR[S5535 [	S[S535 [	SUR[S5535 g[	URS55 [	URS55 [	[S55 gg)Nr)�cdllrrr8r)r(�bz2r;z
libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/SystemrB)�CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z
libc.a(shr.o)zUsing cdll.LoadLibrary(): �rpmz	librpm.sozlibc.a(shr_64.o)z	crypt	:: �cryptz
crypto	:: �cryptozlibm.sozlibcrypt.so)�ctypesr�r+r4�printr�loadr7r
�platform�LoadLibraryr�r�r��RTLD_MEMBER)r�r�s  r�testr�[s(���	�w�w�$��
�d�k�k��
�d�i�i��!�"�
�l�8�$�%�	�w�w�'��
�l�3�� �
�l�3�� �
�l�5�!�"��<�<�8�#��$�"�"�<�0�1��$�"�"�#4�5�6��$�"�"�#4�5�6��$�"�"�#<�=�>�
�\�\�
$�
$�U�
+�
+�#��{�{�U�"��:�4��QS�Q_�Q_�;`�:a�b�c��2�4�3C�3C�O�3T�2U�V�W��l�5�)�*��d�&�&�{�3�4��:�4�@R�TV�Tb�Tb�;c�:d�e�f��2�4�3C�3C�DV�3W�2X�Y�Z��J�|�G�4�5�6�7��J�t�/�/��W�0E�F�G�H�I��K��X� 6�7�8�9��K�� 0� 0��h�1G� H�I�J�K��$�"�"�9�-�.��$�"�"�=�1�2��,�w�'�(�?r�__main__)F)r+rarfr
r4rr&r7r��ctypes.macholib.dyldr=r?r��ctypes._aixr_rcrQrvrr�r�r�r�r��__name__�rr�<module>r�s��	�
��
��7�7�d�?��2�*
��W�W���C�L�L�,P�P�<�	�	�\�\���U�#�#�)��\�\�Y��8��W�W�����/%�d�|�|�x��	-�"	-�,�|�|���B�C�C�		)�	(�*

����	!�"	�H	P�
	�<	�6	U�&)�P�z���F�r
Back to Directory File Manager