<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</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   	/		