AlkantarClanX12

Your IP : 3.12.148.180


Current Path : /opt/imunify360/venv/lib64/python3.11/site-packages/packaging/__pycache__/
Upload File :
Current File : //opt/imunify360/venv/lib64/python3.11/site-packages/packaging/__pycache__/metadata.cpython-311.pyc

�

h��f
@�
�`�ddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZmZm
Z
ejdkrddlmZn.ejrddlmZn 	ddlmZn#e$rGd�d��ZYnwxYwGd�ded	�
��Zhd�Zhd�Zd
ede	efd�Zd
e	edeeeffd�Zdejjdeeefdefd�Zidd�dd�dd�dd�dd�dd�dd�dd �d!d!�d"d"�d#d#�d$d%�d&d'�d(d(�d)d)�d*d+�d,d-�d.d/d0d1d2d3d4d5d6d7d8d9��Zd
eeefdeeeee	efffd:�ZdS);�N)�Dict�List�Optional�Tuple�Union�cast)��)�	TypedDictc��eZdZd�ZdS)rc��dS)N�)�_args�_kwargss  �r/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/packaging/metadata.py�__init_subclass__zTypedDict.__init_subclass__s���D�N)�__name__�
__module__�__qualname__rrrrrrs#����������rrc���eZdZUdZeed<eed<eed<eeed<eed<eed<eeed<eed	<eed
<eed<eed<eeed
<eed<eeed<eeed<eeed<eeed<eed<eed<eeed<eeed<eeed<eed<eeed<eeefed<eed<eeed<eeed<dS)�RawMetadataaqA dictionary of raw core metadata.

    Each field in core metadata maps to a key of this dictionary (when data is
    provided). The key is lower-case and underscores are used instead of dashes
    compared to the equivalent core metadata field. Any core metadata field that
    can be specified multiple times or can hold multiple values in a single
    field have a key with a plural name.

    Core metadata fields that can be specified multiple times are stored as a
    list or dict depending on which is appropriate for the field. Any fields
    which hold multiple values in a single field are stored as a list.

    �metadata_version�name�version�	platforms�summary�description�keywords�	home_page�author�author_email�license�supported_platforms�download_url�classifiers�requires�provides�	obsoletes�
maintainer�maintainer_email�
requires_dist�
provides_dist�obsoletes_dist�requires_python�requires_external�project_urls�description_content_type�provides_extra�dynamicN)rrr�__doc__�str�__annotations__rrrrrrrs��������������

�I�I�I�
�L�L�L��C�y����
�L�L�L������3�i�����N�N�N��K�K�K�����
�L�L�L��c��"�"�"������c������3�i�����3�i�����C�y�����O�O�O�������9������9������I���������C�y� � � ��s�C�x�.� � � �"�!�!�!���I�����#�Y�����rrF)�total>rr!r#rrr r*rr"r%r/r+rr2>r4r(r'r)rr&r-r,r.r3r0r$�data�returnc�@�d�|�d��D��S)zCSplit a string of comma-separate keyboards into a list of keywords.c�6�g|]}|�����Sr��strip)�.0�ks  r�
<listcomp>z#_parse_keywords.<locals>.<listcomp>�s ��/�/�/�!�A�G�G�I�I�/�/�/r�,)�split)r9s r�_parse_keywordsrD�s ��/�/�t�z�z�#���/�/�/�/rc��i}|D]v}d�|�dd��D��}|�dgtddt|��z
��z��|\}}||vrt	d���|||<�w|S)z?Parse a list of label/URL string pairings separated by a comma.c�6�g|]}|�����Srr=)r?�ps  rrAz'_parse_project_urls.<locals>.<listcomp>�s ��7�7�7�q������7�7�7rrB��r�z duplicate labels in project urls)rC�extend�max�len�KeyError)r9�urls�pair�parts�label�urls      r�_parse_project_urlsrT�s���
�D�� � ��$8�7�D�J�J�s�A�$6�$6�7�7�7��
���b�T�S��A��E�
�
�N�3�3�4�5�5�5��
��s��D�=�=��=�>�>�>���U����Kr�msg�sourcec���t|t��r|���}|S|�d���}	|�dd��S#t$rtd���wxYw)zGet the body of the message.T��decode�utf8�strictzpayload in an invalid encoding)�
isinstancer6�get_payloadrY�UnicodeDecodeError�
ValueError)rUrV�payload�bpayloads    r�_get_payloadrb�s����&�#���
?����(�(�����/�/��/�6�6��	?��?�?�6�8�4�4�4��!�	?�	?�	?��=�>�>�>�	?���s�A�A3r!zauthor-emailr"�
classifierr&rzdescription-content-typer2zdownload-urlr%r4z	home-pager rr#r*zmaintainer-emailr+zmetadata-versionrrr)zobsoletes-distr.�platformrr1r(r-r3r'r,r0r/rr$r)zproject-urlr(z
provides-distzprovides-extrar'z
requires-distzrequires-externalzrequires-pythonrzsupported-platformrc	��i}i}t|t��rCtj�tjj����|��}nBtj�tjj����	|��}t|�����D�]
}|���}|�
|��}g}d}|D�]}t|tjjtf��sJ�t|tjj��r�g}	tj�|��D]J\}
}	|
�dd��d}n#t$$rd}d}YnwxYw|	�|
|f���K|�ttj�|	��������|�|����
|s|||<��Ht*�|��}|�|||<��k|t.vr t1|��dkr
|d	||<���|t2vr|||<���|d
kr-t1|��dkrt5|d	��||<���|dkr+	t7|��||<���#t8$r	|||<Y��wxYw|||<��	t;||��}
|
r}d|vrTt=t|�d����}|� dg���!||
g��n�d|vr|d�|
��nf|
|d<n`#tD$rS|� dg���|�#t|tH���
����YnwxYwt=tJ|��|fS)a�Parse a distribution's metadata.

    This function returns a two-item tuple of dicts. The first dict is of
    recognized fields from the core metadata specification. Fields that can be
    parsed and translated into Python's built-in types are converted
    appropriately. All other fields are left as-is. Fields that are allowed to
    appear multiple times are stored as lists.

    The second dict contains all other fields from the metadata. This includes
    any unrecognized fields. It also includes any fields which are expected to
    be parsed into a built-in type but were not formatted appropriately. Finally,
    any fields that are expected to appear only once but are repeated are
    included in this dict.

    )�policyTrZr[�latin1FNrHrrr1rrX)&r\r6�email�parser�Parserrf�compat32�parsestr�BytesParser�
parsebytes�	frozenset�keys�lower�get_all�header�Header�
decode_headerrYr^�append�make_header�_EMAIL_TO_RAW_MAPPING�get�_STRING_FIELDSrM�_LIST_STRING_FIELDSrDrTrNrbr�pop�
setdefaultrKr_r]�bytesr)r9�raw�unparsed�parsedr�headers�value�valid_encoding�h�chunks�bin�encoding�raw_namer`�description_headers               r�parse_emailr��s+�� =?�C�%'�H��$����Y���$�$�E�L�,A�$�B�B�K�K�D�Q�Q�����)�)���1F�)�G�G�R�R�SW�X�X��
�&�+�+�-�-�(�(�t#�t#���z�z�|�|��
�.�.��&�&�������#	 �#	 �A��a�%�,�"5�s�!;�<�<�<�<�<��!�U�\�0�1�1�
 �=?��%*�\�%?�%?��%B�%B�	3�	3�M�C��*��
�
�6�8�4�4�4�$*����.�/�/�/�#+��).����/�����M�M�3��/�2�2�2�2�
���S���!9�!9�&�!A�!A�B�B�C�C�C�C����Q�����
�	�"�H�T�N��(�,�,�T�2�2����#�H�T�N���~�%�%�#�e�*�*��/�/�!�!�H�C��M�M��,�
,�
,�!�C��M�M���
#�
#��E�
�
�a���+�E�!�H�5�5�C��M�M���
'�
'�
'� 3�E� :� :��H�
�
���
'�
'�
'�!&������
'����
#�H�T�N�N�-��v�t�,�,���	-���#�#�%)�#�s�w�w�}�/E�/E�%F�%F�"��#�#�M�2�6�6�=�=�'��1������(�*�*���'�.�.�w�7�7�7�7�%,��M�"���!�
�
�
����M�2�.�.�5�5����j��u�&=�&=��>�>�	
�	
�	
�	
�	
�
����,��S�!�!�8�+�+s7�#E<�<F
	�F
	�J2�2K�K�M � AN=�<N=)�email.feedparserrh�email.header�
email.message�email.parser�email.policy�sys�typingrrrrrr�version_infor�
TYPE_CHECKING�typing_extensions�ImportErrorrrzr{r6rDrT�message�Messager~rbrxr�rrr�<module>r�si����������������������
�
�
�
�
�
�
�
�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;���v��� � � � � � � �
��	�/�/�/�/�/�/�/�	�3�3�3�3�3�3�3���	�	�	�
�
�
�
�
�
�
�
�
�
�	����<�<�<�<�<�)�5�<�<�<�<�F����"
�
�
�� 0�#�0�$�s�)�0�0�0�0�
%�d�3�i�%�D��c��N�%�%�%�%�P?�e�m�+�?�U�5�#�:�5F�?�3�?�?�?�?�:��h���N���-���=�	�
� :���N�
��y������
���y���,���*���*���F����� �&�!�"��#�$"��$�&��$�,�(��/��9����@m,�e�E�3�J�'�m,�E�+�t�C��c��N�?S�2S�,T�m,�m,�m,�m,�m,�m,s�A�A*�)A*