Files
wg-backend-django/dell-env/lib/python3.11/site-packages/packaging/__pycache__/version.cpython-311.pyc

297 lines
21 KiB
Plaintext
Raw Normal View History

2023-10-30 14:40:43 +07:00
<EFBFBD>
s]?el?<00><00><00>dZddlZddlZddlmZmZmZmZmZm Z m
Z
ddl m Z m Z mZmZgd<06>Ze e
eefdfZe
e ee eeffZe
ee e
e eefe ee
eefffdffZe ee edfeeeefZeeegefZGd<08>d e<06><00>Zd
ed d fd <0A>ZGd<0E>de<1B><00>ZGd<10>d<11><00>ZdZeZ Gd<13>d e<1D><00>Z deede
ee!edfd ee eeffd<16>Z"ej#d<17><00>Z$deed eefd<19>Z%dede edfdee eefdee eefdee eefdeed efd<1F>Z&dS) zB
.. testsetup::
from packaging.version import parse, Version
<EFBFBD>N)<07>Any<6E>Callable<6C>
NamedTuple<EFBFBD>Optional<61> SupportsInt<6E>Tuple<6C>Union<6F>)<04>Infinity<74> InfinityType<70>NegativeInfinity<74>NegativeInfinityType)<04>VERSION_PATTERN<52>parse<73>Version<6F>InvalidVersion.c<00><><00>eZdZUeed<eedfed<eeeefed<eeeefed<eeeefed<eeed<dS) <09>_Version<6F>epoch.<2E>release<73>dev<65>pre<72>post<73>localN) <09>__name__<5F>
__module__<EFBFBD> __qualname__<5F>int<6E>__annotations__rr<00>str<74> LocalType<70><00><00>j/home/infidel/Sync/TIP/WireGuard/ocp-wg-backend/dell-env/lib/python3.11/site-packages/packaging/version.pyrr$s<><00><00><00><00><00><00><00> <0E>J<EFBFBD>J<EFBFBD>J<EFBFBD> <12>3<EFBFBD><03>8<EFBFBD>_<EFBFBD><1C><1C><1C> <11>%<25><03>S<EFBFBD><08>/<2F> "<22>"<22>"<22>"<22> <11>%<25><03>S<EFBFBD><08>/<2F> "<22>"<22>"<22>"<22>
<12>5<EFBFBD><13>c<EFBFBD><18>?<3F>
#<23>#<23>#<23>#<23> <13>I<EFBFBD> <1E><1E><1E><1E><1E>r#r<00>version<6F>returnrc<00> <00>t|<00><00>S)z<>Parse the given version string.
>>> parse('1.0.dev1')
<Version('1.0.dev1')>
:param version: The version string to parse.
:raises InvalidVersion: When the version string is not a valid version.
)r)r%s r$rr-s<00><00> <13>7<EFBFBD> <1B> <1B>r#c<00><00>eZdZdZdS)rz<>Raised when a version string is not a valid version.
>>> Version("invalid")
Traceback (most recent call last):
...
packaging.version.InvalidVersion: Invalid version: 'invalid'
N)rrr<00>__doc__r"r#r$rr9s<00><00><00><00><00><00><08><08><08>r#rc<00><><00>eZdZUeedfed<defd<04>Zdddefd<06>Z dddefd<07>Z
de defd<08>Z dddefd <09>Z dddefd
<EFBFBD>Zde defd <0B>Zd S) <0A> _BaseVersion.<2E>_keyr&c<00>*<00>t|j<00><00>S<00>N)<02>hashr,<00><01>selfs r$<00>__hash__z_BaseVersion.__hash__Fs<00><00><13>D<EFBFBD>I<EFBFBD><EFBFBD><EFBFBD>r#<00>otherc<00>Z<00>t|t<00><00>stS|j|jkSr.<00><04>
isinstancer+<00>NotImplementedr,<00>r1r3s r$<00>__lt__z_BaseVersion.__lt__L<00>)<00><00><19>%<25><1C>.<2E>.<2E> "<22>!<21> !<21><13>y<EFBFBD>5<EFBFBD>:<3A>%<25>%r#c<00>Z<00>t|t<00><00>stS|j|jkSr.r5r8s r$<00>__le__z_BaseVersion.__le__R<00>)<00><00><19>%<25><1C>.<2E>.<2E> "<22>!<21> !<21><13>y<EFBFBD>E<EFBFBD>J<EFBFBD>&<26>&r#c<00>Z<00>t|t<00><00>stS|j|jkSr.r5r8s r$<00>__eq__z_BaseVersion.__eq__Xr=r#c<00>Z<00>t|t<00><00>stS|j|jkSr.r5r8s r$<00>__ge__z_BaseVersion.__ge__^r=r#c<00>Z<00>t|t<00><00>stS|j|jkSr.r5r8s r$<00>__gt__z_BaseVersion.__gt__dr:r#c<00>Z<00>t|t<00><00>stS|j|jkSr.r5r8s r$<00>__ne__z_BaseVersion.__ne__jr=r#N)rrrrrrrr2<00>boolr9r<<00>objectr?rArCrEr"r#r$r+r+Cs<00><00><00><00><00><00><00>
<0F><03>S<EFBFBD><08>/<2F><19><19><19><1F>#<23><1F><1F><1F><1F> &<26>N<EFBFBD>&<26>t<EFBFBD>&<26>&<26>&<26>&<26> '<27>N<EFBFBD>'<27>t<EFBFBD>'<27>'<27>'<27>'<27> '<27>F<EFBFBD>'<27>t<EFBFBD>'<27>'<27>'<27>'<27> '<27>N<EFBFBD>'<27>t<EFBFBD>'<27>'<27>'<27>'<27> &<26>N<EFBFBD>&<26>t<EFBFBD>&<26>&<26>&<26>&<26> '<27>F<EFBFBD>'<27>t<EFBFBD>'<27>'<27>'<27>'<27>'<27>'r#r+a<>
v?
(?:
(?:(?P<epoch>[0-9]+)!)? # epoch
(?P<release>[0-9]+(?:\.[0-9]+)*) # release segment
(?P<pre> # pre-release
[-_\.]?
(?P<pre_l>alpha|a|beta|b|preview|pre|c|rc)
[-_\.]?
(?P<pre_n>[0-9]+)?
)?
(?P<post> # post release
(?:-(?P<post_n1>[0-9]+))
|
(?:
[-_\.]?
(?P<post_l>post|rev|r)
[-_\.]?
(?P<post_n2>[0-9]+)?
)
)?
(?P<dev> # dev release
[-_\.]?
(?P<dev_l>dev)
[-_\.]?
(?P<dev_n>[0-9]+)?
)?
)
(?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version
c<00>f<00>eZdZUdZejdezdzejejz<00><00>Z e
e d<de ddfd<08>Z de fd <09>Zde fd
<EFBFBD>Zedefd <0B><04><00>Zedeed ffd <0A><04><00>Zedeee effd<0E><04><00>Zedeefd<0F><04><00>Zedeefd<10><04><00>Zedee fd<11><04><00>Zede fd<12><04><00>Zede fd<13><04><00>Zedefd<14><04><00>Zedefd<15><04><00>Zedefd<16><04><00>Zedefd<17><04><00>Z edefd<18><04><00>Z!edefd<19><04><00>Z"dS)ra<>This class abstracts handling of a project's versions.
A :class:`Version` instance is comparison aware and can be compared and
sorted using the standard Python interfaces.
>>> v1 = Version("1.0a5")
>>> v2 = Version("1.0")
>>> v1
<Version('1.0a5')>
>>> v2
<Version('1.0')>
>>> v1 < v2
True
>>> v1 == v2
False
>>> v1 > v2
False
>>> v1 >= v2
False
>>> v1 <= v2
True
z^\s*z\s*$r,r%r&Nc <00><><00>|j<00>|<01><00>}|std|<01>d<02><03><00><00>t|<02>d<03><00>r"t |<02>d<03><00><00><00>ndt d<05>|<02>d<06><00><00>d<07><00>D<00><00><00><00>t|<02>d<08><00>|<02>d <09><00><00><00>t|<02>d
<EFBFBD><00>|<02>d <0B><00>p|<02>d <0C><00><00><00>t|<02>d <0A><00>|<02>d<0E><00><00><00>t|<02>d<0F><00><00><00><00><10><00>|_
t|j
j |j
j |j
j|j
j|j
j|j
j<00><00>|_dS)aCInitialize a Version object.
:param version:
The string representation of a version which will be parsed and normalized
before use.
:raises InvalidVersion:
If the ``version`` does not conform to PEP 440 in any way then this
exception will be raised.
zInvalid version: '<27>'rrc3<00>4K<00>|]}t|<01><00>V<00><00>dSr.)r<00><02>.0<EFBFBD>is r$<00> <genexpr>z#Version.__init__.<locals>.<genexpr><3E>s(<00><00><00><00>L<>L<>Q<EFBFBD>#<23>a<EFBFBD>&<26>&<26>L<>L<>L<>L<>L<>Lr#r<00>.<2E>pre_l<5F>pre_n<5F>post_l<5F>post_n1<6E>post_n2<6E>dev_l<5F>dev_nr)rrrrrrN)<13>_regex<65>searchrr<00>groupr<00>tuple<6C>split<69>_parse_letter_version<6F>_parse_local_version<6F>_version<6F>_cmpkeyrrrrrrr,)r1r%<00>matchs r$<00>__init__zVersion.__init__<5F>s<><00><00><15> <0B>"<22>"<22>7<EFBFBD>+<2B>+<2B><05><14> B<01> <20>!@<40>g<EFBFBD>!@<40>!@<40>!@<40>A<>A<> A<>!<21>/4<>{<7B>{<7B>7<EFBFBD>/C<>/C<>J<>#<23>e<EFBFBD>k<EFBFBD>k<EFBFBD>'<27>*<2A>*<2A>+<2B>+<2B>+<2B><11><19>L<>L<>%<25>+<2B>+<2B>i<EFBFBD>*@<40>*@<40>*F<>*F<>s<EFBFBD>*K<>*K<>L<>L<>L<>L<>L<>%<25>e<EFBFBD>k<EFBFBD>k<EFBFBD>'<27>&:<3A>&:<3A>E<EFBFBD>K<EFBFBD>K<EFBFBD><07><P<><P<>Q<>Q<>&<26><15> <0B> <0B>H<EFBFBD>%<25>%<25>u<EFBFBD>{<7B>{<7B>9<EFBFBD>'=<3D>'=<3D>'W<><15><1B><1B>Y<EFBFBD>AW<41>AW<41><0E><0E>&<26>e<EFBFBD>k<EFBFBD>k<EFBFBD>'<27>&:<3A>&:<3A>E<EFBFBD>K<EFBFBD>K<EFBFBD><07><P<><P<>Q<>Q<>&<26>u<EFBFBD>{<7B>{<7B>7<EFBFBD>';<3B>';<3B><<3C><<3C> 
<EFBFBD> 
<EFBFBD> 
<EFBFBD><04> <0A><1C> <10>M<EFBFBD> <1F> <10>M<EFBFBD> !<21> <10>M<EFBFBD> <1D> <10>M<EFBFBD> <1E> <10>M<EFBFBD> <1D> <10>M<EFBFBD> <1F> 
<EFBFBD>
<EFBFBD><04> <09> <09> r#c<00><00>d|<00>d<02>S)z<>A representation of the Version that shows all internal state.
>>> Version('1.0.0')
<Version('1.0.0')>
z
<Version('z')>r"r0s r$<00>__repr__zVersion.__repr__<5F>s<00><00> &<26>D<EFBFBD>%<25>%<25>%<25>%r#c<00>B<00>g}|jdkr|<01>|j<00>d<02><02><00>|<01>d<03>d<04>|jD<00><00><00><00><00><00>|j<00>7|<01>d<06>d<07>|jD<00><00><00><00><00><00>|j<00>|<01>d|j<00><00><02><00>|j<00>|<01>d |j<00><00><02><00>|j<00>|<01>d
|j<00><00><02><00>d<06>|<01><00>S) zA string representation of the version that can be rounded-tripped.
>>> str(Version("1.0a5"))
'1.0a5'
r<00>!rPc3<00>4K<00>|]}t|<01><00>V<00><00>dSr.<00>r <00>rM<00>xs r$rOz"Version.__str__.<locals>.<genexpr><3E><00>(<00><00><00><00>;<3B>;<3B><11>c<EFBFBD>!<21>f<EFBFBD>f<EFBFBD>;<3B>;<3B>;<3B>;<3B>;<3B>;r#N<>c3<00>4K<00>|]}t|<01><00>V<00><00>dSr.rhris r$rOz"Version.__str__.<locals>.<genexpr><3E>s(<00><00><00><00> :<3A> :<3A>A<EFBFBD><13>Q<EFBFBD><16><16> :<3A> :<3A> :<3A> :<3A> :<3A> :r#z.postz.dev<65>+)r<00>append<6E>joinrrrrr<00>r1<00>partss r$<00>__str__zVersion.__str__<5F>s"<00><00> <13><05> <10>:<3A><11>?<3F>?<3F> <11>L<EFBFBD>L<EFBFBD>D<EFBFBD>J<EFBFBD>)<29>)<29>)<29> *<2A> *<2A> *<2A> <0E> <0C> <0C>S<EFBFBD>X<EFBFBD>X<EFBFBD>;<3B>;<3B>d<EFBFBD>l<EFBFBD>;<3B>;<3B>;<3B>;<3B>;<3B><<3C><<3C><<3C> <10>8<EFBFBD> <1F> <11>L<EFBFBD>L<EFBFBD><12><17><17> :<3A> :<3A><14><18> :<3A> :<3A> :<3A>:<3A>:<3A> ;<3B> ;<3B> ;<3B> <10>9<EFBFBD> <20> <11>L<EFBFBD>L<EFBFBD>,<2C><14><19>,<2C>,<2C> -<2D> -<2D> -<2D> <10>8<EFBFBD> <1F> <11>L<EFBFBD>L<EFBFBD>*<2A><04><08>*<2A>*<2A> +<2B> +<2B> +<2B> <10>:<3A> !<21> <11>L<EFBFBD>L<EFBFBD>)<29>T<EFBFBD>Z<EFBFBD>)<29>)<29> *<2A> *<2A> *<2A><11>w<EFBFBD>w<EFBFBD>u<EFBFBD>~<7E>~<7E>r#c<00><00>|jjS)zThe epoch of the version.
>>> Version("2.0.0").epoch
0
>>> Version("1!2.0.0").epoch
1
)r_rr0s r$rz Version.epoch s<00><00><14>}<7D>"<22>"r#.c<00><00>|jjS)adThe components of the "release" segment of the version.
>>> Version("1.2.3").release
(1, 2, 3)
>>> Version("2.0.0").release
(2, 0, 0)
>>> Version("1!2.0.0.post0").release
(2, 0, 0)
Includes trailing zeroes but not the epoch or any pre-release / development /
post-release suffixes.
)r_rr0s r$rzVersion.releases<00><00><14>}<7D>$<24>$r#c<00><00>|jjS)aThe pre-release segment of the version.
>>> print(Version("1.2.3").pre)
None
>>> Version("1.2.3a1").pre
('a', 1)
>>> Version("1.2.3b1").pre
('b', 1)
>>> Version("1.2.3rc1").pre
('rc', 1)
)r_rr0s r$rz Version.pre$s<00><00><14>}<7D> <20> r#c<00>B<00>|jjr|jjdndS)z<>The post-release number of the version.
>>> print(Version("1.2.3").post)
None
>>> Version("1.2.3.post1").post
1
r
N)r_rr0s r$rz Version.post3s#<00><00>)-<2D> <0A>(:<3A>D<>t<EFBFBD>}<7D>!<21>!<21>$<24>$<24><04>Dr#c<00>B<00>|jjr|jjdndS)z<>The development number of the version.
>>> print(Version("1.2.3").dev)
None
>>> Version("1.2.3.dev1").dev
1
r
N)r_rr0s r$rz Version.dev>s#<00><00>(,<2C>}<7D>'8<>B<>t<EFBFBD>}<7D> <20><11>#<23>#<23>d<EFBFBD>Br#c<00>p<00>|jjr)d<01>d<02>|jjD<00><00><00><00>SdS)z<>The local version segment of the version.
>>> print(Version("1.2.3").local)
None
>>> Version("1.2.3+abc").local
'abc'
rPc3<00>4K<00>|]}t|<01><00>V<00><00>dSr.rhris r$rOz Version.local.<locals>.<genexpr>Ss(<00><00><00><00>@<40>@<40>q<EFBFBD>C<EFBFBD><01>F<EFBFBD>F<EFBFBD>@<40>@<40>@<40>@<40>@<40>@r#N)r_rrpr0s r$rz Version.localIs<<00><00> <10>=<3D> <1E> <18><16>8<EFBFBD>8<EFBFBD>@<40>@<40>D<EFBFBD>M<EFBFBD>,?<3F>@<40>@<40>@<40>@<40>@<40> @<40><17>4r#c<00>T<00>t|<00><00><00>dd<02><00>dS)z<>The public portion of the version.
>>> Version("1.2.3").public
'1.2.3'
>>> Version("1.2.3+abc").public
'1.2.3'
>>> Version("1.2.3+abc.dev1").public
'1.2.3'
rnr
r)r r\r0s r$<00>publiczVersion.publicWs#<00><00><13>4<EFBFBD>y<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>A<EFBFBD>&<26>&<26>q<EFBFBD>)<29>)r#c<00><><00>g}|jdkr|<01>|j<00>d<02><02><00>|<01>d<03>d<04>|jD<00><00><00><00><00><00>d<05>|<01><00>S)a]The "base version" of the version.
>>> Version("1.2.3").base_version
'1.2.3'
>>> Version("1.2.3+abc").base_version
'1.2.3'
>>> Version("1!1.2.3+abc.dev1").base_version
'1!1.2.3'
The "base version" is the public version of the project without any pre or post
release markers.
rrfrPc3<00>4K<00>|]}t|<01><00>V<00><00>dSr.rhris r$rOz'Version.base_version.<locals>.<genexpr>yrkr#rl)rrorprrqs r$<00> base_versionzVersion.base_versiondst<00><00><13><05> <10>:<3A><11>?<3F>?<3F> <11>L<EFBFBD>L<EFBFBD>D<EFBFBD>J<EFBFBD>)<29>)<29>)<29> *<2A> *<2A> *<2A> <0E> <0C> <0C>S<EFBFBD>X<EFBFBD>X<EFBFBD>;<3B>;<3B>d<EFBFBD>l<EFBFBD>;<3B>;<3B>;<3B>;<3B>;<3B><<3C><<3C><<3C><11>w<EFBFBD>w<EFBFBD>u<EFBFBD>~<7E>~<7E>r#c<00>&<00>|jdup|jduS)aTWhether this version is a pre-release.
>>> Version("1.2.3").is_prerelease
False
>>> Version("1.2.3a1").is_prerelease
True
>>> Version("1.2.3b1").is_prerelease
True
>>> Version("1.2.3rc1").is_prerelease
True
>>> Version("1.2.3dev1").is_prerelease
True
N)rrr0s r$<00> is_prereleasezVersion.is_prerelease}s<00><00><14>x<EFBFBD>t<EFBFBD>#<23>;<3B>t<EFBFBD>x<EFBFBD>t<EFBFBD>';<3B>;r#c<00><00>|jduS)z<>Whether this version is a post-release.
>>> Version("1.2.3").is_postrelease
False
>>> Version("1.2.3.post1").is_postrelease
True
N)rr0s r$<00>is_postreleasezVersion.is_postrelease<73>s<00><00><14>y<EFBFBD><04>$<24>$r#c<00><00>|jduS)z<>Whether this version is a development release.
>>> Version("1.2.3").is_devrelease
False
>>> Version("1.2.3.dev1").is_devrelease
True
N)rr0s r$<00> is_devreleasezVersion.is_devrelease<73>s<00><00><14>x<EFBFBD>t<EFBFBD>#<23>#r#c<00>P<00>t|j<00><00>dkr |jdndS)zqThe first item of :attr:`release` or ``0`` if unavailable.
>>> Version("1.2.3").major
1
r
r<00><02>lenrr0s r$<00>majorz Version.major<6F>s(<00><00>#&<26>d<EFBFBD>l<EFBFBD>"3<>"3<>q<EFBFBD>"8<>"8<>t<EFBFBD>|<7C>A<EFBFBD><EFBFBD><EFBFBD>a<EFBFBD>?r#c<00>P<00>t|j<00><00>dkr |jdndS)z<>The second item of :attr:`release` or ``0`` if unavailable.
>>> Version("1.2.3").minor
2
>>> Version("1").minor
0
<20>r
rr<>r0s r$<00>minorz Version.minor<6F><00>(<00><00>#&<26>d<EFBFBD>l<EFBFBD>"3<>"3<>q<EFBFBD>"8<>"8<>t<EFBFBD>|<7C>A<EFBFBD><EFBFBD><EFBFBD>a<EFBFBD>?r#c<00>P<00>t|j<00><00>dkr |jdndS)z<>The third item of :attr:`release` or ``0`` if unavailable.
>>> Version("1.2.3").micro
3
>>> Version("1").micro
0
<20>r<>rr<>r0s r$<00>microz Version.micro<72>r<>r#)#rrrr)<00>re<72>compiler<00>VERBOSE<53>
IGNORECASErX<00>CmpKeyrr rbrdrs<00>propertyrrrrrrrrrr|rrFr<>r<>r<>r<>r<>r<>r"r#r$rr<00>s <00><00><00><00><00><00><00><08><08>.<18>R<EFBFBD>Z<EFBFBD><07>/<2F>1<>G<EFBFBD>;<3B>R<EFBFBD>Z<EFBFBD>"<22>-<2D>=W<> X<> X<>F<EFBFBD>
<10>L<EFBFBD>L<EFBFBD>L<EFBFBD>$
<EFBFBD><03>$
<EFBFBD><04>$
<EFBFBD>$
<EFBFBD>$
<EFBFBD>$
<EFBFBD>L&<26>#<23>&<26>&<26>&<26>&<26><1E><13><1E><1E><1E><1E>B<0E>#<23>s<EFBFBD>#<23>#<23>#<23><0E>X<EFBFBD>#<23><0E> %<25><15>s<EFBFBD>C<EFBFBD>x<EFBFBD><1F> %<25> %<25> %<25><0E>X<EFBFBD> %<25><0E> !<21>X<EFBFBD>e<EFBFBD>C<EFBFBD><13>H<EFBFBD>o<EFBFBD>.<2E> !<21> !<21> !<21><0E>X<EFBFBD> !<21><0E>E<01>h<EFBFBD>s<EFBFBD>m<EFBFBD>E<01>E<01>E<01><0E>X<EFBFBD>E<01><0E>C<01>X<EFBFBD>c<EFBFBD>]<5D>C<01>C<01>C<01><0E>X<EFBFBD>C<01><0E> <18>x<EFBFBD><03>}<7D> <18> <18> <18><0E>X<EFBFBD> <18><0E>
*<2A><03>
*<2A>
*<2A>
*<2A><0E>X<EFBFBD>
*<2A><0E><1E>c<EFBFBD><1E><1E><1E><0E>X<EFBFBD><1E>0<0E><<3C>t<EFBFBD><<3C><<3C><<3C><0E>X<EFBFBD><<3C> <0E>%<25><04>%<25>%<25>%<25><0E>X<EFBFBD>%<25><0E>$<24>t<EFBFBD>$<24>$<24>$<24><0E>X<EFBFBD>$<24><0E>@<01>s<EFBFBD>@<01>@<01>@<01><0E>X<EFBFBD>@<01><0E>@<01>s<EFBFBD>@<01>@<01>@<01><0E>X<EFBFBD>@<01><0E>@<01>s<EFBFBD>@<01>@<01>@<01><0E>X<EFBFBD>@<01>@<01>@r#<00>letter<65>numberc<00><><00>|rH|<01>d}|<00><00><00>}|dkrd}n|dkrd}n |dvrd}n|dvrd }|t|<01><00>fS|s|rd }|t|<01><00>fSdS)
Nr<00>alpha<68>a<>beta<74>b)<03>cr<00>preview<65>rc)<02>rev<65>rr)<02>lowerr)r<>r<>s r$r]r]<00>s<><00><00><0E>#<23> <12>><3E><16>F<EFBFBD><18><1C><1C><1E><1E><06>
<12>W<EFBFBD> <1C> <1C><18>F<EFBFBD>F<EFBFBD> <13>v<EFBFBD> <1D> <1D><18>F<EFBFBD>F<EFBFBD> <13>.<2E> .<2E> .<2E><19>F<EFBFBD>F<EFBFBD> <13>|<7C> #<23> #<23><1B>F<EFBFBD><15>s<EFBFBD>6<EFBFBD>{<7B>{<7B>"<22>"<22> <11>#<23>f<EFBFBD>#<23><18><06><15>s<EFBFBD>6<EFBFBD>{<7B>{<7B>"<22>"<22> <0F>4r#z[\._-]rc<00>l<00>|<00>1td<02>t<00>|<00><00>D<00><00><00><00>SdS)zR
Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
Nc3<00><>K<00>|];}|<01><00><00>s|<01><00><00>nt|<01><00>V<00><00><dSr.)<03>isdigitr<74>r)rM<00>parts r$rOz'_parse_local_version.<locals>.<genexpr><3E>sU<00><00><00><00>
<EFBFBD>
<EFBFBD><14>!%<25> <0C> <0C><0E><0E> =<3D>D<EFBFBD>J<EFBFBD>J<EFBFBD>L<EFBFBD>L<EFBFBD>L<EFBFBD>C<EFBFBD><04>I<EFBFBD>I<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
r#)r[<00>_local_version_separatorsr\)rs r$r^r^<00>sM<00><00> <0A><18><14>
<EFBFBD>
<EFBFBD>1<>7<>7<><05>><3E>><3E>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD> <10>4r#rrrrrc <00>P<00>ttttjd<01>t|<01><00><00><00><00><00><00><00><00><00>}|<02> |<03>
|<04>t
}n |<02>t }n|}|<03>t
}n|}|<04>t } n|} |<05>t
}
ntd<02>|D<00><00><00><00>}
||||| |
fS)Nc<00><00>|dkS)Nrr")rjs r$<00><lambda>z_cmpkey.<locals>.<lambda>s
<00><00>A<EFBFBD><11>F<EFBFBD>r#c3<00>ZK<00>|]&}t|t<00><00>r|dfnt|fV<00><00>'dS)rlN)r6rr rLs r$rOz_cmpkey.<locals>.<genexpr>/sP<00><00><00><00>
<EFBFBD>
<EFBFBD>IJ<EFBFBD>z<EFBFBD>!<21>S<EFBFBD>)<29>)<29> D<>Q<EFBFBD><02>G<EFBFBD>G<EFBFBD>0@<40>!<21>/D<>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
r#)r[<00>reversed<65>list<73> itertools<6C> dropwhiler r ) rrrrrr<00>_release<73>_pre<72>_post<73>_dev<65>_locals r$r`r`<00>s<><00><00><15><10><14>i<EFBFBD>)<29>*:<3A>*:<3A>H<EFBFBD>W<EFBFBD><M<><M<>N<>N<>O<>O<>P<>P<><06><06>H<EFBFBD> <0B>{<7B>t<EFBFBD>|<7C><03><0F>"2<><04><04>
<0A><1B><17><04><04><12><04> <0C>|<7C>#3<><05><05><15><05> <0B>{<7B>"*<2A><04><04><13><04> <0C>}<7D>/<2F><06><06><17>
<EFBFBD>
<EFBFBD>NS<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD><06> <11>(<28>D<EFBFBD>%<25><14>v<EFBFBD> 5<>5r#)'r)r<>r<><00>typingrrrrrrr <00> _structuresr r r r<00>__all__rr r!<00>CmpPrePostDevType<70> CmpLocalTyper<65>rF<00>VersionComparisonMethodrr<00>
ValueErrorrr+<00>_VERSION_PATTERNrr<00>bytesr]r<>r<>r^r`r"r#r$<00><module>r<>sR<00><01><04><04> <11><10><10><10> <09> <09> <09> <09>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>Q<>W<>W<>W<>W<>W<>W<>W<>W<>W<>W<>W<>W<>
C<EFBFBD>
C<EFBFBD>
C<EFBFBD><07> <11>%<25><03>S<EFBFBD><08>/<2F>3<EFBFBD>&<26> '<27> <09><19>,<2C>(<<3C>e<EFBFBD>C<EFBFBD><13>H<EFBFBD>o<EFBFBD>M<>N<><11><14><18> <09>%<25><05>c<EFBFBD>3<EFBFBD>h<EFBFBD><0F><15>';<3B>U<EFBFBD>3<EFBFBD><03>8<EFBFBD>_<EFBFBD>'L<>!M<>M<>
N<EFBFBD>PS<EFBFBD>
S<EFBFBD>T<>V<01><02> <0C>
<0F><07> <09>#<23>s<EFBFBD>(<28>O<EFBFBD><15><15><15><10> <12>
<02><06>#<23>F<EFBFBD>F<EFBFBD>#3<>T<EFBFBD>#9<>:<3A><17><1F><1F><1F><1F><1F>z<EFBFBD><1F><1F><1F> <1C>3<EFBFBD> <1C>9<EFBFBD> <1C> <1C> <1C> <1C><08><08><08><08><08>Z<EFBFBD><08><08><08>+'<27>+'<27>+'<27>+'<27>+'<27>+'<27>+'<27>+'<27>`<04><10>>#<23><0F> <04>b@<01>b@<01>b@<01>b@<01>b@<01>l<EFBFBD>b@<01>b@<01>b@<01>J !<10> <14>S<EFBFBD>M<EFBFBD>!<10>#(<28><13>e<EFBFBD>[<5B>$<24>)F<>#G<>!<10> <0A>e<EFBFBD>C<EFBFBD><13>H<EFBFBD>o<EFBFBD><1E>!<10>!<10>!<10>!<10>H'<27>B<EFBFBD>J<EFBFBD>y<EFBFBD>1<>1<><19> <10><08><13> <0A> <10>(<28>9<EFBFBD>2E<32> <10> <10> <10> <10><6<> <0E><6<> <12>3<EFBFBD><03>8<EFBFBD>_<EFBFBD><6<>
<12>%<25><03>S<EFBFBD><08>/<2F> "<22><6<> <13>5<EFBFBD><13>c<EFBFBD><18>?<3F>
#<23> <6<>
<12>%<25><03>S<EFBFBD><08>/<2F> "<22> <6<> <14>I<EFBFBD> <1E> <6<> <0C><6<><6<><6<><6<><6<><6r#