§
    ÕóÉj0r ã                  ó  — d Z ddlmZ ddlZddlZddl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 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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m0Z0 d$d)l1m2Z2 d$d*l1m3Z3 d$d+l1m4Z4 d$d,l1m5Z5 d$d(l1m0Z6 d$d-l7m8Z8 d$d.l9m:Z: d$d/l;m<Z< d$d0l;m=Z= d$d1l;m>Z> d$d2l;m?Z? d$d3l@mAZA d$d4lBmCZC d$d5lBmDZD e
j        rÆdd6l$mEZE dd7l mFZF dd8l"mGZG dd9l"mHZH dd:l"mIZI dd;l"mJZJ dd<l"mKZK dd=l"mLZL dd>l"mMZM dd?l"mNZN dd@l"mOZO ddAl"mPZP ddBl"mQZQ ddCl"mRZR ddDl"mSZS ddEl"mTZT ddFlUmVZV ddGlWmXZX d$dHl-mYZY d$dIl/mZZZ d$dJl/m[Z[ d$dKl1m\Z\ d$dLl;m]Z] d$dMl;m^Z^ d$dNl;m_Z_ d$dOl`maZa d$dPl`mbZb d$dQl@mcZc d$dRldmeZe d$dSlfmgZg d$dTlhmiZi d$dUlhmjZj d$dVlhmkZk  ejl        dWejm        ejn        z  ¦  «        Zo epe&¦  «        \  ZqZrZsZtZu G dX„ dYe(¦  «        Zv G dZ„ d[e(¦  «        Zw G d\„ d]ew¦  «        Zx G d^„ d_e*¦  «        Zyeyew_z        dS )`a  Default implementations of per-dialect sqlalchemy.engine classes.

These are semi-private implementation classes which are only of importance
to database dialect authors; dialects will usually use the classes here
as the base class for their own corresponding classes.

é    )ÚannotationsN)Úperf_counter)ÚAny)ÚCallable)Úcast)ÚDict)ÚFinal)ÚIterable)ÚList)ÚLiteral)ÚMapping)ÚMutableMapping)ÚMutableSequence)ÚOptional)ÚSequence)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚUnioné   )Úcharacteristics)Úcursor)Ú
interfaces)Ú
reflection)Ú
Connection)Ú
CacheStats)ÚDBAPICursor)ÚDialect)ÚExecuteStyle)ÚExecutionContext)Ú
ObjectKind)ÚObjectScopeé   )Úevent)Úexc)Úpool)Úutil)Úcompiler)Údml)Ú
expression)Útype_api)Úis_tuple_type)Ú_NoArg)ÚAggregateOrderByStyle)ÚDDLCompiler)ÚInsertmanyvaluesSentinelOpts)ÚSQLCompiler)Úquoted_name)ÚTupleAny)ÚUnpack)ÚEngine)ÚResultFetchStrategy)Ú_CoreMultiExecuteParams)Ú_CoreSingleExecuteParams)Ú_DBAPICursorDescription)Ú_DBAPIMultiExecuteParams)Ú_DBAPISingleExecuteParams)Ú_ExecuteOptions)Ú_MutableCoreSingleExecuteParams)Ú_ParamStyle)ÚConnectArgsType)ÚDBAPIConnection)ÚDBAPIModule)Ú	DBAPIType)ÚIsolationLevel)ÚTableKey)ÚRow)ÚURL)Ú_ListenerFnType)ÚPool)ÚPoolProxiedConnection)Ú
Executable)ÚCompiled)ÚLinting)ÚResultColumnsEntry)ÚDMLState)Ú
UpdateBase)ÚBindParameter)ÚColumn)Ú_JSON_VALUE)Ú_BindProcessorType)Ú_ResultProcessorType)Ú
TypeEnginez	\s*SELECTc                  óP  — e Zd ZdZej        	 ddd„¦   «         Zd„ Zej        dd„¦   «         Zej        dd„¦   «         Z	ej        dd„¦   «         Z
ej        dd„¦   «         Zej        dd„¦   «         Zej        	 dd„¦   «         Zej        dd„¦   «         Zej        dd„¦   «         ZdS )Ú_BackendsMultiReflectionzÙMixin providing single-table reflection wrappers that delegate to
    the corresponding ``get_multi_*`` methods.

    Used by dialects that implement native multi-table reflection
    (PostgreSQL, Oracle, MSSQL).
    NÚ
connectionr   Ú
table_nameÚstrÚschemaúOptional[str]Úkwr   ÚreturnÚboolc                ó~   — |                       |¦  «          | j        |f|g|dœ|¤Ž}t          |¦  «        ||f         S )N)Útable_namesr\   )Ú_ensure_has_table_connectionÚhas_multi_tableÚdict)ÚselfrY   rZ   r\   r^   Ú	multi_ress         ú~/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/sqlalchemy/engine/default.pyÚ	has_tablez"_BackendsMultiReflection.has_table†   sc   € ð 	×)Ò)¨*Ñ5Ô5Ð5Ø(�DÔ(Øð
à#˜Øð
ð 
ð ð	
ð 
ˆ	õ �I‰Œ ¨
Ð3Ô4Ð4ó    c                óŠ   — 	 t          |¦  «        ||f         S # t          $ r t          j        |r|› d|› �n|¦  «        d ‚w xY w)Nú.)re   ÚKeyErrorr&   ÚNoSuchTableError)rf   ÚdataÚtabler\   s       rh   Ú_value_or_raisez(_BackendsMultiReflection._value_or_raiseš   sj   € ð	Ý˜‘:”:˜v u˜oÔ.Ð.øÝð 	ð 	ð 	ÝÔ&Ø'-Ð8�6Ð#Ð#˜EÐ#Ð#Ð#°5ñô àðð	øøøs	   ‚ ™)Ac                ó€   —  | j         |f||gt          j        t          j        dœ|¤Ž}|                      |||¦  «        S ©N)r\   Úfilter_namesÚscopeÚkind)Úget_multi_columnsr#   ÚANYr"   rq   ©rf   rY   rZ   r\   r^   ro   s         rh   Úget_columnsz$_BackendsMultiReflection.get_columns¢   óY   € à%ˆtÔ%Øð
àØ$˜Ý”/Ý”ð
ð 
ð ð
ð 
ˆð ×#Ò# D¨*°fÑ=Ô=Ð=rj   c                ó€   —  | j         |f||gt          j        t          j        dœ|¤Ž}|                      |||¦  «        S rs   )Úget_multi_table_optionsr#   rx   r"   rq   ry   s         rh   Úget_table_optionsz*_BackendsMultiReflection.get_table_options®   óY   € à+ˆtÔ+Øð
àØ$˜Ý”/Ý”ð
ð 
ð ð
ð 
ˆð ×#Ò# D¨*°fÑ=Ô=Ð=rj   c                ó€   —  | j         |f||gt          j        t          j        dœ|¤Ž}|                      |||¦  «        S rs   )Úget_multi_pk_constraintr#   rx   r"   rq   ry   s         rh   Úget_pk_constraintz*_BackendsMultiReflection.get_pk_constraintº   r   rj   c                ó€   —  | j         |f||gt          j        t          j        dœ|¤Ž}|                      |||¦  «        S rs   )Úget_multi_foreign_keysr#   rx   r"   rq   ry   s         rh   Úget_foreign_keysz)_BackendsMultiReflection.get_foreign_keysÆ   sY   € à*ˆtÔ*Øð
àØ$˜Ý”/Ý”ð
ð 
ð ð
ð 
ˆð ×#Ò# D¨*°fÑ=Ô=Ð=rj   c                ó€   —  | j         |f||gt          j        t          j        dœ|¤Ž}|                      |||¦  «        S rs   )Úget_multi_indexesr#   rx   r"   rq   ry   s         rh   Úget_indexesz$_BackendsMultiReflection.get_indexesÒ   r{   rj   c                ó€   —  | j         |f||gt          j        t          j        dœ|¤Ž}|                      |||¦  «        S rs   )Úget_multi_unique_constraintsr#   rx   r"   rq   ry   s         rh   Úget_unique_constraintsz/_BackendsMultiReflection.get_unique_constraintsÞ   s[   € ð 1ˆtÔ0Øð
àØ$˜Ý”/Ý”ð
ð 
ð ð
ð 
ˆð ×#Ò# D¨*°fÑ=Ô=Ð=rj   c                ó€   —  | j         |f||gt          j        t          j        dœ|¤Ž}|                      |||¦  «        S rs   )Úget_multi_check_constraintsr#   rx   r"   rq   ry   s         rh   Úget_check_constraintsz._BackendsMultiReflection.get_check_constraintsì   sY   € à/ˆtÔ/Øð
àØ$˜Ý”/Ý”ð
ð 
ð ð
ð 
ˆð ×#Ò# D¨*°fÑ=Ô=Ð=rj   c                ó€   —  | j         |f||gt          j        t          j        dœ|¤Ž}|                      |||¦  «        S rs   )Úget_multi_table_commentr#   rx   r"   rq   ry   s         rh   Úget_table_commentz*_BackendsMultiReflection.get_table_commentø   r   rj   ©N)
rY   r   rZ   r[   r\   r]   r^   r   r_   r`   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úcacheri   rq   rz   r~   r‚   r…   rˆ   r‹   rŽ   r‘   © rj   rh   rX   rX   ~   s~  € € € € € ðð ð Ôð
 !%ð	5ð 5ð 5ð 5ñ Ôð5ð&ð ð ð Ôð	>ð 	>ð 	>ñ Ôð	>ð Ôð	>ð 	>ð 	>ñ Ôð	>ð Ôð	>ð 	>ð 	>ñ Ôð	>ð Ôð	>ð 	>ð 	>ñ Ôð	>ð Ôð	>ð 	>ð 	>ñ Ôð	>ð Ôà-1ð>ð >ð >ñ Ôð>ð Ôð	>ð 	>ð 	>ñ Ôð	>ð Ôð	>ð 	>ð 	>ñ Ôð	>ð 	>ð 	>rj   rX   c                  óÚ  — e Zd ZU dZej        Zej        Zej	        Z
ej        ZdZdZdZdZdZdZej        j        ZdZded<   dZded<   dZeZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*e+j,        Z-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6d	ed
<   dZ7ded<   dZ8dZ9dZ: e;j<         e=j>        ¦   «          e=j?        ¦   «         dœ¦  «        Z@ e;j<        e;jA         e;jB        d¦  «         e;jB        d¦  «        e;jA        e;jA        e;jA        e;jC        dœ¦  «        ZDded<   dZEdZFdZGdZHded<   dZIded<   dZJded<   dZKded<   dZLdZMi ZNded<   dZOdZP	 dZQ	 dZR	 dZS	 dZTdZUded<   dZVded <   eWjX        ZYd!ed"<   d#ZZd$ed%<   d&Z[dZ\dZ]dZ^dZ_dZ`dZaded'<   dZbdZcdZdd(Ze e;jf        d)d*¬+¦  «        dddddddegjh        d eiejj        ¦  «        ddfd§d>„¦   «         Zkel e;jm        d?d@¦  «        dA„ ¦   «         ¦   «         Zne;jo        dB„ ¦   «         Zpe;jo        dC„ ¦   «         ZqdZrdZse;jo        d¨dF„¦   «         Zte;jo        d©dH„¦   «         ZueldªdJ„¦   «         Zvd«dL„Zwe;jo        dM„ ¦   «         Zxd¬dP„Zye;jo        dQ„ ¦   «         Zze;jo        dR„ ¦   «         Z{eldS„ ¦   «         Z|eldT„ ¦   «         Z}e~d­dX„¦   «         Zd­dY„Z€e~dZ„ ¦   «         Z�d®d\„Z‚d¯d^„Zƒd°d`„Z„da„ Z…db„ Z†dc„ Z‡d±df„Zˆd²dg„Z‰d³dk„ZŠd´dm„Z‹dµdq„ZŒd¶ds„Z�d·dw„ZŽd¸dx„Z�dy„ Z�dz„ Z‘d{„ Z’d|„ Z“d}„ Z”d~„ Z•d„ Z–e;jo        d€„ ¦   «         Z—d¹d‚„Z˜d¹dƒ„Z™d„„ Zšd…„ Z›d†„ Zœd‡„ Z�dˆ„ Zžd²d‰„ZŸd²dŠ„Z d²d‹„Z¡dºd‘„Z¢e;j£        d’„ ¦   «         Z¤d“„ Z¥d”„ Z¦d•„ Z§d–„ Z¨d»d—„Z©d˜„ Zªd™„ Z«	 d²d¼dž„Z¬dŸ„ Z­d „ Z®d¡„ Z¯d¢„ Z°d£„ Z±d¤„ Z²d¥„ Z³d¦„ Z´dS )½ÚDefaultDialectz!Default implementation of DialectTFNzOptional[Set[Any]]Úinclude_set_input_sizesÚexclude_set_input_sizesr   z#Callable[[_JSON_VALUE], str] | NoneÚ_json_serializerz#Callable[[str], _JSON_VALUE] | NoneÚ_json_deserializer)Úisolation_levelÚlogging_tokenÚdebug)Úpool_timeoutÚechoÚ	echo_poolÚpool_recycleÚ	pool_sizeÚmax_overflowÚfutureúMapping[str, Any]Úengine_config_typesÚdefaulti'  úOptional[int]Ú#_user_defined_max_identifier_lengthr]   rŸ   Úmax_index_name_lengthÚmax_constraint_name_lengthz<MutableMapping[Type[TypeEngine[Any]], Type[TypeEngine[Any]]]ÚcolspecsÚnamedÚDEFAULTr`   Úuse_insertmanyvaluesÚ!use_insertmanyvalues_wo_returningr1   Ú"insertmanyvalues_implicit_sentineliè  ÚintÚinsertmanyvalues_page_sizei¼  Údefault_schema_namezutf-8)ú1.4a  The :paramref:`_sa.create_engine.empty_in_strategy` keyword is deprecated, and no longer has any effect.  All IN expressions are now rendered using the "expanding parameter" strategy which renders a set of boundexpressions, or an "empty set" SELECT, at statement executiontime.)r¹   zÑThe :paramref:`_sa.create_engine.server_side_cursors` parameter is deprecated and will be removed in a future release.  Please use the :paramref:`_engine.Connection.execution_options.stream_results` parameter.)Úempty_in_strategyÚserver_side_cursorsÚ
paramstyleúOptional[_ParamStyle]úOptional[IsolationLevel]ÚdbapiúOptional[DBAPIModule]Úimplicit_returningúLiteral[True]Úsupports_native_booleanúOptional[bool]Úmax_identifier_lengthÚlabel_lengthúUnion[_NoArg, int]Úcompiler_lintingrM   r»   Úskip_autocommit_rollbackÚkwargsr   c                ó>  — |r%| j         st          j        d| z  ¦  «        ‚d| _        t	          | dd¦  «        r+t          j        dd¦  «         t          j        j	        | _
        d| _        d | _        || _        || _        |�|| _        n%| j        �| j        j        | _        n| j        | _        | j        dv | _        |                      | ¦  «        | _        || _        t	          | dd ¦  «        }|�+t)          t*          t,          j                 | j        ¦  «        }n| j        } || ¦  «        x| _        | _        |�|| _        || _        | j        r| j        | _        || _        |
| _        |	�|	| _         |tB          j"        ur|| _#        |  $                    ¦   «          d S )	Nz/Dialect %s does not support server side cursorsTÚuse_setinputsizesFzoThe dialect-level use_setinputsizes attribute is deprecated.  Please use bind_typing = BindTyping.SETINPUTSIZESú2.0)ÚqmarkÚformatÚnumericÚnumeric_dollarÚtype_compiler)%Úsupports_server_side_cursorsr&   ÚArgumentErrorr»   Úgetattrr(   Úwarn_deprecatedr   Ú
BindTypingÚSETINPUTSIZESÚbind_typingÚ
positionalÚ_ischemar¿   rÉ   r¼   Údefault_paramstyleÚpreparerÚidentifier_preparerÚ_on_connect_isolation_levelr   r   r)   ÚGenericTypeCompilerrÒ   Útype_compiler_clsÚtype_compiler_instancerÃ   r­   rÅ   rÆ   rÈ   r³   r.   ÚNO_ARGr·   Ú_check_minimum_dbapi_version)rf   r¼   rŸ   r¿   rÁ   rÃ   rÅ   rÆ   r·   r³   rÈ   r»   rÉ   rÊ   Úlegacy_tt_callableÚtt_callables                   rh   Ú__init__zDefaultDialect.__init__«  sÛ  € ðJ ð 	0ØÔ4ð 0ÝÔ'ØEÈÑLñô ð ð ,0�Ô(å�4Ð,¨eÑ4Ô4ð 	CÝÔ ð9ð ñ	ô ð õ  *Ô4ÔBˆDÔàˆŒØˆŒàˆŒ
à(@ˆÔ%àÐ!Ø(ˆDŒOˆOØŒZÐ#Ø"œjÔ3ˆDŒOˆOà"Ô5ˆDŒOØœ/ð .
ð 
ˆŒð $(§=¢=°Ñ#6Ô#6ˆÔ Ø+:ˆÔ(å$ T¨?¸DÑAÔAÐØÐ)ÝÝ•XÔ1Ô2ØÔ"ñô ˆKˆKð
 Ô0ˆKà;F¸;ÀtÑ;LÔ;LÐLˆÔ# dÔ&8à"Ð.Ø+BˆDÔ(à3HˆÔ0ØÔ3ð 	àÔ8ð Ô&ð )ˆÔØ 0ˆÔàÐ+Ø(<ˆDÔ%à%­V¬]Ð:Ð:Ø.HˆDÔ+à×)Ò)Ñ+Ô+Ð+Ð+Ð+rj   rÍ   z]full_returning is deprecated, please use insert_returning, update_returning, delete_returningc                ó,   — | j         o| j        o| j        S r’   )Úinsert_returningÚupdate_returningÚdelete_returning©rf   s    rh   Úfull_returningzDefaultDialect.full_returning  s%   € ð Ô!ð &ØÔ%ð&àÔ%ð	
rj   c                ó   — | j         o| j        S )a  Default implementation for insert_executemany_returning, if not
        otherwise overridden by the specific dialect.

        The default dialect determines "insert_executemany_returning" is
        available if the dialect in use has opted into using the
        "use_insertmanyvalues" feature. If they haven't opted into that, then
        this attribute is False, unless the dialect in question overrides this
        and provides some other implementation (such as the Oracle Database
        dialects).

        ©ré   r³   rì   s    rh   Úinsert_executemany_returningz+DefaultDialect.insert_executemany_returning"  s   € ð Ô$ÐB¨Ô)BÐBrj   c                ó   — | j         o| j        S )aä  Default implementation for
        insert_executemany_returning_deterministic_order, if not otherwise
        overridden by the specific dialect.

        The default dialect determines "insert_executemany_returning" can have
        deterministic order only if the dialect in use has opted into using the
        "use_insertmanyvalues" feature, which implements deterministic ordering
        using client side sentinel columns only by default.  The
        "insertmanyvalues" feature also features alternate forms that can
        use server-generated PK values as "sentinels", but those are only
        used if the :attr:`.Dialect.insertmanyvalues_implicit_sentinel`
        bitflag enables those alternate SQL forms, which are disabled
        by default.

        If the dialect in use hasn't opted into that, then this attribute is
        False, unless the dialect in question overrides this and provides some
        other implementation (such as the Oracle Database dialects).

        rï   rì   s    rh   Ú4insert_executemany_returning_sort_by_parameter_orderzCDefaultDialect.insert_executemany_returning_sort_by_parameter_order1  s   € ð* Ô$ÐB¨Ô)BÐBrj   r_   rB   c                óN   — | j         €t          j        d| › d�¦  «        ‚| j         S )NúDialect z\ does not have a Python DBAPI established and cannot be used for actual database interaction)r¿   r&   ÚNoDBAPILoadedrì   s    rh   Úloaded_dbapizDefaultDialect.loaded_dbapiK  sC   € àŒ:ÐÝÔ#ðE˜4ð Eð Eð Eñô ð ð ŒzÐrj   úutil.VersionInfoc                ó„  — | j         €%t          j        d| j        › d| j        › d�¦  «        ‚	 |                      | j         ¦  «        }n3# t          $ r&}t          d| j        › d| j        › d�¦  «        |‚d }~ww xY w|sBt          | j         d| j        ¦  «        }t          j        d| j        › d| j        › d|›�¦  «        ‚|S )Nrô   ú+z: has no DBAPI module loaded; no DBAPI version is availablezK does not implement retrieve_dbapi_version(); no DBAPI version is availabler“   z4 could not determine a version for its DBAPI module )r¿   r&   rõ   ÚnameÚdriverÚretrieve_dbapi_versionÚNotImplementedErrorrÕ   )rf   ÚversionÚneÚ
dbapi_names       rh   Údbapi_versionzDefaultDialect.dbapi_versionT  s0  € ð Œ:ÐÝÔ#ð8˜4œ9ð 8ð 8 t¤{ð 8ð 8ð 8ñô ð ð
	Ø×1Ò1°$´*Ñ=Ô=ˆGˆGøÝ"ð 	ð 	ð 	Ý%ðJ˜4œ9ð Jð J t¤{ð Jð Jð Jñô ð ðøøøøð	øøøð ð 
	õ ! ¤¨Z¸¼ÑEÔEˆJÝÔ#ð?˜4œ9ð ?ð ? t¤{ð ?ð ?Ø0:ð?ð ?ñô ð ð
 ˆs   ®A	 Á	
A9Á!A4Á4A9úOptional[util.VersionInfo]c                ó>   — 	 | j         S # t          j        $ r Y dS w xY w)aj  :attr:`.Dialect.dbapi_version`, or None if it can't be
        determined.

        For use by dialect startup checks, which run before a DBAPI is
        necessarily present and which must not fail when no version is
        available.  Only :class:`.exc.NoDBAPILoaded` is accommodated;
        ``NotImplementedError``, indicating a dialect which does not
        implement :meth:`.Dialect.retrieve_dbapi_version` at all, is a bug
        in that dialect and is allowed to propagate.  Deliberately not
        memoized itself; the underlying :attr:`.Dialect.dbapi_version`
        memoizes the success case.

        N)r  r&   rõ   rì   s    rh   Ú_dbapi_version_or_nonez%DefaultDialect._dbapi_version_or_nonev  s5   € ð	ØÔ%Ð%øÝÔ ð 	ð 	ð 	Ø�4�4ð	øøøs   ‚	 ‰›ÚNonec                óÐ   — | j         }|€dS | j        }|�O||k     rKt          | j        d| j        ¦  «        }t          j        d| j        › d| j        › d|› d|› d|› d�¦  «        ‚dS dS )	zÉEnforce :attr:`.Dialect.minimum_dbapi_version`, if present.

        Takes place as the dialect is constructed.  No check occurs when
        the version of the DBAPI is not available at all.

        Nr“   rô   rù   z requires version z or greater of the z DBAPI; version z is installed)Úminimum_dbapi_versionr  rÕ   r¿   rû   r&   ÚInvalidRequestErrorrú   )rf   Úminimumrþ   r   s       rh   rä   z+DefaultDialect._check_minimum_dbapi_versionŠ  s³   € ð Ô,ˆØˆ?ØˆFàÔ-ˆØÐ 7¨WÒ#4Ð#4Ý  ¤¨Z¸¼ÑEÔEˆJÝÔ)ð2˜4œ9ð 2ð 2 t¤{ð 2ð 2Øð2ð 2Ø/9ð2ð 2à"ð2ð 2ð 2ñô ð ð ÐÐ#4Ð#4rj   c                ó2   — | j         t          j        j        u S r’   )rÙ   r   r×   ÚRENDER_CASTSrì   s    rh   Ú_bind_typing_render_castsz(DefaultDialect._bind_typing_render_castsž  s   € àÔ¥:Ô#8Ô#EÐEÐErj   Úargr   c                óŠ   — t          |t          ¦  «        s-t          j        dt          ›dt	          |¦  «        ›d�¦  «        ‚d S )Nz7The argument passed to Dialect.has_table() should be a z, got z . Additionally, the Dialect.has_table() method is for internal dialect use only; please use ``inspect(some_engine).has_table(<tablename>>)`` for public API use.)Ú
isinstancer   r&   rÔ   Útype)rf   r  s     rh   rc   z+DefaultDialect._ensure_has_table_connection¢  sQ   € Ý˜#�zÑ*Ô*ð 		ÝÔ#Ð#õ *4¨¨µT¸#±Y´Y°Y°Yð@ñô ð ð		ð 		rj   c                ó²   — | j         j                             dd ¦  «        }|€'t          j        d| j        ›d| j        ›d�d¬¦  «         t          |¦  «        S )NÚsupports_statement_cacherô   ú:aà   will not make use of SQL compilation caching as it does not set the 'supports_statement_cache' attribute to ``True``.  This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions.  Dialect maintainers should seek to set this attribute to True after appropriate development and testing for SQLAlchemy 1.4 caching support.   Alternatively, this attribute may be set to False which will disable this warning.Úcprf)Úcode)Ú	__class__Ú__dict__Úgetr(   Úwarnrú   rû   r`   )rf   Ússcs     rh   Ú_supports_statement_cachez(DefaultDialect._supports_statement_cache®  sh   € àŒnÔ%×)Ò)Ð*DÀdÑKÔKˆØˆ;ÝŒIˆIð #œi˜i˜i¨¬¨¨ð	6ð ðñ ô ð õ �C‰yŒyÐrj   c                ó(   — t          j        ¦   «         S r’   )ÚweakrefÚWeakKeyDictionaryrì   s    rh   Ú_type_memoszDefaultDialect._type_memosÂ  s   € åÔ(Ñ*Ô*Ð*rj   c                ó&   — | j         dz   | j        z   S )Nrù   )rú   rû   rì   s    rh   Údialect_descriptionz"DefaultDialect.dialect_descriptionÆ  s   € àŒy˜3‰ ¤Ñ,Ð,rj   c                ó   — | j         S )zÊTrue if this dialect supports sane rowcount even if RETURNING is
        in use.

        For dialects that don't support RETURNING, this is synonymous with
        ``supports_sane_rowcount``.

        )Úsupports_sane_rowcountrì   s    rh   Ú supports_sane_rowcount_returningz/DefaultDialect.supports_sane_rowcount_returningÊ  s   € ð Ô*Ð*rj   ÚurlrG   ú
Type[Pool]c                ód   — | j         rt          j        }nt          j        }t	          | d|¦  «        S )NÚ	poolclass)Úis_asyncr'   ÚAsyncAdaptedQueuePoolÚ	QueuePoolrÕ   )Úclsr%  r«   s      rh   Úget_pool_classzDefaultDialect.get_pool_classÕ  s1   € ð Œ<ð 	%ÝÔ0ˆGˆGå”nˆGå�s˜K¨Ñ1Ô1Ð1rj   c                ó,   — |                       |¦  «        S r’   )r-  )rf   r%  s     rh   Úget_dialect_pool_classz%DefaultDialect.get_dialect_pool_classß  s   € Ø×"Ò" 3Ñ'Ô'Ð'rj   c                ó¸   — d                      | j                             d¦  «        dd…         ¦  «        }	 t          |dz   ¦  «         d S # t          $ r Y d S w xY w)Nrl   r   éÿÿÿÿz
.provision)Újoinr”   ÚsplitÚ
__import__ÚImportError)r,  Úpackages     rh   Úload_provisioningz DefaultDialect.load_provisioningâ  sl   € à—(’(˜3œ>×/Ò/°Ñ4Ô4°Q°r°TÔ:Ñ;Ô;ˆð	Ý�w Ñ-Ñ.Ô.Ð.Ð.Ð.øÝð 	ð 	ð 	ØˆDˆDð	øøøs   ·A Á
AÁAúOptional[_ListenerFnType]c                ó$   ‡ — ‰ j         �ˆ fd„}|S d S )Nc                ó>   •— ‰                      | ‰j        ¦  «         d S r’   )Ú_assert_and_set_isolation_levelrß   )Ú
dbapi_connÚconn_recrf   s     €rh   Úbuiltin_connectz:DefaultDialect._builtin_onconnect.<locals>.builtin_connectí  s-   ø€ Ø×4Ò4Ø Ô @ñô ð ð ð rj   )rß   )rf   r>  s   ` rh   Ú_builtin_onconnectz!DefaultDialect._builtin_onconnectê  s2   ø€ ØÔ+Ð7ðð ð ð ð ð
 #Ð"à�4rj   rY   c                ó  — 	 |                       |¦  «        | _        n# t          $ r
 d | _        Y nw xY w	 |                      |¦  «        | _        n# t          $ r
 d | _        Y nw xY w	 |                      |j        j        ¦  «        | _        n# t          $ r
 d | _        Y nw xY w| j	        s|  
                    |¦  «        }|r|| _        | j        r3| j        | j        k    r%t          j        d| j        | j        fz  ¦  «        ‚d S d S )NzQLabel length of %d is greater than this dialect's maximum identifier length of %d)Ú_get_server_version_infoÚserver_version_inforý   Ú_get_default_schema_namer¸   Úget_default_isolation_levelrY   Údbapi_connectionÚdefault_isolation_levelr­   Ú_check_max_identifier_lengthrÅ   rÆ   r&   rÔ   )rf   rY   Úmax_ident_lengths      rh   Ú
initializezDefaultDialect.initializeö  s  € ð	,Ø'+×'DÒ'DØñ(ô (ˆDÔ$Ð$øõ #ð 	,ð 	,ð 	,Ø'+ˆDÔ$Ð$Ð$ð	,øøøð	,Ø'+×'DÒ'DØñ(ô (ˆDÔ$Ð$øõ #ð 	,ð 	,ð 	,Ø'+ˆDÔ$Ð$Ð$ð	,øøøð	0Ø+/×+KÒ+KØÔ%Ô6ñ,ô ,ˆDÔ(Ð(øõ #ð 	0ð 	0ð 	0Ø+/ˆDÔ(Ð(Ð(ð	0øøøð Ô7ð 	>Ø#×@Ò@ÀÑLÔLÐØð >Ø-=�Ô*ð Ôð	àÔ! DÔ$>Ò>Ð>åÔ#ð3àÔ$ dÔ&@ÐAñBñô ð ð		ð 	à>Ð>s/   ‚ �1°1µA ÁA$Á#A$Á($B ÂB!Â B!úOptional[Callable[[Any], None]]c                ó   — d S r’   r˜   rì   s    rh   Ú
on_connectzDefaultDialect.on_connect  s   € àˆtrj   c                ó   — dS )zÓPerform a connection / server version specific check to determine
        the max_identifier_length.

        If the dialect's class level max_identifier_length should be used,
        can return None.

        Nr˜   ©rf   rY   s     rh   rG  z+DefaultDialect._check_max_identifier_length  s	   € ð ˆtrj   c                ó,   — |                       |¦  «        S )a³  Given a DBAPI connection, return its isolation level, or
        a default isolation level if one cannot be retrieved.

        May be overridden by subclasses in order to provide a
        "fallback" isolation level for databases that cannot reliably
        retrieve the actual isolation level.

        By default, calls the :meth:`_engine.Interfaces.get_isolation_level`
        method, propagating any exceptions raised.

        )Úget_isolation_level©rf   r<  s     rh   rD  z*DefaultDialect.get_default_isolation_level(  s   € ð ×'Ò'¨
Ñ3Ô3Ð3rj   c                ó6   — t          j        || j        ¦  «        S )a)  Provide a database-specific :class:`.TypeEngine` object, given
        the generic object which comes from the types module.

        This method looks for a dictionary called
        ``colspecs`` as a class or instance-level variable,
        and passes on to :func:`_types.adapt_type`.

        )r,   Ú
adapt_typer°   ©rf   Útypeobjs     rh   Útype_descriptorzDefaultDialect.type_descriptor6  s   € õ Ô" 7¨D¬MÑ:Ô:Ð:rj   rU  úTypeEngine[Any]c                ó   — t           j        S )zÈReturn the earliest year the database accepts for the given
        date or datetime type.

        The default implementation returns ``datetime.MINYEAR``.

        .. versionadded:: 2.0.55

        )ÚdatetimeÚMINYEARrT  s     rh   Úmin_year_for_typez DefaultDialect.min_year_for_typeA  s   € õ ÔÐrj   c                ór   —  | j         ||fd|i|¤ŽsdS  | j        ||fd|i|¤ŽD ]}|d         |k    r dS ŒdS )Nr\   Frú   T)ri   rˆ   )rf   rY   rZ   Ú
index_namer\   r^   Úidxs          rh   Ú	has_indexzDefaultDialect.has_indexL  s†   € ØˆtŒ~˜j¨*ÐJÐJ¸VÐJÀrÐJÐJð 	Ø�5Ø#�4Ô#Ø˜
ð
ð 
Ø+1ð
Ø57ð
ð 
ð 	ð 	ˆCð �6Œ{˜jÒ(Ð(Ø�t�tð )ð �5rj   Úschema_namer[   r^   c                ó"   — | | j         |fi |¤Žv S r’   )Úget_schema_names)rf   rY   r`  r^   s       rh   Ú
has_schemazDefaultDialect.has_schemaW  s%   € ð Ð3˜dÔ3°JÐEÐEÀ"ÐEÐEÐEÐErj   Úidentc                ór   — t          |¦  «        | j        k    rt          j        d|| j        fz  ¦  «        ‚d S )Nz7Identifier '%s' exceeds maximum length of %d characters)ÚlenrÅ   r&   ÚIdentifierError)rf   rd  s     rh   Úvalidate_identifierz"DefaultDialect.validate_identifier\  sF   € Ýˆu‰:Œ:˜Ô2Ò2Ð2ÝÔ%ØIØ˜$Ô4Ð5ñ6ñô ð ð 3Ð2rj   ÚcargsÚcparamsrA   c                ó&   —  | j         j        |i |¤ŽS r’   )rö   Úconnect)rf   ri  rj  s      rh   rl  zDefaultDialect.connectc  s   € à(ˆtÔ Ô(¨%Ð;°7Ð;Ð;Ð;rj   r@   c                óf   — |                      ¦   «         }|                     |j        ¦  «         g |fS r’   )Útranslate_connect_argsÚupdateÚquery)rf   r%  Úoptss      rh   Úcreate_connect_argsz"DefaultDialect.create_connect_argsg  s1   € à×)Ò)Ñ+Ô+ˆØ�Š�C”IÑÔÐØ�DˆzÐrj   Úenginer6   rq  c                óä   ‡ ‡‡— t          ‰ j        ¦  «                             ‰¦  «        }|rCt          j        ˆfd„|D ¦   «         ¦  «        Št          j        |d¦  «        ˆˆ fd„¦   «         }d S d S )Nc              3  ó,   •K  — | ]}|‰|         fV — Œd S r’   r˜   ©Ú.0rú   rq  s     €rh   ú	<genexpr>z>DefaultDialect.set_engine_execution_options.<locals>.<genexpr>t  óE   øè è € ð Dð DØ'+��t˜D”zÐ"ðDð Dð Dð Dð Dð Drj   Úengine_connectc                ó4   •— ‰                      | ‰¦  «         d S r’   )Ú_set_connection_characteristics)rY   r   rf   s    €€rh   Úset_connection_characteristicszSDefaultDialect.set_engine_execution_options.<locals>.set_connection_characteristicsx  s*   ø€ à×4Ò4Ø ñô ð ð ð rj   )ÚsetÚconnection_characteristicsÚintersectionr(   Úimmutabledictr%   Úlistens_for)rf   rs  rq  Úsupported_namesr}  r   s   ` `  @rh   Úset_engine_execution_optionsz+DefaultDialect.set_engine_execution_optionsm  sÀ   øøø€ õ ˜dÔ=Ñ>Ô>×KÒKØñ
ô 
ˆð ð 		Ý15Ô1Cð Dð Dð Dð DØ/>ðDñ Dô Dñ 2ô 2ˆOõ Ô˜vÐ'7Ñ8Ô8ðð ð ð ð ñ 9Ô8ðð ð ð		ð 		rj   c                óÊ   ‡— t          | j        ¦  «                             ‰¦  «        }|r8t          j        ˆfd„|D ¦   «         ¦  «        }|                      ||¦  «         d S d S )Nc              3  ó,   •K  — | ]}|‰|         fV — Œd S r’   r˜   rv  s     €rh   rx  zBDefaultDialect.set_connection_execution_options.<locals>.<genexpr>…  ry  rj   )r~  r  r€  r(   r�  r|  )rf   rY   rq  rƒ  r   s     `  rh   Ú set_connection_execution_optionsz/DefaultDialect.set_connection_execution_options~  sœ   ø€ õ ˜dÔ=Ñ>Ô>×KÒKØñ
ô 
ˆð ð 	NÝ15Ô1Cð Dð Dð Dð DØ/>ðDñ Dô Dñ 2ô 2ˆOð ×0Ò0°¸_ÑMÔMÐMÐMÐMð		Nð 	Nrj   c                ó¼  ‡ — ˆ fd„ |j         ¦   «         D ¦   «         }|                     ¦   «         rBd„ |D ¦   «         }|r4t          j        dd                     d„ |D ¦   «         ¦  «        z  ¦  «        ‚|j        j        }|D ]\  }}}|                     ‰ |||¦  «         Œ|j        j        j	         
                    t          j        ‰ j        |¦  «        ¦  «         d S )Nc                ó6   •— g | ]\  }}|‰j         |         |f‘ŒS r˜   )r  )rw  rú   Úvaluerf   s      €rh   ú
<listcomp>zBDefaultDialect._set_connection_characteristics.<locals>.<listcomp>‹  s<   ø€ ð !
ð !
ð !
á��eð �4Ô2°4Ô8¸%Ð@ð!
ð !
ð !
rj   c                ó,   — g | ]\  }}}|j         ¯||f‘ŒS r˜   )Útransactional)rw  rú   ÚobjÚ_s       rh   r‹  zBDefaultDialect._set_connection_characteristics.<locals>.<listcomp>‘  s;   € ð ð ð á �D˜#˜qØÔ$ðØ�s�ðð ð rj   z¨This connection has already initialized a SQLAlchemy Transaction() object via begin() or autobegin; %s may not be altered unless rollback() or commit() is called first.ú, c              3  ó    K  — | ]	\  }}|V — Œ
d S r’   r˜   )rw  rú   rŽ  s      rh   rx  zADefaultDialect._set_connection_characteristics.<locals>.<genexpr>œ  s&   è è € Ð BÐ B©)¨$° Ð BÐ BÐ BÐ BÐ BÐ Brj   )ÚitemsÚin_transactionr&   r  r2  rY   rE  Úset_connection_characteristicÚ_connection_recordÚfinalize_callbackÚappendÚ	functoolsÚpartialÚ_reset_characteristics)	rf   rY   r   Úcharacteristic_valuesÚ
trans_objsrE  r�  ÚcharacteristicrŠ  s	   `        rh   r|  z.DefaultDialect._set_connection_characteristicsŠ  s@  ø€ ð!
ð !
ð !
ð !
à4˜Ô4Ñ6Ô6ð!
ñ !
ô !
Ðð
 ×$Ò$Ñ&Ô&ð 	ðð à$9ðñ ô ˆJð
 ð ÝÔ-ð'ð —y’yÐ BÐ B°zÐ BÑ BÔ BÑBÔBñ	Dñô ð ð &Ô0ÔAÐØ(=ð 	ð 	Ñ$ˆAˆ~˜uØ×8Ò8Ø�jÐ"2°Eñô ð ð ð 	ÔÔ0ÔB×IÒIÝÔ˜dÔ9¸?ÑKÔKñ	
ô 	
ð 	
ð 	
ð 	
rj   c                óV   — |D ]%}| j         |         }|                     | |¦  «         Œ&d S r’   )r  Úreset_characteristic)rf   r   rE  Úcharacteristic_namer�  s        rh   rš  z%DefaultDialect._reset_characteristics¨  sL   € Ø#2ð 	Hð 	HÐØ!Ô<Ø#ôˆNð ×/Ò/°Ð6FÑGÔGÐGÐGð		Hð 	Hrj   c                ó   — d S r’   r˜   ©rf   rE  s     rh   Údo_beginzDefaultDialect.do_begin¯  ó   € Øˆrj   c                ój   — | j         r|                      |¦  «        rd S |                     ¦   «          d S r’   )rÉ   Údetect_autocommit_settingÚrollbackr¢  s     rh   Údo_rollbackzDefaultDialect.do_rollback²  sF   € ØÔ(ð 	¨T×-KÒ-KØñ.
ô .
ð 	ð ˆFØ×!Ò!Ñ#Ô#Ð#Ð#Ð#rj   c                ó.   — |                      ¦   «          d S r’   )Úcommitr¢  s     rh   Ú	do_commitzDefaultDialect.do_commit¹  s   € Ø×ÒÑ!Ô!Ð!Ð!Ð!rj   c                ó0   — |                       |¦  «         d S r’   )Údo_closer¢  s     rh   Údo_terminatezDefaultDialect.do_terminate¼  s   € Ø�ŠÐ&Ñ'Ô'Ð'Ð'Ð'rj   c                ó.   — |                      ¦   «          d S r’   )Úcloser¢  s     rh   r­  zDefaultDialect.do_close¿  s   € Ø×ÒÑ Ô Ð Ð Ð rj   c                ól   — t          t          j        d¦  «                             | ¬¦  «        ¦  «        S )Nr   ©Údialect)r[   r+   ÚselectÚcompilerì   s    rh   Ú_dialect_specific_select_onez+DefaultDialect._dialect_specific_select_oneÂ  s,   € å•:Ô$ QÑ'Ô'×/Ò/¸Ð/Ñ=Ô=Ñ>Ô>Ð>rj   rE  c                ó&  — 	 |                       |¦  «        S # | j        j        $ rj}|                      ||d ¦  «        }| j        r>	 t          j        || |dd¬¦  «         n## t          j        $ r}|j	        }Y d }~nd }~ww xY w|rY d }~dS ‚ d }~ww xY w)NFT)Úis_disconnectÚinvalidate_pool_on_disconnectÚis_pre_ping)
Údo_pingrö   ÚErrorr¸  Ú_has_eventsr   Ú$_handle_dbapi_exception_noconnectionr&   ÚStatementErrorÚconnection_invalidated)rf   rE  Úerrr¸  Únew_errs        rh   Ú_do_ping_w_eventzDefaultDialect._do_ping_w_eventÆ  së   € ð	Ø—<’<Ð 0Ñ1Ô1Ð1øØÔ Ô&ð 	ð 	ð 	Ø ×.Ò.¨sÐ4DÀdÑKÔKˆMàÔð 
Cð	CÝÔCØØØ&3Ø6;Ø$(ðñ ô ð ð øõ Ô)ð Cð Cð CØ$+Ô$B�M�M�M�M�M�MøøøøðCøøøð ð Ø�u�u�u�u�uàøøøøð%	øøøsD   ‚ —B¦BÁAÁBÁA?Á.A:Á5BÁ:A?Á?BÂ
BÂBc                óÀ   — |                      ¦   «         }	 |                     | j        ¦  «         |                     ¦   «          n# |                     ¦   «          w xY wdS )NT)r   Úexecuter¶  r°  )rf   rE  r   s      rh   r»  zDefaultDialect.do_pingÝ  sS   € Ø!×(Ò(Ñ*Ô*ˆð	Ø�NŠN˜4Ô<Ñ=Ô=Ð=à�LŠL‰NŒNˆNˆNøˆF�LŠL‰NŒNˆNˆNøøøØˆts   –A ÁAc                ó8   — dt          j        dddz  ¦  «        z  S )z¼Create a random two-phase transaction ID.

        This id will be passed to do_begin_twophase(), do_rollback_twophase(),
        do_commit_twophase().  Its format is unspecified.
        z	_sa_%032xr   r$   é€   )ÚrandomÚrandintrì   s    rh   Ú
create_xidzDefaultDialect.create_xidå  s   € ð �Vœ^¨A¨q°#©vÑ6Ô6Ñ6Ð6rj   c                óT   — |                      t          j        |¦  «        ¦  «         d S r’   )rÅ  r+   ÚSavepointClause©rf   rY   rú   s      rh   Údo_savepointzDefaultDialect.do_savepointî  s'   € Ø×Ò�:Ô5°dÑ;Ô;Ñ<Ô<Ð<Ð<Ð<rj   c                óT   — |                      t          j        |¦  «        ¦  «         d S r’   )rÅ  r+   ÚRollbackToSavepointClauserÍ  s      rh   Údo_rollback_to_savepointz'DefaultDialect.do_rollback_to_savepointñ  s'   € Ø×Ò�:Ô?ÀÑEÔEÑFÔFÐFÐFÐFrj   c                óT   — |                      t          j        |¦  «        ¦  «         d S r’   )rÅ  r+   ÚReleaseSavepointClauserÍ  s      rh   Údo_release_savepointz#DefaultDialect.do_release_savepointô  s'   € Ø×Ò�:Ô<¸TÑBÔBÑCÔCÐCÐCÐCrj   c           
   #  ór  ‡ ‡‡‡‡K  — t          t          |¦  «        }t          t          |j        ¦  «        }dŠd Šd}|j        }	|j        }
|
€J ‚t          |j        ¦  «        }|j         	                    d‰ j
        ¦  «        }|j        r|j         	                    di ¦  «        }nd }|rg }||_        |
j        }nd}d }|                     |||	||||¦  «        D �][}|V — |�rQ	 |                     |¦  «        }nN# t           $ rA}|                     |t%          j        |j        ¦  «        |j        d |d¬¦  «         Y d }~nd }~ww xY w|€J ‚|
j        �rË|j        �sÃ|
j        dk    }|
j        r;|rJ ‚|                     t5          |t7          j        d¦  «        ¬	¦  «        ¦  «         ŒÐ|
j        sJ ‚|
j        sJ ‚|
j        Š|sk|r0ˆ fd
„t?          |
j        |j         ‰ d …         ¦  «        D ¦   «         Šn7|
j        d         j!         "                    ‰ |j         d         d         ¦  «        Šd}|rˆˆfd„|D ¦   «         Šn‰rˆfd„|D ¦   «         Šnd„ |D ¦   «         ŠtG          ‰¦  «        tG          |j$        ¦  «        k    r:tK          j&        dtG          |j$        ¦  «        › dtG          ‰¦  «        › d�¦  «        ‚	 ˆfd„|j'        D ¦   «         }n6# tP          $ r)}tK          j&        d|j)        d         ›d�¦  «        |‚d }~ww xY w|                     |¦  «         �ŒF|                     |¦  «         �Œ]d S )Nr˜   Fr·   Úschema_translate_mapT)Úis_sub_execr   r1  )Úkeyc                óX   •— g | ]&\  }}|j                              ‰|d          ¦  «        ‘Œ'S )r   )r  Ú_cached_result_processor)rw  ÚcolÚcursor_descrf   s      €rh   r‹  zDDefaultDialect._deliver_insertmanyvalues_batches.<locals>.<listcomp>U  sJ   ø€ ð 8ð 8ð 8ñ %5 C¨ð !$¤× AÒ AØ$(¨+°a¬.ñ!"ô !"ð8ð 8ð 8rj   r   c           
     ór   •— i | ]3}t          d „ t          |‰ d…         ‰¦  «        D ¦   «         ¦  «        |“Œ4S )c              3  ó:   K  — | ]\  }}|r ||¦  «        n|V — Œd S r’   r˜   )rw  ÚvalÚprocs      rh   rx  zNDefaultDialect._deliver_insertmanyvalues_batches.<locals>.<dictcomp>.<genexpr>m  sK   è è € ð "ð "á$- C¨ð /3Ð!;   c¡¤ ¸ð"ð "ð "ð "ð "ð "rj   N)ÚtupleÚzip)rw  ÚrowÚ_composite_sentinel_procÚ_nscs     €€rh   ú
<dictcomp>zDDefaultDialect._deliver_insertmanyvalues_batches.<locals>.<dictcomp>l  sp   ø€ ð ,ð ,ð ,ð !$õ "ð "ð "å14Ø$'¨¨¨¨¤KÐ1Iñ2"ô 2"ð"ñ "ô "ñ ô ð
  #ð,ð ,ð ,rj   c                ó4   •— i | ]} ‰|d          ¦  «        |“ŒS ©r1  r˜   )rw  rã  Ú_scalar_sentinel_procs     €rh   ræ  zDDefaultDialect._deliver_insertmanyvalues_batches.<locals>.<dictcomp>v  s8   ø€ ð ,ð ,ð ,ØDGÐ1Ð1°#°b´'Ñ:Ô:¸Cð,ð ,ð ,rj   c                ó    — i | ]}|d          |“ŒS rè  r˜   )rw  rã  s     rh   ræ  zDDefaultDialect._deliver_insertmanyvalues_batches.<locals>.<dictcomp>z  s   € Ð+IÐ+IÐ+I¸S¨C°¬G°SÐ+IÐ+IÐ+Irj   zASentinel-keyed result set did not produce correct number of rows z; produced zP.  Please ensure the sentinel column is fully unique and populated in all cases.c                ó    •— g | ]
}‰|         ‘ŒS r˜   r˜   )rw  Úsentinel_keysÚrows_by_sentinels     €rh   r‹  zDDefaultDialect._deliver_insertmanyvalues_batches.<locals>.<listcomp>Š  s.   ø€ ð (ð (ð (à -ð -¨]Ô;ð(ð (ð (rj   zACan't match sentinel values in result set to parameter sets; key aT   was not found. There may be a mismatch between the datatype passed to the DBAPI driver vs. that which it returns in a result row.  Ensure the given Python value matches the expected result type *exactly*, taking care to not rely upon implicit conversions which may occur such as when using strings in place of UUID or integer values, etc. )*r   ÚDefaultExecutionContextr2   ÚcompiledÚcompiled_parametersÚ_insertmanyvaluesr`   Úeffective_returningÚexecution_optionsr  r·   rÖ  Ú_insertmanyvalues_rowsÚsort_by_parameter_orderÚ!_deliver_insertmanyvalues_batchesÚfetchall_for_returningÚBaseExceptionÚ_handle_dbapi_exceptionÚsql_utilÚ_long_statementÚreplaced_statementÚreplaced_parametersÚnum_sentinel_columnsÚis_downgradedÚimplicit_sentinelÚextendÚsortedÚoperatorÚ
itemgetterÚsentinel_param_keysÚsentinel_columnsrâ  Údescriptionr  rÚ  rf  Úbatchr&   r  Úsentinel_valuesrm   Úargs)rf   rY   r   Ú	statementÚ
parametersÚgeneric_setinputsizesÚcontextrï  Ú_sentinel_proc_initializedrð  ÚimvÚis_returningÚ
batch_sizerÖ  Úresultrõ  Ú	imv_batchÚrowsÚbeÚcomposite_sentinelÚordered_rowsÚkerä  rå  ré  rí  s   `                     @@@@rh   rö  z0DefaultDialect._deliver_insertmanyvalues_batches÷  sÞ  øøøøøè è € õ Õ.°Ñ8Ô8ˆÝ� WÔ%5Ñ6Ô6ˆð ð 	!ð FJÐØ+0Ð"à%Ô9ÐàÔ(ˆØˆˆˆå$(¨Ô)EÑ$FÔ$FˆØÔ.×2Ò2Ø(¨$Ô*Iñ
ô 
ˆ
ð Ô(ð 	(Ø#*Ô#<×#@Ò#@Ø&¨ñ$ô $Ð Ð ð $(Ð àð 	Ø*,ˆFØ-3ˆGÔ*à&)Ô&AÐ#Ð#ð ',Ð#ØˆFà!×CÒCØØØØ!ØØ#Ø ñ
ô 
ð ~	(ñ ~	(ˆIð ˆOˆOˆOàñ s(ð
Ø"×9Ò9¸&ÑAÔA�D�DøÝ$ð ð ð Ø×6Ò6ØÝ Ô0°Ô1MÑNÔNØ!Ô5ØØØ$(ð 7ñ ô ð ð ð ð ð ð øøøøðøøøð Ð)Ð)Ð)àÔ+ñ a(°IÔ4Kñ a(Ø),Ô)AÀAÒ)EÐ&ØÔ,ð !ð $6Ð5Ð5Ð5ØŸšÝ" 4­XÔ-@ÀÑ-DÔ-DÐEÑEÔEñô ð ð !ð Ô2Ð2Ð2Ð2ØÔ/Ð/Ð/Ð/àÔ3�Dà5ð :Ø-ð ð8ð 8ð 8ð 8õ 9<Ø$'Ô$8Ø$*Ô$6¸°u°v°vÔ$>ñ9"ô 9"ð	8ñ 8ô 8Ð4Ð4ð !$Ô 4°QÔ 7Ü"×#;Ò#;Ø $ fÔ&8¸Ô&<¸QÔ&?ñ$ô $ð 2ð
 6:Ð2ð *ð Jð,ð ,ð ,ð ,ð ,ð (,ð,ñ ,ô ,Ð(Ð(ð /ð Jð,ð ,ð ,ð ,ØKOð,ñ ,ô ,Ð(Ð(ð ,JÐ+IÀDÐ+IÑ+IÔ+IÐ(åÐ+Ñ,Ô,µ°I´OÑ0DÔ0DÒDÐDõ "Ô5ð)Ý69¸)¼/Ñ6JÔ6Jð)ð )õ  #Ð#3Ñ4Ô4ð)ð )ð )ñô ð ð"ð(ð (ð (ð (à1:Ô1Jð(ñ (ô (˜˜øõ $ð "ð "ð "õ "Ô5ð	PØ35´7¸1´:ð	Pð 	Pð 	Pñô ð  "ð"øøøøð	"øøøð" —M’M ,Ñ/Ô/Ð/Ñ/ð —M’M $Ñ'Ô'Ð'ùð}~	(ð ~	(s0   Ã%C;Ã;
EÄ7EÅEÊ?KË
LË$LÌLc                ó2   — |                      ||¦  «         d S r’   )Úexecutemany©rf   r   r  r  r  s        rh   Údo_executemanyzDefaultDialect.do_executemany¤  s   € Ø×Ò˜9 jÑ1Ô1Ð1Ð1Ð1rj   c                ó2   — |                      ||¦  «         d S r’   ©rÅ  r  s        rh   Ú
do_executezDefaultDialect.do_execute§  s   € Ø�Š�y *Ñ-Ô-Ð-Ð-Ð-rj   c                ó0   — |                      |¦  «         d S r’   r  )rf   r   r  r  s       rh   Údo_execute_no_paramsz#DefaultDialect.do_execute_no_paramsª  s   € Ø�Š�yÑ!Ô!Ð!Ð!Ð!rj   ÚeúDBAPIModule.ErrorúCUnion[pool.PoolProxiedConnection, interfaces.DBAPIConnection, None]r   ú Optional[interfaces.DBAPICursor]c                ó   — dS )NFr˜   )rf   r#  rY   r   s       rh   r¸  zDefaultDialect.is_disconnect­  s	   € ð ˆurj   c           
     ó:  — 	 t          |                      |¦  «        ¦  «        }d„ |D ¦   «         }||k    rGt          d| j        ›dt	          t          |¦  «                             |¦  «        ¦  «        › �¦  «        ‚t          |¦  «        S # t          $ r Y d S w xY w)Nc                ó^   — g | ]*}|                      d d¦  «                             ¦   «         ‘Œ+S )r�  ú )ÚreplaceÚupper)rw  Úlevels     rh   r‹  z@DefaultDialect._gen_allowed_isolation_levels.<locals>.<listcomp>¾  s?   € ð !ð !ð !Ø49�—’˜c 3Ñ'Ô'×-Ò-Ñ/Ô/ð!ð !ð !rj   rô   zi get_isolation_level_values() method should return names as UPPERCASE using spaces, not underscores; got )	ÚlistÚget_isolation_level_valuesÚ
ValueErrorrú   r  r~  Ú
differencerá  rý   )rf   r<  Ú
raw_levelsÚnormalized_levelss       rh   Ú_gen_allowed_isolation_levelsz,DefaultDialect._gen_allowed_isolation_levels·  sÚ   € ð	,Ý˜d×=Ò=¸jÑIÔIÑJÔJˆJð!ð !Ø=Gð!ñ !ô !Ðð Ð.Ò.Ð.Ý ðO˜tœyð Oð Oõ �c *™oœo×8Ò8Ð9JÑKÔKÑLÔLðOð Oñô ð õ Ð*Ñ+Ô+Ð+øõ #ð 	ð 	ð 	Ø�4�4ð	øøøs   ‚"B Â
BÂBc           
     ó"  — |                      dd¦  «                             ¦   «         }|                      |¦  «        }|r9||vr5t          j        d|›d| j        ›dd                     |¦  «        › �¦  «        ‚|                      ||¦  «         d S )Nr�  r*  zInvalid value z1 for isolation_level. Valid isolation levels for z are r�  )r+  r,  r4  r&   rÔ   rú   r2  Úset_isolation_level)rf   r<  r-  Ú_allowed_isolation_levelss       rh   r;  z.DefaultDialect._assert_and_set_isolation_levelÊ  s½   € Ø—’˜c 3Ñ'Ô'×-Ò-Ñ/Ô/ˆà$(×$FÒ$FØñ%
ô %
Ð!ð &ð	àÐ6Ð6Ð6åÔ#ð: ð :ð :Ø.2¬ið:ð :à—9’9Ð6Ñ7Ô7ð:ð :ñô ð ð 	× Ò  ¨UÑ3Ô3Ð3Ð3Ð3rj   c                óÐ   — | j         �:| j         dk    s| j         | j        k    sJ ‚|                      || j         ¦  «         d S | j        €J ‚|                      || j        ¦  «         d S )NÚ
AUTOCOMMIT)rß   rF  r;  rQ  s     rh   Úreset_isolation_levelz$DefaultDialect.reset_isolation_levelÜ  s¡   € ØÔ+Ð7àÔ0°LÒ@Ð@ØÔ3ØÔ/ò0ð 0ð 0ð 0ð ×0Ò0Ø˜DÔ<ñô ð ð ð ð Ô/Ð;Ð;Ð;Ø×0Ò0ØØÔ,ñô ð ð ð rj   c                óà   — |€d S |                      ¦   «         }|                     ¦   «         }||k    r|S ||k    r| j                             |¦  «        s|S ||k    rt	          |d¬¦  «        S |S )NT)Úquote)Úlowerr,  rÞ   Ú_requires_quotesr3   ©rf   rú   Ú
name_lowerÚ
name_uppers       rh   Únormalize_namezDefaultDialect.normalize_nameí  s�   € Øˆ<Ø�4à—Z’Z‘\”\ˆ
Ø—Z’Z‘\”\ˆ
à˜Ò#Ð#ð ˆKØ˜4ÒÐØÔ$×5Ò5Ø
ñ&ô &ð  ð
 ÐØ˜4ÒÐõ ˜t¨4Ð0Ñ0Ô0Ð0ð ˆKrj   c                ó²   — |€d S |                      ¦   «         }|                     ¦   «         }||k    r|S ||k    r| j                             |¦  «        s|}|S r’   )r=  r,  rÞ   r>  r?  s       rh   Údenormalize_namezDefaultDialect.denormalize_name  sm   € Øˆ<Ø�4à—Z’Z‘\”\ˆ
Ø—Z’Z‘\”\ˆ
à˜Ò#Ð#ð ˆKØ˜4ÒÐØÔ$×5Ò5Ø
ñ&ô &ð  ð ˆDØˆrj   c                ó   — |S r’   r˜   rN  s     rh   Úget_driver_connectionz$DefaultDialect.get_driver_connection  s   € ØÐrj   c                óz   — t          t          | ¦  «        |¦  «        j        t          t          |¦  «        j        uS r’   )rÕ   r  Ú__code__rš   )rf   Úmethods     rh   Ú_overrides_defaultz!DefaultDialect._overrides_default  s2   € å•D˜‘J”J Ñ'Ô'Ô0Ý�>¨6Ñ2Ô2Ô;ð<ð	
rj   c              +  óª  K  — g }g }	t           j        |v r4|                     | j        ¦  «         |	                     | j        ¦  «         t           j        |v r4|                     | j        ¦  «         |	                     | j        ¦  «         t           j        |v r|                     | j	        ¦  «         | 
                    di ¦  «        }
|r|t          j        u r|t           j        u r|}n‚g }d|i|¥}g }t          j        |v r|                     |¦  «         t          j        |v r|                     |	¦  «         |D ]/}	 |                      ||fi |¤Ž¦  «         Œ # t           $ r Y Œ,w xY w|rt#          |¦  «        }|D ]S}|r||v rK||f}	 | |||fd|i|¤ŽfV — Œ# t$          j        $ r}||
vr||
|<   Y d }~Œ;d }~wt$          j        $ r Y ŒOw xY wŒTd S )NÚunreflectabler\   )r"   ÚTABLEr—  Úget_table_namesÚget_temp_table_namesÚVIEWÚget_view_namesÚget_temp_view_namesÚMATERIALIZED_VIEWÚget_materialized_view_namesÚpopr#   rx   r²   r  Ú	TEMPORARYrý   r~  r&   ÚUnreflectableTableErrorrn   )rf   Úsingle_tbl_methodrY   rv   r\   rt   ru   r^   Ú	names_fnsÚtemp_names_fnsrL  ÚnamesÚname_kwÚfnsÚfnrp   rØ  rÁ  s                     rh   Ú_default_multi_reflectz%DefaultDialect._default_multi_reflect!  s™  è è € ð ˆ	ØˆÝÔ˜tÐ#Ð#Ø×Ò˜TÔ1Ñ2Ô2Ð2Ø×!Ò! $Ô";Ñ<Ô<Ð<ÝŒ?˜dÐ"Ð"Ø×Ò˜TÔ0Ñ1Ô1Ð1Ø×!Ò! $Ô":Ñ;Ô;Ð;ÝÔ'¨4Ð/Ð/Ø×Ò˜TÔ=Ñ>Ô>Ð>ð Ÿš˜°Ñ3Ô3ˆð ð	à�œÐ(Ð(Ø�
œÐ&Ð&ð !ˆEˆEàˆEØ Ð.¨2Ð.ˆGØˆCÝÔ" eÐ+Ð+Ø—
’
˜9Ñ%Ô%Ð%ÝÔ$¨Ð-Ð-Ø—
’
˜>Ñ*Ô*Ð*àð ð �ðØ—L’L   JÐ!:Ð!:°'Ð!:Ð!:Ñ;Ô;Ð;Ð;øÝ*ð ð ð Ø�Dðøøøð ð 	-Ý˜|Ñ,Ô,ˆLð ð 	ð 	ˆEØð  5¨LÐ#8Ð#8Ø˜u�o�ðàØ)Ð)Ø&¨ðð Ø6<ðØ@Bðð ðð ð ð ð øõ Ô2ð 1ð 1ð 1Ø -Ð/Ð/Ø-0˜ cÑ*øøøøøøøøøÝÔ+ð ð ð Ø�Dðøøøð $9ð	ð 	s0   Ä?EÅ
E)Å(E)ÆFÆGÆ,	F:Æ:GÇGrb   úSequence[str]r\   úIterable[tuple[TableKey, bool]]c              +  óF   K  — |D ]} | j         ||fd|i|¤Ž}||f|fV — Œd S )Nr\   )ri   )rf   rY   rb   r\   r^   rZ   Úexists          rh   rd   zDefaultDialect.has_multi_tablej  sZ   è è € ð &ð 	.ð 	.ˆJØ"�D”N :¨zÐOÐOÀ&ÐOÈBÐOÐOˆEØ˜:Ð&¨Ð-Ð-Ð-Ð-Ð-ð	.ð 	.rj   c                ó*   —  | j         | j        |fi |¤ŽS r’   )r_  r~   ©rf   rY   r^   s      rh   r}   z&DefaultDialect.get_multi_table_optionsu  ó.   € Ø*ˆtÔ*ØÔ" Jð
ð 
Ø24ð
ð 
ð 	
rj   c                ó*   —  | j         | j        |fi |¤ŽS r’   )r_  rz   re  s      rh   rw   z DefaultDialect.get_multi_columnsz  ó"   € Ø*ˆtÔ*¨4Ô+;¸ZÐNÐNÈ2ÐNÐNÐNrj   c                ó*   —  | j         | j        |fi |¤ŽS r’   )r_  r‚   re  s      rh   r�   z&DefaultDialect.get_multi_pk_constraint}  rf  rj   c                ó*   —  | j         | j        |fi |¤ŽS r’   )r_  r…   re  s      rh   r„   z%DefaultDialect.get_multi_foreign_keys‚  s.   € Ø*ˆtÔ*ØÔ! :ð
ð 
Ø13ð
ð 
ð 	
rj   c                ó*   —  | j         | j        |fi |¤ŽS r’   )r_  rˆ   re  s      rh   r‡   z DefaultDialect.get_multi_indexes‡  rh  rj   c                ó*   —  | j         | j        |fi |¤ŽS r’   )r_  r‹   re  s      rh   rŠ   z+DefaultDialect.get_multi_unique_constraintsŠ  s.   € Ø*ˆtÔ*ØÔ'¨ð
ð 
Ø79ð
ð 
ð 	
rj   c                ó*   —  | j         | j        |fi |¤ŽS r’   )r_  rŽ   re  s      rh   r�   z*DefaultDialect.get_multi_check_constraints�  s.   € Ø*ˆtÔ*ØÔ&¨
ð
ð 
Ø68ð
ð 
ð 	
rj   c                ó*   —  | j         | j        |fi |¤ŽS r’   )r_  r‘   re  s      rh   r�   z&DefaultDialect.get_multi_table_comment”  rf  rj   )r¼   r½   rŸ   r¾   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   r¬   rÆ   r¬   r·   rÇ   r³   rÄ   rÈ   rM   r»   r`   rÉ   r`   rÊ   r   )r_   rB   )r_   r÷   )r_   r  )r_   r  )r  r   r_   r  )r%  rG   r_   r&  )r_   r8  )rY   r   r_   r  )r_   rJ  )rU  rW  r_   r¶   r’   )rY   r   r`  r[   r^   r   r_   r`   )rd  r[   r_   r  )ri  r   rj  r   r_   rA   )r%  rG   r_   r@   )rs  r6   rq  r©   r_   r  )rY   r   rq  r©   r_   r  )rE  rA   r_   r`   )r#  r$  rY   r%  r   r&  r_   r`   )rY   rA   r_   r   )
rY   r   rb   r`  r\   r]   r^   r   r_   ra  )µr“   r”   r•   r–   r)   r2   Ústatement_compilerr0   Úddl_compilerrà   rá   ÚIdentifierPreparerrÝ   Úsupports_alterÚsupports_commentsÚsupports_constraint_commentsÚinline_commentsr  Údiv_is_floordivr   r×   ÚNONErÙ   r›   Ú__annotations__rœ   Údefault_sequence_baserá  Úexecute_sequence_formatÚsupports_schemasÚsupports_viewsÚsupports_sequencesÚsequences_optionalÚ"preexecute_autoincrement_sequencesÚsupports_identity_columnsÚpostfetch_lastrowidÚfavor_returning_over_lastrowidÚ#insert_null_pk_still_autoincrementsrê   rë   Úupdate_returning_multifromÚdelete_returning_multifromré   r/   ÚINLINEÚaggregate_order_by_styleÚcte_follows_insertÚsupports_native_enumrÃ   Úsupports_native_uuidÚreturns_native_bytesÚ"supports_native_json_serializationÚ$supports_native_json_deserializationÚ(dialect_injects_custom_json_deserializerr�   rž   Ú#non_native_boolean_check_constraintÚsupports_simple_order_by_labelÚtuple_in_valuesr(   r�  r   ÚIsolationLevelCharacteristicÚLoggingTokenCharacteristicr  ÚasintÚbool_or_strÚasboolrª   Úsupports_native_decimalrú   rÅ   r­   rŸ   r®   r¯   r#  Úsupports_sane_multi_rowcountr°   rÜ   Úsupports_default_valuesÚsupports_default_metavalueÚdefault_metavalue_tokenÚsupports_empty_insertÚsupports_multivalues_insertr³   r´   r1   ÚNOT_SUPPORTEDrµ   r·   Úinsertmanyvalues_max_parametersÚsupports_is_distinct_fromrÓ   r»   Úsupports_for_update_ofrB  r¸   Úrequires_name_normalizer)  Úhas_terminateÚ$_legacy_binary_type_literal_encodingÚdeprecated_paramsr.   rã   r¶   Ú
NO_LINTINGrç   ÚpropertyÚ
deprecatedrí   Úmemoized_propertyrð   rò   Úupdate_executemany_returningÚdelete_executemany_returningrö   r  r  rä   r  rc   r  r  r!  r$  Úclassmethodr-  r/  r7  r?  rI  rL  rG  rD  rV  r[  r_  rc  rh  rl  rr  r„  r‡  r|  rš  r£  r¨  r«  r®  r­  r¶  rÃ  r»  rÊ  rÎ  rÑ  rÔ  rö  r  r   r"  r¸  Úmemoized_instancemethodr4  r;  r:  rB  rD  rF  rJ  r_  rd   r}   rw   r�   r„   r‡   rŠ   r�   r�   r˜   rj   rh   rš   rš     s	  € € € € € € Ø+Ð+à!Ô-ÐØÔ'€LØ Ô4ÐàÔ*€HØ€NØÐØ#(Ð Ø€OØ#Ðà€OàÔ'Ô,€Kà26ÐÐ6Ð6Ð6Ñ6Ø26ÐÐ6Ð6Ð6Ñ6ð Ðð $ÐàÐØ€NØÐØÐØ).Ð&Ø %ÐØÐØ%*Ð"Ø*/Ð'ØÐØÐØ!&ÐØ!&ÐØÐà4Ô;ÐàÐà ÐØ#ÐØ ÐØ Ðà).Ð&Ø+0Ð(Ø/4Ð,Ø<@ÐÐ@Ð@Ð@Ñ@à>BÐÐBÐBÐBÑBà*.Ð'à%)Ð"à€Oà!3 Ô!3àK˜ÔKÑMÔMØG˜_ÔGÑIÔIð	
ð 	
ñ"ô "Ðð .@¨TÔ-?à œJØ$�DÔ$ WÑ-Ô-Ø)˜Ô)¨'Ñ2Ô2Ø œJØœØ œJØ”kð	
ð 	
ñ
.ô 
.Ðð 
ð 
ð 
ñ 
ð $Ðà€Dð !ÐØ9=Ð'Ð=Ð=Ð=Ñ=à%)€OÐ)Ð)Ð)Ñ)ð
 ,0ÐÐ/Ð/Ð/Ñ/Ø04ÐÐ4Ð4Ð4Ñ4à!ÐØ#'Ð ØMO€HÐOÐOÐOÑOØ Ðà#ÐØ:à!&ÐØ<à'Ððð
 !ÐØ.à"'Ðà!&ÐÐ&Ð&Ð&Ñ&à.3Ð%Ð3Ð3Ð3Ñ3ð 	%Ô2ð 'ð ð ð ñ ð '+ÐÐ*Ð*Ð*Ñ*Ø&+Ð#à $Ðà#(Ð àÐð #ÐàÐà)-ÐÐ-Ð-Ð-Ñ-ð $Ðà€Hà€Mð
 ,3Ð(à€TÔð
ð
ðñ ô ð* -1Ø48Ø'+Ø,0Ø26Ø/3Ø&*Ø9?¼Ø/3ð %( C¨Ô(;Ñ$<Ô$<Ø$)Ø).ðU,ð U,ð U,ð U,ñ'ô ð&U,ðn Ø€T„_Øð	-ñô ð

ð 
ñô ñ „Xð
ð 
ÔðCð Cñ ÔðCð 
ÔðCð Cñ ÔðCð, $)Ð Ø#(Ð à	Ôðð ð ñ Ôðð 
Ôðð ð ñ ÔððB ðð ð ñ „Xðð&ð ð ð ð( 
ÔðFð Fñ ÔðFð
ð 
ð 
ð 
ð 
Ôðð ñ Ôðð& 
Ôð+ð +ñ Ôð+ð ð-ð -ñ „Xð-ð ð+ð +ñ „Xð+ð ð2ð 2ð 2ñ „[ð2ð(ð (ð (ð (ð ðð ñ „[ðð
ð 
ð 
ð 
ð"ð "ð "ð "ðHð ð ð ðð ð ð4ð 4ð 4ð	;ð 	;ð 	;ð	 ð 	 ð 	 ð 	 ð	ð 	ð 	ð 	ðFð Fð Fð Fð
ð ð ð ð<ð <ð <ð <ðð ð ð ðð ð ð ð"
Nð 
Nð 
Nð 
Nð
ð 
ð 
ð<Hð Hð Hðð ð ð$ð $ð $ð"ð "ð "ð(ð (ð (ð!ð !ð !ð 
Ôð?ð ?ñ Ôð?ðð ð ð ð.ð ð ð ð7ð 7ð 7ð=ð =ð =ðGð Gð GðDð Dð Dðk(ð k(ð k(ðZ2ð 2ð 2ð 2ð.ð .ð .ð .ð"ð "ð "ð "ðð ð ð ð 
Ô!ð,ð ,ñ "Ô!ð,ð$4ð 4ð 4ð$ð ð ð"ð ð ð4ð ð ð"ð ð ð ð
ð 
ð 
ðGð Gð GðZ !%ð		.ð 	.ð 	.ð 	.ð 	.ð
ð 
ð 
ð
Oð Oð Oð
ð 
ð 
ð

ð 
ð 
ð
Oð Oð Oð
ð 
ð 
ð

ð 
ð 
ð

ð 
ð 
ð 
ð 
rj   rš   c                  ór   — e Zd Zej        Zej        Zej        Z	ej
        ZdZdZdZdZdZdZdZdZdZdZdZdS )ÚStrCompileDialectTFN)r“   r”   r•   r)   ÚStrSQLCompilerro  r0   rp  ÚStrSQLTypeCompilerrá   rq  rÝ   ré   rê   rë   r  r€  r}  r~  r  rÃ   r�  r�  r˜   rj   rh   r¯  r¯  š  st   € € € € € Ø!Ô0ÐØÔ'€LØ Ô3ÐØÔ*€HàÐØÐØÐà#Ðà $ÐàÐØÐØ).Ð&à"Ðà"&ÐØ%)Ð"Ð"Ð"rj   r¯  c                  ó  — e Zd ZU dZdZdZdZdZdZe	j
        Zded<   dZded<   dZded<   dZd	ed
<   ej        Zded<   ej        ZdZded<   dZdZdZdZdZdZded<   dZded<    ej        ¦   «         Zded<   	 e Z!ded<   ded<   ded<   ded<   ded<   ded <   d!ed"<   d#ed$<    e"d%ej        ¦  «        Z#dZ$d&ed'<   d(Z%d)ed*<   e&dtd1„¦   «         Z'e&e(j)        dfdud9„¦   «         Z*e&dvd;„¦   «         Z+e&dwd<„¦   «         Z,dxd=„Z-e.d>„ ¦   «         Z/ej0        d?„ ¦   «         Z1ej0        d@„ ¦   «         Z2ej0        dydB„¦   «         Z3ej0        dydC„¦   «         Z4ej0        dD„ ¦   «         Z5	 dzd{dJ„Z6ej0        dK„ ¦   «         Z7dL„ Z8d|dM„Z9dN„ Z:d|dO„Z;d|dP„Z<dQ„ Z=dR„ Z>dS„ Z?d}dY„Z@d~dZ„ZAd[„ ZBejC        d~d\„¦   «         ZDe.d]„ ¦   «         ZEd^„ ZFd_„ ZGd`„ ZHda„ ZIdb„ ZJej0        dc„ ¦   «         ZKdd„ ZLde„ ZMdf„ ZNddh„ZOd€dj„ZPdk„ ZQdl„ ZRdZSdmedn<   	 d�dp„ZTdq„ ZUdr„ ZVds„ ZWdS )‚rî  Fr    Úexecute_styleNzOptional[Compiled]rï  zAOptional[Tuple[List[ResultColumnsEntry], bool, bool, bool, bool]]Úresult_column_structz)Optional[Sequence[Row[Unpack[TupleAny]]]]Úreturned_default_rowsr=   ró  zOptional[Executable]Úinvoked_statementr¬   Ú	_rowcountz4Optional[Callable[[str], Tuple[str, Optional[str]]]]Ú_translate_colnamezMapping[str, List[str]]Ú_expanded_parametersr   Úroot_connectionrJ   Ú_dbapi_connectionr   r³  r[   Úunicode_statementr   r   z%List[_MutableCoreSingleExecuteParams]rð  r;   r  ú&Optional[Sequence[BindParameter[Any]]]Úextracted_parametersr©   zOptional[List[Tuple[Any, ...]]]rô  r   r¶   Ú_num_sentinel_colsrY   rE  Úcompiled_ddlr0   r_   r!   c                óø  — |                       | ¦  «        }||_        ||_        |j        |_        |x|_        }d|_        ||_        t          |¦  «        |_        |j	        r=|j         
                    di ¦  «        }|j        j        }	 |	|j        |¦  «        |_        |j        |_        |                     ¦   «         |_        g |_        |j        r|                     ¦   «         g|_        n|j        g|_        |S )zKInitialize execution context for an ExecutableDDLElement
        construct.TrÖ  )Ú__new__rº  r»  r³  rï  Úisddlró  r[   r¼  rÖ  r  rÝ   Ú_render_schema_translatesr  Úcreate_cursorr   rð  rÚ   rz  r  Ú_empty_dict_params)
r,  r³  rY   rE  ró  rÀ  rf   rï  rÖ  Úrsts
             rh   Ú	_init_ddlz!DefaultExecutionContext._init_ddlï  s  € ð �{Š{˜3ÑÔˆØ)ˆÔØ!1ˆÔØ!Ô)ˆŒà#/Ð/ˆŒ˜ØˆŒ
à!2ˆÔå!$ X¡¤ˆÔØÔ(ð 	Ø#'Ô#9×#=Ò#=Ø&¨ñ$ô $Ð ð Ô#Ô=ˆCØ%( SØÔ&Ð(<ñ&ô &ˆDÔ"ð Ô/ˆŒà×(Ò(Ñ*Ô*ˆŒØ#%ˆÔ àÔð 	8Ø&×>Ò>Ñ@Ô@ÐAˆDŒOˆOà#Ô6Ð7ˆDŒOàˆrj   r2   r8   rK   Ú	cache_hitr   Ú
param_dictú_CoreSingleExecuteParams | Nonec                óž	  ‡‡‡
‡‡‡— |                       | ¦  «        }||_        ||_        |j        |_        ‰|_        ||_        ‰|_        |	|_        ||_        ‰j	        ‰j
        ‰j        ‰j        ‰j        f|_        ‰j        x|_        }‰j        x|_        }‰j        x|_        }‰j        |_        |s|s|�rx‰j        j        }t,          rt/          |t0          ¦  «        sJ ‚d|_        t5          |j        ¦  «        x|_        }t5          ‰j        ¦  «        x|_        }|r|j        rd|_         |r|rJ ‚|s|r÷‰j!        rð|r.|j        j"        s"tG          j$        d|j        j%        › d�¦  «        ‚|r5|j&        r.|j        j'        s"tG          j$        d|j        j%        › d�¦  «        ‚|r'|j        j(        r‰j)        stG          j$        d¦  «        ‚|r.|j        j*        s"tG          j$        d|j        j%        › d�¦  «        ‚|r.|j        j+        s"tG          j$        d|j        j%        › d�¦  «        ‚|s‰ ,                    ‰d‰
¬	¦  «        g|_-        n€ˆˆˆ
fd
„t]          |¦  «        D ¦   «         |_-        t_          |¦  «        dk    rK|j        r3‰j)        r,t`          j1        |_2        ‰j)        }|j3        �|j4        |_5        nt`          j6        |_2        ‰j7        |_8        | 9                    ¦   «         |_:        |j        j;        s|j        j<        r| =                    ¦   «          ‰j>        }|Š‰j?        s‰j@        r„|jA        rtG          j$        d¦  «        ‚‰ B                    |j-        d         ¦  «        }|j        |_8        |jC        |_D        t‹          |¦  «        Š‰ F                    |jG        ¦  «         |jH        }n‰jI        r|j        jH        }nd}‰jJ        r=|j         K                    di ¦  «        }‰jL        jM        } ||j8        |¦  «        |_8        |j8        |_        ‰jI        rOg }|€J ‚|j-        D ]9Šˆˆfd„|D ¦   «         }| N                    | O                    |¦  «        ¦  «         Œ:||_P        nQg }‰jQ        Š|j-        D ]9Š‰rˆˆˆfd„‰D ¦   «         }nˆˆfd„‰D ¦   «         }| N                    |¦  «         Œ:||_P        |S )z6Initialize execution context for a Compiled construct.Trô   z] with current server capabilities does not support INSERT..RETURNING when executemany is usedz} with current server capabilities does not support INSERT..RETURNING with deterministic row ordering when executemany is usedznStatement does not have "insertmanyvalues" enabled, can't use INSERT..RETURNING with executemany in this case.z] with current server capabilities does not support UPDATE..RETURNING when executemany is usedz] with current server capabilities does not support DELETE..RETURNING when executemany is usedF)r¾  Úescape_namesÚ_collected_paramsc           	     óJ   •— g | ]\  }}‰                      |d |‰‰¬¦  «        ‘Œ S )F)rÍ  Ú_group_numberr¾  rÎ  )Úconstruct_params)rw  ÚgrpÚmrï  r¾  rÊ  s      €€€rh   r‹  z:DefaultExecutionContext._init_compiled.<locals>.<listcomp>…  sS   ø€ ð 	(ð 	(ð 	(ñ �C˜ð ×)Ò)ØØ!&Ø"%Ø)=Ø&0ð *ñ ô ð	(ð 	(ð 	(rj   r   NzL'literal_execute' or 'expanding' parameters can't be used with executemany()r   rÖ  c                óV   •— g | ]%}|‰v r ‰|         ‰|         ¦  «        n‰|         ‘Œ&S r˜   r˜   ©rw  rØ  Úcompiled_paramsÚflattened_processorss     €€rh   r‹  z:DefaultExecutionContext._init_compiled.<locals>.<listcomp>Ô  sY   ø€ ð &ð &ð &ð ð Ð"6Ð6Ð6ð 2Ð,¨SÔ1°/À#Ô2FÑGÔGÐGà,¨SÔ1ð	&ð &ð &rj   c                ó€   •— i | ]:}‰                      ||¦  «        |‰v r ‰|         ‰|         ¦  «        n‰|         “Œ;S r˜   )r  )rw  rØ  rÖ  Úescaped_namesr×  s     €€€rh   ræ  z:DefaultExecutionContext._init_compiled.<locals>.<dictcomp>í  sl   ø€ ð ð ð ð  ð &×)Ò)¨#¨sÑ3Ô3à"Ð&:Ð:Ð:ð 6Ð0°Ô5°oÀcÔ6JÑKÔKÐKà!0°Ô!5ð	ð ð rj   c                óX   •— i | ]&}||‰v r ‰|         ‰|         ¦  «        n‰|         “Œ'S r˜   r˜   rÕ  s     €€rh   ræ  z:DefaultExecutionContext._init_compiled.<locals>.<dictcomp>ö  s\   ø€ ð ð ð ð  ð à"Ð&:Ð:Ð:ð 6Ð0°Ô5°oÀcÔ6JÑKÔKÐKà!0°Ô!5ð	ð ð rj   )RrÂ  rº  r»  r³  r¾  r¶  rï  rÉ  ró  Ú_result_columnsÚ_ordered_columnsÚ_textual_ordered_columnsÚ_ad_hoc_textualÚ_loose_column_name_matchingr´  ÚisinsertÚisupdateÚisdeleteÚisplaintextÚis_textÚcompile_stater  r   r  rP   Úis_crudr`   Ú
_returningÚ_is_explicit_returningrÁ   Ú_is_implicit_returningÚ_supplemental_returningÚ_is_supplemental_returningÚfor_executemanyrð   r&   r  r!  Ú_sort_by_parameter_orderrò   r³   rñ  rª  r«  rÑ  rð  Ú	enumeraterf  r    ÚINSERTMANYVALUESr³  r  rþ  r¿  ÚEXECUTEMANYÚstringr¼  rÅ  r   Úinsert_prefetchÚupdate_prefetchÚ_process_execute_defaultsÚ_bind_processorsÚliteral_execute_paramsÚpost_compile_paramsr  Ú#_process_parameters_for_postcompileÚparameter_expansionr¹  re   ro  Ú
processorsÚpositiontuprÚ   rÖ  r  rÝ   rÄ  r—  rz  r  Úescaped_bind_names)r,  r³  rY   rE  ró  rï  r  r¶  r¾  rÉ  rÊ  rf   ÚiiÚiuÚid_Údml_statementÚierÚiirr  rú  Úexpanded_staterû  rÖ  rÇ  Úcore_positional_parametersÚl_paramÚcore_dict_parametersÚd_paramrÖ  rÙ  r×  s        `  ` `                 @@@rh   Ú_init_compiledz&DefaultExecutionContext._init_compiled  s’  øøøøøø€ ð  �{Š{˜3ÑÔˆØ)ˆÔØ!1ˆÔØ!Ô)ˆŒØ$8ˆÔ!Ø!2ˆÔØ ˆŒØ"ˆŒà!2ˆÔð Ô$ØÔ%ØÔ-ØÔ$ØÔ0ð%
ˆÔ!ð &Ô.Ð.ˆŒ˜Ø%Ô.Ð.ˆŒ˜Ø&Ô/Ð/ˆŒ˜ØÔ+ˆŒàð 6	�ð 6	�sñ 6	Ø$Ô2Ô<ˆMÝð =Ý! -µÑ<Ô<Ð<Ð<Ð<ØˆDŒLÝ04°]Ô5MÑ0NÔ0NÐNˆDÔ'¨#Ý04ØÔ+ñ1ô 1ð ˆDÔ'¨#ð ð 7�}Ô<ð 7Ø26�Ô/ð Ð$ Ð$Ð$Ð$àð '�sð ' Ô 8ð 'Øð &˜dœlÔGð &ÝÔ1ðE 4¤<Ô#Cð Eð Eð Eñô ð ð ð à%Ô>ð ð !œLÔ]ð õ
 Ô1ð3 4¤<Ô#Cð 3ð 3ð 3ñô ð ð ðàœÔ9ðð %Ô6ðõ
 Ô1ð4ñô ð ð
 ð  ¤Ô Ið ÝÔ1ðE 4¤<Ô#Cð Eð Eð Eñô ð ð
 ð  ¤Ô!Jð ÝÔ1ðE 4¤<Ô#Cð Eð Eð Eñô ð ð ð 	Bà×)Ò)Ø)=Ø!&Ø&0ð *ñ ô ð(ˆDÔ$Ð$ð	(ð 	(ð 	(ð 	(ð 	(ð 	(õ (¨
Ñ3Ô3ð	(ñ 	(ô 	(ˆDÔ$õ �:‰Œ Ò"Ð"Ø”=ð B XÔ%?ð BÝ)5Ô)F�DÔ&à"Ô4�CØÔ+Ð7Ø25Ô2J˜Ô/øå)5Ô)A�DÔ&à!)¤ˆÔà×(Ò(Ñ*Ô*ˆŒàŒ=Ô(ð 	-¨D¬MÔ,Ið 	-Ø×*Ò*Ñ,Ô,Ð,àÔ.ˆ
ð ð 	ð Ô*ð 	¨hÔ.Jð 	ØÔð ÝÔ-ð.ñô ð ð
 &×IÒIØÔ(¨Ô+ñô ˆNð
 &4Ô%=ˆDÔ"à(6Ô(JˆDÔ%å#'¨
Ñ#3Ô#3Ð Ø ×'Ò'¨Ô(AÑBÔBÐBØ(Ô4ˆKˆKØÔ ð 	Øœ-Ô3ˆKˆKàˆKàÔ(ð 	Ø#'Ô#9×#=Ò#=Ø&¨ñ$ô $Ð ð Ô#Ô=ˆCØ%( SØÔ&Ð(<ñ&ô &ˆDÔ"ð Ô/ˆŒð Ôð 1	3ØIKÐ&ØÐ*Ð*Ð*Ø#'Ô#;ð ð �ð&ð &ð &ð &ð &ð  +ð&ñ &ô &�ð +×1Ò1Ø×3Ò3°GÑ<Ô<ñô ð ð ð 9ˆDŒOˆOàDFÐ Ø$Ô7ˆMð $(Ô#;ð 5ð 5�Ø ð ðð ð ð ð ð ð $3ðñ ô �G�Gðð ð ð ð ð $3ðñ ô �Gð %×+Ò+¨GÑ4Ô4Ð4Ð4à2ˆDŒOàˆrj   r  c                ó8  ‡— |                       | ¦  «        }||_        ||_        |j        |_        d|_        ||_        |s5|j        j        r‰                     ¦   «         g|_        ng|j	        g|_        nYt          |d         ‰j        ¦  «        r||_        n6t          |d         t          ¦  «        r||_        nˆfd„|D ¦   «         |_        t          |¦  «        dk    rt          j        |_        |x|_        |_        |                     ¦   «         |_        |S )z8Initialize execution context for a string SQL statement.Tr   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r˜   )rz  )rw  Úpr³  s     €rh   r‹  z;DefaultExecutionContext._init_statement.<locals>.<listcomp>#  s4   ø€ ð ð ð Ø78�×/Ò/°Ñ2Ô2ðð ð rj   r   )rÂ  rº  r»  r³  rä  ró  rÚ   rz  r  rÆ  r  re   rf  r    rð  r³  r  r¼  rÅ  r   )r,  r³  rY   rE  ró  r  r  rf   s    `      rh   Ú_init_statementz'DefaultExecutionContext._init_statement  s+  ø€ ð �{Š{˜3ÑÔˆØ)ˆÔØ!1ˆÔØ!Ô)ˆŒØˆŒà!2ˆÔàð 	ØŒ|Ô&ð <Ø#*×#BÒ#BÑ#DÔ#DÐ"E�”�à#'Ô#:Ð";�”�Ý˜
 1œ wÔ'FÑGÔGð 	Ø(ˆDŒOˆOÝ˜
 1œ¥tÑ,Ô,ð 	Ø(ˆDŒOˆOðð ð ð Ø<Fðñ ô ˆDŒOõ ˆz‰?Œ?˜QÒÐÝ!-Ô!9ˆDÔà2;Ð;ˆŒ˜Ô/à×(Ò(Ñ*Ô*ˆŒØˆrj   c                ó¤   — |                       | ¦  «        }||_        ||_        |j        |_        ||_        |                     ¦   «         |_        |S )z;Initialize execution context for a ColumnDefault construct.)rÂ  rº  r»  r³  ró  rÅ  r   )r,  r³  rY   rE  ró  rf   s         rh   Ú_init_defaultz%DefaultExecutionContext._init_default/  sO   € ð �{Š{˜3ÑÔˆØ)ˆÔØ!1ˆÔØ!Ô)ˆŒà!2ˆÔà×(Ò(Ñ*Ô*ˆŒØˆrj   c                ó~  — | j         €dS t          ¦   «         }| j        }| j         j        }|€J ‚|t          u r	d||z
  fz  S |t
          u r	d||z
  fz  S |t          u r	d||z
  fz  S |t          u r'd| j        v rd| j        d         ||z
  fz  S d||z
  fz  S |t          u rd| j
        j        | j
        j        ||z
  fz  S d	S )
Nzraw sqlzno key %.5fszcached since %.4gs agozgenerated in %.5fsÚ_cache_disable_reasonzcaching disabled (%s) %.5fs zcaching disabled %.5fsz,dialect %s+%s does not support caching %.5fsÚunknown)rï  r   rÉ  Ú	_gen_timeÚNO_CACHE_KEYÚ	CACHE_HITÚ
CACHE_MISSÚCACHING_DISABLEDró  ÚNO_DIALECT_SUPPORTr³  rú   rû   )rf   ÚnowÚchÚgen_times       rh   Ú_get_cache_statsz(DefaultExecutionContext._get_cache_statsC  s  € ØŒ=Ð Ø�9å‰nŒnˆàŒ^ˆà”=Ô*ˆØÐ#Ð#Ð#à•ÐÐØ! S¨8¡^Ð$5Ñ5Ð5Ø•9ˆ_ˆ_Ø+¨s°X©~Ð.?Ñ?Ð?Ø•:ÐÐØ'¨3°©>Ð*;Ñ;Ð;ØÕ#Ð#Ð#Ø&¨$Ô*@Ð@Ð@Ø5ØÔ*Ð+BÔCØ˜(‘Nð9ñ ð ð
 0°3¸±>Ð2CÑCÐCØÕ%Ð%Ð%ØAØ”Ô!Ø”Ô#Ø�h‘ðEñ ð ð �9rj   c                ó@   — | j         t          j        t          j        fv S r’   )r³  r    rð  rï  rì   s    rh   r  z#DefaultExecutionContext.executemanye  s#   € àÔ!ÝÔ$ÝÔ)ð&
ð 
ð 	
rj   c                ó¦   — | j         r| j         j        S d| j        v r*| j        j                             | j        d         ¦  «        S | j        j        S )NrÖ  )rï  rÝ   ró  r³  rÞ   Ú_with_schema_translaterì   s    rh   rÞ   z+DefaultExecutionContext.identifier_preparerl  s[   € àŒ=ð 	4Ø”=Ô)Ð)Ø# tÔ'=Ð=Ð=Ø”<Ô3×JÒJØÔ&Ð'=Ô>ñô ð ð ”<Ô3Ð3rj   c                ó   — | j         j        S r’   )rº  rs  rì   s    rh   rs  zDefaultExecutionContext.enginew  s   € àÔ#Ô*Ð*rj   úOptional[Sequence[Column[Any]]]c                ó`   — t           rt          | j        t          ¦  «        sJ ‚| j        j        S r’   )r   r  rï  r2   Ú	postfetchrì   s    rh   Úpostfetch_colsz&DefaultExecutionContext.postfetch_cols{  s-   € åð 	:Ý˜dœm­[Ñ9Ô9Ð9Ð9Ð9ØŒ}Ô&Ð&rj   c                ó˜   — t           rt          | j        t          ¦  «        sJ ‚| j        r| j        j        S | j        r| j        j        S dS )Nr˜   )r   r  rï  r2   rà  rò  rá  ró  rì   s    rh   Úprefetch_colsz%DefaultExecutionContext.prefetch_cols�  sQ   € åð 	:Ý˜dœm­[Ñ9Ô9Ð9Ð9Ð9ØŒ=ð 	Ø”=Ô0Ð0ØŒ]ð 	Ø”=Ô0Ð0à�2rj   c                ó8   — | j                              dd¦  «        S )NÚno_parametersF)ró  r  rì   s    rh   r'  z%DefaultExecutionContext.no_parametersŒ  s   € àÔ%×)Ò)¨/¸5ÑAÔAÐArj   ÚstmtÚtype_úOptional[TypeEngine[Any]]ú#Optional[_DBAPISingleExecuteParams]r   c                óè  — | j         }d| j        v r3| j                             di ¦  «        }| j        j        } |||¦  «        }|s(| j        j        r| j                             ¦   «         }ni }|                     | j	        ||| ¬¦  «         | j	         
                    ¦   «         }|�	|d         }nd}|�>|                     | j        | j	        j        d         d         ¦  «        }	|	r |	|¦  «        S |S )a  Execute a string statement on the current cursor, returning a
        scalar result.

        Used to fire off sequences, default phrases, and "select lastrowid"
        types of statements individually or in the context of a parent INSERT
        or UPDATE statement.

        rÖ  )r  Nr   r   )rº  ró  r  rÞ   rÄ  r³  rÚ   rz  Ú_cursor_executer   ÚfetchonerÚ  r  )
rf   r(  r)  r  ÚconnrÖ  rÇ  rã  Úrrà  s
             rh   Ú_execute_scalarz'DefaultExecutionContext._execute_scalar�  s  € ð Ô#ˆà! TÔ%;Ð;Ð;Ø#'Ô#9×#=Ò#=Ø&¨ñ$ô $Ð ð Ô*ÔDˆCØ�3�tÐ1Ñ2Ô2ˆDàð 	 ØŒ|Ô&ð  Ø!œ\×AÒAÑCÔC�
�
à�
à×Ò˜Tœ[¨$°
ÀDÐÑIÔIÐIØŒk×"Ò"Ñ$Ô$ˆØˆ?Ø�A”ˆAˆAàˆAØÐà×1Ò1Ø”˜dœkÔ5°aÔ8¸Ô;ñô ˆDð ð Ø�t˜A‘w”w�Øˆrj   c                ó   — | j         S r’   )rº  rì   s    rh   rY   z"DefaultExecutionContext.connection¾  s   € àÔ#Ð#rj   c                ó¢  — | j         j        sdS | j         j        r™| j                             dd¦  «        o|| j        r$t          | j        j        t          j	        ¦  «        pQ| j         p#t          | j        j        t          j
        ¦  «        o%| j        ot                               | j        ¦  «        }n| j                             dd¦  «        }|S )NFÚstream_resultsT)r³  rÓ   r»   ró  r  rï  r  r  r+   Ú
SelectableÚ
TextClauser¼  ÚSERVER_SIDE_CURSOR_REÚmatch)rf   Úuse_server_sides     rh   Ú_use_server_side_cursorz/DefaultExecutionContext._use_server_side_cursorÂ  sé   € ØŒ|Ô8ð 	Ø�5àŒ<Ô+ð 	à"Ô4×8Ò8Ø  $ñô ð ð ”ð OÝ˜tœ}Ô6½
Ô8MÑNÔNðð !œMÐ)ð Ý%Ø œMÔ3µZÔ5Jñô ðLð Ô.ðLõ .×3Ò3°DÔ4JÑKÔKð ˆOð" #Ô4×8Ò8Ø  %ñô ˆOð Ðrj   c                óü   — | j         j        rV| j                             dd¦  «        s | j         j        r/|                      ¦   «         rd| _        |                      ¦   «         S d| _        |                      ¦   «         S )Nr4  FT)	r³  rÓ   ró  r  r»   r:  Ú_is_server_sideÚcreate_server_side_cursorÚcreate_default_cursorrì   s    rh   rÅ  z%DefaultExecutionContext.create_cursorß  sŠ   € ð ŒLÔ5ð	0ð Ô&×*Ò*Ð+;¸UÑCÔCð		0ð ”LÔ4ð	0ð ×4Ò4Ñ6Ô6ð	0ð $(ˆDÔ Ø×1Ò1Ñ3Ô3Ð3à#(ˆDÔ Ø×-Ò-Ñ/Ô/Ð/rj   c                ó*   — |                      ¦   «         S r’   )Úfetchall)rf   r   s     rh   r÷  z.DefaultExecutionContext.fetchall_for_returningñ  s   € Ø�ŠÑ Ô Ð rj   c                ó4   — | j                              ¦   «         S r’   )r»  r   rì   s    rh   r>  z-DefaultExecutionContext.create_default_cursorô  s   € ØÔ%×,Ò,Ñ.Ô.Ð.rj   c                ó   — t          ¦   «         ‚r’   ©rý   rì   s    rh   r=  z1DefaultExecutionContext.create_server_side_cursor÷  s   € Ý!Ñ#Ô#Ð#rj   c                ó   — d S r’   r˜   rì   s    rh   Úpre_execz DefaultExecutionContext.pre_execú  r¤  rj   c                ó    — t          d¦  «        ‚)Nz,This dialect does not support OUT parametersrC  )rf   r[  s     rh   Úget_out_parameter_valuesz0DefaultExecutionContext.get_out_parameter_valuesý  s   € Ý!Ø:ñ
ô 
ð 	
rj   c                ó   — d S r’   r˜   rì   s    rh   Ú	post_execz!DefaultExecutionContext.post_exec  r¤  rj   rW  ÚcolnameÚcoltyperC   ú#Optional[_ResultProcessorType[Any]]c                ó8   — |                      | j        |¦  «        S )zÚReturn a 'result processor' for a given type as present in
        cursor.description.

        This has a default implementation that dialects can override
        for context-sensitive result type handling.

        )rÚ  r³  )rf   r)  rJ  rK  s       rh   Úget_result_processorz,DefaultExecutionContext.get_result_processor  s   € ð ×-Ò-¨d¬l¸GÑDÔDÐDrj   c                ó   — | j         j        S )a  return self.cursor.lastrowid, or equivalent, after an INSERT.

        This may involve calling special cursor functions, issuing a new SELECT
        on the cursor (or a new one), or returning a stored value that was
        calculated within post_exec().

        This function will only be called for dialects which support "implicit"
        primary key generation, keep preexecute_autoincrement_sequences set to
        False, and when no explicit id value was bound to the statement.

        The function is called once for an INSERT statement that would need to
        return the last inserted primary key for those dialects that make use
        of the lastrowid concept.  In these cases, it is called directly after
        :meth:`.ExecutionContext.post_exec`.

        )r   Ú	lastrowidrì   s    rh   Úget_lastrowidz%DefaultExecutionContext.get_lastrowid  s   € ð" Œ{Ô$Ð$rj   c                ó   — d S r’   r˜   )rf   r#  s     rh   Úhandle_dbapi_exceptionz.DefaultExecutionContext.handle_dbapi_exception$  r¤  rj   c                ó6   — | j         �| j         S | j        j        S r’   )r·  r   Úrowcountrì   s    rh   rU  z DefaultExecutionContext.rowcount'  s   € àŒ>Ð%Ø”>Ð!à”;Ô'Ð'rj   c                ó   — | j         d uS r’   )r·  rì   s    rh   Ú_has_rowcountz%DefaultExecutionContext._has_rowcount.  s   € àŒ~ TÐ)Ð)rj   c                ó   — | j         j        S r’   )r³  r#  rì   s    rh   r#  z.DefaultExecutionContext.supports_sane_rowcount2  s   € ØŒ|Ô2Ð2rj   c                ó   — | j         j        S r’   )r³  r˜  rì   s    rh   r˜  z4DefaultExecutionContext.supports_sane_multi_rowcount5  s   € ØŒ|Ô8Ð8rj   c                ó<  — | j         }| j        €'|                     dd¦  «        r| j        j        | _        | j        s| j        r|                      ¦   «         }d}n |                     dd ¦  «        }| j        p|                     dd¦  «        }| j	        }|r-|t          j        u rt          j        | j        | j         ¦  «        }|j        p| j        j        }|€t          j        }t          j        | ||¦  «        }| j        }|r6| j        s/t'          t(          |¦  «        j        r|                      |¦  «         |j        s8|j        j        s,| j        €| j        j        | _        |                     ¦   «          |j        | _        |r|                     |¦  «        }|S )NÚpreserve_rowcountFÚ	yield_perr4  )ró  r·  r  r   rU  ræ  rä  Ú_setup_dml_or_text_resultr<  Úcursor_fetch_strategyÚ_cursorÚ_DEFAULT_FETCHÚBufferedRowCursorFetchStrategyÚalternate_cursor_descriptionr  Ú_NO_CURSOR_DQLÚCursorResultrï  rÃ  r   r2   Úhas_out_parametersÚ_setup_out_parametersÚ_soft_closedÚ	_metadataÚreturns_rowsÚ_soft_closer\  )rf   Úexec_optr  ÚypÚsrÚstrategyÚcursor_descriptionrï  s           rh   Ú_setup_result_proxyz+DefaultExecutionContext._setup_result_proxy8  s»  € ØÔ)ˆàŒ>Ð! h§l¢lÐ3FÈÑ&NÔ&NÐ!Ø!œ[Ô1ˆDŒNð Œ<ð 	N˜4œ<ð 	NØ×3Ò3Ñ5Ô5ˆFØˆBˆBà—’˜k¨4Ñ0Ô0ˆBØÔ%ÐN¨¯ªÐ6FÈÑ)NÔ)NˆBØÔ1ˆHØð �h¥'Ô"8Ð8Ð8Ý"ÔAØ”K Ô!7ñô �ð Ô5ð +Ø”;Ô*ð ð "Ð)Ý"Ô1�åÔ)¨$°Ð:LÑMÔMˆFà”=ˆð ð	/à”Jð	/õ •[ (Ñ+Ô+Ô>ð	/ð
 ×&Ò& vÑ.Ô.Ð.àÔ"ð 	!¨6Ô+;Ô+Hð 	!ð
 Œ~Ð%Ø!%¤Ô!5�”Ø×ÒÑ Ô Ð à"Ô/ˆÔàð 	*Ø×%Ò% bÑ)Ô)ˆFàˆrj   c                óð  — t          t          | j        ¦  «        }d„ |j                             ¦   «         D ¦   «         }i }t          d„ |D ¦   «         |                      d„ |D ¦   «         ¦  «        ¦  «        D ]w\  }}|j        }|                     | j	        ¦  «        }| 
                    | j	        j        ¦  «        }	|                     | j	        |	¦  «        }
|
� |
|¦  «        }|||j        <   Œx||_        d S )Nc                ó*   — g | ]\  }}|j         ¯||f‘ŒS r˜   )Ú
isoutparam©rw  Úparamrú   s      rh   r‹  zADefaultExecutionContext._setup_out_parameters.<locals>.<listcomp>o  s9   € ð 
ð 
ð 
á��tØÔð
Ø�DˆMð
ð 
ð 
rj   c                ó   — g | ]\  }}|‘ŒS r˜   r˜   rt  s      rh   r‹  zADefaultExecutionContext._setup_out_parameters.<locals>.<listcomp>w  s   € Ð5Ð5Ð5‘{�u˜dˆUÐ5Ð5Ð5rj   c                ó   — g | ]\  }}|‘ŒS r˜   r˜   rt  s      rh   r‹  zADefaultExecutionContext._setup_out_parameters.<locals>.<listcomp>y  s   € Ð8Ð8Ð8™+˜% �Ð8Ð8Ð8rj   )r   r2   rï  Ú
bind_namesr’  râ  rG  r  Údialect_implr³  Úget_dbapi_typerö   Úresult_processorrØ  Úout_parameters)rf   r  rï  Úout_bindparamsr|  Ú	bindparamÚ	raw_valuer)  Ú	impl_typeÚ
dbapi_typer{  s              rh   rf  z-DefaultExecutionContext._setup_out_parametersl  s"  € Ý� T¤]Ñ3Ô3ˆð
ð 
à'Ô2×8Ò8Ñ:Ô:ð
ñ 
ô 
ˆð
 ˆå$'Ø5Ð5 nÐ5Ñ5Ô5Ø×)Ò)Ø8Ð8¨Ð8Ñ8Ô8ñô ñ%
ô %
ð 	6ð 	6Ñ ˆI�yð ”NˆEØ×*Ò*¨4¬<Ñ8Ô8ˆIØ"×1Ò1°$´,Ô2KÑLÔLˆJØ(×9Ò9Ø”˜jñ ô  Ðð  Ð+Ø,Ð,¨YÑ7Ô7�	Ø,5ˆN˜9œ=Ñ)Ð)à .ˆÔÐÐrj   c                óÄ  — t          t          | j        ¦  «        }| j        }| j        r`| j        t          j        u r-|j        r&t          j
        | j        | j        |j        ¬¦  «        }|j        r|                      ¦   «         | _        | j        r-|t          j        u rt          j        | j        | j        ¦  «        }|t          j        u rd }n|j        p| j        j        }|€t          j        }n| j        r| j        t          j        u sJ ‚t          j        | ||¦  «        }| j        r™| j        rv|                     ¦   «         }|| _        |                      ||¦  «        | _        |j        j        sJ ‚| j        r|                      |¦  «         nÏ| !                    ¦   «          nº| j"        s| !                    ¦   «          nž| j        rq|                     ¦   «         }|r|| _        tG          |¦  «        | _$        | j        r|                      |¦  «         n| !                    ¦   «          |j        j        sJ ‚n&| j%        s| j&        r| j$        €| j        j'        | _$        |S )N)Úinitial_bufferÚalternate_description)(r   r2   rï  r^  rà  r³  r    rï  rò  r_  Ú FullyBufferedCursorFetchStrategyr   rô  rb  r�  Ú_setup_ins_pk_from_lastrowidÚinserted_primary_key_rowsr<  r`  ra  ró  Ú_NO_CURSOR_DMLr  r¿  rd  ré  Úallrµ  Ú%_setup_ins_pk_from_implicit_returningrh  ri  rë  Ú_rewindrj  rè  rf  r·  rá  râ  rU  )rf   rï  rn  ro  r  r  s         rh   r]  z1DefaultExecutionContext._setup_dml_or_text_resultˆ  sª  € Ý� T¤]Ñ3Ô3ˆà(,Ô(BˆàŒ=ð 	àÔ"¥lÔ&CÐCÐCØÔ0ð Dõ #ÔCØ”KØ#'Ô#>ð !Ô=ðñ ô �ð Ô+ð à×5Ò5Ñ7Ô7ð Ô.ð Ôð 	 HµÔ0FÐ$FÐ$FÝÔ=Ø”˜TÔ3ñô ˆHð •wÔ-Ð-Ð-Ø!%ÐÐð Ô5ð +Ø”;Ô*ð ð
 Ð%ÝÔ-ˆHˆHØÔ$ð 	GØÔ%­Ô)FÐFÐFÐFÐFõ -4Ô,@Ø�(Ð.ñ-
ô -
ˆð Œ=ð 2	6ØÔ*ð %Ø—z’z‘|”|�à-1�Ô*ð ×>Ò>¸vÀtÑLÔLð Ô.ð Ô'Ô4Ð4Ð4Ð4ð
 Ô2ð )Ø—N’N 4Ñ(Ô(Ð(Ð(à×&Ò&Ñ(Ô(Ð(Ð(ØÔ0ð %Ø×"Ò"Ñ$Ô$Ð$øð Ô(ð 	6Ø—:’:‘<”<ˆDàð 2Ø-1�Ô*Ý  ™YœYˆDŒNàÔ.ð %Ø—’˜tÑ$Ô$Ð$Ð$à×"Ò"Ñ$Ô$Ð$ð Ô#Ô0Ð0Ð0Ð0Ð0àŒ]ð 	6˜dœmð 	6ØŒ~Ð%Ø!%¤Ô!5�”Øˆrj   c                ó*   — |                       ¦   «         S r’   )Ú_setup_ins_pk_from_emptyrì   s    rh   r‡  z1DefaultExecutionContext.inserted_primary_key_rowsñ  s   € ð
 ×,Ò,Ñ.Ô.Ð.rj   c                ó˜   — t          t          | j        ¦  «        j        }|                      ¦   «         } ||| j        d         ¦  «        gS )Nr   )r   r2   rï  Ú+_inserted_primary_key_from_lastrowid_getterrQ  rð  )rf   ÚgetterrP  s      rh   r†  z4DefaultExecutionContext._setup_ins_pk_from_lastrowidø  sN   € ÝÝ˜œñ
ô 
ä
5ð 	ð ×&Ò&Ñ(Ô(ˆ	Ø��y $Ô":¸1Ô"=Ñ>Ô>Ð?Ð?rj   c                óh   ‡— t          t          | j        ¦  «        j        Šˆfd„| j        D ¦   «         S )Nc                ó(   •— g | ]} ‰d |¦  «        ‘ŒS r’   r˜   )rw  ru  r�  s     €rh   r‹  zDDefaultExecutionContext._setup_ins_pk_from_empty.<locals>.<listcomp>	  s%   ø€ ÐJÐJÐJ¨���t˜UÑ#Ô#ÐJÐJÐJrj   )r   r2   rï  r�  rð  )rf   r�  s    @rh   r�  z0DefaultExecutionContext._setup_ins_pk_from_emptyÿ  s?   ø€ ÝÝ˜œñ
ô 
ä
5ð 	ð KÐJÐJÐJ°Ô1IÐJÑJÔJÐJrj   c                ó�   ‡— |sg S t          t          | j        ¦  «        j        Š| j        }ˆfd„t          ||¦  «        D ¦   «         S )Nc                ó.   •— g | ]\  }} ‰||¦  «        ‘ŒS r˜   r˜   )rw  rã  ru  r�  s      €rh   r‹  zQDefaultExecutionContext._setup_ins_pk_from_implicit_returning.<locals>.<listcomp>	  s6   ø€ ð 
ð 
ð 
Ù#- 3¨ˆFˆF�3˜ÑÔð
ð 
ð 
rj   )r   r2   rï  Ú+_inserted_primary_key_from_returning_getterrð  râ  )rf   r  r  rÖ  r�  s       @rh   rŠ  z=DefaultExecutionContext._setup_ins_pk_from_implicit_returning	  sk   ø€ Øð 	ØˆIåÝ˜œñ
ô 
ä
5ð 	ð Ô2ˆð
ð 
ð 
ð 
Ý14°T¸?Ñ1KÔ1Kð
ñ 
ô 
ð 	
rj   r`   c                óv   — | j         s| j        o+t          t          t          | j        ¦  «        j        ¦  «        S r’   )rà  rá  r`   r   r2   rï  r"  rì   s    rh   Úlastrow_has_defaultsz,DefaultExecutionContext.lastrow_has_defaults	  s6   € Ø”Ð. ¤ð 
µDÝ•˜dœmÑ,Ô,Ô6ñ5
ô 5
ð 	
rj   ú0Optional[List[Tuple[str, Any, TypeEngine[Any]]]]c                ó  ‡‡‡	‡
‡‡— | j         s| j        rdS t          t          | j        ¦  «        Š‰                     ¦   «         }|€dS | j        }|j        r<t          |¦  «        }|j	         
                    || j        | j        | j        | ¦  «         ‰j        r‰j        ŠndŠ|j        rˆfd„‰j        pdD ¦   «         }n#d„ ‰j                             ¦   «         D ¦   «         }g }|D �]\  }Š‰‰j        v rŒ|| j        v r·t+          ‰j        ¦  «        r^t/          ‰j        j        ¦  «        Š|‰         Š
|                     ˆˆ
ˆˆfd„t5          | j        |         ¦  «        D ¦   «         ¦  «         Œ‹|                     ‰d¦  «        Š	|                     ˆˆ	ˆfd„| j        |         D ¦   «         ¦  «         ŒÐ|                     ‰d¦  «        Š	‰�‰                     ||¦  «        n|}|                     |‰	‰j        f¦  «         �Œ|S )a³  Given a cursor and ClauseParameters, prepare arguments
        in order to call the appropriate
        style of ``setinputsizes()`` on the cursor, using DB-API types
        from the bind parameter's ``TypeEngine`` objects.

        This method only called by those dialects which set the
        :attr:`.Dialect.bind_typing` attribute to
        :attr:`.BindTyping.SETINPUTSIZES`.  Python-oracledb and cx_Oracle are
        the only DBAPIs that requires setinputsizes(); pyodbc offers it as an
        option.

        Prior to SQLAlchemy 2.0, the setinputsizes() approach was also used
        for pg8000 and asyncpg, which has been changed to inline rendering
        of casts.

        Nc                ó.   •— g | ]}|‰j         |         f‘ŒS r˜   )Úbinds)rw  rØ  rï  s     €rh   r‹  zDDefaultExecutionContext._prepare_set_input_sizes.<locals>.<listcomp>D	  s5   ø€ ð ð ð àð �h”n SÔ)Ð*ðð ð rj   r˜   c                ó   — g | ]	\  }}||f‘Œ
S r˜   r˜   )rw  r~  rØ  s      rh   r‹  zDDefaultExecutionContext._prepare_set_input_sizes.<locals>.<listcomp>I	  s1   € ð ð ð á"�I˜sð �iÐ ðð ð rj   c              3  ó�   •K  — | ]@\  }}‰�‰                      ||¦  «        n|‰|‰z           ‰j        j        |‰z           fV — ŒAd S r’   )r  r  Útypes)rw  r^  Ú	paramnamer~  Údbtypesrü  Únums      €€€€rh   rx  zCDefaultExecutionContext._prepare_set_input_sizes.<locals>.<genexpr>W	  s}   øè è € ð .ð .ñ +˜C ð $6Ð#Að !3× 6Ò 6°yÀ)Ñ LÔ LÐ Là%.à# C¨#¡IÔ.Ø%œNÔ0°°s±Ô;ðð.ð .ð .ð .ð .ð .rj   c              3  ó\   •K  — | ]&}‰�‰                      ||¦  «        n|‰‰j        fV — Œ'd S r’   )r  r  )rw  rŸ  r~  Údbtyperü  s     €€€rh   rx  zCDefaultExecutionContext._prepare_set_input_sizes.<locals>.<genexpr>g	  sd   øè è € ð .ð .ð &ð $6Ð#Að !3× 6Ò 6°yÀ)Ñ LÔ LÐ Là%.à"Ø%œNðð.ð .ð .ð .ð .ð .rj   )rÃ  rä  r   r2   rï  Ú_get_set_input_sizes_lookupr³  r½  re   ÚdispatchÚdo_setinputsizesr   r  r  rü  rÚ   rû  rx  r’  rö  r¹  r-   r  rf  rž  r  rî  r  r—  )rf   Ú
inputsizesr³  r’  Úgeneric_inputsizesrØ  Úescaped_namer~  rï  r£  r   rü  r¡  s          @@@@@@rh   Ú_prepare_set_input_sizesz0DefaultExecutionContext._prepare_set_input_sizes	  sÔ  øøøøøø€ ð& Œ:ð 	˜œð 	Ø�4å� T¤]Ñ3Ô3ˆà×9Ò9Ñ;Ô;ˆ
àÐØ�4à”,ˆð Ôð 	Ý˜jÑ)Ô)ˆJØÔ×-Ò-Ø˜DœK¨¬¸¼È$ñô ð ð Ô&ð 	&Ø!)Ô!<ÐÐà!%ÐàÔð 		ðð ð ð à#Ô/Ð5°2ðñ ô ˆEˆEð
ð à&.Ô&9×&?Ò&?Ñ&AÔ&Aðñ ô ˆEð
 FHÐØ#ð /	ñ /	‰NˆC�Ø˜HÔ;Ð;Ð;Øà�dÔ/Ð/Ð/Ý  ¤Ñ0Ô0ð Ý˜iœnÔ2Ñ3Ô3�CØ(¨Ô3�GØ&×-Ò-ð .ð .ð .ð .ð .ð .ð .õ /8Ø Ô5°cÔ:ñ/ô /ð.ñ .ô .ñ ô ð ð ð (Ÿ^š^¨I°tÑ<Ô<�FØ&×-Ò-ð .ð .ð .ð .ð .ð .ð *.Ô)BÀ3Ô)Gð.ñ .ô .ñ ô ð ð ð $Ÿš¨	°4Ñ8Ô8�ð *Ð5ð '×*Ò*¨3°Ñ4Ô4Ð4àð ð #×)Ò)Ø! 6¨9¬>Ð:ñô ð ñ ð "Ð!rj   c                óÌ   — |j         r|                      ||¦  «        S |j        r|| _        |                     | ¦  «        S |j        r|                      |||¦  «        S |j        S r’   )Úis_sequenceÚfire_sequenceÚis_callableÚcurrent_columnr  Úis_clause_elementÚ_exec_default_clause_element)rf   Úcolumnr«   r)  s       rh   Ú_exec_defaultz%DefaultExecutionContext._exec_default‚	  sw   € ØÔð 	Ø×%Ò% g¨uÑ5Ô5Ð5ØÔ ð 
	ð #)ˆDÔØ—;’;˜tÑ$Ô$Ð$ØÔ&ð 	Ø×4Ò4°V¸WÀeÑLÔLÐLð ”;Ðrj   c                ó¼  ‡‡— |j         st          j        |j        |¦  «        }n|j        }t          j        |¦  «                             | j        ¬¦  «        }|                     ¦   «         Š|j        Š|j	        r/| j         
                    ˆˆfd„|j        pdD ¦   «         ¦  «        }nˆˆfd„‰D ¦   «         }|                      t          |¦  «        ||¬¦  «        S )Nr²  c                óV   •— g | ]%}|‰v r ‰|         ‰|         ¦  «        n‰|         ‘Œ&S r˜   r˜   ©rw  rØ  rÖ  rú  s     €€rh   r‹  zHDefaultExecutionContext._exec_default_clause_element.<locals>.<listcomp>¢	  sV   ø€ ð ð ð ð ð  *Ð,Ð,ð (˜
 3œ¨¸Ô(<Ñ=Ô=Ð=à,¨SÔ1ð	ð ð rj   r˜   c                óX   •— i | ]&}||‰v r ‰|         ‰|         ¦  «        n‰|         “Œ'S r˜   r˜   r¶  s     €€rh   ræ  zHDefaultExecutionContext._exec_default_clause_element.<locals>.<dictcomp>¬	  sY   ø€ ð ð ð ð ð à˜jÐ(Ð(ð $�J˜s”O O°CÔ$8Ñ9Ô9Ð9à(¨Ô-ð	ð ð rj   )r  )Ú_arg_is_typedr+   Útype_coercer  r´  rµ  r³  rÑ  rõ  rÚ   rz  rû  r1  r[   )	rf   r²  r«   r)  Údefault_argrï  r  rÖ  rú  s	          @@rh   r±  z4DefaultExecutionContext._exec_default_clause_element‘	  s  øø€ ð Ô$ð 	&Ý$Ô0°´¸eÑDÔDˆKˆKà!œ+ˆKÝÔ$ [Ñ1Ô1×9Ò9À$Ä,Ð9ÑOÔOˆØ"×3Ò3Ñ5Ô5ˆØÔ.ˆ
ØÔð 	Øœ×=Ò=ðð ð ð ð ð  (Ô3Ð9°rðñ ô ñ	ô 	ˆJˆJðð ð ð ð ð +ðñ ô ˆJð ×#Ò#Ý�‰MŒM˜5¨Zð $ñ 
ô 
ð 	
rj   z"Optional[_CoreSingleExecuteParams]Úcurrent_parametersTc                ó(  ‡‡— 	 | j         Š| j        }|€J ‚‰€J ‚n"# t          $ r t          j        d¦  «        ‚w xY wt          dt          t          | j        ¦  «        j        ¦  «        }|€J ‚|r¢t          j
        |¦  «        rŽ|j        r‡|j        r$|j        dz   Š|j        j        ‰|j                 i}n|j        ‰|j                 i}dŠ|j        €J ‚|j                             ¦   «         }|                     ˆˆfd„|D ¦   «         ¦  «         |S ‰S )al  Return a dictionary of parameters applied to the current row.

        This method can only be used in the context of a user-defined default
        generation function, e.g. as described at
        :ref:`context_default_functions`. When invoked, a dictionary is
        returned which includes entries for each column/value pair that is part
        of the INSERT or UPDATE statement. The keys of the dictionary will be
        the key value of each :class:`_schema.Column`,
        which is usually synonymous
        with the name.

        :param isolate_multiinsert_groups=True: indicates that multi-valued
         INSERT constructs created using :meth:`_expression.Insert.values`
         should be
         handled by returning only the subset of parameters that are local
         to the current column default invocation.   When ``False``, the
         raw parameters of the statement are returned including the
         naming convention used in the case of multi-valued INSERT.

        .. seealso::

            :attr:`.DefaultExecutionContext.current_parameters`

            :ref:`context_default_functions`

        Nzdget_current_parameters() can only be invoked in the context of a Python side column default functionrO   r   r   c              3  ó6   •K  — | ]}|‰d |‰fz           fV — ŒdS )z%s_m%dNr˜   )rw  rØ  Úindexr  s     €€rh   rx  zADefaultExecutionContext.get_current_parameters.<locals>.<genexpr>
  sG   øè è € ð ð Ø?B��j ¨S°%¨LÑ!8Ô9Ð:ðð ð ð ð ð rj   )r»  r¯  ÚAttributeErrorr&   r  r   r2   rï  rå  r*   rà  Ú_has_multi_parametersÚ_is_multiparam_columnr¾  ÚoriginalrØ  Ú_dict_parametersÚkeysro  )rf   Úisolate_multiinsert_groupsr²  rå  ÚdrÄ  r¾  r  s         @@rh   Úget_current_parametersz.DefaultExecutionContext.get_current_parametersÑ	  s‚  øø€ ð6
	*ØÔ0ˆJØÔ(ˆFð Ð%Ð%Ð%ØÐ)Ð)Ð)Ð)øõ ð 	ð 	ð 	ÝÔ)ðCñô ð ð	øøøõ Ø��[¨$¬-Ñ8Ô8ÔFñ
ô 
ˆð Ð(Ð(Ð(à&ð	å”˜]Ñ+Ô+ð	ð Ô3ð	ð
 Ô+ð Øœ qÑ(�Ø”_Ô(¨*°V´ZÔ*@ÐA��à”Z ¨F¬JÔ!7Ð8�Ø�Ø Ô1Ð=Ð=Ð=Ø Ô1×6Ò6Ñ8Ô8ˆDØ�HŠHð ð ð ð ð ØFJðñ ô ñ ô ð ð ˆHàÐs   „ ›:c                óV   — |j         €d S |                      ||j         |j        ¦  «        S r’   )r«   r³  r  ©rf   r²  s     rh   Úget_insert_defaultz*DefaultExecutionContext.get_insert_default
  s+   € ØŒ>Ð!Ø�4à×%Ò% f¨f¬n¸f¼kÑJÔJÐJrj   c                óV   — |j         €d S |                      ||j         |j        ¦  «        S r’   )Úonupdater³  r  rÉ  s     rh   Úget_update_defaultz*DefaultExecutionContext.get_update_default
  s+   € ØŒ?Ð"Ø�4à×%Ò% f¨f¬o¸v¼{ÑKÔKÐKrj   c                ó†  ‡ ‡— t          t          ‰ j        ¦  «        }|j        Šd}|j        rˆˆ fd„|j        D ¦   «         }n|j        rˆˆ fd„|j        D ¦   «         }ng }‰ j        D ]W}|‰ _        |D ]K\  }}\  }}}	}
}|
r|||<   |dz  }Œ|r|||<   Œ!|	r|‰ _         |‰ ¦  «        ||<   Œ9 ||¦  «        }|�|||<   ŒLŒX‰ `d S )Nr   c                óB   •— g | ]}| ‰|¦  «        |j         ‰j        f‘ŒS r˜   )Ú_default_description_tuplerÊ  ©rw  ÚcÚ
key_getterrf   s     €€rh   r‹  zEDefaultExecutionContext._process_execute_defaults.<locals>.<listcomp>#
  sG   ø€ ð ð ð ð ð Ø�J˜q‘M”MØÔ0ØÔ+ð	ðð ð rj   c                óB   •— g | ]}| ‰|¦  «        |j         ‰j        f‘ŒS r˜   )Ú_onupdate_description_tuplerÍ  rÑ  s     €€rh   r‹  zEDefaultExecutionContext._process_execute_defaults.<locals>.<listcomp>-
  sG   ø€ ð ð ð ð ð Ø�J˜q‘M”MØÔ1ØÔ+ð	ðð ð rj   r   )	r   r2   rï  Ú_within_exec_param_key_getterrò  ró  rð  r»  r¯  )rf   rï  Úsentinel_counterÚprefetch_recsru  rÒ  Ú	param_keyr  Ú	is_scalarr®  Úis_sentinelÚfallbackrß  rÓ  s   `            @rh   rô  z1DefaultExecutionContext._process_execute_defaults
  sv  øø€ Ý� T¤]Ñ3Ô3ˆàÔ;ˆ
àÐàÔ#ð 	ðð ð ð ð ð "Ô1ðñ ô ˆMˆMð Ô%ð 	ðð ð ð ð ð "Ô1ðñ ô ˆMˆMð ˆMàÔ-ð 	/ð 	/ˆEØ&+ˆDÔ#ð ð/ð /ñ ØØÙ:��i ¨kØàð /Ø'7�E˜)Ñ$Ø$¨Ñ)Ð$Ð$Øð /Ø'*�E˜)Ñ$Ð$Ø ð /Ø*+�DÔ'Ø'* s¨4¡y¤y�E˜)Ñ$Ð$à"˜( 1™+œ+�CØ�Ø+.˜˜iÑ(øð#/ð& Ð#Ð#Ð#rj   )r³  r   rY   r   rE  rJ   ró  r=   rÀ  r0   r_   r!   )r³  r   rY   r   rE  rJ   ró  r=   rï  r2   r  r8   r¶  rK   r¾  r½  rÉ  r   rÊ  rË  r_   r!   )r³  r   rY   r   rE  rJ   ró  r=   r  r[   r  r;   r_   r!   )
r³  r   rY   r   rE  rJ   ró  r=   r_   r!   )r_   r[   )r_   r   r’   )r(  r[   r)  r*  r  r+  r_   r   )r_   r   )r)  rW  rJ  r[   rK  rC   r_   rL  )r_   r¶   )r_   r`   )r_   r˜  )T)Xr“   r”   r•   rà  rá  râ  ræ  rä  rÃ  r    ÚEXECUTEr³  rx  rï  r´  rµ  r(   Ú
EMPTY_DICTró  r_  r`  r^  r¶  ré  rè  rë  r<  rg  r·  r¸  r�  r¹  r  rÉ  r   rÆ  rô  r¿  r¬  rÈ  r   r  r  r  r  r  r§  r  r©  rÞ   rs  r#  r%  r'  r1  rY   r:  rÅ  r÷  r>  r=  rE  rG  rI  rN  rQ  rS  Únon_memoized_propertyrU  rW  r#  r˜  rp  rf  r]  r‡  r†  r�  rŠ  r—  rª  r³  r±  r»  rÇ  rÊ  rÍ  rô  r˜   rj   rh   rî  rî  ²  sÉ  € € € € € € Ø€HØ€HØ€HØ€GØ€GØ€Eà".Ô"6€MÐ6Ð6Ð6Ñ6à#'€HÐ'Ð'Ð'Ñ'ð 	ð ð ð ð ñ ð HLÐÐKÐKÐKÑKà)-¬ÐÐ8Ð8Ð8Ñ8à#Ô2Ðà.2ÐÐ2Ð2Ð2Ñ2à"ÐØ"ÐØ!&ÐØ€Oà€Là#€IÐ#Ð#Ð#Ñ#ð 	ð ð ð ð ñ ð 5G°DÔ4FÑ4HÔ4HÐÐHÐHÐHÑHðð €IàÐÐÑØ,Ð,Ð,Ñ,ØÐÐÑØÐÐÑØÐÐÑØ>Ð>Ð>Ñ>Ø(Ð(Ð(Ñ(Ø@Ð@Ð@Ñ@à˜Ð1°4´?ÑCÔCÐà>BÐÐBÐBÐBÑBØÐÐÐÐÑàð*ð *ð *ñ „[ð*ðX ð !+Ô ;Ø6:ðfð fð fð fñ „[ðfðP ð'ð 'ð 'ñ „[ð'ðR ðð ð ñ „[ðð& ð  ð  ð  ðD ð
ð 
ñ „Xð
ð 
Ôð4ð 4ñ Ôð4ð 
Ôð+ð +ñ Ôð+ð 
Ôð'ð 'ð 'ñ Ôð'ð
 
Ôðð ð ñ Ôðð 
ÔðBð Bñ ÔðBð ;?ð	,ð ,ð ,ð ,ð ,ð\ 
Ôð$ð $ñ Ôð$ðð ð ð:0ð 0ð 0ð 0ð$!ð !ð !ð/ð /ð /ð /ð$ð $ð $ð $ðð ð ð
ð 
ð 
ð
ð ð ð
Eð 
Eð 
Eð 
Eð%ð %ð %ð %ð&ð ð ð 
Ôð(ð (ð (ñ  Ôð(ð ð*ð *ñ „Xð*ð3ð 3ð 3ð9ð 9ð 9ð2ð 2ð 2ðh/ð /ð /ð8gð gð gðR 
Ôð/ð /ñ Ôð/ð@ð @ð @ðKð Kð Kð
ð 
ð 
ð
ð 
ð 
ð 
ð
i"ð i"ð i"ð i"ðVð ð ð%
ð %
ð %
ðN >BÐÐAÐAÐAÑAðð0<ð <ð <ð <ð|Kð Kð KðLð Lð Lð4$ð 4$ð 4$ð 4$ð 4$rj   rî  ){r–   Ú
__future__r   rY  r˜  r  rÈ  ÚreÚtimer   Útypingr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r  Ú r   r   r_  r   r   Úbaser   r   r   r   r    r!   r"   r#   r%   r&   r'   r(   Úsqlr)   r*   r+   r,   rú  Úsql._typingr-   Úsql.baser.   Úsql.compilerr/   r0   r1   r2   Úsql.elementsr3   Úutil.typingr4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rã  rF   r%  rG   rH   rI   rJ   rK   rL   rM   rN   Úsql.dmlrO   rP   rQ   Ú
sql.schemarR   Úsql.sqltypesrS   Úsql.type_apirT   rU   rV   rµ  ÚIÚUNICODEr7  r.  r  r  r  r  r  rX   rš   r¯  rî  Úexecution_ctx_clsr˜   rj   rh   ú<module>ró     sJ  ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø (Ð (Ð (Ð (Ð (Ð (Ø "Ð "Ð "Ð "Ð "Ð "Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø &Ð &Ð &Ð &Ð &Ð &Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø &Ð &Ð &Ð &Ð &Ð &Ø &Ð &Ð &Ð &Ð &Ð &Ø "Ð "Ð "Ð "Ð "Ð "Ø  Ð  Ð  Ð  Ð  Ð  à	Ôð !*ØÐÐÐÐÐØ+Ð+Ð+Ð+Ð+Ð+Ø3Ð3Ð3Ð3Ð3Ð3Ø4Ð4Ð4Ð4Ð4Ð4Ø3Ð3Ð3Ð3Ð3Ð3Ø4Ð4Ð4Ð4Ð4Ð4Ø5Ð5Ð5Ð5Ð5Ð5Ø+Ð+Ð+Ð+Ð+Ð+Ø;Ð;Ð;Ð;Ð;Ð;Ø'Ð'Ð'Ð'Ð'Ð'Ø+Ð+Ð+Ð+Ð+Ð+Ø+Ð+Ð+Ð+Ð+Ð+Ø'Ð'Ð'Ð'Ð'Ð'Ø%Ð%Ð%Ð%Ð%Ð%Ø*Ð*Ð*Ð*Ð*Ð*Ø$Ð$Ð$Ð$Ð$Ð$ØÐÐÐÐÐØÐÐÐÐÐØ'Ð'Ð'Ð'Ð'Ð'ØÐÐÐÐÐØ,Ð,Ð,Ð,Ð,Ð,Ø Ð Ð Ð Ð Ð Ø'Ð'Ð'Ð'Ð'Ð'Ø&Ð&Ð&Ð&Ð&Ð&Ø1Ð1Ð1Ð1Ð1Ð1Ø"Ð"Ð"Ð"Ð"Ð"Ø$Ð$Ð$Ð$Ð$Ð$Ø,Ð,Ð,Ð,Ð,Ð,Ø#Ð#Ð#Ð#Ð#Ð#Ø*Ð*Ð*Ð*Ð*Ð*Ø1Ð1Ð1Ð1Ð1Ð1Ø3Ð3Ð3Ð3Ð3Ð3Ø)Ð)Ð)Ð)Ð)Ð)ð #˜œ
 <°´¸¼
Ñ1BÑCÔCÐ ð 	€DˆÑÔñØØØØØðD>ð D>ð D>ð D>ð D>˜wñ D>ô D>ð D>ðNR
ð R
ð R
ð R
ð R
�Wñ R
ô R
ð R
ðj$*ð *ð *ð *ð *˜ñ *ô *ð *ð0]$ð ]$ð ]$ð ]$ð ]$Ð.ñ ]$ô ]$ð ]$ð@% $;€Ô  Ð  Ð  rj   