§
    îyIf”  ã                   ó  — d 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	 ddl
mZ dgZ ej        d¦  «        Zd	d
hZd„ Zd„ Zd„ Z G d„ de¦  «        Z ej        d¦  «        Zd„ Z e¦   «         Z[ e¦   «         Zdd„ZdS )zG
Parser for the environment markers micro-language defined in PEP 508.
é    Né   )Ústring_types)Úin_venvÚparse_marker)ÚLegacyVersionÚ	interpretz<((\d+(\.\d+)*\w*)|\'(\d+(\.\d+)*\w*)\'|\"(\d+(\.\d+)*\w*)\")Úpython_versionÚpython_full_versionc                 ó>   — t          | t          ¦  «        o| t          v S ©N)Ú
isinstancer   Ú_VERSION_MARKERS©Úss    úC/var/www/piapp/venv/lib/python3.11/site-packages/distlib/markers.pyÚ_is_version_markerr      s   € Ý�a�Ñ&Ô&Ð@¨1Õ0@Ð+@Ð@ó    c                 óH   — t          | t          ¦  «        r| sdS | d         dv S )NFr   ú'")r   r   )Úos    r   Ú_is_literalr   #   s.   € Ý�a�Ñ&Ô&ð ¨að ØˆuØˆQŒ4�5ˆ=Ðr   c                 óJ   — d„ t                                | ¦  «        D ¦   «         S )Nc                 ó\   — h | ])}t          |                     ¦   «         d          ¦  «        ’Œ*S )r   )ÚLVÚgroups)Ú.0Úms     r   ú	<setcomp>z _get_versions.<locals>.<setcomp>*   s,   € ÐDÐDÐD !�Bˆq�xŠx‰zŒz˜!Œ}ÑÔÐDÐDÐDr   )Ú_VERSION_PATTERNÚfinditerr   s    r   Ú_get_versionsr!   )   s%   € ØDÐDÕ'7×'@Ò'@ÀÑ'CÔ'CÐDÑDÔDÐDr   c                   óN   — e Zd ZdZd„ d„ d„ d„ d„ d„ d„ d	„ d
„ d„ d„ d„ dœZd„ ZdS )Ú	Evaluatorz<
    This class is used to evaluate marker expressions.
    c                 ó   — | |k    S r   © ©ÚxÚys     r   ú<lambda>zEvaluator.<lambda>3   ó
   € ˜1 š6€ r   c                 ó   — | |k    S r   r%   r&   s     r   r)   zEvaluator.<lambda>4   s
   € ˜A šF€ r   c                 ó   — | |k    p| |k    S r   r%   r&   s     r   r)   zEvaluator.<lambda>5   ó   € ˜1 š6˜? Q¨¢U€ r   c                 ó   — | |k    S r   r%   r&   s     r   r)   zEvaluator.<lambda>6   r*   r   c                 ó   — | |k     S r   r%   r&   s     r   r)   zEvaluator.<lambda>7   ó
   € ˜!˜aš%€ r   c                 ó   — | |k    p| |k     S r   r%   r&   s     r   r)   zEvaluator.<lambda>8   r-   r   c                 ó   — | |k    S r   r%   r&   s     r   r)   zEvaluator.<lambda>9   r0   r   c                 ó   — | |k    p| |k    S r   r%   r&   s     r   r)   zEvaluator.<lambda>:   r-   r   c                 ó
   — | o|S r   r%   r&   s     r   r)   zEvaluator.<lambda>;   s
   € ˜A˜G !€ r   c                 ó
   — | p|S r   r%   r&   s     r   r)   zEvaluator.<lambda><   s
   € ˜1˜6 € r   c                 ó
   — | |v S r   r%   r&   s     r   r)   zEvaluator.<lambda>=   s
   € ˜1 ˜6€ r   c                 ó
   — | |vS r   r%   r&   s     r   r)   zEvaluator.<lambda>>   s
   € ˜q¨˜z€ r   )ú==ú===ú~=ú!=ú<ú<=ú>ú>=ÚandÚorÚinúnot inc                 ó  — t          |t          ¦  «        r6|d         dv r|dd…         }�na||vrt          d|z  ¦  «        ‚||         }�nAt          |t          ¦  «        sJ ‚|d         }|| j        vrt          d|z  ¦  «        ‚|d         }|d	         }t          |d         ¦  «        r-t          |d	         ¦  «        rt          d
|›d|›d|›�¦  «        ‚|                      ||¦  «        }|                      ||¦  «        }t          |¦  «        st          |¦  «        r#|dv rt          |¦  «        }t          |¦  «        }n1t          |¦  «        r"|dv rt          |¦  «        }t          |¦  «        } | j        |         ||¦  «        }|S )zƒ
        Evaluate a marker expression returned by the :func:`parse_requirement`
        function in the specified context.
        r   r   r   éÿÿÿÿzunknown variable: %sÚopzop not implemented: %sÚlhsÚrhszinvalid comparison: ú )r<   r=   r>   r?   r9   r8   r;   r:   )rB   rC   )r   r   ÚSyntaxErrorÚdictÚ
operationsÚNotImplementedErrorr   Úevaluater   r   r!   )	ÚselfÚexprÚcontextÚresultrF   ÚelhsÚerhsrG   rH   s	            r   rN   zEvaluator.evaluateA   s½  € õ
 �d�LÑ)Ô)ð 	3Ø�AŒw˜%ÐÐØ˜a ˜dœ�‘à˜wÐ&Ð&Ý%Ð&<¸tÑ&CÑDÔDÐDØ  œ�‘å˜d¥DÑ)Ô)Ð)Ð)Ð)Ø�d”ˆBØ˜œÐ(Ð(Ý)Ð*BÀRÑ*GÑHÔHÐHØ˜”;ˆDØ˜”;ˆDÝ˜4 œ;Ñ'Ô'ð 4­K¸¸U¼Ñ,DÔ,Dð 4Ý!�kØ#' 4 4¨¨¨¨T¨Tð#3ñ 4ô 4ð 4ð —-’-  gÑ.Ô.ˆCØ—-’-  gÑ.Ô.ˆCÝ# DÑ)Ô)ð )Õ-?ÀÑ-EÔ-Eð )ØÐMÐMÐMÝ˜‘g”g�Ý˜‘g”g��Ý# DÑ)Ô)ð )¨bÐ4DÐ.DÐ.DÝ˜‘g”g�Ý# CÑ(Ô(�Ø(�T”_ RÔ(¨¨cÑ2Ô2ˆFØˆr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rL   rN   r%   r   r   r#   r#   -   sƒ   € € € € € ðð ð
 "Ð!Ø"Ð"Ø*Ð*Ø!Ð!ØÐØ*Ð*ØÐØ*Ð*Ø#Ð#Ø!Ð!Ø!Ð!Ø)Ð)ðð €Jð!ð !ð !ð !ð !r   r#   z\d+\.\d+c                  ó<  — d„ } t          t          d¦  «        r, | t          j        j        ¦  «        }t          j        j        }nd}d}t          j        ¦   «         }t                               |¦  «        }| 	                    d¦  «        }||t          j        t          j        ¦   «         t          j        ¦   «         t          j        ¦   «         t          j        ¦   «         t          j        ¦   «         t          t!          ¦   «         ¦  «        ||t          j        dœ}|S )Nc                 ó’   — | j         ›d| j        ›d| j        ›�}| j        }|dk    r ||d         t	          | j        ¦  «        z   z  }|S )Nú.Úfinalr   )ÚmajorÚminorÚmicroÚreleaselevelÚstrÚserial)ÚinfoÚversionÚkinds      r   Úformat_full_versionz,default_context.<locals>.format_full_versionj   sQ   € Ø $¤
 
 
¨D¬J¨J¨J¸¼
¸
ÐCˆØÔ ˆØ�7Š?ˆ?Ø�t˜A”w¥ T¤[Ñ!1Ô!1Ñ1Ñ1ˆGØˆr   ÚimplementationÚ0Ú r   )Úimplementation_nameÚimplementation_versionÚos_nameÚplatform_machineÚplatform_python_implementationÚplatform_releaseÚplatform_systemÚplatform_versionÚplatform_in_venvr
   r	   Úsys_platform)ÚhasattrÚsysrg   rd   ÚnameÚplatformr	   Ú_DIGITSÚmatchÚgroupÚosÚmachineÚpython_implementationÚreleaseÚsystemra   r   )rf   rk   rj   Úppvr   ÚpvrR   s          r   Údefault_contextr‚   h   sü   € ðð ð õ �sÐ$Ñ%Ô%ð !Ø!4Ð!4ÝÔÔ&ñ"(ô "(Ðå!Ô0Ô5ÐÐà!$ÐØ Ðå
Ô
!Ñ
#Ô
#€CÝ�Š�cÑÔ€AØ	
�Š�‰Œ€Bà2Ø"8Ý”7Ý$Ô,Ñ.Ô.Ý*2Ô*HÑ*JÔ*JÝ$Ô,Ñ.Ô.Ý#œ?Ñ,Ô,Ý$Ô,Ñ.Ô.Ý¥¡	¤	™NœNØ"ØÝœðð €Fð €Mr   c                 óJ  — 	 t          | ¦  «        \  }}n'# t          $ r}t          d| ›d|›�¦  «        ‚d}~ww xY w|r!|d         dk    rt          d| ›d|›�¦  «        ‚t          t          ¦  «        }|r|                     |¦  «         t                               ||¦  «        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: z: Nr   ú#z$unexpected trailing data in marker: )r   Ú	ExceptionrJ   rK   ÚDEFAULT_CONTEXTÚupdateÚ	evaluatorrN   )ÚmarkerÚexecution_contextrP   ÚrestÚerQ   s         r   r   r   “   sÕ   € ð'Ý! &Ñ)Ô)‰
ˆˆdˆdøÝð 'ð 'ð 'ÝˆkØ!˜6˜6 1 1ð&ñ 'ô 'ð 	'øøøøð'øøøð ð *��Q”˜3’�ÝˆkØ!˜6˜6 4 4ð)ñ *ô *ð 	*å•?Ñ#Ô#€GØð *Ø�ŠÐ(Ñ)Ô)Ð)Ý×Ò˜d GÑ,Ô,Ð,s   ‚ •
9Ÿ4´9r   )rX   r{   Úreru   rw   Úcompatr   Úutilr   r   rd   r   r   Ú__all__Úcompiler   r   r   r   r!   Úobjectr#   rx   r‚   r†   rˆ   r   r%   r   r   ú<module>r“      sY  ððð ð 
€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø €€€à  Ð  Ð  Ð  Ð  Ð  Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø (Ð (Ð (Ð (Ð (Ð (àˆ-€à�2”:ØCñEô EÐ à$Ð&;Ð<Ð ðAð Að Aðð ð ðEð Eð Eð5ð 5ð 5ð 5ð 5�ñ 5ô 5ð 5ðp ˆ"Œ*�[Ñ
!Ô
!€ð"ð "ð "ðJ "�/Ñ#Ô#€ØàˆI‰KŒK€	ð-ð -ð -ð -ð -ð -r   