+
    ˜h©jŠ  ã                  óH  € R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ R	IHt ^ R
IHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt  ^RI!H"t" ^RI!H#t# ^RI!H$t$ ^RI!H%t% ^RI!H&t& ^RI!H't' ^RI(H)t) ^R I(H*t* ^R!I(H+t+ ^R"I,H-t- ^R#I,H.t. ^R$I,H/t/ ^R%IH0t0 ^R&I1H2t2 ]
'       dI   ^R'I3H4t4 ^R(I3H5t5 ^R)I3H6t6 ^R*I7H8t8 ^R+I9H:t: ^R,I9H;t; ^R-I9H<t< ^R.I9H=t= ^R/I>H?t? ^R0IH@t@ ^R1IHAtA ^R2IBHCtC ]! R3]DR47      tE]	R5R6R7R6/R8 R9 ll4       tF]	R5R6R7R6/R: R; ll4       tFR5R<R7R</R= R> lltF]	R?R6R@RA/RB RC ll4       tG]	R?R6R@RA/RD RE ll4       tGR?R<R@RA/RF RG lltGRH tH ! RI RJ]4      tI ! RK RL]I4      tJ]*P–                  ! RMRN4       ! RO RP]I].4      4       tL]*P–                  ! RMRQ4       ! RR RS]J]/4      4       tM]*P–                  ! RMRT4       ! RU RV]J]-4      4       tNR<# )Wzoadditional ORM persistence classes related to "bulk" operations,
specifically outside of the flush() process.

)Úannotations)ÚAny)Úcast)ÚDict)ÚIterable)ÚOptional)Úoverload)ÚTYPE_CHECKING)ÚTypeVar)ÚUnion)Ú
attributes)Úcontext)Ú	evaluator)Úexc)Úloading)Úpersistence)ÚNO_VALUE)ÚAbstractORMCompileState)ÚFromStatement)ÚORMFromStatementCompileState)ÚQueryContext)Úutil)ÚDialect)Úresult)Ú	coercions)Údml)Ú
expression)Úroles)Úselect)Úsqltypes)Ú_entity_namespace_key)ÚCompileState)ÚOptions)ÚDeleteDMLState)ÚInsertDMLState)ÚUpdateDMLState)Ú
EMPTY_DICT)ÚLiteral)ÚDMLStrategyArgument)ÚOrmExecuteOptionsParameter)ÚSynchronizeSessionArgument)ÚMapper)Ú_BindArguments)ÚORMExecuteState)ÚSession)ÚSessionTransaction)ÚInstanceState)Ú
Connection)Úcursor)Ú_CoreAnyExecuteParamsÚ_O)ÚboundÚuse_orm_insert_stmt.Úexecution_optionsc               ó<   € V ^8„  d   QhRRRRRRRRR	RR
RRRRRRR/	# )é   Úmapperú
Mapper[_O]Úmappingsú<Union[Iterable[InstanceState[_O]], Iterable[Dict[str, Any]]]Úsession_transactionr/   ÚisstatesÚboolÚreturn_defaultsÚrender_nullsr6   úLiteral[None]r7   ú$Optional[OrmExecuteOptionsParameter]ÚreturnÚNone© )Úformats   "ÚZ/var/www/html/bestweb/venv/lib/python3.14/site-packages/sqlalchemy/orm/bulk_persistence.pyÚ__annotate__rJ   K   sb   € ÷ 
ñ 
Øð
àJð
ð ,ð
ð
 ð
ð ð
ð ð
ð 'ð
ð <ð
ð 
ñ
ó    c               ó   € R # ©NrG   ©r:   r<   r>   r?   rA   rB   r6   r7   s   &&&$$$$$rI   Ú_bulk_insertrO   J   s   € ñ rK   c               ó<   € V ^8„  d   QhRRRRRRRRR	RR
RRRRRRR/	# )r9   r:   r;   r<   r=   r>   r/   r?   r@   rA   rB   r6   úOptional[dml.Insert]r7   rD   rE   zcursor.CursorResult[Any]rG   )rH   s   "rI   rJ   rJ   Y   sb   € ÷ 
#ñ 
#Øð
#àJð
#ð ,ð
#ð
 ð
#ð ð
#ð ð
#ð .ð
#ð <ð
#ð ñ
#rK   c               ó   € R # rM   rG   rN   s   &&&$$$$$rI   rO   rO   X   s   € ñ  #rK   Nc               ó<   € V ^8„  d   QhRRRRRRRRR	RR
RRRRRRR/	# )r9   r:   r;   r<   r=   r>   r/   r?   r@   rA   rB   r6   rQ   r7   rD   rE   z"Optional[cursor.CursorResult[Any]]rG   )rH   s   "rI   rJ   rJ   f   sm   € ÷ Uñ UØðUàJðUð ,ðUð
 ðUð ðUð ðUð .ðUð <ðUð (ñUrK   c               óœ  a a€ S P                   pVP                  P                  '       d   \        R 4      hV'       dˆ   \        '       d'   \        \        \        \        ,          ,          V4      pV'       d3   V U	u. uF  q™V	P                  3NK  	  p
p	V
 U	Uu. uF  w  r›VNK	  	  pp	pM�V U	u. uF  q™P                  NK  	  pp	Mr\        '       d-   \        \        \        \        \        3,          ,          V4      pV'       d   \        V4      pMV Uu. uF  p\        V4      NK  	  pp\        S V4       VP                  V4      oRpVP                   P#                  4        UUu. uF  w  rïVS P$                  9   g   K  Wï3NK  	  pppV'       d   RpM\'        V4      ^8”  d   RpMRpV Fï  w  ppVeE   VP)                  4        Uu. uF)  pVP*                  V^ ,          9   g   K  VP*                  NK+  	  upMRpVV 3R l\,        P.                  ! VVV 3R lV 4       RVVVR7       4       p\,        P0                  ! VRVVVVVVR7      pVf   K¦  VP2                  '       d   Vf   TpKÀ  VP4                  '       g   KÔ  V'       g   Q hVP7                  V4      pKñ  	  V'       do   V'       dg   S P8                  pS P:                   Uu. uF  pVP*                  NK  	  ppX
 F/  w  r›T\=        V Uu. uF  pVV,          NK  	  up4      R3V	n        K1  	  Ve	   Vf   Q hV# R# u up	i u upp	i u up	i u upi u uppi u upi u upi u upi )	zJconnection_callable / per-instance sharding not supported in bulk_insert()NTFc           	   3  óJ   <"  € T F  w  ppppppppR VVS
S	VVV3x € K  	  R # 5irM   rG   )Ú.0ÚstateÚ
state_dictÚparamsÚmpÚconnÚvalue_paramsÚhas_all_pksÚhas_all_defaultsÚ
connectionr:   s   &        €€rI   Ú	<genexpr>Ú_bulk_insert.<locals>.<genexpr>À   sQ   øé € ð 
ñ(ñ	ØØØØØØØØ ð# ØØØØØØØ õ	ó&ùs   ƒ #c              3  ó0   <"  € T F  pR VSS3x € K  	  R # 5irM   rG   ©rV   Úmappingr_   r:   s   & €€rI   r`   ra   Ö   s   øé € ÐMÁH¸�$˜ ¨Õ4ÃHùs   ƒ)ÚbulkrA   rB   Úinclude_bulk_keys)Úbookkeepingr6   r7   rG   )Úbase_mapperÚsessionÚconnection_callableÚNotImplementedErrorr	   r   r   r0   r4   Údictr   Ústrr   ÚlistÚ_expand_compositesr_   Ú_sorted_tablesÚitemsÚ_pks_by_tableÚlenÚ_get_embedded_bindparamsÚkeyr   Ú_collect_insert_commandsÚ_emit_insert_statementsÚ
_returningÚreturns_rowsÚsplice_horizontallyÚ_identity_classÚ_identity_key_propsÚtuple)r:   r<   r>   r?   rA   rB   r6   r7   rh   rW   ÚstatesÚdict_ÚmÚreturn_resultÚtablerZ   Úmappers_to_runrg   Úsuper_mapperÚbÚextra_bp_namesÚrecordsr   Úidentity_clsÚpÚidentity_propsru   r_   s   f&&$$$$$                   @rI   rO   rO   f   s  ù€ ð ×$Ñ$€Kà×"Ñ"×6×6Ð6Ü!ð-ó
ð 	
÷
 ß‹=ÜœH¤]´2Õ%6Õ7¸ÓBˆHçá7?Ó@±x¨e˜eŸj™jÓ)±xˆFÐ@Ù4:Ô;±F¡. 5›±FˆHÑ;ˆHá08Ó9± uŸ
œ
±ˆHÐ9ˆHç‹=ÜœH¤T¬#¬s¨(¥^Õ4°hÓ?ˆHçô ˜H“~‰Hñ *2Ó2© Aœ˜Qž©ˆHÐ2Ü˜6 8Ô,à$×/Ñ/°Ó<€Jà8<€Mð %×3Ñ3×9Ñ9Ô;ôá;‰IˆEØ�F×(Ñ(Ñ(ô 	ˆ‹Ù;ð ñ ÷ à‰Ü	ˆ^Ó	˜qÔ	 ð ‰àˆã-Ñˆˆ|ð #Ò.ð -×EÑEÔGóáG�AØ—5‘5˜H Q�KÑ'ô �—”ÙGòð ð 	õ
ô( ×5Ò5ØÝMÁHÓMØØ +Ø)Ø"0õó)
ˆô< ×4Ò4ØØØØØØ#Ø 3Ø/ô	
ˆð Ô*Ø&×1×1Ð1°]Ò5JØ &’Ø×$×$Ò$ß"Ð"�{Ø -× AÑ AÀ&Ó I’ñ  .÷B Ÿ8Ø×-Ñ-ˆØ)/×)CÒ)CÓDÑ)C A˜!Ÿ%œ%Ñ)CˆÐDÛ"‰LˆEàÜ©^Ó<©^ c�u˜S—z�z©^Ñ<Ó=ØðˆEŽIñ #ð Ò&ØÒ(Ð(Ð(ØÐñ 'ùòu AùÛ;ùâ9ùò( 3ùóùò4ùòt Eùò =s<   Á<L$ÂL)Â.L/ÄL4Å'L9ÆL9Ç	L?Ç(L?Ë
MË2M	Úuse_orm_update_stmtÚenable_check_rowcountTc               ó8   € V ^8„  d   QhRRRRRRRRR	RR
RRRRR/# )r9   r:   úMapper[Any]r<   r=   r>   r/   r?   r@   Úupdate_changed_onlyr‹   rC   rŒ   rE   rF   rG   )rH   s   "rI   rJ   rJ   ÿ   sX   € ÷ 	ñ 	Øð	àJð	ð ,ð	ð
 ð	ð ð	ð 'ð	ð  ð	ð 
ñ	rK   c               ó   € R # rM   rG   ©r:   r<   r>   r?   r�   r‹   rŒ   s   &&&$$$$rI   Ú_bulk_updater’   þ   s   € ñ rK   c               ó8   € V ^8„  d   QhRRRRRRRRR	RR
RRRRR/# )r9   r:   rŽ   r<   r=   r>   r/   r?   r@   r�   r‹   úOptional[dml.Update]rŒ   rE   z_result.Result[Any]rG   )rH   s   "rI   rJ   rJ     sX   € ÷ 	ñ 	Øð	àJð	ð ,ð	ð
 ð	ð ð	ð .ð	ð  ð	ð ñ	rK   c               ó   € R # rM   rG   r‘   s   &&&$$$$rI   r’   r’     s   € ñ rK   c               ó8   € V ^8„  d   QhRRRRRRRRR	RR
RRRRR/# )r9   r:   rŽ   r<   r=   r>   r/   r?   r@   r�   r‹   r”   rŒ   rE   zOptional[_result.Result[Any]]rG   )rH   s   "rI   rJ   rJ     sb   € ÷ Y%ñ Y%ØðY%àJðY%ð ,ðY%ð
 ðY%ð ðY%ð .ðY%ð  ðY%ð #ñY%rK   c               ó  a aa€ S P                   pS P                  oS P                  '       d'   S P                  P                  0P	                  S4      oV3R  lpV'       d<   V'       d   V U	u. uF  q˜! S V	4      NK  	  pp	MAV U	u. uF  q™P
                  NK  	  pp	M&V U
u. uF  p
\        V
4      NK  	  pp
\        S V4       VP                  P                  '       d   \        R4      hVP                  V4      oVeE   VP                  4        Uu. uF)  pVP                  V^ ,          9   g   K  VP                  NK+  	  upMRpVP                  P                  4        Ft  w  rÞS P                  V4      '       d   VS P                  9  d   K/  \         P"                  ! RVVV 3R lV 4       RVVR7      p\         P$                  ! VRVVVRVVR7       Kv  	  Ve   \&        P(                  ! 4       # R# u up	i u up	i u up
i u upi )	c                óž   <€ VP                   P                  4        UUu/ uF   w  r#W!P                  9   g
   VS9   g   K  W#bK"  	  upp# u uppi rM   )rl   rq   Úcommitted_state)r:   rW   ÚkÚvÚsearch_keyss   &&  €rI   Ú_changed_dictÚ#_bulk_update.<locals>._changed_dict(  sP   ø€ ð Ÿ
™
×(Ñ(Ô*ô
á*‘�Ø×)Ñ)Ô)¨Q°+Ñ-=ô ˆAŠDÙ*ò
ð 	
ùó 
s
   ŸA	¿A	zJconnection_callable / per-instance sharding not supported in bulk_update()Nc              3  ó�   <"  € T F;  pR TSSSP                   '       d   VSP                   P                  ,          MR 3x € K=  	  R # 5irM   )Ú_version_id_propru   rc   s   & €€rI   r`   Ú_bulk_update.<locals>.<genexpr>S  sQ   øé € ð ñ  (�Gð ØØØð "×2×2Ð2ð   × 7Ñ 7× ;Ñ ;Ö<à!õ
ó  (ùs
   ƒAž(AT)re   r‹   rf   F)rg   r‹   rŒ   rG   )rh   Ú_primary_key_propkeysr    ru   Úunionrl   ro   ri   rj   rk   r_   rt   rp   rq   Úisarr   r   Ú_collect_update_commandsÚ_emit_update_statementsÚ_resultÚnull_result)r:   r<   r>   r?   r�   r‹   rŒ   rh   r�   rW   r€   r…   r†   r‚   r„   r‡   r_   rœ   s   f&&$$$$         @@rI   r’   r’     só  ú€ ð ×$Ñ$€Kà×.Ñ.€KØ××ÐØ×.Ñ.×2Ñ2Ð3×9Ñ9¸+ÓFˆõ
÷ ßÙBJÓKÁ(¸˜ f¨eÖ4Á(ˆHÐKˆHá08Ó9± uŸ
œ
±ˆHÐ9ˆHá%-Ó.¡X ”D˜–G¡XˆÐ.Ü˜6 8Ô,à×"Ñ"×6×6Ð6Ü!ð-ó
ð 	
ð
 %×/Ñ/°Ó<€Jð Ò*ð )×AÑAÔCó	
áC�Ø�u‰u˜ �Ñ#ô ˆA�EŒEÙCò	
ð ð ð  +×9Ñ9×?Ñ?ÖAÑˆØ�z‰z˜,×'Ò'¨5¸×8LÑ8LÔ+LÙä×6Ò6ØØõñ  (óð Ø 3Ø,ô'
ˆô* 	×+Ò+ØØØØØØØ 3Ø"7÷		
ñ3  BðH Ò&Ü×"Ò"Ó$Ð$ñ 'ùò Lùâ9ùâ.ùò	
s   Á.G2ÂG7Â!G<ÄHÄ0Hc                ó  € V P                   pV'       g   R # \        VP                  4       4      pV Uu/ uF  pWBV,          P                  4       bK  	  ppV F)  pVP	                  V4       F  pWT,          ! V4       K  	  K+  	  R # u upi rM   )Ú
compositesÚsetÚkeysÚ)_populate_composite_bulk_save_mappings_fnÚintersection)r:   r<   Úcomposite_attrsÚcomposite_keysru   Ú
populatorsrd   s   &&     rI   ro   ro   t  s‰   € Ø×'Ñ'€OßÙä˜×-Ñ-Ó/Ó0€Nñ "óá!ˆCð 	˜SÕ!×KÑKÓMÒMÙ!ð ð ó ˆØ!×.Ñ.¨wÖ7ˆCØŽO˜GÖ$ó 8ó ùò	s   ´ Bc                  ó¨   € ] tR tRt$ RtRtR]R&   ]R 4       t]R 4       t	]R 4       t
]R	 4       t]R
 4       t]R 4       tRR/R lt]R 4       tRtR# )ÚORMDMLStateiƒ  TNz&Optional[ORMFromStatementCompileState]Úfrom_statement_ctxc           	   #  	óf  "  € \         P                  pV EF‘  w  rg\        P                  ! \        P
                  V4      p\        V\        4      '       d­   \        W\        R 7      pV\        J do   \        P                  ! \        P
                  V4      V'       d<   \        P                  ! \        P                  V\        P                  ! 4       RR7      MT3x € KÊ  V! VVP                  V4      V4       Rj  x€L
  Kí  RVP                  9   dK   VP                  p	\        V	R,          V	R,          4      p
V! VV
P                  V4      V4       Rj  x€L
  EKH  TV'       g   TM:\        P                  ! \        P                  V\        P                  ! 4       RR7      3x € EK”  	  R#  L± LY5i))ÚdefaultT)Útype_Úis_crudNÚentity_namespaceÚ	proxy_key)r%   Ú_get_crud_kv_pairsr   Úexpectr   ÚDMLColumnRoleÚ
isinstancerm   r    r   ÚExpressionElementRoler   ÚNullTypeÚ_bulk_update_tuplesÚ_annotations)Úclsr:   Ú	statementÚkv_iteratorÚneeds_to_be_cacheableÚcore_get_crud_kv_pairsrš   r›   ÚdescÚk_annoÚattrs   &&&&&      rI   Ú_get_orm_crud_kv_pairsÚ"ORMDMLState._get_orm_crud_kv_pairs‡  s{  é € ô "0×!BÑ!BÐä‰DˆAÜ× Ò ¤×!4Ñ!4°aÓ8ˆAä˜!œS×!Ò!Ü,¨VÄÔI�Øœ8Ó#ä!×(Ò(¬×)<Ñ)<¸aÓ@÷  5ô &×,Ò,Ü %× ;Ñ ;Ø !Ü&.×&7Ò&7Ó&9Ø(,õ	ð "#ðô ñ  6Ø!Ø×0Ñ0°Ó3Ø-ó ÷ ò ð
 $ q§~¡~Ô5ØŸ™�Ü,ØÐ-Õ.°°{Õ0Có�ñ 2ØØ×,Ñ,¨QÓ/Ø)ó÷ ó ð ÷  5ñ ä&×-Ò-Ü!×7Ñ7ØÜ"*×"3Ò"3Ó"5Ø$(ô	ðõ óI  ñ(ñùs3   ‚BF1ÂAF1Ã;F-Ã<AF1ÅF/ÅF1Å&AF1Æ/F1c                	ó¶   € VP                   P                  P                  R 4      pV'       d*   VP                  '       d   VVP                  R ,          Jd   R# V# )Úplugin_subjectN)r‚   Ú_propagate_attrsÚgetr:   )rÃ   rÄ   rÎ   s   && rI   Ú_get_dml_plugin_subjectÚ#ORMDMLState._get_dml_plugin_subject¿  sQ   € à"Ÿ™×9Ñ9×=Ñ=Ð>NÓOˆ÷ Ø!×(×(Ð(ØØ×-Ñ-Ð.>Õ?ó@ñ ØÐrK   c                	óò   € V P                  V4      pV'       g   \        P                  ! W4      # V Uu. uF7  p\        V P	                  VP
                  WP                  4       R 4      4      NK9  	  up# u upi )F)rÑ   r%   Ú_get_multi_crud_kv_pairsrl   rË   r:   rq   )rÃ   rÄ   rÅ   rÎ   Ú
value_dicts   &&&  rI   rÔ   Ú$ORMDMLState._get_multi_crud_kv_pairsÌ  s   € à×4Ñ4°YÓ?ˆçÜ!×:Ò:Øóð ñ *ó
ñ *�
ô Ø×*Ñ*Ø"×)Ñ)¨9×6FÑ6FÓ6HÈ%óöñ
 *ñ
ð 	
ùò 
s   ´=A4c                	óÎ   € V'       g   Q R 4       hV P                  V4      pV'       g   \        P                  ! WV4      # \        V P	                  VP
                  VVV4      4      # )z0no test coverage for needs_to_be_cacheable=False)rÑ   r%   r»   rn   rË   r:   )rÃ   rÄ   rÅ   rÆ   rÎ   s   &&&& rI   r»   ÚORMDMLState._get_crud_kv_pairsÞ  st   € ÷ "ð	>à=ó	>Ø!ð ×4Ñ4°YÓ?ˆçÜ!×4Ò4ØÐ(=óð ô Ø×&Ñ&Ø×%Ñ%ØØØ%ó	ó
ð 	
rK   c           
     	ó&  € VP                   P                  R ,          pVP                  pVP                  '       d   VP                  pMVP
                  P                  pRVRVP
                  RVP                  RVP                  RVP                  /# )ÚparententityÚnameÚtypeÚexprÚentityr‚   )	r‚   rÂ   r:   Úis_aliased_classrÛ   Úclass_Ú__name__rÞ   Úlocal_table)rÃ   rÄ   Úext_infor:   Ú_label_names   &&   rI   Úget_entity_descriptionÚ"ORMDMLState.get_entity_descriptionó  sz   € à—?‘?×/Ñ/°Õ?ˆØ—‘ˆØ×$×$Ð$Ø"Ÿ-™-‰Kà Ÿ-™-×0Ñ0ˆKð �KØ�F—M‘MØ�H—O‘OØ�h—o‘oØ�V×'Ñ'ð
ð 	
rK   c                	ó  € R  pR pVP                    Uu. uF  qDV! V4      3NK  	  up UUu. uF?  w  rERVP                  RVP                  RV! WE4      RVP                  RVP                  /NKA  	  upp# u upi u uppi )c                ó:   € V P                   P                  R R4      # )rÚ   N)rÂ   rÐ   )Úcs   &rI   Ú_ent_for_colÚCORMDMLState.get_returning_column_descriptions.<locals>._ent_for_col  s   € Ø—>‘>×%Ñ% n°dÓ;Ð;rK   c                ó†   € Vf   V # V P                   P                  RR 4      pV'       g   V # \        VP                  W 4      # )Nrº   )rÂ   rÐ   ÚgetattrrÞ   )ré   Úentrº   s   && rI   Ú_attr_for_colÚDORMDMLState.get_returning_column_descriptions.<locals>._attr_for_col	  s;   € ØŠ{Ø�ØŸ™×*Ñ*¨;¸Ó=ˆIßØ�ä˜sŸz™z¨9Ó8Ð8rK   rÛ   rÜ   rÝ   ÚaliasedrÞ   )Ú_all_selected_columnsru   rÜ   rß   rÞ   )rÃ   rÄ   rê   rï   ré   rî   s   &&    rI   Ú!get_returning_column_descriptionsÚ-ORMDMLState.get_returning_column_descriptions  s’   € ò	<ò	9ð$ /8×.MÒ.MóÙ.M¨‘L “OÓ$Ñ.Mòô
ñ‘�ð ˜Ÿ™Ø˜Ÿ™Ø™ aÓ-Ø˜3×/Ñ/Ø˜#Ÿ*™*óñò
ð 	
ùòùó
s   •A6­AA;Úuse_supplemental_colsc               óZ  € VP                   '       Ed   \        VP                   VRR7      pVP                  ! R/ VP                  B pVP                  ! VP
                  !  pW`n        \        P                  ! Wa4      ;V n	        pVP                  V4       VP                  4       pRVn         VP                   Uu. uF
  qˆf   K  VNK  	  p	pV	'       g   V	P                  VP                  4       V'       d   VP                  ! VP                  RV	/ pV# VP                   ! V	!  pV# u upi )a<  establish ORM column handlers for an INSERT, UPDATE, or DELETE
which uses explicit returning().

called within compilation level create_for_statement.

The _return_orm_returning() method then receives the Result
after the statement was executed, and applies ORM loading to the
state that we first established here.

F)Ú_adapt_on_namesÚsupplemental_colsrG   )rx   r   r7   Ú_execution_optionsÚoptionsÚ_with_optionsÚselect_statementr   Úcreate_for_statementr´   Ú!setup_dml_returning_compile_stateÚ	_generateÚprimary_columnsÚextendÚprimary_keyrA   Ú	returning)
ÚselfÚcompilerÚorm_level_statementÚdml_level_statementÚ
dml_mapperrõ   ÚfsÚfscré   Úcols_to_returns
   &&&&&$    rI   Ú_setup_orm_returningÚ ORMDMLState._setup_orm_returning  s.  € ð( ×)×)Ñ)ÜØ#×.Ñ.Ø#Ø %ôˆBð
 ×%Ò%ÑOÐ(;×(NÑ(NÑOˆBØ—’Ð0×>Ñ>Ñ?ˆBØ$&Ô!ä,×AÒAÀ"ÓOðˆDÔ# cð ×1Ñ1°*Ô=à"5×"?Ñ"?Ó"AÐØ-/ÐÔ*à),×)<Ò)<ÓNÑ)< AŸa˜aÑ)<ˆNÐN÷ "Ø×%Ñ% j×&<Ñ&<Ô=ç$Ø&9×&IÒ&Ið  ×+Ñ+ð'ð '5ñ'Ð#ð( #Ð"ð	 ':×&CÒ&CØ#ñ'Ð#ð #Ð"ùò9 Os   Â;D(ÃD(c           
     	ór  € VP                   pVP                  P                  pVP                  '       dƒ   VP                  P                  P
                  '       g]   VP                  R \        P                  4      p	\        VP                  VP                  VVVV	VV4      p
\        P                  ! Wj4      # V# )Ú_sa_orm_load_options)r   ÚcompiledÚcompile_stater´   Úcompile_optionsÚ_is_starrÐ   r   Údefault_load_optionsrü   r   Ú	instances)rÃ   ri   rÄ   rY   r7   Úbind_argumentsr   Úexecution_contextr  Úload_optionsÚquerycontexts   &&&&&&&    rI   Ú_return_orm_returningÚ!ORMDMLState._return_orm_returningb  s¨   € ð #ŸN™NÐØ)×2Ñ2×@Ñ@ˆð ×,×,Ð,Ø!×4Ñ4×DÑD×M×MÐMà,×0Ñ0Ø&¬×(IÑ(IóˆLô (Ø×0Ñ0Ø×.Ñ.ØØØØØ!Øó	ˆLô ×$Ò$ VÓ:Ð:àˆMrK   )r´   rü   )rá   Ú
__module__Ú__qualname__Ú__firstlineno__Úis_dml_returningr´   Ú__annotations__ÚclassmethodrË   rÑ   rÔ   r»   rå   ró   r  r  Ú__static_attributes__rG   rK   rI   r³   r³   ƒ  s±   ‡ ØÐØAEÐÐ>ÓEàñ5ó ð5ðn ñ
ó ð
ð ñ
ó ð
ð" ñ
ó ð
ð( ñ
ó ð
ð  ñ
ó ð
ð4A#ð #ôA#ðF ñ ó ô rK   r³   c            	      ó  € ] tR tRt ! R R]4      t]RRRRRRRR/R	 R
 ll4       t]R 4       t]R 4       t	]R 4       t
]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       tRtR# )ÚBulkUDCompileStatei†  c                  ó˜   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R	&   RtR]R
&   Rt	R]R&   Rt
R]R&   RtR]R&   ]tRtRtRtRtR]R&   RtR# )Ú)BulkUDCompileState.default_update_optionsi‡  Úautor(   Ú_dml_strategyr*   Ú_synchronize_sessionFr@   Ú_can_use_returningÚ_is_delete_usingÚ_is_update_fromTÚ
_autoflushNúOptional[Mapper[Any]]Ú_subject_mapperÚ_populate_existingrG   )rá   r  r  r  r(  r   r)  r*  r+  r,  r-  r/  r&   Ú_resolved_valuesÚ_eval_conditionÚ_matched_rowsÚ_identity_tokenr0  r"  rG   rK   rI   Údefault_update_optionsr&  ‡  sn   ‡ Ø-3ˆÐ*Ó3Ø;AÐÐ8ÓAØ#(Ð˜DÓ(Ø!&Ð˜$Ó&Ø %ˆ˜Ó%Øˆ
�DÓØ15ˆÐ.Ó5Ø%ÐØˆØˆØˆØ#(Ð˜D×(rK   r5  Úis_multitableFÚis_update_fromÚis_delete_usingÚis_executemanyc               ó4   € V ^8„  d   QhRRRRRRRRRRR	RR
R/# ©r9   Údialectr   r:   rŽ   r6  r@   r7  r8  r9  rE   rG   )rH   s   "rI   rJ   ÚBulkUDCompileState.__annotate__–  sP   € ÷ 
$ñ 
$àð
$ð ð
$ð
 ð
$ð ð
$ð ð
$ð ð
$ð 
ñ
$rK   c               	ó   € \        4       hrM   )rk   )rÃ   r<  r:   r6  r7  r8  r9  s   &&&$$$$rI   Úcan_use_returningÚ$BulkUDCompileState.can_use_returning•  s   € ô "Ó#Ð#rK   c                	ó(  € \         P                  P                  R 0 RmVVP                  4      w  ppW%R&    VP                  R,          pV'       d%   VP
                  VR&   VRVP
                  /,          pR
TP                  P                  9  d   TRR/,          pMw\        T\        4      '       gF   TP                  R8X  d   TRR/,          pMDTP                  R8X  d   \        P                  ! R4      hMTP                  R8X  d   TRR/,          pTP                  p	T	eL   T	R9  d   \        P                  ! R4      hTP                  R8X  d   T	R8X  d   \        P                  ! R4      hT'       Eg^   TP                   '       d   TP!                  4        TP                  R8X  dy   TP                  R8X  d   T P#                  TTTTTT4      pM}TP                  R8X  d   T P%                  TTTTTT4      pMUTP                  R8X  d   T P'                  TTTTTT4      pM-TP                  R8X  d   TP                  R8X  d   TRR/,          pTP)                  RTP                  RTP*                  RTP,                  RTP                  RTP.                  /4      pT'       g   \0        P2                  pMTP5                  \0        P2                  4      pT\6        P8                  ! T4      P5                  R T/4      3#   \         d	    Q R	4       hi ; i)Ú_sa_orm_update_optionsÚsynchronize_sessionr8  r7  Údml_strategyÚclauserÎ   r:   r/  ú0statement had 'orm' plugin but no plugin_subjectrÚ   r(  Ú	core_onlyr'  Úormre   úHCan't use "bulk" ORM insert strategy without passing separate parametersÚevaluateÚfetchzSValid strategies for session synchronization are 'auto', 'evaluate', 'fetch', FalsezkThe 'fetch' synchronization strategy is not available for 'bulk' ORM updates (i.e. multiple parameter sets)r)  r?  >   Ú	autoflushrD  Úidentity_tokenr7  r8  Úpopulate_existingrC  )r'  rJ  rK  F)r$  r5  Úfrom_execution_optionsrù   rÏ   r:   ÚKeyErrorr‚   rÂ   r¾   rn   r(  Úsa_excÚInvalidRequestErrorr)  ÚArgumentErrorr-  Ú_do_pre_synchronize_autoÚ_do_pre_synchronize_evaluateÚ_do_pre_synchronize_fetchÚ	_annotater+  r,  r*  r   Ú_orm_load_exec_optionsr£   r   Úimmutabledict)
rÃ   ri   rÄ   rY   r7   r  Úis_pre_eventÚupdate_optionsrÎ   Úsyncs
   &&&&&&&   rI   Úorm_pre_session_execÚ'BulkUDCompileState.orm_pre_session_exec¢  s4  € ô ×5Ñ5×LÑLØ$òð Ø×(Ñ(ó
ñ	
ØØð $-�xÑ ð	MØ&×7Ñ7Ð8HÕIˆN÷ Ø+9×+@Ñ+@�˜xÑ(ØÐ#4°n×6KÑ6KÐ"LÕL�à §¡×!=Ñ!=Ô=Ø˜°Ð<Õ<‰NÜ˜F¤D×)Ò)Ø×+Ñ+¨vÔ5Ø ?°EÐ":Õ:‘Ø×-Ñ-°Ô7Ü×0Ò0ð2óð ð 8ð ×+Ñ+¨vÔ5Ø ?°FÐ";Õ;�à×2Ñ2ˆØÒØÐ?Ô?Ü×*Ò*ð=óð ð ×+Ñ+¨vÔ5¸$À'¼/Ü×0Ò0ðLóð ÷
 ˆ|Ø×(×(Ð(Ø×"Ñ"Ô$à×+Ñ+¨uÔ4Ø!×6Ñ6¸&Ô@Ø%(×%AÑ%AØØ!ØØ)Ø&Ø&ó&‘Nð $×8Ñ8¸JÔFØ%(×%EÑ%EØØ!ØØ)Ø&Ø&ó&‘Nð $×8Ñ8¸GÔCØ%(×%BÑ%BØØ!ØØ)Ø&Ø&ó&�Nøð  ×-Ñ-°Ô7Ø!×6Ñ6¸&Ô@Ø"Ð'=¸zÐ&JÕJ�Nð "×+Ñ+à)¨>×+NÑ+NØ% ~×'FÑ'FØ$ n×&DÑ&DØ" N×$@Ñ$@Ø'¨×)JÑ)JðóˆI÷& %Ü$+×$BÑ$BÑ!à$5×$;Ñ$;Ü×2Ñ2ó%Ð!ð
 Ü×ÒÐ0Ó1×7Ñ7Ø)¨>Ð:óð
ð 	
øôI ô 	MØLÐLÓL�5ð	Mús   ·K> Ë>Lc                	ó^  € VR ,          pVP                   R8X  dI   VP                  R8X  d   V P                  WWg4       MZVP                  R8X  d   V P                  WWg4       M6VP                   R8X  d&   VP                  R8X  d   V P	                  WWg4       V# V P                  VVVVVV4      # )rB  rH  rJ  rK  re   )r(  r)  Ú_do_post_synchronize_evaluateÚ_do_post_synchronize_fetchÚ"_do_post_synchronize_bulk_evaluater  )rÃ   ri   rÄ   rY   r7   r  r   r[  s   &&&&&&& rI   Úorm_setup_cursor_resultÚ*BulkUDCompileState.orm_setup_cursor_result+  s¿   € ð$ +Ð+CÕDˆØ×'Ñ'¨5Ô0Ø×2Ñ2°jÔ@Ø×1Ñ1Ø¨õð  ×4Ñ4¸Ô?Ø×.Ñ.Ø¨ôøð ×)Ñ)¨VÔ3Ø×2Ñ2°jÔ@Ø×6Ñ6Ø Vôð ˆMà×(Ñ(ØØØØØØó
ð 	
rK   c                ó  aa€ RpSP                   '       d   SP                  MRoRSP                  3V9   d`   T\        ;QJ d*    . V3R lVRSP                  3,           4       F  NK  	  5M#! V3R lVRSP                  3,           4       4      ,          pSP                  P                  e   VSP                  P                  3,          pS'       d3   \        ;QJ d    . V3R lV 4       F  NK  	  5M! V3R lV 4       4      pV# )a]  Apply extra criteria filtering.

For all distinct single-table-inheritance mappers represented in the
table being updated or deleted, produce additional WHERE criteria such
that only the appropriate subtypes are selected from the total results.

Additionally, add WHERE criteria originating from LoaderCriteriaOptions
collected from the statement.

NÚadditional_entity_criteriac              3  óŽ   <"  € T F:  pVP                   '       g   VP                  SJ g   K'  VP                  S4      x € K<  	  R # 5irM   )Úinclude_aliasesrÞ   Ú_resolve_where_criteria)rV   Úaerã   s   & €rI   r`   Ú@BulkUDCompileState._adjust_for_extra_criteria.<locals>.<genexpr>l  sE   øé € ð !ñ�Bð ×%×%Ð%¨¯©°hÐ)>ô	 5�×*Ñ*¨8×4Ð4óùs   ƒAšA¬Ac              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5irM   )Útraverse)rV   ÚcritÚadapters   & €rI   r`   rk  x  s   øé € ÐOÁ;¸4 × 0Ñ 0°× 6Ð 6Ã;ùs   ƒ!rG   )rß   Ú_adapterr:   r}   Ú_single_table_criterion)rÃ   Úglobal_attributesrã   Úreturn_critro  s   &&f @rI   Ú_adjust_for_extra_criteriaÚ-BulkUDCompileState._adjust_for_extra_criteriaW  sâ   ù€ ð ˆà'/×'@×'@Ð'@�(×#Ò#Àdˆð )Ø�O‰Oð
ð ôð Ÿ5œ5ô !à+Ø1°8·?±?ÐCöó!Ÿ5™5ô !à+Ø1°8·?±?ÐCöó!ó õ ˆKð �?‰?×2Ñ2Ò>Ø˜HŸO™O×CÑCÐEÕEˆKçßœ%ÔOÁ;ÓOŸ%™%ÔOÁ;ÓOÓOˆKàÐrK   c                ó.  €  VP                   VP                  P                   Jd'   VP                  VP                   P                  4      pMVP                  VP                  4      p V Uu. uF
  qT! V4      NK  	  up#   \         d    . u # i ; iu upi )a‚  return rows that indicate PK cols in mapper.primary_key position
for RETURNING rows.

Prior to 2.0.36, this method seemed to be written for some kind of
inheritance scenario but the scenario was unused for actual joined
inheritance, and the function instead seemed to perform some kind of
partial translation that would remove non-PK cols if the PK cols
happened to be first in the row, but not otherwise.  The joined
inheritance walk feature here seems to have never been used as it was
always skipped by the "local_table" check.

As of 2.0.36 the function strips away non-PK cols and provides the
PK cols for the table in mapper PK order.

)râ   rh   Ú_tuple_getterr  rP  )rÃ   r   r:   ÚrowsÚpk_keysÚrows   &&&&  rI   Ú_interpret_returning_rowsÚ,BulkUDCompileState._interpret_returning_rows|  sŒ   € ð$	Ø×!Ñ!¨×);Ñ);×)GÑ)GÓGð
 !×.Ñ.¨v×/AÑ/A×/MÑ/MÓN‘à ×.Ñ.¨v×/AÑ/AÓB‘ñ )-Ó-© �˜–©Ñ-Ð-øô ô 	ð ŠIð		üò .s   ‚A	A? ÁA? Á,BÁ?BÂBc                	ó:  € VP                   pVP                  pV Uu. uFV  pVP                  P                  V4      '       g   K&  VP                  '       d   K:  VP                  4       WUP                  3NKX  	  ppVP                  pVe.   V UUU	u. uF  w  r…p	VP                  V8X  g   K  W…V	3NK  	  pppp	. p
V FO  w  r…p	V! V4      pVRJ g   V\        P                  J g   K*  V
P                  VVV	V\        P                  J 34       KQ  	  V
# u upi u up	ppi )NT)r/  r2  r:   r¤   ÚexpiredÚobjrl   r4  rM  r   Ú_EXPIRED_OBJECTÚappend)rÃ   r[  r~   r:   Úeval_conditionrW   Úraw_datarM  r  r   r   Úevaled_conditions   &&&         rI   Ú _get_matched_objects_on_criteriaÚ3BulkUDCompileState._get_matched_objects_on_criteriaŸ  s+  € à×/Ñ/ˆØ'×7Ñ7ˆñ  ó
á�Ø�|‰|×Ñ ×'ô -à05·µô -ˆU�Y‰Y‹[˜%§¡Ó,Ùð 	ð 
ð (×7Ñ7ˆØÒ%ñ *2õá)1Ñ%�C Ø×'Ñ'¨>Ñ9ô $�˜UÓ#Ù)1ð ò ð ˆÛ!)ÑˆC˜Ù-¨cÓ2Ðð
 ! DÓ(Ø#¤y×'@Ñ'@Õ@à—‘àØØØ(¬I×,EÑ,EÐEð	öñ "*ð" ˆùòA
ùôs   �#DÁDÁ DÂDÂ,Dc                	óž  € VP                   pVP                  p\        P                  ! V4      pRpVP                  '       d   WbP                  ,          p/ pVP
                   F(  pVP                  '       g   K  VP                  V4       K*  	  V'       d   W`P                  Ws4      ,          pV'       d   VP                  ! V!  p	V	# R  p
T
p	V	# )c                ó   € R # )TrG   )r  s   &rI   r2  ÚJBulkUDCompileState._eval_condition_from_statement.<locals>._eval_conditionÜ  s   € ÙrK   rG   )
r/  rà   r   Ú_EvaluatorCompilerÚ_where_criteriarû   Ú_is_criteria_optionÚget_global_criteriart  Úprocess)rÃ   r[  rÄ   r:   Ú
target_clsÚevaluator_compilerrn  rr  Úoptr‚  r2  s   &&&        rI   Ú_eval_condition_from_statementÚ1BulkUDCompileState._eval_condition_from_statementÆ  s½   € à×/Ñ/ˆØ—]‘]ˆ
ä&×9Ò9¸*ÓEÐØˆØ×$×$Ð$Ø×-Ñ-Õ-ˆDàÐØ×*Ô*ˆCØ×&×&Ò&Ø×'Ñ'Ð(9Ö:ñ +÷ Ø×2Ñ2Ð3DÓMÕMˆDçØ/×7Ò7¸Ñ>ˆNð Ðòð -ˆNàÐrK   c                ó¸   €  V P                  Wb4      pVRVRR/,           #   \        P                   d     Mi ; iTRR/,          pT P                  TTTTTT4      # )aŒ  setup auto sync strategy


"auto" checks if we can use "evaluate" first, then falls back
to "fetch"

evaluate is vastly more efficient for the common case
where session is empty, only has a few objects, and the UPDATE
statement can potentially match thousands/millions of rows.

OTOH more complex criteria that fails to work with "evaluate"
we would hope usually correlates with fewer net rows.

r2  r)  rJ  rK  )r’  r   ÚUnevaluatableErrorrV  )rÃ   ri   rÄ   rY   r7   r  r[  r‚  s   &&&&&&& rI   rT  Ú+BulkUDCompileState._do_pre_synchronize_autoã  s‰   € ð2	Ø ×?Ñ?ØóˆNð "Ø! >Ø&¨
ð%õ ð øô ×+Ñ+ô 	Ùð	úð 	Ð1°7Ð;Õ;ˆØ×,Ñ,ØØØØØØó
ð 	
s   ‚   8·8c                	ó²   €  V P                  Wb4      pTRT/,           #   \        P                   d$   p\        P                  ! R T,          4      ThRp?ii ; i)z{Could not evaluate current criteria in Python: "%s". Specify 'fetch' or False for the synchronize_session execution option.Nr2  )r’  r   r•  rQ  rR  )	rÃ   ri   rÄ   rY   r7   r  r[  r‚  Úerrs	   &&&&&&&  rI   rU  Ú/BulkUDCompileState._do_pre_synchronize_evaluate  sp   € ð
	Ø ×?Ñ?ØóˆNð Ø˜~ð!
õ 
ð 	
øô ×+Ñ+ô 	Ü×,Ò,ð8à:=õ>óð ð	ûð	ús   ‚ žA³AÁAc                	óæ   € VP                   '       d   . # VP                  '       d   \        VP                  4      # VP                  '       d$   \        VP                  P	                  4       4      # . # rM   )Ú_multi_valuesÚ_ordered_valuesrn   Ú_valuesrq   )rÃ   r:   rÄ   s   &&&rI   Ú_get_resolved_valuesÚ'BulkUDCompileState._get_resolved_values-  s[   € à×"×"Ð"ØˆIØ×&×&Ð&Ü˜	×1Ñ1Ó2Ð2Ø××ÐÜ˜	×)Ñ)×/Ñ/Ó1Ó2Ð2àˆIrK   c                	óD  € . pV F{  w  rEV'       dT   \        V\        P                  4      '       d4    VP                  V,          pVP	                  VP
                  V34       K`  \        P                  ! R V,          4      h	  V#   \        P                   d     K™  i ; i)zCAttribute name not found, can't be synchronized back to objects: %r)
r¾   r   ÚColumnElementÚ_columntopropertyr�  ru   Úorm_excÚUnmappedColumnErrorrQ  rR  )rÃ   r:   Úresolved_valuesÚvaluesrš   r›   rÊ   s   &&&    rI   Ú_resolved_keys_as_propnamesÚ.BulkUDCompileState._resolved_keys_as_propnames8  s”   € àˆÛ#‰DˆAßœ* Q¬
×(@Ñ(@×AÒAð1Ø!×3Ñ3°AÕ6�Dð —M‘M 4§8¡8¨Q -Ö0ä×0Ò0ð7Ø9:õ;óð ñ $ð ˆøô ×2Ñ2ô Úðús   ³BÂBÂBc                	ó^  a aaa€ SP                   o\        SP                  SP                  3,           !  P	                  S4      P
                  ! VP                  !  pVP                  Vn        R oR VV VV3R llpVP                  VVVVVR7      p	V	P                  4       p
SRV
RS/,           # )Nc               ó    € V ^8„  d   QhRRRR/# )r9   Úorm_contextr-   rE   r   rG   )rH   s   "rI   rJ   ÚBBulkUDCompileState._do_pre_synchronize_fetch.<locals>.__annotate__l  s   € ÷ 	ñ 	¨Oð 	Àñ 	rK   c                ó²  <€ V P                   P                  ! R/ V P                  B pSP                  VP                  SSP
                  SP                  V P                  R 7      pSe   SV8w  d   \        P                  ! R4      hM2V P                  '       d   V'       g   \        P                  ! R4      hVoV'       d   \        P                  ! 4       # R# ))r7  r8  r9  NzjFor synchronize_session='fetch', can't mix multiple backends where some support RETURNING and others don'tz‚For synchronize_session='fetch', can't use multiple parameter sets in ORM mode, which this backend does not support with RETURNINGrG   )ri   Úget_bindr  r?  r<  r,  r+  r9  rQ  rR  r§   r¨   )r«  ÚbindÚper_bind_resultr?  rÃ   r:   r[  s   &  €€€€rI   Úskip_for_returningÚHBulkUDCompileState._do_pre_synchronize_fetch.<locals>.skip_for_returningl  sÐ   ø€ Ø×&Ñ&×/Ò/ÑM°+×2LÑ2LÑMˆDð "×3Ñ3Ø—‘ØØ-×=Ñ=Ø .× ?Ñ ?Ø*×9Ñ9ð 4ó ˆOð !Ò,Ø$¨Ô7Ü ×4Ò4ð óð ð 8ð ×+×+Ð+·OÜ×0Ò0ð-óð ð %4Ð!çÜ×*Ò*Ó,Ð,árK   )r7   r  Ú
_add_eventr3  r*  )
r/  r   r  Úselect_identity_tokenÚselect_fromrú   rû   r‹  ÚexecuteÚfetchall)rÃ   ri   rÄ   rY   r7   r  r[  Úselect_stmtr±  r   Úmatched_rowsr?  r:   s   f&&&&&f    @@rI   rV  Ú,BulkUDCompileState._do_pre_synchronize_fetchJ  sÇ   û€ ð  ×/Ñ/ˆô �V×'Ñ'¨6×+GÑ+GÐ*IÕIÑKß‰[˜Ó ß‰Wðà×-Ñ-ñ/ð 	ð
 '0×&?Ñ&?ˆÔ#ð !Ð÷	ó 	ðB —‘ØØØ/Ø)Ø)ð !ó 
ˆð —‘Ó(ˆàØ˜\Ø Ð"3ð!
õ 
ð 	
rK   rG   N)rá   r  r  r  r"   r5  r!  r?  r]  rc  rt  r{  r…  r’  rT  rU  rž  r§  rV  r"  rG   rK   rI   r$  r$  †  s0  † ô) ô )ð ð
$ð
 $ð
$ð  %ð
$ð !&ð
$ð  %ö
$ó ð
$ð ñF
ó ðF
ðP ñ)
ó ð)
ðV ñ"ó ð"ðH ñ .ó ð .ðD ñ$ó ð$ðL ñó ðð8 ñ-
ó ð-
ð^ ñ
ó ð
ð2 ñó ðð ñó ðð" ñN
ó ôN
rK   r$  rH  Úinsertc                  ó    a € ] tR tRt$  ! R R]4      tRtR]R&   ]R 4       t	]R R	 l4       t
]R
 V 3R ll4       t]R 4       tR tR tRtV ;t# )ÚBulkORMInsertiœ  c                  ól   € ] tR tRt$ RtR]R&   RtR]R&   RtR]R&   R	tR
]R&   Rt	R]R&   Rt
R]R&   RtR	# )Ú$BulkORMInsert.default_insert_optionsiž  r'  r(   r(  Fr@   Ú_render_nullsÚ_return_defaultsNr.  r/  Tr-  r0  rG   )rá   r  r  r  r(  r   rÀ  rÁ  r/  r-  r0  r"  rG   rK   rI   Údefault_insert_optionsr¿  ž  sB   ‡ Ø-3ˆÐ*Ó3Ø#ˆ�tÓ#Ø!&Ð˜$Ó&Ø15ˆÐ.Ó5Øˆ
�DÓØ#(Ð˜D×(rK   rÂ  NzOptional[FromStatement]rü   c                	ó\  € \         P                  P                  R 0 RmVVP                  4      w  ppW%R&    VP                  R,          pV'       d%   VP
                  VR&   VRVP
                  /,          pT'       gF   TP                  R8X  d   TRR	/,          pMDTP                  R
8X  d   \        P                  ! R4      hMTP                  R8X  d   TRR
/,          pTP                  R8w  d9   T'       g   \        P                  pMTP                  \        P                  4      pT'       g#   TP                  '       d   TP                  4        TP                  RTP                  /4      pT\        P                   ! T4      P                  R T/4      3#   \         d	    Q R4       hi ; i)Ú_sa_orm_insert_optionsrD  rE  rÎ   r:   r/  rF  r'  r(  rH  re   rI  Úraw>   rL  rD  rB   rN  )r½  rÂ  rO  rù   rÏ   r:   rP  r(  rQ  rR  r   rX  r£   r-  rW  r   rY  )	rÃ   ri   rÄ   rY   r7   r  rZ  Úinsert_optionsrÎ   s	   &&&&&&&  rI   r]  Ú"BulkORMInsert.orm_pre_session_exec¨  s®  € ô ×0Ñ0×GÑGØ$ÚNØØ×(Ñ(ó	
ñ	
ØØð $-�xÑ ð	MØ&×7Ñ7Ð8HÕIˆN÷ Ø+9×+@Ñ+@�˜xÑ(ØÐ#4°n×6KÑ6KÐ"LÕL�çØ×+Ñ+¨vÔ5Ø ?°EÐ":Õ:‘Ø×-Ñ-°Ô7Ü×0Ò0ð2óð ð 8ð ×+Ñ+¨vÔ5Ø ?°FÐ";Õ;�à×'Ñ'¨5Ô0÷ %Ü$+×$BÑ$BÑ!à$5×$;Ñ$;Ü×2Ñ2ó%Ð!÷  × 9× 9Ð 9Ø×ÑÔ à×'Ñ'Ø˜^×9Ñ9Ð:ó
ˆ	ð
 Ü×ÒÐ0Ó1×7Ñ7Ø)¨>Ð:óð
ð 	
øôO ô 	MØLÐLÓL�5ð	Mús   ·F ÆF+c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r9   ri   r.   rÄ   z
dml.InsertrY   r3   r7   r)   r  r,   r[   r1   rE   ú_result.ResultrG   )rH   s   "rI   rJ   ÚBulkORMInsert.__annotate__í  sY   € ÷ V
ñ V
àðV
ð ðV
ð &ð	V
ð
 6ðV
ð 'ðV
ð ðV
ð 
ñV
rK   c                	óâ  € VP                  R V P                  4      pVP                  R9  d   \        P                  ! R4      hVP                  R8X  d    TP                  Y#;'       g    / VR7      pV# VP                  R8X  d±   VP                  p	VP                  e,   V	P                  '       d   \        P                  ! RV	 24      hV	f   Q hVP                  f   Q h\        T	\        R\        V\        4      '       d   V.MT4      VP                  RVP                  VP                   VVR	7      pM9VP                  R8X  d   TP                  Y#;'       g    / VR7      pM
\#        4       h\%        VP&                  4      '       g   V# VP(                  '       d?   VP                  R
\*        P,                  4      p
V
RR/,          p
VP/                  R
V
/4      pV P1                  VVVVVV4      # )rÄ  rÅ  re   rH  zHValid strategies for ORM insert strategy are 'raw', 'orm', 'bulk', 'auto)r7   z`bulk INSERT with a 'post values' clause (typically upsert) not supported for multi-table mapper úIterable[Dict[str, Any]]F)r?   rA   rB   r6   r7   r  r0  T)rÅ  re   rH  r'  )rÐ   rÂ  r(  rQ  rS  r¶  r/  Ú_post_values_clauseÚ_multiple_persistence_tablesrR  Ú_transactionrO   r   r¾   rl   rÁ  rÀ  ÚAssertionErrorr@   rx   r0  r   r  r£   r  )rÃ   ri   rÄ   rY   r7   r  r[   rÆ  r   r:   r  s   &&&&&&&    rI   Úorm_execute_statementÚ#BulkORMInsert.orm_execute_statementì  s  € ð +×.Ñ.Ø$ c×&@Ñ&@ó
ˆð ×'Ñ'ð 0
ô 
ô ×&Ò&ð2óð ð ×'Ñ'¨5Ô0Ø—\‘\ØŸ<˜< RÐ;Lð "ó ˆFð ˆMà×'Ñ'¨6Ô1Ø#×3Ñ3ˆFð ×-Ñ-Ò9Ø×7×7Ð7ä×0Ò0ðà$˜Xð'óð ð Ò%Ð%Ð%Ø×'Ñ'Ò3Ð3Ð3Ü!ØÜØ.Ü *¨6´4× 8Ò 8�V‘H¸fóð ×$Ñ$ØØ .× ?Ñ ?Ø+×9Ñ9Ø$-Ø"3ô‰Fð ×)Ñ)¨UÔ2Ø—\‘\ØŸ<˜< RÐ;Lð "ó ‰Fô !Ó"Ð"ä�I×(Ñ(×)Ò)ØˆMà×,×,Ð,Ø,×0Ñ0Ø&¬×(IÑ(IóˆLð Ð1°4Ð8Õ8ˆLØ 1× 7Ñ 7Ø'¨Ð6ó!Ðð ×(Ñ(ØØØØØØó
ð 	
rK   c               ó   € V ^8„  d   QhRR/# )r9   rE   r½  rG   )rH   s   "rI   rJ   rÊ  F  s   € ÷ ñ Àñ rK   c                	óL  <€ \        \        \        SV `  ! W3/ VB 4      pVe   VP                  '       * pMRpV'       g   V# VP
                  R,          pVP                  P                  RR4      pVR8X  d   VP                  V4       V# VR8X  d   VP                  W&4       V# )NTrÎ   rD  rÅ  re   rH  )
r   r½  Úsuperrý   ÚstackrÏ   rÂ   rÐ   Ú_setup_for_bulk_insertÚ_setup_for_orm_insert)	rÃ   rÄ   r  Úkwr  Útoplevelr:   rD  Ú	__class__s	   &&&,    €rI   rý   Ú"BulkORMInsert.create_for_statementE  s¦   ø€ äÜÜ‰GÒ(¨ÑCÀÑCó
ˆð
 ÒØ#Ÿ>™>Ô)‰HàˆHßØˆKà×+Ñ+Ð,<Õ=ˆØ ×-Ñ-×1Ñ1°.À%ÓHˆØ˜6Ô!Ø×'Ñ'¨Ô1ð ˆð ˜UÔ"Ø×&Ñ& xÔ8àˆrK   c                	ó–   a€ V3R  lVP                  4        4        UUUu/ uF  w  r4pVe   VP                  MTVbK  	  uppp# u upppi )c              3  ób   <"  € T F$  w  rSP                   P                  V4      W3x € K&  	  R # 5irM   )ré   rÐ   )rV   rš   r›   r:   s   &  €rI   r`   Ú;BulkORMInsert._resolved_keys_as_col_keys.<locals>.<genexpr>`  s(   øé € ð Ù4O©D¨A�—‘—‘˜a“ !Õ'Ó4Oùs   ƒ,/)rq   ru   )rÃ   r:   Úresolved_value_dictÚcolrš   r›   s   &f&   rI   Ú_resolved_keys_as_col_keysÚ(BulkORMInsert._resolved_keys_as_col_keys\  sR   ø€ ôØ4G×4MÑ4MÔ4Oôõ
ñ‘	�˜ð ’ˆC�GŠG¨A¨qÒ0ñó
ð 	
ùô 
s    Ac                	óˆ   € \        \        P                  V P                  4      ;r4V P	                  VVVVR R7      pW0n        R# )F©r  rõ   N)r   r   ÚInsertrÄ   r  )r  r  r:   rÄ   r  s   &&&  rI   rØ  Ú#BulkORMInsert._setup_for_orm_inserte  sD   € Ü*.¬s¯z©z¸4¿>¹>Ó*JÐJˆ	à×-Ñ-ØØØØØ"'ð .ó 
ˆ	ð #ŽrK   c                ó<  € \        \        P                  V P                  4      ;r#VP                  pVR,          VR,          reVP                  4       pWRn        V P                  '       dF   V P                  P                  4        UUu/ uF  w  rxVP                  VJ g   K  WxbK  	  uppV n        V P                  VVVVRR7      pV P                  e=   V P                  P                  P                  '       d   \        P                  ! R4      hW n        R# u uppi )z±establish an INSERT statement within the context of
bulk insert.

This method will be within the "conn.execute()" call that is invoked
by persistence._emit_insert_statement().

Ú_emit_insert_tableÚ_emit_insert_mapperTrå  NzˆCan't use RETURNING * with bulk ORM INSERT.  Please use a different INSERT form, such as INSERT..VALUES or INSERT with a Core Connection)r   r   ræ  rÄ   rÂ   Ú_cloner‚   Ú_dict_parametersrq   r  r´   r  r  rQ  ÚCompileError)	r  r  rÄ   r  ÚanÚemit_insert_tableÚemit_insert_mapperrá  Úvals	   &&       rI   r×  Ú$BulkORMInsert._setup_for_bulk_insertq  s  € ô +/¬s¯z©z¸4¿>¹>Ó*JÐJˆ	Ø×#Ñ#ˆð Ð#Õ$ØÐ$Õ%ð .ð
 ×$Ñ$Ó&ˆ	à+ŒØ× × Ð ð !%× 5Ñ 5× ;Ñ ;Ô =ô%á =‘H�CØ—9‘9Ð 1Ð1ô �’Ù =ò%ˆDÔ!ð ×-Ñ-ØØØØ)Ø"&ð .ó 
ˆ	ð ×#Ñ#Ò/Ø×'Ñ'×7Ñ7×@×@Ð@ä×%Ò%ð3óð ð #Žùó1%s   ÂDÂ!D)rì  rÄ   )rá   r  r  r  r"   rÂ  rü   r   r!  r]  rÑ  rý   râ  rØ  r×  r"  Ú__classcell__©rÛ  s   @rI   r½  r½  œ  s€   ø‡ ô) ô )ð 15ÐÐ-Ó4àñA
ó ðA
ðF ôV
ó ðV
ðp ÷ó ðð, ñ
ó ð
ò
#÷,#ð ,#rK   r½  Úupdatec            	      ó¾   a € ] tR tRt]R 4       tR tR t]R V 3R ll4       t]RRR	RR
RRR/R R ll4       t	]R 4       t
]R 4       t]R 4       t]R 4       tRtV ;t# )ÚBulkORMUpdatei   c                	óŒ  € V P                  V 4      pVP                  P                  R R4      pVP                  '       * pV'       d   VR8X  d   VP	                  W4       V# VR8X  g#   VR8X  d6   RVP
                  P                  9  d   \        P                  ! WAV3/ VB  V# V'       d   VR9   d   VP                  W4       V# )rD  Úunspecifiedre   rG  rÚ   )rH  rù  )	Ú__new__rÂ   rÐ   rÖ  Ú_setup_for_bulk_updater‚   r%   Ú__init__Ú_setup_for_orm_update)rÃ   rÄ   r  rÙ  r  rD  rÚ  s   &&&,   rI   rý   Ú"BulkORMUpdate.create_for_statement¢  s¸   € à�{‰{˜3Óˆà ×-Ñ-×1Ñ1Ø˜Mó
ˆð  —~‘~Ô%ˆç˜¨Ô.Ø×'Ñ'¨	Ô<ð ˆð ˜KÔ'Ø˜}Ô,Ø i§o¡o×&BÑ&BÔBä×#Ò# D°XÑDÀÒDð ˆ÷ ˜\Ð-CÔCØ×&Ñ& yÔ;àˆrK   c                	ó”  € TpVP                   '       * pVP                  P                  R ,          pVP                  ;V n        pV P	                  Wq4      V n        V P                  VVVVR7       VP                  '       d   \        V P
                  4      V n        VP                  4       pVP                  P                  R ,          VJ d   VP                  Vn        VP                  '       d   V P
                  Vn        M#VP                  '       d   V P
                  Vn        V P                  V P                  V4      p	V	'       d   VP                  ! V	!  p\        P                   ! WV3/ VB  Rp
V'       g   RpMVP                  P#                  RR4      pVP                  P#                  RR4      pVRJd5   VR8H  ;'       d(    V P%                  VP&                  WpP(                  R7      pVR8X  d/   V'       d'   Rp
VP*                  ! VP                  P,                  !  pV'       d   V P/                  VVVVV
R	7      pW€n        R# )
rÚ   ©rÚ  Úprocess_criteria_for_toplevelFNrC  r?  rK  )r6  Trå  )rÖ  r‚   rÂ   r:   rž  r1  Ú_init_global_attributesr�  rl   rë  râ   rœ  rt  rr  Úwherer%   rü  rÐ   r?  r<  r6  rA   r  r  rÄ   )r  rÄ   r  rÙ  r  rÚ  rã   r:   Únew_stmtÚnew_critrõ   rC  r?  s   &&&,         rI   rý  Ú#BulkORMUpdate._setup_for_orm_update¹  s%  € Ø'Ðà—~‘~Ô%ˆà—?‘?×/Ñ/°Õ?ˆà'Ÿ™Ð.ˆŒ�fà $× 9Ñ 9¸&Ó LˆÔà×$Ñ$ØØØØ*2ð	 	%ô 	
ð ××ÐÜ$(¨×)>Ñ)>Ó$?ˆDÔ!à×#Ñ#Ó%ˆà�>‰>×&Ñ& ~Õ6¸&Ó@Ø#×/Ñ/ˆHŒNð ×$×$Ð$Ø'+×'<Ñ'<ˆHÕ$Ø××ÐØ#×4Ñ4ˆHÔà×2Ñ2Ø×"Ñ" Fó
ˆ÷ Ø—~’~ xÑ0ˆHô 	×Ò °Ñ?¸BÒ?à %ÐçØ"&Ñà"*×"7Ñ"7×";Ñ";Ø% tó#Ðð %×1Ñ1×5Ñ5Ø ó
Ðð  EÓ)ð $ wÑ.÷ ð Ø×*Ñ*Ø×$Ñ$ f×<NÑ<Nð +ó ð ð  'Ô)×.?Ø$(Ð!ð  ×/Ò/°·±×1KÑ1KÑLˆHçØ×0Ñ0ØØ#ØØ!Ø&;ð 1ó ˆHð "ŽrK   c                óæ  € \        \        P                  V4      pVP                  pVR,          VR,          reVP	                  4       pWQn        \        P                  ! WV3/ VB  V P                  '       d   \        P                  ! R4      hV P                  '       dF   V P                  P                  4        UUu/ uF  w  rxVP
                  VJ g   K  WxbK  	  uppV n        Wn        R# u uppi )z±establish an UPDATE statement within the context of
bulk insert.

This method will be within the "conn.execute()" call that is invoked
by persistence._emit_update_statement().

Ú_emit_update_tableÚ_emit_update_mapperzšbulk ORM UPDATE does not support ordered_values() for custom UPDATE statements with bulk parameter sets.  Use a non-bulk UPDATE statement or use values().N)r   r   ÚUpdaterÂ   rë  r‚   r%   rü  rœ  rQ  rR  rì  rq   rÄ   )	r  rÄ   r  rÙ  rî  Úemit_update_tableÚ_rá  rñ  s	   &&&,     rI   rû  Ú$BulkORMUpdate._setup_for_bulk_update  sä   € ô œŸ™ YÓ/ˆ	Ø×#Ñ#ˆð Ð#Õ$ØÐ$Õ%ð ð
 ×$Ñ$Ó&ˆ	Ø+Œä×Ò °Ñ@¸RÒ@à××ÐÜ×,Ò,ð=óð ð × × Ð ð !%× 5Ñ 5× ;Ñ ;Ô =ô%á =‘H�CØ—9‘9Ð 1Ð1ô �’Ù =ò%ˆDÔ!ð
 #Žùó%s   Â=C-ÃC-c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r9   ri   r.   rÄ   z
dml.UpdaterY   r3   r7   r)   r  r,   r[   r1   rE   rÉ  rG   )rH   s   "rI   rJ   ÚBulkORMUpdate.__annotate__@  sY   € ÷ Sñ SàðSð ðSð &ð	Sð
 6ðSð 'ðSð ðSð 
ñSrK   c           
     	ó  <€ VP                  R V P                  4      pVP                  '       d?   VP                  R\        P                  4      pVRR/,          pVP                  RV/4      pVP                  R9  d   \        P                  ! R4      hVP                  R8X  dÕ   VP                  '       * p	VP                  R8w  g   Q hVP                  '       d(   VP                  R8X  d   \        P                  ! R4      hVP                  p
V
f   Q hVP                  f   Q h\        T
\        R	\!        V\"        4      '       d   V.MT4      VP                  R
R
VV	R7      pV P%                  VVVVVV4      # \&        SV `Q  VVVVVV4      # )rB  r  r0  Tre   zOValid strategies for ORM UPDATE strategy are 'orm', 'auto', 'bulk', 'core_only'rK  rJ  zÑbulk synchronize of persistent objects not supported when using bulk update with additional WHERE criteria right now.  add synchronize_session=None execution option to bypass synchronize of persistent objects.rÌ  F)r?   r�   r‹   rŒ   )rH  r'  re   rG  )rÐ   r5  r0  r   r  r£   r(  rQ  rS  r‹  r)  rR  r/  rÏ  r’   r   r¾   rl   rc  rÕ  rÑ  )rÃ   ri   rÄ   rY   r7   r  r[   r[  r  rŒ   r:   r   rÛ  s   &&&&&&&     €rI   rÑ  Ú#BulkORMUpdate.orm_execute_statement?  sÄ  ø€ ð +×.Ñ.Ø$ c×&@Ñ&@ó
ˆð ×,×,Ð,Ø,×0Ñ0Ø&¬×(IÑ(IóˆLð Ð1°4Ð8Õ8ˆLØ 1× 7Ñ 7Ø'¨Ð6ó!Ðð ×'Ñ'ð 0
ô 
ô ×&Ò&ð9óð ð ×'Ñ'¨6Ô1Ø(1×(AÑ(AÔ$AÐ!à!×6Ñ6¸'ÔAÐAÐAð ×)×)Ð)Ø"×7Ñ7¸:ÔEä×0Ò0ðóð ð $×3Ñ3ˆFØÒ%Ð%Ð%Ø×'Ñ'Ò3Ð3Ð3Ü!ØÜØ.Ü *¨6´4× 8Ò 8�V‘H¸fóð ×$Ñ$ØØ$)Ø$-Ø&;ôˆFð ×.Ñ.ØØØØ!ØØóð ô ‘7Ñ0ØØØØ!ØØóð rK   r6  Fr7  r8  r9  c               ó4   € V ^8„  d   QhRRRRRRRRRRR	RR
R/# r;  rG   )rH   s   "rI   rJ   r  –  sP   € ÷ "ñ "àð"ð ð"ð
 ð"ð ð"ð ð"ð ð"ð 
ñ"rK   c               	ó:  € VP                   ;'       d    VP                  P                  pV'       g   R # V'       d   VP                  # V'       d   VP                  # V'       d7   VP                  '       g%   \
        P                  ! RVP                   R24      hR# )Fú	Dialect "zæ" does not support RETURNING with UPDATE..FROM; for synchronize_session='fetch', please add the additional execution option 'is_update_from=True' to the statement to indicate that a separate SELECT should be used for this backend.T)Úupdate_returningrâ   Úimplicit_returningÚupdate_executemany_returningÚupdate_returning_multifromrQ  rí  rÛ   ©rÃ   r<  r:   r6  r7  r8  r9  Únormal_answers   &&&$$$$ rI   r?  ÚBulkORMUpdate.can_use_returning•  s‹   € ð ×$Ñ$×NÐN¨×);Ñ);×)NÑ)Nð 	÷ ÙçØ×7Ñ7Ð7÷ Ø×5Ñ5Ð5ç 7×#E×#EÐ#EÜ×%Ò%Ø˜GŸL™L˜>ð *Eð Eóð ñ rK   c                	óì  a€ V'       g   R # VP                   pVP                   Uu. uF  qfP                  NK  	  ppVP                  pV EF   oVP	                  V3R lV 4       VP
                  4      p	VP                  V	4      p
V
'       g   KE  \        S4      P                  V4      pV
P                  pV
P                  P                  V4      pV F  pWì9   g   K  SV,          WÎ&   K  	  V
P                  P                  P                  V
R V4       V
P                  V\!        V4      4       VP                  V4      P                  V4      pV'       g   EK  V
P#                  WÏ4       EK#  	  R # u upi )Nc              3  ó6   <"  € T F  pSV,          x € K  	  R # 5irM   rG   )rV   ru   Úparams   & €rI   r`   ÚCBulkORMUpdate._do_post_synchronize_bulk_evaluate.<locals>.<genexpr>È  s   øé € Ð/¡w ��s—’£wùs   ƒ)r/  r|   ru   Úidentity_mapÚidentity_key_from_primary_keyr4  Úfast_get_stater«   Ú
differencerl   Ú
unmodifiedr®   ÚmanagerÚdispatchÚrefreshÚ_commitrn   Ú_expire_attributes)rÃ   ri   rY   r   r[  r:   Úpropry  r   Úidentity_keyrW   Úevaluated_keysr   Úto_evaluateru   Ú	to_expirer  s   &&&&&           @rI   rb  Ú0BulkORMUpdate._do_post_synchronize_bulk_evaluateº  s;  ø€ ÷ Ùà×/Ñ/ˆØ(.×(BÒ(BÓCÑ(B —8”8Ñ(BˆÐCà×+Ñ+ˆäˆEØ!×?Ñ?Ü/¡wÓ/Ø×.Ñ.óˆLð !×/Ñ/°Ó=ˆEßÙä  ›Z×2Ñ2°7Ó;ˆNà—J‘JˆEà×*Ñ*×7Ñ7¸ÓGˆKÛ"�Ø–<Ø!& s¥�E“Jñ #ð �M‰M×"Ñ"×*Ñ*¨5°$¸ÔDà�M‰M˜%¤ kÓ!2Ô3ð
 '×3Ñ3°EÓ:×EÑEØóˆI÷ ŠyØ×(Ñ(¨×:ó; ùò	 Ds   ¦E1c                	ó<  € V P                  VVP                  P                  4       4      pT P                  TTTVP                  P
                  ^ ,          V UUUU	u. uF
  w  rgr‰WgV3NK  	  up	pppVP                  4       VP                  4       4       R# u up	pppi )é    N)r…  r   Ú
all_statesÚ#_apply_update_set_values_to_objectsr   Úcompiled_parametersÚprefetch_colsÚpostfetch_cols)
rÃ   ri   rÄ   r   r[  Úmatched_objectsr  rW   r   r  s
   &&&&&     rI   r`  Ú+BulkORMUpdate._do_post_synchronize_evaluateå  sŽ   € ð ×>Ñ>ØØ× Ñ ×+Ñ+Ó-ó
ˆð
 	×/Ñ/ØØØØ�N‰N×.Ñ.¨qÕ1Ù=LÖM¹_Ñ%9 S°ˆc˜%Ó ¹_ÔMØ× Ñ Ó"Ø×!Ñ!Ó#ö	
ùõ
 Ns   ÁBc                	óp  € VP                   pVP                  pV'       d@   V P                  W5V4      pV Uu. uF   p\        V4      VP                  3,           NK"  	  p	pMVP
                  p	V	 Uu. uF  qˆ^ R VR,          3NK  	  up U
Uu. uFA  w  r«VP                  e   W´P                  8X  g   K%  VP                  \        V
4      VR7      NKC  	  upp
 Uu. uF(  pWÁP                  9   g   K  VP                  V,          NK*  	  ppV'       g   R# T P                  TTTVP                  P                  ^ ,          V Uu. uF0  pV\        P                  ! V4      \        P                  ! V4      3NK2  	  upVP                  4       VP!                  4       4       R# u upi u upi u upp
i u upi u upi )r1  N©rM  éÿÿÿÿ)r/  Úreturned_defaults_rowsr{  r}   r4  r3  r!  rn   r   r3  r   r4  r   Úinstance_stateÚinstance_dictr5  r6  )rÃ   ri   rÄ   r   r[  Útarget_mapperr<  Úpk_rowsrz  r¹  r  rM  r+  Úobjsr  s   &&&&&          rI   ra  Ú(BulkORMUpdate._do_post_synchronize_fetchø  sÜ  € ð '×6Ñ6ˆà!'×!>Ñ!>Ðß!Ø×3Ñ3ØÐ'=óˆGñ
 #óá"�Cô �c“
˜n×<Ñ<Ð>×>Ð>Ù"ð ð ˆLð
 *×7Ñ7ˆLñ 5Aó4Ù4@¨S˜˜2�Y  B¥Ó(±Lò4ô
!ñ
4Ñ/�Kð "×1Ñ1Ò9Ø!×%CÑ%CÑCô�×;Ñ;Ü˜Ó%Ø#1ð <ö ñ4ó
!ó
ñ
!�ð ×3Ñ3Ñ3ô /ˆG× Ñ  ×.Ð.ñ
!ð 	ð 
÷  Ùà×/Ñ/ØØØØ�N‰N×.Ñ.¨qÕ1ñ  óñ  �Cð	 Ü×-Ò-¨cÓ2Ü×,Ò,¨SÓ1óñ
  ñð × Ñ Ó"Ø×!Ñ!Ó#ö	
ùò5ùò4ùó
!ùò
ùò0s)   ·&FÁ0F#Â"F(Â3 F(ÃF.Ã0F.Å6F3c           
     ó   € VP                   pVP                  p	\        P                  ! V	4      p
V P	                  Wƒ4      pV P                  W‹4      p/ pV F>  w  rï V
P                  \        P                  ! \        P                  V4      4      pVWÞ&   K@  	  \        VP                  4       4      pV UUu0 uF  w  ppVkK
  	  ppp\        4       pV Uu0 uF>  pVP                  V9   g   K  VVP                   9   g   K)  VP                  V9  g   K<  VkK@  	  ppV Uu0 uF3  pVVP                   9   g   K  VP                   V,          P                  kK5  	  upP#                  V4      pV Uu. uF,  pVP                   V,          P                  VP                  3NK.  	  ppV EF  w  pppTP%                  V UUu/ uF  w  ppVVV,          bK  	  upp4       VP'                  VP(                  V4       VP*                  P-                  V4      pV F  pVV9   g   K  WÞ,          ! V4      VV&   K  	  VP.                  P0                  P3                  VRV4       VP5                  V\        V4      4       VP-                  V4      P#                  V4      pV'       d   VP'                  VV4       VP7                  V4       EK   	  VP9                  V4       R#   \        P                   d     EKœ  i ; iu uppi u upi u upi u upi u uppi )zUapply values to objects derived from an update statement, e.g.
UPDATE..SET <values>

N)r/  rà   r   rŠ  rž  r§  rŽ  r   r¼   r   r¿   r•  rn   r¬   r«   ru   r¢  r#  rõ  r)  rl   r$  r®   r%  r&  r'  r(  ÚaddÚ_register_altered) rÃ   ri   r[  rÄ   Úeffective_paramsr7  r5  r6  r:   r�  r�  r¥  Úresolved_keys_as_propnamesÚvalue_evaluatorsru   ÚvalueÚ
_evaluatorr,  rš   r›   Úattribr~   ré   Úto_prefetchr.  Úprefetch_transferr  rW   r   Úcol_to_propÚc_keyr-  s    &&&&&&&&                        rI   r3  Ú1BulkORMUpdate._apply_update_set_values_to_objects.  sú  € ð   ×/Ñ/ˆØ—]‘]ˆ
Ü&×9Ò9¸*ÓEÐØ×2Ñ2°6ÓEˆØ%(×%DÑ%DØó&
Ð"ð ÐÛ4‰JˆCð3Ø/×7Ñ7Ü×$Ò$¤U×%@Ñ%@À%ÓHó�
ð )3Ð Ó%ñ 5ô Ð.×3Ñ3Ó5Ó6ˆÙ :Ô;Ñ :™˜˜1“!Ñ :ˆÑ;ä“ˆñ #ó
á"�Ø�u‰uÐ(Ñ(ô ð �V×-Ñ-Ñ-ô ð —‘˜^Ñ+÷	 ˆAÙ"ð 	ð 
ñ $ó
á#�Ø�F×,Ñ,Ñ,ô ,ˆF×$Ñ$ QÕ'×+Ô+Ù#ñ
÷ ‰*�^Ó
$ð	 	ñ ?Jó
Ù>I¸ˆV×%Ñ% aÕ(×,Ñ,¨a¯e©eÓ4¹kð 	ð 
ô "1ÑˆC�˜à�L‰Lñ /@ôá.?Ñ*˜ Uð  Ð!1°%Õ!8Ò8Ù.?òôð ×$Ñ$ U§Z¡Z°Ô;à×*Ñ*×7Ñ7¸ÓGˆKã"�Ø˜%–<à!1Ö!6°sÓ!;�E˜#“Jñ #ð
 �M‰M×"Ñ"×*Ñ*¨5°$¸ÔDà�M‰M˜%¤ kÓ!2Ô3ð
 ×+Ñ+¨EÓ2×=Ñ=¸kÓJˆIßØ×(Ñ(¨°	Ô:à�J‰J�u×ñ; "1ð< 	×!Ñ! &Ö)øôs ×/Ñ/ô Ûðüó <ùò
ùò
ùò
ùósH   Á4KÂ5K5ÃK;Ã,K;Ã?K;ÄK;ÄL Ä6!L Å-2LÆ;L
ËK2Ë1K2)rì  r1  r:   rÄ   )rá   r  r  r  r!  rý   rý  rû  rÑ  r?  rb  r`  ra  r3  r"  ró  rô  s   @rI   r÷  r÷     sÊ   ø† àñó ðò,`"òD"#ðH ÷Só ðSðj ð"ð
 $ð"ð  %ð"ð !&ð"ð  %ö"ó ð"ðH ñ(;ó ð(;ðT ñ
ó ð
ð$ ñ3
ó ð3
ðj ñU*ó öU*rK   r÷  Údeletec            	      ó’   a € ] tR tRt]R 4       t]R V 3R ll4       t]RRRRRRR	R/R
 R ll4       t]R 4       t]R 4       t	Rt
V ;t# )ÚBulkORMDeletei‡  c           	     	óŒ  € V P                  V 4      pVP                  P                  R R4      pVR8X  g#   VR8X  d6   RVP                  P                  9  d   \        P
                  ! WAV3/ VB  V# VP                  '       * pTpVP                  P                  R,          pVP                  ;Vn        p	VP                  VVVVR7       VP                  4       p
V
P                  P                  R,          V	J d   V	P                  V
n        V P                  VP                  V	4      pV'       d   V
P                  ! V!  p
\        P
                  ! WJV3/ VB  RpV'       g   RpMVP                  P                  RR4      pVP                  P                  RR4      pVRJdQ   VR	8H  ;'       dD    VP                  VP                  V	VP                   VP                  P                  R
R4      R7      pV'       d'   RpV
P"                  ! V
P                  P$                  !  p
V'       d   VP'                  VVV
V	VR7      p
W¤n        V# )rD  rù  rG  rÚ   r   FNrC  r?  rK  r8  )r6  r8  Trå  )rú  rÂ   rÐ   r‚   r#   rü  rÖ  r:   r  rë  râ   rt  rr  r  r?  r<  r6  rA   r  r  rÄ   )rÃ   rÄ   r  rÙ  r  rD  rÚ  r  rã   r:   r  r  rõ   rC  r?  s   &&&,           rI   rý   Ú"BulkORMDelete.create_for_statement‰  s<  € à�{‰{˜3Óˆà ×-Ñ-×1Ñ1Ø˜Mó
ˆð
 ˜KÔ'Ø˜}Ô,Ø i§o¡o×&BÑ&BÔBä×#Ò# D°XÑDÀÒDØˆKà—~‘~Ô%ˆà'Ðà—?‘?×/Ñ/°Õ?ˆØ'Ÿ™Ð.ˆŒ�fà×$Ñ$ØØØØ*2ð	 	%ô 	
ð ×#Ñ#Ó%ˆà�>‰>×&Ñ& ~Õ6¸&Ó@Ø#×/Ñ/ˆHŒNà×1Ñ1Ø×"Ñ" Fó
ˆ÷ Ø—~’~ xÑ0ˆHô 	×Ò °Ñ?¸BÒ?à %ÐçØ"&Ñà"*×"7Ñ"7×";Ñ";Ø% tó#Ðð %×1Ñ1×5Ñ5Ø ó
Ðð  EÓ)ð $ wÑ.÷ ð Ø×*Ñ*Ø×$Ñ$ØØ"&×"4Ñ"4Ø$,×$9Ñ$9×$=Ñ$=Ø)¨5ó%ð	 +ó ð ÷ Ø$(Ð!à×/Ò/°·±×1KÑ1KÑLˆHçØ×0Ñ0ØØ#ØØ!Ø&;ð 1ó ˆHð "ŒàˆrK   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r9   ri   r.   rÄ   z
dml.DeleterY   r3   r7   r)   r  r,   r[   r1   rE   rÉ  rG   )rH   s   "rI   rJ   ÚBulkORMDelete.__annotate__æ  sP   € ÷ 
ñ 
àð
ð ð
ð &ð	
ð
 6ð
ð 'ð
ð ð
ð 
ñ
rK   c                	óú   <€ VP                  R V P                  4      pVP                  R8X  d   \        P                  ! R4      hVP                  R9  d   \        P
                  ! R4      h\        SV `  WW4WV4      # )rB  re   zˆBulk ORM DELETE not supported right now. Statement may be invoked at the Core level using session.connection().execute(stmt, parameters)zGValid strategies for ORM DELETE strategy are 'orm', 'auto', 'core_only')rH  r'  rG  )rÐ   r5  r(  rQ  rR  rS  rÕ  rÑ  )	rÃ   ri   rÄ   rY   r7   r  r[   r[  rÛ  s	   &&&&&&& €rI   rÑ  Ú#BulkORMDelete.orm_execute_statementå  s�   ø€ ð +×.Ñ.Ø$ c×&@Ñ&@ó
ˆð ×'Ñ'¨6Ô1Ü×,Ò,ðAóð ð ×'Ñ'Ð/KÔKÜ×&Ò&ðóð ô
 ‰wÑ,Ø ¸>ó
ð 	
rK   r6  Fr7  r8  r9  c               ó4   € V ^8„  d   QhRRRRRRRRRRR	RR
R/# r;  rG   )rH   s   "rI   rJ   rW    sP   € ÷ &ñ &àð&ð ð&ð
 ð&ð ð&ð ð&ð ð&ð 
ñ&rK   c               	ó  € VP                   ;'       d    VP                  P                  pV'       g   R # V'       d   VP                  # V'       d7   VP                  '       g%   \        P
                  ! RVP                   R24      hR# )Fr  zè" does not support RETURNING with DELETE..USING; for synchronize_session='fetch', please add the additional execution option 'is_delete_using=True' to the statement to indicate that a separate SELECT should be used for this backend.T)Údelete_returningrâ   r  Údelete_returning_multifromrQ  rí  rÛ   r  s   &&&$$$$ rI   r?  ÚBulkORMDelete.can_use_returning  s€   € ð ×$Ñ$×NÐN¨×);Ñ);×)NÑ)Nð 	÷ Ù÷ ð ×5Ñ5Ð5ç 7×#E×#EÐ#Eô ×%Ò%Ø˜GŸL™L˜>ð *Eð Eóð ñ rK   c                	ó,  € V P                  VVP                  P                  4       4      p. pV FF  w  rxršV
'       d(   VP                  W‘P                  P                  4       K5  VP                  V4       KH  	  V'       d   VP                  V4       R # R # rM   )r…  r   r2  Ú_expireÚ	_modifiedr�  Ú_remove_newly_deleted)rÃ   ri   rÄ   r   r[  r7  Ú	to_deleter  rW   r   Úis_partially_expireds   &&&&&      rI   r`  Ú+BulkORMDelete._do_post_synchronize_evaluate.  s�   € ð ×>Ñ>ØØ× Ñ ×+Ñ+Ó-ó
ˆð
 ˆ	ã5DÑ1ˆA�eß#Ø—‘˜e×%9Ñ%9×%CÑ%CÖDà× Ñ  Ö'ñ	 6E÷ Ø×)Ñ)¨)Ö4ñ rK   c                	óÞ  € VP                   pVP                  pV'       d@   V P                  W5V4      pV Uu. uF   p\        V4      VP                  3,           NK"  	  p	pMVP
                  p	V	 Fv  pV^ R p
VR,          pVP                  \        V
4      VR7      pWÁP                  9   g   K?  VP                  \        P                  ! VP                  V,          4      .4       Kx  	  R# u upi )r1  r:  Nr;  )r/  r<  r{  r}   r4  r3  r!  rn   r   rb  r   r=  )rÃ   ri   rÄ   r   r[  r?  r<  r@  rz  r¹  r  rM  r+  s   &&&&&        rI   ra  Ú(BulkORMDelete._do_post_synchronize_fetchB  sý   € ð '×6Ñ6ˆà!'×!>Ñ!>Ðç!Ø×3Ñ3ØÐ'=óˆGñ #óá"�Cô �c“
˜n×<Ñ<Ð>×>Ð>Ù"ð ð ˆLð
 *×7Ñ7ˆLãˆCØ˜a ˜)ˆKØ  �WˆNð )×FÑFÜ�[Ó!Ø-ð Gó ˆLð ×3Ñ3Ö3Ø×-Ñ-ä"×1Ò1Ø#×0Ñ0°Õ>óðöó  ùòs   ·&C*)r:   rÄ   )rá   r  r  r  r!  rý   rÑ  r?  r`  ra  r"  ró  rô  s   @rI   rS  rS  ‡  s‘   ø† àñYó ðYðv ÷
ó ð
ð> ð&ð
 $ð&ð  %ð&ð !&ð&ð  %ö&ó ð&ðP ñ5ó ð5ð& ñ$ó ö$rK   rS  )OÚ__doc__Ú
__future__r   Útypingr   r   r   r   r   r   r	   r
   r   Ú r   r   r   r   r£  r   r   Úbaser   r   r   r   r   rQ  r   Úenginer   r   r§   Úsqlr   r   r   r   r   r   Úsql.baser    r!   r"   Úsql.dmlr#   r$   r%   r&   Úutil.typingr'   Ú_typingr(   r)   r*   r:   r+   ri   r,   r-   r.   r/   rW   r0   r1   r2   Úengine.interfacesr3   Úobjectr4   rO   r’   ro   r³   r$  Ú
plugin_forr½  r÷  rS  rG   rK   rI   Ú<module>rv     s@  ðñõ
 #å Ý Ý Ý Ý Ý Ý  Ý Ý å Ý Ý Ý Ý Ý Ý Ý ,Ý "Ý 1Ý !Ý Ý Ý Ý &Ý Ý Ý Ý Ý Ý Ý ,Ý #Ý Ý $Ý $Ý $Ý Ý !çÝ,Ý3Ý3ÝÝ'Ý(Ý Ý+Ý$Ý#ÝÝ9áˆT˜Ô €ð 
ð
ð *-ð
ð ?Bö
ó 
ð
ð 
ð
#ð 14ð
#ð ?Bö
#ó 
ð
#ðUð 15ðUð ?C÷Uðp 
ð	ð *-ð	ð #'ö	ó 
ð	ð 
ð	ð 14ð	ð #'ö	ó 
ð	ðY%ð 15ðY%ð #'÷Y%òx%ô@Ð)ô @ôFS
˜ô S
ðl ×Ò˜ Ó)ô@#�K ó @#ó *ð@#ðF ×Ò˜ Ó)ôc*Ð&¨ó c*ó *ðc*ðL ×Ò˜ Ó)ô_Ð&¨ó _ó *ò_rK   