g dZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z dd lm Z dd lm Z dd lm Z dd lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZ ddlmZddl!m"Z"ddl#m$Z$ddl#m%Z%dd l#m&Z&dd!l'm(Z(ddl'mZ)dd"l*m+Z+dd#l*m,Z,dd$l*m-Z-dd%lm.Z.e rBdd&l/m0Z0dd'lm1Z1dd(l2m3Z3dd)l4m5Z5dd*l6m7Z7dd+l8m9Z9dd,l:m;Z;dd-lm?Z?dd/l#m@Z@dd0l'mAZAe d1e2ZBe d3eC2ZDejZFeeGee eGeffZHdNd4ZIejd5dOd6ZKejd7d89ejd5 dO dPd:ZM dQd;ZNd dRd?ZOdjAd drt| dfd } tC| | jDjF} | jHjKtM|| _$jjNr d}d|f| _(jr| jj| Scc}w#t&$r>t)j*5j-dddn #1swYnxYwYwxYwcc} w)aReturn a :class:`.Result` given an ORM query context. :param cursor: a :class:`.CursorResult`, generated by a statement which came from :class:`.ORMCompileState` :param context: a :class:`.QueryContext` object :return: a :class:`.Result` object representing ORM results .. versionchanged:: 1.4 The instances() function now uses :class:`.Result` objects and has an all new interface. FTrrzCan't use yield_per with eager loaders that require uniquing or row buffering, e.g. joinedload() against collections or subqueryload(). Consider the selectinload() strategy for better flexibility in loading objects.Nc,tjd)Nz@Can't use the ORM yield_per feature in conjunction with unique()sa_excInvalidRequestError)entrys G/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/orm/loading.py _no_uniquezinstances.._no_uniques(( N  )legacy uncertainc>|sfd}|SstSdfd}|S)Ncnr t|Stjddrdndd#Y$xYw)Nz=Can't apply uniqueness to row tuple containing value of type z; z the values returned appear to bezthis datatype producesz non-hashable values)hashr8r9)objdatatyper?s r;goz,instances.._not_hashable..gosZ#Cy(00&\$;5,* -s 04FcJs t|St|S#YnxYwd)NT)rBid)rC_use_ids r;rEz,instances.._not_hashable..gos4#Cy(#w #Gs )rG)rDr>r?rErHs` ` @r; _not_hashablez instances.._not_hashables+  IIG  Ir=)_unique_filtersc 3K |}i _|r j|}|sy j}r d}|Dcgc] }|| }}n.|Dcgc]!}t Dcgc] }|| c}#}}} r|r#t j j } j rft j j } j j|D]\}} | j | j rf|r5 j j j j||syScc}wcc}wcc}}ww)Nr) partials fetchmany _raw_all_rowstuplelistpost_load_pathsitemsclearinvokeupdate)size yield_perfetchprocrowrowstop_level_post_loads post_loadspath post_loadcontextcursor is_top_levelprocess single_entitys r;chunkszinstances..chunksslI!G ((3,,.qz-23UcS U3GLFKsE9499:e,0//557,(--!%g&=&=&C&C&E!FJ++113+5i!(($7,6-- ++113++223GHJ_4:s<.chunkss % %r=)source_supports_scalarsrawdynamic_yield_per)filteredis_single_entityc,tjd)Nz~The unique() method must be invoked on this Result, as it contains results that include joined eager loads against collectionsr7)rCs r;require_uniquez!instances..require_uniques,,& r=)) _new_runidrunidtop_level_contextrQ compile_state_has_mapper_entities load_options_only_return_tupleslen _entitiessupports_single_entityrPzip row_processorrWloaders_require_bufferingloaders_require_uniquingr8r9 Exceptionr safe_reraisecloseuse_id_for_hash_non_hashable_value_null_column_typecolumntype_legacy_uniquingrGr!execution_optionsgetrr`_is_server_side _attributesuniondictmulti_row_eager_loaders_unique_filter_state)rar`rurn query_entitylabelsextrar<rIentunique_filters row_metadatareresultrqrjrbrcrds`` @@@@r; instancesrNsLGM   ")";";"K"K "$))M11H  4 44 >  '' (A - >  # #A & = = #' )0(=(=(G(G(G !..w?(G $  &%     - -//,,=  +05)x((22#"3C   ++00C4I4IJJOO"//@@!33..RD 3#((~L00d  $$%5u=F4L)  &# -  ..88 F ++11 h?F 44 (,^&<#**+ Mo$     LLN! hsD."KJ? )AKB L?KL !K;2 L ;L L  L zsqlalchemy.orm.contextc @tjj}|r|j|jj |d}|j } d|_t|jDcgc]\}}t||jr|} }}|jD cgc]} | j} } t| |jD cgc]} | jc} } g} |jD]k}| D]M}|| |jt!j"||t!j$|||ii||<O| j'| |m|j)| ||_Scc}}wcc} wcc} w#||_wxYw)azMerge a :class:`_engine.FrozenResult` back into a :class:`_orm.Session`, returning a new :class:`_engine.Result` object with :term:`persistent` objects. See the section :ref:`do_orm_execute_re_executing` for an example. .. seealso:: :ref:`do_orm_execute_re_executing` :meth:`_engine.Result.freeze` :class:`_engine.FrozenResult` Fr>load _recursive_resolve_conflict_map)r preloaded orm_context _autoflushORMSelectCompileState_create_entities_collection autoflush enumeraterz isinstance _MapperEntity _label_namer_extra_entities rewrite_rows_mergerinstance_state instance_dictappend with_new_rows)session statement frozen_resultr querycontextctxriemapped_entitiesrkeys keyed_tuplernewrows r;merge_frozen_resultr+s">>--L   , , H H% I C!!I&!"#--0 01!\778 0  ,/==9=C=9" #--@-33&&-@ #002F$!9( '"11&)<"00;!#%.0 !/!F1I% MM+f- .3**62%7 :A&&s=F6"FF)F <FF %&F A0FF Fz:func:`_orm.merge_result`zyThe function as well as the method on :class:`_orm.Query` is superseded by the :func:`_orm.merge_frozen_result` function.) alternativec  tjj}|j}|r|j t |t r|}t|j}nd}|jj|d}|j} d|_ | xrt|jdk(}|r{t |jd|jrK|D cgc]>} |jt!j"| t!j$| |ii@} } nt'|} n t)|jD cgc]\} } t | |jr| } } } g} |jDcgc]}|j*}}t-||jDcgc]}|j.c}}|D]v}t'|}| D]M} ||  |jt!j"|| t!j$|| |ii|| <O| j1||x|r|j3| ||_ St| ||_ Scc} wcc} } wcc}wcc}w#||_ wxYw)zMerge a result into the given :class:`.Query` object's Session. See :meth:`_orm.Query.merge_result` for top-level documentation on this function. NTrFrrr)rrrrrrr ridatarrrryrzrrrrrrPrrrrrr)queryiteratorrrrrrrrdinstancerrrrrrrrZrs r; merge_resultrgs$>>--LmmG (L)  **+  , , H H d I C!!I1&!))Ec#--.@A.E #--*L,F,FG%- %-NN"11(;"00:!#%.0 #%- h&cmm44DAqa!;!;<4  F/2}}=}COO}D=&cmmDmss**mDK c(Aay,$+NN&55fQi@&44VAY?!%')24 %3%q ) k&12   ..v6&<%W  >E*&sQ A I:AI%)I:"I*(I:;I0I:$I5 7!I:A2I: I:%I:: Jc|jj|}|tj|}|jr+|j j |stjS|jrM|tjzstjS|tjzs|S |j|||S|Sy#tj$r|j|gYywxYw)zqLook up the given key in the given session's identity map, check the object for expired state if found. N) identity_maprrrinheritsmapperisaPASSIVE_CLASS_MISMATCHexpiredSQL_OKPASSIVE_NO_RESULTRELATED_OBJECT_OK _load_expiredorm_excObjectDeletedError_remove_newly_deleted)rrkeypassiverstates r;get_from_identityrs##'',H))(3 ??5<<#3#3F#;44 4 ==Z...!333z;;;   ##E73x -- --ug6 s/C%C.-C.NF) rw refresh_statewith_for_updateonly_load_props no_autoflushbind_argumentsrrequire_pk_colsis_user_refreshc T| |d} |d} ndx} } t||| ||||| ||| | |  S)z.Load the given identity key from the database.Nrr rwrrridentity_tokenrrrrr)load_on_pk_identity)rrrrwrrrrrrrridentrs r; load_on_identrsY  AQ!%%  !#''%!%+'' r=rc |} | j}|jrJ|tj}|jt j urtj}n |j}|| jd}|j\}}d|vryt|j|Dchc]\}}|||j}}}tj||}t!|t!|k(rt#j$dtj&|ddif|_t||jDcic]\}}||j|}}}nd}| d}||_n"| j*d}| j*|_nd}| r|r|st-j.d|j0j2}|j5|Dchc]+}|j6|j8j;r|-}}|r&t-j<d|d |j0d |j0j>}|D]$}||j@s|jC|}n|r@|jDr4|d |jFjHiz }|jJ|jD}tM||||||| \}}||_d|_'|r|d diz }t"jPjS| d|i} |jU||| | jWjY} | j[Scc}}wcc}}wcc}w#t\j^$rYywxYw)z6Load the given primary key identity from the database.Nplugin_subjectzofully NULL primary key identity cannot load any object. This condition may raise an error in a future release. _orm_adaptTFz9refresh_state is required when require_pk_cols is presentz7Please flush pending primary key changes on attributes z for mapper z! before proceeding with a refresh _current_path) version_checkrrrrr_sa_orm_load_options)paramsrr)0_clone_is_lambda_elementrdefault_load_options_compile_optionsr%default_select_compile_optionsrdefault_compile_options_propagate_attrs _get_clauser| primary_keyrsql_utiladapt_criterion_to_nullryrwarn_deep_annotate_where_criteria_for_update_argr8 ArgumentErrorr_primary_key_propkeys differenceattrshistory has_changesr9_props_is_relationshiprrw load_pathparentoptions_set_get_options _order_byr& merge_withexecuteuniquescalarsoner NoResultFound)!rrprimary_key_identityrwrrrrrrrrrrqcompile_optionsrr _get_paramscolvaluenonesid_valrrrrefresh_state_prokeysrrmppnew_compile_optionsrs! r;rrs$ E A### ##88  ""  5 5 6*AA#44'''(89%+%7%7"k ' '#&f&8&8:N"O"OJC=C $$"O  #::;NK5zS!566   # #K,1E F  (+$f&8&8( (#   $ ( (& 0(  " +    * !11 ?&&K !. 4 4 J J-77H H""3'//;;= H  ,,-|M,@,@+AB,, D ! ! ( ( A!u%%"7"="=o"N! 33O]-D-D-K-KLL AII}11 2(8#'#%')%-AAKu-- 222LA  /)    zz|S& 2 |  s$)L=M0M -MM$#M$ci}i} |r|| d<|r|| d<|r || d<d|d<|rt||d<|r|| d<|r|| d<| r|| z }|r||z }||fS) N_version_check_populate_existing_refresh_stateT_for_refresh_state_only_load_props_identity_token_is_user_refresh) frozenset) compile_optload_optpopulate_existingrrrrrr rws r;rrsOL)6 %&-> )*)6 %&04,-.7.H*+*8 &'+: '(L &   r=c |r|j|} n |j} i} |j|jd| |xrt |dk(xr|dj } | D].} |r| j |vr| j||||f||| | d| 0|5||jur&|r|j|}n|}|j|yyy)Nmemoized_setupsr)rcolumn_collectionmemoized_populatorscheck_for_adapt) _iterate_polymorphic_properties_polymorphic_propertiessetrryis_aliased_classrsetuppolymorphic_oncolumnsr)rurrr^adapterr&with_polymorphicrpolymorphic_discriminatorkwpoly_propertiesquick_populatorsr(rpds r;_setup_entity_queryr7s @@  !88HH] % %'8:JK N#d)q.NT"X5N5NO  uyy?      ,/ 0+  ! "- %V-B-B B !:;B*B  $ C .r=cHtjdt|dy)NzLoading context for aW has changed within a load/refresh handler, suggesting a row refresh operation took place. If this event handler is expected to be emitting row refresh operations within an existing load or refresh operation, set restore_load_context=True when establishing the listener to ensure the context remains unchanged when the event handler completes.)rrr)rs r;_warn_for_runid_changedr9sII!*% 0  3r=c  "#$%&'()*+,-./0123456j"j} df} |j| j| d} | j} | j fdD} |jjdt }g}ggggggd}<j}|r|Dcgc]}|j|}}|j|.nd.||.d} | D]$}||vr ||}|tur+|dj|j|jfA|tur!|dj|jd fj|tur+|dj|j|j fd}|r#|j|}||j#|d }|s|j#|d }|r!|d j|j|f|j%||||||j|'|j'| j| | | d }|j)Dcic]\}}|t+|c}},| d D]}|j%||||,j,/jj.j0rjj.|zn|(j2j44j6xs j8+t;j<j>j@'t;j<j>jB0t;j2j>jD**r j2j>jD)tjF%tjH$j2jJ3jL2jN#jP55r3jR}|#|r|j|}|j#|6nd6s| d |j0f}|jvr9j|jTdk(rj|jVd}nd}jY|| }|r|| urJ|jZr/g}|}|r,|| ur(|j||j\}|r || ur$n|g}|D]M}t^ja(|rtc||| |}t^je(|jf|||Ot^ji(-r j11jk1nd1| d.jlrtnjp&ntnj &"#$%&'()*+,-./0123456fd} jrr| ss"#&.fd}!tu| ||||||! } | Scc}wcc}}w)z]Produce a mapper level row processor callable which processes rows into mapped instances.gettersNc3<K|]}j|ywrh)r).0krs r; z&_instance_processor..Us'*9Q a /sr$)newquickdeferredexpireexistingeager)cached_populatorstodoprimary_key_getterr@rCFrArFrGloader))selectinload_polymorphicTentitiesrHc r.}|j}|}|j k7}d}d}n |f}"j|}|:|}|}|j k7}| }d}#rw$ru|sst|||$nc|dryd}d}d}jj }|}|}||_|_!|_"j||}|urd}|s|r9|rs|s|_ |_ t |||||| |r|j} |rrr@|jjj| |j| k7r t!|rq j"||j| k7rOt!|nCrA|jjj%| |j k7r t!||s |j&r)rr|j)|n|j+|"rj-|d|S|j.} | j0v}|r| sdrut3 ||||| } |rarM|j} |jjj%| | |j| k7r t!||j)|| r j4rj-|d|S)NTFrrE)rCrsr_validate_version_id class_manager new_instancerr session_id_add_unpresentrwr_populate_fullmanagerdispatchrr9rrefreshmodified_commit _commit_all add_stateunloadedrL_populate_partialinvoke_all_eagers)%rZrrdict_isnew currentloadloaded_instance identitykeyeffective_populate_existingexisting_runidrZto_loadr`identity_classrrris_not_primary_keyload_evtrloaded_as_persistentrrpersistent_evtr" populatorsr_rHpropagated_loader_options refresh_evtrefresh_identity_keyrrsrPsession_identity_maprversion_id_getters% r; _instancez&_instance_processor.._instance+s !Eyy{H!(+EKK5(EK#O "3'K ,// %h/&x0' '5$$. $33E;G&7# E !*. ' 5)1L%>""+ +  "'" ..33E7C ;;.83E:%,W__eD ;;.83E: MM**22w{{e+/6.%..$ e_=))%1EF##E40J?~~H!1!11EH 7(; , "). ..66ugwO ;;.83E:MM%1W66##E51r=c6|f}|ds|Sy)Nr)rZrarerrfrHs r; ensure_no_pkz)_instance_processor..ensure_no_pks/"3'K &k!n5""r=);_identity_classrurr _prop_set intersectionr&rr/ _tuple_getterrrr_deferred_column_loaderrr_raise_column_loader_gettercreate_row_processorr+rRrPrk current_pathr^rrr"always_refreshboolrNrTrrUrhrrhash_keyrsrrversion_id_colstrategy local_opts_should_selectin_load is_mapperrPostLoad path_exists_load_subclass_via_incallable_for_pathr for_context_identity_key_from_stateallow_partial_pksr issupersetpolymorphic_map_decorate_polymorphic_switch)7rrr`rr^r0rrr2_polymorphic_fromru getter_keyr;propsr5rGrFpk_colscproprgetter adapted_colrrroption_entitiesselectin_load_via _load_supers_endmost_mapper_selectinload_entity callable_rprsrerrrrfrgrrhrir"rjr_rHrkrlrmrsrPrnrros7 `` `` @@@@@@@@@@@@@@@@@@@@@r;_instance_processorr+sN*++N))MV$Jhh}//TBG    &&&'*9'E 88    1:     ((G7>?w!7??1-w?!'!5!5g!> !% "3"4  D''&t,**%e,334#?#?@11&h/66%7HI,,%e,334#<#<="F*'.ooc&: &2%+^^K%GF!!'U!;)'299488V:LM 11#( ""#- D!AD )):w? 345F5L5L5NO5NzsE#tE{"5NOJ !! \4*  !( A A  - - 2 2 **T1  #??7711JV5J5JF((11667Hv++44<<=K'//22GGHN&77LL..N,,M))J MME++N))M..  %!(!@ &~ >  $  .:# '$$ $););C)@)I)IN * &005@@LO"O"88    !2:K!K#* ** **! "3#'/@@ ''8&5&>&>O $'/@@ !22 (4$''Y(<1(%#  **(//(( )5*$$WiII,00  '$*#B#B$  $$%9: &11&33^^^^@&7  1       %     s @`Ps >W-W2c  |j |j}|jdu}t jjdk( |j s|r j ||\ n j\   fd}|S)Nrc  s4|Dcgc]$\}}|jjr||f&}}}|sy|j}|jr#j |}j |} n}} |f|j z| fz} j | } |jj| _ | xjd|jiz c_ |jr| jd} |jj| t|D cgc](\} } r| jddn| jd*c} } j!j#j%ycc}}wcc} } w)NrT)r"rr) primary_keys)r+_would_selectin_load_only_from_given_mapperrr _prepend_path _with_optionsrrurrr"rrrrrrrall)r`r^states load_onlyeffective_entitysv orig_queryenable_opt_lcldisable_opt_lclrq2r load_attrs disable_opt enable_optrrr zero_idxs r;do_loadz&_load_subclass_via_in..do_loadsy#"DAq88GGOA"  ]] ;;'55d;N)77=O'N)O   8 8 8O;M M QYY %33KK ==  $ $%%%=B  .4-3)z(0EIIaLOUYYq\A-3   &(779SSUK@s )E9-E?)rrry base_mapperrr,_subclass_load_via_in_subclass_load_via_in_mapper) r`r^entitypolymorphic_fromrpolymorphic_from_mappernot_against_basemostrrrrr rs ` @@@@@r;rrs]]F /552;;4G6%%112a7H "6%+%A%A $& ":{&,%H%H":{,#,#\ Nr=c $|r|j|_|dD]\} } | ||| <|r>|dD]5\} } |j| d| s|jj| 7n+|dD]#\} } | s |jj| %|dD]\} } | |||y||jk7r<||_|dD]\} } | |vs | ||| <|dD]\} } | |||y|dD]\} } | |||y)NrArCr@rD)rspopexpired_attributesaddr) r`rZrr]r^rr`r"rjrr set_callable populators r;rRrR-s? mm %g.KCE#J/ %/%9!\ #t$,,005&: &0%9!\,,005&:)/NC eUC (0 eoo %$&g.KC%#C[c / )4NC eUC (5)4NC eUC (5r=c|sK|r|dD]\}} ||vs | |||<|j|} |dD]\}} || vs | |||n|} | |j|<|dD]\}} || vs | |||<|dD]:\}} || vs |j|d| s |jj|<|dD]\}} || vs | ||||dD]\}} ||vs | |||| S)NrArDrCr@rE)rLrrr) r`rZrr]r^rrZrjrrrdrrs r;r[r[fsA  )'2 V(?!'E#J 3""5)(4NCg~%,5")%g.KCg~#C[c /",H!5 Cg~ #t$,,005 "6 )/NCg~%,0%W-Y h  eUC (. Nr=c |j|||j||k7rItjdt |d|j|||jd||dy)Nz Instance 'z' has version id 'z3' which does not match database-loaded version id 'z'.)_get_state_attr_by_columnrrStaleDataErrorr)rrr]rZrs r;rMrMsv '' uf++ $$% 005&"7"7s    r=c  || n j Srj  fd} tj|  j    fd} | S)Nc  j|}|ury|jsyt|S#t$rt d|zwxYw)NF)rz*No such polymorphic_identity %r is defined)rrrKeyErrorAssertionError) discriminator sub_mapperr0r`rr^rrs r;configure_subclass_mapperz?_decorate_polymorphic_switch..configure_subclass_mappers| // >J V#^^F+&"(   <}L  s ;Ac |}|T|}|r||S|dur9|}|r.tjd|d dj|dy|S|}|rtjd|d dy)NFzRow with identity key zG can't be loaded into an object; the polymorphic discriminator column 'z ' refers to z-, which is not a sub-mapper of the requested z ' is NULL)r8r9r) rZrrprarsr instance_fnrpolymorphic_instancesr.s r;polymorphic_instancez:_decorate_polymorphic_switch..polymorphic_instancess  $-m; r=)r.r/r PopulateDictrz)rr`rrrr^r2r0rsrrrrr.s`````` `` @@@r;rrsx!,2.. 8.!--.GH ^^N +F$$L r=cVeZdZdZdZdZdZdZedZ edZ edZ y ) rz4Track loaders and states for "post load" operations.)loadersr load_keyscRi|_tj|_d|_yrh)rr OrderedDictrr)selfs r;__init__zPostLoad.__init__s  &&( r=c"||j|<yrh)r)rr overwrites r;rYzPostLoad.add_states ' Er=c|jsytjj|}|jj D]x\}}}}}}|jj D cgc].\} } | jjj|r| | f0} } } | s`|||| |jg|i|z|jjycc} } wrh) rr PathRegistrycoercervaluesrRrSrrrrS) rr`r^effective_contexttokenlimit_to_mapperrIargr3rrrs r;rTzPostLoad.invokes{{ ))006\\ "      )- (9(9(;(;$E9==''++O< "(;  %tVT^^FIMO# s.3Ccf|jj|j}| |r||_|Srh)rQrr^r)clsr`r^rpls r;rzPostLoad.for_contexts/  $ $ ( ( 3 >o*BL r=c|j|jvxr%||j|jjvSrh)r^rQr)rr`r^rs r;rzPostLoad.path_exists$s> II00 0 Bw..tyy9AAA r=c|j|jvr|j|j}n#tx}|j|j<||||||f|j|<yrh)r^rQrr) rr`r^rrloader_callablerr3rs r;rzPostLoad.callable_for_path+sg 99// /((3B6>j @B((3         5r=N) __name__ __module__ __qualname____doc__ __slots__rrYrT classmethodrrrrrr=r;rrsU>0I '.     r=rc|j}|s!tjdt|zt |t j z}|r)|j|jj}|jr=|js1|j||}|t||}t||d|||St |j}|r |j} n}|j D cgc]} |j"| j} } |j$j| r!t'j(dt|z|j+|} t-j.| r |j0rt-j2| r t5j6dt|yt|t9|j;t<| |||} |r| tj>|yycc} w)z4initiate a column-based attribute refresh operation.zQInstance %s is not bound to a Session; attribute refresh operation cannot proceedN)rrrz_Instance %s cannot be refreshed - it's not persistent and does not contain a full primary key.zwInstance %s to be refreshed doesn't contain a full primary key - can't be refreshed (and shouldn't be expired, either).)rrr) rrDetachedInstanceErrorrr~r NO_AUTOFLUSHrvrrrconcrete_optimized_get_statementrrrr_columntopropertyrr8r9rrissubsetrrr warn_limitedr"set_label_styler$r) rrattribute_namesrrrrstmthas_key identity_keyrpk_attrsrs r;load_scalar_attributesr=smmG ++ 9((//"wC s2 G?)razCursorResult[Any]r`rreturnz Result[Any])T)rz Query[Any]rz>Union[FrozenResult, Iterable[Sequence[Any]], Iterable[object]]rr~rz"Union[FrozenResult, Iterable[Any]]) rr,rz Mapper[_O]rz_IdentityKeyType[_O]rrrz)Union[LoaderCallableStatus, Optional[_O]])rr,rUnion[Select, FromStatement]rzOptional[_IdentityKeyType]rwOptional[Sequence[ORMOption]]rOptional[InstanceState[Any]]rOptional[ForUpdateArg]rOptional[Iterable[str]]rr~rMapping[str, Any]rr/rr~rr~)rr,rrr zOptional[Tuple[Any, ...]]rwrrrrrrrrz Optional[Any]rr~rrrr/rr~rr~)NNNNNN)NNN)NNNN)\r __future__rtypingrrrrrr r r r r rrrrrbaserrrrr`rrrrrrr8enginer engine.resultrr r!sqlr"rsql.selectabler#r$r%r&_typingr'r( interfacesr)rr*rr+rr,rr- engine.cursorr.engine.interfacesr/r0r1r2objectr4counterrrstr_PopulatorDictrpreload_modulerbecame_legacy_20rrrrrr7r9rrrRr[rMrrrrrr=r;rs# ""'"$!!1(0");()*% $,3& T T  T\\^ c4c3h001Zz-.8&/8&vF -.Q& Q&LQ& Q&( Q&/  Q&h# # # # # / #V3726.2/3(,)-!!$ $+$ $$ 0 $ 0 $,$-$$&$'$$$X3726.2/3$((,)-!!u u+u4u 0 u 0 u,u-u"uu&u'uuuv!R"4%n &"zz BJ3)r"J "V rE E PU0r=