K i6dZddlZddlZddlZgdZGddZeZGddZeZejdgd Zd Z Gd d e Z Gd dZ Gdde Z ejdejZddddddZdZdZdZGdde ZdZejdZdZdZy)zUtility to compare pep440 compatible version strings. The LooseVersion and StrictVersion classes that distutils provides don't work; they don't recognize anything like alpha/beta/rc/dev versions. N)parseVersion LegacyVersionInvalidVersionVERSION_PATTERNcBeZdZdZdZdZdZdZdZdZ dZ d Z y ) Infinitycy)Nr selfs Z/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/_utils/_pep440.py__repr__zInfinity.__repr__-sc*tt|SNhashreprr s r__hash__zInfinity.__hash__0DJrcyNFr r others r__lt__zInfinity.__lt__3rcyrr rs r__le__zInfinity.__le__6rrc.t||jSr isinstance __class__rs r__eq__zInfinity.__eq__9%00rc0t||j Srr!rs r__ne__zInfinity.__ne__<eT^^444rcyNTr rs r__gt__zInfinity.__gt__?rcyr*r rs r__ge__zInfinity.__ge__Br,rctSr)NegativeInfinityr s r__neg__zInfinity.__neg__EsrN __name__ __module__ __qualname__rrrrr$r'r+r.r1r rrr r ,s/ 15 rr cBeZdZdZdZdZdZdZdZdZ dZ d Z y ) r0cy)Nz -Infinityr r s rrzNegativeInfinity.__repr__Msrc*tt|Srrr s rrzNegativeInfinity.__hash__Prrcyr*r rs rrzNegativeInfinity.__lt__Sr,rcyr*r rs rrzNegativeInfinity.__le__Vr,rc.t||jSrr!rs rr$zNegativeInfinity.__eq__Yr%rc0t||j Srr!rs rr'zNegativeInfinity.__ne__\r(rcyrr rs rr+zNegativeInfinity.__gt___rrcyrr rs rr.zNegativeInfinity.__ge__brrctSr)r r s rr1zNegativeInfinity.__neg__esrNr2r rrr0r0Ls/ 15rr0_Version)epochreleasedevprepostlocalcN t|S#t$rt|cYSwxYw)z Parse the given version string and return either a :class:`Version` object or a :class:`LegacyVersion` object depending on if the given version is a valid PEP 440 version or a legacy version. )rrr)versions rrrts, &w &W%%&s $$ceZdZdZy)rzF An invalid version was found, users should refer to PEP 440. N)r3r4r5__doc__r rrrrsrrc<eZdZdZdZdZdZdZdZdZ dZ y ) _BaseVersionc,t|jSr)r_keyr s rrz_BaseVersion.__hash__sDIIrc(|j|dS)Nc ||kSrr sos rz%_BaseVersion.__lt__.. Qr_comparers rrz_BaseVersion.__lt__}}U$677rc(|j|dS)Nc ||kSrr rQs rrTz%_BaseVersion.__le__.. arrVrs rrz_BaseVersion.__le__}}U$788rc(|j|dS)Nc ||k(Srr rQs rrTz%_BaseVersion.__eq__..r[rrVrs rr$z_BaseVersion.__eq__r\rc(|j|dS)Nc ||k\Srr rQs rrTz%_BaseVersion.__ge__..r[rrVrs rr.z_BaseVersion.__ge__r\rc(|j|dS)Nc ||kDSrr rQs rrTz%_BaseVersion.__gt__..rUrrVrs rr+z_BaseVersion.__gt__rXrc(|j|dS)Nc ||k7Srr rQs rrTz%_BaseVersion.__ne__..r[rrVrs rr'z_BaseVersion.__ne__r\rcht|tstS||j|jSr)r"rLNotImplementedrN)r rmethods rrWz_BaseVersion._compares'%.! !dii,,rN) r3r4r5rrrr$r.r+r'rWr rrrLrLs*899989-rrLcneZdZdZdZdZedZedZedZ edZ edZ y ) rcXt||_t|j|_yr)str_version_legacy_cmpkeyrN)r rHs r__init__zLegacyVersion.__init__sG  "4==1 rc|jSrrkr s r__str__zLegacyVersion.__str__s }}rc dt|dS)Nzrjr s rrzLegacyVersion.__repr__s T R00rc|jSrror s rpubliczLegacyVersion.public }}rc|jSrror s r base_versionzLegacyVersion.base_versionrvrcyrr r s rrFzLegacyVersion.localsrcyrr r s r is_prereleasezLegacyVersion.is_prereleasercyrr r s ris_postreleasezLegacyVersion.is_postreleaser|rN) r3r4r5rmrprpropertyrurxrFr{r~r rrrrsu21rrz(\d+ | [a-z]+ | \.| -)czfinal-@)rDpreview-rcrCc#Ktj|D]B}tj||}|r|dk(r!|dddvr|j dts{  8| #**Q- *   NsA A"cFd}g}t|jD]s}|jdrO|dkr%|r#|ddk(r|j|r |ddk(r|r#|ddk(r|j|r |ddk(r|j |ut |}||fS)Nrrz*final-00000000)rlower startswithpopappendtuple)rHrApartsrs rrlrls E E$W]]_5  ??3 hb Y 6IIKb Y 6E"I3 E"I3  T  %LE %<ra v? (?: (?:(?P[0-9]+)!)? # epoch (?P[0-9]+(?:\.[0-9]+)*) # release segment (?P
                                          # pre-release
            [-_\.]?
            (?P(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?P[0-9]+)?
        )?
        (?P                                         # post release
            (?:-(?P[0-9]+))
            |
            (?:
                [-_\.]?
                (?Ppost|rev|r)
                [-_\.]?
                (?P[0-9]+)?
            )
        )?
        (?P                                          # dev release
            [-_\.]?
            (?Pdev)
            [-_\.]?
            (?P[0-9]+)?
        )?
    )
    (?:\+(?P[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
ceZdZejdezdzejejzZdZ	dZ
dZedZ
edZedZed	Zed
Zy)rz^\s*z\s*$c|jj|}|std|dt|j	drt|j	dndt
d|j	djdDt|j	d|j	d	t|j	d
|j	dxs|j	dt|j	d
|j	dt|j	d|_
t|jj|jj|jj|jj|jj |jj"|_y)NzInvalid version: ''rArc32K|]}t|ywr)int.0is  r	z#Version.__init__..,sLQ#a&LrBrpre_lpre_npost_lpost_n1post_n2dev_ldev_nrFrArBrDrErCrF)_regexsearchrr@grouprrr_parse_letter_version_parse_local_versionrk_cmpkeyrArBrDrErCrFrN)r
rHmatchs   rrmzVersion.__init__#s]""7+ #5gYa!@AA!/4{{7/C#ekk'*+L%++i*@*F*Fs*KLL%G$G$'H%I&@%++i*@&G$G$'u{{7';<

&MMMM!!MMMMMMMM

	rc dt|dS)Nz	|jd
djd|jjDdj|S)Nr!rc32K|]}t|ywrrsrxs  rrz"Version.__str__..QDc!fDrc32K|]}t|ywrrsrs  rrz"Version.__str__..Us CAQ Crz.postrz.dev+c32K|]}t|ywrrsrs  rrz"Version.__str__..bsASVAr)	rkrArjoinrBrDrErCrFr
rs  rrpzVersion.__str__IsS==!#LLDMM//023	SXXDdmm.C.CDDE==(LL C1B1B CCD==)LL5!3!3A!6 789==(LL4

 1 1! 4567==*LLCHHAT]]-@-@AABC
wwu~rc>t|jdddS)Nrrrrjrrs rruzVersion.publicgs4ysA&q))rc g}|jjdk7r(|j|jjd|jdjd|jjDdj|S)Nrrrc32K|]}t|ywrrsrs  rrz'Version.base_version..trrr)rkrArrrBrs  rrxzVersion.base_versionksn==!#LLDMM//023	SXXDdmm.C.CDDEwwu~rcLt|}d|vr|jdddSy)Nrrr)r
version_strings  rrFz
Version.localxs0T. !''Q/22!rcpt|jjxs|jjSr)boolrkrCrDrs rr{zVersion.is_prerelease~s&DMM%%:):):;;rc@t|jjSr)rrkrErs rr~zVersion.is_postreleasesDMM&&''rN)r3r4r5recompilerVERBOSE
IGNORECASErrmrrprrurxrFr{r~rrrrrs
RZZ/!G+


R]]"F
!
F+<**

33
<<((rrc|r>|d}|j}|dk(rd}n|dk(rd}n
|dvrd}n|dvrd	}|t|fS|s|rd	}|t|fSyy)
Nralphaabetab)rrDrr)revrrE)rr)letternumbers  rrrs
>F
WF
v
F
.
.F
|
#Fs6{""fs6{""6rz[\._-]cR|%tdtj|DSy)zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Nc3rK|]/}|js|jn
t|1ywr)isdigitrr)rrs  rrz'_parse_local_version..s/
!%DJJLCI=
s57)r_local_version_seperatorsr)rFs rrrs4

177>

	
rcttttjdt|}||
|t
}n|t
}|t
}|t
}|t
}ntd|D}||||||fS)Nc|dk(S)Nrr)rs rrTz_cmpkey..s
!q&rc3VK|]!}t|tr|dfnt|f#yw)rN)r"rr	rs  rrz_cmpkey..s0
"!S)QG	1~=
s'))rreversedlist	itertools	dropwhiler	rs      rrrs !

	G{t|i

|y{}	



'3c500r)rJcollectionsrr__all__r	r0
namedtupler@r
ValueErrorrrLrrrrrrrlrrrrrrrrrrs>	  ::@$%!;!!7	&Z--<LB *rzzrzz 
3XS#
":@h(lh(V#>'BJJy1
21r