
    fXfI9                        d dl Z d dlZd dlZd dlZd dlmZmZmZmZm	Z	m
Z
mZ ddlmZmZmZmZ g dZeeef         Zeee
eef         f         Zeeeef         Zeee
eee
eef         e
eef         f         df         f         Ze
ee
edf         eeeef         Ze
ee
edf         f         Zeeeef         eeef         gef         Z e j        dg d          Zd	ed
ed         fdZ G d de          Z  G d d          Z! G d de!          Z" ej#        dej$                  Z%ddddddZ&ded
ee         fdZ'd	ed
efdZ(dZ) G d de!          Z*dedeee+e	f         d
ee
eef                  fd Z, ej#        d!          Z-d"ed
ee         fd#Z.d$ed%e
edf         d&ee
eef                  d'ee
eef                  d(ee
eef                  d"ee
e                  d
efd)Z/dS )*    N)CallableIteratorListOptionalSupportsIntTupleUnion   )InfinityInfinityTypeNegativeInfinityNegativeInfinityType)parseVersionLegacyVersionInvalidVersionVERSION_PATTERN._Version)epochreleasedevprepostlocalversionreturn)r   r   c                 `    	 t          |           S # t          $ r t          |           cY S w xY w)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.
    )r   r   r   )r   s    V/var/www/html/Qu*py/bism/lib/python3.11/site-packages/pip/_vendor/packaging/version.pyr   r   *   sD    &w & & &W%%%%%&s    --c                       e Zd ZdZdS )r   zF
    An invalid version was found, users should refer to PEP 440.
    N)__name__
__module____qualname____doc__     r   r   r   6   s           r%   r   c                       e Zd ZU eeef         ed<   defdZdd de	fdZ
dd de	fdZdede	fdZdd de	fdZdd de	fd	Zdede	fd
ZdS )_BaseVersion_keyr   c                 *    t          | j                  S N)hashr(   selfs    r   __hash__z_BaseVersion.__hash__?   s    DIr%   otherc                 Z    t          |t                    st          S | j        |j        k     S r*   
isinstancer'   NotImplementedr(   r-   r/   s     r   __lt__z_BaseVersion.__lt__E   )    %.. 	"!!y5:%%r%   c                 Z    t          |t                    st          S | j        |j        k    S r*   r1   r4   s     r   __le__z_BaseVersion.__le__K   )    %.. 	"!!yEJ&&r%   c                 Z    t          |t                    st          S | j        |j        k    S r*   r1   r4   s     r   __eq__z_BaseVersion.__eq__Q   r9   r%   c                 Z    t          |t                    st          S | j        |j        k    S r*   r1   r4   s     r   __ge__z_BaseVersion.__ge__W   r9   r%   c                 Z    t          |t                    st          S | j        |j        k    S r*   r1   r4   s     r   __gt__z_BaseVersion.__gt__]   r6   r%   c                 Z    t          |t                    st          S | j        |j        k    S r*   r1   r4   s     r   __ne__z_BaseVersion.__ne__c   r9   r%   N)r    r!   r"   r	   CmpKeyLegacyCmpKey__annotations__intr.   boolr5   r8   objectr;   r=   r?   rA   r$   r%   r   r'   r'   <   s        
$
%%%%#    &N &t & & & &'N 't ' ' ' ''F 't ' ' ' ''N 't ' ' ' '&N &t & & & &'F 't ' ' ' ' ' 'r%   r'   c                   V   e Zd ZdeddfdZdefdZdefdZedefd            Zedefd            Z	ede
fd	            Zedd
            Zedd            Zedd            Zedd            Zedd            Zedefd            Zedefd            Zedefd            ZdS )r   r   r   Nc                     t          |          | _        t          | j                  | _        t	          j        dt                     d S )NzZCreating a LegacyVersion has been deprecated and will be removed in the next major release)str_version_legacy_cmpkeyr(   warningswarnDeprecationWarning)r-   r   s     r   __init__zLegacyVersion.__init__k   sF    G"4=11	0	
 	
 	
 	
 	
r%   c                     | j         S r*   rK   r,   s    r   __str__zLegacyVersion.__str__u   s
    }r%   c                     d|  dS )Nz<LegacyVersion('')>r$   r,   s    r   __repr__zLegacyVersion.__repr__x   s    +$++++r%   c                     | j         S r*   rR   r,   s    r   publiczLegacyVersion.public{   
    }r%   c                     | j         S r*   rR   r,   s    r   base_versionzLegacyVersion.base_version   rY   r%   c                     dS )Nr$   r,   s    r   r   zLegacyVersion.epoch   s    rr%   c                     d S r*   r$   r,   s    r   r   zLegacyVersion.release       tr%   c                     d S r*   r$   r,   s    r   r   zLegacyVersion.pre   r_   r%   c                     d S r*   r$   r,   s    r   r   zLegacyVersion.post   r_   r%   c                     d S r*   r$   r,   s    r   r   zLegacyVersion.dev   r_   r%   c                     d S r*   r$   r,   s    r   r   zLegacyVersion.local   r_   r%   c                     dS NFr$   r,   s    r   is_prereleasezLegacyVersion.is_prerelease       ur%   c                     dS re   r$   r,   s    r   is_postreleasezLegacyVersion.is_postrelease   rg   r%   c                     dS re   r$   r,   s    r   is_devreleasezLegacyVersion.is_devrelease   rg   r%   )r   N)r    r!   r"   rJ   rP   rS   rV   propertyrX   r[   rE   r   r   r   r   r   r   rF   rf   ri   rk   r$   r%   r   r   r   j   s       
 
 
 
 
 
    ,# , , , ,     X c    X s    X    X    X    X    X    X t    X     X t    X  r%   r   z(\d+ | [a-z]+ | \.| -)czfinal-@)r   preview-rcr   sc              #      K   t                               |           D ]Q}t                              ||          }|r|dk    r&|d d         dv r|                    d          V  Jd|z   V  RdV  d S )N.r
   
0123456789   **final)_legacy_version_component_resplit_legacy_version_replacement_mapgetzfill)rr   parts     r   _parse_version_partsr      s      ,22155 
 
.224>> 	ts{{8|##**Q--* NNNNNr%   c                    d}g }t          |                                           D ]}|                    d          rf|dk     r0|r.|d         dk    r"|                                 |r|d         dk    "|r.|d         dk    r"|                                 |r|d         dk    "|                    |           |t          |          fS )Nr]   rw   rx   z*final-00000000)r   lower
startswithpopappendtuple)r   r   partsr~   s       r   rL   rL      s     E E$W]]__55  ??3 	h  b	Y 6 6IIKKK   b	Y 6 6  E"I33		  E"I33 	T%,,r%   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                   V   e Zd Z ej        dez   dz   ej        ej        z            Zde	ddfdZ
de	fdZde	fdZedefd	            Zedeed
f         fd            Zedeee	ef                  fd            Zedee         fd            Zedee         fd            Zedee	         fd            Zede	fd            Zede	fd            Zedefd            Zedefd            Zedefd            Zedefd            Zedefd            Zedefd            ZdS )r   z^\s*z\s*$r   r   Nc                    | j                             |          }|st          d| d          t          |                    d          r"t          |                    d                    ndt          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                  | _        d S )NzInvalid version: ''r   r   c              3   4   K   | ]}t          |          V  d S r*   )rE   .0is     r   	<genexpr>z#Version.__init__.<locals>.<genexpr>  s(      LLQ#a&&LLLLLLr%   r   rt   pre_lpre_npost_lpost_n1post_n2dev_ldev_nr   )r   r   r   r   r   r   )_regexsearchr   r   grouprE   r   rz   _parse_letter_version_parse_local_versionrK   _cmpkeyr   r   r   r   r   r   r(   )r-   r   matchs      r   rP   zVersion.__init__  s    ""7++ 	B !@g!@!@!@AAA !/4{{7/C/CJ#ekk'**+++LL%++i*@*@*F*Fs*K*KLLLLL%ekk'&:&:EKK<P<PQQ&H%%u{{9'='='WYAWAW  &ekk'&:&:EKK<P<PQQ&u{{7';';<<	
 	
 	
 MM!MMMM
 
			r%   c                     d|  dS )Nz
<Version('rU   r$   r,   s    r   rV   zVersion.__repr__"  s    %D%%%%r%   c                 B   g }| j         dk    r|                    | j          d           |                    d                    d | j        D                                  | j        7|                    d                    d | j        D                                  | j        |                    d| j                    | j        |                    d| j                    | j        |                    d	| j                    d                    |          S )
Nr   !rt   c              3   4   K   | ]}t          |          V  d S r*   rJ   r   xs     r   r   z"Version.__str__.<locals>.<genexpr>-  (      ;;c!ff;;;;;;r%    c              3   4   K   | ]}t          |          V  d S r*   r   r   s     r   r   z"Version.__str__.<locals>.<genexpr>1  s(       : :AQ : : : : : :r%   z.postz.dev+)r   r   joinr   r   r   r   r   r-   r   s     r   rS   zVersion.__str__%  s     :??LLDJ)))*** 	SXX;;dl;;;;;<<< 8LL : : : : :::;;; 9 LL,,,--- 8LL***+++ :!LL)TZ))***wwu~~r%   c                     | j         j        }|S r*   )rK   r   )r-   _epochs     r   r   zVersion.epochA  s    m)r%   .c                     | j         j        }|S r*   )rK   r   )r-   _releases     r   r   zVersion.releaseF  s    $(M$9r%   c                     | j         j        }|S r*   )rK   r   )r-   _pres     r   r   zVersion.preK  s    *.-*;r%   c                 B    | j         j        r| j         j        d         nd S Nr
   )rK   r   r,   s    r   r   zVersion.postP  s!    (,(:Dt}!!$$Dr%   c                 B    | j         j        r| j         j        d         nd S r   )rK   r   r,   s    r   r   zVersion.devT  s!    '+}'8Bt} ##dBr%   c                 p    | j         j        r)d                    d | j         j        D                       S d S )Nrt   c              3   4   K   | ]}t          |          V  d S r*   r   r   s     r   r   z Version.local.<locals>.<genexpr>[  s(      @@qCFF@@@@@@r%   )rK   r   r   r,   s    r   r   zVersion.localX  s:    = 	88@@DM,?@@@@@@4r%   c                 T    t          |                               dd          d         S )Nr   r
   r   )rJ   rz   r,   s    r   rX   zVersion.public_  s!    4yysA&&q))r%   c                     g }| j         dk    r|                    | j          d           |                    d                    d | j        D                                  d                    |          S )Nr   r   rt   c              3   4   K   | ]}t          |          V  d S r*   r   r   s     r   r   z'Version.base_version.<locals>.<genexpr>l  r   r%   r   )r   r   r   r   r   s     r   r[   zVersion.base_versionc  sr     :??LLDJ)))*** 	SXX;;dl;;;;;<<<wwu~~r%   c                 &    | j         d up| j        d uS r*   )r   r   r,   s    r   rf   zVersion.is_prereleasep  s    xt#;txt';;r%   c                     | j         d uS r*   )r   r,   s    r   ri   zVersion.is_postreleaset  s    y$$r%   c                     | j         d uS r*   )r   r,   s    r   rk   zVersion.is_devreleasex  s    xt##r%   c                 P    t          | j                  dk    r| j        d         ndS )Nr
   r   lenr   r,   s    r   majorzVersion.major|  &    "%dl"3"3q"8"8t|Aa?r%   c                 P    t          | j                  dk    r| j        d         ndS )N   r
   r   r   r,   s    r   minorzVersion.minor  r   r%   c                 P    t          | j                  dk    r| j        d         ndS )N   r   r   r   r,   s    r   microzVersion.micro  r   r%   ) r    r!   r"   recompiler   VERBOSE
IGNORECASEr   rJ   rP   rV   rS   rl   rE   r   r   r   r   r   r   r   r   rX   r[   rF   rf   ri   rk   r   r   r   r$   r%   r   r   r     s       RZ/1G;RZ"-=WXXF
 
 
 
 
 
:&# & & & &    8 s    X sCx    X XeCHo.    X Ehsm E E E XE CXc] C C C XC x}    X * * * * X* 
c 
 
 
 X
 <t < < < X< % % % % X% $t $ $ $ X$ @s @ @ @ X@ @s @ @ @ X@ @s @ @ @ X@ @ @r%   r   letternumberc                     | rH|d}|                                  } | dk    rd} n| dk    rd} n| dv rd} n| dv rd	} | t          |          fS | s|rd	} | t          |          fS d S )
Nr   alphaabetab)rm   r   ro   rq   )revrr   )r   rE   )r   r   s     r   r   r     s      # >F 
 WFFvFF...FF|##Fs6{{"" #f # s6{{""4r%   z[\._-]r   c                 l    | 1t          d t                              |           D                       S dS )zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Nc              3      K   | ];}|                                 s|                                nt          |          V  <d S r*   )isdigitr   rE   )r   r~   s     r   r   z'_parse_local_version.<locals>.<genexpr>  sU       
 
 !%=DJJLLLCII
 
 
 
 
 
r%   )r   _local_version_separatorsrz   )r   s    r   r   r     sM      
 
177>>
 
 
 
 
 	
 4r%   r   r   r   r   r   c                 P   t          t          t          t          j        d t          |                                                  }||
|t
          }n|t          }n|}|t
          }n|}|t          }	n|}	|t
          }
nt          d |D                       }
| ||||	|
fS )Nc                     | dk    S )Nr   r$   )r   s    r   <lambda>z_cmpkey.<locals>.<lambda>  s
    AF r%   c              3   Z   K   | ]&}t          |t                    r|d fnt          |fV  'dS )r   N)r2   rE   r   r   s     r   r   z_cmpkey.<locals>.<genexpr>  sP       
 
IJz!S))DQGG0@!/D
 
 
 
 
 
r%   )r   reversedlist	itertools	dropwhiler   r   )r   r   r   r   r   r   r   r   _post_dev_locals              r   r   r     s     i)*:*:HW<M<MNNOOPP H {t|/ 
 | 0  {' },  
 
NS
 
 
 
 
 (D%v55r%   )0collectionsr   r   rM   typingr   r   r   r   r   r   r	   _structuresr   r   r   r   __all__InfiniteTypesrJ   rE   PrePostDevTypeSubLocalType	LocalTyperB   rC   rF   VersionComparisonMethod
namedtupler   r   
ValueErrorr   r'   r   r   r   ry   r{   r   rL   r   r   bytesr   r   r   r   r$   r%   r   <module>r      s*  
         				  P P P P P P P P P P P P P P P P P P W W W W W W W W W W W W
T
T
Tl$889}eCHo56]C,-	,#$&457	

 		
	 
sCx...)S
 S%S/)*"
6< %(<"=>D  ";!CCC 
	&3 	&5!;< 	& 	& 	& 	&    Z   +' +' +' +' +' +' +' +'\; ; ; ; ;L ; ; ;|  *rz*CRZPP  	
# # C HSM    "C L    :@E@ E@ E@ E@ E@l E@ E@ E@P!!sE;67!eCHo! ! ! !H 'BJy11 	 	(; 	 	 	 	<6<638_<6 
%S/	"<6 5c?
#	<6
 
%S/	"<6 E,'(<6 <6 <6 <6 <6 <6 <6r%   