
    hT
                     r    d dl mZmZmZ d dlmZ d dlmZmZm	Z	m
Z
mZ g dZdedefdZdedeeef   fd	Zy
)    )Headerdecode_headermake_header)Message)AnyDictListUnioncast))zMetadata-VersionF)NameF)VersionF)DynamicT)PlatformT)zSupported-PlatformT)SummaryF)DescriptionF)zDescription-Content-TypeF)KeywordsF)z	Home-pageF)zDownload-URLF)AuthorF)zAuthor-emailF)
MaintainerF)zMaintainer-emailF)LicenseF)
ClassifierT)zRequires-DistT)zRequires-PythonF)zRequires-ExternalT)zProject-URLT)zProvides-ExtraT)zProvides-DistT)zObsoletes-DistTfieldreturnc                 B    | j                         j                  dd      S )N-_)lowerreplace)r   s    ED:\EasyAligner\venv\Lib\site-packages\pip/_internal/metadata/_json.py	json_namer   %   s    ;;=  c**    msgc                    dt         t        t        f   dt        fd}i }t        D ]  \  }}|| vrt	        |      }|r%| j                  |      D cg c]
  } ||       }}n] || j                  |            }|dk(  rAd|v r-|j                  d      D cg c]  }|j                          }}n|j                         }|||<    t        t        | j                               }|r||d<   |S c c}w c c}w )z;Convert a Message object into a JSON-compatible dictionary.hr   c                    t        | t              rUg }t        |       D ]1  \  }}|dk(  r	 |j                  d       d}|j                  ||f       3 t        t        |            S t        |       S # t        $ r d}Y Aw xY w)Nzunknown-8bitzutf-8latin1)
isinstancer   r   decodeUnicodeDecodeErrorappendstrr   )r#   chunksbytesencodings       r   sanitise_headerz$msg_to_json.<locals>.sanitise_header,   s    a F#0#3x~-,W-#* uh/0 $4 {6*++1v . ,#+,s   A11A?>A?keywords,description)r
   r   r*   METADATA_FIELDSr   get_allgetsplitstripr   get_payload)	r!   r.   resultr   multikeyvvaluepayloads	            r   msg_to_jsonr>   )   s   5- #   F'u,/KK,>,,>q",>  , $CGGEN3Ej  %<05C0@A0@1QWWY0@EA!KKMEs# (& 3)*G '}M%, Bs   C.C3N)email.headerr   r   r   email.messager   typingr   r   r	   r
   r   r2   r*   r   r>    r    r   <module>rC      sK    < ; ! / /<+S +S ++W +c3h +r    