
    LVf              	      p   d dl mZ d dlZd dlZd dlmZ d dlZd dlmZ d dl	m
Z
 erd dlZi dddd	d
ddddddddddddddddddddddd d!d"d#d$d%d&i d'd(d)d*d+d,d-d.d/d0d1d2d3dd4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIiZdJdKdLdMd!dNdOdPdQZdTdRZ	 	 	 dU	 	 	 	 	 	 	 dVdSZy)W    )annotationsN)TYPE_CHECKING)find_stack_level)Versionbs4z4.11.1bloscz1.21.0
bottleneckz1.3.4zdataframe-api-compatz0.1.7fastparquetz0.8.1fsspecz	2022.05.0html5libz1.1
hypothesisz6.46.1gcsfsjinja2z3.1.2
lxml.etreez4.8.0
matplotlibz3.6.1numbaz0.55.2numexprz2.8.0odfpyz1.4.1openpyxlz3.0.10
pandas_gbqz0.17.5psycopg2z2.9.3pymysqlz1.0.2pyarrowz7.0.0
pyreadstatz1.1.5pytestz7.3.2pyxlsbz1.0.9s3fsscipyz1.8.1
sqlalchemyz1.4.36tablesz3.7.0tabulatez0.8.10xarrayz	2022.03.0xlrdz2.0.1
xlsxwriterz3.0.3	zstandardz0.17.0tzdataz2022.1qtpyz2.2.0pyqt5z5.15.6beautifulsoup4
BottleneckJinja2lxmlz
pandas-gbq
SQLAlchemypytables)r   r	   r   r   odfr   r   r    c                    t        | dd       }|t        d| j                         | j                  dk(  r|j                         d   }|S )N__version__zCan't determine version for r   r   )getattrImportError__name__split)moduleversions     `/var/www/html/software/conda/envs/catlas/lib/python3.12/site-packages/pandas/compat/_optional.pyget_versionr9   F   sN    fmT2G88IJKK*$--/!$N    c                6   |dv sJ t         j                  |       }||n| }d| d| d| d}	 t        j                  |       }| j                  d      d   }|| k7  r|}t        j                  |   }	n|}	||nt        j                  |      }
|
rjt        |	      }|r]t        |      t        |
      k  rFd	|
 d
| d| d}|dk(  r%t        j                  |t        t                      y|dk(  rt	        |      |S # t        $ r |dk(  rt	        |      Y yw xY w)a9  
    Import an optional dependency.

    By default, if a dependency is missing an ImportError with a nice
    message will be raised. If a dependency is present, but too old,
    we raise.

    Parameters
    ----------
    name : str
        The module name.
    extra : str
        Additional text to include in the ImportError message.
    errors : str {'raise', 'warn', 'ignore'}
        What to do when a dependency is not found or its version is too old.

        * raise : Raise an ImportError
        * warn : Only applicable when a module's version is to old.
          Warns that the version is too old and returns None
        * ignore: If the module is not installed, return None, otherwise,
          return the module, even if the version is too old.
          It's expected that users validate the version locally when
          using ``errors="ignore"`` (see. ``io/html.py``)
    min_version : str, default None
        Specify a minimum version that is different from the global pandas
        minimum version required.
    Returns
    -------
    maybe_module : Optional[ModuleType]
        The imported module, when found and the version is correct.
        None is returned when the package is not found and `errors`
        is False, or when the package's version is too old and `errors`
        is ``'warn'``.
    >   warnraiseignoreNzMissing optional dependency 'z'. z Use pip or conda to install .r=   r   zPandas requires version 'z' or newer of 'z' (version 'z' currently installed).r<   )
stacklevel)INSTALL_MAPPINGget	importlibimport_moduler3   r5   sysmodulesVERSIONSr9   r   warningsr<   UserWarningr   )nameextraerrorsmin_versionpackage_nameinstall_namemsgr6   parentmodule_to_getminimum_versionr7   s               r8   import_optional_dependencyrT   Q   s`   R 0000"&&t,L#/#;<L (~S @''3nA	7 ((. ZZ_QF~L1%0%<k(,,vBVOm,ww''/*BB+O+<OF8 T$I%<>  /1
 7"!#&&M=  Wc""s   C< <DD)r6   ztypes.ModuleTypereturnstr) r=   N)rJ   rV   rK   rV   rL   rV   rM   z
str | None)
__future__r   rC   rE   typingr   rH   pandas.util._exceptionsr   pandas.util.versionr   typesrG   rA   r9   rT    r:   r8   <module>r^      s/   "  
    4 '$	8$X$ '$ G	$
 7$ k$ $ ($ [$ g$ '$ '$ X$ w$ W$  !$" (#$$ %$& w'$( w)$* '+$, g-$. g/$0 K1$2 W3$4 (5$6 g7$8 9$: k;$< G=$> '?$@ A$B hC$D GE$F XG$T 	 "	R
RR R 	Rr:   