HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-311.pyc
�

�mi�H����ddlmZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZmZm
Z
ddlmZddlmZmZmZmZmZmZeje��Zd���Zejd	��Zd
ZejdksejdkrOej dkrDe�!d
d��dZ"d�ee"���#d��D��Z$d�Z%e%Z&Gd�de'��Z(dS)�)�BytesION)�ZipInfo�)�	sysconfig�detect_encoding�ZipFile)�finder)�FileOperator�get_export_entry�convert_path�get_executable�get_platform�in_venva�
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 <assemblyIdentity version="1.0.0.0"
 processorArchitecture="X86"
 name="%s"
 type="win32"/>

 <!-- Identify the application security requirements. -->
 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
 <security>
 <requestedPrivileges>
 <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
 </requestedPrivileges>
 </security>
 </trustInfo>
</assembly>s^#!.*pythonw?[0-9.]*([ 	].*)?$z�# -*- coding: utf-8 -*-
import re
import sys
if __name__ == '__main__':
    from %(module)s import %(import_name)s
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(%(func)s())
�nt�java�.c�\�i|])}|j�d���|j|j��*S)�.exe)�name�endswith�bytes)�.0�rs  �=D:\Python311\Lib\site-packages\pip/_vendor/distlib/scripts.py�
<dictcomp>r@sB�����
��6�?�?�6�"�"��	��������c���d|vrj|�d��r;|�dd��\}}d|vr|�d��s|�d|�d�}n|�d��sd|z}|S)N� z
/usr/bin/env r�"z "z"%s")�
startswith�split)�
executable�env�_executables   r�enquote_executabler&Gs���
�j��1�
� � ��1�1�	1�)�/�/��Q�7�7��C���k�!�
<�+�*@�*@��*E�*E�
<�*-�#�#�{�{�{�;�
���(�(��-�-�
1�#�j�0�
��rc�2�eZdZdZeZdZdd�Zd�Ze	j
�d��rd�Zd	�Z
d
�Zdd�Zd
�ZeZd�Zd�ZdZd�Zdd�Zd�Zed���Zejd���Zejdksejdkrejdkrd�Zdd�Z dd�Z!dS)�ScriptMakerz_
    A class to copy or create scripts from source scripts or callable
    specifications.
    NTFc��||_||_||_d|_d|_t
jdkpt
jdkot
jdk|_td��|_
|pt|��|_t
jdkpt
jdkot
jdk|_
tj|_dS)NF�posixr)r�X.Yr)�
source_dir�
target_dir�
add_launchers�force�clobber�osr�_name�set_mode�set�variantsr
�_fileop�_is_nt�sys�version_info)�selfr,r-r.�dry_run�fileops      r�__init__zScriptMaker.__init__ds���$���$���*�����
������G�+�[���F�1B�1Z�r�x�SZ�GZ��
��K�(�(��
��6��g�!6�!6����g��o�Q�"�'�V�*;�*P���D�@P����,����rc���|�dd��r_|jrXtj�|��\}}|�dd��}tj�||��}|S)N�guiF�python�pythonw)�getr7r1�pathr"�replace�join)r:r#�options�dn�fns     r�_get_alternate_executablez%ScriptMaker._get_alternate_executablersf���;�;�u�e�$�$�	.���	.��W�]�]�:�.�.�F�B�����H�i�0�0�B�����b�"�-�-�J��rrc���	t|��5}|�d��dkcddd��S#1swxYwYdS#ttf$rt�d|��YdSwxYw)zl
            Determine if the specified executable is a script
            (contains a #! line)
            �z#!NzFailed to open %sF)�open�read�OSError�IOError�logger�warning)r:r#�fps   r�	_is_shellzScriptMaker._is_shell{s���

��*�%�%�.���7�7�1�:�:��-�.�.�.�.�.�.�.�.�.�.�.�.����.�.�.�.�.�.���W�%�
�
�
����2�J�?�?�?��u�u�
���s,�A�7�A�;�A�;�A�,A4�3A4c���|�|��r*ddl}|jj�d��dkr|Sn)|����d��r|Sd|zS)Nrzos.name�Linuxz
jython.exez/usr/bin/env %s)rSr�lang�System�getProperty�lowerr)r:r#rs   r�_fix_jython_executablez"ScriptMaker._fix_jython_executable�s}���~�~�j�)�)�
"������9�#�/�/�	�:�:�g�E�&�%�%�&��!�!�#�#�,�,�\�:�:�
"�!�!�$�z�1�1rc�&�tjdkrd}nZttdd��rd}nAt	|��t	|��zdz}tjdkrd}nd}d	|vo||k}|rd
|z|zdz}nd}|d
|z|zdzz
}|dz
}|S)a
        Build a shebang line. In the simple case (on Windows, or a shebang line
        which is not too long or contains spaces) use a simple formulation for
        the shebang. Otherwise, use /bin/sh as the executable, with a contrived
        shebang which allows the script to run either under Python or sh, using
        suitable quoting. Thanks to Harald Nordgren for his input.

        See also: http://www.in-ulm.de/~mascheck/various/shebang/#length
                  https://hg.mozilla.org/mozilla-central/file/tip/mach
        r*T�cross_compilingF��darwini�� s#!�
s
#!/bin/sh
s	'''exec' s "$0" "$@"
s' '''
)r1r�getattrr8�len�platform)r:r#�post_interp�simple_shebang�shebang_length�max_shebang_length�results       r�_build_shebangzScriptMaker._build_shebang�s����7�g��	c�!�N�N�
�S�+�U�
3�
3�
	c�
#�N�N�!��_�_�s�;�/?�/?�?�!�C�N��|�x�'�
)�%(�"�"�%(�"�#�:�5�a�N�N`�<`�N��	!��Z�'�+�5��=�F�F�#�F��l�Z�/�+�=��O�O�F��j� �F��
rrc��d}|jr|j}d}�n,tj��st��}�n	t	��rHt
j�tjd��dtj	d��z��}n�t
j
dkrHt
j�tj	d��dtj	d��z��}n[t
j�tj	d��dtj	d	���tj	d������}|r|�||��}tj
�d
��r|�|��}|rt!|��}|�d��}tj
dkr
d
|vr	d|vr|dz
}|�||��}	|�d��n #t($rt+d|z���wxYw|dkr;	|�|��n$#t($rt+d|�d|�d����wxYw|S)NTF�scriptszpython%s�EXEr�BINDIRr@�VERSIONr�utf-8�cliz	-X:Framesz
-X:FullFramess
 -X:Framesz,The shebang (%r) is not decodable from utf-8z
The shebang (z-) is not decodable from the script encoding (�))r#r�is_python_buildr
rr1rCrE�get_path�get_config_varrrIr8rdr!rZr&�encoderj�decode�UnicodeDecodeError�
ValueError)r:�encodingrerF�enquoter#�shebangs       r�_get_shebangzScriptMaker._get_shebang�s������?�	k���J��G�G��*�,�,�
	k�'�)�)�J�J�
�Y�Y�	k�����i�&8��&C�&C�Z�R[�Rj�kp�Rq�Rq�Eq�r�r�J�J��w�$��
k� �W�\�\�)�*B�8�*L�*L�*4�	�8P�QV�8W�8W�*X�Z�Z�
�
� �W�\�\��,�X�6�6�6�$-�$<�Y�$G�$G�$G��Ia�bg�Ih�Ih�Ih�i�k�k�
��	M��7�7�
�G�L�L�J��<�"�"�6�*�*�	A��4�4�Z�@�@�J��	8�+�J�7�7�J� �&�&�w�/�/�
��L�E�!�	)�k��&D�	)��{�2�	)��=�(�K��%�%�j�+�>�>��	W��N�N�7�#�#�#�#��!�	W�	W�	W��K�g�U�V�V�V�	W����
�w��	X�
X����x�(�(�(�(��%�
X�
X�
X� �j�DK�G�G�X�X�X�"W�X�X�X�
X�����s�'G=�=H�$H:�:!Ic��|jt|j|j�d��d|j���zS)Nrr)�module�import_name�func)�script_template�dict�prefix�suffixr")r:�entrys  r�_get_script_textzScriptMaker._get_script_text�sH���#�d��<�U�\�-?�-?��-D�-D�Q�-G�e�l�'\�'\�'\�\�	\rc�T�tj�|��}|j|zS�N)r1rC�basename�manifest)r:�exename�bases   r�get_manifestzScriptMaker.get_manifest�s$���w����(�(���}�t�#�#rc�z�|jo|j}|s||z}�n|dkr|�d��}n|�d��}t��}t	|d��5}	t
j�d��}
|
rQtj	t|
����dd�}td|���}|	�||��n|	�d|��ddd��n#1swxYwY|�
��}
||z|
z}|D�]}t
j�|j|��}|�r.t
j�|��\}}|�d��r|}d	|z}	|j�||���nx#t*$r�t,�d
��d|z}t
j�|��rtj|��tj||��|j�||��t,�d��	tj|��n#t*$rYnwxYwYn�wxYw|jr|�d
|z��s|�d
|��}t
j�|��r$|jst,�d|�����|j�||��|jr|j�|g��|� |����dS)N�py�t�w�SOURCE_DATE_EPOCH�z__main__.py)�filename�	date_timez.pyz%s.exez:Failed to write executable - trying to use .deleteme logicz%s.deletemez0Able to replace executable using .deleteme logicrzSkipping existing file %s)!r.r7�
_get_launcherrrr1�environrB�time�gmtime�intr�writestr�getvaluerCrEr-�splitextr!r6�write_binary_file�	ExceptionrPrQ�exists�remove�rename�debugrr0r3�set_executable_mode�append)r:�namesr|�script_bytes�	filenames�ext�use_launcher�launcher�stream�zf�source_date_epochr��zinfo�zip_datar�outname�n�e�dfnames                   r�
_write_scriptzScriptMaker._write_scripts����)�9�d�k���	9�"�\�1�L�L��d�{�
3��-�-�c�2�2����-�-�c�2�2���Y�Y�F����%�%�
=��$&�J�N�N�3F�$G�$G�!�$�=� $��C�0A�,B�,B� C� C�B�Q�B� G�I�#�]�i�P�P�P�E��K�K��|�4�4�4�4��K�K�
�|�<�<�<�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=����
=�
=�
=�
=����(�(�H�#�g�-��8�L��!	&�!	&�D��g�l�l�4�?�D�9�9�G��
@��w�'�'��0�0���1��<�<��&�&� ��G�"�W�,����L�2�2�7�L�I�I�I�I�� �����N�N�$9�:�:�:�*�W�4�F��w�~�~�f�-�-�*��	�&�)�)�)��I�g�v�.�.�.��L�2�2�7�L�I�I�I��L�L�"3�4�4�4���	�&�)�)�)�)��$���������������� �;�7�w�'7�'7��c�	�'B�'B�7�)0���#�#�6�G��7�>�>�'�*�*��4�<���N�N�#>��H�H�H����.�.�w��E�E�E��=�@��L�4�4�g�Y�?�?�?����W�%�%�%�%�C!	&�!	&sJ�'B	C<�<D�D�F,�,B&I;�I(�'I;�(
I5�2I;�4I5�5I;�:I;�-c�<�t��}d|jvr|�|��d|jvr$|�|�|jd����d|jvr9|�|�|j�|jd�d|jd����|S)Nr�Xrr+rr)r4r5�addr9�variant_separator)r:rris   r�get_script_filenamesz ScriptMaker.get_script_filenames<s�������
����	��J�J�t�����$�-��	>��J�J���t�'8��';�';�<�=�=�=��D�M�!�	q��J�J�d�d�D�,B�,B�D�DU�VW�DX�DX�DX�Z^�Zk�lm�Zn�Zn�o�p�p�p��
rc��d}|rE|�dg��}|r-dd�|��z}|�d��}|�d||���}|�|���d��}|�|j��}|r|�dd��rd	}	nd
}	|�|||||	��dS)Nr�interpreter_argsz %srrp�rFr?F�pywr�)rBrErvr}r�r�rr�)
r:r�r�rFre�argsr|�script�scriptnamesr�s
          r�_make_scriptzScriptMaker._make_scriptFs������	3��;�;�1�2�6�6�D��
3��s�x�x��~�~�-��"�k�k�'�2�2���#�#�G�[�'�#�J�J���&�&�u�-�-�4�4�W�=�=���/�/��
�;�;���	�w�{�{�5�%�0�0�	��C�C��C����;����C�H�H�H�H�Hrc�N�d}tj�|jt	|����}tj�|jtj�|����}|js8|j�	||��st�d|��dS	t|d��}|�
��}|st�d|��dSt�|�dd����}|rd}|�d��pd	}n#t&$r
|js�d}YnwxYw|sj|r|���|j�||��|jr|j�|g��|�|��dSt�d
||j��|jjs�t7|j
��\}	}
|�d��|�|	|��}d|vrd
}nd}tj�|��}
|�|
g||���||��|r|���dSdS)NFznot copying %s (up-to-date)�rbz%s is an empty file (skipping)s
raTrrzcopying and adjusting %s -> %srspythonwr�r�) r1rCrEr,rr-r�r/r6�newerrPr�rL�readlinerQ�
FIRST_LINE_RE�matchrD�grouprOr;�close�	copy_filer3r�r��infor�seekr}r�rM)r:r�r��adjustr��f�
first_liner�rerz�linesr|r�r�s              r�_copy_scriptzScriptMaker._copy_scriptVs���������d�o�|�F�/C�/C�D�D���'�,�,�t����0@�0@��0H�0H�I�I���z�	�$�,�"4�"4�V�W�"E�"E�	��L�L�6��?�?�?��F�
	4��V�T�"�"�A������J��
����?��H�H�H���!�'�'�
�(:�(:�7�E�(J�(J�K�K�E��
4���#�k�k�!�n�n�3������	�	�	��<�
���A�A�A�	�����	��
����	�	�	��L�"�"�6�7�3�3�3��}�
<���0�0�'��;�;�;����W�%�%�%�%�%��K�K�8�&�$�/�R�R�R��<�'�	
K�"1�!�*�"=�"=���%����q�	�	�	��+�+�H�k�B�B����+���C�C��C��G�$�$�W�-�-���"�"�A�3�������9�c�J�J�J��
����	�	�	�	�	�
�
s�7E�E�Ec��|jjSr��r6r;)r:s rr;zScriptMaker.dry_run�s
���|�#�#rc��||j_dSr�r�)r:�values  rr;zScriptMaker.dry_run�s��$�����rrc���tjd��dkrd}nd}t��dkrdnd}|�|�|�d�}|tvrd	|�d
t��}t|���t|S)N�P��64�32z	win-arm64z-armrrzUnable to find resource z in package )�struct�calcsizer�WRAPPERS�DISTLIB_PACKAGEry)r:�kind�bits�platform_suffixr�msgs      rr�zScriptMaker._get_launcher�s�����s�#�#�q�(�
������(4���+�(E�M�f�f�2�O�#'�4������?�D��8�#�
&�
&����o�o�/�� ��o�o�%��D�>�!rc��g}t|��}|�|�||��n|�|||���|S)a�
        Make a script.

        :param specification: The specification, which is either a valid export
                              entry specification (to make a script from a
                              callable) or a filename (to make a script by
                              copying from a source location).
        :param options: A dictionary of options controlling script generation.
        :return: A list of all absolute pathnames written to.
        Nr�)rr�r�)r:�
specificationrFr�r�s     r�makezScriptMaker.make�sY���	� ��/�/���	A����m�Y�7�7�7�7����e�Y���@�@�@��rc�f�g}|D]+}|�|�||�����,|S)z�
        Take a list of specifications and make scripts from them,
        :param specifications: A list of specifications.
        :return: A list of all absolute pathnames written to,
        )�extendr�)r:�specificationsrFr�r�s     r�
make_multiplezScriptMaker.make_multiple�sE���	�+�	@�	@�M����T�Y�Y�}�g�>�>�?�?�?�?��r)TFN)rNr�)"�__name__�
__module__�__qualname__�__doc__�SCRIPT_TEMPLATEr�r#r=rIr8rdr!rSrZrjr}r��_DEFAULT_MANIFESTr�r�r�r�r�r�r��propertyr;�setterr1rr2r�r�r��rrr(r([s���������&�O��J�-�-�-�-�����|���v�&�&�2�
	�
	�
	�
	2�
	2�
	2�"�"�"�H@�@�@�@�D\�\�\�!�H�$�$�$�5&�5&�5&�n�����I�I�I�I� 0�0�0�d�$�$��X�$�
�^�%�%��^�%�
�w�$��"�2�7�f�,�"���T�1A�"�	"�	"�	"�����&	�	�	�	�	�	rr())�ior�loggingr1�rer�r8r��zipfiler�compatrrr�	resourcesr	�utilr
rrr
rr�	getLoggerr�rP�stripr��compiler�r�rr2�rsplitr��iteratorr�r&�_enquote_executable�objectr(r�rr�<module>rs�������������	�	�	�	�	�	�	�	�
�
�
�
�
�
�
�
�����������7�7�7�7�7�7�7�7�7�7�������g�g�g�g�g�g�g�g�g�g�g�g�g�g�g�g�	��	�8�	$�	$��� �u�w�w�!�&��
�=�>�>�
���"�7�d�?�	�r�w�&�(�	�R�X��-=�	��o�o�c�1�-�-�a�0�O������(�(�1�1�"�5�5����H�
�
�
�")��d�d�d�d�d�&�d�d�d�d�dr