§
    ÕóÉjW  ã                  óØ  — d Z ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlmZ  eded	ef         ¬
¦  «        Z	e�r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 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( ddlm)Z* ddlm+Z, ddlm-Z. ddlm/Z0 ddlm1Z2 ddlm3Z4 ddlm5Z6 dd lm7Z8 dd!l9m:Z; dd"l9m<Z= dd#l9m>Z? dd$l9m@ZA dd%l9mBZC dd&l9mDZE dd'l9mFZG dd(l9mHZI dd)l9mJZK dd*l9mLZM dd l9m7ZN eZeZOeZPeZQeZReZSe ZTeZUeZeZVe"ZWe$ZXe(ZYe&ZZe*Z[e,Z\e.Z]e0Z^e4Z_e6Z`e2Zae8Zbe;Zce=Zde?ZeeAZfeCZgeEZheIZieMZjeGZkeKZleNZm G d+„ d,¦  «        Zn en¦   «         Zoeojp        Zpeojq        ZqdS )-zRsupplies the "preloaded" registry to resolve circular module imports at
runtime.

é    )ÚannotationsN)ÚAny)ÚCallable)ÚTYPE_CHECKING)ÚTypeVarÚ_FN.)Úbound)Údialects)Úorm)Úcursor)Údefault)Ú
reflection)Úresult)Úurl)Ú
attributes)Úbase)Úclsregistry)Údecl_api)Ú	decl_base)Ú
dependency)Údescriptor_props)Ú	mapperlib)Ú
properties)Úrelationships)Úsession)Ústate)Ú
strategies)Ústrategy_options)Úutil)Úddl)Údefault_comparator)Údml)Úelements)Ú	functions)Únaming)Úschema)Ú
selectable)Úsqltypes)Ú
traversalsc                  ó*   — e Zd ZdZdd„Zdd„Zdd„ZdS )Ú_ModuleRegistrya¥  Registry of modules to load in a package init file.

    To avoid potential thread safety issues for imports that are deferred
    in a function, like https://bugs.python.org/issue38884, these modules
    are added to the system module cache by importing them after the packages
    has finished initialization.

    A global instance is provided under the name :attr:`.preloaded`. Use
    the function :func:`.preload_module` to register modules to load and
    :meth:`.import_prefix` to load all the modules that start with the
    given path.

    While the modules are loaded in the global module cache, it's advisable
    to access them using :attr:`.preloaded` to ensure that it was actually
    registered. Each registered module is added to the instance ``__dict__``
    in the form `<package>_<module>`, omitting ``sqlalchemy`` from the package
    name. Example: ``sqlalchemy.sql.util`` becomes ``preloaded.sql_util``.
    úsqlalchemy.c                ó:   — t          ¦   «         | _        || _        d S ©N)ÚsetÚmodule_registryÚprefix)Úselfr1   s     ú~/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/sqlalchemy/util/preloaded.pyÚ__init__z_ModuleRegistry.__init__u   s   € Ý"™uœuˆÔØˆŒˆˆó    ÚdepsÚstrÚreturnúCallable[[_FN], _FN]c                ó<   — | j                              |¦  «         d„ S )z¿Adds the specified modules to the list to load.

        This method can be used both as a normal function and as a decorator.
        No change is performed to the decorated object.
        c                ó   — | S r.   © )Úfns    r3   ú<lambda>z0_ModuleRegistry.preload_module.<locals>.<lambda>€   s   € ˜"€ r5   )r0   Úupdate)r2   r6   s     r3   Úpreload_modulez_ModuleRegistry.preload_moduley   s#   € ð 	Ô×#Ò# DÑ)Ô)Ð)Øˆ}Ðr5   ÚpathÚNonec                ó~  — | j         D ]´}| j        r5|                     | j        ¦  «        d                              dd¦  «        }n|}|r|                     |¦  «        r]|| j        vrTt          |t          ¦   «         t          ¦   «         ¦  «         t          j
        |         x| j        |<   t          ¦   «         |<   ŒµdS )z\Resolve all the modules in the registry that start with the
        specified path.
        éÿÿÿÿú.Ú_N)r0   r1   ÚsplitÚreplaceÚ
startswithÚ__dict__Ú
__import__ÚglobalsÚlocalsÚsysÚmodules)r2   rA   ÚmoduleÚkeys       r3   Úimport_prefixz_ModuleRegistry.import_prefix‚   sÅ   € ð Ô*ð 		Jð 		JˆFØŒ{ð Ø—l’l 4¤;Ñ/Ô/°Ô3×;Ò;¸CÀÑEÔE��à�àðJØ"×-Ò-¨dÑ3Ô3ðJà˜Tœ]Ð*Ð*Ý˜6¥7¡9¤9­f©h¬hÑ7Ô7Ð7Ý69´kÀ&Ô6IÐI�”˜cÑ"¥W¡Y¤Y¨s¡^øð		Jð 		Jr5   N)r,   )r6   r7   r8   r9   )rA   r7   r8   rB   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r4   r@   rR   r<   r5   r3   r+   r+   a   s`   € € € € € ðð ð&ð ð ð ðð ð ð ðJð Jð Jð Jð Jð Jr5   r+   )rrV   Ú
__future__r   rN   Útypingr   r   r   r   r   Ú
sqlalchemyr
   Ú	_dialectsr   Ú_ormÚsqlalchemy.enginer   Ú_engine_cursorr   Ú_engine_defaultr   Ú_engine_reflectionr   Ú_engine_resultr   Ú_engine_urlÚsqlalchemy.ormr   Ú_orm_attributesr   Ú	_orm_baser   Ú_orm_clsregistryr   Ú_orm_decl_apir   Ú_orm_decl_baser   Ú_orm_dependencyr   Ú_orm_descriptor_propsr   Ú_orm_mapperr   Ú_orm_propertiesr   Ú_orm_relationshipsr   Ú_orm_sessionr   Ú
_orm_stater   Ú_orm_strategiesr   Ú_orm_strategy_optionsr   Ú	_orm_utilÚsqlalchemy.sqlr    Ú_sql_ddlr!   Ú_sql_default_comparatorr"   Ú_sql_dmlr#   Ú_sql_elementsr$   Ú_sql_functionsr%   Ú_sql_namingr&   Ú_sql_schemar'   Ú_sql_selectabler(   Ú_sql_sqltypesr)   Ú_sql_traversalsÚ	_sql_utilÚengine_cursorÚengine_defaultÚengine_reflectionÚengine_resultÚ
engine_urlÚorm_clsregistryÚorm_baseÚorm_attributesÚorm_decl_apiÚorm_decl_baseÚorm_descriptor_propsÚorm_dependencyÚ
orm_mapperÚorm_propertiesÚorm_relationshipsÚorm_sessionÚorm_strategiesÚorm_strategy_optionsÚ	orm_stateÚorm_utilÚsql_ddlÚsql_default_comparatorÚsql_dmlÚsql_elementsÚsql_functionsÚ
sql_namingÚsql_selectableÚsql_traversalsÚ
sql_schemaÚsql_sqltypesÚsql_utilr+   Ú_regr@   rR   r<   r5   r3   ú<module>rž      sî  ððð ð
 #Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð à€gˆe˜8 C¨ HÔ-Ð.Ñ.Ô.€ð ñ EØ0Ð0Ð0Ð0Ð0Ð0Ø&Ð&Ð&Ð&Ð&Ð&Ø:Ð:Ð:Ð:Ð:Ð:Ø<Ð<Ð<Ð<Ð<Ð<ØBÐBÐBÐBÐBÐBØ:Ð:Ð:Ð:Ð:Ð:Ø4Ð4Ð4Ð4Ð4Ð4Ø<Ð<Ð<Ð<Ð<Ð<Ø0Ð0Ð0Ð0Ð0Ð0Ø>Ð>Ð>Ð>Ð>Ð>Ø8Ð8Ð8Ð8Ð8Ð8Ø:Ð:Ð:Ð:Ð:Ð:Ø<Ð<Ð<Ð<Ð<Ð<ØHÐHÐHÐHÐHÐHØ7Ð7Ð7Ð7Ð7Ð7Ø<Ð<Ð<Ð<Ð<Ð<ØBÐBÐBÐBÐBÐBØ6Ð6Ð6Ð6Ð6Ð6Ø2Ð2Ð2Ð2Ð2Ð2Ø<Ð<Ð<Ð<Ð<Ð<ØHÐHÐHÐHÐHÐHØ0Ð0Ð0Ð0Ð0Ð0Ø.Ð.Ð.Ð.Ð.Ð.ØLÐLÐLÐLÐLÐLØ.Ð.Ð.Ð.Ð.Ð.Ø8Ð8Ð8Ð8Ð8Ð8Ø:Ð:Ð:Ð:Ð:Ð:Ø4Ð4Ð4Ð4Ð4Ð4Ø4Ð4Ð4Ð4Ð4Ð4Ø<Ð<Ð<Ð<Ð<Ð<Ø8Ð8Ð8Ð8Ð8Ð8Ø<Ð<Ð<Ð<Ð<Ð<Ø0Ð0Ð0Ð0Ð0Ð0ð €HØ"€MØ$€NØ*ÐØ"€MØ€JØ&€OØ€HØ
€CØ$€NØ €LØ"€MØ0ÐØ$€NØ€JØ$€NØ*ÐØ€KØ$€NØ0ÐØ€IØ€HØ€GØ4ÐØ€GØ €LØ"€MØ€JØ$€NØ$€NØ€JØ €LØ€Hð.Jð .Jð .Jð .Jð .Jñ .Jô .Jð .Jðb €ÑÔ€ØÔ$€ØÔ"€€€r5   