
    PiV3                    X   U d dl mZ d dlmZ d dlZd dlZd dlmZmZm	Z	m
Z
 g dZ G d d          Z e            Z G d d	          Z e            Zeeez  d
f         Zded<   eez  eeef         z  Zded<   eeeeef         eeeez  f         z  d
f         z  Zded<   eeeed
f         eeeef         Zded<   eeegef         Zded<    G d de          Zd0dZ G d de          Z G d d          ZdZeZ  G d de          Z!d1d#Z" ej#        d$          Z$d2d'Z%d3d/Z&dS )4    )annotations)CallableN)Any
NamedTupleSupportsInt	TypeAlias)VERSION_PATTERNInvalidVersionVersionparsec                  N    e Zd ZddZddZdd	Zdd
ZddZddZddZ	ddZ
dS )InfinityTypereturnstrc                    dS )NInfinity selfs    p/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/util/version/__init__.py__repr__zInfinityType.__repr__   s    z    intc                :    t          t          |                     S Nhashreprr   s    r   __hash__zInfinityType.__hash__       DJJr   otherobjectboolc                    dS NFr   r   r!   s     r   __lt__zInfinityType.__lt__       ur   c                    dS r%   r   r&   s     r   __le__zInfinityType.__le__    r(   r   c                <    t          |t          |                     S r   
isinstancetyper&   s     r   __eq__zInfinityType.__eq__#       %d,,,r   c                    dS NTr   r&   s     r   __gt__zInfinityType.__gt__&       tr   c                    dS r2   r   r&   s     r   __ge__zInfinityType.__ge__)   r4   r   r   NegativeInfinityTypec                    t           S r   )NegativeInfinityr   s    r   __neg__zInfinityType.__neg__,   s    r   Nr   r   r   r   r!   r"   r   r#   )r   r"   r   r7   __name__
__module____qualname__r   r   r'   r*   r/   r3   r6   r:   r   r   r   r   r      s                        - - - -                 r   r   c                  N    e Zd ZddZddZdd	Zdd
ZddZddZddZ	ddZ
dS )r7   r   r   c                    dS )Nz	-Infinityr   r   s    r   r   zNegativeInfinityType.__repr__4   s    {r   r   c                :    t          t          |                     S r   r   r   s    r   r   zNegativeInfinityType.__hash__7   r    r   r!   r"   r#   c                    dS r2   r   r&   s     r   r'   zNegativeInfinityType.__lt__:   r4   r   c                    dS r2   r   r&   s     r   r*   zNegativeInfinityType.__le__=   r4   r   c                <    t          |t          |                     S r   r,   r&   s     r   r/   zNegativeInfinityType.__eq__@   r0   r   c                    dS r%   r   r&   s     r   r3   zNegativeInfinityType.__gt__C   r(   r   c                    dS r%   r   r&   s     r   r6   zNegativeInfinityType.__ge__F   r(   r   r   r   c                    t           S r   )r   r   s    r   r:   zNegativeInfinityType.__neg__I   s    r   Nr;   r<   r=   )r   r"   r   r   r>   r   r   r   r7   r7   3   s                        - - - -           r   r7   .r   	LocalTypeCmpPrePostDevTypeCmpLocalTypeCmpKeyVersionComparisonMethodc                  L    e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   dS )_Versionr   epochtuple[int, ...]releasetuple[str, int] | NonedevprepostLocalType | NonelocalN)r?   r@   rA   __annotations__r   r   r   rQ   rQ   b   sW         JJJ    r   rQ   versionr   r   r   c                     t          |           S r   )r   )r\   s    r   r   r   k   s    7r   c                      e Zd ZdZdZdS )r
   a  
    An invalid version was found, users should refer to PEP 440.

    The ``InvalidVersion`` exception is raised when a version string is
    improperly formatted. Pandas uses this exception to ensure that all
    version strings are PEP 440 compliant.

    See Also
    --------
    util.version.Version : Class for handling and parsing version strings.

    Examples
    --------
    >>> pd.util.version.Version("1.")
    Traceback (most recent call last):
    InvalidVersion: Invalid version: '1.'
    zpandas.errorsN)r?   r@   rA   __doc__r   r   r   r
   r
   q   s         $ !JJJr   r
   c                  R    e Zd ZU ded<   ddZddZdd	ZddZddZddZ	ddZ
dS )_BaseVersionztuple[Any, ...]_keyr   r   c                *    t          | j                  S r   )r   rb   r   s    r   r   z_BaseVersion.__hash__   s    DIr   r!   r#   c                Z    t          |t                    st          S | j        |j        k     S r   r-   ra   NotImplementedrb   r&   s     r   r'   z_BaseVersion.__lt__   )    %.. 	"!!y5:%%r   c                Z    t          |t                    st          S | j        |j        k    S r   re   r&   s     r   r*   z_BaseVersion.__le__   )    %.. 	"!!yEJ&&r   r"   c                Z    t          |t                    st          S | j        |j        k    S r   re   r&   s     r   r/   z_BaseVersion.__eq__   ri   r   c                Z    t          |t                    st          S | j        |j        k    S r   re   r&   s     r   r6   z_BaseVersion.__ge__   ri   r   c                Z    t          |t                    st          S | j        |j        k    S r   re   r&   s     r   r3   z_BaseVersion.__gt__   rg   r   c                Z    t          |t                    st          S | j        |j        k    S r   re   r&   s     r   __ne__z_BaseVersion.__ne__   ri   r   Nr<   )r!   ra   r   r#   r=   )r?   r@   rA   r[   r   r'   r*   r/   r6   r3   rn   r   r   r   ra   ra      s            & & & &' ' ' '' ' ' '' ' ' '& & & &' ' ' ' ' 'r   ra   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                     e Zd ZU  ej        dez   dz   ej        ej        z            Zde	d<   d!d	Z
d"d
Zd"dZed#d            Zed$d            Zed%d            Zed&d            Zed&d            Zed'd            Zed"d            Zed"d            Zed(d            Zed(d            Zed(d            Zed#d            Zed#d            Zed#d            Zd S ))r   z^\s*z\s*$rN   rb   r\   r   r   Nonec                   | 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: ''rR   r   c              3  4   K   | ]}t          |          V  d S r   )r   .0is     r   	<genexpr>z#Version.__init__.<locals>.<genexpr>   s(      LLQ#a&&LLLLLLr   rT   .pre_lpre_npost_lpost_n1post_n2dev_ldev_nrZ   )rR   rT   rW   rX   rV   rZ   )_regexsearchr
   rQ   groupr   tuplesplit_parse_letter_version_parse_local_version_version_cmpkeyrR   rT   rW   rX   rV   rZ   rb   )r   r\   matchs      r   __init__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('z')>r   r   s    r   r   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   !rx   c              3  4   K   | ]}t          |          V  d S r   r   ru   xs     r   rw   z"Version.__str__.<locals>.<genexpr>  (      ;;c!ff;;;;;;r    c              3  4   K   | ]}t          |          V  d S r   r   r   s     r   rw   z"Version.__str__.<locals>.<genexpr>  s(       : :AQ : : : : : :r   z.postz.dev+)rR   appendjoinrT   rW   rX   rV   rZ   r   partss     r   __str__zVersion.__str__   s     :??LLDJ)))*** 	SXX;;dl;;;;;<<< 8LL : : : : :::;;; 9 LL,,,--- 8LL***+++ :!LL)TZ))***wwu~~r   r   c                    | j         j        S r   )r   rR   r   s    r   rR   zVersion.epoch  s    }""r   rS   c                    | j         j        S r   )r   rT   r   s    r   rT   zVersion.release  s    }$$r   rU   c                    | j         j        S r   )r   rW   r   s    r   rW   zVersion.pre   s    }  r   
int | Nonec                B    | j         j        r| j         j        d         nd S N   )r   rX   r   s    r   rX   zVersion.post$  s!    (,(:Dt}!!$$Dr   c                B    | j         j        r| j         j        d         nd S r   )r   rV   r   s    r   rV   zVersion.dev(  s!    '+}'8Bt} ##dBr   
str | Nonec                p    | j         j        r)d                    d | j         j        D                       S d S )Nrx   c              3  4   K   | ]}t          |          V  d S r   r   r   s     r   rw   z Version.local.<locals>.<genexpr>/  s(      @@qCFF@@@@@@r   )r   rZ   r   r   s    r   rZ   zVersion.local,  s:    = 	88@@DM,?@@@@@@4r   c                T    t          |                               dd          d         S )Nr   r   r   )r   r   r   s    r   publiczVersion.public3  s!    4yysA&&q))r   c                    g }| j         dk    r|                    | j          d           |                    d                    d | j        D                                  d                    |          S )Nr   r   rx   c              3  4   K   | ]}t          |          V  d S r   r   r   s     r   rw   z'Version.base_version.<locals>.<genexpr>@  r   r   r   )rR   r   r   rT   r   s     r   base_versionzVersion.base_version7  sr     :??LLDJ)))*** 	SXX;;dl;;;;;<<<wwu~~r   r#   c                &    | j         d up| j        d uS r   )rV   rW   r   s    r   is_prereleasezVersion.is_prereleaseD  s    xt#;txt';;r   c                    | j         d uS r   )rX   r   s    r   is_postreleasezVersion.is_postreleaseH  s    y$$r   c                    | j         d uS r   )rV   r   s    r   is_devreleasezVersion.is_devreleaseL  s    xt##r   c                P    t          | j                  dk    r| j        d         ndS )Nr   r   lenrT   r   s    r   majorzVersion.majorP  &    "%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.minorT  r   r   c                P    t          | j                  dk    r| j        d         ndS )N   r   r   r   r   s    r   microzVersion.microX  r   r   N)r\   r   r   rp   r;   r<   )r   rS   )r   rU   )r   r   )r   r   )r   r#   )r?   r@   rA   recompiler	   VERBOSE
IGNORECASEr   r[   r   r   r   propertyrR   rT   rW   rX   rV   rZ   r   r   r   r   r   r   r   r   r   r   r   r   r      sW        RZ/1G;RZ"-=WXXFLLL
 
 
 
8& & & &   8 # # # X# % % % X% ! ! ! X! E E E XE C C C XC    X * * * X* 
 
 
 X
 < < < X< % % % X% $ $ $ X$ @ @ @ X@ @ @ @ X@ @ @ @ X@ @ @r   letterr   number str | bytes | SupportsInt | NonerU   c                    | 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)crW   previewrc)revrrX   )lowerr   )r   r   s     r   r   r   ]  s      # >F 
 WFFvFF...FF|##Fs6{{"" #f # s6{{""4r   z[\._-]rZ   rY   c                l    | 1t          d t                              |           D                       S d S )Nc              3     K   | ];}|                                 s|                                nt          |          V  <d S r   )isdigitr   r   )ru   parts     r   rw   z'_parse_local_version.<locals>.<genexpr>  sU       
 
 !%=DJJLLLCII
 
 
 
 
 
r   )r   _local_version_separatorsr   )rZ   s    r   r   r     sK     
 
177>>
 
 
 
 
 	
 4r   rR   r   rT   rS   rW   rX   rV   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)r-   r   r9   rt   s     r   rw   z_cmpkey.<locals>.<genexpr>  sP       
 
IJz!S))DQGG0@!/D
 
 
 
 
 
r   )r   reversedlist	itertools	dropwhiler9   r   )rR   rT   rW   rX   rV   rZ   _release_pre_post_dev_locals              r   r   r     s     i)*:*:HW<M<MNNOOPP H {t|"2 
 |#3  {"* }/  
 
NS
 
 
 
 
 (D%v55r   )r\   r   r   r   )r   r   r   r   r   rU   )rZ   r   r   rY   )rR   r   rT   rS   rW   rU   rX   rU   rV   rU   rZ   rY   r   rN   )'
__future__r   collections.abcr   r   r   typingr   r   r   r   __all__r   r   r7   r9   r   r   r   rK   r[   rL   rM   rN   r#   rO   rQ   r   
ValueErrorr
   ra   _VERSION_PATTERNr	   r   r   r   r   r   r   r   r   r   <module>r      s$   # " " " " " " $ $ $ $ $ $     				            D
C
C               4 <>>       4 ('))  S3Y^,	 , , , ,+.BBU3PS8_T  T T T TE#s(Oe$8#)$CDDcIJK      	#s(O     &.vv.>.D%E  E E E E    z      ! ! ! ! !Z ! ! !,+' +' +' +' +' +' +' +'` > #A@ A@ A@ A@ A@l A@ A@ A@H       F 'BJy11    ;6 ;6 ;6 ;6 ;6 ;6r   