ó ïRec@s¾dZddlZddlZddlZddlZddlmZmZmZddl m Z m Z dgZ d„Z defd „ƒYZd „ZeƒZ[eƒZdd „ZdS( sG Parser for the environment markers micro-language defined in PEP 508. iÿÿÿÿNi(tpython_implementationturlparset string_types(tin_venvt parse_markert interpretcCs)t|tƒ s| rtS|ddkS(Nis'"(t isinstanceRtFalse(to((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyt _is_literalst EvaluatorcBs•eZdZi d„d6d„d6d„d6d„d6d „d 6d „d 6d „d6d„d6d„d6d„d6d„d6d„d6Zd„ZRS(s; This class is used to evaluate marker expessions. cCs ||kS(N((txty((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyt$ts==cCs ||kS(N((R R ((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR %Rs===cCs||kp||kS(N((R R ((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR &Rs~=cCs ||kS(N((R R ((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR 'Rs!=cCs ||kS(N((R R ((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR (RtcCs||kp||kS(N((R R ((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR +Rs>=cCs |o |S(N((R R ((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR ,RtandcCs |p |S(N((R R ((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR -RtorcCs ||kS(N((R R ((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR .RtincCs ||kS(N((R R ((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR /Rsnot inc Cs*t|tƒr[|ddkr/|dd!}q&||krNtd|ƒ‚n||}nËt|tƒspt‚|d}||jkrœtd|ƒ‚n|d}|d }t|dƒrìt|d ƒrìtd |||fƒ‚n|j||ƒ}|j||ƒ}|j|||ƒ}|S( sƒ Evaluate a marker expression returned by the :func:`parse_requirement` function in the specified context. is'"iiÿÿÿÿsunknown variable: %stopsop not implemented: %stlhstrhssinvalid comparison: %s %s %s( RRt SyntaxErrortdicttAssertionErrort operationstNotImplementedErrorR tevaluate( tselftexprtcontexttresultRtelhsterhsRR((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR2s$      (t__name__t __module__t__doc__RR(((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyR s            cCsàd„}ttdƒr9|tjjƒ}tjj}n d}d}i |d6|d6tjd6tjƒd6tjƒd 6tj ƒd 6tj ƒd 6tjƒd 6t t ƒƒd 6tj ƒd6tj ƒd d6tjd6}|S(NcSsSd|j|j|jf}|j}|dkrO||dt|jƒ7}n|S(Ns%s.%s.%stfinali(tmajortminortmicrot releaseleveltstrtserial(tinfotversiontkind((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pytformat_full_versionNs   timplementationt0Rtimplementation_nametimplementation_versiontos_nametplatform_machinetplatform_python_implementationtplatform_releasetplatform_systemtplatform_versiontplatform_in_venvtpython_full_versionitpython_versiont sys_platform(thasattrtsysR1R.tnametostplatformtmachineRtreleasetsystemR+RR=(R0R4R3R ((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pytdefault_contextMs(         cCs£yt|ƒ\}}Wn)tk rA}td||fƒ‚nX|rq|ddkrqtd||fƒ‚nttƒ}|r“|j|ƒntj||ƒS(sò Interpret a marker and return a result depending on environment. :param marker: The marker to interpret. :type marker: str :param execution_context: The context used for name lookup. :type execution_context: mapping s)Unable to interpret marker syntax: %s: %sit#s*unexpected trailing data in marker: %s: %s(Rt ExceptionRRtDEFAULT_CONTEXTtupdatet evaluatorR(tmarkertexecution_contextRtrestteR((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyRqs  (R%RBR@RCtretcompatRRRtutilRRt__all__R tobjectR RGRJRLtNoneR(((sŠ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/markers.pyt s      /