£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

Re#                 @   s   d  Z  d d l Z d d l Z d d l Z d d l Z d d l m Z m Z m Z d d l	 m
 Z
 m Z d g Z d d   Z Gd	 d
   d
 e  Z d d   Z e   Z [ e   Z d d d  Z d S)zG
Parser for the environment markers micro-language defined in PEP 508.
    N   )python_implementationurlparsestring_types)in_venvparse_marker	interpretc             C   s)   t  |  t  s |  r d S|  d d k S)NFr   z'")
isinstancer   )o r   /builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/distlib/markers.py_is_literal   s    r   c               @   s   e  Z d  Z d Z d d d   d d d   d d d   d	 d
 d   d d d   d d d   d d d   d d d   d d d   d d d   d d d   d d d   i Z d d   Z d S)	Evaluatorz;
    This class is used to evaluate marker expessions.
    z==c             C   s
   |  | k S)Nr   )xyr   r   r   <lambda>$   s    zEvaluator.<lambda>z===c             C   s
   |  | k S)Nr   )r   r   r   r   r   r   %   s    z~=c             C   s   |  | k p |  | k S)Nr   )r   r   r   r   r   r   &   s    z!=c             C   s
   |  | k S)Nr   )r   r   r   r   r   r   '   s    <c             C   s
   |  | k  S)Nr   )r   r   r   r   r   r   (   s    z<=c             C   s   |  | k p |  | k  S)Nr   )r   r   r   r   r   r   )   s    >c             C   s
   |  | k S)Nr   )r   r   r   r   r   r   *   s    z>=c             C   s   |  | k p |  | k S)Nr   )r   r   r   r   r   r   +   s    andc             C   s
   |  o	 | S)Nr   )r   r   r   r   r   r   ,   s    orc             C   s
   |  p	 | S)Nr   )r   r   r   r   r   r   -   s    inc             C   s
   |  | k S)Nr   )r   r   r   r   r   r   .   s    znot inc             C   s
   |  | k S)Nr   )r   r   r   r   r   r   /   s    c       	      C   s$  t  | t  r[ | d d k r2 | d d
  } q | | k rN t d |   | | } n t  | t  sp t  | d } | |  j k r t d |   | d } | d } t | d  r t | d  r t d	 | | | f   |  j | |  } |  j | |  } |  j | | |  } | S)z
        Evaluate a marker expression returned by the :func:`parse_requirement`
        function in the specified context.
        r   z'"r   zunknown variable: %sopzop not implemented: %slhsrhszinvalid comparison: %s %s %s)	r	   r   SyntaxErrordictAssertionError
operationsNotImplementedErrorr   evaluate)	selfexprcontextresultr   ZelhsZerhsr   r   r   r   r   r    2   s$    


 zEvaluator.evaluateN)__name__
__module____qualname____doc__r   r    r   r   r   r   r      s   r   c              C   s   d d   }  t  t d  r< |  t j j  } t j j } n d } d } d | d | d t j d	 t j   d
 t j   d t j	   d t j
   d t j   d t t    d t j   d t j   d  d  d t j i } | S)Nc             S   sP   d |  j  |  j |  j f } |  j } | d k rL | | d t |  j  7} | S)Nz%s.%s.%sfinalr   )majorminormicroreleaselevelstrserial)infoversionkindr   r   r   format_full_versionN   s
    	z,default_context.<locals>.format_full_versionimplementation0 implementation_nameimplementation_versionos_nameplatform_machineplatform_python_implementationplatform_releaseplatform_systemplatform_versionZplatform_in_venvpython_full_versionpython_version   sys_platform)hasattrsysr4   r1   nameosplatformmachiner   releasesystemr.   r   r@   )r3   r8   r7   r$   r   r   r   default_contextM   s&    	rK   c             C   s   y t  |   \ } } Wn; t k
 rS } z t d |  | f   WYd d } ~ Xn X| r | d d k r t d |  | f   t t  } | r | j |  t j | |  S)z
    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
    z)Unable to interpret marker syntax: %s: %sNr   #z*unexpected trailing data in marker: %s: %s)r   	Exceptionr   r   DEFAULT_CONTEXTupdate	evaluatorr    )markerZexecution_contextr"   rester#   r   r   r   r   q   s    	))r(   rF   rD   rG   recompatr   r   r   utilr   r   __all__r   objectr   rK   rN   rP   r   r   r   r   r   <module>	   s   	/		