hf @ `ddlZddlZddlZddlZddlZddlZddlZddlmZm Z m Z m Z m Z m Z ejdkrddlmZn.ejrddlmZn ddlmZn#e$rGddZYnwxYwGdded Zhd Zhd Zd ede efdZd e edeeeffdZdejjde eefdefdZidddddddddddddddd d!d!d"d"d#d#d$d%d&d'd(d(d)d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9 Zd e eefde eeee efffd:ZdS);N)DictListOptionalTupleUnioncast)) TypedDictceZdZdZdS)r cdS)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__sDN)__name__ __module__ __qualname__rrrrr r s#rr ceZdZUdZeed<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_versionnameversion platformssummary descriptionkeywords home_pageauthor author_emaillicensesupported_platforms download_url classifiersrequiresprovides obsoletes maintainermaintainer_email requires_dist provides_distobsoletes_distrequires_pythonrequires_external project_urlsdescription_content_typeprovides_extradynamicN)rrr__doc__str__annotations__rrrrrrrs   III LLLCy LLL3iNNN KKK LLLc"""c3i3iCyOOO99ICy   sCx.   "!!!I#YrrF)total>rr!r#rrr r*rr"r%r/r+rr2> r4r(r'r)rr&r-r,r.r3r0r$datareturnc@d|dDS)zCSplit a string of comma-separate keyboards into a list of keywords.c6g|]}|Srstrip).0ks r z#_parse_keywords..s / / /!AGGII / / /r,)split)r9s r_parse_keywordsrDs / /tzz# / / //rc i}|D]v}d|ddD}|dgtddt|z z|\}}||vrt d|||<w|S)z?Parse a list of label/URL string pairings separated by a comma.c6g|]}|Srr=)r?ps rrAz'_parse_project_urls..s 777q777rrBrz duplicate labels in project urls)rCextendmaxlenKeyError)r9urlspairpartslabelurls r_parse_project_urlsrTs D  $87DJJsA$6$6777 bTSAE N334555 s D===>> >U Krmsgsourcect|tr|}|S|d} |ddS#t$rt dwxYw)zGet the body of the message.Tdecodeutf8strictzpayload in an invalid encoding) isinstancer6 get_payloadrYUnicodeDecodeError ValueError)rUrVpayloadbpayloads r _get_payloadrbs&# ?((///66 ???6844 4! ? ? ?=>> > ?s AA3r!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) z project-urlr(z provides-distzprovides-extrar'z requires-distzrequires-externalzrequires-pythonrzsupported-platformrc i}i}t|trCtjtjj|}nBtjtjj |}t| D] }| }| |}g}d}|D] }t|tjjtfsJt|tjjrg} tj|D]J\} } | ddd} n#t$$rd} d}YnwxYw| | | fK|ttj| || |s|||<Ht*|} | |||<k| t.vr t1|dkr |d || <| t2vr||| <| d kr-t1|dkrt5|d || <| d kr+ t7||| <#t8$r |||<YwxYw|||< t;||} | r}d |vrTt=t|d }| d g!|| gnd |vr|d | nf| |d <n`#tD$rS| d g|#t|tH YnwxYwt=tJ||fS)aParse 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\r6emailparserParserrfcompat32parsestr BytesParser parsebytes frozensetkeyslowerget_allheaderHeader decode_headerrYr^append make_header_EMAIL_TO_RAW_MAPPINGget_STRING_FIELDSrM_LIST_STRING_FIELDSrDrTrNrbrpop setdefaultrKr_r]bytesr)r9rawunparsedparsedrheadersvaluevalid_encodinghchunksbinencodingraw_namer`description_headers r parse_emailrs+ =?C%'H$Y$$EL,A$BBKKDQQ))1F)GGRRSWXX &++--((t#t#zz|| ..&&# # Aa%,"5s!;<< < <<!U\011 =?%*\%?%?%B%B 3 3MC* 68444 $* .///#+)./ MM3/2222  S!9!9&!A!ABBCCCC Q  "HTN (,,T22  #HTN  ~ % %#e**//!!HCMM, , ,!CMM  # #E a+E!H55CMM ' ' ' 3E : :H  ' ' '!& ' #HTNN -vt,,  -##%)#sww}/E/E%F%F"##M266=='1(**'..w7777%,M"!    M2..55   ju&=&=  > >      ,  S ! !8 ++s7#E<<F F J22KKM AN=<N=)email.feedparserrh email.header email.message email.parser email.policysystypingrrrrrr version_infor TYPE_CHECKINGtyping_extensions ImportErrorrrzr{r6rDrTmessageMessager~rbrxrrrrrsi ;;;;;;;;;;;;;;;;v         ///////  3 3 3 3 3 3 3              <<<<<)5<<<<F"    0#0$s)0000 %d3i%DcN%%%%P?em+?U5#:5F?3????: hN-=   :  N y y,** F &!" #$"$&$,(/9@m,eE3J'm,E+tCcN?S2S,Tm,m,m,m,m,m,sAA*)A*