????
Your IP : 3.22.234.133
�
As��Q�'i���dZddlZddlZddlZddlmZmZmZmZm Z m
Z
ddlmZm
Z
mZmZgd�Ze
e
efZe
ee eeffZe
eeefZe
ee e
ee eefe eeffdffZe ee edfeeeefZeeegefZejdgd ���Zd
eddfd
�ZGd�de��ZGd�d��ZdZ e Z! Gd�de��Z"dede
ee#efdee eeffd�Z$ej%d��Z&dedeefd�Z'dede edfdee eefdee eefdee eefdee edefd�Z(dS) zB
.. testsetup::
from packaging.version import parse, Version
�N)�Any�Callable�Optional�SupportsInt�Tuple�Union�)�Infinity�InfinityType�NegativeInfinity�NegativeInfinityType)�VERSION_PATTERN�parse�Version�InvalidVersion.�_Version)�epoch�release�dev�pre�post�local�version�returnrc� �t|��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)rs �q/builddir/build/BUILD/imunify360-venv-2.5.0/opt/imunify360/venv/lib/python3.11/site-packages/packaging/version.pyrr+s���7����c��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)�__name__�
__module__�__qualname__�__doc__�rrrr7s���������rrc��eZdZUeedfed<defd�Zdddefd�Z dddefd�Z
dedefd�Zdddefd �Z
dddefd
�Zdedefd�ZdS)
�_BaseVersion.�_keyrc�*�t|j��S�N)�hashr&��selfs r�__hash__z_BaseVersion.__hash__Ds���D�I���r�otherc�Z�t|t��stS|j|jkSr(��
isinstancer%�NotImplementedr&�r+r-s r�__lt__z_BaseVersion.__lt__J�)���%��.�.� "�!�!��y�5�:�%�%rc�Z�t|t��stS|j|jkSr(r/r2s r�__le__z_BaseVersion.__le__P�)���%��.�.� "�!�!��y�E�J�&�&rc�Z�t|t��stS|j|jkSr(r/r2s r�__eq__z_BaseVersion.__eq__Vr7rc�Z�t|t��stS|j|jkSr(r/r2s r�__ge__z_BaseVersion.__ge__\r7rc�Z�t|t��stS|j|jkSr(r/r2s r�__gt__z_BaseVersion.__gt__br4rc�Z�t|t��stS|j|jkSr(r/r2s r�__ne__z_BaseVersion.__ne__hr7rN)rr r!rr�__annotations__�intr,�boolr3r6�objectr9r;r=r?r#rrr%r%As�������
��S��/�����#�����&�N�&�t�&�&�&�&�'�N�'�t�'�'�'�'�'�F�'�t�'�'�'�'�'�N�'�t�'�'�'�'�&�N�&�t�&�&�&�&�'�F�'�t�'�'�'�'�'�'rr%a�
v?
(?:
(?:(?P<epoch>[0-9]+)!)? # epoch
(?P<release>[0-9]+(?:\.[0-9]+)*) # release segment
(?P<pre> # pre-release
[-_\.]?
(?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
[-_\.]?
(?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�f�eZdZUdZejdezdzejejz��Z e
ed<deddfd�Z
defd �Zdefd
�Zedefd���Zedeedffd
���Zedeeeeffd���Zedeefd���Zedeefd���Zedeefd���Zedefd���Zedefd���Zedefd���Zedefd���Zedefd���Zedefd���Z edefd���Z!edefd���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&rrNc���|j�|��}|std|�d����t|�d��r"t|�d����ndt
d�|�d���d��D����t|�d��|�d ����t|�d
��|�d��p|�d����t|�d
��|�d����t|�d�������|_
t|j
j|j
j
|j
j|j
j|j
j|j
j��|_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: '�'rrc3�4K�|]}t|��V��dSr()rA��.0�is r� <genexpr>z#Version.__init__.<locals>.<genexpr>�s(����L�L�Q�#�a�&�&�L�L�L�L�L�Lrr�.�pre_l�pre_n�post_l�post_n1�post_n2�dev_l�dev_nr)rrrrrrN)�_regex�searchrr�grouprA�tuple�split�_parse_letter_version�_parse_local_version�_version�_cmpkeyrrrrrrr&)r+r�matchs r�__init__zVersion.__init__�s�����"�"�7�+�+��� B� �!@�g�!@�!@�!@�A�A�A�!�/4�{�{�7�/C�/C�J�#�e�k�k�'�*�*�+�+�+���L�L�%�+�+�i�*@�*@�*F�*F�s�*K�*K�L�L�L�L�L�%�e�k�k�'�&:�&:�E�K�K��<P�<P�Q�Q�&����H�%�%�u�{�{�9�'=�'=�'W����Y�AW�AW���&�e�k�k�'�&:�&:�E�K�K��<P�<P�Q�Q�&�u�{�{�7�';�';�<�<�
�
�
��
���M���M�!��M���M���M���M��
�
�� � � rc��d|�d�S)z�A representation of the Version that shows all internal state.
>>> Version('1.0.0')
<Version('1.0.0')>
z
<Version('z')>r#r*s r�__repr__zVersion.__repr__�s��&�D�%�%�%�%rc�B�g}|jdkr|�|j�d���|�d�d�|jD������|j�7|�d�d�|jD������|j�|�d|j����|j�|�d |j����|j�|�d
|j����d�|��S)zA string representation of the version that can be rounded-tripped.
>>> str(Version("1.0a5"))
'1.0a5'
r�!rLc3�4K�|]}t|��V��dSr(��str�rI�xs rrKz"Version.__str__.<locals>.<genexpr>��(����;�;��c�!�f�f�;�;�;�;�;�;rN�c3�4K�|]}t|��V��dSr(rdrfs rrKz"Version.__str__.<locals>.<genexpr>�s(���� :� :�A��Q��� :� :� :� :� :� :rz.postz.dev�+)r�append�joinrrrrr�r+�partss r�__str__zVersion.__str__�s"�����:��?�?��L�L�D�J�)�)�)�*�*�*� ���S�X�X�;�;�d�l�;�;�;�;�;�<�<�<��8���L�L���� :� :��� :� :� :�:�:�;�;�;��9� ��L�L�,���,�,�-�-�-��8���L�L�*���*�*�+�+�+��:�!��L�L�)�T�Z�)�)�*�*�*��w�w�u�~�~�rc��|jj}|S)zThe epoch of the version.
>>> Version("2.0.0").epoch
0
>>> Version("1!2.0.0").epoch
1
)r[r)r+�_epochs rrz
Version.epochs���m�)���
r.c��|jj}|S)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[r)r+�_releases rrzVersion.releases��%)�M�$9���rc��|jj}|S)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[r)r+�_pres rrzVersion.pre$s��+/�-�*;���rc�B�|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[rr*s rrzVersion.post4s#��)-�
�(:�D�t�}�!�!�$�$��Drc�B�|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[rr*s rrzVersion.dev?s#��(,�}�'8�B�t�}� ��#�#�d�Brc�p�|jjr)d�d�|jjD����SdS)z�The local version segment of the version.
>>> print(Version("1.2.3").local)
None
>>> Version("1.2.3+abc").local
'abc'
rLc3�4K�|]}t|��V��dSr(rdrfs rrKz Version.local.<locals>.<genexpr>Ts(����@�@�q�C��F�F�@�@�@�@�@�@rN)r[rrmr*s rrz
Version.localJs<���=�� ��8�8�@�@�D�M�,?�@�@�@�@�@�@��4rc�T�t|���dd��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'
rkr r)rerXr*s r�publiczVersion.publicXs#���4�y�y���s�A�&�&�q�)�)rc���g}|jdkr|�|j�d���|�d�d�|jD������d�|��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.
rrbrLc3�4K�|]}t|��V��dSr(rdrfs rrKz'Version.base_version.<locals>.<genexpr>zrhrri)rrlrmrrns r�base_versionzVersion.base_versionest�����:��?�?��L�L�D�J�)�)�)�*�*�*� ���S�X�X�;�;�d�l�;�;�;�;�;�<�<�<��w�w�u�~�~�rc�&�|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)rrr*s r�
is_prereleasezVersion.is_prerelease~s���x�t�#�;�t�x�t�';�;rc��|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)rr*s r�is_postreleasezVersion.is_postrelease�s���y��$�$rc��|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)rr*s r�
is_devreleasezVersion.is_devrelease�s���x�t�#�#rc�P�t|j��dkr
|jdndS)zqThe first item of :attr:`release` or ``0`` if unavailable.
>>> Version("1.2.3").major
1
r r��lenrr*s r�majorz
Version.major�s(��#&�d�l�"3�"3�q�"8�"8�t�|�A���a�?rc�P�t|j��dkr
|jdndS)z�The second item of :attr:`release` or ``0`` if unavailable.
>>> Version("1.2.3").minor
2
>>> Version("1").minor
0
�r rr�r*s r�minorz
Version.minor��(��#&�d�l�"3�"3�q�"8�"8�t�|�A���a�?rc�P�t|j��dkr
|jdndS)z�The third item of :attr:`release` or ``0`` if unavailable.
>>> Version("1.2.3").micro
3
>>> Version("1").micro
0
�r�rr�r*s r�microz
Version.micro�r�r)#rr r!r"�re�compiler�VERBOSE�
IGNORECASErT�CmpKeyr@rer^r`rp�propertyrArrrrrrrrr|rrBr�r�r�r�r�r�r#rrrr�s ���������.�R�Z��/�1�G�;�R�Z�"�-�=W�
X�
X�F�
�L�L�L�$
��$
��$
�$
�$
�$
�L&�#�&�&�&�&�������B� �s� � � ��X� ����s�C�x������X�� �
�X�e�C��H�o�.�
�
�
��X�
��E�h�s�m�E�E�E��X�E��C�X�c�]�C�C�C��X�C���x��}�����X���
*��
*�
*�
*��X�
*���c�����X��0�<�t�<�<�<��X�<� �%��%�%�%��X�%��$�t�$�$�$��X�$��@�s�@�@�@��X�@��@�s�@�@�@��X�@��@�s�@�@�@��X�@�@�@r�letter�numberc���|rH|�d}|���}|dkrd}n|dkrd}n
|dvrd}n|dvrd }|t|��fS|s|rd }|t|��fSdS)
Nr�alpha�a�beta�b)�cr�preview�rc)�rev�rr)�lowerrA)r�r�s rrYrY�s����#��>��F�������
�W����F�F�
�v�
�
��F�F�
�.�
.�
.��F�F�
�|�
#�
#��F��s�6�{�{�"�"��#�f�#����s�6�{�{�"�"��4rz[\._-]rc�l�|�1td�t�|��D����SdS)zR
Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
Nc3�K�|];}|���s|���nt|��V��<dSr()�isdigitr�rA)rI�parts rrKz'_parse_local_version.<locals>.<genexpr>�sU����
�
��!%�����=�D�J�J�L�L�L�C��I�I�
�
�
�
�
�
r)rW�_local_version_separatorsrX)rs rrZrZ�sM��
���
�
�1�7�7��>�>�
�
�
�
�
�
��4rrrrrrc�P�ttttjd�t|����������}|�|�
|�t
}n|�t}n|}|�t
}n|}|�t} n|} |�t
}
ntd�|D����}
||||| |
fS)Nc��|dkS)Nrr#)rgs r�<lambda>z_cmpkey.<locals>.<lambda>s
��A��F�rc3�ZK�|]&}t|t��r|dfnt|fV��'dS)riN)r0rArrHs rrKz_cmpkey.<locals>.<genexpr>0sP����
�
�IJ�z�!�S�)�)�D�Q��G�G�0@�!�/D�
�
�
�
�
�
r)rW�reversed�list� itertools� dropwhilerr
)rrrrrrrtrv�_post�_dev�_locals rr\r\�s������i�)�*:�*:�H�W�<M�<M�N�N�O�O�P�P���H��{�t�|���/���
��������|� 0������{�'������}�,����
�
�NS�
�
�
�
�
���(�D�%��v�5�5r))r"�collectionsr�r��typingrrrrrr�_structuresr
rrr
�__all__�
InfiniteTypesrerA�PrePostDevType�SubLocalType� LocalTyper�rB�VersionComparisonMethod�
namedtuplerr�
ValueErrorrr%�_VERSION_PATTERNrr�bytesrYr�r�rZr\r#rr�<module>r�sQ������������ � � � �E�E�E�E�E�E�E�E�E�E�E�E�E�E�E�E�W�W�W�W�W�W�W�W�W�W�W�W�
C�
C�
C���l�$8�8�9�
��}�e�C��H�o�5�6���]�C��,�-���� �
���,��#�$��&��4�5�
7�
�
�
���
� �
���s�C�x��.�.�.�)�S�
��#�F�F�#3�T�#9�:��!�;�!��C�C�C����
�3� �9� � � � ������Z����+'�+'�+'�+'�+'�+'�+'�+'�`��>#�� �e@�e@�e@�e@�e@�l�e@�e@�e@�P !��!��s�E�;�6�7�!�
�e�C��H�o��!�!�!�!�H'�B�J�y�1�1�� �� ���(;� � � � �<6��<6�
�3��8�_�<6�
�%��S��/� "�<6��5��c��?�
#� <6�
�%��S��/� "�<6��E�,�'�(�
<6��<6�<6�<6�<6�<6�<6r