§
    ZŠtjJP  ã            	      ó†  — U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ	 d dl
mZmZmZmZmZmZ ddlmZmZmZmZmZ ddlmZ ddlmZ dd	lmZmZ dd
lmZ erd dlm Z  g d¢Z!dJd„Z"ee#ee#e	e#         f         ge$f         Z%ed         Z&	 ddhZ'h d£Z( G d„ de)¦  «        Z* G d„ de)¦  «        Z+ G d„ de,¦  «        Z- G d„ de¦  «        Z.dKd„Z/dLd!„Z0	 dMdNd(„Z1d)„ d*„ d+„ ej2        ej2        ej3        ej2        d,„ d-œZ4d.e5d/<   dOd7„Z6dPd9„Z7dQd<„Z8dRd>„Z9dSdA„Z:ej;        dTdB„¦   «         Z<dTdC„Z= G dD„ dE¦  «        Z>dUdG„Z?dVdI„Z@dS )Wé    )ÚannotationsN)ÚSet)ÚTYPE_CHECKINGÚCallableÚLiteralÚ	TypedDictÚUnionÚcasté   )Ú
MarkerAtomÚ
MarkerListÚOpÚValueÚVariable)Úparse_marker)ÚParserSyntaxError)ÚInvalidSpecifierÚ	Specifier©Úcanonicalize_name)ÚMapping)ÚEnvironmentÚEvaluateContextÚInvalidMarkerÚMarkerÚUndefinedComparisonÚUndefinedEnvironmentNameÚdefault_environmentÚreturnú	list[str]c                 ó   — t           S ©N)Ú__all__© ó    úO/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/packaging/markers.pyÚ__dir__r'   #   s   € Ý€Nr%   )ÚmetadataÚ	lock_fileÚrequirementÚextrasÚdependency_groups>   Úpython_versionÚplatform_releaseÚpython_full_versionÚimplementation_versionc                  ó   — e Zd ZdZdS )r   zëRaised when attempting to create a :class:`Marker` from invalid input.

    This error indicates that the given marker string does not conform to the
    :ref:`specification of dependency specifiers <pypug:dependency-specifiers>`.
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r$   r%   r&   r   r   =   s   € € € € € ðð ð ð r%   r   c                  ó   — e Zd ZdZdS )r   zçRaised when evaluating an unsupported marker comparison.

    This can happen when marker values are compared as versions but do not
    conform to the :ref:`specification of version specifiers
    <pypug:version-specifiers>`.
    Nr2   r$   r%   r&   r   r   E   s   € € € € € ðð ð ð r%   r   c                  ó   — e Zd ZdZdS )r   aÍ  Raised when evaluating a marker that references a missing environment key.

    Subclasses :class:`KeyError` so that code catching the bare ``KeyError`` that
    a missing environment lookup historically produced keeps working.

    .. versionchanged:: 26.3
        Now subclasses :class:`KeyError` (was :class:`ValueError`) and is raised by
        :meth:`Marker.evaluate` for missing environment keys, where a bare
        ``KeyError`` was raised before.
    Nr2   r$   r%   r&   r   r   N   s   € € € € € ð	ð 	ð 	ð 	r%   r   c                  ó–   — e Zd ZU dZded<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded	<   	 ded
<   	 ded<   	 ded<   	 ded<   dS )r   z„
    A dictionary that represents a Python environment as captured by
    :func:`default_environment`. All fields are required.
    ÚstrÚimplementation_namer0   Úos_nameÚplatform_machiner.   Úplatform_systemÚplatform_versionr/   Úplatform_python_implementationr-   Úsys_platformN)r3   r4   r5   r6   Ú__annotations__r$   r%   r&   r   r   [   sá   € € € € € € ðð ð
 ÐÐÑØ>àÐÐÑðð
 €L€L�Lðð
 ÐÐÑðð ÐÐÑðð ÐÐÑðð ÐÐÑðð ÐÐÑðð (Ð'Ð'Ñ'ðð ÐÐÑØ9àÐÐÑðð r%   r   ÚresultúMarkerList | MarkerAtom | strc                óž  — t          | t          ¦  «        rd„ | D ¦   «         S t          | t          ¦  «        s| S | \  }}}t          |t          ¦  «        rD|j        dk    r9t          |t
          ¦  «        r$t          |j        ¦  «        }t          |¦  «        }n²t          |t          ¦  «        rD|j        dk    r9t          |t
          ¦  «        r$t          |j        ¦  «        }t          |¦  «        }nYt          |t          ¦  «        rD|j        t          v r6t          |t
          ¦  «        r!t          t          |j        ¦  «        ¦  «        }|||fS )Nc                ó,   — g | ]}t          |¦  «        ‘ŒS r$   ©Ú_normalize_extras©Ú.0Úrs     r&   ú
<listcomp>z%_normalize_extras.<locals>.<listcomp>¬   s!   € Ð5Ð5Ð5¨Õ! !Ñ$Ô$Ð5Ð5Ð5r%   Úextra)Ú
isinstanceÚlistÚtupler   Úvaluer   r   ÚMARKERS_ALLOWING_SET)rC   ÚlhsÚopÚrhsÚnormalized_extras        r&   rH   rH   ¨   s?  € õ �&�$ÑÔð 6Ø5Ð5¨fÐ5Ñ5Ô5Ð5Ý�f�eÑ$Ô$ð Øˆà�L€CˆˆSÝ�#•xÑ Ô ð 2 S¤Y°'Ò%9Ð%9½jÈÍeÑ>TÔ>TÐ%9Ý,¨S¬YÑ7Ô7ÐÝÐ$Ñ%Ô%ˆˆÝ	�C�Ñ	"Ô	"ð 2 s¤y°GÒ';Ð';Å
È3ÕPUÑ@VÔ@VÐ';Ý,¨S¬YÑ7Ô7ÐÝÐ$Ñ%Ô%ˆˆå�3�Ñ!Ô!ð2àŒIÕ-Ð-Ð-Ý�s�EÑ"Ô"ð .õ Õ% c¤iÑ0Ô0Ñ1Ô1ˆØ��Cˆ<Ðr%   Úresultsr   c                ó   — d„ | D ¦   «         S )z!
    Normalize extra values.
    c                ó,   — g | ]}t          |¦  «        ‘ŒS r$   rG   rI   s     r&   rL   z+_normalize_extra_values.<locals>.<listcomp>Ë   s!   € Ð2Ð2Ð2 QÕ˜aÑ Ô Ð2Ð2Ð2r%   r$   )rW   s    r&   Ú_normalize_extra_valuesrZ   Æ   s   € ð
 3Ð2¨'Ð2Ñ2Ô2Ð2r%   TÚmarkerúlist[str] | MarkerAtom | strÚfirstúbool | Noner:   c                ó  — t          | t          t          t          f¦  «        sJ ‚t          | t          ¦  «        rLt	          | ¦  «        dk    r9t          | d         t          t          f¦  «        rt          | d         |¬¦  «        S t          | t          ¦  «        r>d„ | D ¦   «         }|rd                     |¦  «        S dd                     |¦  «        z   dz   S t          | t          ¦  «        rd                     d„ | D ¦   «         ¦  «        S | S )	Nr   r   ©r]   c              3  ó8   K  — | ]}t          |d ¬¦  «        V — ŒdS )Fr`   N)Ú_format_marker©rJ   Úms     r&   ú	<genexpr>z!_format_marker.<locals>.<genexpr>Ý   s/   è è € Ð@Ð@°A• ¨Ð/Ñ/Ô/Ð@Ð@Ð@Ð@Ð@Ð@r%   ú ú(ú)c                ó6   — g | ]}|                      ¦   «         ‘ŒS r$   )Ú	serializerc   s     r&   rL   z"_format_marker.<locals>.<listcomp>ã   s    € Ð7Ð7Ð7¨1˜Ÿš™œÐ7Ð7Ð7r%   )rN   rO   rP   r:   Úlenrb   Újoin)r[   r]   Úinners      r&   rb   rb   Î   s  € õ �f�t¥U­CÐ0Ñ1Ô1Ð1Ð1Ð1õ
 	�6�4Ñ Ô ð6å�‰KŒK˜1ÒÐÝ�v˜a”y¥4­ -Ñ0Ô0ð õ ˜f Qœi¨uÐ5Ñ5Ô5Ð5å�&�$ÑÔð 	Ø@Ð@¸Ð@Ñ@Ô@ˆØð 	/Ø—8’8˜E‘?”?Ð"à˜Ÿš %™œÑ(¨3Ñ.Ð.Ý	�F�EÑ	"Ô	"ð Ø�xŠxÐ7Ð7°Ð7Ñ7Ô7Ñ8Ô8Ð8àˆr%   c                ó
   — | |v S r"   r$   ©rS   rU   s     r&   ú<lambda>rp   é   s
   € ˜3 #˜:€ r%   c                ó
   — | |vS r"   r$   ro   s     r&   rp   rp   ê   s
   € ˜s¨#˜~€ r%   c                ó   — dS ©NFr$   ©Ú_lhsÚ_rhss     r&   rp   rp   ë   ó   € ˜E€ r%   c                ó   — dS rs   r$   rt   s     r&   rp   rp   ð   rw   r%   )Úinznot inú<z<=z==z!=z>=ú>zdict[str, Operator]Ú
_operatorsrS   rT   r   rU   ústr | AbstractSet[str]ÚkeyÚboolc          	     ó4  — |                      ¦   «         }|t          v r;	 t          |› |› �¦  «        }|                     | d¬¦  «        S # t          $ r Y nw xY wt
                               |¦  «        }|€t          d|›d| ›d|›d�¦  «        ‚ || |¦  «        S )NT)Úprereleasesz
Undefined z on z and ú.)rj   ÚMARKERS_REQUIRING_VERSIONr   Úcontainsr   r|   Úgetr   )rS   rT   rU   r~   Úop_strÚspecÚopers          r&   Ú_eval_opr‰   ô   sÄ   € Ø�\Š\‰^Œ^€FØ
Õ'Ð'Ð'ð	8Ý Ð-¨Ð-Ð-Ñ.Ô.ˆDð —=’= °$�=Ñ7Ô7Ð7øõ  ð 	ð 	ð 	ØˆDð	øøøõ
 'ŸNšN¨6Ñ2Ô2€DØ€|Ý!Ð"M¨rÐ"MÐ"M¸Ð"MÐ"MÀSÐ"MÐ"MÐ"MÑNÔNÐNàˆ4��S‰>Œ>Ðs   ŸA	 Á	
AÁAú"tuple[str, str | AbstractSet[str]]c                ó
  — |dk    r#t          |t          ¦  «        s
J d¦   «         ‚| |fS |t          v rNt          |t          ¦  «        rt          | ¦  «        t          |¦  «        fS t          | ¦  «        d„ |D ¦   «         fS | |fS )NrM   zextra value must be a stringc                ó,   — h | ]}t          |¦  «        ’ŒS r$   r   )rJ   Úvs     r&   ú	<setcomp>z_normalize.<locals>.<setcomp>  s!   € Ð,OÐ,OÐ,OÀaÕ->¸qÑ-AÔ-AÐ,OÐ,OÐ,Or%   )rN   r:   rR   r   )rS   rU   r~   s      r&   Ú
_normalizer�     sž   € ð ˆg‚~€~Ý˜#�sÑ#Ô#ÐCÐCÐ%CÑCÔCÐ#à�SˆzÐØ
Õ"Ð"Ð"Ý�c�3ÑÔð 	QÝ% cÑ*Ô*Õ,=¸cÑ,BÔ,BÐCÐCå% cÑ*Ô*Ð,OÐ,OÈ3Ð,OÑ,OÔ,OÐPÐPð �ˆ8€Or%   Úenvironmentú!dict[str, str | AbstractSet[str]]c                óP   — 	 | |         S # t           $ r t          |¦  «        d ‚w xY wr"   )ÚKeyErrorr   )r�   r~   s     r&   Ú_lookup_environmentr”     s=   € ð6Ø˜3ÔÐøÝð 6ð 6ð 6Ý& sÑ+Ô+°Ð5ð6øøøs   ‚
 Š%Úmarkersc           
     ó  — g g}| D �]g}t          |t          ¦  «        r*|d                              t          ||¦  «        ¦  «         ŒBt          |t          ¦  «        rÛ|\  }}}t          |t
          ¦  «        r|j        }t          ||¦  «        }|j        }	n|j        }|j        }t          ||¦  «        }	t          |t          ¦  «        s+t          d|›d|› d| 
                    ¦   «         ›d�¦  «        ‚t          ||	|¬¦  «        \  }}	|d                              t          |||	|¬¦  «        ¦  «         �Œ2|dk    r|                     g ¦  «         �ŒO|dk    r�ŒWt          d	|›�¦  «        ‚t          d
„ |D ¦   «         ¦  «        S )NéÿÿÿÿzSet-valued marker z= can only be used with the membership form (e.g. "<name>" in z-); it cannot appear on the left-hand side of r‚   )r~   ÚorÚandzUnexpected marker c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r"   )Úall)rJ   Úitems     r&   re   z$_evaluate_markers.<locals>.<genexpr>G  s(   è è € Ð,Ð,˜T�s�4‰yŒyÐ,Ð,Ð,Ð,Ð,Ð,r%   )rN   rO   ÚappendÚ_evaluate_markersrP   r   rQ   r”   r:   r   rj   r�   r‰   Ú	TypeErrorÚany)
r•   r�   Úgroupsr[   rS   rT   rU   Úenvironment_keyÚ	lhs_valueÚ	rhs_values
             r&   rž   rž   #  sÁ  € ð !#˜t€Fàð =ñ =ˆÝ�f�dÑ#Ô#ð 	=Ø�2ŒJ×ÒÕ/°¸ÑDÔDÑEÔEÐEÐEÝ˜¥Ñ&Ô&ð 	=Ø!‰LˆC��Så˜#�xÑ(Ô(ð NØ"%¤)�Ý/°¸_ÑMÔM�	ØœI�	�	àœI�	Ø"%¤)�Ý/°¸_ÑMÔM�	å˜i­Ñ-Ô-ð Ý)ð3¨ð 3ð 3à&ð3ð 3ð  "Ÿ|š|™~œ~ð3ð 3ð 3ñô ð õ $.¨i¸ÈÐ#XÑ#XÔ#XÑ ˆI�yØ�2ŒJ×Ò�h y°"°iÀ_ÐUÑUÔUÑVÔVÐVÑVØ�tŠ^ˆ^Ø�MŠM˜"ÑÔÐÑØ�uŠ_ˆ_ÙåÐ;°Ð;Ð;Ñ<Ô<Ð<åÐ,Ð, VÐ,Ñ,Ô,Ñ,Ô,Ð,r%   Úinfoúsys._version_infoc                ó’   — | j         › d| j        › d| j        › �}| j        }|dk    r ||d         t	          | j        ¦  «        z   z  }|S )Nr‚   Úfinalr   )ÚmajorÚminorÚmicroÚreleaselevelr:   Úserial)r¥   ÚversionÚkinds      r&   Ú_format_full_versionr°   J  sV   € Ø”Ð7Ð7˜dœjÐ7Ð7¨4¬:Ð7Ð7€GØÔ€DØˆw‚€Ø�4˜”7�S ¤Ñ-Ô-Ñ-Ñ-ˆØ€Nr%   c                 óÈ  — t          t          j        j        ¦  «        } t          j        j        }|| t
          j        t          j        ¦   «         t          j        ¦   «         t          j	        ¦   «         t          j        ¦   «         t          j
        ¦   «         t          j        ¦   «         d                     t          j        ¦   «         dd…         ¦  «        t          j        dœS )aV  Build the default marker environment for the current Python process.

    The values are derived from process-constant data (the running interpreter
    and the host platform), so this is cached and built only once. The result is
    shared between callers and must never be mutated; :func:`default_environment`
    returns a fresh copy.
    r‚   Né   )r;   r0   r<   r=   r.   r>   r?   r/   r@   r-   rA   )r°   ÚsysÚimplementationr®   ÚnameÚosÚplatformÚmachineÚreleaseÚsystemr-   Úpython_implementationrl   Úpython_version_tuple)Úiverr;   s     r&   Ú_cached_default_environmentr¾   R  sª   € õ  ¥Ô 2Ô :Ñ;Ô;€DÝÔ,Ô1Ðà2Ø"&Ý”7Ý$Ô,Ñ.Ô.Ý$Ô,Ñ.Ô.Ý#œ?Ñ,Ô,Ý$Ô,Ñ.Ô.Ý'Ô6Ñ8Ô8Ý*2Ô*HÑ*JÔ*JØŸ(š(¥8Ô#@Ñ#BÔ#BÀ2ÀAÀ2Ô#FÑGÔGÝœðð ð r%   c                 óT   — t          dt          t          ¦   «         ¦  «        ¦  «        S )ay  Return the default marker environment for the current Python process.

    This is the base environment used by :meth:`Marker.evaluate`. A fresh copy
    is returned on every call so callers may freely mutate the result; a shallow
    copy suffices because all values are immutable strings.

    .. versionchanged:: 26.3
        The environment is computed once per process and cached, since it is
        derived from process-constant data. Patching ``platform``/``sys``/``os``
        after the first call has no effect; pass an explicit ``environment`` to
        :meth:`Marker.evaluate` to evaluate against different values.
    r   )r
   Údictr¾   r$   r%   r&   r   r   l  s#   € õ ��tÕ$?Ñ$AÔ$AÑBÔBÑCÔCÐCr%   c                  ó„   — e Zd ZdZdZdd„Zed d
„¦   «         Zd!d„Zd!d„Z	d"d„Z
d#d„Zd!d„Zd$d„Zd%d„Zd%d„Z	 	 d&d'd„ZdS )(r   aê  Represents a parsed dependency marker expression.

    Marker expressions are parsed according to the
    :ref:`specification of dependency specifiers <pypug:dependency-specifiers>`.

    :param marker: The string representation of a marker expression.
    :raises InvalidMarker: If ``marker`` cannot be parsed.

    Instances are safe to serialize with :mod:`pickle`. They use a stable
    format so the same pickle can be loaded in future packaging releases.

    .. versionchanged:: 26.2

        Added a stable pickle format. Pickles created with packaging 26.2+ can
        be unpickled with future releases.  Backward compatibility with pickles
        from packaging < 26.2 is supported but may be removed in a future
        release.
    )Ú_markersr[   r:   r   ÚNonec                ó¶   — g | _         	 t          t          |¦  «        ¦  «        | _         d S # t          $ r"}t	          t          |¦  «        ¦  «        |‚d }~ww xY wr"   )rÂ   rZ   Ú_parse_markerr   r   r:   )Úselfr[   Úes      r&   Ú__init__zMarker.__init__’  sb   € ð %'ˆŒð	/Ý3µMÀ&Ñ4IÔ4IÑJÔJˆDŒMˆMˆMøõ" !ð 	/ð 	/ð 	/Ý¥ A¡¤Ñ'Ô'¨QÐ.øøøøð	/øøøs   ‰!, ¬
A¶AÁAr•   r   c                ó>   — |                       | ¦  «        }||_        |S )z’Create a Marker instance from a pre-parsed marker tree.

        This avoids re-parsing serialised marker strings when combining markers.
        )Ú__new__rÂ   )Úclsr•   Únews      r&   Ú_from_markerszMarker._from_markers°  s!   € ð �kŠk˜#ÑÔˆØˆŒØˆ
r%   c                ó*   — t          | j        ¦  «        S r"   )rb   rÂ   ©rÆ   s    r&   Ú__str__zMarker.__str__º  s   € Ý˜dœmÑ,Ô,Ð,r%   c                óB   — d| j         j        › dt          | ¦  «        ›d�S )Nrz   rg   z)>)Ú	__class__r3   r:   rÏ   s    r&   Ú__repr__zMarker.__repr__½  s&   € Ø<�4”>Ô*Ð<Ð<­S°©Y¬YÐ<Ð<Ð<Ð<r%   Úintc                ó:   — t          t          | ¦  «        ¦  «        S r"   )Úhashr:   rÏ   s    r&   Ú__hash__zMarker.__hash__À  s   € Ý•C˜‘I”I‰ŒÐr%   ÚotherÚobjectr   c                óz   — t          |t          ¦  «        st          S t          | ¦  «        t          |¦  «        k    S r"   )rN   r   ÚNotImplementedr:   ©rÆ   rØ   s     r&   Ú__eq__zMarker.__eq__Ã  s1   € Ý˜%¥Ñ(Ô(ð 	"Ý!Ð!å�4‰yŒy�C ™JœJÒ&Ð&r%   c                ó    — t          | ¦  «        S r"   )r:   rÏ   s    r&   Ú__getstate__zMarker.__getstate__É  s   € õ �4‰yŒyÐr%   Ústatec                ó:  — t          |t          ¦  «        rJ	 t          t          |¦  «        ¦  «        | _        n%# t
          $ r}t          d|›�¦  «        |‚d }~ww xY wd S t          |t          ¦  «        r*d|v r&|d         }t          |t          ¦  «        r	|| _        d S t          |t          ¦  «        rWt          |¦  «        dk    rD|\  }}t          |t          ¦  «        r*d|v r&|d         }t          |t          ¦  «        r	|| _        d S t          d|›�¦  «        ‚)NzCannot restore Marker from rÂ   r²   )rN   r:   rZ   rÅ   rÂ   r   rŸ   rÀ   rO   rP   rk   )rÆ   rà   Úexcr•   Ú_Ú	slot_dicts         r&   Ú__setstate__zMarker.__setstate__Î  s<  € Ý�e�SÑ!Ô!ð 	ðRÝ 7½ÀeÑ8LÔ8LÑ MÔ M�”�øÝ$ð Rð Rð RÝÐ G¸eÐ GÐ GÑHÔHÈcÐQøøøøðRøøøàˆFÝ�e�TÑ"Ô"ð 	 z°UÐ':Ð':à˜JÔ'ˆGÝ˜'¥4Ñ(Ô(ð Ø '�”Ø�Ý�e�UÑ#Ô#ð 	­¨E©
¬
°aª¨à ‰LˆAˆyÝ˜)¥TÑ*Ô*ð ¨z¸YÐ/FÐ/FØ# JÔ/�Ý˜g¥tÑ,Ô,ð Ø$+�D”MØ�FÝÐ?°eÐ?Ð?Ñ@Ô@Ð@s   —!9 ¹
AÁAÁAc                ó~   — t          |t          ¦  «        st          S |                      | j        d|j        g¦  «        S )zXCombine this marker with another using ``and``.

        .. versionadded:: 26.1
        r™   ©rN   r   rÛ   rÍ   rÂ   rÜ   s     r&   Ú__and__zMarker.__and__æ  s;   € õ
 ˜%¥Ñ(Ô(ð 	"Ý!Ð!Ø×!Ò! 4¤=°%¸¼Ð"HÑIÔIÐIr%   c                ó~   — t          |t          ¦  «        st          S |                      | j        d|j        g¦  «        S )zWCombine this marker with another using ``or``.

        .. versionadded:: 26.1
        r˜   rç   rÜ   s     r&   Ú__or__zMarker.__or__ï  s;   € õ
 ˜%¥Ñ(Ô(ð 	"Ý!Ð!Ø×!Ò! 4¤=°$¸¼Ð"GÑHÔHÐHr%   Nr(   r�   ú+Mapping[str, str | AbstractSet[str]] | NoneÚcontextr   c                óP  — t          dt          ¦   «         ¦  «        }|dk    r!|t          ¦   «         t          ¦   «         dœz  }n|dk    rd|d<   |�5||z  }d|v r,t          d|d         ¦  «        }|rt          |¦  «        nd|d<   t	          | j        t          |¦  «        ¦  «        S )	a¶  Evaluate a marker.

        Return the boolean from evaluating this marker against the environment.
        The environment is determined from the current Python process unless
        passed in explicitly.

        :param environment: Mapping containing keys and values to override the
           detected environment.
        :param EvaluateContext context: The context in which the marker is
            evaluated, which influences what marker names are considered valid.
            Accepted values are ``"metadata"`` (for core metadata; default),
            ``"lock_file"``, and ``"requirement"`` (i.e. all other situations).
        :raises UndefinedComparison: If the marker uses a comparison on values
            that are not valid versions per the :ref:`specification of version
            specifiers <pypug:version-specifiers>`.
        :raises UndefinedEnvironmentName: If the marker references a value that
            is missing from the evaluation environment.
        :returns: ``True`` if the marker matches, otherwise ``False``.

        .. versionchanged:: 25.0
            Added the ``context`` parameter, which influences which marker names
            are considered valid.
        r‘   r)   )r+   r,   r(   Ú rM   Nz
str | None)r
   r   Ú	frozensetr   rž   rÂ   Ú_repair_python_full_version)rÆ   r�   rì   Úcurrent_environmentrM   s        r&   ÚevaluatezMarker.evaluateø  sá   € õ8 #Ø/Õ1DÑ1FÔ1Fñ
ô 
Ðð �kÒ!Ð!ØÝ#™+œ+Ý%.¡[¤[ð$ð $ñ ÐÐð ˜
Ò"Ð"Ø+-Ð Ñ(àÐ"Ø ;Ñ.ÐØÐ-Ð-Ð-õ ˜\Ð+>¸wÔ+GÑHÔH�ØKPÐ/XÕ/@ÀÑ/GÔ/GÐ/GÐVXÐ# GÑ,å ØŒMÕ6Ð7JÑKÔKñ
ô 
ð 	
r%   )r[   r:   r   rÃ   )r•   r   r   r   )r   r:   )r   rÔ   )rØ   rÙ   r   r   )rà   rÙ   r   rÃ   )rØ   r   r   r   )Nr(   )r�   rë   rì   r   r   r   )r3   r4   r5   r6   Ú	__slots__rÈ   ÚclassmethodrÍ   rÐ   rÓ   r×   rÝ   rß   rå   rè   rê   rò   r$   r%   r&   r   r   |  s(  € € € € € ðð ð& €Ið/ð /ð /ð /ð< ðð ð ñ „[ðð-ð -ð -ð -ð=ð =ð =ð =ðð ð ð ð'ð 'ð 'ð 'ðð ð ð ð
Að Að Að Að0Jð Jð Jð JðIð Ið Ið Ið DHØ#-ð2
ð 2
ð 2
ð 2
ð 2
ð 2
ð 2
r%   r   r/   c                ó:   — |                       d¦  «        r| › d�S | S )úƒ
    Work around platform.python_version() returning something that is not PEP 440
    compliant for non-tagged Python builds.
    ú+Úlocal)Úendswith)r/   s    r&   Ú_pep440_python_full_versionrú   -  s/   € ð
 ×#Ò# CÑ(Ô(ð -Ø%Ð,Ð,Ð,Ð,ØÐr%   Úenvc                óV   — t          d| d         ¦  «        }t          |¦  «        | d<   | S )rö   r:   r/   )r
   rú   )rû   r/   s     r&   rð   rð   7  s3   € õ ˜u cÐ*?Ô&@ÑAÔAÐÝ!<Ð=PÑ!QÔ!Q€CÐÑØ€Jr%   )r   r    )rC   rD   r   rD   )rW   r   r   r   )T)r[   r\   r]   r^   r   r:   )
rS   r:   rT   r   rU   r}   r~   r:   r   r   )rS   r:   rU   r}   r~   r:   r   rŠ   )r�   r‘   r~   r:   r   r}   )r•   r   r�   r‘   r   r   )r¥   r¦   r   r:   )r   r   )r/   r:   r   r:   )rû   r‘   r   r‘   )AÚ
__future__r   Ú	functoolsÚoperatorr¶   r·   r³   Úcollections.abcr   ÚAbstractSetÚtypingr   r   r   r   r	   r
   Ú_parserr   r   r   r   r   r   rÅ   Ú
_tokenizerr   Ú
specifiersr   r   Úutilsr   r   r#   r'   r:   r   ÚOperatorr   rR   rƒ   Ú
ValueErrorr   r   r“   r   r   rH   rZ   rb   ÚeqÚner|   rB   r‰   r�   r”   rž   r°   Úcacher¾   r   r   rú   rð   r$   r%   r&   ú<module>r     sã  ðð
 #Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø 
€
€
€
Ø .Ð .Ð .Ð .Ð .Ð .Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ Kà @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø )Ð )Ð )Ð )Ð )Ð )Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø $Ð $Ð $Ð $Ð $Ð $àð (Ø'Ð'Ð'Ð'Ð'Ð'ðð ð €ðð ð ð ð �S˜%  [°Ô%5Ð 5Ô6Ð7¸Ð=Ô>€ØÐ@ÔA€ð	ð !Ð"5Ð6Ð ðð ð Ð ðð ð ð ð �Jñ ô ð ðð ð ð ð ˜*ñ ô ð ð
ð 
ð 
ð 
ð 
˜xñ 
ô 
ð 
ðJð Jð Jð Jð J�)ñ Jô Jð JðZð ð ð ð<3ð 3ð 3ð 3ð @Dðð ð ð ð ð6 &Ð
%Ø-Ð-Ø	!Ð	!Ø
Œ+Ø
Œ+Ø
Œ+Ø
Œ+Ø	!Ð	!ð	#ð 	#€
ð 	ð 	ð 	ñ 	ðð ð ð ð"ð ð ð ð*6ð 6ð 6ð 6ð$-ð $-ð $-ð $-ðNð ð ð ð „ðð ð ñ „ðð2Dð Dð Dð Dð n
ð n
ð n
ð n
ð n
ñ n
ô n
ð n
ðbð ð ð ð	ð 	ð 	ð 	ð 	ð 	r%   