o
     h                     @  s   d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ ddlm	Z	 er2dd	l
mZ d
ZdddZe	jdedZe	dZdS )    )annotations)Any)Callable)Optional)Type)TYPE_CHECKING   )util)Dialect)mssqlmysqloracle
postgresqlsqlitenamestrreturn%Optional[Callable[[], Type[Dialect]]]c                   s   d| v r|  d\}}n| }d}z |dkr"tdjjj  |W S td|f j t | W n
 ty:   Y dS w t |rKt |  fddS dS )	zedefault dialect importer.

    plugs into the :class:`.PluginLoader`
    as a first-hit system.

    .basemariadbz!sqlalchemy.dialects.mysql.mariadbzsqlalchemy.dialects.%sNc                     s    j S )N)dialect moduler   O/var/www/html/venv/lib/python3.10/site-packages/sqlalchemy/dialects/__init__.py<lambda>7   s    z_auto_fn.<locals>.<lambda>)	split
__import__dialectsr   r   loadergetattrImportErrorhasattr)r   r   driverr   r   r   _auto_fn   s*   

r%   zsqlalchemy.dialects)auto_fnzsqlalchemy.pluginsN)r   r   r   r   )
__future__r   typingr   r   r   r   r    r	   engine.interfacesr
   __all__r%   PluginLoaderregistrypluginsr   r   r   r   <module>   s   
$