ó
    Ñ]jéé  ã                  ó`  • S r SSKJr  SSKrSSKrSSKJr  SSKJr  SSKJr  SSKJ	r	  SSKJ
r
  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ r   SSKJ!r!  SSK"J#r#  SSK"J$r$  SS KJ%r%  SS!KJ&r&  SS"K'J(r(  \(       a6  SS#K)J*r*  SS$K)J+r+  SS%KJ,r,  SS&KJ-r-  SS'KJ.r.  SS(KJ/r/  SS)KJ0r0  SS*KJ1r1  SS+KJ2r2  \&Rf                  " S,S-5      r4SRS0 jr5\S.\6\\\6S14      \
\6   4   r7\S2\6\6\
\6   4   r8\S/\6S1\
\6   4   r9\\7   r: " S3 S4\5      r;            SSS5 jr<\    ST                 SUS6 jj5       r=\          SVS7 j5       r=    SW                 SXS8 jjr=S9 r>        SYS: jr?S; r@S< rAS= rBS> rCS? rDS@ rESA rF            SZSB jrGSC rH\ S[         S\SD jj5       rI\          S]SE j5       rI  S^           S_SF jjrI\ S[         S\SG jj5       rJ\          S]SH j5       rJ  S^           S_SI jjrJ " SJ SK\R^                  \   5      rK            S`SL jrLSM rM              SaSN jrNSO rOSP rPSQ rQg)bziFunctions used by compiler.py to determine the parameters rendered
within INSERT and UPDATE statements.

é    )ÚannotationsN)ÚAny)ÚCallable)Úcast)ÚDict)ÚIterable)ÚList)ÚMutableMapping)Ú
NamedTuple)ÚOptional)Úoverload)ÚSequence)ÚSet)ÚTuple)ÚTYPE_CHECKING)ÚUnioné   )Ú	coercions)Údml)Úelements)Úroles)Ú_DefaultDescriptionTuple)Úisinsert)ÚColumnClause)Údefault_is_clause_element)Údefault_is_sequence)ÚSelect)ÚTableClauseé   )Úexc)Úutil)ÚLiteral)Ú_BindNameForColProtocol)ÚSQLCompiler)Ú_DMLColumnElement)ÚDMLState)Ú
ValuesBase)ÚColumnElement)ÚKeyedColumnElement)Ú_SQLExprDefault)ÚColumnÚREQUIREDa8  
Placeholder for the value within a :class:`.BindParameter`
which is required to be present when the statement is passed
to :meth:`_engine.Connection.execute`.

This symbol is typically used when a :func:`_expression.insert`
or :func:`_expression.update` statement is compiled without parameter
values present.

úColumnElement[Any]úColumnClause[Any]c                ód   • [        U [        5      (       d  [        R                  " SU < 35      eU $ )Nz5Can't create DML statement against column expression )Ú
isinstancer   r    ÚCompileError)Úcs    ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sqlalchemy/sql/crud.pyÚ_as_dml_columnr4   J   s3   € Ü�aœ×&Ñ&Ü×ÒØCÀAÁ5ÐIó
ð 	
ð €Hó    r*   úKeyedColumnElement[Any]c                  óT   • \ rS rSr% S\S'   S\S'   SrS\S'   SrS\S	'   S
rS\S'   Srg
)Ú_CrudParamséj   zList[_CrudParamElementStr]Úsingle_paramsú$List[Sequence[_CrudParamElementStr]]Úall_multi_paramsFÚboolÚis_default_metavalue_onlyÚuse_insertmanyvaluesNzOptional[Sequence[Column[Any]]]Úuse_sentinel_columns© )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r>   r?   r@   Ú__static_attributes__rA   r5   r3   r8   r8   j   s0   ‡ Ø-Ó-Ø:Ó:Ø&+Ð˜tÓ+Ø!&Ð˜$Ó&Ø<@ÐÐ9Ö@r5   r8   c                ó¼  ^• / U l         / U l        / U l        / U l        UR	                  SS5      nUb  UR                  SS5        SU;  d   S5       e[        XU5      u  mnnXpl        UR                  (       a'  UR                  (       a  [        R                  " S5      eUR                  (       a!  [        U UUSUTUSSUU5        [        / / 5      $ U R                  c†  UR                   (       au  [        UR"                  R$                   Vs/ s HI  nUR&                  (       a  M  UU R(                  R+                  U5      [-        XSSS9UR.                  44PMK     sn/ 5      $ [1        U5      (       aY  UR2                  (       aH  UR4                  n	U	c   eU	S	   n
[7        U
R9                  5       5      nU
 Vs1 s H  nT" U5      iM     nnO™UR:                  (       a6  UR<                  n
UR:                  nU
c   eU
 Vs1 s H  nT" U5      iM     nnORUR<                  (       a>  UR<                  n
[7        U
R9                  5       5      nU
 Vs1 s H  nT" U5      iM     nnOS=p½U R                  c  0 nObU(       a4  Uc   eU R                   Vs0 s H  nXÍ;  d  M
  T" U5      [>        _M     nnO'U R                   Vs0 s H  nT" U5      [>        _M     nn/ nUb  [A        U UUUTUU5        0 n[B        RD                  " U5      (       a$  URF                  (       a  [I        U UUUUUUUU5	        [1        U5      (       a>  URJ                  (       a-  UR2                  (       a   e[M        U UUUUTUUUUU5        S
nSnO[O        U UUUUTUUUUU5      u  nnU(       Ga�  U(       Ga‡  [Q        U5      RS                  U4S jU 5       5      RU                  U5      nU(       GaL  [B        RD                  " U5      (       Ga  [Q        S U 5       5      RU                  URV                  /5      nURU                  URX                  5      nU(       aj  URF                  (       a  U RZ                  (       dH  U RZ                  (       d  SnOSn[        R                  " U SSR]                  S U 5       5       S35      eU(       aB  U RZ                  (       d   e[        R                  " SSR]                  S U 5       5       35      e[        R                  " SSR]                  S U 5       5      -  5      eS
n[1        U5      (       aT  UR2                  (       aC  URJ                  (       a   e[_        U UU[a        SU5      [a        ST5      U5      n[        UU5      $ U(       d™  U Rb                  (       aˆ  U Rd                  Rf                  (       am  [i        UR"                  R$                  S	   5      U R(                  R+                  UR"                  R$                  S	   5      U Rd                  Rj                  S4/nSn[        U/ UUUS9$ s  snf s  snf s  snf s  snf s  snf s  snf )a9  create a set of tuples representing column/string pairs for use
in an INSERT or UPDATE statement.

Also generates the Compiled object's postfetch, prefetch, and
returning column collections, used for default handling and ultimately
populating the CursorResult's prefetch_cols() and postfetch_cols()
collections.

Úvisiting_cteNÚaccumulate_bind_namesz;Don't know how to handle insert within insert without a CTEzVCan't compile statement that includes returning() and return_defaults() simultaneouslyrA   T)Úrequiredr   Fc              3  ó8   >#   • U  H  u  pT" U5      v •  M     g 7f©NrA   )Ú.0ÚkÚvÚ_column_as_keys      €r3   Ú	<genexpr>Ú#_get_crud_params.<locals>.<genexpr>K  s   øé € ÐNÒ8M±°™.¨×+Ð+Ò8Mùs   ƒc              3  óŠ   #   • U  H9  u  p[        U[        5      (       d  M  UR                  c  M+  UR                  v •  M;     g 7frM   )r0   r   Útable)rN   r2   rP   s      r3   rR   rS   Q  s5   é € ð 'â 5™˜Ü! !¤\×2ó à78·w±wó �A—G–GÚ 5ùs   ‚A¡A°Az<Backend does not support additional tables in the SET clausez/Statement is not a multi-table UPDATE statementz'; cannot include columns from table(s) ú, c              3  óB   #   • U  H  nS UR                    S 3v •  M     g7f©Ú'N©Údescription©rN   Úts     r3   rR   rS   l  s%   é € ð &AÚ/?¨!ð )*¨!¯-©-¨¸Õ&:Ú/?ùó   ‚z in SET clausez7Multi-table UPDATE statement does not include table(s) c              3  óB   #   • U  H  nS UR                    S 3v •  M     g7frX   rZ   r\   s     r3   rR   rS   w  s$   é € ð &8â%6 ð #$ A§M¡M ?°!Õ 4Ú%6ùr^   zUnconsumed column names: %sc              3  ó(   #   • U  H  o< v •  M
     g 7frM   rA   )rN   r2   s     r3   rR   rS     s   é € Ð8²%¨Q¡Qœ[²%ùs   ‚úSequence[_CrudParamElementStr]úCallable[..., str])r>   r?   r@   )6Ú	postfetchÚinsert_prefetchÚupdate_prefetchÚimplicit_returningÚgetÚpopÚ_key_getters_for_crud_columnÚ_get_bind_name_for_colÚ
_returningÚ_return_defaultsr    r1   ÚisdeleteÚ_setup_delete_return_defaultsr8   Úcolumn_keysÚ_no_parametersrU   ÚcolumnsÚ_omit_from_statementsÚpreparerÚformat_columnÚ_create_bind_paramÚkeyÚ_compile_state_isinsertÚ_has_multi_parametersÚ_multi_parametersÚlistÚitemsÚ_ordered_valuesÚ_dict_parametersr,   Ú!_get_stmt_parameter_tuples_paramsr   ÚisupdateÚis_multitableÚ_get_update_multitable_paramsÚ_select_namesÚ_scan_insert_from_select_colsÚ
_scan_colsÚsetÚintersectionÚ
differenceÚ	dml_tableÚ_extra_fromsÚ'render_table_with_column_in_update_fromÚjoinÚ_extend_values_for_multiparamsr   Úfor_executemanyÚdialectÚsupports_default_metavaluer4   Údefault_metavalue_token)ÚcompilerÚstmtÚcompile_stateÚtoplevelÚkwrI   Ú_getattr_col_keyÚ_col_bind_namer2   ÚmpÚspdÚstmt_parameter_tuplesrv   Úspd_str_keyÚ
parametersÚvaluesÚcheck_columnsr?   r@   ÚcheckÚtables_mentionedÚmulti_not_in_fromÚpreambler>   Úmulti_extended_valuesrQ   s                            @r3   Ú_get_crud_paramsr¤   r   s­  ø€ ðP €HÔØ!€HÔØ!€HÔØ"$€HÔà—6‘6˜.¨$Ó/€LØÑð
 	�‰Ð&¨Ô-à rÓ)ðEàDóEØ)ô 	% X°]ÓCñ	ØØØð '5Ô#à‡‡˜4×0×0Ü×Òð/ó
ð 	
ð
 ××Ü%ØØØØØØØØØØØô	
ô ˜2˜rÓ"Ð"ð ×ÑÑ#¨×(D×(DÜð Ÿ™×+Ò+ó	ò ,�AØ×.Õ.óØØ×%Ñ%×3Ñ3°AÓ6Ü& x°DÀ4ÑHØ—U‘U�Hó	ñ ,ñ	ð ó
ð 	
ô( 	  ×.Ñ.Ø×/×/à×,Ñ,ˆØ‰~Ðˆ~Ø�‰eˆÜ $ S§Y¡Y£[Ó 1ÐÙ69Ó:²c¨s‘~ cÖ*±cˆÐ:ˆØ	×	&×	&Ø×,Ñ,ˆØ -× =Ñ =ÐØ‰ÐˆÙ69Ó:²c¨s‘~ cÖ*±cˆÐ:ˆØ	×	'×	'Ø×,Ñ,ˆÜ $ S§Y¡Y£[Ó 1ÐÙ69Ó:²c¨s‘~ cÖ*±cˆÐ:ˆà.2Ð2Ðð ×ÑÑ#Ø‰
Þ	ØÑ&Ð&Ð&ð  ×+Ò+ó
â+�ØÑ%ó *‰N˜3Ó¤Ò)Ù+ð 	ð 
ˆ
ð 6>×5IÒ5Ió
Ú5I¨c‰N˜3Ó¤Ò)Ñ5Ið 	ð 
ð
 *,€FàÑ(Ü)ØØØØ!ØØØô	
ð 35€Mô ‡|‚|�M×"Ñ" }×'B×'BÜ%ØØØØ!ØØØØØô
	
ô ˜}×-Ñ-°$×2D×2Dð !×6×6Ð6Ð6ä%ØØØØØØØØØØØô	
ð  %ÐØ#Ñä5?ØØØØØØØØØØØó6
Ñ2ÐÐ2÷ ×+ä�
‹Oß‰\ÔNÑ8MÓNÓNß‰Z˜Ó&ð 	÷
 ä�|Š|˜M×*Ò*Ü#&ñ 'á 5ó'ó $÷ ‘*˜m×5Ñ5Ð6Ó7ð	 !ð %5×$?Ñ$?Ø!×.Ñ.ó%Ð!ö $Ø%×3×3Ø#×K×Kà#×K×Kð7ñ !ð Nð !ô ×*Ò*Ø#˜*ð %;à ŸI™Iñ &AÙ/?ó&Aó Að;ð (ð	+óð ö 'Ø#×K×KÐKÐKÜ×*Ò*ð$ð !ŸI™Iñ &8á%6ó&8ó 8ððóð ô ×"Ò"Ø-Ø—9‘9Ñ8±%Ó8Ó8ñ:óð ð
 !&Ðô 	  ×.Ñ.Ø×/×/ð ×%×%Ð%Ð%Ü >ØØØÜØ0Øóô Ð% ~Ó6Øó
!
Ðô ˜6Ð#8Ó9Ð9æØ×$×$Ø×Ñ×7×7ô ˜tŸz™z×1Ñ1°!Ñ4Ó5Ø×!Ñ!×/Ñ/°·
±
×0BÑ0BÀ1Ñ0EÓFØ× Ñ ×8Ñ8Øð	ð
ˆð %)Ð!äØØ
Ø";Ø1Ø1ñð ùòu	ùò4 ;ùò
 ;ùò ;ùò
ùò
s0   ÄY Ä&7Y Æ9YÈ Y
ÉYÊ	YÊYË Yc                ó   • g rM   rA   )r‘   ÚcolÚvalueÚprocessrK   ÚnameÚforce_anonymousr•   s           r3   ru   ru   ²  s   € ð r5   c                ó   • g rM   rA   )r‘   r¦   r§   r•   s       r3   ru   ru   ¿  ó   € ð r5   c                óº   • U(       a  S nOUc  UR                   n[        R                  " XRUR                  US9nSUl        U(       a  UR
                  " U 40 UD6$ U$ )N)Útype_rK   T)rv   r   ÚBindParameterÚtypeÚ_is_crudÚ_compiler_dispatch)	r‘   r¦   r§   r¨   rK   r©   rª   r•   Ú	bindparams	            r3   ru   ru   È  s^   € ö Ø‰Ø	‰Ø�w‰wˆä×&Ò&Ø˜3Ÿ8™8¨hñ€Ið €IÔÞØ×+Ò+¨HÑ;¸Ñ;Ð;àÐr5   c                óT  • SU;   nU(       dT  UR                   (       aC  [        UR                  [        R                  5      (       a  X0R
                  SUR                  4'   UR                  R                  (       a  UR                  UR                  5      nUR                  " U 40 UD6$ )NrI   r³   )
Úuniquer0   rv   r   Ú_truncated_labelÚtruncated_namesr°   Ú_isnullÚ_with_binary_element_typer²   )r‘   r¦   r§   r©   r•   Úis_ctes         r3   Ú_handle_values_anonymous_paramr»   á  s�   € ð( ˜rÑ!€Fö Ø�L�LÜ�u—y‘y¤(×";Ñ";×<Ñ<à=A× Ñ  +¨u¯y©yÐ!9Ñ:à‡z�z××ð ×/Ñ/°·±Ó9ˆà×#Ò# HÑ3°Ñ3Ð3r5   c                óÎ  ^^• [         R                  " U5      (       a{  UR                  (       aj  [        UR                  5      m[        R
                  " [        R                  [        R                  5      m    SUU4S jjn    SU4S jjnSU4S jjnOJ[        R
                  " [        R                  [        R                  5      n[        R                  " S5      =pEX4U4$ )Nrv   c                óŠ   >• T" U 5      n[        U S5      (       a(  U R                  T;   a  U R                  R                  U4$ U$ )NrU   )ÚhasattrrU   r©   )rv   Ústr_keyÚ_etÚ
c_key_roles     €€r3   rQ   Ú4_key_getters_for_crud_column.<locals>._column_as_key  s>   ø€ ñ ! “oˆGÜ�s˜G×$Ñ$¨¯©°cÓ)9ØŸ	™	Ÿ™¨Ð0Ð0à�r5   c                ó€   >• U R                   T;   a"  U R                   R                  U R                  4$ U R                  $ rM   )rU   r©   rv   ©r¦   rÀ   s    €r3   r–   Ú6_key_getters_for_crud_column.<locals>._getattr_col_key$  s1   ø€ ð �y‰y˜CÓØŸ	™	Ÿ™¨¯©Ð0Ð0à—w‘w�r5   c                óâ   >• U R                   T;   aS  [        (       a!  [        U R                   [        5      (       d   eU R                   R                  < SU R
                  < 3$ U R
                  $ )NÚ_)rU   r   r0   r   r©   rv   rÄ   s    €r3   r—   Ú4_key_getters_for_crud_column.<locals>._col_bind_name,  sK   ø€ Ø�y‰y˜CÓß ’=Ü% c§i¡i´×=Ñ=Ð=Ð=Ø"%§)¡)§.¤.°#·'³'Ð:Ð:à—w‘w�r5   )rv   zUnion[ColumnClause[Any], str]ÚreturnúUnion[str, Tuple[str, str]])r¦   r.   rÉ   rÊ   )r¦   r.   rÉ   Ústr)r   r   r‰   r…   Ú	functoolsÚpartialr   Úexpect_as_keyr   ÚDMLColumnRoleÚoperatorÚ
attrgetter)r‘   r’   r“   rQ   r–   r—   rÀ   rÁ   s         @@r3   ri   ri     sÌ   ù€ ô ‡|‚|�M×"Ñ" }×'A×'Aô �-×,Ñ,Ó-ˆä×&Ò&Ü×#Ñ#¤U×%8Ñ%8ó
ˆ
ð	Ø.ð	à(÷	ð 	ð	Ø"ð	à(÷	÷	ð 	ô #×*Ò*Ü×#Ñ#¤U×%8Ñ%8ó
ˆô -5×,?Ò,?ÀÓ,FÐFÐà¨^Ð;Ð;r5   c           	     óZ  • UR                    Vs/ s H!  o±R                  R                  U" U5         PM#     nnU R                  S   S   UL d   eUR                  U R                  S   S'   / nUR
                  (       ap  [        U5      nUR                  R                   HK  nXþ;  d  M
  UR                  (       d  M  UR                  R                  (       a  M:  UR                  U5        MM     U He  nU" U5      nUU;   aG  UU;  aA  UR                  U5        UR                  UU R                  R                  U5      S S45        MX  [        XUXÚ5        Mg     U(       aÀ  UR                  U5        U R                  S   S   n[!        U["        5      (       d0  [$        R&                  " SSR)                  S U 5       5       S35      eUR+                  5       n[-        UR.                  5      U VVs/ s H
  u    nnnUPM     snn-   Ul        UU R                  S   S'   g g s  snf s  snnf )	NéÿÿÿÿÚ
selectableÚinsert_from_selectrA   z_Can't extend statement for INSERT..FROM SELECT to include additional default-holding column(s) rV   c              3  ó@   #   • U  H  u  p  n[        U5      v •  M     g 7frM   )Úrepr)rN   rÇ   rv   s      r3   rR   Ú0_scan_insert_from_select_cols.<locals>.<genexpr>u  s   é € ÐLºO©L¨A°A°qœd 3Ÿi˜iºOùs   ‚z~.  Convert the selectable to a subquery() first, or pass include_defaults=False to Insert.from_select() to skip these columns.)r‚   rU   r2   ÚstackÚselectÚ#include_insert_from_select_defaultsr…   rq   ÚdefaultÚis_sentinelÚappendrh   rs   rt   Ú&_append_param_insert_select_hasdefaultÚextendr0   r   r    r1   r‹   Ú	_generaterz   Ú_raw_columns)r‘   r’   r“   rœ   r–   rQ   r—   rž   r�   r”   r•   r©   ÚcolsÚadd_select_colsÚcol_setr¦   r2   Úcol_keyÚins_from_selectrÇ   Úexprs                        r3   rƒ   rƒ   =  s  € ð <@×;MÒ;MÓNÒ;M°4�J‰J�L‰L™¨Ó-Ô.Ñ;M€DÐNà�>‰>˜"Ñ˜lÑ+¨tÒ3Ð3Ð3à/3¯{©{€H‡N�N�2ÑÐ+Ñ,à68€OØ×/×/Ü�d“)ˆØ—:‘:×%Ô%ˆCð Õ"Ø—K—K‘KØŸ™×/×/Ñ/à—‘˜CÖ ñ &ó  ˆÙ" 1Ó%ˆØ�jÓ  W°MÓ%AØ�N‰N˜7Ô#Ø�M‰M˜1˜h×/Ñ/×=Ñ=¸aÓ@À$ÈÐKÖLä2Ø  ?öñ ö Ø�‰�oÔ&Ø"Ÿ.™.¨Ñ,Ð-AÑBˆÜ˜/¬6×2Ñ2Ü×"Ò"ð8ð —I‘IÑL¹OÓLÓLððð	óð ð *×3Ñ3Ó5ˆä'+¨O×,HÑ,HÓ'IÙ&5ôM
Ú&5‘]�Q˜˜4 ‹D¡oòM
ñ (
ˆÔ$ð 4Cˆ�‰�rÑÐ/Ò0ð% ùòG OùódM
s   �(H"Ç2H'c                ó„  ^• [        XX)5      u  nnnnnnUR                  (       d  UR                  (       d   eUR                  (       aÅ  UR                   Vs/ s H  nU" U5      PM     nn[	        U5      nU Vs/ s HO  n[        U[        5      (       d  M  UUR                  R                  ;   d  M6  UR                  R                  U   PMQ     snUR                  R                   Vs/ s H  nUR                  U;  d  M  UPM     sn-   nOUR                  R                  n[        U5      nU(       a>  UR                  (       d-  UR                  R                  nU R                  R                  nOS =nnUR                   (       a  [	        UR                   5      nO
[	        5       nU R"                  nU GHµ  nU" U5      nUU;   a   UU;  a  [%        U UUUUUUUUUUUUU
5        GO`U(       Ga6  UR&                  (       a,  U(       a%  U(       a  [)        XUXŠ5        GO*[+        XUXŠ5        GOUR,                  b-  UR,                  R.                  (       a  Ub  [1        XUXØU
5        OáUR2                  bL  U(       a  UU;   a  UR5                  U5        OµUR&                  (       d  U R6                  R5                  U5        OˆU(       a  UU;   a  UR5                  U5        OiUR&                  (       a5  UUR                  R                  La  UR8                  (       d  [;        U5        O"UR                  (       a  [=        U UUUUUU
5        UU;   d  GM›  UU;  d  GM¤  UR5                  U5        GM¸     U(       a6  UR?                  U5      mURA                  U4S jUR                    5       5        UU4$ s  snf s  snf s  snf )Nc              3  ó8   >#   • U  H  nUT;   d  M  Uv •  M     g 7frM   rA   )rN   r2   Úremaining_supplementals     €r3   rR   Ú_scan_cols.<locals>.<genexpr>0  s#   øé € ð +
â1�ØÐ*Ñ*÷ ‰AÚ1ùs   ƒ
‘	)!Ú_get_returning_modifiersr   r   Ú_parameter_orderingr…   r0   rË   rU   r2   rv   rq   rw   rx   Ú_autoincrement_columnrŽ   Ú#insert_null_pk_still_autoincrementsÚ_supplemental_returningrf   Ú_append_param_parameterÚprimary_keyÚ!_append_param_insert_pk_returningÚ$_append_param_insert_pk_no_returningrÜ   rÝ   Ú_append_param_insert_hasdefaultÚserver_defaultrÞ   rc   ÚnullableÚ"_warn_pk_with_no_anticipated_valueÚ_append_param_updater‡   rà   )r‘   r’   r“   rœ   r–   rQ   r—   rž   r�   r”   r•   Úneed_pksrf   Úimplicit_return_defaultsÚpostfetch_lastrowidr?   r@   rv   Úparameter_orderingÚordered_keysr2   rã   r   Úautoincrement_colrð   Úsupplemental_returningÚcompiler_implicit_returningræ   rë   s                               @r3   r„   r„   ‚  sy  ø€ ô( 	! °ÓIñØØØ ØØØð ×!×! ]×%;×%;Ð;Ð;à×(×(à+8×+LÒ+Ló
Ú+L C‰N˜3ÖÑ+Lð 	ð 
ô Ð-Ó.ˆñ *ó
â)�Ü˜#œs×#ó à(+¨t¯z©z¯|©|Ñ(;ó ˆD�J‰J�L‰L˜ÔÙ)ñ
ð Ÿ
™
ŸšÓBš�1¨¯©°\Ñ(A�Q™ÑBñ	C‰ð �z‰z×!Ñ!ˆä& }Ó5€HÞ˜×;×;ð !ŸJ™J×<Ñ<Ðà×Ñ×@Ñ@ñ 	,ð CGÐFÐÐ?à×#×#Ü!$ T×%AÑ%AÓ!BÑä!$£Ðà"*×"=Ñ"=Ðô
 ˆñ # 1Ó%ˆà�jÓ  W°MÓ%Aô $ØØØØØØØØ"Ø(Ø#ØØ!Ø3Øö÷( ð �}�}¦ö
 &ô
 6Ø ¨¨6öô 9Ø ¨¨6öð —‘Ñ&ð —y‘y×,×,Ø(Ñ4ä3Ø ¨Ð+CÈRôøð ×!Ñ!Ñ-ö ,°Ð5MÓ0MØ/×6Ñ6°qÕ9ØŸŸØ×&Ñ&×-Ñ-¨aÔ0øæ)¨aÐ3KÓ.KØ+×2Ñ2°1Õ5ð ——Ø˜TŸZ™Z×=Ñ=Ò=ØŸ
Ÿ
ä2°1Ô5øà×#×#ô !ØØØØØ(ØØôð Ð'Ö'ØÐ4Ö4à'×.Ñ.¨q×1ñS öV ð "8×!BÑ!BØ'ó"
Ðð 	$×*Ñ*ô +
à×1Ò1ó+
ô 	
ð& !Ð"6Ð7Ð7ùòQ
ùò
ùò Cs$   ÁN3Á;N8ÂN8Â4N8Ã+N=ÄN=c                ó8  ^• [        XX)5      t  p¼nU(       d  g UR                  (       a  U R                  R                  U5        UR                  (       aE  [        U R                  5      mU R                  R                  U4S jUR                   5       5        g g )Nc              3  ó6   >#   • U  H  oT;  d  M
  Uv •  M     g 7frM   rA   )rN   r2   Úir_sets     €r3   rR   Ú0_setup_delete_return_defaults.<locals>.<genexpr>_  s   øé € ð +
Ú3�!À±�A‰AÒ3ùs   ƒ	�	)rí   Ú_return_defaults_columnsrf   rà   rñ   r…   )r‘   r’   r“   rœ   r–   rQ   r—   rž   r�   r”   r•   rÇ   rü   r  s                @r3   rn   rn   F  s‡   ø€ ô ,DØ˜ó,Ð(€Qˆ aö $Øà×$×$Ø×#Ñ#×*Ñ*Ð+CÔDà×#×#Ü�X×0Ñ0Ó1ˆØ×#Ñ#×*Ñ*ô +
Ø×3Ò3ó+
õ 	
ð $r5   c                óæ  • UR                  U5      nUR                  S5      S LnU R                  R                  X2R                  S9n[        5       n[        R                  " U5      (       aš  U(       aF  UR                  (       a5  X;L a1  U	(       a  SU l	        O"U(       a  U R                  R                  U5        [        U UU4U[        L [        U5      (       a  UR                  (       d  U" U5      O
SU" U5      -  UUS.UD6nGOÖUR                   (       a³  U(       ag  UR"                  cZ  UR                  (       aI  X;L aE  U(       a  U R                  R                  U5        O"U R$                  R                  (       a  SU l	        ['        U UU4[        U5      (       a  UR                  (       d  U" U5      O
SU" U5      -  US.UD6nGOU R(                  " UR+                  5       4SU0UD6nUR,                  (       aD  U(       a!  X8;   a  U R                  R                  U5        O¶U R.                  R                  U5        OšUR                  (       aF  U(       a  U R                  R                  U5        OfU R$                  R                  (       a  SU l	        OCU(       a!  X8;   a  U R                  R                  U5        OU R.                  R                  U5        U
R                  UUUU45        g )NrI   ©Ú	use_tableTz%s_m0)rK   r©   rJ   rª   )r©   rJ   rJ   )rh   rg   rs   rt   Úinclude_table_with_column_exprsr…   r   Ú_is_literalró   rý   rf   rÞ   ru   r,   rw   rx   Ú_is_bind_parameterr§   rŽ   r»   r¨   Ú
self_groupr   rc   )r‘   r’   r“   r2   ræ   rœ   r—   rf   rü   rý   r�   r   rð   r•   r§   Úhas_visiting_cteÚ	col_valueÚaccumulated_bind_namess                     r3   rò   rò   d  sŽ  € ð  �N‰N˜7Ó#€Eà—v‘v˜nÓ-°TÐ9ÐØ×!Ñ!×/Ñ/Ø	×BÑBð 0ð €Iô (+£uÐä×Ò˜U×#Ñ#æ/Ø——ØÒ&ö
 #Ø/3�Õ,Þ#Ø×+Ñ+×2Ñ2°1Ô5ä"ØØØð
ð œhÐ&ô /¨}×=Ñ=Ø$×:×:ñ ˜qÔ!ð ™~¨aÓ0Ñ0à"8Ø,ñ
ð ñ
Šð 
×	!×	!æ/Ø—‘Ñ#Ø——ØÒ&ö "Ø×+Ñ+×2Ñ2°1Õ5Ø×!Ñ!×5×5Ø/3�Ô,ä.ØØØð
ô /¨}×=Ñ=Ø$×:×:ñ ˜qÔ!ð ™~¨aÓ0Ñ0à"8ñ
ð ñ
Šð × Ò Ø×ÑÓñ
à"8ð
ð ñ
ˆð ×!×!Þ'¨AÓ,IØ×+Ñ+×2Ñ2°1Õ5ð ×"Ñ"×)Ñ)¨!Õ,à�}�}Þ%Ø×/Ñ/×6Ñ6°qÕ9Ø×%Ñ%×9×9Ø37�HÔ0øæ)¨qÓ/LØ×+Ñ+×2Ñ2°1Õ5ð ×"Ñ"×)Ñ)¨!Ô,à
‡M�M�1�i Ð(>Ð?Õ@r5   c           	     óf  • UR                   GbÅ  UR                   R                  (       aÂ  U R                  R                  (       a‹  UR                   R                  (       a  U R                  R
                  (       dU  [        5       nUR                  UU R                  R                  U5      U R                  " UR                   4SU0UD6U45        U R                  R                  U5        gUR                   R                  (       a‰  [        5       nUR                  UU R                  R                  U5      U R                  " UR                   R                  R                  5       4SU0UD6U45        U R                  R                  U5        gUR                  UU R                  R                  U5      [        X40 UD6UR                   445        gX!R"                  R$                  L d  UR&                  b  U R                  R                  U5        gUR(                  (       d  [+        U5        gg)z‹Create a primary key expression in the INSERT statement where
we want to populate result.inserted_primary_key and RETURNING
is available.

NrJ   )rÜ   Úis_sequencerŽ   Úsupports_sequencesÚoptionalÚsequences_optionalr…   rÞ   rs   rt   r¨   rf   Úis_clause_elementÚargr  Ú"_create_insert_prefetch_bind_paramrv   rU   rï   r÷   rø   rù   )r‘   r’   r2   r�   r•   r  s         r3   rô   rô   Ù  sË  € ð 	‡y�yÒØ�9‰9× × Ø×Ñ×2×2Ø—I‘I×&×&Ø×'Ñ'×:×:ä36³5Ð&Ø—‘àØ ×)Ñ)×7Ñ7¸Ó:Ø ×(Ò(ØŸI™Iñà2Hðð !ñð
 /ð	ôð ×'Ñ'×.Ñ.¨qÕ1Ø�Y‰Y×(×(Ü%(£UÐ"Ø�M‰MàØ×%Ñ%×3Ñ3°AÓ6Ø×$Ò$ØŸ	™	Ÿ™×0Ñ0Ó2ñà.Dðð ñð
 +ð	ôð ×'Ñ'×.Ñ.¨qÕ1ð
 �M‰MàØ×%Ñ%×3Ñ3°AÓ6Ü6°xÑIÀbÑIØ—U‘U�Hð	õð 
�j‰j×.Ñ.Ò	.°!×2BÑ2BÑ2NØ×#Ñ#×*Ñ*¨1Õ-Ø�Z�Zô 	+¨1Õ-ð r5   c           	     óž  • UR                   bl  UR                   R                  (       aï  U R                  R                  (       a6  UR                   R                  (       a¹  U R                  R
                  (       až  X!R                  R                  L aÊ  U R                  R                  (       d¯  UR                   b6  UR                   R                  (       a  U R                  R                  (       d(  UR                   c_  U R                  R                  (       aD  UR                  UU R                  R                  U5      [        X40 UD6UR                  445        gUR                   cB  UR                  c5  UR                   (       d$  X!R                  R                  La  [#        U5        gU R                  R                  (       a  SU l        gg)aW  Create a primary key expression in the INSERT statement where
we want to populate result.inserted_primary_key and we cannot use
RETURNING.

Depending on the kind of default here we may create a bound parameter
in the INSERT statement and pre-execute a default generation function,
or we may use cursor.lastrowid if supported by the dialect.


NT)rÜ   r  rŽ   r  r  r  rU   rï   rý   Ú"preexecute_autoincrement_sequencesrÞ   rs   rt   r  rv   r÷   rø   rù   ©r‘   r’   r2   r�   r•   s        r3   rõ   rõ     sE  € ð 	
�	‰	Ñð —	‘	×%×%à× Ñ ×3×3àŸ	™	×*×*Ø#×+Ñ+×>×>ð 	
�Z‰Z×-Ñ-Ò-ð × Ñ ×4×4ð —I‘IÑ)ØŸ	™	×-×-Ø ×(Ñ(×;×;ð —I‘IÑ%Ø ×(Ñ(×K×Kð 	�‰àØ×!Ñ!×/Ñ/°Ó2Ü2°8ÑEÀ"ÑEØ—‘�ð	õ	
ð 	
�	‰	ÑØ×ÑÑ$Ø—
—
Ø—Z‘Z×5Ñ5Ò5ô 	+¨1Õ-Ø	×	Ñ	×	-×	-ð
 (,ˆÕ$ð 
.r5   c           	     óx  • UR                   R                  (       aþ  U R                  R                  (       aâ  UR                   R                  (       a  U R                  R
                  (       d«  [        5       nUR                  UU R                  R                  U5      U R                  " UR                   4SU0UD6U45        U(       a!  X#;   a  U R                  R                  U5        g UR                  (       d  U R                  R                  U5        g g g g UR                   R                  (       aÃ  [        5       nUR                  UU R                  R                  U5      U R                  " UR                   R                  R!                  5       4SU0UD6U45        U(       a!  X#;   a  U R                  R                  U5        g UR                  (       d  U R                  R                  U5        g g UR                  UU R                  R                  U5      [#        X40 UD6UR$                  445        g )NrJ   )rÜ   r  rŽ   r  r  r  r…   rÞ   rs   rt   r¨   rf   ró   rc   r  r  r  r  rv   )r‘   r’   r2   rü   r�   r•   r  s          r3   rö   rö   c  sÖ  € ð 	‡y�y××Ø×Ñ×.×.Ø—	‘	×"×"¨(×*:Ñ*:×*M×*Mä/2«uÐ"Ø�M‰MàØ×%Ñ%×3Ñ3°AÓ6Ø×$Ò$ØŸ	™	ñà.Dðð ñð
 +ð	ôö (¨AÓ,IØ×+Ñ+×2Ñ2°1Õ5Ø—]—]Ø×"Ñ"×)Ñ)¨!Õ,ð #ð# +Nð /ð( 
�‰×	$×	$Ü!$£ÐØ�‰àØ×!Ñ!×/Ñ/°Ó2Ø× Ò Ø—I‘I—M‘M×,Ñ,Ó.ñà*@ðð ñð
 'ð	ô	
ö $¨Ó(EØ×'Ñ'×.Ñ.¨qÕ1Ø——à×Ñ×%Ñ% aÕ(ð ð 	�‰àØ×!Ñ!×/Ñ/°Ó2Ü2°8ÑEÀ"ÑEØ—‘�ð	õ	
r5   c           	     óÌ  • [        UR                  5      (       aš  U R                  R                  (       a~  UR                  R                  (       a  U R                  R
                  (       dG  UR                  UU R                  R                  U5      UR                  R                  5       S45        g g g [        UR                  5      (       aQ  UR                  UU R                  R                  U5      UR                  R                  R                  5       S45        g UR                  UU R                  R                  U5      [        X4SS0UD6UR                  445        g )NrA   r¨   F)r   rÜ   rŽ   r  r  r  rÞ   rs   rt   Ú
next_valuer   r  r  r  rv   r  s        r3   rß   rß   š  s#  € ô ˜1Ÿ9™9×%Ñ%Ø×Ñ×.×.Ø—	‘	×"×"¨(×*:Ñ*:×*M×*Mà�M‰MàØ×%Ñ%×3Ñ3°AÓ6Ø—I‘I×(Ñ(Ó*Øð	õð +Nð /ô 
# 1§9¡9×	-Ñ	-Ø�‰àØ×!Ñ!×/Ñ/°Ó2Ø—	‘	—‘×(Ñ(Ó*Øð	õ	
ð 	�‰àØ×!Ñ!×/Ñ/°Ó2Ü2ØñØ).ðØ24ñð —‘�ðõ		
r5   c           	     ó®  • UR                   nUR                  Gb  UR                  R                  (       Gd  UR                  R                  (       a¤  UR	                  UU R
                  R                  UUS9U R                  " UR                  R                  R                  5       40 UD6S45        U(       a!  X4;   a  U R                  R	                  U5        g U R                  R	                  U5        g UR	                  UU R
                  R                  UUS9[        X40 UD6UR                  445        g UR                  bD  U(       a!  X4;   a  U R                  R	                  U5        g U R                  R	                  U5        g U(       aE  UR                  (       d  UR                   (       d"  X4;   a  U R                  R	                  U5        g g g g )Nr	  rA   )r  Úonupdater  r  rÞ   rs   rt   r¨   r  r  rf   rc   Ú"_create_update_prefetch_bind_paramrv   Úserver_onupdater  rl   )r‘   r“   r’   r2   rü   r�   r•   Úinclude_tables           r3   rú   rú   Ã  sŠ  € ð "×AÑA€MØ‡z�zÒ a§j¡j×&<×&<Ð&<Ø�:‰:×'×'Ø�M‰MàØ×%Ñ%×3Ñ3ØØ"/ð 4ð ð ×$Ò$ Q§Z¡Z§^¡^×%>Ñ%>Ó%@ÑGÀBÑGØðô
ö (¨AÓ,IØ×+Ñ+×2Ñ2°1Õ5à×"Ñ"×)Ñ)¨!Õ,à�M‰MàØ×%Ñ%×3Ñ3ØØ"/ð 4ð ô 7°xÑIÀbÑIØ—U‘U�Hðõ
ð 
×	Ñ	Ñ	&Þ#¨Ó(EØ×'Ñ'×.Ñ.¨qÕ1à×Ñ×%Ñ% aÕ(æ Ø×*×*°$×2G×2GØÓ)à×#Ñ#×*Ñ*¨1Õ-ð *ð 3Hð 	!r5   c                ó   • g rM   rA   ©r‘   r2   r¨   r•   s       r3   r  r  ñ  r¬   r5   c                ó   • g rM   rA   r&  s       r3   r  r  ú  ó   € ð #&r5   c                óZ   • [        XS 4X#S.UD6nU R                  R                  U5        U$ ©N)r¨   r©   )ru   rd   rÞ   ©r‘   r2   r¨   r©   r•   Úparams         r3   r  r    ó>   € ô Ø�TðØ#*ñØ9;ñ€Eð ×Ñ×#Ñ# AÔ&Ø€Lr5   c                ó   • g rM   rA   r&  s       r3   r"  r"    r¬   r5   c                ó   • g rM   rA   r&  s       r3   r"  r"    r(  r5   c                óZ   • [        XS 4X#S.UD6nU R                  R                  U5        U$ r*  )ru   re   rÞ   r+  s         r3   r"  r"  #  r-  r5   c                  ó€   • \ rS rSrSrS rS rS rS r\	R                  SS j5       r\	R                  SS j5       rS	rg
)Ú_multiparam_columni1  Tc                ó’   • X l         SUR                  US-   4-  U l        Xl        UR                  U l        UR                  U l        g )Nú%s_m%dr   )Úindexrv   ÚoriginalrÜ   r°   )Úselfr6  r5  s      r3   Ú__init__Ú_multiparam_column.__init__4  s=   € ØŒ
Ø˜xŸ|™|¨U°Q©YÐ7Ñ7ˆŒØ ŒØ×'Ñ'ˆŒØ—M‘Mˆ�	r5   c                ó   • [        5       erM   ©ÚNotImplementedError)r7  Úotherr•   s      r3   ÚcompareÚ_multiparam_column.compare;  ó   € Ü!Ó#Ð#r5   c                ó   • [        5       erM   r;  )r7  r•   s     r3   Ú_copy_internalsÚ"_multiparam_column._copy_internals>  r@  r5   c                ó¢   • [        U[        5      =(       a9    UR                  U R                  :H  =(       a    UR                  U R                  :H  $ rM   )r0   r2  rv   r6  )r7  r=  s     r3   Ú__eq__Ú_multiparam_column.__eq__A  s<   € ä�uÔ0Ó1÷ 0Ø—	‘	˜TŸX™XÑ%÷0à—‘ $§-¡-Ñ/ð	
r5   c                óB   • [         R                  " U R                  5      $ ©z1used by default.py -> _process_execute_defaults())r   Ú_from_column_defaultrÜ   ©r7  s    r3   Ú_default_description_tupleÚ-_multiparam_column._default_description_tupleH  s   € ô (×<Ò<¸T¿\¹\ÓJÐJr5   c                óB   • [         R                  " U R                  5      $ rH  )r   rI  r!  rJ  s    r3   Ú_onupdate_description_tupleÚ._multiparam_column._onupdate_description_tupleN  s   € ô (×<Ò<¸T¿]¹]ÓKÐKr5   )rÜ   r5  rv   r6  r°   N)rÉ   r   )rB   rC   rD   rE   Ú_is_multiparam_columnr8  r>  rB  rE  r!   Úmemoized_propertyrK  rN  rG   rA   r5   r3   r2  r2  1  sT   † Ø Ðò"ò$ò$ò
ð 
×ÑóKó ðKð
 
×ÑóLó óLr5   r2  c                óØ  • UR                   (       d  [        R                  " SU-  5      e[        UR                   5      (       a5  U R                  " UR                   R
                  R                  5       40 UD6$ UR                   R                  (       a  U R                  " UR                   40 UD6$ [        X#5      n[        U[        R                  5      (       d   e[        X4SS0UD6$ )Nz�INSERT value for column %s is explicitly rendered as a boundparameter in the VALUES clause; a Python-side value or SQL expression is requiredr¨   T)rÜ   r    r1   r   r¨   r  r  r  r2  r0   r   ÚInsertr  )r‘   r’   r2   r5  r•   r¦   s         r3   Ú _process_multiparam_default_bindrT  U  sÏ   € ð �9�9Ü×Òð@àBCñDó
ð 	
ô
 
# 1§9¡9×	-Ñ	-Ø×Ò §	¡	§¡× 8Ñ 8Ó :ÑA¸bÑAÐAØ	
�‰×	×	ð ×Ò §	¡	Ñ0¨RÑ0Ð0ä  Ó*ˆÜ˜$¤§
¡
×+Ñ+Ð+Ð+Ü1Øñ
Ø#'ð
Ø+-ñ
ð 	
r5   c	                óN  • U=(       d    S V	V
s0 s H+  u  pš[         R                  " [        R                  U	5      U
_M-     nn	n
UR                  n[        5       nUR                   GHl  nU(       + =(       a     UR                  R                  U5      (       + nUR                   GH)  n	X›;   d  M  U(       a$  [        R                  " SUR                   S35      eUR                  U5        X”U" U	5      '   X¹   nU R                  XœS9n[         R                  " U5      (       a+  [!        U U	U4U["        L U" U	5      S.UD6nU	R$                  4nOjUR&                  (       a  U" U	5      n[)        X	U4SU0UD6nU4nO>U R*                  R-                  U	5        U R                  " UR/                  5       40 UD6nSnUR-                  U	UUU45        GM,     GMo     U GHB  nUR                   GH-  n	X›;   a  M  U	R0                  bê  U	R0                  R2                  (       dÏ  U	R0                  R4                  (       ar  UR-                  U	U R                  XœS9U R                  " U	R0                  R6                  R/                  5       40 UD6S45        U R*                  R-                  U	5        MÀ  UR-                  U	U R                  XœS9[9        X	4SU" U	5      0UD6U	R$                  445        GM  U	R:                  c  GM  U R*                  R-                  U	5        GM0     GME     g s  sn
n	f )NrA   zdBackend does not support additional tables in the SET clause; cannot include columns from table(s) 'z' in SET clause©r$  )rK   r©   r©   )r   Úexpectr   rÏ   r  r…   r‰   rˆ   Úis_derived_fromr2   r    r1   r[   Úaddr¨   r  ru   r,   rv   r  r»   rc   rÞ   r  r!  r  r  r  r"  r#  )r‘   r’   r“   rš   rž   r—   r–   r�   r•   r2   r,  Únormalized_paramsr$  Úaffected_tablesr]   Ú$we_shouldnt_be_here_if_columns_foundr§   r  r  Úcbns                       r3   r�   r�   v  s  € ð .×3°Ð3ôâ3‰HˆAô 	×Òœ×,Ñ,¨aÓ0°%Ò7Ù3ð ñ ð
 "×AÑA€Mä“e€OØ×'Õ'ˆð
 Ô÷ ?Ø!×+Ñ+×;Ñ;¸AÓ>Ô>ð 	-ð
 —•ˆAØÕ%æ7Ü×*Ò*ðð ŸM™M˜?ð +%ð%óð ð  ×#Ñ# AÔ&à56Ñ.¨qÓ1Ñ2Ø)Ñ,�à$×,Ñ,¨QÐ,ÐL�	Ü×(Ò(¨×/Ñ/Ü.Ø ØØðð "'¬(Ð!2Ù+¨AÓ.ñð ñ�Eð >?¿U¹U¸HÑ*Ø×-×-Ù(¨Ó+�CÜ:Ø  UñØ14ðØ8:ñ�Eð /2¨VÑ*à×&Ñ&×-Ñ-¨aÔ0Ø$×,Ò,¨U×-=Ñ-=Ó-?ÑFÀ2ÑF�EØ-/Ð*Ø—‘˜q )¨UÐ4JÐK×LôM ñ (ôf ˆØ—•ˆAØÓ%ÙØ—‘Ñ'°·
±
×0F×0FØ—:‘:×/×/Ø—M‘MàØ$×,Ñ,¨QÐ,ÐLØ$×,Ò,Ø !§
¡
§¡× 9Ñ 9Ó ;ñØ?Añð ðô	ð ×&Ñ&×-Ñ-¨aÖ0à—M‘MàØ$×,Ñ,¨QÐ,ÐLÜ>Ø (ñÙ2@ÀÓ2CðØGIñð ŸU™U˜Hð÷	ð ×"Ñ"Ô.Ø×"Ñ"×)Ñ)¨!×,ô9 ò ùóws   �2L!c           	     ót  • UnU/nUR                  S5      S LnUR                  n	U	c   e[        U	SS  5       Hö  u  p«/ nUR                  5        VVs0 s H  u  pÞU" U5      U_M     nnnU H­  u  nnnnUR                  U;   as  UR                  n[
        R                  " X½   5      (       a&  [        U UX½   4SUR                  U
S-   4-  US.UD6nO1U R                  " X½   R                  5       40 UD6nO[        XXúU5      nUR                  UUUU45        M¯     UR                  U5        Mø     U$ s  snnf )NrI   r   r4  )r©   rª   )rg   ry   Ú	enumerater{   rv   r   r  ru   r¨   r  rT  rÞ   )r‘   r’   r“   Úinitial_valuesrQ   r•   Úvalues_0r�   r  r˜   ÚiÚrowÚ	extensionrv   rP   r¦   Úcol_exprr,  Úaccumulated_namesÚ	new_params                       r3   rŒ   rŒ   Ü  s^  € ð €HØÐ€Fà—v‘v˜nÓ-°TÐ9ÐØ	×	(Ñ	(€BØ‰>Ðˆ>Ü˜B˜q˜r˜FÖ#‰ˆØ02ˆ	à47·I±I´KÔ@²K©&¨#‰~˜cÓ" AÒ%±KˆÑ@ã7?Ñ3ˆC�˜5Ð"3Ø�w‰w˜#‹~Ø—g‘g�ä×(Ò(¨©×2Ñ2Ü 2Ø ØØ™ð!ð '¨#¯'©'°1°q±5Ð)9Ñ9Ø(8ñ!ð ñ!‘Ið !)× 0Ò 0°±×1DÑ1DÓ1FÑ MÈ"Ñ M‘Iä<Ø C¨Bó�	ð ×Ñ˜c 8¨YÐ8IÐJÖKñ) 8@ð, 	�‰�iÖ ñ7 $ð: €Mùó5 As   ÁD4c           	     ó  • U GH  u  pxU" U5      n	U	b  UR                  X˜5        M$  U R                  XqR                  S9n
[        R                  " U5      (       a1  U R                  " [
        R                  " S X‡R                  S940 UD6nOhUR                  (       a6  UR                  R                  (       a  UR                  UR                  5      nU R                  " UR                  5       40 UD6nUR                  XzUS45        GM     g )NrV  )r®   rA   )Ú
setdefaultr¨   r  r   r  r   r¯   r°   r  r¸   r¹   r  rÞ   )r‘   r“   rœ   rš   rQ   r�   r•   rO   rP   Úcolkeyre  s              r3   r~   r~   
  sè   € ô &‰ˆÙ Ó"ˆØÑØ×!Ñ! &Ö,ð  ×'Ñ'Ø×!NÑ!Nð (ð ˆHô ×$Ò$ Q×'Ñ'Ø×$Ò$Ü×*Ò*¨4°¿&¹&ÑAñØEGñ‘ð ×'×'¨A¯F©F¯N¯Nð ×3Ñ3°A·F±FÓ;�Aà×$Ò$ Q§\¡\£^Ñ:°rÑ:�ð �M‰M˜1¨¨2Ð.×/ò= &r5   c                ó  • U R                   nU=(       a‘    [        U5      =(       a    UR                  (       + =(       ag    U R                  (       + =(       d    UR                  =(       a    UR
                  =(       a)    UR                  (       + =(       a    UR                  (       + nU=(       a+    UR                  =(       a    UR                  R                  SLnU=(       aƒ    UR                  =(       ap    UR                  R                  =(       aS    UR                  =(       a@    U(       + =(       d    UR                  =(       d    UR                  =(       d    UR
                  nU(       a  Sn[        U5      (       aÓ  U=(       a    UR
                  nU=(       d    UR                  =(       d    UR                   n	U=(       aP    U R                  =(       a=    UR"                  =(       a*    U	=(       d!    UR$                  =(       a    UR&                  SL n
SnU
(       a3  U	(       a,  UR(                  (       a  U R+                  UR                  5      nOÐUR,                  (       aT  UR
                  =(       a<    UR                  R                  =(       a    UR                  =(       a    UR.                  nSn
SnOkUR0                  (       aT  UR
                  =(       a<    UR                  R                  =(       a    UR                  =(       a    UR2                  nSn
SnOSnSn
SnU(       aG  UR4                  (       d   [7        UR                  R8                  5      nO[7        UR4                  5      nOSnUU=(       d    UUUU
U4$ )z¨determines RETURNING strategy, if any, for the statement.

This is where it's determined what we need to fetch from the
INSERT or UPDATE statement after it's invoked.

NF)rŽ   rw   Ú_inliner�   Úinsert_executemany_returningrl   rk   rx   rý   rU   rï   Úinsert_returningÚ_primary_tablerf   Ú_supports_implicit_returningÚfavor_returning_over_lastrowidrñ   r?   Ú!use_insertmanyvalues_wo_returningÚ_post_values_clauseÚ_sort_by_parameter_orderÚ_get_sentinel_column_for_tabler   Úupdate_returningrm   Údelete_returningr  r…   r2   )r‘   r’   r“   r”   rŽ   rû   rý   rf   Úshould_implicit_return_defaultsÚexplicit_returningr?   r@   rü   s                r3   rí   rí   4  s  € ð ×Ñ€Gð 	÷ 		4Ü# MÓ2÷		4à—‘Ô÷		4ð ×(Ñ(Ô(÷ PØ×4Ñ4×N¸×9NÑ9N÷		4ð —‘Ô÷		4ð ×3Ñ3Ô3ð ð  	÷ 	9Ø×'Ñ'÷	9à�J‰J×,Ñ,°DÐ8ð ð 	÷ 	
ð ×$Ñ$÷	
ð
 ×(Ñ(×;Ñ;÷	
ð ×6Ñ6÷	
ð$ %Ô$×N¨×(NÑ(N÷ %Ø×2Ñ2÷%à×$Ñ$ð- ö2 Ø#Ðä˜}×-Ñ-à×8 4×#8Ñ#8ð 	(ð ,÷ ,Ø�‰÷,à×+Ñ+ð 	ð ÷ Ø×(Ñ(÷à×,Ñ,÷ð #÷ à×=Ñ=÷ 9ð
 ×0Ñ0°DÐ8ð 	ð"  $Ðæ Þ"Ø×-×-à#+×#JÑ#JØ—
‘
ó$Ð øð 
×	×	à×!Ñ!÷ )Ø×,Ñ,×?Ñ?÷)à×:Ñ:÷)ð ×(Ñ(ð	 	(ð  %ÐØ#ÑØ	×	×	à×!Ñ!÷ )Ø×,Ñ,×?Ñ?÷)à×:Ñ:÷)ð ×(Ñ(ð	 	(ð  %ÐØ#Ñà*/Ð'Ø$ÐØ#Ðæ&Ø×,×,ô (+¨4¯:©:¯<©<Ó'8Ñ$ä'*¨4×+HÑ+HÓ'IÑ$à#'Ð ð 	Ø×=Ð=Ø ØØØðð r5   c                ó  • SU R                   R                  < SU R                  < SU R                   R                  < S3n[        U R                   R                  5      S:”  a  US-  n[
        R                  " U5        g )NzColumn 'Ú.z6' is marked as a member of the primary key for table 'z×', but has no Python-side or server-side default generator indicated, nor does it indicate 'autoincrement=True' or 'nullable=True', and no explicit value is passed.  Primary key columns typically may not store NULL.r   a0   Note that as of SQLAlchemy 1.1, 'autoincrement=True' must be indicated explicitly for composite (e.g. multicolumn) primary keys if AUTO_INCREMENT/SERIAL/IDENTITY behavior is expected for one of the columns in the primary key. CREATE TABLE statements are impacted by this change as well on most backends.)rU   Úfullnamer©   Úlenró   r!   Úwarn)r2   Úmsgs     r3   rù   rù   Å  sb   � ð �7‰7×Ô˜QŸVœV Q§W¡W×%5Ô%5ð	7ð ô ˆ1�7‰7×ÑÓ !Ó#Øðñ	
ˆô 	‡I‚Iˆc…Nr5   )r2   r-   rÉ   r.   )r‘   r$   r’   r'   r“   r&   r”   r=   r•   r   rÉ   r8   ).FNF)r‘   r$   r¦   r-   r§   r   r¨   úLiteral[True]rK   r=   r©   úOptional[str]rª   r=   r•   r   rÉ   rË   )
r‘   r$   r¦   r-   r§   r   r•   r   rÉ   rË   )TFNF)r‘   r$   r¦   r-   r§   r   r¨   r=   rK   r=   r©   r�  rª   r=   r•   r   rÉ   z'Union[str, elements.BindParameter[Any]])r‘   r$   r’   r'   r“   r&   rÉ   z¢Tuple[Callable[[Union[str, ColumnClause[Any]]], Union[str, Tuple[str, str]]], Callable[[ColumnClause[Any]], Union[str, Tuple[str, str]]], _BindNameForColProtocol])r‘   r$   r’   r'   r2   r.   r�   zList[_CrudParamElementSQLExpr]r•   úDict[str, Any]rÉ   ÚNone).)
r‘   r$   r2   r-   r¨   r€  r•   r   rÉ   rË   )
r‘   r$   r2   r-   r¨   zLiteral[False]r•   r   rÉ   zelements.BindParameter[Any])TN)r‘   r$   r2   r-   r¨   r=   r©   r�  r•   r   rÉ   z'Union[elements.BindParameter[Any], str])r‘   r$   r’   r'   r2   r6   r5  Úintr•   r‚  rÉ   rË   )r‘   r$   r’   r'   r“   r&   r`  ra   rQ   rb   r•   r‚  rÉ   r;   )RÚ__doc__Ú
__future__r   rÌ   rÐ   Útypingr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   Ú r   r   r   r   Úbaser   r   rw   r   Úschemar   r   rÔ   r   r   r    r!   Úutil.typingr"   r‘   r#   r$   r%   r&   r'   r(   r)   r*   r+   Úsymbolr,   r4   rË   Ú_CrudParamElementÚ_CrudParamElementStrÚ_CrudParamElementSQLExprÚ_CrudParamSequencer8   r¤   ru   r»   ri   rƒ   r„   rn   rò   rô   rõ   rö   rß   rú   r  r"  r2  rT  r�   rŒ   r~   rí   rù   rA   r5   r3   Ú<module>r‘     sš  ðñõ #ã Û Ý Ý Ý Ý Ý Ý Ý !Ý Ý Ý Ý Ý Ý Ý  Ý å Ý Ý Ý Ý *Ý 4Ý "Ý -Ý 'Ý Ý #Ý Ý Ý !æÝ1Ý%Ý&ÝÝÝ'Ý,Ý'Ýà�;Š;Øð	ó€ôð ØØØØˆcÐ$Ð$Ñ%ñð ˆS�MðñÐ ð ØØØØˆS�MðñÐ ð !ØØØØˆS�MðñÐ ð Ð+Ñ,Ð ôA�*ô Að}Øð}à
ð}ð ð}ð ð	}ð
 ð}ð ô}ð@
 
ð
 !ØØØ!ð	Øð	à	ð	ð ð	ð ð		ð
 ð	ð ð	ð ð	ð ð	ð 	ô	ó 
ð	ð 
ðØðà	ðð ðð ð	ð
 	óó 
ðð ØØØ!ðØðà	ðð ðð ð	ð
 ðð ðð ðð ðð -õò2#4ðL3<Øð3<Ø!+ð3<Ø<Dð3<ðô3<òlBCòJA8òH
ò<rAòj:.òzJ,òZ4
ðn&
Øð&
à
ð&
ð ð&
ð +ð	&
ð
 	ð&
ð 
ô&
òR+.ð\ 
ð !ðØðàðð ðð ð	ð
 	ôó 
ðð 
ð&Øð&àð&ð ð&ð ð	&ð
 !ó&ó 
ð&ð Øð	Øðàðð ðð ð	ð
 ðð -õð 
ð !ðØðàðð ðð ð	ð
 	ôó 
ðð 
ð&Øð&àð&ð ð&ð ð	&ð
 !ó&ó 
ð&ð Øð	Øðàðð ðð ð	ð
 ðð -õô!L˜×/Ñ/°Ñ4ô !LðH
Øð
à
ð
ð ð
ð ð	
ð
 	ð
ð 	ô
òBc-ðL+Øð+à
ð+ð ð+ð 3ð	+ð
 'ð+ð 	ð+ð *ô+ò\'0òTNóbr5   