
    <h                    0    S r SSKJr  SSKrSS jrSS jrg)z2Convert Cargo versions into Meson compatible ones.    )annotationsNc                    U R                  S5      n[        US   5      S:w  a  US   $ [        U5      S:  a  [        US   5      S:w  a  SUS    3$ g)N.r         z0.0)splitintlen)versionverss     y/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/cargo/version.pyapir   
   sX     ==D
47|qAw	TaCQLA-DG9~    c           
        U R                  5       n U (       d  / $ U R                  S5       Vs/ s H  oR                  5       PM     nn/ nU GH  nUR                  S5      (       a  UR                  U5        M-  UR                  S5      (       a  USS R                  S5      nUR                  SSR	                  U5       35        [        U5      S:X  a,  UR                  S	US
    S[        US   5      S-    S35        M  [        U5      S:X  a+  UR                  S	US
    S[        US   5      S-    35        M  UR                  S	[        US
   5      S-    35        GM  SU;   a  UR                  S5      SS nU(       a#  UR                  SSR	                  U5       35        [        U5      S:X  a,  UR                  S	US
    S[        US   5      S-    35        GM  [        U5      S:X  a&  UR                  S	[        US
   5      S-    35        GM  GM  UR                  S5      (       a  USS nUR                  S5      n/ n/ nSn	U Hv  n
U
S:w  aB  U	(       d;  UR                  U
5        UR                  [        [        U
5      S-   5      5        Sn	MK  UR                  U
5        U	(       a  Me  UR                  S5        Mx     [        U5      S1:w  a/  UR                  SR                  SR	                  U5      5      5        [        U5      S1:w  a2  UR                  SR                  SR	                  U5      5      5        GM  UR                  S5        GM     U$ s  snf )zConvert a Cargo compatible version into a Meson compatible one.

:param cargo_ver: The version, as Cargo specifies
:return: A list of version constraints, as Meson understands them
,)><=~r   Nr   z>=    z< r   z.0r   *^Fr   Tz>= {}z< {}z< 1)
stripr	   
startswithappendjoinr   r
   strsetformat)	cargo_verc
cargo_versoutvervr   min_max_bumpedv_s              r   convertr,      s    !I	%.__S%9:%9'')%9J:C >>/**JJsO^^C  
 ABc"AJJSXXa[M*+1v{

R!vQs1Q4y1}oR89Q1

R!vQs1Q4y1}o67

RAaD	A/0CZ 		#s#A

S!./1v{

R!vQs1Q4y1}o67Q1

RAaD	A/0  ~~c""!"g  99S>D "D "DF9VKKOKKCGaK 01!FKKO!6C(  4ySE!

7>>#((4.9:4ySE!

6==$89

5!O R J[ ;s   M)r   r   returnr   )r"   r   r-   zT.List[str])__doc__
__future__r   typingTr   r,    r   r   <module>r3      s    9 " 	Wr   