kgh/ *UddlmZddlZddlZddlZddlZddlmZmZm Z m Z m Z m Z m Z ddlmZmZmZmZmZddlmZddlmZddlmZmZdd lmZgd Ze ee eeefgefZ e d Z!d d hZ"Gdde#Z$Gdde#Z%Gdde#Z&Gdde Z'd=dZ( d>d?d Z)d!d"ej*ej+ej,ej-ej.ej/d#Z0d$e1d%<d@d,Z2dAd/Z3dBd4Z4dCd7Z5dDd8Z6Gd9d:Z7dEd<Z8dS)F) annotationsN) AbstractSetAnyCallableLiteral TypedDictUnioncast) MarkerAtom MarkerListOpValueVariable) parse_marker)ParserSyntaxError)InvalidSpecifier Specifiercanonicalize_name)EvaluateContext InvalidMarkerMarkerUndefinedComparisonUndefinedEnvironmentNamedefault_environment)metadata lock_file requirementextrasdependency_groupsceZdZdZdS)rzE An invalid marker was found, users should refer to PEP 508. N__name__ __module__ __qualname____doc__}/builddir/build/BUILD/imunify360-venv-2.6.0/opt/imunify360/venv/lib/python3.11/site-packages/pip/_vendor/packaging/markers.pyrr!r)rceZdZdZdS)rzP An invalid operation was attempted on a value that doesn't support it. Nr#r(r)r*rr'r+r)rceZdZdZdS)rz\ A name was attempted to be used that does not exist inside of the environment. Nr#r(r)r*rr-sr)rceZdZUded< ded< ded< ded< ded< ded< ded< ded < ded < ded < ded <d S) Environmentstrimplementation_nameimplementation_versionos_nameplatform_machineplatform_releaseplatform_systemplatform_versionpython_full_versionplatform_python_implementationpython_version sys_platformN)r$r%r&__annotations__r(r)r*r/r/4s> LLL     ('''9r)r/resultsrreturncrt|dtr|d\}}}t|tr/|jdkr$t |j}t |}nCt|tr.|jdkr#t |j}t |}|||f|d<|S)z! Normalize extra values. rextra) isinstancetuplervaluerr)r=lhsoprhsnormalized_extras r*_normalize_extra_valuesrH|s'!*e$$"qz R c8 $ $ *g)=)=0;; ())CC X & & *39+?+?0;; ())C"c\ Nr)Tmarkerlist[str] | MarkerAtom | strfirst bool | Noner0ct|tttfsJt|trJt |dkr7t|dttfrt |dSt|tr>d|D}|rd|Sdd|zdzSt|trdd|DS|S)Nr rc38K|]}t|dVdS)F)rKN)_format_marker.0ms r* z!_format_marker..s/@@A///@@@@@@r) ()c6g|]}|Sr() serializerPs r* z"_format_marker..s 7771777r))rAlistrBr0lenrOjoin)rIrKinners r*rOrOs ftUC0 1 111 1 64  ) KK1   vay4- 0 0 fQi(((&$ @@@@@  /88E?? "%(3. . FE " "xx77777888 r)c ||vSNr(rDrFs r*ras 3#:r)c ||vSr_r(r`s r*raras s#~r))inznot in=>zdict[str, Operator] _operatorsrDrErrFstr | AbstractSet[str]boolc t|tr^ td||g}||dS#t $rYnwxYwt|}|td|d|d|d|||S)NT) prereleasesz Undefined z on z and .) rAr0rr\rXcontainsrrfgetr)rDrErFspecopers r*_eval_oprqs#s8 8RWWbllnnc%:;;<>::D |!"Mr"M"M"M"MS"M"M"MNNN 4S>>s6A$$ A10A1key"tuple[str, str | AbstractSet[str]]c>|dkr=t|ts Jdt|t|fS|tvrNt|trt|t|fSt|d|DfS||fS)Nr@zextra value must be a stringc,h|]}t|Sr(r)rQvs r* z_normalize..s!,O,O,Oa->q-A-A,O,O,Or))rAr0rMARKERS_ALLOWING_SET)rDrFrrs r* _normalizerys g~~#s##CC%CCC#!#&&(9#(>(>?? """ c3   Q%c**,=c,B,BC C%c**,O,O3,O,O,OP P 8Or)markersr environment!dict[str, str | AbstractSet[str]]cgg}|D]D}t|tttfsJt|tr*|dt ||ft|tr|\}}}t|t r|j}||}|j} n|j}|j}||} t|ts Jdt|| |\}} |dt||| #|dvsJ|dkr|gFtd|DS)Nzlhs must be a string)rr)andorrc34K|]}t|VdSr_)all)rQitems r*rSz$_evaluate_markers..s(,,Ts4yy,,,,,,r)) rArZrBr0append_evaluate_markersrrCryrqany) rzr{groupsrIrDrErFenvironment_key lhs_value rhs_values r*rrsy!#tF""&4"455555 fd # # " 2J  / DD E E E E  & & "!LCS#x(( 9"%)'8 I I "%)'8 i-- E E/E E E-#-i#X#X#X Iy 2J  hy"i@@ A A A A]****~~ b!!! ,,V,,, , ,,r)infosys._version_infoc|jd|jd|j}|j}|dkr ||dt |jzz }|S)Nrlfinalr)majorminormicro releaselevelr0serial)rversionkinds r*format_full_versionrsV77dj774:77G  D w47S---- Nr)cttjj}tjj}||t jt jt jt j t jt j t j d t j ddtjd S)Nrl) r1r2r3r4r5r6r7r8r9r:r;)rsysimplementationrnameosplatformmachinereleasesystemr:python_implementationr\python_version_tuple)iverr1s r*rrs s19 : :D,12"&7$,..$,..#?,,$,..'688*2*H*J*J((8#@#B#B2A2#FGG    r)cDeZdZddZddZddZdd Zdd Z dddZdS)rrIr0r>Nonec tt||_dS#t$r"}t t ||d}~wwxYwr_)rH _parse_marker_markersrrr0)selfrIes r*__init__zMarker.__init__sY /3M&4I4IJJDMMM"! / / /A''Q . /s!% AA  Ac*t|jSr_)rOrrs r*__str__zMarker.__str__,sdm,,,r)cd|dS)Nz r(rs r*__repr__zMarker.__repr__/s$4$$$$r)intcRt|jjt|fSr_)hash __class__r$r0rs r*__hash__zMarker.__hash__2s T^,c$ii8999r)otherrrhczt|tstSt|t|kSr_)rArNotImplementedr0)rrs r*__eq__z Marker.__eq__5s1%(( "! !4yyCJJ&&r)Nrr{dict[str, str] | NonecontextrcPtdt}|dkr0|ttn |dkrd|d<|&||d|vr |dd|d<t |jt |S)a?Evaluate a marker. Return the boolean from evaluating the given marker against the environment. environment is an optional argument to override all or part of the determined environment. The *context* parameter specifies what context the markers are being evaluated for, which influences what markers are considered valid. Acceptable values are "metadata" (for core metadata; default), "lock_file", and "requirement" (i.e. all other situations). The environment is determined from the current Python process. r|r)r r!rrjr@)r rupdate frozensetrr_repair_python_full_version)rr{rcurrent_environments r*evaluatezMarker.evaluate;s # /1D1F1F   k ! !  & & {{ikk '     " "+-  (  "  & &{ 3 3 3---2Eg2N2V/1#G, M67JKK   r))rIr0r>r)r>r0)r>r)rrr>rh)Nr)r{rrrr>rh) r$r%r&rrrrrrr(r)r*rrs////2----%%%%::::''''.2#-" " " " " " " r)renvcvtt|d}|dr|d|d<|S)z Work around platform.python_version() returning something that is not PEP 440 compliant for non-tagged Python builds. r8+local)r r0endswith)rr8s r*rr`sJsC(=$>??##C((C(;%B%B%B !" Jr))r=rr>r)T)rIrJrKrLr>r0)rDr0rErrFrgr>rh)rDr0rFrgrrr0r>rs)rzr r{r|r>rh)rrr>r0)r>r/)rr|r>r|)9 __future__roperatorrrrtypingrrrrrr r _parserr r rrrrr _tokenizerr specifiersrrutilsr__all__r0rhOperatorrrx ValueErrorrrrr/rHrOltleeqnegegtrfr<rqryrrrrrr(r)r*rs  #""""""  NNNNNNNNNNNNNNNNNN@@@@@@@@@@@@@@222222))))))33333333$$$$$$    S%[%5 567= >@A "56J * zEEEEE)EEEP    "@D: & %--  + + + +  # #         (----@$K K K K K K K K \      r)