\h dZddlmZddlZddlmZddlZddlZddlZddl m Z m Z ddl m Z mZmZddlmZdd lmZmZdd lmZmZej0eZGd d e ZGd de ZGdde ZGdde ZgdZdZ dZ!ejDdZ#ejDdZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+e*dzZ,d Z-d!Z.e,e.zZ/e0Z1e1jee%e1jee&e1jee(e1jee*e1jee,e1jee/ejDd"Z3d#Z4d$Z5e1Dcic]#}|jmjod%d&|%c}Z8e8jsDcic]\}}|| c}}Z:d'Z;d(Zd+Z?d,Z@d-ZAeBZCejDd.ZDd7d/ZEGd0d1eBZFd2ZGd3ZHd4ZIGd5d6eBZJycc}wcc}}w)8zzImplementation 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_schemePEP440_VERSION_REceZdZdZy)MetadataMissingErrorzA required metadata is missingN__name__ __module__ __qualname____doc___/root/niggaflix-v3/playground/venv/lib/python3.12/site-packages/pip/_vendor/distlib/metadata.pyrrs(rrceZdZdZy)MetadataConflictErrorz>Attempt to read or write metadata fields that are conflictual.Nrrrrrr sHrrceZdZdZy) MetadataUnrecognizedVersionErrorz Unknown metadata version number.Nrrrrrr$s*rrceZdZdZy)MetadataInvalidErrorzA metadata value is invalidNrrrrrr(s%rr)MetadataPKG_INFO_ENCODINGPKG_INFO_PREFERRED_VERSIONutf-81.1z \| ) Metadata-VersionNameVersionPlatformSummary DescriptionKeywords Home-pageAuthor Author-emailLicense)r&r'r(r)Supported-Platformr*r+r,r-r.r/r0 Classifier Download-URL ObsoletesProvidesRequires)r4r5r6r2r3)r&r'r(r)r1r*r+r,r-r.r/ MaintainerMaintainer-emailr0r2r3Obsoletes-Dist Project-URL Provides-Dist Requires-DistRequires-PythonRequires-External)r;r<r=r9r>r7r8r:)r&r'r(r)r1r*r+r,r-r.r/r7r8r0r2r3r9r:r;r<r=r>Private-Version Obsoleted-BySetup-Requires-Dist ExtensionProvides-Extra)r?rCr@rArB)Description-Content-Typer6r5r4)rD)Dynamic License-Filez"extra\s*==\s*("([^"]+)"|'([^']+)')c|dk(rtS|dk(rtS|dk(rtS|dvrttdtDzS|dk(r t d|dk(rt St|) N1.0r$1.2)1.32.1c32K|]}|tvs |ywN) _345_FIELDS).0fs r z%_version2fieldlist..s"RQk=Q1"Rs 2.0z+Metadata 2.0 is withdrawn and not supported2.2) _241_FIELDS _314_FIELDSrNtuple _566_FIELDS ValueError _643_FIELDSr)versions r_version2fieldlistr[vsw% E  E  N "U"Rk"RRRR E FGG E  *7 33rcd}|jDcgc]\}}|gddfvs|}}}gd}|D]>}|tvr+d|vr'|jdtj d||t vr+d|vr'|jdtj d||t vr+d |vr'|jd tj d ||tvr+d |vr'|jd tj d ||tvr0d |vr,|dk7r'|jd tj d||tvsd|vs|jdtj d|At|dk(r|dSt|dk(r!tj d|tdd|vxr ||t}d |vxr ||t}d |vxr ||t}d|vxr ||t} t|t|zt|zt| zdkDr td|s|s|s| st |vrt S|ry|ry |ry ycc}}w)z5Detect the best version depending on the fields used.c,tfd|DS)Nc3&K|]}|v ywrMr)rOmarkerkeyss rrQz5_best_version.._has_marker..s8f6T>8s)any)r`markerss` r _has_markerz"_best_version.._has_markers8888rUNKNOWNN)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)itemsrTremoveloggerdebugrUrNrWrYlenr _314_MARKERS _345_MARKERS _566_MARKERS _643_MARKERSintr") fieldsrckeyvaluer`possible_versionsis_1_1is_1_2is_2_1is_2_2s r _best_versionrwso9#),,. WJCE"iQUAV4VC WD WB7 k !e/@&@  $ $U + LL0# 6 k !e/@&@  $ $U + LL0# 6 k !e/@&@  $ $U + LL0# 6 k !e/@&@  $ $U + LL0# 6 k !e/@&@m#!((/ 4c: k !e/@&@  $ $U + LL0# 6'72 " ##  1 $ @&I#$:;;' ' KKl,KF ' ' KKl,KF ' ' KKl,KF ' ' KKl,KF 6{S[ 3v;.Vr:r1rArCrBrF)r:)r,)r.r7r*r+z[^A-Za-z0-9.]+c|r?G $$rceZdZdZ d dZdZdZdZdZdZ d Z d Z d Z d Z d Zd!dZdZdZdZdZd!dZd!dZd"dZdZefdZd!dZd!dZdZdZdZdZdZ dZ!y)#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 Nc|||gjddkr tdi|_g|_d|_||_||j |y||j|y|"|j||jyy)N'path, fileobj and mapping are exclusive) count TypeError_fieldsrequires_files _dependenciesschemeread read_fileupdateset_metadata_version)selfpathfileobjmappingrs r__init__zLegacyMetadata.__init__s '7 # ) )$ /! 3EF F  !   IIdO  NN7 #  KK  % % '!rcHt|j|jd<yNr&)rwrrs rrz#LegacyMetadata.set_metadata_versions+8+F '(rc2|j|d|dy)Nz:  )write)rrrrqs r _write_fieldzLegacyMetadata._write_fields D%01rc$|j|SrM)getrrs r __getitem__zLegacyMetadata.__getitem__sxx~rc&|j||SrM)set)rrrqs r __setitem__zLegacyMetadata.__setitem__sxxe$$rcr|j|} |j|=y#t$r t|wxYwrM) _convert_namerKeyError)rr field_names r __delitem__zLegacyMetadata.__delitem__s<''-  ! Z( !4.  !s !6c\||jvxs|j||jvSrM)rrrs r __contains__zLegacyMetadata.__contains__$s/ $9""4(DLL8 :rc|tvr|S|jddj}tj ||S)Nrxry) _ALL_FIELDSrlower _ATTR2FIELDrrs rrzLegacyMetadata._convert_name(s9 ; K||C%++-tT**rc(|tvs|tvrgSy)Nrd) _LISTFIELDS_ELEMENTSFIELDrs r_default_valuezLegacyMetadata._default_value.s ; $."8Ircv|jdvrtjd|Stjd|S)NrHr$r)metadata_version_LINE_PREFIX_PRE_1_2r~_LINE_PREFIX_1_2rrqs r_remove_line_prefixz"LegacyMetadata._remove_line_prefix3s6  N 2'++D%8 8#''e4 4rc2|tvr||St|rM)rAttributeErrorrs r __getattr__zLegacyMetadata.__getattr__9s ; : T""rc(t|d|d|S)zhReturn the distribution name with version. If filesafe is true, return a filename-escaped form.r'r()r)rfilesafes r get_fullnamezLegacyMetadata.get_fullnameDs%T&\4 ?HMMrc4|j|}|tvS)z+return True if name is a valid metadata key)rrrs ris_fieldzLegacyMetadata.is_fieldJs!!$'{""rc4|j|}|tvSrM)rrrs ris_multi_fieldzLegacyMetadata.is_multi_fieldOs!!$'{""rctj|dd} |j||jy#|jwxYw)z*Read the metadata values from a file path.rr#encodingN)codecsopenrclose)rfilepathfps rrzLegacyMetadata.readSs8 [[3 9  NN2  HHJBHHJs <Ac t|}|d|jd<tD]}||vr|tvrU|j |}|t vr)|'|Dcgc]}t |jd}}|j||e||}|m|dk7ss|j|||j}|r||d<y|d|d<ycc}w)z,Read the metadata values from a file object.zmetadata-versionr&N,rdr+) rrrrget_all_LISTTUPLEFIELDSrVsplitr get_payload)rfileobmsgfieldvaluesrqbodys rrzLegacyMetadata.read_file[s'+./A+B '(! +EC #U+,,1CCIJ%eEKK$45JFJ'E $));HHUE* +" &*d]]0C]Ks!C ctj|dd} |j|||jy#|jwxYw)z&Write the metadata fields to filepath.wr#rN)rr write_filer)rr skip_unknownrs rrzLegacyMetadata.writews: [[3 9  OOB - HHJBHHJs =Ac|jt|dD]}|j|}|r |dgdgfvr|tvr#|j ||dj |J|t vr;|dk(r3|jdvr|jdd}n|jdd}|g}|tvr|Dcgc]}dj |}}|D]}|j |||y cc}w) z0Write the PKG-INFO format data to a file object.r&rdrr+rrr%z |N) rr[rrrjoinrrrr)r fileobjectrrrrqs rrzLegacyMetadata.write_files !!#'-?(@A !'l!C!'l!C ((7=>e#((5/>> <!!*eU; <% < ?s8C/c fd}|snAt|dr"|jD]}||||n|D]\}}||||r"|jD]\}}|||yy)aSet 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`|tvr%|r"jj||yyyrM)rrr)rprqrs r_setz#LegacyMetadata.update.._sets.k!e++C0%8',!rr`N)hasattrr`re)rotherkwargsrkvs` rrzLegacyMetadata.updates 9  UF #ZZ\ "Qa! " 1Q     1Q   rc|j|}|tvs|dk(rVt|ttfs@t|t r-|j dDcgc]}|j}}n7g}n4|tvr,t|ttfst|t r|g}ng}tjtjr|d}t|j}|tvrF|D|D]>}|j!|j ddr'tj#d|||@ng|t$vr,|*|j'|sLtj#d|||n3|t(vr+|)|j+|stj#d||||t,vr|d k(r|j/|}||j0|<ycc}w) z"Control then set a metadata field.r)rr'N;rz$'%s': '%s' is not valid (field '%s')z.'%s': '%s' is not a valid version (field '%s')r+)rr isinstancelistrVr rstriprrg isEnabledForloggingWARNINGrr_PREDICATE_FIELDSis_valid_matcherwarning_VERSIONS_FIELDSis_valid_constraint_list_VERSION_FIELDSis_valid_version_UNICODEFIELDSrr)rrrqr project_namers rrzLegacyMetadata.sets!!$' ^ #tz'954-0%.,1KK,<=q==k!UT5M2%.   w /3A!221773<?CB(!T33))e.?66u=NN#S#/>(U->..u5NN#S#/> > !}$007" TG>sG c|j|}||jvr|tur|j|}|S|tvr|j|}|S|t vrQ|j|}|gSg}|D]5}|t vr|j||j|d|df7|S|tvr0|j|}t|tr|jdS|j|S)zGet a metadata field.rrr) rr_MISSINGrrrrappendrrr r)rrdefaultrqresvals rrzLegacyMetadata.gets!!$' t|| #("--d3N > !LL&EL [ LL&E} C 1//JJsOJJAA/0  1 J ^ #LL&E%.{{3''||D!!rc |jgg}}dD]}||vs|j||r$|gk7rddj|z}t|dD]}||vs|j||ddk7r||fSt |j  fd}t |ft jft jffD]A\}}|D]7} |j| d} | || r!|jd | d | 9C||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^|D]'}j|jddr'yy)NrrFT)rr)rqrrs rare_valid_constraintsz3LegacyMetadata.check..are_valid_constraintss4 !..qwws|A?  !rNzWrong value for 'z': ) rrrrrrrrrrrr) rstrictmissingwarningsattrrrro controllerrrqrs @rcheckzLegacyMetadata.checksM !!#' %D4t$ % gm1DIIg4FFC&s+ ++ %D4t$ % " #u ,H$ $DKK(  %67L#M$4$*$C$C$E$3$*$;$;$=#> Q FJ   Q-$Z->OO%$OP Q  Q  rc|jt|d}i}|D]O}|r||jvst|}|dk7r ||||<+||Dcgc]}dj |c}||<Q|Scc}w)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_urlr)rr[r _FIELD2ATTRr)r skip_missingrodatarrpus rtodictzLegacyMetadata.todict)s !!##D);$<=  HJ:#=!*--' $Z 0DI6::6F G! GDI  H !HsA7cL|ddk(rdD] }||vs||= |dxx|z cc<y)Nr&r$)r4r6r5r<r)r requirementsrs radd_requirementszLegacyMetadata.add_requirements@s? " #u ,> $D=U  $ _-rc0tt|dSr)rr[rs rr`zLegacyMetadata.keysKs&t,>'?@AArc#>K|jD]}|ywrMr`rrps r__iter__zLegacyMetadata.__iter__Ns 99; CI scN|jDcgc]}|| c}Scc}wrMrrs rrzLegacyMetadata.valuesRs %)YY[1cS 111s "cR|jDcgc] }|||f c}Scc}wrMrrs rrezLegacyMetadata.itemsUs%,0IIK8Sd3i 888s$cjd|jjd|jd|jdS)N) __class__rrrZrs r__repr__zLegacyMetadata.__repr__Xs&#~~66 #||- -rNNNrFrM)"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr`rrrerrrrrrs9=!( G2%!:+  5 #N # #D8<28*#X!)":*!X..B29-rrz pydist.jsonz metadata.jsonMETADATAcjeZdZdZej dZej dejZej dejZ e Z ej dZ dZ dezZddd d Zd Zd Zedfed fe d fe d fe d fd ZdZ d5dZedZdefZdefZdefdefeeedefeeeedefddd Z[[dZd6dZdZe dZ!e dZ"e"jFdZ"d7dZ$e d Z%e d!Z&e&jFd"Z&d#Z'd$Z(d%Z)d&Z*d'd(d)d*d+d,d-d.d/dd0 Z+d1Z,d8d2Z-d3Z.d4Z/y)9r 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)rrZsummaryzqname 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)rrrZr$dynamic)_legacy_datarNc|||gjddkr tdd|_d|_||_| |j ||||_yd}|r&t|d5}|j}dddn|r|j}||j|jd|_yt|ts|jd} t!j"||_|j |j|y#t $r%t|||_|jYywxYw#1swYxYw#t$$r.tt'|||_|jYywxYw)Nrr)rrrbr generatorr#)rr)rrr&r'r_validate_mappingrrvalidaterrMETADATA_VERSION GENERATORrr decodejsonloadsrXr)rrrrrr rPs rrzMetadata.__init__sd '7 # ) )$ /! 3EF F     &&w7$ D$%$668D$$||~|)-(=(=!% "$ 2;;w/D $!%D!1DJ**4::v>+4 -gfM   $$ " $$2(4.9?$ADLMMO $s/D %D<6E +D98D9<E4E?>E?)rrZlicensekeywordsr$r<rArCr2)r3N)r&N) run_requiresbuild_requires dev_requires test_requires meta_requiresextrasmodules namespacesexportscommands classifiers source_urlrcntj|d}tj|d}||vr#||\}}|jr,| |dn|}|S|jj|}|S|dn|}|dvr|jj||}|St}|}|jjd} | r|dk(r| jd|}nm|dk(r&| jd} | rU| j||}nB| jd } | s|jjd } | r| j||}||ur|}|S||vrtj||}|S|jr|jj|}|S|jj|}|S) N common_keys mapped_keysr>r=r;r<r? extensionsr>python.commandsr?python.detailspython.exports)object__getattribute__r&rr') rrpcommonmappedlkmakerresultrqsentinelds rrJzMetadata.__getattribute__s((}=((}= &=s IB||:%*]TFD A"\\--b1F@ =!& 57..!ZZ^^C7F6 1 &xH%F |4A*,%&UU+rFr?rGrHr4) rYrIrJr&NotImplementedErrorr' setdefault __setattr__rr rr)rrprqrKrLrMryrQs rr]zMetadata.__setattr__sW S%(((}=((}= &=3KEB||:--#( R ,,"' 3JJ)),;*$+0A'(M) %5r:A"AcF %5r:A"AcF     tS% 0j e\2!KKME %  "||$) S!"' 3rcDt|j|jdSNT)rrrZrs rname_and_versionzMetadata.name_and_version/s$TYY dCCrc|jr|jd}n|jjdg}|jd|jd}||vr|j ||S)Nr;provides ())r&r'r\rrZr)rrOss rrbzMetadata.provides3sW <<\\/2FZZ**:r:FDLL 1 F? MM!  rcZ|jr||jd<y||jd<y)Nr;rb)r&r'rs rrbzMetadata.provides>s% <<,1DLL )%*DJJz "rc|jr|}|Sg}t|xsg|j}|D]_}d|vrd|vrd}n;d|vrd}n|jd|v}|r|jd}|r t ||}|sL|j |dadD]_}d|z} | |vs |j | |jjd|zg}|j |j|||a|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 environmentTrequires)builddevtestz:%s:z %s_requires)r:env) r&r r:rr extendrfr'get_requirements) rreqtsr:rnrOrQincluder_rpes rrpzMetadata.get_requirementsEs <<F< 9F "dkk:F 1!# Q(>"Ga'"&"#%%.F":!"}!5!&/&CEMM$"7"7f||j|jz} ||j|jz} |jrt|j|d<t| |d<t| |d<|S#ttf$rd}YwxYw)Nc$t}|D]}|jd}|jd}|d}|D]R}|s|s|j|d}|rd|z}|r |r d|d|}n|}|jdj||fT|S) Nrhrirjrz extra == "%s"(z) and r)rraddr)entriesrqrsrhrnrlistrr_s rprocess_entriesz,Metadata._to_legacy..process_entriessEE 9geeM**  9Au ! !# %4u%)rrZrrr)rrrZs rrzMetadata.__repr__(sDyy'K,,.,$(NN$;$;$($9$94J JrrrM)NN)NNFT)0rrrrrecompileMETADATA_VERSION_MATCHERI NAME_MATCHERFIELDNAME_MATCHERrVERSION_MATCHERSUMMARY_MATCHERr.rr/r|rrxrT __slots__rrrBr none_listdict none_dictrCrJrYr]propertyr`rbsetterrprvryr,r-rrurrrrrrrrr r bs- *rzz*:;2::A244HL" #A244H'O bjj-O,IN !J/O 6r:{+#[1#[1%{3 /I8<!+$ZKLKt It I)$/0$7!""#T*$d+,6K 9)VJ%(NDD__++ (T DD %% /<<5>$BMAIBP$9E N0d.42"Jrr r )Kr __future__rrrrr1rrrrrcompatrr r rbr utilr r rZrr getLoggerrrgrrrr__all__r!r"rrrrTrUrjrNrk _426_FIELDS _426_MARKERSrWrlrmrYrrrEXTRA_REr[rwrrrrer rrrrrrrrIrr}rrMETADATA_FILENAMEWHEEL_METADATA_FILENAMELEGACY_METADATA_FILENAMEr )rrrs000rrs_ ( #  ,55,2   8 $)+)I,I+'7+&+& J#2::n-!rzz,/ '  7 3 ! 4 BB - * L( e ; ; ; ; ; ; 2::? @4$DR6A-1DJJLc"D( /:.?.?.AB{tUud{B H'> $C 8 BJJ' (  %e-Ve-P ")%JJvJJe Cs (G- G2