
    h/              	      n   % S SK Jr  S SKrS SKrS SKrS SKrS SKJrJrJ	r	J
r
JrJrJr  SSKJrJrJrJrJr  SSKJr  SSKJr  SSKJrJr  SS	KJr  / S
Qr\	\\\\\   4   /\4   r \
S   r!SS1r" " S S\#5      r$ " S S\#5      r% " S S\#5      r& " S S\5      r'S%S jr( S&     S'S jjr)S S \RT                  \RV                  \RX                  \RZ                  \R\                  \R^                  S.r0S\1S'   S(S jr2        S)S jr3      S*S jr4S+S  jr5S,S! jr6 " S" S#5      r7    S-S$ jr8g).    )annotationsN)AbstractSetAnyCallableLiteral	TypedDictUnioncast   )
MarkerAtom
MarkerListOpValueVariable)parse_marker)ParserSyntaxError)InvalidSpecifier	Specifier)canonicalize_name)EvaluateContextInvalidMarkerMarkerUndefinedComparisonUndefinedEnvironmentNamedefault_environment)metadata	lock_filerequirementextrasdependency_groupsc                      \ rS rSrSrSrg)r   !   z=
An invalid marker was found, users should refer to PEP 508.
 N__name__
__module____qualname____firstlineno____doc____static_attributes__r#       C/var/www/html/env/lib/python3.13/site-packages/packaging/markers.pyr   r   !       r+   r   c                      \ rS rSrSrSrg)r   '   zH
An invalid operation was attempted on a value that doesn't support it.
r#   Nr$   r#   r+   r,   r   r   '   r-   r+   r   c                      \ rS rSrSrSrg)r   -   zP
A name was attempted to be used that does not exist inside of the
environment.
r#   Nr$   r#   r+   r,   r   r   -   s    r+   r   c                      \ rS rSr% S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S	'    S\S
'    S\S'    S\S'    S\S'   Srg)Environment4   strimplementation_nameimplementation_versionos_nameplatform_machineplatform_releaseplatform_systemplatform_versionpython_full_versionplatform_python_implementationpython_versionsys_platformr#   N)r%   r&   r'   r(   __annotations__r*   r#   r+   r,   r3   r3   4   s    >
 L
      %(' 9r+   r3   c                j   [        U S   [        5      (       a  U S   u  pn[        U[        5      (       a1  UR                  S:X  a!  [	        UR                  5      n[        U5      nOE[        U[        5      (       a0  UR                  S:X  a   [	        UR                  5      n[        U5      nXU4U S'   U $ )z
Normalize extra values.
r   extra)
isinstancetupler   valuer   r   )resultslhsoprhsnormalized_extras        r,   _normalize_extra_valuesrL   |   s     '!*e$$qzc8$$g)=0;()CX&&399+?0;()Cc\
Nr+   c                   [        U [        [        [        45      (       d   e[        U [        5      (       a;  [	        U 5      S:X  a,  [        U S   [        [        45      (       a  [        U S   5      $ [        U [        5      (       a8  S U  5       nU(       a  SR                  U5      $ SSR                  U5      -   S-   $ [        U [        5      (       a/  SR                  U  Vs/ s H  o3R                  5       PM     sn5      $ U $ s  snf )Nr   r   c              3  6   #    U  H  n[        US S9v   M     g7f)F)firstN)_format_marker).0ms     r,   	<genexpr>!_format_marker.<locals>.<genexpr>   s     @A/s    ())rD   listrE   r5   lenrP   join	serialize)markerrO   innerrR   s       r,   rP   rP      s     ftUC01111 	64  K1vay4-00fQi((&$@@88E?"%(3..	FE	"	"xx71788 8s   $Dc                
    X;   $ Nr#   rH   rJ   s     r,   <lambda>ra      s    3:r+   c                
    X;  $ r_   r#   r`   s     r,   ra   ra      s    s~r+   )inznot in<z<=z==z!=z>=>zdict[str, Operator]
_operatorsc           	     N   [        U[        5      (       a;   [        SR                  UR	                  5       U/5      5      nUR                  U SS9$ [        R                  UR	                  5       5      nUc  [        SU< SU < SU< S35      eU" X5      $ ! [         a     NRf = f)N T)prereleasesz
Undefined z on z and .)
rD   r5   r   rZ   r[   containsr   rf   getr   )rH   rI   rJ   specopers        r,   _eval_opro      s    #s	8RWWbllnc%:;<D ==$=77&NN2<<>:D|!JrfDuSG1"MNN>   		s   *B 
B$#B$c                :   US:X  a2  [        U[        5      (       d   S5       e[        U 5      [        U5      4$ U[        ;   aR  [        U[        5      (       a  [        U 5      [        U5      4$ [        U 5      U Vs1 s H  n[        U5      iM     sn4$ X4$ s  snf )NrC   zextra value must be a string)rD   r5   r   MARKERS_ALLOWING_SET)rH   rJ   keyvs       r,   
_normalizert      s     g~#s##C%CC#!#&(9#(>??
""c3%c*,=c,BCC%c*3,O3a->q-A3,OPP 8O -Ps   <Bc                   / /nU  GH-  n[        U[        [        [        45      (       d   e[        U[        5      (       a  US   R	                  [        X15      5        MZ  [        U[        5      (       a  Uu  pEn[        U[        5      (       a  UR                  nX   nUR                  n	OUR                  nUR                  nX   n	[        U[        5      (       d   S5       e[        XUS9u  pUS   R	                  [        XU	5      5        GM  US;   d   eUS:X  d  GM  UR	                  / 5        GM0     [        S U 5       5      $ )Nzlhs must be a string)rr   )andorrx   c              3  8   #    U  H  n[        U5      v   M     g 7fr_   )all)rQ   items     r,   rS   $_evaluate_markers.<locals>.<genexpr>   s     ,VTs4yyVs   )rD   rX   rE   r5   append_evaluate_markersr   rF   rt   ro   any)
markersenvironmentgroupsr\   rH   rI   rJ   environment_key	lhs_value	rhs_values
             r,   r~   r~      s     !#tF&4"45555fd##2J/DE&&!LCS#x(("%))'8	II	II	"%))'8	i--E/EE-#-i#X I2Jhyi@A]***~b!- 0 ,V,,,r+   c                    U R                    SU R                   SU R                   3nU R                  nUS:w  a  XS   [	        U R
                  5      -   -  nU$ )Nrj   finalr   )majorminormicroreleaselevelr5   serial)infoversionkinds      r,   format_full_versionr      sU    Adjj\4::,7GDw7S---Nr+   c                    [        [        R                  R                  5      n [        R                  R                  nUU [
        R                  [        R                  " 5       [        R                  " 5       [        R                  " 5       [        R                  " 5       [        R                  " 5       [        R                  " 5       SR                  [        R                  " 5       S S 5      [        R                  S.$ )Nrj      )r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   )r   sysimplementationr   nameosplatformmachinereleasesystemr?   python_implementationrZ   python_version_tuple)iverr6   s     r,   r   r      s    s1199:D,,112"&77$,,.$,,.#??,$,,.'668*2*H*H*J((8#@#@#B2A#FG r+   c                  b    \ rS rSrS
S jrSS jrSS jrSS jrSS jr  S     SS jjr	S	r
g)r   i  c                     [        [        U5      5      U l        g ! [         a  n[	        [        U5      5      UeS nAff = fr_   )rL   _parse_marker_markersr   r   r5   )selfr\   es      r,   __init__Marker.__init__  s;    	/3M&4IJDM" ! 	/A'Q.	/s    
A ;A c                ,    [        U R                  5      $ r_   )rP   r   r   s    r,   __str__Marker.__str__,  s    dmm,,r+   c                    SU  S3$ )Nz	<Marker('z')>r#   r   s    r,   __repr__Marker.__repr__/  s    4&$$r+   c                V    [        U R                  R                  [        U 5      45      $ r_   )hash	__class__r%   r5   r   s    r,   __hash__Marker.__hash__2  s     T^^,,c$i899r+   c                f    [        U[        5      (       d  [        $ [        U 5      [        U5      :H  $ r_   )rD   r   NotImplementedr5   )r   others     r,   __eq__Marker.__eq__5  s(    %((!!4yCJ&&r+   Nc                   [        S[        5       5      nUS:X  a!  UR                  [        5       [        5       S9  OUS:X  a  SUS'   Ub"  UR                  U5        SU;   a  US   c  SUS'   [	        U R
                  [        U5      5      $ )a  Evaluate a marker.

Return the boolean from evaluating the given marker against the
environment. environment is an optional argument to override all or
part of the determined environment. The *context* parameter specifies what
context the markers are being evaluated for, which influences what markers
are considered valid. Acceptable values are "metadata" (for core metadata;
default), "lock_file", and "requirement" (i.e. all other situations).

The environment is determined from the current Python process.
!dict[str, str | AbstractSet[str]]r   )r   r    r   rh   rC   )r
   r   update	frozensetr~   r   _repair_python_full_version)r   r   contextcurrent_environments       r,   evaluateMarker.evaluate;  s      #/1D1F
 k!&& {ik '  
"+-("&&{3 --2Eg2N2V/1#G, MM67JK
 	
r+   )r   )r\   r5   returnNone)r   r5   )r   int)r   r   r   bool)Nr   )r   zdict[str, str] | Noner   r   r   r   )r%   r&   r'   r(   r   r   r   r   r   r   r*   r#   r+   r,   r   r     sI    /2-%:' .2#-"
*"
 !"
 
	"
 "
r+   r   c                h    [        [        U S   5      nUR                  S5      (       a  U S3U S'   U $ )zw
Work around platform.python_version() returning something that is not PEP 440
compliant for non-tagged Python builds.
r=   +local)r
   r5   endswith)envr=   s     r,   r   r   `  s@     sC(=$>?##C(((;'<E%B!"Jr+   )rG   r   r   r   )T)r\   zlist[str] | MarkerAtom | strrO   zbool | Noner   r5   )rH   r5   rI   r   rJ   str | AbstractSet[str]r   r   )rH   r5   rJ   r   rr   r5   r   z"tuple[str, str | AbstractSet[str]])r   r   r   r   r   r   )r   zsys._version_infor   r5   )r   r3   )r   r   r   r   )9
__future__r   operatorr   r   r   typingr   r   r   r   r   r	   r
   _parserr   r   r   r   r   r   r   
_tokenizerr   
specifiersr   r   utilsr   __all__r5   r   Operatorr   rq   
ValueErrorr   r   r   r3   rL   rP   ltleeqnegegtrf   rA   ro   rt   r~   r   r   r   r   r#   r+   r,   <module>r      s  
 #  	  
 N N N @ @ 2 ) 3 $ S%[%5 567=>@A "56 J * z E) EP" @D(1<: &-	
++
++
++
++		#
 	 	)03'(--&G-	-@$K
 K
\
	*
&
r+   