
    daff	                         d dl Z d dlZd dlZd dlZd dlZddlmZ  e j                  ej                  de
d      Z G d dej                  j                        Zy)	    N   )
FoldedCasezFImplicit None on return values is deprecated and will raise KeyErrors.   )
stacklevelc                        e Zd Z e eeg d            Z	 dej                  j                  f fdZ
d Z fdZ fdZd Zed        Z xZS )	Message)

ClassifierzObsoletes-DistPlatformzProject-URLzProvides-DistzProvides-ExtrazRequires-DistzRequires-ExternalzSupported-PlatformDynamicorigc                 l    t         |   |       }t        |      j                  t        |             |S N)super__new__varsupdate)clsr   res	__class__s      7/root/Python-3.12.4/Lib/importlib/metadata/_adapters.pyr   zMessage.__new__)   s,    goc"S	d$
    c                 .    | j                         | _        y r   )_repair_headers_headers)selfargskwargss      r   __init__zMessage.__init__.   s    ,,.r   c                      t         |          S r   )r   __iter__)r   r   s    r   r    zMessage.__iter__2   s    w!!r   c                 >    t         |   |      }|
t                |S )z
        Warn users that a ``KeyError`` can be expected when a
        mising key is supplied. Ref python/importlib_metadata#371.
        )r   __getitem___warn)r   itemr   r   s      r   r"   zMessage.__getitem__5   s#    
 g!$';G
r   c                     d }t        |       d   D cg c]  \  }}| ||      f }}}| j                  r!|j                  d| j                         f       |S c c}}w )Nc                 B    | rd| vr| S t        j                  d| z         S )zCorrect for RFC822 indentation
z        )textwrapdedent)values    r   redentz'Message._repair_headers.<locals>.redent@   s$    D-??7U?33r   r   Description)r   _payloadappendget_payload)r   r+   keyr*   headerss        r   r   zMessage._repair_headers?   s^    	4 ;?t*Z:PQJCC'QQ==NNM4+;+;+=>? Rs   Ac           	      T      fd}t        t        |t        t                           S )z[
        Convert PackageMetadata to a JSON-compatible format
        per PEP 0566.
        c                     | j                   v rj                  |       n|    }| dk(  rt        j                  d|      }| j	                         j                  dd      }||fS )NKeywordsz\s+-_)multiple_use_keysget_allresplitlowerreplace)r0   r*   tkr   s      r   	transformzMessage.json.<locals>.transformR   s_    ),0F0F)FDLL%DQTIEj /$$S#.Bu9r   )dictmapr   )r   r>   s   ` r   jsonzMessage.jsonK   s#    	 C	3z4#89::r   )__name__
__module____qualname__setr@   r   r7   emailmessager   r   r   r    r"   r   propertyrA   __classcell__)r   s   @r   r   r      sa    	
"5==00 
/"
 ; ;r   r   )	functoolswarningsr9   r(   email.messagerF   _textr   partialwarnDeprecationWarningr#   rG   r    r   r   <module>rR      sS      	    		MML		F;emm## F;r   