Hacked By AnonymousFox

Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/distlib/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/distlib/__pycache__/metadata.cpython-311.pyc

�

�܋f
�����dZddlmZddlZddlmZddlZddlZddlZddl	m
Z
mZddlm
Z
mZmZddlmZdd	lmZmZdd
lmZmZeje��ZGd�de
��ZGd
�de
��ZGd�de
��ZGd�de
��Zgd�ZdZ dZ!ej"d��Z#ej"d��Z$dZ%dZ&dZ'dZ(dZ)dZ*dZ+e*dzZ,d Z-d!Z.e,e.zZ/e0��Z1e1�2e%��e1�2e&��e1�2e(��e1�2e*��e1�2e,��e1�2e/��ej"d"��Z3d#�Z4d$�Z5d%�e1D��Z6d&�e6�7��D��Z8d'Z9d(Z:d)Z;d*Z<d+Z=d,Z>d-Z?e@��ZAej"d.��ZBd8d0�ZCGd1�d2e@��ZDd3ZEd4ZFd5ZGGd6�d7e@��ZHdS)9zzImplementation of the Metadata for Python packages PEPs.

Supports all metadata formats (1.0, 1.1, 1.2, 1.3/2.1 and 2.2).
�)�unicode_literalsN)�message_from_file�)�DistlibException�__version__)�StringIO�string_types�	text_type)�	interpret)�extract_by_key�
get_extras)�
get_scheme�PEP440_VERSION_REc��eZdZdZdS)�MetadataMissingErrorzA required metadata is missingN��__name__�
__module__�__qualname__�__doc__���a/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/distlib/metadata.pyrrs������(�(�(�(rrc��eZdZdZdS)�MetadataConflictErrorz>Attempt to read or write metadata fields that are conflictual.Nrrrrrr s������H�H�H�Hrrc��eZdZdZdS)� MetadataUnrecognizedVersionErrorz Unknown metadata version number.Nrrrrrr$s������*�*�*�*rrc��eZdZdZdS)�MetadataInvalidErrorzA metadata value is invalidNrrrrrr(s������%�%�%�%rr)�Metadata�PKG_INFO_ENCODING�PKG_INFO_PREFERRED_VERSION�utf-8�1.1z

       \|�	
        )�Metadata-Version�Name�Version�Platform�Summary�Description�Keywords�	Home-page�Author�Author-email�License)r&r'r(r)�Supported-Platformr*r+r,r-r.r/r0�
Classifier�Download-URL�	Obsoletes�Provides�Requires)r4r5r6r2r3)r&r'r(r)r1r*r+r,r-r.r/�
Maintainer�Maintainer-emailr0r2r3�Obsoletes-Dist�Project-URL�
Provides-Dist�
Requires-Dist�Requires-Python�Requires-External)r;r<r=r9r>r7r8r:)r&r'r(r)r1r*r+r,r-r.r/r7r8r0r2r3r9r:r;r<r=r>�Private-Version�Obsoleted-By�Setup-Requires-Dist�	Extension�Provides-Extra)r?rCr@rArB)�Description-Content-Typer6r5r4)rD)�Dynamic�License-Filez"extra\s*==\s*("([^"]+)"|'([^']+)')c��|dkrtS|dkrtS|dkrtS|dvr&ttd�tD����zS|dkrtd���|dkrtSt|���)	N�1.0r$�1.2)�1.3�2.1c3�,K�|]}|tv�|V��dS�N)�_345_FIELDS)�.0�fs  r�	<genexpr>z%_version2fieldlist.<locals>.<genexpr>s,����"R�"R��Q�k�=Q�=Q�1�=Q�=Q�=Q�=Q�"R�"Rr�2.0z+Metadata 2.0 is withdrawn and not supported�2.2)�_241_FIELDS�_314_FIELDSrN�tuple�_566_FIELDS�
ValueError�_643_FIELDSr)�versions r�_version2fieldlistr[vs����%�����	�E�	�	���	�E�	�	���	�N�	"�	"��U�"R�"R�k�"R�"R�"R�R�R�R�R�	�E�	�	��F�G�G�G�	�E�	�	���
*�7�
3�
3�3rc��d�}d�|���D��}gd�}|D�]w}|tvr4d|vr0|�d��t�d|��|t
vr4d|vr0|�d��t�d|��|tvr4d|vr0|�d��t�d	|��|tvr4d
|vr0|�d
��t�d|��|tvr:d|vr6|d
kr0|�d��t�d|��|tvr4d|vr0|�d��t�d|����yt|��dkr|dSt|��dkr*t�d|��td���d|vo||t��}d|vo||t��}d|vo||t��}d|vo||t��}t|��t|��zt|��zt|��zdkrtd���|s|s|s|st |vrt S|rdS|rdS|rdSdS)z5Detect the best version depending on the fields used.c�:��t�fd�|D����S)Nc3� �K�|]}|�vV��	dSrMr)rO�marker�keyss  �rrQz5_best_version.<locals>._has_marker.<locals>.<genexpr>�s'�����8�8�f�6�T�>�8�8�8�8�8�8r)�any)r`�markerss` r�_has_markerz"_best_version.<locals>._has_marker�s&����8�8�8�8��8�8�8�8�8�8rc�&�g|]\}}|gddfv�|��S)�UNKNOWNNr)rO�key�values   r�
<listcomp>z!_best_version.<locals>.<listcomp>�s.��W�W�W�J�C��E�"�i�QU�AV�4V�4V�C�4V�4V�4Vr)rHr$rIrJrKrSrHzRemoved 1.0 due to %sr$zRemoved 1.1 due to %srIzRemoved 1.2 due to %srJzRemoved 1.3 due to %srKr+zRemoved 2.1 due to %srSzRemoved 2.2 due to %srrz)Out of options - unknown metadata set: %szUnknown metadata setz,You used incompatible 1.1/1.2/2.1/2.2 fields)�itemsrT�remove�logger�debugrUrNrWrY�lenr�_314_MARKERS�_345_MARKERS�_566_MARKERS�_643_MARKERS�intr")	�fieldsrcr`�possible_versionsrf�is_1_1�is_1_2�is_2_1�is_2_2s	         r�
_best_versionry�s=��9�9�9�X�W�&�,�,�.�.�W�W�W�D�B�B�B���7�7���k�!�!�e�/@�&@�&@��$�$�U�+�+�+��L�L�0�#�6�6�6��k�!�!�e�/@�&@�&@��$�$�U�+�+�+��L�L�0�#�6�6�6��k�!�!�e�/@�&@�&@��$�$�U�+�+�+��L�L�0�#�6�6�6��k�!�!�e�/@�&@�&@��$�$�U�+�+�+��L�L�0�#�6�6�6��k�!�!�e�/@�&@�&@��m�#�#�!�(�(��/�/�/����4�c�:�:�:��k�!�!�e�/@�&@�&@��$�$�U�+�+�+��L�L�0�#�6�6�6�������"�"� ��#�#�	�
�	�	�1�	$�	$����@�&�I�I�I�#�$:�;�;�;��'�
'�
K�K�K��l�,K�,K�F�
�'�
'�
K�K�K��l�,K�,K�F�
�'�
'�
K�K�K��l�,K�,K�F�
�'�
'�
K�K�K��l�,K�,K�F�
�6�{�{�S��[�[� �3�v�;�;�.��V���<�q�@�@�#�$R�S�S�S��.�&�.��.��.�%�):�:�:�-�-�
���u�
���u�
���u��5rc�`�i|]+}|����dd��|��,S)�-�_)�lower�replace)rO�names  r�
<dictcomp>r��s?�����-1�D�J�J�L�L����c�"�"�D���rc��i|]\}}||��	Srr)rO�attr�fields   rr�r��s��B�B�B�{�t�U�u�d�B�B�Br)r<r9r;)r=)r()r)r2r4r6r5r9r;r<r>r:r1rArCrBrF)r:)r,)r.r7r*r+z[^A-Za-z0-9.]+Fc��|rJt�d|��}t�d|�dd����}|�d|��S)zhReturn the distribution name with version.

    If for_filename is true, return a filename-escaped form.r{� �.)�	_FILESAFE�subr~)rrZ�for_filenames   r�_get_name_and_versionr��sT���@��}�}�S�$�'�'���-�-��W�_�_�S�#�%>�%>�?�?���d�d�G�G�$�$rc���eZdZdZ		d"d�Zd�Zd�Zd�Zd�Zd	�Z	d
�Z
d�Zd�Zd
�Z
d�Zd#d�Zd�Zd�Zd�Zd�Zd#d�Zd#d�Zd$d�Zd�Zefd�Zd#d�Zd#d�Zd�Zd�Zd�Zd�Zd �Z d!�Z!dS)%�LegacyMetadataaoThe legacy metadata of a release.

    Supports versions 1.0, 1.1, 1.2, 2.0 and 1.3/2.1 (auto-detected). You can
    instantiate the class with one of these arguments (or none):
    - *path*, the path to a metadata file
    - *fileobj* give a file-like object with metadata as content
    - *mapping* is a dict-like object
    - *scheme* is a version scheme name
    N�defaultc�R�|||g�d��dkrtd���i|_g|_d|_||_|�|�|��dS|�|�|��dS|�+|�|��|�	��dSdS)N��'path, fileobj and mapping are exclusive)
�count�	TypeError�_fields�requires_files�
_dependencies�scheme�read�	read_file�update�set_metadata_version)�self�path�fileobj�mappingr�s     r�__init__zLegacyMetadata.__init__s����'�7�#�)�)�$�/�/�!�3�3��E�F�F�F���� ���!���������I�I�d�O�O�O�O�O�
�
 ��N�N�7�#�#�#�#�#�
�
 ��K�K�� � � ��%�%�'�'�'�'�'�!�
 rc�>�t|j��|jd<dS�Nr&)ryr��r�s rr�z#LegacyMetadata.set_metadata_versions��+8���+F�+F���'�(�(�(rc�<�|�|�d|�d���dS)Nz: �
)�write)r�r�rrgs    r�_write_fieldzLegacyMetadata._write_fields'���
�
�D�D�D�%�%�%�0�1�1�1�1�1rc�,�|�|��SrM)�get�r�rs  r�__getitem__zLegacyMetadata.__getitem__s���x�x��~�~�rc�.�|�||��SrM)�set)r�rrgs   r�__setitem__zLegacyMetadata.__setitem__s���x�x��e�$�$�$rc�|�|�|��}	|j|=dS#t$rt|���wxYwrM)�
_convert_namer��KeyError)r�r�
field_names   r�__delitem__zLegacyMetadata.__delitem__sQ���'�'��-�-�
�	!���Z�(�(�(���	!�	!�	!��4�.�.� �	!���s�!�;c�L�||jvp|�|��|jvSrM)r�r�r�s  r�__contains__zLegacyMetadata.__contains__$s.�����$�9��"�"�4�(�(�D�L�8�	:rc��|tvr|S|�dd�����}t�||��S)Nr{r|)�_ALL_FIELDSr~r}�_ATTR2FIELDr�r�s  rr�zLegacyMetadata._convert_name(sE���;����K��|�|�C��%�%�+�+�-�-�����t�T�*�*�*rc�.�|tvs	|tvrgSdS)Nre)�_LISTFIELDS�_ELEMENTSFIELDr�s  r�_default_valuezLegacyMetadata._default_value.s!���;���$�.�"8�"8��I��yrc��|jdvrt�d|��St�d|��S)N�rHr$r�)�metadata_version�_LINE_PREFIX_PRE_1_2r��_LINE_PREFIX_1_2�r�rgs  r�_remove_line_prefixz"LegacyMetadata._remove_line_prefix3s<��� �N�2�2�'�+�+�D�%�8�8�8�#�'�'��e�4�4�4rc�B�|tvr||St|���rM)r��AttributeErrorr�s  r�__getattr__zLegacyMetadata.__getattr__9s%���;�����:���T�"�"�"rFc�<�t|d|d|��S)zhReturn the distribution name with version.

        If filesafe is true, return a filename-escaped form.r'r()r�)r��filesafes  r�get_fullnamezLegacyMetadata.get_fullnameDs��%�T�&�\�4�	�?�H�M�M�Mrc�>�|�|��}|tvS)z+return True if name is a valid metadata key)r�r�r�s  r�is_fieldzLegacyMetadata.is_fieldJs ���!�!�$�'�'���{�"�"rc�>�|�|��}|tvSrM)r�r�r�s  r�is_multi_fieldzLegacyMetadata.is_multi_fieldOs ���!�!�$�'�'���{�"�"rc��tj|dd���}	|�|��|���dS#|���wxYw)z*Read the metadata values from a file path.�rr#��encodingN)�codecs�openr��close)r��filepath�fps   rr�zLegacyMetadata.readSsR��
�[��3��
9�
9�
9��	��N�N�2�����H�H�J�J�J�J�J��B�H�H�J�J�J�J���s�A�Ac��t|��}|d|jd<tD]y}||vr�|tvrC|�|��}|t
vr|�d�|D��}|�||���S||}|�|dkr|�||���z|���}|r|n|d|d<dS)z,Read the metadata values from a file object.zmetadata-versionr&Nc�R�g|]$}t|�d������%S��,)rV�split�rOrgs  rrhz,LegacyMetadata.read_file.<locals>.<listcomp>hs,��J�J�J�%�e�E�K�K��$4�$4�5�5�J�J�Jrrer+)rr�r�r��get_all�_LISTTUPLEFIELDSr��get_payload)r��fileob�msgr��valuesrg�bodys       rr�zLegacyMetadata.read_file[s�����'�'��+.�/A�+B���'�(�!�
	+�
	+�E��C������#�#����U�+�+���,�,�,��1C�J�J�6�J�J�J�F������'�'�'�'��E�
���$��)�);�);��H�H�U�E�*�*�*����� � ��&*�C�d�d��]�0C��]���rc��tj|dd���}	|�||��|���dS#|���wxYw)z&Write the metadata fields to filepath.�wr#r�N)r�r��
write_filer�)r�r��skip_unknownr�s    rr�zLegacyMetadata.writewsT��
�[��3��
9�
9�
9��	��O�O�B��-�-�-��H�H�J�J�J�J�J��B�H�H�J�J�J�J���s�A�Ac��|���t|d��D]�}|�|��}|r	|dgdgfvr�"|tvr+|�||d�|�����V|tvr?|dkr6|jdvr|�dd��}n|�dd��}|g}|tvrd	�|D��}|D]}|�|||�����d
S)z0Write the PKG-INFO format data to a file object.r&rer�r+r�r�r%z	
       |c�8�g|]}d�|����Sr���joinr�s  rrhz-LegacyMetadata.write_file.<locals>.<listcomp>�s"��>�>�>�e�#�(�(�5�/�/�>�>�>rN)
r�r[r�r�r�r�r�r�r~r�)r��
fileobjectr�r�r�rgs      rr�zLegacyMetadata.write_files;���!�!�#�#�#�'��-?�(@�A�A�	<�	<�E��X�X�e�_�_�F��
��9�b�9�+�*F� F� F����&�&��!�!�*�e�S�X�X�f�5E�5E�F�F�F���K�'�'��M�)�)��,��>�>�!'����l�!C�!C���!'����l�!C�!C�� ����(�(�(�>�>�v�>�>�>���
<�
<���!�!�*�e�U�;�;�;�;�
<�%	<�	<rc����fd�}|snNt|d��r*|���D]}||||���n|D]\}}|||���|r&|���D]\}}|||���dSdS)a�Set metadata values from the given iterable `other` and kwargs.

        Behavior is like `dict.update`: If `other` has a ``keys`` method,
        they are looped over and ``self[key]`` is assigned ``other[key]``.
        Else, ``other`` is an iterable of ``(key, value)`` iterables.

        Keys that don't match a metadata field or that have an empty value are
        dropped.
        c�x��|tvr-|r-����|��|��dSdSdSrM)r�r�r�)rfrgr�s  �r�_setz#LegacyMetadata.update.<locals>._set�sI����k�!�!�e�!�����+�+�C�0�0�%�8�8�8�8�8�"�!�!�!rr`N)�hasattrr`ri)r��other�kwargsr��k�vs`     rr�zLegacyMetadata.update�s����	9�	9�	9�	9�	9��	��
�U�F�
#�
#�	��Z�Z�\�\�
"�
"����Q��a��!�!�!�!�
"��
�
���1���Q��
�
�
�
��	������
�
���1���Q��
�
�
�
�	�	�
�
rc��|�|��}|tvs|dkrTt|ttf��s8t|t
��r d�|�d��D��}nCg}n@|tvr7t|ttf��st|t
��r|g}ng}t�	tj��r�|d}t|j
��}|tvrS|�Q|D]M}|�|�d��d��st�d|||���Nn{|t"vr5|�3|�|��st�d	|||��n=|t&vr4|�2|�|��st�d	|||��|t*vr|d
kr|�|��}||j|<dS)z"Control then set a metadata field.r)c�6�g|]}|�����Sr)�strip)rOr�s  rrhz&LegacyMetadata.set.<locals>.<listcomp>�s ��=�=�=�q������=�=�=rr�r'N�;rz$'%s': '%s' is not valid (field '%s')z.'%s': '%s' is not a valid version (field '%s')r+)r�r��
isinstance�listrVr	r�r�rk�isEnabledFor�logging�WARNINGrr��_PREDICATE_FIELDS�is_valid_matcher�warning�_VERSIONS_FIELDS�is_valid_constraint_list�_VERSION_FIELDS�is_valid_version�_UNICODEFIELDSr�r�)r�rrg�project_namer�r�s      rr�zLegacyMetadata.set�s"���!�!�$�'�'��
�^�
#�
#�t�z�'9�'9��5�4��-�0�0�(:��%��.�.�
�=�=�E�K�K��,<�,<�=�=�=�������k�!�!��U�T�5�M�2�2�"��%��.�.�
����������w��/�/�	>���<�L����,�,�F��(�(�(�U�->��3�3�A�!�2�2�1�7�7�3�<�<��?�C�C�3����B�(�!�T�3�3�3��3��)�)�)�e�.?��6�6�u�=�=�>��N�N�#S�#/���>�>�>����(�(�U�->��.�.�u�5�5�>��N�N�#S�#/���>�>�>��>�!�!��}�$�$��0�0��7�7��"���T���rc��|�|��}||jvr |tur|�|��}|S|tvr|j|}|S|t
vr\|j|}|�gSg}|D]D}|tvr|�|���!|�|d|df���E|S|tvr7|j|}t|t��r|�d��S|j|S)zGet a metadata field.Nrrr�)r�r��_MISSINGr�rr�r��appendr�r�r	r�)r�rr�rg�res�vals      rr�zLegacyMetadata.get�s$���!�!�$�'�'���t�|�#�#��(�"�"��-�-�d�3�3���N��>�!�!��L��&�E��L�
�[�
 �
 ��L��&�E��}��	��C��
1�
1���/�/�/��J�J�s�O�O�O�O��J�J��A���A��/�0�0�0�0��J�
�^�
#�
#��L��&�E��%��.�.�
(��{�{�3�'�'�'��|�D�!�!rc�>��|���gg}}dD]}||vr|�|���|r-|gkr'dd�|��z}t|���dD]}||vr|�|���|ddkr||fSt	|j����fd�}t|ft�jft�j
ffD]H\}}|D]@}	|�|	d��}
|
�&||
��s|�d	|	�d
|
�����A�I||fS)zkCheck if the metadata is compliant. If strict is True then raise if
        no Name or Version are provided)r'r(zmissing required metadata: %s�, )r-r.r&rIc�t��|D]3}��|�d��d��sdS�4dS)Nr�rFT)r�r�)rgr�r�s  �r�are_valid_constraintsz3LegacyMetadata.check.<locals>.are_valid_constraintssG����
!�
!���.�.�q�w�w�s�|�|�A��?�?�!� �5�5�!��4rNzWrong value for 'z': )r�rr�rrr�r�rrrrr�)r��strict�missing�warningsr�r�rrs�
controllerr�rgr�s           @r�checkzLegacyMetadata.check�s����	
�!�!�#�#�#�����'�	%�	%�D��4������t�$�$�$���	,�g��m�m�1�D�I�I�g�4F�4F�F�C�&�s�+�+�+�+�	%�	%�D��4������t�$�$�$���"�#�u�,�,��H�$�$��D�K�(�(��	�	�	�	�	�%6�7L�#M�$4�$*�$C�$E�$3�$*�$;�$=�#>�	Q�	Q��F�J�
 �
Q�
Q�������-�-���$�Z�Z��->�->�$��O�O�O�%�%�%���$O�P�P�P��
Q�
�� � rc���|���t|d��}i}|D]A}|r	||jvr4t|}|dkr||||<�,d�||D��||<�B|S)aReturn fields as a dict.

        Field names will be converted to use the underscore-lowercase style
        instead of hyphen-mixed case (i.e. home_page instead of Home-page).
        This is as per https://www.python.org/dev/peps/pep-0566/#id17.
        r&�project_urlc�8�g|]}d�|����Sr�r�)rO�us  rrhz)LegacyMetadata.todict.<locals>.<listcomp><s"�� G� G� G�����!��� G� G� Gr)r�r[r��_FIELD2ATTR)r��skip_missingrs�datar�rfs      r�todictzLegacyMetadata.todict)s���	
�!�!�#�#�#�#�D�);�$<�=�=���� �	H�	H�J��
H�:���#=�#=�!�*�-���-�'�'� $�Z� 0�D��I�I� G� G�d�:�6F� G� G� G�D��I���rc�V�|ddkrdD]	}||vr||=�
|dxx|z
cc<dS)Nr&r$)r4r6r5r<r)r��requirementsr�s   r�add_requirementszLegacyMetadata.add_requirements@sU���"�#�u�,�,�>�
$�
$���D�=�=��U����_�����-�����rc�F�tt|d����Sr�)r�r[r�s rr`zLegacyMetadata.keysKs���&�t�,>�'?�@�@�A�A�Arc#�@K�|���D]}|V��dSrM�r`)r�rfs  r�__iter__zLegacyMetadata.__iter__Ns2�����9�9�;�;�	�	�C��I�I�I�I�	�	rc�D���fd�����D��S)Nc� ��g|]
}�|��Srr�rOrfr�s  �rrhz)LegacyMetadata.values.<locals>.<listcomp>Ss���1�1�1�c��S�	�1�1�1rr!r�s`rr�zLegacyMetadata.valuesRs%���1�1�1�1�T�Y�Y�[�[�1�1�1�1rc�D���fd�����D��S)Nc�$��g|]}|�|f��
Srrr%s  �rrhz(LegacyMetadata.items.<locals>.<listcomp>Vs"���8�8�8�S��d�3�i� �8�8�8rr!r�s`rrizLegacyMetadata.itemsUs%���8�8�8�8�D�I�I�K�K�8�8�8�8rc�B�d|jj�d|j�d|j�d�S)N�<r��>)�	__class__rrrZr�s r�__repr__zLegacyMetadata.__repr__Xs-���#�~�6�6�6��	�	�	�#�|�|�|�-�	-r�NNNr��FrM)"rrrrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rrrr`r"r�rir,rrrr�r��s��������9=�!�(�(�(�(� G�G�G�2�2�2����%�%�%�!�!�!�:�:�:�+�+�+����
5�5�5�#�#�#�N�N�N�N�#�#�#�
#�#�#����D�D�D�8����<�<�<�<�2����8*#�*#�*#�X!)�"�"�"�"�:*!�*!�*!�*!�X����..�.�.�B�B�B����2�2�2�9�9�9�-�-�-�-�-rr�zpydist.jsonz
metadata.json�METADATAc�^�eZdZdZejd��Zejdej��Zejdej��Z	e
Zejd��ZdZ
dezZddd	d
�ZdZdZedfed	fed	fed	fe	d	fd
�ZdZ		d8d�Zed��ZdefZdefZdefdefeeedefeeeedefddd�
Z[[d�Zd9d�Zd�Ze d���Z!e d���Z"e"j#d���Z"d:d �Z$e d!���Z%e d"���Z&e&j#d#���Z&d$�Z'd%�Z(d&�Z)d'�Z*d(d)d*d+d,d-d.d/d0dd1�
Z+d2�Z,d;d5�Z-d6�Z.d7�Z/dS)<r z�
    The metadata of a release. This implementation uses 2.1
    metadata where possible. If not possible, it wraps a LegacyMetadata
    instance which handles the key-value metadata format.
    z
^\d+(\.\d+)*$z!^[0-9A-Z]([0-9A-Z_.-]*[0-9A-Z])?$z^[A-Z]([0-9A-Z-]*[0-9A-Z])?$z	.{1,2047}rRzdistlib (%s)r)�legacy)rrZ�summaryzqname version license summary description author author_email keywords platform home_page classifiers download_urlzwextras run_requires test_requires build_requires dev_requires provides meta_requires obsoleted_by supports_environments)r�rrZr2�dynamic)�_legacy�_datar�Nr�c�l�|||g�d��dkrtd���d|_d|_||_|�[	|�||��||_dS#t$r.t||���|_|���YdSwxYwd}|r=t|d��5}|�
��}ddd��n#1swxYwYn|r|�
��}|�|j|jd�|_dSt|t��s|�d��}	t!j|��|_|�|j|��dS#t$$r;tt'|��|���|_|���YdSwxYw)Nr�r�)r�r��rb�r��	generatorr#)r�r�)r�r�r4r5r��_validate_mappingrr��validater�r��METADATA_VERSION�	GENERATORr�r
�decode�json�loadsrXr)r�r�r�r�r�rrPs       rr�zMetadata.__init__�s���'�7�#�)�)�$�/�/�!�3�3��E�F�F�F������
������
 ��&�&�w��7�7�7�$��
�
�
��3�
 �
 �
 �-�g�f�M�M�M����
�
�������
 �����D��
&��$��%�%�$���6�6�8�8�D�$�$�$�$�$�$�$�$�$�$�$����$�$�$�$���
&��|�|�~�~���|�)-�(=�!%�����
�
�
�
"�$�	�2�2�0��;�;�w�/�/�D�$�!%��D�!1�!1�D�J��*�*�4�:�v�>�>�>�>�>��!�	$�	$�	$�$2�(�4�.�.�9?�$A�$A�$A�D�L��M�M�O�O�O�O�O�O�	$���s7�A#�#4B�B�2C�C�C�84E.�.AF3�2F3)rrZ�license�keywordsr2r<rArCr2)r3N)r&N)
�run_requires�build_requires�dev_requires�
test_requires�
meta_requires�extras�modules�
namespaces�exports�commands�classifiers�
source_urlr�c��t�|d��}t�|d��}||v�r<||\}}|jr.|�|�dn	|��}�nt|j�|��}�nX|�dn	|��}|dvr|j�||��}�n)t��}|}|j�d��}	|	r�|dkr|	�d|��}n}|dkr.|	�d��}	|	r|	�||��}nI|	�d	��}	|	s|j�d	��}	|	r|	�||��}||ur|}n\||vrt�||��}n<|jr|j�|��}n|j�|��}|S)
N�common_keys�mapped_keys�rLrKrIrJrM�
extensionsrL�python.commandsrM�python.details�python.exports)�object�__getattribute__r4r�r5)
r�rf�common�mapped�lk�maker�resultrg�sentinel�ds
          rrXzMetadata.__getattribute__�s����(�(��}�=�=���(�(��}�=�=���&�=�=��s��I�B���|�
'��:�%*�]�T�T�����F�F�!�\�-�-�b�1�1�F�F� %�
���5�5�7�7���.�.�.�!�Z�^�^�C��7�7�F�F� &�x�x�H�%�F��
���|�4�4�A��;��*�,�,�%&�U�U�+<�e�%D�%D�F�F� �M�1�1� !���&6� 7� 7�A� �;�)*���s�E�):�):��� !���&6� 7� 7�A�#$�E�$(�J�N�N�3C�$D�$D�� �;�)*���s�E�):�):����)�)�!&���
��
�
��,�,�T�3�7�7�F�F�
�\�	)��\�%�%�c�*�*�F�F��Z�^�^�C�(�(�F��
rc��||jvrH|j|\}}|p|j|vr/|�|��}|std|�d|�d����dSdSdS)N�'z' is an invalid value for the 'z
' property)�SYNTAX_VALIDATORSr��matchr)r�rfrgr��pattern�
exclusions�ms       r�_validate_valuezMetadata._validate_value�s����$�(�(�(�"&�"8��"=��G�Z��%�$�+�j�8�8��M�M�%�(�(���J�.�.�FK�e�e�DG�C�C�0I�J�J�J�)�(�8�8�J�Jrc���|�||��t�|d��}t�|d��}||vr�||\}}|jr|�t�||j|<dS|dvr||j|<dS|j�di��}|dkr||d<dS|dkr|�di��}|||<dS|�d	i��}|||<dS||vrt�|||��dS|d
krBt|t��r-|�
��}|r|���}ng}|jr||j|<dS||j|<dS)NrPrQrRrSrLrTrMrUrVrB)rgrWrXr4�NotImplementedErrorr5�
setdefault�__setattr__r�r	r�r�)r�rfrgrYrZr[r|r_s        rrkzMetadata.__setattr__s������S�%�(�(�(��(�(��}�=�=���(�(��}�=�=���&�=�=��3�K�E�B���|�
#��:�-�-�#(���R� � � ��,�,�,�"'��
�3�����J�)�)�,��;�;���*�$�$�+0�A�'�(�(�(��M�)�)����%5�r�:�:�A�"�A�c�F�F�F����%5�r�:�:�A�"�A�c�F�F�F�
��
�
����t�S�%�0�0�0�0�0��j� � ��e�\�2�2�#�!�K�K�M�M�E��#� %���
�
��� "���|�
(�$)���S�!�!�!�"'��
�3���rc�8�t|j|jd��S�NT)r�rrZr�s r�name_and_versionzMetadata.name_and_version/s��$�T�Y���d�C�C�Crc��|jr|jd}n|j�dg��}|j�d|j�d�}||vr|�|��|S)Nr;�provides� (�))r4r5rjrrZr)r�r]�ss   rrpzMetadata.provides3sg���<�	;��\�/�2�F�F��Z�*�*�:�r�:�:�F�����D�L�L�L�1���F�?�?��M�M�!�����
rc�@�|jr||jd<dS||jd<dS)Nr;rp)r4r5r�s  rrpzMetadata.provides>s0���<�	+�,1�D�L��)�)�)�%*�D�J�z�"�"�"rc��|jr|}n�g}t|pg|j��}|D]q}d|vrd|vrd}nGd|vrd}n|�d��|v}|r'|�d��}|rt	||��}|r|�|d���rdD]i}d|z}	|	|vr^|�|	��|j�d|zg��}|�|�|||������j|S)	a�
        Base method to get dependencies, given a set of extras
        to satisfy and an optional environment context.
        :param reqts: A list of sometimes-wanted dependencies,
                      perhaps dependent on extras and environment.
        :param extras: A list of optional components being requested.
        :param env: An optional environment for marker evaluation.
        �extra�environmentT�requires)�build�dev�testz:%s:z%s_requires)rH�env)	r4r
rHr�r�extendrjr5�get_requirements)
r��reqtsrHr|r]r_�includer_rf�es
          rr~zMetadata.get_requirementsEs`���<�	B��F�F��F����"�d�k�:�:�F��
1�
1���!�#�#�
�Q�(>�(>�"�G�G��a�'�'�"&���"#�%�%��.�.�F�":���=�!"���}�!5�!5��!�=�&/���&<�&<�G��1��M�M�!�J�-�0�0�0��/�
B�
B���S�L����;�;��M�M�!�$�$�$�!�J�N�N�=�3�+>��C�C�E��M�M�$�"7�"7��f�<?�#8�#A�#A�B�B�B���
rc�F�|jr|���S|jSrM)r4�_from_legacyr5r�s r�
dictionaryzMetadata.dictionaryos&���<�	'��$�$�&�&�&��z�rc�R�|jrt�t|j|j��SrM)r4rirr5�DEPENDENCY_KEYSr�s r�dependencieszMetadata.dependenciesus(���<�	D�%�%�!�$�*�d�.B�C�C�Crc�V�|jrt�|j�|��dSrM)r4rir5r�r�s  rr�zMetadata.dependencies|s.���<�	%�%�%��J���e�$�$�$�$�$rc��|�d��|jkrt���g}|j���D]"\}}||vr||vr|�|���#|r'dd�|��z}t|���|���D]\}}|�|||���dS)Nr�zMissing metadata items: %sr)	r�r<r�MANDATORY_KEYSrirr�rrg)	r�r�r�rrfrer�r�r�s	         rr:zMetadata._validate_mapping�s����;�;�)�*�*�d�.C�C�C�2�4�4�4���#�2�8�8�:�:�	(�	(�O�C���'�!�!���+�+��N�N�3�'�'�'���	,�.����7�1C�1C�C�C�&�s�+�+�+��M�M�O�O�	/�	/�D�A�q�� � ��A�v�.�.�.�.�	/�	/rc���|jrA|j�d��\}}|s|rt�d||��dSdS|�|j|j��dS)NTz#Metadata: missing: %s, warnings: %s)r4rrkr�r:r5r�)r�rrs   rr;zMetadata.validate�s����<�	<� $�� 2� 2�4� 8� 8��G�X��
2�(�
2����D�&��2�2�2�2�2�
2�
2�
�"�"�4�:�t�{�;�;�;�;�;rc�|�|jr|j�d��St|j|j��}|Srm)r4rrr5�
INDEX_KEYS)r�r]s  rrzMetadata.todict�s:���<�	��<�&�&�t�,�,�,�#�D�J���@�@�F��Mrc�b�|jr|jrJ�|j|jd�}|j�d��}dD]}||vr|dkrd}n|}||||<�|�dg��}|dgkrg}||d<d	}|D]\}}||vr||rd
||ig||<� |j|d<i}i}	|S)Nr8T)rrZrAr2�description�
classifierr�rMr,�rB))�
requires_distrC)�setup_requires_distrDrxrp)r4r5r<r=rr�rp)
r�r]�lmdr��nk�kwr`�ok�author�
maintainers
          rr�zMetadata._from_legacy�s
���|�.�D�J�.�.�.� $� 5���
�
���l�!�!�$�'�'�� �	$�	$�A��C�x�x���$�$�&�B�B��B� ��V��r�
��
�W�W�Z��
$�
$��
�"��:�:��B���z��;���	5�	5�F�B���S�y�y�S��W�y�)�3�r�7�3�4��r�
��!�]��z�����
��
rr'r(r0r*r+r-r.r/r3)
rrZ)rSrUrAr2r�)rS�python.project�project_urls�Home)rSr��contactsrr)rSr�r�r�emailrN)rSrUrMc�(�d�}|jr|jrJ�t��}|j}|j���D]]\}}t|t��s||vr||||<�*|}d}|D]%}	||}�#ttf$rd}YnwxYw|r|||<�^||j	|j
z��}	||j|jz��}
|j
rt|j
��|d<t|	��|d<t|
��|d<|S)Nc�R�t��}|D]�}|�d��}|�d��}|d}|D]^}|s|s|�|���d}|rd|z}|r
|r	d|�d|��}n|}|�d�||f�����_��|S)	Nrvrwrxr�z
extra == "%s"�(z) and r�)r�r��addr�)�entriesrr�rvr|�rlistr�r_s        r�process_entriesz,Metadata._to_legacy.<locals>.process_entries�s����E�E�E��
9�
9�����g�����e�e�M�*�*���*�
���9�9�A��9�u�9��	�	�!�����!#�� �=�%4�u�%<�F��-�%�-�-�:=�#�#�v�v�)F���),���	�	�#�(�(�A�v�;�"7�"7�8�8�8�8�9��LrTFrCr<rA)r5r4r��LEGACY_MAPPINGrir�rVr��
IndexErrorrCrGrDrErH�sorted)r�r�r]�nmdr�r�r_�foundr��r1�r2s           r�
_to_legacyzMetadata._to_legacy�sg��	�	�	�*�z�.�$�,�.�.�.��!�!���j���)�/�/�1�1�	#�	#�F�B���b�%�(�(�

#���9�9�!$�R��F�2�J���������A���a�D����$�j�1���� %����������#�!"�F�2�J��
�_�T�.��1C�C�
D�
D��
�_�T�0�4�3D�D�
E�
E���;�	;�'-�d�k�':�':�F�#�$�"(��*�*����(.�r�
�
��$�%��
s�5A>�>B�BFTc�D�||g�d��dkrtd���|���|rW|jr|j}n|���}|r|�||���dS|�||���dS|jr|���}n|j}|rtj
||ddd���dStj|dd��5}tj
||ddd���ddd��dS#1swxYwYdS)	Nrz)Exactly one of path and fileobj is needed)r�Tr�)�ensure_ascii�indent�	sort_keysr�r#)
r�rXr;r4r�r�r�r�r5r?�dumpr�r�)r�r�r�r1r��	legacy_mdr_rPs        rr�zMetadata.write�s����'�?� � ��&�&�!�+�+��H�I�I�I��
�
�����	.��|�
.� �L�	�	� �O�O�-�-�	��
I�����<��@�@�@�@�@��$�$�W�<�$�H�H�H�H�H��|�
��%�%�'�'����J���
.��	�!�W�4��$(�*�*�*�*�*�*��[��s�G�4�4�.���I�a���a�(,�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.����.�.�.�.�.�.s�.D�D�Dc�R�|jr|j�|��dS|j�dg��}d}|D]}d|vrd|vr|}n�|�d|i}|�d|��dSt|d��t|��z}t
|��|d<dS)NrCrwrvrxr)r4rr5rj�insertr�r�)r�rrC�always�entry�rsets      rrzMetadata.add_requirementss����<�	2��L�)�)�,�7�7�7�7�7��:�0�0���D�D�L��F�%�
�
�� ��-�-�'��2F�2F�"�F��E���~�%�|�5���#�#�A�v�.�.�.�.�.��6�*�-�.�.��\�1B�1B�B��%+�D�\�\��z�"�"�"rc	�b�|jpd}|jpd}d|jj�d|j�d|�d|�d�	S)Nz	(no name)z
no versionr)r�rqz)>)rrZr+rr�)r�rrZs   rr,zMetadata.__repr__(sN���y�'�K���,�.�,���$(�N�$;�$;�$;�$(�$9�$9�$9�4�4�4����J�	Jrr-rM)NN)NNFT)0rrrr�re�compile�METADATA_VERSION_MATCHER�I�NAME_MATCHER�FIELDNAME_MATCHERr�VERSION_MATCHER�SUMMARY_MATCHERr<rr=r�r�r�rb�	__slots__r�r�rPr��	none_list�dict�	none_dictrQrXrgrk�propertyrnrp�setterr~r�r�r:r;rr�r�r�r�rr,rrrr r bs"�������� *�r�z�*:�;�;���2�:�A�2�4�H�H�L�"��
�#A�2�4�H�H��'�O� �b�j��-�-�O�����,�I������N�!�J�/�O�
6�r�:��{�+�#�[�1�#�[�1�%�{�3����/�I�8<�!�+$�+$�+$�+$�Z�#�K�L�L�K��t��I��t��I�)�$�/�0�$�7�!�"�"�#�T�*�����$�d�+�,�6���K� 	�9�)�)�)�VJ�J�J�J�%(�%(�%(�N�D�D��X�D�����X���_�+�+��_�+�(�(�(�(�T����X��
�D�D��X�D���%�%���%�/�/�/�<�<�<�������<��5>��$�BM�AI�BP�$�9E���N�0�0�0�d.�.�.�.�42�2�2�"J�J�J�J�Jrr r.)Ir�
__future__rr�r�rr?r�r�r�rr�compatrr	r
rbr�utilrr
rZrr�	getLoggerrrkrrrr�__all__r!r"r�r�r�rTrUrnrNro�_426_FIELDS�_426_MARKERSrWrprqrYr�r�r��EXTRA_REr[ryr�rirr�rrr�r�r�rrWrr�r�r��METADATA_FILENAME�WHEEL_METADATA_FILENAME�LEGACY_METADATA_FILENAMEr rrr�<module>r�s����(�'�'�'�'�'�
�
�
�
�#�#�#�#�#�#���������	�	�	�	�,�+�+�+�+�+�+�+�5�5�5�5�5�5�5�5�5�5�������,�,�,�,�,�,�,�,�2�2�2�2�2�2�2�2�	��	�8�	$�	$��)�)�)�)�)�+�)�)�)�I�I�I�I�I�,�I�I�I�+�+�+�+�+�'7�+�+�+�&�&�&�&�&�+�&�&�&�J�
I�
I����#���2�:�n�-�-��!�r�z�,�/�/����
'�� ��7��3��!��4���B�B��-��*���L�(���c�e�e�����;�������;�������;�������;�������;�������;�����2�:�?�@�@��4�4�4�$D�D�D�P��5@�����C�B�k�.?�.?�.A�.A�B�B�B��H��'����>��
$����C���6�8�8���B�J�'�(�(�	�
%�
%�
%�
%�e-�e-�e-�e-�e-�V�e-�e-�e-�P"��)��%��JJ�JJ�JJ�JJ�JJ�v�JJ�JJ�JJ�JJ�JJr

Hacked By AnonymousFox1.0, Coded By AnonymousFox