Ë
    V.j7ê  ã                  óÎ  — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 dd	lm
Z
 dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ  ddlmZ ddl!m"Z" ddl#m$Z$ ddl#m%Z% dd l#m&Z& dd!l'm(Z( ddl'mZ) dd"l*m+Z+ dd#l*m,Z, dd$l*m-Z- dd%lm.Z. erBdd&l/m0Z0 dd'lm1Z1 dd(l2m3Z3 dd)l4m5Z5 dd*l6m7Z7 dd+l8m9Z9 dd,l:m;Z; dd-l<m=Z= dd.l>m?Z? dd/l#m@Z@ dd0l'mAZA  ed1e¬2«      ZB ed3eC¬2«      ZD ejŠ                  «       ZFeeGeeeGef      f   ZHdNd4„ZI ej”                  d5«      dOd6„«       ZK ej˜                  d7d8¬9«       ej”                  d5«      	 dO	 	 	 	 	 	 	 dPd:„«       «       ZM	 	 	 	 	 	 	 	 	 	 dQd;„ZNd<d<d<d<d=ej\                  ej\                  d=d=d>œ		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dRd?„ZOd<d<d<d<d<d=ej\                  ej\                  d=d=d@œ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dSdA„ZP	 	 	 	 	 	 dTdB„ZQ	 	 	 dUdC„ZRdD„ ZS	 	 	 	 dVdE„ZTdF„ ZUdG„ ZVdH„ ZWdI„ ZXdJ„ ZY G dK„ dL«      ZZdM„ Z[y<)Wzßprivate module containing functions used to convert database
rows into object instances and associated state.

the functions here are called primarily by Query, Mapper,
as well as some of the attribute loading strategies.

é    )Úannotations)ÚAny)ÚDict)ÚIterable)ÚList)ÚMapping)ÚOptional)ÚSequence)ÚTuple)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Ú
attributes)Úexc)Úpath_registry)Ú_DEFER_FOR_STATE)Ú_RAISE_FOR_STATE)Ú_SET_DEFERRED_EXPIRED)ÚPassiveFlag)ÚFromStatement)ÚORMCompileState)ÚQueryContext)Ú	_none_set)Ú	state_stré   )Úutil)Úresult_tuple)ÚChunkedIteratorResult)ÚFrozenResult)ÚSimpleResultMetaData)Úselect)ÚForUpdateArg)ÚLABEL_STYLE_TABLENAME_PLUS_COL)ÚSelectState)Ú
EMPTY_DICT)Ú_IdentityKeyType)ÚLoaderCallableStatus)Ú	ORMOption)ÚMapper)ÚQuery)ÚSession)ÚInstanceState)ÚCursorResult)Ú_ExecuteOptions)ÚResult)ÚSelectÚ_T)ÚboundÚ_Oc                ó&  ‡ ‡‡‡‡‡— t        «       ‰_        ‰j                  rdŠ‰j                  j                  ‰_        n	dŠi ‰_        ‰j                  }|j
                  }‰j                  j                   xr3 t        |j                  «      dk(  xr |j                  d   j                  Š	 t        t        ‰j                  j                  D �cg c]  }|j                  ‰‰ «      ‘Œ c}Ž «      \  Š}}‰j                  r-‰j                  s‰j                   rt#        j$                  d«      ‚d„ }dddœd	„}‰j                  j                  D �	cg c]…  }	‰j                  r|nt|	j.                  sU|	j0                  s|	j2                  r= ||	j4                  j6                  ‰j                  j8                  |	j2                  ¬«      n|	j.                  rt:        nd‘Œ‡ }
}	t=        |
¬
«      }ˆˆ ˆˆˆfd„}‰j>                  jA                  dd«      rt         |d«      «      Šˆfd„}tC        ||‰‰ ‰ jD                  jF                  ¬«      }|jH                  jK                  tM        |‰¬«      «      |_$        ‰j                  jN                  rd„ }d|f|_(        ‰j                  r|j                  ‰j                  «       |S c c}w # t&        $ r> t)        j*                  «       5  ‰ j-                  «        ddd«       n# 1 sw Y   nxY wY �ŒÜw xY wc c}	w )a¤  Return 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.

    FTr   r   zØCan'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                ó,   — t        j                  d«      ‚)Nz@Can't use the ORM yield_per feature in conjunction with unique()©Úsa_excÚInvalidRequestError)Úentrys    úXC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\sqlalchemy/orm/loading.pyÚ
_no_uniquezinstances.<locals>._no_unique‡   s   € Ü×(Ñ(ØNó
ð 	
ó    )ÚlegacyÚ	uncertainc               ó>   ‡ ‡‡— |sˆ ˆfd„}|S ‰st         S dŠˆfd„}|S )Nc                ón   •— ‰r	 t        | «      S t        j                  d‰›d‰rdnd› d�«      ‚#  Y Œ$xY w)Nz=Can't apply uniqueness to row tuple containing value of type z; z the values returned appear to bezthis datatype producesz non-hashable values)Úhashr8   r9   )ÚobjÚdatatyper?   s    €€r;   Úgoz,instances.<locals>._not_hashable.<locals>.go�   sZ   ø€ ÙðÜ# C›yÐ(ô ×0Ñ0ðØ&˜\¨á$ñ ;à5ð,ð *ð-óð øðÙús   …
0 °4Fc                óJ   •— ‰s	 t        | «      S t        | «      S #  Y nxY wdŠŒ)NT)rB   Úid)rC   Ú_use_ids    €r;   rE   z,instances.<locals>._not_hashable.<locals>.go¥   s4   ø€ ñ ðÜ# C›yÐ(ô ˜#“w�øðÙúð
 #�Gøs   …
 ›)rG   )rD   r>   r?   rE   rH   s   ` ` @r;   Ú_not_hashablez instances.<locals>._not_hashableŒ   s+   ú€ Ùõð  ˆIÙÜˆIàˆGôð  ˆIr=   )Ú_unique_filtersc              3  óÔ  •K  — 	 | }i ‰
_         |r‰j                  |«      }|sy ‰j                  «       }‰r‰d   }|D �cg c]
  } ||«      ‘Œ }}n.|D ��cg c]!  }t        ‰D �cg c]
  } ||«      ‘Œ c}«      ‘Œ# }}}‰rÎ|r#t	        ‰
j
                  j                  «       «      }‰
j
                  rft	        ‰
j
                  j                  «       «      }‰
j
                  j                  «        |D ]  \  }}	|	j                  ‰
|«       Œ ‰
j
                  rŒf|r5‰
j
                  j                  «        ‰
j
                  j                  «       |–— |sy �ŒSc c}w c c}w c c}}w ­w)Nr   )
ÚpartialsÚ	fetchmanyÚ_raw_all_rowsÚtupleÚlistÚpost_load_pathsÚitemsÚclearÚinvokeÚupdate)ÚsizeÚ	yield_perÚfetchÚprocÚrowÚrowsÚtop_level_post_loadsÚ
post_loadsÚpathÚ	post_loadÚcontextÚcursorÚis_top_levelÚprocessÚsingle_entitys             €€€€€r;   Úchunkszinstances.<locals>.chunksÏ   sl  øè ø€ ØØˆIà!ˆGÔáØ×(Ñ(¨Ó3�áØà×,Ñ,Ó.�áØ˜q‘z�Ù-2Ó3©U c™˜S�	¨U�Ñ3ñ GLôÙFK¸s”E±Ó9±¨™4 �9°Ñ9Õ:Àeð ñ ñ Ùô ,0Ø×/Ñ/×5Ñ5Ó7ó,Ð(ð ×-Ò-Ü!% g×&=Ñ&=×&CÑ&CÓ&EÓ!F�JØ×+Ñ+×1Ñ1Ô3Û+5™˜˜iØ!×(Ñ(¨°$Õ7ð ,6ð ×-Ó-ñ Ø×+Ñ+×1Ñ1Ô3Ø×+Ñ+×2Ñ2Ð3GÔHàŠJáØñ_ ùò 4ùò :ùóùs<   ƒ<E(¿EÁE(ÁE"Á$EÁ3	E"Á<BE(ÄAE(ÅE"Å"E(Úprebuffer_rowsc                ó   •— t        ‰«      S ©N)Úiter)rV   Ú_prebuffereds    €r;   re   zinstances.<locals>.chunks  s   ø€ Ü˜Ó%Ð%r=   )Úsource_supports_scalarsÚrawÚdynamic_yield_per)ÚfilteredÚis_single_entityc                ó,   — t        j                  d«      ‚)Nz~The unique() method must be invoked on this Result, as it contains results that include joined eager loads against collectionsr7   )rC   s    r;   Úrequire_uniquez!instances.<locals>.require_unique  s   € Ü×,Ñ,ð&óð r=   ))Ú
_new_runidÚrunidÚtop_level_contextrQ   Úcompile_stateÚ_has_mapper_entitiesÚload_optionsÚ_only_return_tuplesÚlenÚ	_entitiesÚsupports_single_entityrP   ÚzipÚrow_processorrW   Úloaders_require_bufferingÚloaders_require_uniquingr8   r9   Ú	Exceptionr   Úsafe_reraiseÚcloseÚuse_id_for_hashÚ_non_hashable_valueÚ_null_column_typeÚcolumnÚtypeÚ_legacy_uniquingrG   r!   Úexecution_optionsÚgetr   r`   Ú_is_server_sideÚ_attributesÚunionÚdictÚmulti_row_eager_loadersÚ_unique_filter_state)ra   r`   ru   rn   Úquery_entityÚlabelsÚextrar<   rI   ÚentÚunique_filtersÚrow_metadatare   Úresultrq   rj   rb   rc   rd   s   ``             @@@@r;   Ú	instancesr˜   N   sê  ý€ ô “L€G„Mà× Ò ØˆØ")×";Ñ";×"KÑ"KˆÕàˆØ"$ˆÔà×)Ñ)€MØ×1Ñ1€Hà× Ñ ×4Ñ4Ð4ò 	>Ü�×'Ñ'Ó(¨AÑ-ò	>à×#Ñ# AÑ&×=Ñ=ð ðÜ#'Üð )0×(=Ñ(=×(GÒ(Góá(G˜ð !×.Ñ.¨w¸Õ?Ø(Gñðó$
Ñ ˆ�&˜%ð ×ÒØ×-Ò-Ø×/Ò/ä×,Ñ,ð=óð ò
ð
 +0¸5ô )ðx ×(Ñ(×2Ò2ó#ñ" 3ˆCð × Ò ñ ð ×+Ò+Ø×0Ò0°C×4IÒ4Iñ Ø—J‘J—O‘OØ"×/Ñ/×@Ñ@Ø!×3Ñ3õð ×.Ò.•R°Dñð 3ð# ð ô( (Ø� ~ô€L÷0ð 0ðd × Ñ ×$Ñ$Ð%5°uÔ=ô ™F 4›LÓ)ˆô	&ô #ØØØ -ØØ Ÿ.™.×8Ñ8ô€Fð  ×+Ñ+×1Ñ1Ü�h°Ô?ó€FÔð
 ×Ñ×4Ò4ò	ð (,¨^Ð&<ˆÔ#à×ÒØ×Ñ˜×*Ñ*Ô+à€Mùòoøô$ ò Ü×ÑÕ Ø�L‰LŒN÷ !× Ñ ýðüòhsD   Â."K ÃJ?Ã)AK ÅB
LÊ?K ËLË!K;Ë2	LË;L	Ì LÌ
Lzsqlalchemy.orm.contextc           	     ó@  — t         j                  j                  }|r| j                  «        |j                  j                  |d¬«      }| j                  }	 d| _        t        |j                  «      D ��cg c]  \  }}t        ||j                  «      r|‘Œ }	}}|j                  D �
cg c]  }
|
j                  ‘Œ }}
t        ||j                  D �
cg c]  }
|
j                  ‘Œ c}
«      }g }|j                  «       D ]k  }|	D ]M  }||   €Œ	| j                  t!        j"                  ||   «      t!        j$                  ||   «      |i i ¬«      ||<   ŒO |j'                   ||«      «       Œm |j)                  |«      || _        S c c}}w c c}
w c c}
w # || _        w xY w)az  Merge 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`

    F©r>   ©ÚloadÚ
_recursiveÚ_resolve_conflict_map)r   Ú	preloadedÚorm_contextÚ
_autoflushÚORMSelectCompileStateÚ_create_entities_collectionÚ	autoflushÚ	enumeraterz   Ú
isinstanceÚ_MapperEntityÚ_label_namer   Ú_extra_entitiesÚrewrite_rowsÚ_merger   Úinstance_stateÚinstance_dictÚappendÚwith_new_rows)ÚsessionÚ	statementÚfrozen_resultrœ   ÚquerycontextÚctxr¤   ÚiÚeÚmapped_entitiesr”   ÚkeysÚkeyed_tupler—   Únewrows                  r;   Úmerge_frozen_resultr»   +  s›  € ô" —>‘>×-Ñ-€Láà×ÑÔà
×
,Ñ
,×
HÑ
HØ˜%ð Ió €Cð ×!Ñ!€Ið&Ø!ˆÔô " #§-¡-Ô0ô
á0‘��1Ü˜!˜\×7Ñ7Ô8ò Ø0ð 	ñ 
ð
 ,/¯=ª=Ó9©= C�—“¨=ˆÐ9ä"Ø°#·-²-Ó@±-¨3�3×&Ó&°-Ñ@ó
ˆð ˆØ#×0Ñ0Ö2ˆFÛ$�Ø˜!‘9Ñ(Ø '§¡Ü"×1Ñ1°&¸±)Ó<Ü"×0Ñ0°¸±Ó;Ø!Ø#%Ø.0ð !/ó !�F˜1’Ið %ð �M‰M™+ fÓ-Õ.ð 3ð ×*Ñ*¨6Ó2à%ˆÕùó7
ùò
 :ùò Aøð& &ˆÕús=   ÁF Á6"FÂF Â)F
Â<F ÃF
Ã%&F ÄA0F ÆF Æ	Fz: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           
     ó  — t         j                  j                  }| j                  }|r|j	                  «        t        |t        «      r|}t        |j                  «      }nd}|j                  j                  | d¬«      }|j                  }	 d|_        | xr t        |j                  «      dk(  }|r{t        |j                  d   |j                  «      rK|D �	cg c]>  }	|j                  t!        j"                  |	«      t!        j$                  |	«      |i i ¬«      ‘Œ@ }
}	�nt'        |«      }
�nt)        |j                  «      D ��cg c]  \  }}t        ||j                  «      r|‘Œ }}}g }
|j                  D �cg c]  }|j*                  ‘Œ }}t-        ||j                  D �cg c]  }|j.                  ‘Œ c}«      }|D ]v  }t'        |«      }|D ]M  }||   €Œ	|j                  t!        j"                  ||   «      t!        j$                  ||   «      |i i ¬«      ||<   ŒO |
j1                   ||«      «       Œx |r|j3                  |
«      ||_        S t        |
«      ||_        S c c}	w c c}}w c c}w c c}w # ||_        w xY w)z Merge a result into the given :class:`.Query` object's Session.

    See :meth:`_orm.Query.merge_result` for top-level documentation on this
    function.

    NTrš   Fr   r   r›   )r   rŸ   r    r°   r¡   r¦   r    ri   Údatar¢   r£   r¤   ry   rz   r§   r«   r   r¬   r­   rP   r¥   r¨   r   r©   r®   r¯   )ÚqueryÚiteratorrœ   r³   r°   r²   r´   r¤   rd   Úinstancer—   rµ   r¶   r·   r”   r¸   r¹   rZ   rº   s                      r;   Úmerge_resultrÂ   g  s�  € ô$ —>‘>×-Ñ-€Là�m‰m€GÙà×ÑÔô �(œLÔ)Ø ˆÜ˜×*Ñ*Ó+‰àˆà
×
,Ñ
,×
HÑ
HØ�dð Ió €Cð ×!Ñ!€Ið1&Ø!ˆÔØ)Ð)ÒE¬c°#·-±-Ó.@ÀAÑ.EˆáÜ˜#Ÿ-™-¨Ñ*¨L×,FÑ,FÔGñ %-ó	ñ %-˜ð —N‘NÜ"×1Ñ1°(Ó;Ü"×0Ñ0°Ó:Ø!Ø#%Ø.0ð #õ ð %-ð ò 	ô ˜h›’ô & c§m¡mÔ4ôá4‘D�A�qÜ˜a ×!;Ñ!;Ô<ò Ø4ð ñ ð
 ˆFØ/2¯}ª}Ó=©}¨�C—O“O¨}ˆDÐ=ä&Ø°c·m²mÓD±m¨s�s×*Ó*°mÑDóˆKó  �Ü˜c›�Û(�AØ˜a‘yÑ,Ø$+§N¡NÜ&×5Ñ5°f¸Q±iÓ@Ü&×4Ñ4°V¸A±YÓ?Ø!%Ø')Ø24ð %3ó %˜˜qš	ð )ð —‘™k¨&Ó1Õ2ð  ñ Ø ×.Ñ.¨vÓ6ð &ˆÕô ˜“<à%ˆÕùòW	ùóùò >ùò Eøð* &ˆÕúsQ   ÂAI: ÃAI%Ä)I: Å"I*Å(I: Å;I0ÆI: Æ$I5
Æ7!I: ÇA2I: É
I: É%I: É:	Jc                óâ  — | j                   j                  |«      }|�§t        j                  |«      }|j                  r+|j
                  j                  |«      st        j                  S |j                  rM|t        j                  z  st        j                  S |t        j                  z  s|S 	 |j                  ||«       |S |S y# t        j                  $ r | j                  |g«       Y yw xY w)zqLook up the given key in the given session's identity map,
    check the object for expired state if found.

    N)Úidentity_maprŠ   r   r¬   ÚinheritsÚmapperÚisaÚPASSIVE_CLASS_MISMATCHÚexpiredÚSQL_OKÚPASSIVE_NO_RESULTÚRELATED_OBJECT_OKÚ_load_expiredÚorm_excÚObjectDeletedErrorÚ_remove_newly_deleted)r°   rÆ   ÚkeyÚpassiverÁ   Ústates         r;   Úget_from_identityrÔ   Á  sÙ   € ð ×#Ñ#×'Ñ'¨Ó,€HØÐÜ×)Ñ)¨(Ó3ˆà�?Š? 5§<¡<×#3Ñ#3°FÔ#;Ü×4Ñ4Ð4ð �=Š=ØœZ×.Ñ.Ò.ä!×3Ñ3Ð3Øœz×;Ñ;Ò;ð
  �ðØ×#Ñ# E¨7Ô3ð ˆˆxˆàøô ×-Ñ-ò Ø×-Ñ-¨u¨gÔ6Ùðús   Â/C Ã%C.Ã-C.NF)	rw   Úrefresh_stateÚwith_for_updateÚonly_load_propsÚno_autoflushÚbind_argumentsr‰   Úrequire_pk_colsÚis_user_refreshc       	        óT   — |�|d   }|d   }ndx}}t        | ||||||||||	|
|¬«      S )z.Load the given identity key from the database.Nr   r   ©
rw   rÕ   rÖ   r×   Úidentity_tokenrØ   rÙ   r‰   rÚ   rÛ   )Úload_on_pk_identity)r°   r±   rÑ   rw   rÕ   rÖ   r×   rØ   rÙ   r‰   rÚ   rÛ   ÚidentrÞ   s                 r;   Úload_on_identrá   ç  sY   € ð  €Ø�A‘ˆØ˜Q™‰à!%Ð%ˆ�äØØØØ!Ø#Ø'Ø'Ø%Ø!Ø%Ø+Ø'Ø'ôð r=   rÝ   c       
   	     óÎ  — |}|j                  «       }|j                  rJ ‚|€t        j                  }|j                  t
        j                  u rt        j                  }n|j                  }|�ð|j                  d   }|j                  \  }}d|v ryt        |j                  |«      D ��ch c]  \  }}|€||   j                  ’Œ }}}t        j                  ||«      }t!        |«      t!        |«      k(  rt#        j$                  d«       t        j&                  |ddi«      f|_        t        ||j                  «      D ��ci c]  \  }}||   j                  |“Œ }}}nd}|�
d}||_        n"|j*                  �d}|j*                  |_        nd}|rÛ|rÙ|st-        j.                  d«      ‚|j0                  j2                  }|j5                  |«      D �ch c]+  }|j6                  |   j8                  j;                  «       r|’Œ- }}|r&t-        j<                  d|› d	|j0                  › d
�«      ‚|j0                  j>                  }|D ]$  }||   j@                  sŒ|jC                  |«      } n |r@|jD                  r4|d|jF                  jH                  iz  } |jJ                  |jD                  Ž }tM        |||||||¬«      \  }}||_        d|_'        |r|ddiz  }t"        jP                  jS                  |
d|i«      }
| jU                  |||
|	¬«      jW                  «       jY                  «       } 	 | j[                  «       S c c}}w c c}}w c c}w # t\        j^                  $ r Y yw xY w)z6Load the given primary key identity from the database.NÚplugin_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_checkr×   rÕ   rÞ   rÛ   r¡   Ú_sa_orm_load_options)Úparamsr‰   rÙ   )0Ú_cloneÚ_is_lambda_elementr   Údefault_load_optionsÚ_compile_optionsr%   Údefault_select_compile_optionsr   Údefault_compile_optionsÚ_propagate_attrsÚ_get_clauser|   Úprimary_keyrÑ   Úsql_utilÚadapt_criterion_to_nullry   r   ÚwarnÚ_deep_annotateÚ_where_criteriaÚ_for_update_argr8   ÚArgumentErrorrÆ   Ú_primary_key_propkeysÚ
differenceÚattrsÚhistoryÚhas_changesr9   Ú_propsÚ_is_relationshipr�   rw   Ú	load_pathÚparentÚoptionsÚ_set_get_optionsÚ	_order_byr&   Ú
merge_withÚexecuteÚuniqueÚscalarsÚonerÎ   ÚNoResultFound)!r°   r±   Úprimary_key_identityrw   rÕ   rÖ   r×   rÞ   rØ   rÙ   r‰   rÚ   rÛ   r¿   ÚqÚcompile_optionsrÆ   rð   Ú_get_paramsÚcolÚvalueÚnonesÚid_valrñ   rè   ræ   Úrefresh_state_prokeysrÑ   rý   ÚmpÚpÚnew_compile_optionsr—   s!                                    r;   rß   rß     sÈ  € ð$ €EØ�‰‹€Aà×#Ò#Ð#Ð#àÐÜ#×8Ñ8ˆð 	×"Ñ"Ü×5Ñ5ñ	6ô *×AÑA‰à#×4Ñ4ˆàÐ'Ø×'Ñ'Ð(8Ñ9ˆà%+×%7Ñ%7Ñ"ˆ�kð Ð'Ñ'ô #& f×&8Ñ&8Ð:NÔ"Oôá"O‘J�C˜Ø�=ð ˜CÑ ×$Ó$Ø"Oð ñ ô #×:Ñ:¸;ÈÓNˆKä�5‹zœSÐ!5Ó6Ò6Ü—	‘	ðôô ×#Ñ# K°,ÀÐ1EÓFð
ˆÔô (+Ø$ f×&8Ñ&8ô(ô
ñ(Ñ#�˜ð ˜Ñ$×(Ñ(¨&Ñ0ð(ð 	ò 
ð ˆàÐ"ØˆØ+ˆÕØ	×	Ñ	Ð	*ØˆØ!×1Ñ1ˆÕàˆá™?ÙÜ×&Ñ&ØKóð ð !.× 4Ñ 4× JÑ JÐð -×7Ñ7¸ÔHó
áH�Ø×"Ñ" 3Ñ'×/Ñ/×;Ñ;Ô=ò ØHð 	ð 
ñ
 ô ×,Ñ,ðà�-˜|¨M×,@Ñ,@Ð+Að B,ð,óð ðD ×!Ñ!×(Ñ(ˆÛ ˆAØ�!‰u×%Ó%Ø"7×"=Ñ"=¸oÓ"N�Ùð !ñ
 ˜×3Ò3Ø˜O¨]×-DÑ-D×-KÑ-KÐLÑLˆØˆA�I‰I�}×1Ñ1Ð2ˆä(8ØØØ#Ø'Ø#Ø%Ø'ô)Ñ%Ð˜ð -€AÔØ€A„KáØ˜ uÐ-Ñ-ˆäŸ™×2Ñ2ØÐ2°LÐAóÐð 	�‰ØØØ/Ø)ð	 	ó 	
÷ 
‰‹ß	‰‹ð ðØ�z‰z‹|ÐùóSùó&
ùò2
øô| × Ñ ò Ùðús$   Â)L=Å MÇ0M	Ì-M ÍM$Í#M$c                óž   — i }i }	|r||	d<   |r||	d<   |r
||	d<   d|d<   |rt        |«      |d<   |r||	d<   |r||	d<   |	r||	z  }|r| |z  } | |fS )	NÚ_version_checkÚ_populate_existingÚ_refresh_stateTÚ_for_refresh_stateÚ_only_load_propsÚ_identity_tokenÚ_is_user_refresh)Ú	frozenset)
Úcompile_optÚload_optÚpopulate_existingræ   r×   rÕ   rÞ   rÛ   r  rw   s
             r;   r  r  Æ  s—   € ð €OØ€LÙØ)6ˆÐ%Ñ&ÙØ->ˆÐ)Ñ*ÙØ)6ˆÐ%Ñ&Ø04ˆÐ,Ñ-ÙÜ.7¸Ó.HˆÐ*Ñ+ÙØ*8ˆÐ&Ñ'áØ+:ˆÐ'Ñ(ÙØ�LÑ ˆÙØ�Ñ&ˆà˜Ð Ð r=   c	           	     óœ  — |r|j                  |«      }
n|j                  }
i }|j                  | j                  d|«       |xr t	        |«      dk(  xr |d   j
                  }|
D ].  }|r|j                  |vrŒ |j                  | |||f||||dœ|	¤Ž Œ0 |�5||j                  ur&|r|j                  |   }n|}|j                  |«       y y y )NÚmemoized_setupsr   éÿÿÿÿ)r×   Úcolumn_collectionÚmemoized_populatorsÚcheck_for_adapt)Ú_iterate_polymorphic_propertiesÚ_polymorphic_propertiesÚsetr   ry   Úis_aliased_classrÑ   ÚsetupÚpolymorphic_onÚcolumnsr®   )ru   rÆ   r‘   r^   Úadapterr&  Úwith_polymorphicr×   Úpolymorphic_discriminatorÚkwÚpoly_propertiesÚquick_populatorsr(  r  Úpds                  r;   Ú_setup_entity_queryr7  è  s   € ñ Ø ×@Ñ@Øó
‰ð !×8Ñ8ˆàÐà‡H�Hˆ]×%Ñ%Ð'8Ð:JÔKð ÒN¤# d£)¨q¡.ÒN°T¸"±X×5NÑ5N€Oã ˆÙ˜uŸy™y°Ñ?ØØˆ�‰ØØØØð	
	
ð
 ,Ø/Ø 0Ø+ñ
	
ð ó
	
ð !ð  	"Ð-Ø%¨V×-BÑ-BÑBáØ—‘Ð!:Ñ;‰Bà*ˆBØ× Ñ  Õ$ð Cð 	.r=   c                óH   — t        j                  dt        | «      ›d�«       y )NzLoading 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.)r   rô   r   )rÓ   s    r;   Ú_warn_for_runid_changedr9    s   € Ü‡I‚Iô !*¨%Õ 0ð	3õr=   c
                óð  ‡‡‡‡‡"‡#‡$‡%‡&‡'‡(‡)‡*‡+‡,‡-‡.‡/‡0‡1‡2‡3‡4‡5‡6— ‰j                   Š"‰j                  }
d‰f}|j                  |
j                  |d«      }|�€á‰j                  }‰�|j                  ˆfd„‰D «       «      }|j                  ‰j                  dt        «      }g }g g g g g g dœ}‰€<‰j                  }|r|D �cg c]  }|j                  |   ‘Œ }}|j                  |«      Š.ndŠ.||‰.dœ}|D �]$  }||v �r||   }|t        u r+|d   j                  |j                  |j                  f«       ŒA|t        u r!|d   j                  |j                  d	f«       Œj|t        u r+|d   j                  |j                  |j                   f«       Œ�d}|r#|j                  |   }|�|j#                  |d	«      }|s|j#                  |d	«      }|r!|d
   j                  |j                  |f«       Œû|j%                  ‰| |‰|||«       �Œ|j                  |«       �Œ' |j'                  |
j                  ||«       |d   }|j)                  «       D ��ci c]  \  }}|t+        |«      “Œ c}}Š,|d   D ]  }|j%                  ‰| |‰||‰,«       Œ ‰j,                  Š/‰j                  j.                  j0                  r‰j                  j.                  |z   n|Š(‰j2                  j4                  Š4‰j6                  xs ‰j8                  Š+t;        ‰j<                  j>                  j@                  «      Š't;        ‰j<                  j>                  jB                  «      Š0t;        ‰j2                  j>                  jD                  «      Š*‰*r ‰j2                  j>                  jD                  Š)t        jF                  Š%t        jH                  Š$‰j2                  jJ                  Š3‰jL                  Š2‰jN                  Š#‰jP                  Š5‰5r3‰jR                  }|�#|r|j                  |   }|j#                  |«      Š6ndŠ6‰�s|	��d|j0                  f}|‰j                  v r9‰j                  |   jT                  dk(  r‰j                  |   jV                  d   }nd}‰jY                  ||	«      }|r˜||	ur”‰�J ‚|jZ                  r/g }|}|r,||	ur(|j                  |«       |j\                  }|r	||	urŒ$n|g}|D ]M  }t^        ja                  ‰‰(|«      rŒtc        ‰|||	|«      }t^        je                  ‰‰(|jf                  |||«       ŒO t^        ji                  ‰‰(‰«      Š-‰r ‰j                  Š1‰1€‰jk                  ‰«      Š1ndŠ1|d   Š.‰jl                  rtn        jp                  Š&ntn        j
                  Š&ˆˆ"ˆ#ˆ$ˆ%ˆ&ˆ'ˆ(ˆ)ˆˆˆ*ˆ+ˆ,ˆ-ˆ.ˆ/ˆ0ˆ1ˆˆ2ˆ3ˆ4ˆ5ˆ6fd„} ‰jr                  r|	s‰sˆ"ˆ#ˆ&ˆ.fd„}!tu        | ‰| ‰|||||!«	      } | S c c}w c c}}w )z]Produce a mapper level row processor callable
    which processes rows into mapped instances.ÚgettersNc              3  ó<   •K  — | ]  }‰j                   |   –— Œ y ­wrh   )rþ   )Ú.0ÚkrÆ   s     €r;   Ú	<genexpr>z&_instance_processor.<locals>.<genexpr>U  s   øè ø€ ð 'Ù*9 Q�—‘˜aÕ ©/ùs   ƒr$  )ÚnewÚquickÚdeferredÚexpireÚexistingÚeager)Úcached_populatorsÚtodoÚprimary_key_getterr@  rC  FrA  rF  rG  Úloader))Úselectinload_polymorphicTÚentitiesrH  c                óÚ  •— ‰r.‰}|j                  «       } ‰|«      }|j                  ‰ k7  }d}d}n»‰ ‰| «      ‰f}‰"j                  |«      }|�: ‰|«      } ‰|«      }|j                  ‰ k7  }| }d}‰#rw‰$ru|sst        ‰||| ‰$«       nc ‰|d   «      ry d}d}d}‰j                  j                  «       } ‰|«      } ‰|«      }||_        ‰|_        ‰!|_        ‰"j                  ||«       ‰}‰|u rd}|s|�r9|r‰s|s‰|_
        ‰|_        t        ‰| |||‰||‰«	       |rú|j                  }	|rr‰r@|j                  j                  j                  |‰«       |j                  |	k7  rt!        |«       ‰rq ‰‰j"                  |«       |j                  |	k7  rOt!        |«       nC‰rA|j                  j                  j%                  |‰‰«       |j                  ‰ k7  rt!        |«       |s|j&                  r)‰r‰r|j)                  |‰«       n|j+                  |‰"«       ‰r‰j-                  |d«       |S |j.                  }
|‰j0                  v}|r|
s‰d   rut3        ‰| |||‰|
‰«      }|ra‰rM|j                  }	|j                  j                  j%                  |‰|«       |j                  |	k7  rt!        |«       |j)                  ||«       ‰r‰j4                  r‰j-                  |d«       |S )NTFr   rE  )rC   rs   rŠ   Ú_validate_version_idÚclass_managerÚnew_instancerÑ   rÞ   Ú
session_idÚ_add_unpresentrw   r   Ú_populate_fullÚmanagerÚdispatchrœ   r9  r°   ÚrefreshÚmodifiedÚ_commitÚ_commit_allÚ	add_stateÚunloadedrL   Ú_populate_partialÚinvoke_all_eagers)%rZ   rÓ   rÁ   Údict_ÚisnewÚcurrentloadÚloaded_instanceÚidentitykeyÚeffective_populate_existingÚexisting_runidrZ  Úto_loadr`   Úidentity_classrÞ   r­   r¬   Úis_not_primary_keyÚload_evtr   Úloaded_as_persistentrÆ   r×   Úpersistent_evtr"  Ú
populatorsr_   rH  Úpropagated_loader_optionsÚrefresh_evtÚrefresh_identity_keyrÕ   rs   rP  Úsession_identity_mapræ   Úversion_id_getters%               €€€€€€€€€€€€€€€€€€€€€€€€€r;   Ú	_instancez&_instance_processor.<locals>._instance+  s  ø€ áà!ˆEØ—y‘y“{ˆHÙ! (Ó+ˆEØ—K‘K 5Ñ(ˆEØˆKØ#‰Oð
 Ù" 3Ó'ØðˆKð ,×/Ñ/°Ó<ˆHàÐ#á& xÓ0�Ù% hÓ/�àŸ™ uÑ,�Ø"'˜i�Ø"'�á Ñ%6¹{Ü(Ø  u¨cÐ3Dõñ & k°!¡nÔ5Øà�Ø"�Ø"&�à!×/Ñ/×<Ñ<Ó>�á% hÓ/�Ù& xÓ0�Ø'�”	Ø'5�Ô$ð $.�Ô Ø$×3Ñ3°E¸;ÔGà&7Ð#Ø˜EÑ!Ø*.Ð'ñ
 Ò5ñ Ù)Ñ1Là%>�Ô"Ø"+�”äØØØØØØØØ+Øô
ñ ð "'§¡�á"ÙØŸ™×.Ñ.×3Ñ3°E¸7ÔCØ Ÿ;™;¨.Ò8Ü3°EÔ:Ù%Ù,¨W¯_©_¸eÔDØ Ÿ;™;¨.Ò8Ü3°EÕ:Ù Ø—M‘M×*Ñ*×2Ñ2Ø˜w¨ôð —{‘{ eÒ+Ü/°Ô6á.°%·.².Ù$©ØŸ™ e¨_Õ=à×)Ñ)¨%Ð1EÔFáØ×#Ñ# E¨4Ô0ðJ ˆð? —~‘~ˆHØ ×!1Ñ!1Ð1ˆEá™H¨
°7Ò(;ô
 ,ØØØØØØØØó	�ñ Ù"Ø).¯©˜ØŸ™×.Ñ.×6Ñ6°u¸gÀwÔOØ Ÿ;™;¨.Ò8Ü3°EÔ:à—M‘M %¨Ô1á˜W×6Ò6Ø×#Ñ# E¨5Ô1àˆr=   c                ó6   •— ‰ ‰| «      ‰f} ‰|d   «      s|S y )Nr   © )rZ   ra  re  rÞ   rf  rH  s     €€€€r;   Úensure_no_pkz)_instance_processor.<locals>.ensure_no_pkÎ  s/   ø€ àÙ" 3Ó'ØðˆKñ
 & k°!¡nÔ5Ø"Ð"àr=   );Ú_identity_classru   rŠ   r   Ú	_prop_setÚintersectionr&   rñ   r/  Ú_tuple_getterr   r®   rÑ   Ú_deferred_column_loaderr   r   Ú_raise_column_loaderÚ_getterÚcreate_row_processorr+  rR   rP   rk  Úcurrent_pathr^   r°   rÄ   r"  Úalways_refreshÚboolrN  rT  rœ   rU  rh  r¬   r­   Úhash_keyrs   rÞ   ræ   Úversion_id_colÚstrategyÚ
local_optsÚ_should_selectin_loadÚ	is_mapperrÅ   ÚPostLoadÚpath_existsÚ_load_subclass_via_inÚcallable_for_pathrÆ   Úfor_contextÚ_identity_key_from_stateÚallow_partial_pksr   Ú
issupersetÚpolymorphic_mapÚ_decorate_polymorphic_switch)7r‘   rÆ   r`   r—   r^   r0  r×   rÕ   r2  Ú_polymorphic_fromru   Ú
getter_keyr;  Úpropsr5  rG  rF  Úpk_colsÚcÚpropr  ÚgetterÚadapted_colrÑ   r  r€  Úoption_entitiesÚselectin_load_viaÚ_load_supersÚ_endmost_mapperÚ_selectinload_entityÚ	callable_rp  rs  re  rÞ   r­   r¬   rf  rg  r   rh  ri  r"  rj  r_   rH  rk  rl  rm  rs   rP  rn  ræ   ro  s7    ``   ``                          @@@@@@@@@@@@@@@@@@@@@r;   Ú_instance_processorr�  +  sN  ÿÿÿø€ ð* ×+Ñ+€NØ×)Ñ)€Mð ˜VÐ$€JØ�h‰h�}×/Ñ/°¸TÓB€Gà�ð × Ñ ˆØÐ&Ø×&Ñ&ó 'Ù*9ó'ó ˆEð  Ÿ8™8Ø×ÑÐ 1´:ó
Ðð ˆàØØØØØñ
Ðð Ð à×(Ñ(ˆGáÙ7>Ó?±w°!˜7Ÿ?™?¨1Ó-°w�Ð?Ø!'×!5Ñ!5°gÓ!>Ñà!%Ðð "3ØØ"4ñ
ˆô
 ˆDØÐ'Ò'à& tÑ,�ØÔ*Ñ*Ø% eÑ,×3Ñ3ØŸ™ 4×#?Ñ#?Ð@õð Ô1Ñ1ð & hÑ/×6Ñ6¸¿¹À%Ð7HÕIØÔ,Ñ,Ø% eÑ,×3Ñ3ØŸ™ 4×#<Ñ#<Ð=õð "�FÙð* '.§o¡o°cÑ&:˜Ø&Ð2Ø%+§^¡^°KÀÓ%G˜FÙ!Ø!'§¡°°UÓ!;˜ÙØ)¨'Ñ2×9Ñ9¸4¿8¹8ÀVÐ:LÕMð
 ×1Ñ1Ø#Ø(Ø Ø"Ø"Ø#Ø-öð —‘˜DÖ!ðA ðD 	�‰�×)Ñ)¨:°wÔ?àÐ 3Ñ4Ðà5F×5LÑ5LÔ5NÔOÑ5N¡z s¨E�#”t˜E“{Ñ"Ð5NÒO€JØ˜”ˆØ×!Ñ!Ø�\ 4¨°¸À*õ	
ð  ð
 !(× AÑ AÐð × Ñ ×-Ñ-×2Ò2ð 	×Ñ×*Ñ*¨TÒ1àð ð #Ÿ?™?×7Ñ7Ðà×1Ñ1ÒJ°V×5JÑ5JÐÜ�F×(Ñ(×1Ñ1×6Ñ6Ó7€HÜ�v×+Ñ+×4Ñ4×<Ñ<Ó=€KÜ˜'Ÿ/™/×2Ñ2×GÑGÓH€NÙØ&Ÿ™×7Ñ7×LÑLÐÜ×.Ñ.€NÜ×,Ñ,€MØ—‘×)Ñ)€JØ�M‰M€EØ×+Ñ+€Nà×)Ñ)€MÙØ×.Ñ.ˆØÐ%ÙØ!(§¡°Ñ!@�Ø &§¡¨~Ó >Ñà $ÐâÐ.Ñ:Ø˜Ÿ™Ð#ˆà�'×$Ñ$Ñ$¨×);Ñ);¸CÑ)@×)IÑ)Ið N
ò *
ð &×0Ñ0°Ñ5×@Ñ@ÀÑL‰Oà"ˆOØ"×8Ñ8ØØó
Ðñ
 Ð!2Ð:KÑ!Kð #Ð*Ð*Ð*à ×*Ò*Ø!�Ø"3�á#Ø'Ð/@Ñ@à ×'Ñ'¨Ô8Ø&5×&>Ñ&>�Oñ	 $Ø'Ð/@Ó@ð
 !2Ð2�ã(4Ð$Ü×'Ñ'Ø˜YÐ(<ôð Ü1ØØØ(Ø%Ø#ó�	ô ×*Ñ*ØØØ(×/Ñ/Ø(ØØ(õð )5ô* ×$Ñ$ W¨i¸ÓI€IáØ,×0Ñ0ÐØÐ'ð $*×#BÑ#BØó$Ñ ð  $Ðà$Ð%9Ñ:Ðà×ÒÜ&×1Ñ1Ñä&×3Ñ3Ð÷^÷ ^÷ ^ô ^ð@ ×ÒÑ&7Á÷		ô 1ØØØØØØØ%ØØó

ˆ	ð Ðùòs @ùó` Ps   Â>W-ÉW2c                ó   ‡‡‡	‡
‡‡— |j                   Š
|j                   }|j                  d u}t        ‰
j                  j                  «      dk(  Š|j
                  s|r‰
j                  ||«      \  ŠŠ	Šn‰
j                  \  ŠŠ	Šˆˆ	ˆ
ˆˆˆfd„}|S )Nr   c                ó
  •— ‰s4|D ��cg c]$  \  }}|j                   j                  ‰«      r||f‘Œ& }}}|sy | j                  }|j                  r#‰j	                  |«      }‰j	                  |«      }	n‰}‰}	|f|j
                  z   |	fz   }
 ‰j                  |
Ž }| j                  j                  |_	        |xj                  d|j                  iz  c_	        | j                  r|j                  d¬«      }| j                  j                  |t        |D ��cg c](  \  }}‰r|j                  d   d   n|j                  d   ‘Œ* c}}¬«      «      j!                  «       j#                  «       j%                  «        y c c}}w c c}}w )Nrå   T)r"  r   r   )Úprimary_keys)rÆ   Ú+_would_selectin_load_only_from_given_mapperr¿   r  Ú_prepend_pathÚ_with_optionsr  ru   rî   rì   r"  r‰   r°   r  rŽ   rÑ   r  r  Úall)r`   r^   ÚstatesÚ	load_onlyÚeffective_entityÚsÚvÚ
orig_queryÚenable_opt_lclÚdisable_opt_lclr  Úq2rÓ   Ú
load_attrsÚdisable_optÚ
enable_optrÆ   r—  r  Úzero_idxs                 €€€€€€r;   Údo_loadz&_load_subclass_via_in.<locals>.do_loadü  sy  ø€ Ùñ #ôá"‘D�A�qØ—8‘8×GÑGÈÔOð �A’Ø"ð ñ ñ Øà—]‘]ˆ
à�;Š;Ø'×5Ñ5°dÓ;ˆNØ)×7Ñ7¸Ó=‰Oà'ˆNØ)ˆOàÐ 
× 8Ñ 8Ñ8¸OÐ;MÑMð 	ð ˆQ�Y‰Y˜Ð ˆà%×3Ñ3×KÑKˆÔØ
×Ò °·±Ð=Ñ=Õà×$Ò$Ø×%Ñ%¸Ð%Ó=ˆBà�‰×ÑØÜñ .4ôá-3Ñ)˜˜zñ (0�E—I‘I˜a‘L ’O°U·Y±Y¸q±\ÑAØ-3òôó	
÷ ‰&‹(—7‘7“9ŸS™S�UùóKùó@s   ‰)E9Ä-E?)rÆ   rÅ   ry   Úbase_mapperrñ   r,  Ú_subclass_load_via_inÚ_subclass_load_via_in_mapper)r`   r^   ÚentityÚpolymorphic_fromr—  Úpolymorphic_from_mapperÚnot_against_basemostr²  r¯  r°  rÆ   r  r±  s       `   @@@@@r;   r‡  r‡  è  s—   ý€ ð �]‰]€Fð
 /×5Ñ5ÐØ2×;Ñ;À4ÐGÐä�6×%Ñ%×1Ñ1Ó2°aÑ7€Hà×ÒÑ"6Ø%+×%AÑ%AØÐ$ó&
Ñ"ˆˆ:‘{ð &,×%HÑ%HÑ"ˆˆ:�{÷,#ñ ,#ð\ €Nr=   c	                ó$  — |r¬| j                   |_         |d   D ]  \  }	}
 |
|«      ||	<   Œ |r>|d   D ]5  \  }	}|j                  |	d «       |sŒ|j                  j                  |	«       Œ7 n+|d   D ]#  \  }	}|sŒ	|j                  j                  |	«       Œ% |d   D ]  \  }	} ||||«       Œ y ||j                  k7  r<||_        |d   D ]  \  }	}
|	|vsŒ |
|«      ||	<   Œ |d   D ]  \  }	} ||||«       Œ y |d   D ]  \  }	} ||||«       Œ y )NrA  rC  r@  rD  )rs   ÚpopÚexpired_attributesÚaddr   )r`   rZ   rÓ   r]  r^  r   r`  r"  rj  rÑ   r•  Úset_callableÚ	populators                r;   rR  rR  -  s?  € ñ à—m‘mˆŒà% gÔ.‰KˆC�Ù ›ˆE�#ŠJð /áØ%/°Ô%9Ñ!��\Ø—	‘	˜#˜tÔ$ÚØ×,Ñ,×0Ñ0°Õ5ñ &:ð
 &0°Ô%9Ñ!��\ÚØ×,Ñ,×0Ñ0°Õ5ð &:ð )¨Ô/‰NˆC�Ù�e˜U CÕ(ñ 0ð 
�e—o‘oÒ	%ð $ˆŒð & gÔ.‰KˆC�Ø˜%ÒÙ# C›[��c’
ð /ð
 )¨Ô4‰NˆC�Ù�e˜U CÕ(ñ 5ð )¨Ô4‰NˆC�Ù�e˜U CÕ(ñ 5r=   c                óð  — |sK|r|d   D ]  \  }}	||v sŒ |	|«      ||<   Œ | j                   |   }
|d   D ]  \  }}||
v sŒ ||||«       Œ nŒ|}
|
| j                   |<   |d   D ]  \  }}	||
v sŒ |	|«      ||<   Œ |d   D ]:  \  }}||
v sŒ|j                  |d «       |sŒ |j                  j                  |«       Œ< |d   D ]  \  }}||
v sŒ ||||«       Œ |d   D ]  \  }}||vsŒ ||||«       Œ |
S )NrA  rD  rC  r@  rE  )rL   r»  r¼  r½  )r`   rZ   rÓ   r]  r^  r   rZ  rj  rÑ   r•  rd  r¿  r¾  s                r;   r[  r[  f  sA  € ñ Ùà)¨'Ô2‘��VØ˜(’?Ù!'¨£�E˜#’Jð  3ð ×"Ñ" 5Ñ)ˆØ(¨Ô4‰NˆC�Ø�gŠ~Ù˜% ¨Õ,ñ 5ð ˆØ")ˆ×Ñ˜Ñà% gÔ.‰KˆC�Ø�gŠ~Ù# C›[��c’
ð /ð ",¨HÔ!5ÑˆC�Ø�gŠ~Ø—	‘	˜#˜tÔ$ÚØ×,Ñ,×0Ñ0°Õ5ð	 "6ð
 )¨Ô/‰NˆC�Ø�gŠ~Ù˜% ¨Õ,ð 0ð % WÔ-‰ˆˆYØ�hÒÙ�e˜U CÕ(ð .ð €Nr=   c           
     óâ   — | j                  ||| j                  «       ||«      k7  rIt        j                  dt	        |«      ›d| j                  ||| j                  «      ›d ||«      ›d�«      ‚y )Nz
Instance 'z' has version id 'z3' which does not match database-loaded version id 'z'.)Ú_get_state_attr_by_columnr€  rÎ   ÚStaleDataErrorr   )rÆ   rÓ   r]  rZ   r•  s        r;   rM  rM  ‹  sv   € Ø×'Ñ'Øˆu�f×+Ñ+óá	�‹òô ×$Ò$ô ˜%Õ Ø×0Ñ0Ø˜5 &×"7Ñ"7õñ �s•ðó

ð 
	
ðr=   c	                óÜ   ‡ ‡‡‡‡‡‡‡‡‡‡— |�|Šn‰j                   Š‰€‰ S ‰r‰j                  ‰   Šˆˆˆˆˆˆfd„}	t        j                  |	«      Š‰j	                  ‰«      Šˆˆˆ ˆˆˆfd„}
|
S )Nc           	     ó¬   •— 	 ‰j                   |    }|‰u ry |j                  ‰«      syt        ‰|‰‰‰‰‰¬«      S # t        $ r t	        d| z  «      ‚w xY w)NF)r�  z*No such polymorphic_identity %r is defined)r�  rÇ   r�  ÚKeyErrorÚAssertionError)ÚdiscriminatorÚ
sub_mapperr0  r`   rÆ   r^   r‘   r—   s     €€€€€€r;   Úconfigure_subclass_mapperz?_decorate_polymorphic_switch.<locals>.configure_subclass_mapper±  s|   ø€ ð	Ø×/Ñ/°Ñ>ˆJð ˜VÑ#ØØ—^‘^ FÔ+Øä&ØØØØØØØ"(ôð øô ò 	Ü Ø<¸}ÑLóð ð	ús	   ƒ; »Ac           
     ó  •—  ‰| «      }|�T‰|   }|r || «      S |du r9 ‰| «      }|r.t        j                  d|›d‰	›d‰j                  |   ›d‰›�«      ‚y  ‰| «      S  ‰| «      }|rt        j                  d|›d‰	›d�«      ‚y )NFzRow 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)r8   r9   r�  )
rZ   rÈ  rp  ra  rs  r•  Úinstance_fnrÆ   Úpolymorphic_instancesr.  s
       €€€€€€r;   Úpolymorphic_instancez:_decorate_polymorphic_switch.<locals>.polymorphic_instanceÌ  s°   ø€ Ù˜s›ˆØÐ$Ø-¨mÑ<ˆIÙÙ  “~Ð%Ø˜eÑ#Ù*¨3Ó/�áÜ ×4Ò4ò (Ú*Ø"×2Ñ2°=ÓAÙ"ð	óð ð  á" 3Ó'Ð'á& sÓ+ˆKáÜ×0Ò0ò *ª>ð;óð ð r=   )r.  r/  r   ÚPopulateDictrz  )rÌ  r`   r‘   rÆ   r—   r^   r2  r0  rs  rÊ  rÎ  r•  rÍ  r.  s   `````` ``  @@@r;   rŽ  rŽ  œ  sx   ÿú€ ð !Ð,Ø2‰à×.Ñ.ˆØÐØÐáØ Ÿ™¨Ñ8ˆ÷ñ ô. !×-Ñ-Ð.GÓHÐà�^‰^˜NÓ+€F÷$ñ $ðL  Ðr=   c                  óV   — e Zd ZdZdZd„ Zd„ Zd„ Zed„ «       Z	ed„ «       Z
ed„ «       Zy	)
r…  z4Track loaders and states for "post load" operations.)Úloadersr¥  Ú	load_keysc                óR   — i | _         t        j                  «       | _        d | _        y rh   )rÑ  r   ÚOrderedDictr¥  rÒ  )Úselfs    r;   Ú__init__zPostLoad.__init__ú  s    € ØˆŒÜ×&Ñ&Ó(ˆŒØˆ�r=   c                ó"   — || j                   |<   y rh   )r¥  )rÕ  rÓ   Ú	overwrites      r;   rY  zPostLoad.add_stateÿ  s   € ð
 'ˆ�‰�EÒr=   c                óÆ  — | j                   sy t        j                  j                  |«      }| j                  j                  «       D ]x  \  }}}}}}| j                   j                  «       D �	�
cg c].  \  }	}
|	j                  j                  j                  |«      r|	|
f‘Œ0 }}	}
|sŒ` ||||| j                  g|¢­i |¤Ž Œz | j                   j                  «        y c c}
}	w rh   )r¥  r   ÚPathRegistryÚcoercerÑ  ÚvaluesrR   rS  rÆ   rÇ   rÒ  rS   )rÕ  r`   r^   Úeffective_contextÚtokenÚlimit_to_mapperrI  Úargr3  rÓ   rØ  r¥  s               r;   rT   zPostLoad.invoke  sâ   € Ø�{Š{ØÜ×)Ñ)×0Ñ0°Ó6ˆð �\‰\× Ñ Ö"ñ
ØØØØØØð )-¯©×(9Ñ(9Ô(;ôá(;Ñ$�E˜9Ø—=‘=×'Ñ'×+Ñ+¨OÔ<ð ˜	Ò"Ø(;ð ñ ò
 ÙØ% t¨V°T·^±^ðØFIòØMOóð #ð 	�‰×ÑÕùós   Á.3Cc                óf   — |j                   j                  |j                  «      }|�	|r||_        |S rh   )rQ   rŠ   r^   rÒ  )Úclsr`   r^   r×   Úpls        r;   r‰  zPostLoad.for_context  s/   € à×$Ñ$×(Ñ(¨¯©Ó3ˆØˆ>™oØ*ˆBŒLØˆ	r=   c                ó€   — |j                   |j                  v xr% ||j                  |j                      j                  v S rh   )r^   rQ   rÑ  )rÕ  r`   r^   rÑ   s       r;   r†  zPostLoad.path_exists$  s>   € ð �I‰I˜×0Ñ0Ð0ò BØ�w×.Ñ.¨t¯y©yÑ9×AÑAÐAð	
r=   c                óØ   — |j                   |j                  v r|j                  |j                      }n#t        «       x}|j                  |j                   <   ||||||f|j                  |<   y rh   )r^   rQ   r…  rÑ  )	râ  r`   r^   rß  rÞ  Úloader_callablerà  r3  rã  s	            r;   rˆ  zPostLoad.callable_for_path+  sg   € ð �9‰9˜×/Ñ/Ñ/Ø×(Ñ(¨¯©Ñ3‰Bä6>³jÐ@ˆB�×(Ñ(¨¯©Ñ3àØØØØØð
ˆ�
‰
�5Òr=   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__rÖ  rY  rT   Úclassmethodr‰  r†  rˆ  rr  r=   r;   r…  r…  õ  sU   „ Ù>à0€Iòò
'òð. ñó ðð ñ
ó ð
ð ñ
ó ñ
r=   r…  c                ó  — |j                   }|s!t        j                  dt        |«      z  «      ‚t	        |t
        j                  z  «      }|r)|j                  | j                  j                  «       «      }| j                  r=| j                  s1| j                  ||«      }|�t        | |«      }t        ||d|||¬«      S t	        |j                  «      }|r|j                  }	n}| j                   D �
cg c]  }
| j"                  |
   j                  ‘Œ }}
|j$                  j                  |«      r!t'        j(                  dt        |«      z  «      ‚| j+                  |«      }	t-        j.                  |	«      r| j0                  rt-        j2                  |	«      r t5        j6                  dt        |«      «       yt        |t9        | «      j;                  t<        «      |	|||¬«      }|r|€t        j>                  |«      ‚yyc c}
w )z4initiate a column-based attribute refresh operation.zQInstance %s is not bound to a Session; attribute refresh operation cannot proceedN)r×   rÕ   rØ   z_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).)rÕ   r×   rØ   ) r°   rÎ   ÚDetachedInstanceErrorr   r~  r   ÚNO_AUTOFLUSHrv  rû   r¸   rÅ   ÚconcreteÚ_optimized_get_statementr   rá   rÑ   rñ   Ú_columntopropertyr¼  r8   r9   rŠ  r   Úissubsetr‹  rŒ  r   Úwarn_limitedr"   Úset_label_styler$   rÏ   )rÆ   rÓ   Úattribute_namesrÒ   r°   rØ   r±   ÚstmtÚhas_keyÚidentity_keyr  Úpk_attrsr—   s                r;   Úload_scalar_attributesrû  =  sþ  € ð �m‰m€GÙÜ×+Ñ+ð9Ü<EÀeÓ<LñNó
ð 	
ô
 ˜¤*×"9Ñ"9Ñ9Ó:€Lñ Ø)×6Ñ6°v·|±|×7HÑ7HÓ7JÓKˆà‡‚˜vŸšð ×3Ñ3°E¸?ÓKˆ	ØÐ ô ! ¨Ó3ˆDä ØØØØ /Ø#Ø)ôð ô �5—9‘9‹o€GáØ—y‘y‰ð :@×9KÒ9Kó
Ù9K°#ˆF×$Ñ$ SÑ)×-Ó-Ð9Kð 	ð 
ð ×#Ñ#×0Ñ0°Ô:Ü×,Ñ,ð.ä09¸%Ó0@ñAóð ð
 ×6Ñ6°uÓ=ˆô 	×Ñ˜<Ô(°×1IÒ1IÜ	×	Ñ	˜lÔ	+Ü×Ñð2ô �eÓô		
ð 	äØÜˆv‹×&Ñ&Ô'EÓFØØØ'Ø!ô€Fñ �6�>Ü×(Ñ(¨Ó/Ð/ð "€wùòC
s   Ã2 G?)ra   zCursorResult[Any]r`   r   ÚreturnzResult[Any])T)r¿   z
Query[Any]rÀ   z>Union[FrozenResult, Iterable[Sequence[Any]], Iterable[object]]rœ   r~  rü  z"Union[FrozenResult, Iterable[Any]])
r°   r,   rÆ   z
Mapper[_O]rÑ   z_IdentityKeyType[_O]rÒ   r   rü  z)Union[LoaderCallableStatus, Optional[_O]])r°   r,   r±   úUnion[Select, FromStatement]rÑ   zOptional[_IdentityKeyType]rw   úOptional[Sequence[ORMOption]]rÕ   úOptional[InstanceState[Any]]rÖ   úOptional[ForUpdateArg]r×   úOptional[Iterable[str]]rØ   r~  rÙ   úMapping[str, Any]r‰   r/   rÚ   r~  rÛ   r~  )r°   r,   r±   rý  r  zOptional[Tuple[Any, ...]]rw   rþ  rÕ   rÿ  rÖ   r   r×   r  rÞ   zOptional[Any]rØ   r~  rÙ   r  r‰   r/   rÚ   r~  rÛ   r~  )NNNNNN)NNN)NNNN)\rê  Ú
__future__r   Útypingr   r   r   r   r   r	   r
   r   r   r   r   Ú r   r   rÎ   r   Úbaser   r   r   r   r`   r   r   r   r   r   r   r8   Úenginer   Úengine.resultr   r    r!   Úsqlr"   rò   Úsql.selectabler#   r$   r%   r&   Ú_typingr'   r(   Ú
interfacesr)   rÆ   r*   r¿   r+   r°   r,   rÓ   r-   Úengine.cursorr.   Úengine.interfacesr/   r0   r1   r2   Úobjectr4   Úcounterrr   ÚstrÚ_PopulatorDictr˜   Úpreload_moduler»   Úbecame_legacy_20rÂ   rÔ   rá   rß   r  r7  r9  r�  r‡  rR  r[  rM  rŽ  r…  rû  rr  r=   r;   Ú<module>r     s  ðñõ #å Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý å Ý Ý Ý "Ý "Ý 'Ý Ý "Ý $Ý !Ý Ý Ý Ý Ý !Ý 1Ý (Ý 0Ý Ý "Ý )Ý ;Ý (Ý áÝ)Ý*Ý%ÝÝÝ Ý$Ý,Ý3Ý&ÝáˆT˜Ô€ÙˆT˜Ô €ØˆT�\‰\‹^€
ð �c˜4  c¨3 h¡Ñ0Ð0Ñ1€óZðz €×ÑÐ-Ó.ò8&ó /ð8&ðv €×ÑØðFôð
 €×ÑÐ-Ó.ð ðQ&ØðQ&àLðQ&ð ðQ&ð (ò	Q&ó /óðQ&ðh#Øð#àð#ð 
ð#ð ð	#ð
 /ó#ðV 37Ø26Ø.2Ø/3ØØ(,¯©Ø)-¯©Ø!Ø!ñ$Øð$à+ð$ð 
$ð$ð
 0ð$ð 0ð$ð ,ð$ð -ð$ð ð$ð &ð$ð 'ð$ð ð$ð ó$ðX 37Ø26Ø.2Ø/3Ø$(ØØ(,¯©Ø)-¯©Ø!Ø!ñuØðuà+ðuð 4ðuð
 0ðuð 0ðuð ,ðuð -ðuð "ðuð ðuð &ðuð 'ðuð ðuð óuðv ØØØØØó!ðR ØØ"ó4%òn	ð& ØØ"ØózòzBòJ3)òr"òJ
ò"V ÷rE
ñ E
óPU0r=   