HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /lib/python3/dist-packages/setuptools/command/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/setuptools/command/__pycache__/egg_info.cpython-311.pyc
�

�5sgk���dZddlmZddlmZddlmZddlm	Z	ddlZddlZddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlm Z m!Z!m"Z"m#Z#m$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*ddl+m,Z,ddlm-Z-d�Z.Gd�d��Z/Gd�de/e��Z0Gd�de��ZGd�de��Z1d�Z2d�Z3d�Z4d �Z5d!�Z6d"�Z7d#�Z8d$�Z9d+d&�Z:d'�Z;d(�Z<Gd)�d*e-��Z=dS),zUsetuptools.command.egg_info

Create a distribution's .egg-info directory and contents�)�FileList)�DistutilsInternalError)�convert_path)�logN�)�metadata)�
_entry_points)�Command)�sdist)�walk_revctrl)�edit_config)�	bdist_egg)�Requirement�	safe_name�
parse_version�safe_version�to_filename)�glob)�	packaging)�yield_lines)�SetuptoolsDeprecationWarningc���d}|jtjj��}t	jtj��}d|�d�}t
|��D�]f\}}|t|��dz
k}|dkr|r|dz
}n|d|�d|�d	�z
}�7d
}t|��}	||	k�r||}
|
dkr	||dzz
}n�|
dkr||z
}n�|
d
kr�|dz}||	kr||dkr|dz}||	kr||dkr|dz}||	kr#||dkr|dz}||	kr||dk�||	kr|t	j|
��z
}na||dz|�}d}
|d
dkrd}
|dd�}|
t	j|��z
}
|d
|
�d�z
}|}n|t	j|
��z
}|dz
}||	k��|s||z
}��h|dz
}t	j|tj	tj
z���S)z�
    Translate a file path glob like '*.txt' in to a regular expression.
    This differs from fnmatch.translate which allows wildcards to match
    directory separators. It also knows about '**/' which matches any number of
    directories.
    �z[^�]��**z.*z(?:�+z)*r�*�?�[�!�^Nz\Z)�flags)�split�os�path�sep�re�escape�	enumerate�len�compile�	MULTILINE�DOTALL)r�pat�chunksr'�
valid_char�c�chunk�
last_chunk�i�	chunk_len�char�inner_i�inner�
char_classs              �=/usr/lib/python3/dist-packages/setuptools/command/egg_info.py�translate_patternr<'s���
�C��T�Z����
$�
$�F�
�)�B�F�
�
�C�C��C�C�!�J��f�%�%�>�>���5��#�f�+�+��/�)�
��D�=�=��
8��t������z�z�z�3�3�3�7�7���
����J�J�	��)�m�m���8�D��s�{�{��z�C�'�'��������z�!��������a�%���Y�&�&�5��>�S�+@�+@�%��k�G��Y�&�&�5��>�S�+@�+@�%��k�G��	�)�)�e�G�n��.C�.C�%��k�G��	�)�)�e�G�n��.C�.C��i�'�'��2�9�T�?�?�*�C�C�"�!�a�%��-�0�E�!#�J��Q�x�3���%(�
� %�a�b�b�	���"�)�E�"2�"2�2�J��C�Z�Z�Z�1�1�C� �A�A��r�y����&��
��F�A�U�)�m�m�Z�	��3�J�C���5�L�C�
�:�c����	�!9�:�:�:�:�c�v�eZdZdZdZed���Zd�Zd�Zde	de
fd�Zde	fd�Zde	fd	�Z
ee
��ZdS)
�
InfoCommonNc�N�t|j�����S�N)r�distribution�get_name��selfs r;�namezInfoCommon.name~s����*�3�3�5�5�6�6�6r=c�t�t|�|j�������SrA)r�
_maybe_tagrB�get_versionrDs r;�tagged_versionzInfoCommon.tagged_version�s+���D�O�O�D�,=�,I�,I�,K�,K�L�L�M�M�Mr=c�R�|jr|�|��r|n	||jzS)z�
        egg_info may be called more than once for a distribution,
        in which case the version string already contains all tags.
        )�vtags�_already_tagged�rE�versions  r;rHzInfoCommon._maybe_tag�s6���z�
&�d�&:�&:�7�&C�&C�
&�G�G��4�:�%�	
r=rO�returnc��|�|j��p&|�|�����SrA)�endswithrL�
_safe_tagsrNs  r;rMzInfoCommon._already_tagged�s7������
�+�+�R�w�/?�/?����@Q�@Q�/R�/R�Rr=c�@�td|j����dd�S)N�0r)rrLrDs r;rSzInfoCommon._safe_tags�s&���,��
�,�,�-�-�a�b�b�1�1r=c�h�d}|jr
||jz
}|jr|tjd��z
}|S)Nrz%Y%m%d)�	tag_build�tag_date�time�strftimerNs  r;�tagszInfoCommon.tags�s@�����>�	&��t�~�%�G��=�	/��t�}�X�.�.�.�G��r=)�__name__�
__module__�__qualname__rWrX�propertyrFrJrH�str�boolrMrSr[rL�r=r;r?r?zs��������I��H�
�7�7��X�7�N�N�N�
�
�
�S�s�S�t�S�S�S�S�
2�C�2�2�2�2�
�c�����
�H�T�N�N�E�E�Er=r?c��eZdZdZgd�ZdgZddiZd�Zed���Z	e	j
d���Z	d�Zd	�Zdd�Z
d�Zd
�Zd�Zd�Zd�ZdS)�egg_infoz+create a distribution's .egg-info directory))z	egg-base=�ezLdirectory containing .egg-info directories (default: top of the source tree))�tag-date�dz0Add date stamp (e.g. 20050528) to version number)z
tag-build=�bz-Specify explicit tag to add to version number)�no-date�Dz"Don't include date stamp [default]rfric�Z�d|_d|_d|_d|_d|_d|_dS)NF)�egg_base�egg_namerd�egg_version�broken_egg_info�ignore_egg_info_in_manifestrDs r;�initialize_optionszegg_info.initialize_options�s5����
���
���
����$���+0��(�(�(r=c��dSrArbrDs r;�tag_svn_revisionzegg_info.tag_svn_revision�����r=c��dSrArb)rE�values  r;rszegg_info.tag_svn_revision�rtr=c��tj��}|���|d<d|d<t|t	|�����dS)z�
        Materialize the value of date into the
        build tag. Install build keys in a deterministic order
        to avoid arbitrary reordering on subsequent builds.
        rWrrX)rdN)�collections�OrderedDictr[r
�dict)rE�filenamerds   r;�save_version_infozegg_info.save_version_info�sQ���*�,�,��!%�	�	������ �����H�d�H�5�5�5�6�6�6�6�6r=c��|j|_|���|_t	|j��}	t|tjj��}|rdnd}t||j|jfz��nB#t$r5}tj�
d|j�d|j����|�d}~wwxYw|j�3|jj}|pi�dt$j��|_|�d��t+|j��dz|_|jt$jkr/t$j�|j|j��|_d|jvr|���|j|jj_|jj}|�U|j|j���kr5|j|_t	|j��|_d|j_dSdSdS)Nz%s==%sz%s===%sz-Invalid distribution name or version syntax: �-rrl�	.egg-info) rFrmrJrnr�
isinstancerrO�Versionr�
ValueError�	distutils�errors�DistutilsOptionErrorrlrB�package_dir�getr%�curdir�ensure_dirnamerrdr&�join�check_broken_egg_infor�
_patched_dist�key�lower�_version�_parsed_version)rE�parsed_version�
is_version�specre�dirs�pds       r;�finalize_optionszegg_info.finalize_options�s���
�	��
��.�.�0�0���&�t�'7�8�8��	�#�N�I�4E�4M�N�N�J�)�8�8�8�y�D����
�t�/?�@�@�A�A�A�A���	�	�	��"�7�7�7������ 0� 0�2����
�����	�����=� ��$�0�D�!�Z�R�,�,�R���;�;�D�M����J�'�'�'�#�D�M�2�2�[�@��
��=�B�I�%�%��G�L�L����
�F�F�D�M��$�-����&�&�(�(�(�
.2�-=���"�*��
�
,��
�>�b�f��
�(;�(;�(=�(=�=�=��*�B�K�!.�t�/?�!@�!@�B��.2�D��+�+�+��>�=�=s�AA?�?
B>�	0B9�9B>Fc���|r|�|||��dStj�|��r3|�|st	jd||��dS|�|��dSdS)a�Write `data` to `filename` or delete if empty

        If `data` is non-empty, this routine is the same as ``write_file()``.
        If `data` is empty but not ``None``, this is the same as calling
        ``delete_file(filename)`.  If `data` is ``None``, then this is a no-op
        unless `filename` exists, in which case a warning is issued about the
        orphaned file (if `force` is false), or deleted (if `force` is true).
        Nz$%s not set in setup(), but %s exists)�
write_filer%r&�existsr�warn�delete_file)rE�whatr{�data�forces     r;�write_or_delete_filezegg_info.write_or_delete_files����		+��O�O�D�(�D�1�1�1�1�1�
�W�^�^�H�
%�
%�	+��|�E�|���:�D�(������� � ��*�*�*�*�*�	+�	+r=c���tjd||��|�d��}|js;t	|d��}|�|��|���dSdS)z�Write `data` to `filename` (if not a dry run) after announcing it

        `what` is used in a log message to identify what is being written
        to the file.
        zwriting %s to %s�utf-8�wbN)r�info�encode�dry_run�open�write�close)rEr�r{r��fs     r;r�zegg_info.write_filesm��	��#�T�8�4�4�4��{�{�7�#�#���|�	��X�t�$�$�A�
�G�G�D�M�M�M�
�G�G�I�I�I�I�I�	�	r=c�j�tjd|��|jstj|��dSdS)z8Delete `filename` (if not a dry run) after announcing itzdeleting %sN)rr�r�r%�unlink)rEr{s  r;r�zegg_info.delete_file"s>������)�)�)��|�	 ��I�h������	 �	 r=c	��|�|j��	tj|jd��n=#t$r0}d|j�d�}t
j�|��|�d}~wwxYwtj	d���D]P}|�
��}|||jtj�
|j|j�����Qtj�
|jd��}tj�|��r|�|��|���dS)Nz'Cannot update time stamp of directory '�'zegg_info.writers)�groupznative_libs.txt)�mkpathrdr%�utime�OSErrorr�r��DistutilsFileErrorr�entry_points�loadrFr&r�r�r��find_sources)rEre�msg�ep�writer�nls      r;�runzegg_info.run(s9�����D�M�"�"�"�	B��H�T�]�D�)�)�)�)���	B�	B�	B�L�D�M�L�L�L�C��"�5�5�c�:�:��A�����	B�����'�.@�A�A�A�	H�	H�B��W�W�Y�Y�F��F�4���"�'�,�,�t�}�b�g�"F�"F�G�G�G�G��W�\�\�$�-�):�
;�
;��
�7�>�>�"���	!����R� � � ��������s�7�
A1�+A,�,A1c���tj�|jd��}t	|j��}|j|_||_|�	��|j
|_
dS)z"Generate SOURCES.txt manifest filezSOURCES.txtN)r%r&r�rd�manifest_makerrBrp�ignore_egg_info_dir�manifestr��filelist)rE�manifest_filename�mms   r;r�zegg_info.find_sources:sV���G�L�L���
�F�F��
�D�-�
.�
.��!%�!A���'���
���������
�
�
r=c�,�|jdz}|jtjkr%tj�|j|��}tj�|��r0tjd||j	��|j	|_
||_	dSdS)NraB------------------------------------------------------------------------------
Note: Your current .egg-info directory has a '-' in its name;
this will not work correctly with "setup.py develop".

Please rename %s to %s to correct this problem.
------------------------------------------------------------------------------)rmrlr%r�r&r�r�rr�rdro)rE�beis  r;r�zegg_info.check_broken_egg_infoCs����m�k�)���=�B�I�%�%��'�,�,�t�}�c�2�2�C�
�7�>�>�#���		 ��H�O��T�]�
�
�
�$(�=�D� ��D�M�M�M�		 �		 r=N�F)r\r]r^�description�user_options�boolean_options�negative_optrqr_rs�setterr|r�r�r�r�r�r�r�rbr=r;rdrd�s������?�K����L�"�l�O��:��L�1�1�1��
�
��X�
���
�
���
�7�7�7�+3�+3�+3�Z+�+�+�+�(��� � � ����$$�$�$�
 �
 �
 �
 �
 r=rdc�t��eZdZd�fd�	Zd�Zd�Zd�Zd�Zd�Zd	�Z	d
�Z
d�Zd�Zd
�Z
d�Zd�Zd�Zd�Z�xZS)rNFc�Z��t���||��||_dSrA)�super�__init__r�)rEr��debug_printr��	__class__s    �r;r�zFileList.__init__Vs+���
������{�+�+�+�#6�� � � r=c	�|�|�|��\}}}}|j|j|j|jtj|j|��tj|j|��|j	|j
d�}dddddddd	d�}	||}n1#t$r$td
�
|������wxYw|�d��}	|d
vr|g}|	r|fnd}
||}|�d�|g|	r|gngz|z����|D] }||��st#j||g|
�R��!dS)N)�include�excludezglobal-includezglobal-excludezrecursive-includezrecursive-exclude�graft�prunez%warning: no files found matching '%s'z9warning: no previously-included files found matching '%s'z>warning: no files found matching '%s' anywhere in distributionzRwarning: no previously-included files matching '%s' found anywhere in distributionz:warning: no files found matching '%s' under directory '%s'zNwarning: no previously-included files matching '%s' found under directory '%s'z+warning: no directories found matching '%s'z6no previously-included directories found matching '%s'z/this cannot happen: invalid action '{action!s}')�actionz
recursive->r�r�rb� )�_parse_template_liner�r��global_include�global_exclude�	functools�partial�recursive_include�recursive_excluder�r��KeyErrorr�format�
startswithr�r�rr�)
rE�liner��patterns�dir�dir_pattern�
action_map�log_map�process_action�action_is_recursive�extra_log_args�log_tmpl�patterns
             r;�process_template_linezFileList.process_template_lineZs���04�/H�/H��/N�/N�,���3���|��|�"�1�"�1�!*�!2��&��"�"�"+�!2��&��"�"��Z��Z�

�

�
�?� �+�6�'�2�C�M�/
�
��4	�'��/�N�N���	�	�	�(�A���f��%�%���
�	����%�/�/��=�=���'�'�'�#�}�H�$7�?�#���R���6�?������H�H���-�5�#���2�7���
�
�	
�	
�	
� �	=�	=�G�!�>�'�*�*�
=����7�<�^�<�<�<�<��	=�	=s�B	�	.B7c���d}tt|j��dz
dd��D]E}||j|��r-|�d|j|z��|j|=d}�F|S)z�
        Remove all files from the file list that match the predicate.
        Return True if any matching files were removed
        Fr���z
 removing T)�ranger+�filesr�)rE�	predicate�foundr5s    r;�
_remove_fileszFileList._remove_files�s|��
���s�4�:����*�B��3�3�	�	�A��y���A��'�'�
�� � ���
�1�
�!=�>�>�>��J�q�M�����r=c�|�d�t|��D��}|�|��t|��S)z#Include files that match 'pattern'.c�P�g|]#}tj�|���!|��$Srb�r%r&�isdir��.0r�s  r;�
<listcomp>z$FileList.include.<locals>.<listcomp>�s+��B�B�B�q�����q�1A�1A�B��B�B�Br=�r�extendra)rEr�r�s   r;r�zFileList.include�s9��B�B�D��M�M�B�B�B�����E�����E�{�{�r=c�T�t|��}|�|j��S)z#Exclude files that match 'pattern'.)r<r��match�rEr�r�s   r;r�zFileList.exclude�s%��!�'�*�*���!�!�%�+�.�.�.r=c���tj�|d|��}d�t|d���D��}|�|��t|��S)zN
        Include all files anywhere in 'dir/' that match the pattern.
        rc�P�g|]#}tj�|���!|��$Srbr�r�s  r;r�z.FileList.recursive_include.<locals>.<listcomp>�s:��*�*�*�q���
�
�a�(�(�*��*�*�*r=T)�	recursive)r%r&r�rr�ra)rEr�r��full_patternr�s     r;r�zFileList.recursive_include�sc���w�|�|�C��w�7�7��*�*�D���>�>�>�*�*�*�����E�����E�{�{�r=c��ttj�|d|����}|�|j��S)zM
        Exclude any file anywhere in 'dir/' that match the pattern.
        r�r<r%r&r�r�r�)rEr�r�r�s    r;r�zFileList.recursive_exclude�s9��"�"�'�,�,�s�D�'�"B�"B�C�C���!�!�%�+�.�.�.r=c�|�d�t|��D��}|�|��t|��S)zInclude all files from 'dir/'.c�V�g|]&}tj�|��D]}|���'Srb)r�r��findall)r��	match_dir�items   r;r�z"FileList.graft.<locals>.<listcomp>�sP��
�
�
��!�*�2�2�9�=�=�
�
��
�
�
�
�
r=r�)rEr�r�s   r;r�zFileList.graft�sF��
�
�!�#�Y�Y�
�
�
��
	
���E�����E�{�{�r=c��ttj�|d����}|�|j��S)zFilter out files from 'dir/'.rr)rEr�r�s   r;r�zFileList.prune�s5��!�"�'�,�,�s�D�"9�"9�:�:���!�!�%�+�.�.�.r=c���|j�|���ttj�d|������fd�|jD��}|�|��t|��S)z�
        Include all files anywhere in the current directory that match the
        pattern. This is very inefficient on large file trees.
        Nrc�>��g|]}��|���|��Srb)r�)r�r�r�s  �r;r�z+FileList.global_include.<locals>.<listcomp>�s(���<�<�<�q�U�[�[��^�^�<��<�<�<r=)�allfilesrr<r%r&r�r�ra)rEr�r�r�s   @r;r�zFileList.global_include�sp���
�=� ��L�L�N�N�N�!�"�'�,�,�t�W�"=�"=�>�>��<�<�<�<�D�M�<�<�<�����E�����E�{�{�r=c��ttj�d|����}|�|j��S)zD
        Exclude all files anywhere that match the pattern.
        rrr�s   r;r�zFileList.global_exclude�s7��"�"�'�,�,�t�W�"=�"=�>�>���!�!�%�+�.�.�.r=c���|�d��r
|dd�}t|��}|�|��r|j�|��dSdS)N�
r�)rRr�
_safe_pathr��append)rEr
r&s   r;rzFileList.append�sj���=�=����	�����9�D��D�!�!���?�?�4� � �	$��J���d�#�#�#�#�#�	$�	$r=c�`�|j�t|j|����dSrA)r�r��filterr)rE�pathss  r;r�zFileList.extend�s*���
���&���%�8�8�9�9�9�9�9r=c�^�tt|j|j����|_dS)z�
        Replace self.files with only safe paths

        Because some owners of FileList manipulate the underlying
        ``files`` attribute directly, this method must be called to
        repair those paths.
        N)�listrrr�rDs r;�_repairzFileList._repair�s%���&���$�*�=�=�>�>��
�
�
r=c���d}tj|��}|�tjd|z��dStj|d��}|�tj||d��dS	d|vpd|v}|jr|rdStj�|��stj�|��rdSdS#t$r+tj||tj����YdSwxYw)Nz!'%s' not %s encodable -- skippingz''%s' in unexpected encoding -- skippingFr�rs	.egg-infoT)�
unicode_utils�filesys_decoderr��
try_encoder�r%r&r��UnicodeEncodeError�sys�getfilesystemencoding)rEr&�enc_warn�u_path�	utf8_path�is_egg_infos      r;rzFileList._safe_paths��6���-�d�3�3���>��H�>��E�F�F�F��5�"�,�V�W�=�=�	����H�X�t�W�-�-�-��5�
	B�%��/�L�<�9�3L�K��'�
�K�
��u��w�~�~�f�%�%�
�����	�)B�)B�
��t�
�
��"�	B�	B�	B��H�X�t�S�%>�%@�%@�A�A�A�A�A�A�	B���s�"B7�5>B7�71C,�+C,)NNF)r\r]r^r�r�r�r�r�r�r�r�r�r�r�rr�rr�
__classcell__)r�s@r;rrSs�������7�7�7�7�7�7�K=�K=�K=�Z������/�/�/�
���/�/�/����/�/�/�

�
�
�/�/�/�$�$�$�:�:�:�?�?�?�B�B�B�B�B�B�Br=rc�j�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	e
d���Zd	�Zd
�Z
d�Zd�Zd
�ZdS)r�zMANIFEST.inc�L�d|_d|_d|_d|_d|_dS)NrF)�use_defaultsr��
manifest_only�force_manifestr�rDs r;rqz!manifest_maker.initialize_options&s/�������
�������#(�� � � r=c��dSrArbrDs r;r�zmanifest_maker.finalize_options-s���r=c�F�t|j���|_tj�|j��s|���|���tj�|j	��r|�
��|���|���|�
��|j���|j���|���dS)N)r�)rr�r�r%r&r�r��write_manifest�add_defaults�template�
read_template�add_license_files�_add_referenced_files�prune_file_list�sort�remove_duplicatesrDs r;r�zmanifest_maker.run0s��� �T�5M�N�N�N��
��w�~�~�d�m�,�,�	"����!�!�!�������
�7�>�>�$�-�(�(�	!���� � � ���� � � ��"�"�$�$�$��������
�������
�'�'�)�)�)��������r=c�j�tj|��}|�tjd��S)N�/)rr�replacer%r')rEr&s  r;�_manifest_normalizez"manifest_maker._manifest_normalize>s(���+�D�1�1���|�|�B�F�C�(�(�(r=c�����j����fd��jjD��}d�jz}��t
�j|f|��dS)zo
        Write the file list in 'self.filelist' to the manifest file
        named by 'self.manifest'.
        c�:��g|]}��|����Srb)r9)r�r�rEs  �r;r�z1manifest_maker.write_manifest.<locals>.<listcomp>Js'���J�J�J���)�)�!�,�,�J�J�Jr=zwriting manifest file '%s'N)r�rr�r��executer�)rEr�r�s`  r;r-zmanifest_maker.write_manifestBsi���
	
�
������K�J�J�J�d�m�6I�J�J�J��*�T�]�:�����Z�$�-��!7��=�=�=�=�=r=c�^�|�|��stj||��dSdSrA)�_should_suppress_warningrr�)rEr�s  r;r�zmanifest_maker.warnNs:���,�,�S�1�1�	"��J�t�S�!�!�!�!�!�	"�	"r=c�,�tjd|��S)z;
        suppress missing-file warnings from sdist
        zstandard file .*not found)r(r�)r�s r;r>z'manifest_maker._should_suppress_warningRs��
�x�4�c�:�:�:r=c�d�tj|��|j�|j��|j�|j��t
t����}|r|j�|��n8tj
�|j��r|���tj
�d��r|j�d��|�
d��}|j�|j��dS)Nzsetup.pyrd)rr.r�rr/r�rrr�r%r&r��
read_manifest�get_finalized_commandr�rd)rE�rcfiles�ei_cmds   r;r.zmanifest_maker.add_defaultsYs���
��4� � � ��
���T�]�+�+�+��
���T�]�+�+�+��|�~�~�&�&���	!��M� � ��)�)�)�)�
�W�^�^�D�M�
*�
*�	!���� � � �
�7�>�>�*�%�%�	-�
�M� � ��,�,�,��+�+�J�7�7���
���F�O�,�,�,�,�,r=c��|jjjpg}|D]}tjd|���|j�|��dS)Nzadding license file '%s')rBr�
license_filesrr�r�r�)rErF�lfs   r;r1z manifest_maker.add_license_filesksV���)�2�@�F�B�
��	5�	5�B��H�/��4�4�4�4��
���]�+�+�+�+�+r=c��t|jdg��}|D]}tjd|���|j�|��dS)zGAdd files referenced by the config (e.g. `file:` directive) to filelist�_referenced_filesz%adding file referenced by config '%s'N)�getattrrBr�debugr�r�)rE�
referenced�rfs   r;r2z$manifest_maker._add_referenced_filesqsZ���T�.�0C�R�H�H�
��	C�	C�B��I�=�r�B�B�B�B��
���Z�(�(�(�(�(r=c�Z�|�d��}|j���}|j�|j��|j�|��t
jtj	��}|j�
d|zdz|zd���dS)N�buildz(^|z)(RCS|CVS|\.svn)r)�is_regex)rBrB�get_fullnamer�r��
build_baser(r)r%r'�exclude_pattern)rErO�base_dirr's    r;r3zmanifest_maker.prune_file_listys����*�*�7�3�3���$�1�1�3�3���
���E�,�-�-�-��
���H�%�%�%��i�������
�%�%�f�s�l�5H�&H�3�&N�/0�	&�	2�	2�	2�	2�	2r=c��t|d��r|���Stjdt��|���S)a0
        The parent class implementation of this method
        (``sdist``) will try to include data files, which
        might cause recursion problems when
        ``include_package_data=True``.

        Therefore, avoid triggering any attempt of
        analyzing/building the manifest again.
        �get_data_files_without_manifestz�Custom 'build_py' does not implement 'get_data_files_without_manifest'.
Please extend command classes from setuptools instead of distutils.)�hasattrrV�warningsr�r�get_data_files)rE�build_pys  r;�_safe_data_fileszmanifest_maker._safe_data_files�s[���8�>�?�?�	>��;�;�=�=�=��
�
5�
)�		
�	
�	
��&�&�(�(�(r=N)r\r]r^r/rqr�r�r9r-r��staticmethodr>r.r1r2r3r[rbr=r;r�r�#s��������H�)�)�)�
�
�
����)�)�)�
>�
>�
>�"�"�"��;�;��\�;�-�-�-�$,�,�,�)�)�)�2�2�2�)�)�)�)�)r=r�c���d�|��}|�d��}t|d��5}|�|��ddd��dS#1swxYwYdS)z{Create a file with the specified name and write 'contents' (a
    sequence of strings without line terminators) to it.
    �
r�r�N)r�r�r�r�)r{�contentsr�s   r;r�r��s����y�y��"�"�H����w�'�'�H�	
�h��	�	���	���������������������������s�A�A"�%A"c�~�tjd|��|js�|jj}|j|jc|_}|j|jc|_}	|j	|j
��||c|_|_n#||c|_|_wxYwt|jdd��}tj
|j
|��dSdS)Nz
writing %s�zip_safe)rr�r�rBrrnrOrmrF�write_pkg_infordrJr�write_safety_flag)�cmd�basenamer{r�oldver�oldname�safes       r;rbrb�s����H�\�8�$�$�$��;�8��#�,��#&�?�H�4D� ���&�!$��x�}���
�w�	>�
$�H�#�C�L�1�1�1�.5�v�+�H�M�8�+�+��g�v�+�H�M�8�+�=�=�=�=��s�'��T�:�:���#�C�L�$�7�7�7�7�7�8�8s�A7�7Bc�p�tj�|��rtjd��dSdS)NzsWARNING: 'depends.txt' is not used by setuptools 0.6!
Use the install_requires/extras_require setup() args instead.)r%r&r�rr��rdrer{s   r;�warn_depends_obsoleterk�sF��	�w�~�~�h���
���
L�	
�	
�	
�	
�	
�
�
r=c��t|pd��}d�}t|t|����}|�|��dS)Nrbc��|dzS)Nr^rb)r�s r;�	append_crz&_write_requirements.<locals>.append_cr�s���d�{�r=)r�map�sorted�
writelines)�stream�reqs�linesrns    r;�_write_requirementsru�sQ����
��#�#�E�����	�6�%�=�=�)�)�E�
���e�����r=c	�p�|j}tj��}t||j��|jpi}t
|��D]D}|�djdit������t|||���E|�
d||�����dS)Nz
[{extra}]
�requirementsrb)rB�io�StringIOru�install_requires�extras_requirerpr�r��varsr��getvalue)rdrer{�distr�r{�extras       r;�write_requirementsr��s�����D�
�;�=�=�D���d�3�4�4�4��(�.�B�N���'�'�9�9���
�
�)�?�)�3�3�D�F�F�3�3�4�4�4��D�.��"7�8�8�8�8����^�X�t�}�}���G�G�G�G�Gr=c��tj��}t||jj��|�d||�����dS)Nzsetup-requirements)rxryrurB�setup_requiresr�r})rdrer{r�s    r;�write_setup_requirementsr��sJ��
�;�=�=�D���c�.�=�>�>�>����1�8�T�]�]�_�_�M�M�M�M�Mr=c	���t�d�|j���D����}|�d|d�t
|����dz��dS)Nc�F�g|]}|�dd��d��S)�.rr)r$)r��ks  r;r�z(write_toplevel_names.<locals>.<listcomp>�s9��	
�	
�	
��
�G�G�C��O�O�A��	
�	
�	
r=ztop-level namesr^)rz�fromkeysrB�iter_distribution_namesr�r�rp)rdrer{�pkgss    r;�write_toplevel_namesr��sv���=�=�	
�	
��%�=�=�?�?�	
�	
�	
���D��N�N�$�h��	�	�&��,�,�0G�0G�$�0N�O�O�O�O�Or=c�*�t|||d��dS)NT)�	write_argrjs   r;�
overwrite_argr��s��
�c�8�X�t�,�,�,�,�,r=Fc���tj�|��d}t|j|d��}|�d�|��dz}|�||||��dS)Nrr^)r%r&�splitextrJrBr�r�)rdrer{r��argnamervs      r;r�r��sl���g���x�(�(��+�G��C�$�g�t�4�4�E����	�	�%� � �4�'�����W�h��u�=�=�=�=�=r=c��tj|jj��}tj|��}|�d||d��dS)Nzentry pointsT)r	r�rBr��renderr�)rdrer{�eps�defns     r;�
write_entriesr��sH��
�
�S�-�:�
;�
;�C����$�$�D����^�X�t�T�B�B�B�B�Br=c�j�tjdt��tj�d��ryt
jd��5}|D]I}tj	d|��}|r0t|�d����ccddd��S�J	ddd��n#1swxYwYdS)zd
    Get a -r### off of PKG-INFO Version in case this is an sdist of
    a subversion revision.
    z$get_pkg_info_revision is deprecated.zPKG-INFOzVersion:.*-r(\d+)\s*$rNr)rXr��EggInfoDeprecationWarningr%r&r�rxr�r(r��intr�)r�r�r�s   r;�get_pkg_info_revisionr��s��

�M�.�0I�K�K�K�	�w�~�~�j�!�!�/�
�W�Z�
 �
 �	/�A��
/�
/����!9�4�@�@���/��u�{�{�1�~�~�.�.�.�.�		/�	/�	/�	/�	/�	/�	/�	/�/�
/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�

�1s�?B(�B(�(B,�/B,c��eZdZdZdS)r�z?Deprecated behavior warning for EggInfo, bypassing suppression.N)r\r]r^�__doc__rbr=r;r�r�s������I�I�I�Ir=r�r�)>r��distutils.filelistr�	_FileList�distutils.errorsr�distutils.utilrr�rr�r%r(rrxrXrYrx�
_importlibrrr	�
setuptoolsr
�setuptools.command.sdistrr�setuptools.command.setoptr
�setuptools.commandr�
pkg_resourcesrrrrr�setuptools.unicode_utilsr�setuptools.globr�setuptools.externr�setuptools.extern.jaraco.textrrr<r?rdr�r�rbrkrur�r�r�r�r�r�r�r�rbr=r;�<module>r�s���<�<�5�4�4�4�4�4�3�3�3�3�3�3�'�'�'�'�'�'�������������������	�	�	�	�	�	�	�	�
�
�
�
�	�	�	�	�������������!�!�!�!�!�!�������������*�*�*�*�*�*�1�1�1�1�1�1�1�1�1�1�1�1�(�(�(�(�(�(���������������1�0�0�0�0�0� � � � � � �'�'�'�'�'�'�5�5�5�5�5�5�3�3�3�3�3�3�P;�P;�P;�f&�&�&�&�&�&�&�&�Rm �m �m �m �m �z�7�m �m �m �`MB�MB�MB�MB�MB�y�MB�MB�MB�`r)�r)�r)�r)�r)�U�r)�r)�r)�j
�
�
�8�8�8�&
�
�
����H�H�H�N�N�N�P�P�P�-�-�-�>�>�>�>�C�C�C�

�

�

� J�J�J�J�J� <�J�J�J�J�Jr=