]~ ,_W nddlZddlZddlZddlZddlZddlmZmZmZm Z m Z m Z m Z m Z mZmZmZddlmZddlmZmZmZeeefZeeeefZedeZeeegefZGdd eZGd d ej Z Gd de Z!Gdde!Z"dedeegefdedeegeffdZ#Gdde!Z$ej%dZ&dede efdZ'dedefdZ(de ede edee ee effdZ)Gdde Z*dS) N) CallableDictIterableIteratorListOptionalPatternSetTupleTypeVarUnion)canonicalize_version) LegacyVersionVersionparseVersionTypeVar)boundceZdZdZdS)InvalidSpecifierzH An invalid specifier was found, users should refer to PEP 440. N)__name__ __module__ __qualname____doc__/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el9.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/packaging/specifiers.pyrr!srrc eZdZejdefdZejdefdZejde de fdZ ejde de fdZ ej dee fdZejde dd fd Zejdd ed ee de fd Zej ddeed ee deefdZd S) BaseSpecifierreturncdS)z Returns the str representation of this Specifier like object. This should be representative of the Specifier itself. Nrselfs r__str__zBaseSpecifier.__str__(rcdS)zF Returns a hash value for this Specifier like object. Nrr"s r__hash__zBaseSpecifier.__hash__/r%rothercdS)zq Returns a boolean representing whether or not the two Specifier like objects are equal. Nrr#r(s r__eq__zBaseSpecifier.__eq__5r%rcdS)zu Returns a boolean representing whether or not the two Specifier like objects are not equal. Nrr*s r__ne__zBaseSpecifier.__ne__<r%rcdS)zg Returns whether or not pre-releases as a whole are allowed by this specifier. Nrr"s r prereleaseszBaseSpecifier.prereleasesCr%rvalueNcdS)zd Sets whether or not pre-releases as a whole are allowed by this specifier. Nrr#r0s rr/zBaseSpecifier.prereleasesJr%ritemr/cdS)zR Determines if the given item is contained within this specifier. Nrr#r3r/s rcontainszBaseSpecifier.containsQr%riterablecdS)z Takes an iterable of items and filters them so that only items which are contained within this specifier are allowed in it. Nr)r#r7r/s rfilterzBaseSpecifier.filterWr%rN)rrrabcabstractmethodstrr$intr'objectboolr+r-abstractpropertyrr/setterr6rrr9rrrrr's       #      F t      F t      Xd^      $       S x~      PT   0 ?G~ . !      rr) metaclassceZdZUiZeeefed<eeed<ddedee ddfdZ defd Z defd Z e deeeffd Zdefd Zd ede fdZd ede fdZdedefdZdedefdZe defdZe defdZe dee fdZejde ddfdZdede fdZ ddedee de fdZ dde e!dee de e!fdZ"dS) _IndividualSpecifier _operators_regexNspecr/r c|j|}|std|d|d|df|_||_dS)NzInvalid specifier: ''operatorversion)rGsearchrgroupstrip_spec _prereleases)r#rIr/matchs r__init__z_IndividualSpecifier.__init__fs ""4(( C"#A$#A#A#ABB B KK # # ) ) + + KK " " ( ( * *'  (rc|j d|jnd}d|jjt ||S)N, prereleases=rHz <{}({!r}{})>)rRr/format __class__rr=r#pres r__repr__z_IndividualSpecifier.__repr__ssM , 2T- 1 1 1 $$T^%22 "! !#u'<<<":A Act|tr; |t|}n3#t$r tcYSwxYwt||jstS|j|jkSr:)rbr=rXrrcrQr*s rr-z_IndividualSpecifier.__ne__s eS ! ! " &s5zz22# & & &%%%% &E4>22 "! !zU[((rdopcBt|d|j|}|S)N _compare_)getattrrF)r#rfoperator_callables r _get_operatorz"_IndividualSpecifier._get_operators/.5 3dob133/ / ! rrMc\t|ttfst|}|Sr:)rbrrrr#rMs r_coerce_versionz$_IndividualSpecifier._coerce_versions)'M7#;<< %GnnGrc|jdS)NrrQr"s rrLz_IndividualSpecifier.operatorz!}rc|jdS)Nrrpr"s rrMz_IndividualSpecifier.versionrqrc|jSr:rRr"s rr/z _IndividualSpecifier.prereleasess   rr0c||_dSr:rtr2s rr/z _IndividualSpecifier.prereleases!rr3c,||Sr:r6r#r3s r __contains__z!_IndividualSpecifier.__contains__}}T"""rc||j}||}|jr|sdS||j}|||jSNF)r/rn is_prereleaserkrLrM)r#r3r/normalized_itemrjs rr6z_IndividualSpecifier.containssm  *K..t44  (  5/3.@.@.O.O  $,???rr7c#Kd}g}d||ndi}|D]Q}||}|j|fi|r,|jr|s|js||Kd}|VR|s |r |D] }|VdSdSdS)NFr/T)rnr6r~r/append)r#r7r/yieldedfound_prereleaseskwrMparsed_versions rr9z_IndividualSpecifier.filtersK,C[[ N  " "G!11'::Nt}^22r22 ""/""#'#3"&,,W5555#G!MMM  , ,         rrHNr:)#rrrrFrr=__annotations__r rr@rTr[r$propertyr r^r>r'r?r+r-CallableOperatorrkUnparsedVersion ParsedVersionrnrLrMr/rBrzr6rrr9rrrrErEas!#JS#X### CL ( (S (HTN (d ( ( ( (N#NNNN*****BsCxBBBXB*#**** =F =t = = = = )F )t ) ) ) )!!(8!!!! = #XX!Xd^!!!X!""$""""######DH@@#@2:4.@ @@@@0QU!! 0!?G~! . !!!!!!!rrEc eZdZdZejdezdzejejzZdddddd d Z dd e de e dd ffd Z dedefdZded e de fdZded e de fdZded e de fdZded e de fdZded e de fdZded e de fdZxZS)LegacySpecifiera (?P(==|!=|<=|>=|<|>)) \s* (?P [^,;\s)]* # Since this is a "legacy" specifier, and the version # string can be just about anything, we match everything # except for whitespace, a semi-colon for marker support, # a closing paren since versions can be enclosed in # them, and a comma since it's a version separator. ) ^\s*\s*$equal not_equalless_than_equalgreater_than_equal less_than greater_than)==!=<=>=<>rHNrIr/r ct||tjdtdS)NzZCreating a LegacyVersion has been deprecated and will be removed in the next major release)superrTwarningswarnDeprecationWarning)r#rIr/rXs rrTzLegacySpecifier.__init__sC {+++  0      rrMcht|tstt|}|Sr:)rbrr=rms rrnzLegacySpecifier._coerce_versions,'=11 2#CLL11Gr prospectivec4|||kSr:rnr#rrIs r_compare_equalzLegacySpecifier._compare_equald2248888rc4|||kSr:rrs r_compare_not_equalz"LegacySpecifier._compare_not_equalrrc4|||kSr:rrs r_compare_less_than_equalz(LegacySpecifier._compare_less_than_equal"rrc4|||kSr:rrs r_compare_greater_than_equalz+LegacySpecifier._compare_greater_than_equal%sd2248888rc4|||kSr:rrs r_compare_less_thanz"LegacySpecifier._compare_less_than*T11$7777rc4|||kSr:rrs r_compare_greater_thanz%LegacySpecifier._compare_greater_than-rrr)rrr _regex_strrecompileVERBOSE IGNORECASErGrFr=rr@rTrrrnrrrrrr __classcell__)rXs@rrrs  JRZ*,w6 R]8R S SF"   J  S HTN d      = 9-9s9t99999m939499999M99QU99999(9039 9999 8m8384888888c8d88888888rrfn Specifierr c vtjdddtdtdtffd }|S)Nr#rrrIr cLt|tsdS|||Sr})rbr)r#rrIrs rwrappedz)_require_version_compare..wrapped4s.+w// 5r$ T***r) functoolswrapsrr=r@)rrs` r_require_version_comparer1s[_R+k+ +S+T++++++ Nrc eZdZdZejdezdzejejzZdddddd d d d Z e d e de de fdZe d e de de fdZe d e de de fdZe d e de de fdZe d e de de fdZe d e de de fdZe d e de de fdZd ede de fdZede fdZejde ddfdZdS)ra (?P(~=|==|!=|<=|>=|<|>|===)) (?P (?: # The identity operators allow for an escape hatch that will # do an exact string match of the version you wish to install. # This will not be parsed by PEP 440 and we cannot determine # any semantic meaning from it. This operator is discouraged # but included entirely as an escape hatch. (?<====) # Only match for the identity operator \s* [^\s]* # We just match everything, except for whitespace # since we are only testing for strict identity. ) | (?: # The (non)equality operators allow for wild card and local # versions to be specified so we have to define these two # operators separately to enable that. (?<===|!=) # Only match for equals and not equals \s* v? (?:[0-9]+!)? # epoch [0-9]+(?:\.[0-9]+)* # release (?: # pre release [-_\.]? (a|b|c|rc|alpha|beta|pre|preview) [-_\.]? [0-9]* )? (?: # post release (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) )? # You cannot use a wild card and a dev or local version # together so group them with a | and make them optional. (?: (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local | \.\* # Wild card syntax of .* )? ) | (?: # The compatible operator requires at least two digits in the # release segment. (?<=~=) # Only match for the compatible operator \s* v? (?:[0-9]+!)? # epoch [0-9]+(?:\.[0-9]+)+ # release (We have a + instead of a *) (?: # pre release [-_\.]? (a|b|c|rc|alpha|beta|pre|preview) [-_\.]? [0-9]* )? (?: # post release (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) )? (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release ) | (?: # All other operators only allow a sub set of what the # (non)equality operators do. Specifically they do not allow # local versions to be specified nor do they allow the prefix # matching wild cards. (?=g=S=T====TX0""$""""""rz^([0-9]+)((?:a|b|c|rc)[0-9]+)$rMcg}|dD][}t|}|r(||F||\|S)Nr)split _prefix_regexrNextendgroupsr)rMresultr3rSs rrr[stF c""  $$T**  MM%,,.. ) ) ) ) MM$     Mrsegmentc<tfddD S)Nc3BK|]}|VdSr:) startswith).0rrs r z!_is_not_suffix..gsB'-6""r)devabrcpost)any)rs`rrrfs@1P rleftrightc Rgg}}|ttjd||ttjd|||t |dd||t |dd|ddgt dt |dt |dz z|ddgt dt |dt |dz zttj|ttj|fS)Nc*|Sr:isdigitxs rz_pad_version..psrc*|Sr:rrs rr z_pad_version..qs!))++rrr0)rrrrrinsertmaxchain)rr left_split right_splits rrrlsr " Jd9./D/DdKKLLMMMtI/0E0EuMMNNOOOd3z!}--//0111uSQ00223444a#QKN(;(;c*Q->P>P(P!Q!QQRRRq3%#aZ]););c+a.>Q>Q)Q"R"RRSSS *- . .Y_k5R0S0S TTrc|eZdZ ddedeeddfdZdefdZdefdZde fd Z d e defddfd Z d e defd Zd e defd Zde fdZdeefdZedeefdZejdeddfdZdedefdZ ddedeedefdZ ddeedeedeefdZdS) SpecifierSetrHN specifiersr/r cJd|dD}t}|D]W} |t|&#t$r%|t |YTwxYwt ||_||_dS)Nc^g|]*}||+Sr)rPrss r z)SpecifierSet.__init__..s-RRR! RAGGIIRRRr,) rsetaddrrr frozenset_specsrR)r#rr/split_specifiersparsed specifiers rrTzSpecifierSet.__init__s SRz/?/?/D/DRRR-0EE) 7 7I 7 9Y//0000# 7 7 7 ?95566666 7 '' (s"A,BBcn|j d|jnd}dt||S)NrVrHz)rRr/rWr=rYs rr[zSpecifierSet.__repr__sF , 2T- 1 1 1 (..s4yy#>>>rcddtd|jDS)Nrc34K|]}t|VdSr:)r=rs rrz'SpecifierSet.__str__..s(;;!s1vv;;;;;;r)rsortedrr"s rr$zSpecifierSet.__str__s-xx;;t{;;;;;<<.s$66Q1=666666r)rRrrr"s rr/zSpecifierSet.prereleasessH   ($ $ { 466$+666666rr0c||_dSr:rtr2s rr/zSpecifierSet.prereleasesrvrr3c,||Sr:rxrys rrzzSpecifierSet.__contains__r{rctttfst|js jrdSt fd|jDS)NFc3FK|]}|VdS)r5Nrx)rrr3r/s rrz(SpecifierSet.contains..s3RR1::d :<<RRRRRRr)rbrrrr/r~allrr5s ``rr6zSpecifierSet.containss{ $ 899 ;;D  *K t1 5 RRRRRdkRRRRRRrr7c||j}|jr0|jD]&}||t|}'|Sg}g}|D]|}t |t t fst|}n|}t |t rF|jr|s|s| |g| |}|s|r||S|S)Nr5) r/rr9r@rbrrrr~r)r#r7r/rIfilteredrr3rs rr9zSpecifierSet.filter s  *K ;&   P P;;xT+=N=N;OOO .0H68  ! * *!$(@AA*%*4[[NN%)Nnm<<"/* *#7)00666OOD)))) ) 1 )k6I((Orrr:)rrrr=rr@rTr[r$r>r'r r)r?r+r-r/rrEr2rr/rBrrzr6rrr9rrrrr~sRBF(((19$( ((((0?#????=====!#!!!!U>3#67N.+F+t+++++F+t++++     !(#78!!!!7Xd^777X7"""$""""##T####DHSS#S2:4.S SSSS<QU33 03?G~3 . !333333rr)+r;rrrrtypingrrrrrrr r r r r utilsrrMrrrrr=rrr@rr(rABCMetarrErrrrrrrrrrrrr@sQ                             ('''''2222222222g},- 34)AAA]C0$67z 7 7 7 7 7 ck7 7 7 7 tQQQQQ=QQQh9898989898*989898x +}c2D89  {M3/56    X"X"X"X"X"$X"X"X"v <== CDICD UtCyUcUuT#YS =Q7RUUUU$~~~~~=~~~~~r