Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
version.cpython-313.pyc455 linesDownload Raw Back to __pycache__
1�

2
�j����SrSSKJr SSKrSSKrSSKrSSKJrJrJrJ	r	J3r4JrJrJ
r
 \R(aSSKJrJr \R$S:�aSSKJr O%\R(aSSKJr O
SSKrSSKrS<SjrS	S5SSSSSS
.r/SQrS=Sjr\\
\\4S4r\\\\4S4r\\\\\\\4r\
\\\\S4\4\\\\S4\\44r\\\/\ 4r!"SS\SS9r"S>Sjr#S?Sjr$"SS\%5r&"SS5r'Sr(\(RSSS5RSSS 5r*\RVRXS!:Xa\R$S":d:\RVRXS#:Xa\R$S$:d\R$S%:a\*O\(r-\R\"S&\R^\R`-5r1\2"S'5r3S@S(jr4SAS)jr5SBS*jr6SCS+jr7SDS,jr8SES-jr9"S.S/\	5r:"S0S\'5r;"S1S2\;5r<SFS3jr=\R\"S45r>SGS5jr?SS6S7S8.r@S9rAS:rBS9rC\BSSSS6S4rDSHS;jrEg)IzZ6.. testsetup::7 8    from packaging.version import parse, normalize_pre, Version, _cmpkey9�)�annotationsN)�Any�Callable�Literal�10NamedTuple�SupportsInt�Tuple�	TypedDict�Union)�Self�Unpack)��
)�11deprecatedc�^�SU4SjjnU$)Nc�N>^�[R"T5SUU4Sjj5nU$)Nc�H>�[R"T[SS9 T"U0UD6$)N�)�category�12stacklevel)�warnings�warn�DeprecationWarning)�args�kwargs�func�messages  ���WD:\code\apps\devtools\python\user_packages\Python313\site-packages\packaging/version.py�wrapper�/_deprecated.<locals>.decorator.<locals>.wrapper's*����
�
��/� ��13�T�,�V�,�,�)r�objectrr"�returnr")�	functools�wraps)rrrs` �r�	decorator�_deprecated.<locals>.decorator&s%���
�_�_�T�
"�
-�#�
-��Nr!)rzCallable[[...], object]r#r"�)rr&s` r�_deprecatedr)%s���14	��r!�a�b�rc�post)�alpha�beta�c�pre�preview�rev�r)�VERSION_PATTERN�InvalidVersion�Version�
normalize_pre�parsec��[$�N)�__all__r(r!r�__dir__r=Bs���Nr!.c�R�\rSrSr%S\S'S\S'S\S'S\S'S\S	'S15\S'Srg
)�_VersionReplace�Q�16int | None�epochztuple[int, ...] | None�release�tuple[str, int] | Noner1r-�dev�17str | None�localr(N��__name__�18__module__�__qualname__�__firstlineno__�__annotations__�__static_attributes__r(r!rr?r?Qs%����
#�#�	��19��	�O��r!r?F)�totalc�L�UR5n[RX5$)aNormalize the pre-release segment of a version string.20 21Returns a lowercase version of the string if not a known pre-release22identifier.23 24>>> normalize_pre('alpha')25'a'26>>> normalize_pre('BETA')27'b'28>>> normalize_pre('rc')29'rc'30 31:param letter:32 33.. versionadded:: 26.134)�lower�_LETTER_NORMALIZATION�get)�letters rr8r8Zs ��"�\�\�^�F� �$�$�V�4�4r!r7c��[U5$)z�Parse the given version string.35 36This is identical to the :class:`Version` constructor.37 38>>> parse('1.0.dev1')39<Version('1.0.dev1')>40 41:param version: The version string to parse.42:raises InvalidVersion: When the version string is not a valid version.43)r7)�versions rr9r9os���7��r!c��\rSrSrSrSrg)r6�}z�Raised when a version string is not a valid version.44 45>>> Version("invalid")46Traceback (most recent call last):47    ...48packaging.version.InvalidVersion: Invalid version: 'invalid'49r(N)rIrJrKrL�__doc__rNr(r!rr6r6}s��r!r6c��\rSrSrSr\R(a50\SSj5rS
Sjr	SSjr51SSjrSSjrSSjr
SS	jrSS52jrSrg)�_BaseVersion�r(c��gr;r(��selfs r�_key�_BaseVersion._key�s��+.r!c�,�[UR5$r;)�hashr`r^s r�__hash__�_BaseVersion.__hash__�s���D�I�I��r!c�j�[U[5(d[$URUR:$r;��53isinstancer[�NotImplementedr`�r_�others  r�__lt__�_BaseVersion.__lt__��(���%��.�.�!�!��y�y�5�:�:�%�%r!c�j�[U[5(d[$URUR:*$r;rgrjs  r�__le__�_BaseVersion.__le__��(���%��.�.�!�!��y�y�E�J�J�&�&r!c�j�[U[5(d[$URUR:H$r;rgrjs  r�__eq__�_BaseVersion.__eq__�rrr!c�j�[U[5(d[$URUR:�$r;rgrjs  r�__ge__�_BaseVersion.__ge__�rrr!c�j�[U[5(d[$URUR:�$r;rgrjs  r�__gt__�_BaseVersion.__gt__�rnr!c�j�[U[5(d[$URUR:g$r;rgrjs  r�__ne__�_BaseVersion.__ne__�rrr!N)r#ztuple[Any, ...]�r#�int�rkr[r#�bool�rkr"r#r�)rIrJrKrL�	__slots__�typing�
TYPE_CHECKING�propertyr`rdrlrprtrwrzr}rNr(r!rr[r[�sC���I�54���	�.�55�.��&�'�'�'�&�'r!r[a356    v?+                                                   # optional leading v57    (?a:58        (?:(?P<epoch>[0-9]+)!)?+                          # epoch59        (?P<release>[0-9]+(?:\.[0-9]+)*+)                 # release segment60        (?P<pre>                                          # pre-release61            [._-]?+62            (?P<pre_l>alpha|a|beta|b|preview|pre|c|rc)63            [._-]?+64            (?P<pre_n>[0-9]+)?65        )?+66        (?P<post>                                         # post release67            (?:-(?P<post_n1>[0-9]+))68            |69            (?:70                [._-]?71                (?P<post_l>post|rev|r)72                [._-]?73                (?P<post_n2>[0-9]+)?74            )75        )?+76        (?P<dev>                                          # dev release77            [._-]?+78            (?P<dev_l>dev)79            [._-]?+80            (?P<dev_n>[0-9]+)?81        )?+82    )83    (?a:\+84        (?P<local>                                        # local version85            [a-z0-9]+86            (?:[._-][a-z0-9]+)*+87        )88    )?+89z*+�*z?+�?�cpython)r���pypy)rr�r)rr�z[a-z0-9]+(?:[._-][a-z0-9]+)*z.0123456789c�r�U=(d Sn[U[5(aUS:�aU$SU3n[U5e)Nrz(epoch must be non-negative integer, got �rhr�r6)�valuerB�msgs   r�_validate_epochr�90s:���J�Q�E��%����%�1�*���4�U�G�91<�C�92��93�r!c��UcSOUn[U[5(a([U5S:�a[SU55(aU$SU3n[	U5e)N)rrc3�Z# �UH!n[U[5=(a US:�v� M# g7f)rN)rhr�)�.0�is  r�	<genexpr>�$_validate_release.<locals>.<genexpr>s#���?�w�!�94�1�c�"�-�q�A�v�-�w�s�)+z@release must be a non-empty tuple of non-negative integers, got )rh�tuple�len�allr6)r�rCr�s   r�_validate_releaser�sS���m�d��G��7�E�"�"���L�1���?�w�?�?�?���L�W�I�95V�C�96��97�r!c���UcU$[U[5(aB[U5S:Xa3Uup[U5nUS;a[U[5(a	US:�aX4$SU3n[U5e)Nr>r*r+r,rz=pre must be a tuple of ('a'|'b'|'rc', non-negative int), got )rhr�r�r8r�r6)r�rT�numberr�s    r�
_validate_prer�sp���}����%����C��J�!�O�����v�&���%�%�*�V�S�*A�*A�f�PQ�k��#�#�I�%��98Q�C�99��100�r!c�j�UcU$[U[5(a101US:�aSU4$SU3n[U5e)Nrr-z'post must be non-negative integer, got r��r�r�s  r�_validate_postr�+s@���}����%����%�1�*�����3�E�7�102;�C�103��104�r!c�j�UcU$[U[5(a105US:�aSU4$SU3n[U5e)NrrEz&dev must be non-negative integer, got r�r�s  r�
_validate_devr�4s@���}����%����%�1�*��u�~��2�5�'�106:�C�107��108�r!c��UcU$[U[5(a%[RU5(a[	U5$SU<3n[U5e)Nz*local must be a valid version string, got )rh�str�_LOCAL_PATTERN�	fullmatch�_parse_local_versionr6r�s  r�_validate_localr�=sK���}����%����.�":�":�5�"A�"A�#�E�*�*�6�u�i�109@�C�110��111�r!c�R�\rSrSr%S\S'S\S'S\S'S\S	'S112\S'S\S
'Srg)�_VersioniGr�rB�tuple[int, ...]rC�!tuple[Literal['dev'], int] | NonerE�*tuple[Literal['a', 'b', 'rc'], int] | Noner1�"tuple[Literal['post'], int] | Noner-�LocalType | NonerGr(NrHr(r!rr�r�Gs%���J�
��	*�*�	3�3�113,�,��r!r�c�l^�\rSrSr%SrSrSr\R"S\	-S-\R\R-5rS\
S'S\
S	'S114\
S'S\
S
'S\
S'S\
S'S\
S'S\
S'S:Sjr\SSSSSS.S;Sjj5rS<Sjr\S=Sj5rS>SjrS?U4SjjrS?U4SjjrS@U4S jjrS?U4S!jjrS?U4S"jjrS@U4S#jjrSAS$jrSBS%jr\\"S&5SCS'j55r\R>\"S&5SDS(j55rSES)jr SES*jr!\SES+j5r"\S>S,j5r#\SFS-j5r$\SGS.j5r%\SHS/j5r&\SHS0j5r'\SIS1j5r(\SES2j5r)\SES3j5r*\SJS4j5r+\SJS5j5r,\SJS6j5r-\S>S7j5r.\S>S8j5r/\S>S9j5r0Sr1U=r2$)Kr7iPaTThis class abstracts handling of a project's versions.115 116A :class:`Version` instance is comparison aware and can be compared and117sorted using the standard Python interfaces.118 119>>> v1 = Version("1.0a5")120>>> v2 = Version("1.0")121>>> v1122<Version('1.0a5')>123>>> v2124<Version('1.0')>125>>> v1 < v2126True127>>> v1 == v2128False129>>> v1 > v2130False131>>> v1 >= v2132False133>>> v1 <= v2134True135 136:class:`Version` is immutable; use :meth:`__replace__` to change137part of a version.138 139Instances are safe to serialize with :mod:`pickle`. They use a stable140format so the same pickle can be loaded in future packaging releases.141 142.. versionchanged:: 26.2143 144    Added a stable pickle format. Pickles created with packaging 26.2+ can145    be unpickled with future releases.  Backward compatibility with pickles146    from packaging < 26.2 is supported but may be removed in a future147    release.148)�_dev�_epoch�_hash_cache�149_key_cache�_local�_post�_pre�_release)�_strz\s*r�r�r�r�r�r�r�r�r�r�r�r�rAr�z
CmpKey | Noner�c�L�[RU5(a`[[[URS555UlSUl	SUl150SUlSUlSUl
SUlSUlgUR R#U5nU(d[SU<35eUR%S5(a[	UR%S55OSUl	[[[UR%S5RS555Ul['UR%S5UR%S	55Ul151['UR%S1525UR%S5=(d UR%S55Ul['UR%S
5UR%S55Ul[)UR%S55Ul
SUlSUlg![a' SURS5;a[SU<35Seef=f)aInitialize a Version object.153 154:param version:155    The string representation of a version which will be parsed and normalized156    before use.157:raises InvalidVersion:158    If the ``version`` does not conform to PEP 440 in any way then this159    exception will be raised.160�.�zInvalid version: NrrBrC�pre_l�pre_n�post_l�post_n1�post_n2�dev_l�dev_nrG)�_SIMPLE_VERSION_INDICATORS�161issupersetr��mapr��splitr��162ValueErrorr6r�r�r�r�r�r�r��_regexr��group�_parse_letter_versionr�)r_rV�matchs   r�__init__�Version.__init__�s���&�0�0��9�9�	
� %�c�#�w�}�}�S�/A�&B� C��
��D�K��D�I��D�J��D�I��D�K�"�D�O�#�D������%�%�g�.��� �#4�W�K�!@�A�A�38�;�;�w�3G�3G�c�%�+�+�g�.�/�Q����c�#�u�{�{�9�'=�'C�'C�C�'H�I�J��
�*�%�+�+�g�*>����G�@T�U��	�*��K�K��!�5�;�;�y�#9�#S�U�[�[��=S�163��164�*�%�+�+�g�*>����G�@T�U��	�*�5�;�;�w�+?�@����������G�
�����s�+�+�(�+<�W�K�)H�I�t�S��
�s�-G2�21H#rN)rBr1r-rErGc�8�[U5n[U5nUb[U5OSn	Ub[U5OSn165Ub[	U5OSnUb[U5OSnUR
U5n
SU
lSU
lX}l	X�l166X�lX�lX�l
X�lU
$)a�167Return a new version composed of the various parts.168 169This allows you to build a version without going though a string and170running a regular expression. It normalizes pre-release strings. The171``release=`` keyword argument is required.172 173>>> Version.from_parts(release=(1,2,3))174<Version('1.2.3')>175>>> Version.from_parts(release=(0,1,0), pre=("b", 1))176<Version('0.1.0b1')>177 178:param epoch:179:param release: This version tuple is required180 181.. versionadded:: 26.1182N)r�r�r�r�r�r��__new__r�r�r�r�r�r�r�r�)�clsrBrCr1r-rErGr�r�r�r�r�r��new_versions              r�183from_parts�Version.from_parts�s���8!��'��$�W�-��%(�_�}�S�!�$��(,�(8��t�$�d��%(�_�}�S�!�$��+0�+<���'�$���k�k�#�&��!%���"&���#��'����!����#���r!c���SU;a[US5OURnSU;a[US5OURnSU;a[	US5OUR184nSU;a[
US5OURnSU;a[US5OURnSU;a[US5OURnX R:XaMX0R:Xa>X@R185:Xa/XPR:Xa X`R:XaXpR:XaU$URRUR5nSUlSUlX(lX8lXHlXXlXhl	XxlU$)aW186__replace__(*, epoch=..., release=..., pre=..., post=..., dev=..., local=...)187 188Return a new version with parts replaced.189 190This returns a new version (unless no parts were changed). The191pre-release is normalized. Setting a value to ``None`` clears it.192 193>>> v = Version("1.2.3")194>>> v.__replace__(pre=("a", 1))195<Version('1.2.3a1')>196 197:param int | None epoch:198:param tuple[int, ...] | None release:199:param tuple[str, int] | None pre:200:param int | None post:201:param int | None dev:202:param str | None local:203 204.. versionadded:: 26.0205.. versionchanged:: 26.1206 207   The pre-release portion is now normalized.208rBrCr1r-rErGN)r�r�r�r�r�r�r�r�r�r�r�r��	__class__r�r�r�)	r_rrBrCr1r-rErGr�s	         r�__replace__�Version.__replace__�sE��25<�v�4E���w��0�4�;�;���F�"�
�f�Y�/�0����	�209/4�v�o�m�F�5�M�*�4�9�9��17�6�1A�~�f�V�n�-�t�z�z��.3�v�o�m�F�5�M�*�4�9�9��4;�v�4E���w��0�4�;�;��
�[�[� ��=�=�(��y�y� ��210�211�"��y�y� ����$��K��n�n�,�,�T�^�^�<��!%���"&���"��&���� ����"���r!c���URcQ[URURURUR212URUR5UlUR$r;)r��_cmpkeyr�r�r�r�r�r�r^s rr`�Version._key/sN���?�?�"�%�����
�
��	�	��213�214��	�	����
�D�O����r!c��UR=nbU$UR=ncS[URURUR215URURUR5=Uln[U5=UlnU$r;)216r�r�r�r�r�r�r�r�r�rc)r_�cached_hash�keys   rrd�Version.__hash__>s~���+�+�+�K�8����?�?�"�C�+�$+�����
�
��	�	��217�218��	�	����
%�
�D�O�c�*.�c��2���;��r!c�,>�[U[5(a�URcQ[URUR219URURURUR5UlURcQ[URUR220URURURUR5UlURUR:$[U[5(d[$[TU]5U5$r;)rhr7r�r�r�r�r�r�r�r�r[ri�superrl�r_rkr�s  �rrl�Version.__lt__P������e�W�%�%����&�")��K�K��M�M��I�I��J�J��I�I��K�K�
#������'�#*��L�L��N�N��J�J��K�K��J�J��L�L�
$�� ��?�?�U�%5�%5�5�5��%��.�.�!�!��w�~�e�$�$r!c�,>�[U[5(a�URcQ[URUR221URURURUR5UlURcQ[URUR222URURURUR5UlURUR:*$[U[5(d[$[TU]5U5$r;)rhr7r�r�r�r�r�r�r�r�r[rir�rpr�s  �rrp�Version.__le__k������e�W�%�%����&�")��K�K��M�M��I�I��J�J��I�I��K�K�
#������'�#*��L�L��N�N��J�J��K�K��J�J��L�L�
$�� ��?�?�e�&6�&6�6�6��%��.�.�!�!��w�~�e�$�$r!c�,>�[U[5(a�URcQ[URUR223URURURUR5UlURcQ[URUR224URURURUR5UlURUR:H$[U[5(d[$[TU]5U5$r;)rhr7r�r�r�r�r�r�r�r�r[rir�rtr�s  �rrt�Version.__eq__�r�r!c�,>�[U[5(a�URcQ[URUR225URURURUR5UlURcQ[URUR226URURURUR5UlURUR:�$[U[5(d[$[TU]5U5$r;)rhr7r�r�r�r�r�r�r�r�r[rir�rwr�s  �rrw�Version.__ge__�r�r!c�,>�[U[5(a�URcQ[URUR227URURURUR5UlURcQ[URUR228URURURUR5UlURUR:�$[U[5(d[$[TU]5U5$r;)rhr7r�r�r�r�r�r�r�r�r[rir�rzr�s  �rrz�Version.__gt__�r�r!c�,>�[U[5(a�URcQ[URUR229URURURUR5UlURcQ[URUR230URURURUR5UlURUR:g$[U[5(d[$[TU]5U5$r;)rhr7r�r�r�r�r�r�r�r�r[rir�r}r�s  �rr}�Version.__ne__�r�r!c��URURURURURUR2314$r;)r�r�r�r�r�r�r^s r�__getstate__�Version.__getstate__�s8��
�K�K��M�M��I�I��J�J��I�I��K�K�
232�	233r!c��SUlSUl[U[5(a�[	U5S:Xa(UuUlUlUlUlUl	Ul234g[	U5S:Xa�Uup#[U[5(amUSUlUSUlURS5UlURS5UlURS5Ul	URS5Ul235g[U[5(a{URS	5nUbgURUlURUlURUlUR UlUR"Ul	UR$Ul236g['S237U<35e)N�rr�r�r�r�r�r��_versionzCannot restore Version from )r�r�rhr�r�r�r�r�r�r�r��dictrSrBrCr1r-rErG�	TypeError)r_�state�_�	slot_dict�238version_nts     r�__setstate__�Version.__setstate__sQ���������e�U�#�#��5�z�Q�����K��M��I��J��I��K���5�z�Q��$����i��.�.�"+�H�"5�D�K�$-�j�$9�D�M� )�
�
�f� 5�D�I�!*���w�!7�D�J� )�
�
�f� 5�D�I�"+�-�-��"9�D�K���e�T�"�"����:�.�J��%�(�.�.��� *� 2� 2��
�&�N�N��	�'�_�_��239�&�N�N��	�(�.�.�����6�u�i�@�A�Ar!z4Version._version is private and will be removed soonc��[URURURURUR240UR5$r;)r�r�r�r�r�r�r�r^s rr��Version._version5s6����K�K�����	�	�4�9�9�d�j�j�$�+�+�241�	242r!c���URUlURUlURUlURUlURUl	URUlSUlSUl
gr;)rBr�rCr�rEr�r1r�r-r�rGr�r�r�)r_r�s  rr�r<sU���k�k����
�
��
��I�I��	��I�I��	��Z�Z��243��k�k��������r!c�P�SURRS[U5<S3$)zhA representation of the Version that shows all internal state.244 245>>> Version('1.0.0')246<Version('1.0.0')>247�<�(z)>)r�rIr�r^s r�__repr__�Version.__repr__Hs(���4�>�>�*�*�+�1�S��Y�M��<�<r!c���SR[[UR55nUR(aURSU3nUR248b,USR[[UR24955-
nURbUSUR3-
nURbUSUR3-
nURbUSUR3-
nU$)zeA string representation of the version that can be round-tripped.250 251>>> str(Version("1.0a5"))252'1.0a5'253r��!r�z.postz.dev�+)	�joinr�r�rCrBr1r-rErG)r_rVs  r�__str__�Version.__str__Ps����(�(�3�s�D�L�L�1�2���:�:�����A�g�Y�/�G��8�8���r�w�w�s�3����1�2�2�G��9�9� ���t�y�y�k�*�*�G��8�8����d�h�h�Z�(�(�G��:�:�!���4�:�:�,�'�'�G��r!c��[U5$)z Internal property for match_args�r�r^s rr��Version._stros���4�y�r!c��UR$)zWThe epoch of the version.254 255>>> Version("2.0.0").epoch2560257>>> Version("1!2.0.0").epoch2581259)r�r^s rrB�
Version.epochts���{�{�r!c��UR$)aThe components of the "release" segment of the version.260 261>>> Version("1.2.3").release262(1, 2, 3)263>>> Version("2.0.0").release264(2, 0, 0)265>>> Version("1!2.0.0.post0").release266(2, 0, 0)267 268Includes trailing zeroes but not the epoch or any pre-release / development /269post-release suffixes.270)r�r^s rrC�Version.releases���}�}�r!c��UR$)z�The pre-release segment of the version.271 272>>> print(Version("1.2.3").pre)273None274>>> Version("1.2.3a1").pre275('a', 1)276>>> Version("1.2.3b1").pre277('b', 1)278>>> Version("1.2.3rc1").pre279('rc', 1)280)r�r^s rr1�Version.pre�s���y�y�r!c�F�UR(aURS$S$)zqThe post-release number of the version.281 282>>> print(Version("1.2.3").post)283None284>>> Version("1.2.3.post1").post2851286�N)r�r^s rr-�Version.post�s��!%�287�288�t�z�z�!�}�4��4r!c�F�UR(aURS$S$)zmThe development number of the version.289 290>>> print(Version("1.2.3").dev)291None292>>> Version("1.2.3.dev1").dev2931294rN)r�r^s rrE�Version.dev�s�� $�y�y�t�y�y��|�2�d�2r!c�j�UR(a"SRSUR55$g)zwThe local version segment of the version.295 296>>> print(Version("1.2.3").local)297None298>>> Version("1.2.3+abc").local299'abc'300r�c3�8# �UHn[U5v� M g7fr;r)r��xs  rr�� Version.local.<locals>.<genexpr>�s���8�K�q�C��F�F�K�s�N)r�rr^s rrG�
Version.local�s'���;�;��8�8�8�D�K�K�8�8�8�r!c�>�[U5RSS5S$)a)The public portion of the version.301 302This returns a string. If you want a :class:`Version` again and care303about performance, use ``v.__replace__(local=None)`` instead.304 305>>> Version("1.2.3").public306'1.2.3'307>>> Version("1.2.3+abc").public308'1.2.3'309>>> Version("1!1.2.3dev1+abc").public310'1!1.2.3.dev1'311r312rr)r�r�r^s r�public�Version.public�s���4�y���s�A�&�q�)�)r!c��SR[[UR55nUR(aURSU3$U$)a�The "base version" of the version.313 314This returns a string. If you want a :class:`Version` again and care315about performance, use316``v.__replace__(pre=None, post=None, dev=None, local=None)`` instead.317 318>>> Version("1.2.3").base_version319'1.2.3'320>>> Version("1.2.3+abc").base_version321'1.2.3'322>>> Version("1!1.2.3dev1+abc").base_version323'1!1.2.3'324 325The "base version" is the public version of the project without any pre or post326release markers.327r�r	)rr�r�rCrB)r_�release_segments  r�base_version�Version.base_version�s>��$�(�(�3�s�D�L�L�#9�:��48�J�J�$�*�*��Q��/�0�S�O�Sr!c�H�URSL=(d URSL$)z�Whether this version is a pre-release.328 329>>> Version("1.2.3").is_prerelease330False331>>> Version("1.2.3a1").is_prerelease332True333>>> Version("1.2.3b1").is_prerelease334True335>>> Version("1.2.3rc1").is_prerelease336True337>>> Version("1.2.3dev1").is_prerelease338True339N)rEr1r^s r�
is_prerelease�Version.is_prerelease�s!���x�x�t�#�;�t�x�x�t�';�;r!c��URSL$)z�Whether this version is a post-release.340 341>>> Version("1.2.3").is_postrelease342False343>>> Version("1.2.3.post1").is_postrelease344True345N)r-r^s r�is_postrelease�Version.is_postrelease�s���y�y��$�$r!c��URSL$)z�Whether this version is a development release.346 347>>> Version("1.2.3").is_devrelease348False349>>> Version("1.2.3.dev1").is_devrelease350True351N)rEr^s r�
is_devrelease�Version.is_devreleases���x�x�t�#�#r!c�V�[UR5S:�aURS$S$)zYThe first item of :attr:`release` or ``0`` if unavailable.352 353>>> Version("1.2.3").major3541355rr�r�rCr^s r�major�
Version.majors'��#&�d�l�l�"3�q�"8�t�|�|�A��?�a�?r!c�V�[UR5S:�aURS$S$)zsThe second item of :attr:`release` or ``0`` if unavailable.356 357>>> Version("1.2.3").minor3582359>>> Version("1").minor3600361rrrr2r^s r�minor�
Version.minor�'��#&�d�l�l�"3�q�"8�t�|�|�A��?�a�?r!c�V�[UR5S:�aURS$S$)zrThe third item of :attr:`release` or ``0`` if unavailable.362 363>>> Version("1.2.3").micro3643365>>> Version("1").micro3660367rrrr2r^s r�micro�
Version.micro"r8r!)rVr�r#�None)rBr�rCr�r1rDr-rArErArGrFr#r)rzUnpack[_VersionReplace]r#r)r#�CmpKeyrr�r�)r#zutuple[int, tuple[int, ...], tuple[str, int] | None, tuple[str, int] | None, tuple[str, int] | None, LocalType | None])r�r"r#r<)r#r�)r�r�r#r<)r#r��r#r�)r#r�)r#rA)r#rF)r#r�)3rIrJrKrLrYr��__match_args__�re�compiler5�VERBOSE�368IGNORECASEr�rMr��classmethodr�r�r�r`rdrlrprtrwrzr}r�r�r)r��setterrrr�rBrCr1r-rErGr"r&r)r,r/r3r6r:rN�
__classcell__�r�s@rr7r7Ps����"�H	�I��N���Z�Z���0�6�9�2�:�:��
�
�;U�
V�F��K���369+�+�3704�4�-�-�������0 �d��&*��� �,��,�!�	,�371$�,��
,��,��,�372�,��,�\8�t�373��374��$%�6%�6%�6%�6%�6%�6375�376�377�,+B�Z��G�H�378�I��379�380�_�_��G�H� �I�� �=��>���������
��
������5��5��3��3������
*��
*��T��T�(�<��<� �%��%��$��$��@��@��@��@��@��@r!c�J^�\rSrSrSrSU4Sjjr\SU4Sjj5rSrU=r	$)�_TrimmedReleasei.r(c�>>�[U[5(axURUlURUlURUlUR381UlURUlURUlURUlg[TU])U5 gr;)rhr7r�r�r�r�r�r�r�r�r�)r_rVr�s  �rr��_TrimmedRelease.__init__1sq����g�w�'�'�!�.�.�D�K�#�,�,�D�M����D�I����D�I� ���D�J�!�.�.�D�K�%�0�0�D�O��
����!r!c�>�[TU]n[U5nUnUS:�a#XS-382S:XaUS-nUS:�a
XS-383S:XaMX2:XaU$USU$)z�384Release segment without any trailing zeros.385 386>>> _TrimmedRelease('1.0.0').release387(1,)388>>> _TrimmedRelease('0.0').release389(0,)390rrN)r�rCr�)r_�rel�len_releaser�r�s    �rrC�_TrimmedRelease.release=sc����g�o���#�h�����!�e���E�391�a��
��F�A��!�e���E�392�a���&�s�3�C���G�3r!)r�r�r�r�r�r�r�)rVz
str | Versionr#r<r>)393rIrJrKrLr�r�r�rCrNrFrGs@rrIrI.s!����I�394"��4��4r!rIc��U(a;UR5n[RX5nU[U=(d S54$U(a
S[U54$g)Nrr-)rQrRrSr�)rTr�s  rr�r�PsQ��������395'�*�*�6�:���s�6�;�Q�'�'�'�
��s�6�{�"�"�r!z[\._-]c�T�Ub%[S[RU555$g)zT396Takes a string like ``"abc.1.twelve"`` and turns it into397``("abc", 1, "twelve")``.398Nc3�# �UH5nUR5(dUR5O399[U5v� M7 g7fr;)�isdigitrQr�)r��parts  rr��'_parse_local_version.<locals>.<genexpr>qs0���400�>��!%�����D�J�J�L�C��I�=�>�s�=?)r��_local_version_separatorsr�)rGs rr�r�ks4��401
���402�1�7�7��>�403�404�	405�r!rr)r*r+r,�����rc��[U5nUnU(a$XS-406S:XaUS-nU(a
XS-407S:XaMXv:XaUOUSUnUcUcUcUcX[4$UcUcUb[Sp�OUc[Sp�O[USUSp�UcSOSnUcSOUSnUcSOSn
UcSOUSnX�X�X�4nUcXU4$[SU55nXUU4$)aABuild a comparison key for PEP 440 ordering.408 409Returns ``(epoch, release, suffix)`` or410``(epoch, release, suffix, local)`` so that plain tuple411comparison gives the correct order.412 413Trailing zeros are stripped from the release so that ``1.0.0 == 1``.414 415The suffix is a flat 6-int tuple that encodes pre/post/dev:416``(pre_rank, pre_n, post_rank, post_n, dev_rank, dev_n)``417 418pre_rank: dev-only=-1, a=0, b=1, rc=2, no-pre=3419    Dev-only releases (no pre or post) get -1 so they sort before420    any alpha/beta/rc.  Releases without a pre-release tag get 3421    so they sort after rc.422post_rank: no-post=0, post=1423    Releases without a post segment sort before those with one.424dev_rank: dev=0, no-dev=1425    Releases without a dev segment sort after those with one.426 427Local segments use ``(n, "")`` for ints and ``(-1, s)`` for strings,428following PEP 440: strings sort before ints, strings compare429lexicographically, ints compare numerically, and shorter segments430sort before longer when prefixes match.  Versions without a local431segment sort before those with one (3-tuple < 4-tuple).432 433>>> _cmpkey(0, (1, 0, 0), None, None, None, None)434(0, (1,), (3, 0, 0, 0, 1, 0))435>>> _cmpkey(0, (1,), ("a", 1), None, None, None)436(0, (1,), (0, 1, 0, 0, 1, 0))437>>> _cmpkey(0, (1,), None, None, None, ("ubuntu", 1))438(0, (1,), (3, 0, 0, 0, 1, 0), ((-1, 'ubuntu'), (1, '')))439rrNc3�d# �UH&n[U[5(aUS4O[U4v� M( g7f)r�N)rhr��_LOCAL_STR_RANK)r��segs  rr��_cmpkey.<locals>.<genexpr>�s.���$�QV�#�Z��S�)�)��b�	���/E�E�QV�s�.0)r��_STABLE_SUFFIX�_PRE_RANK_DEV_ONLY�_PRE_RANK_STABLE�	_PRE_RANKr�)rBrCr1r-rErGrNr��trimmed�pre_rankr��	post_rank�post_n�dev_rankr��suffix�	cmp_locals                 rr�r��s��T�g�,�K��A�440��A���!�#�	�Q�����A���!�#��)�g�w�r��{�G��{�t�|����
��~�-�-�441�{�t�|���,�a�%�	��*�A�%�#�C��F�+�S��V�%��\��q�I��,�Q�D��G�F��K�q�Q�H���A�#�a�&�E��y�(�
B�F��}��v�%�%�#�$�QV�$��I��6�9�,�,r!)rr�r#r")r#z	list[str])rTr�r#r�)rVr�r#r7)r�r"r#r�)r�r"r#r�)r�r"r#r�)r�r"r#r�)r�r"r#r�)r�r"r#r�)rTrFr�z str | bytes | SupportsInt | Noner#rD)rGrFr#r�)rBr�rCr�r1rDr-rDrErDrGr�r#r=)FrY�442__future__rr@�sysr�rrrrrr	r443rr��typing_extensionsrr
�version_inforrr)r$rRr<r=r�r��	LocalType�CmpLocalType�	CmpSuffixr=r��VersionComparisonMethodr?r8r9r�r6r[�_VERSION_PATTERN�replace�_VERSION_PATTERN_OLD�implementation�namer5rArC�ASCIIr��	frozensetr�r�r�r�r�r�r�r�r7rIr�rVr�r`r^r_rZr]r�r(r!r�<module>rws���#�	�444�
�	�	�	�445���.����w��2����;���
�"��	
����	���U���
�%��S��/�3�&�'�	��U�3��8�_�c�)�*���#�s�C��c�3�.�/�	�	�	�#�u�S�#�X��	�446)�*�	�#�u�S�#�X��	�<�4477�8�:�448��#�F�F�#3�T�#9�:���i�u��5�*��Z��3'�3'�t"��H(�/�/��c�:�B�B�4��M��	�����9�,��1A�1A�J�1N������6�)�c�.>�.>��.L�449���'�!��450���$���;�R�]�]�R�X�X�=U�V��'�}�5���	�451�����z��[@�l�[@�|4�g�4�D��� @����0�J�J�y�1��452��!�1�%�	�������#�A�q�!�Q��2��J-��J-�
�J-�453 �J-�!�	J-�454455 �J-��
J-��J-r!
codekingpro/portable-devtools · Team Ai