
    g?i                    2   S SK Jr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S S	K
Jr  S S
K
Jr  S SK
Jr  S SK
Jr  S SK
Jr  S SK
Jr  S SK
Jr  S SK
Jr  S SK
Jr  S SKJr  S SKJr  S SKJr  SSKJr  SSKJr  SSKJr  SSKJ r   SSKJ!r!  SSKJ"r"  SSKJ#r#  SSKJ$r$  SSKJ%r%  SSKJ&r&  SS KJ'r'  SS!KJ(r(  SS"KJ)r)  SS#KJ*r*  \(       a0  S S$KJ+r+  S S%K,J-r-  S S&K.J/r/  S S'K.J0r0  S S(K1J2r2  S S)KJ3r3  S S*K4J5r5  SS+K6J7r7   " S, S-5      r8 " S. S/5      r9g0)1    )annotations)Any)Dict)List)Optional)Tuple)TYPE_CHECKING)Union)CheckConstraint)Column)ForeignKeyConstraint)Index)MetaData)PrimaryKeyConstraintschema)Table)types)SchemaEventTarget)OrderedDict)topological   )exc)_columns_for_constraint)_copy)_copy_expression)_ensure_scope_for_ddl)_fk_is_self_referential)_idx_table_bound_expressions)_insert_inline)_is_type_bound)_remove_column_from_collection)_resolve_for_variant)_select)constraint_name_defined)constraint_name_string)Literal)Dialect)ColumnClause)quoted_name)Function)
Constraint)
TypeEngine)DefaultImplc                      \ rS rSrS r\SS j5       r\SS j5       rSS jrSS jr	SS jr
SS jrSS	 jrSS
 jrSS jrS rSS jrSS jrS rS rS rS rS rSrg)BatchOperationsImpl7   c           	        Xl         X l        X0l        US;  a  [        S5      eX@l        XPl        X`l        [        U5      U l        Xl	        [        U	5      U l
        U R                  R                  S[        U R                  R                  SS5      5      5        U R                  S   R                  SUR                  R                   45        Xl        Xl        / U l        g )N)autoalwaysneverz4recreate may be one of 'auto', 'always', or 'never'.	listeners column_reflect)
operations
table_namer   
ValueErrorrecreate	copy_from
table_argsdicttable_kwargsreflect_argsreflect_kwargs
setdefaultlistgetappendimplautogen_column_reflectnaming_conventionpartial_reorderingbatch)selfr9   r:   r   r<   r=   r>   r@   rA   rB   rI   rJ   s               `/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/alembic/operations/batch.py__init__BatchOperationsImpl.__init__8   s     %$66F  !"$ .(">2&&d1155k2FG	
 	K(//zEEF	
 "3"4
    c                B    U R                   R                  R                  $ N)r9   rG   dialectrL   s    rM   rS   BatchOperationsImpl.dialect]   s    ##+++rP   c                .    U R                   R                  $ rR   )r9   rG   rT   s    rM   rG   BatchOperationsImpl.impla   s    ###rP   c                    U R                   S:X  a%  U R                  R                  R                  U 5      $ U R                   S:X  a  gg)Nr3   r4   TF)r<   r9   rG   requires_recreate_in_batchrT   s    rM   _should_recreate$BatchOperationsImpl._should_recreatee   s;    ==F"??''BB4HH]]h&rP   c           
     @   U R                  5       n[        U R                  R                  5         U(       d@  U R                   H.  u  p#n[        U R                  R                  U5      nU" U0 UD6  M0     GOU R                  (       a  [        U R                  S9nO
[        5       nU R                  b  U R                  nSnOU R                  R                  R                  (       aO  [        R                  " SU R                  R                  R                  R                   SU R                    S35      e[#        U R                   U/U R$                  Q7U R&                  U R                  R)                  5       S.U R*                  D6nSn[-        U R                  UU R.                  U R0                  UU R2                  S9n	U R                   H  u  p#n[        X5      nU" U0 UD6  M     U	R5                  U R                  5        S S S 5        g ! , (       d  f       g = f)	N)rI   FzEThis operation cannot proceed in --sql mode; batch mode with dialect zF requires a live database connection with which to reflect the table "z". To generate a batch SQL migration script using table "move and copy", a complete Table object should be passed to the "copy_from" argument of the batch_alter_table() method so that table reflection can be skipped.)r   autoload_withT)rJ   )rZ   r   rG   
connectionrK   getattrr9   rI   r   r=   migration_contextas_sqlr   CommandErrorrS   namer:   r   rA   r   get_bindrB   ApplyBatchImplr>   r@   rJ   _create)
rL   should_recreateopnameargkwfnm1existing_table	reflected
batch_impls
             rM   flushBatchOperationsImpl.flushm   s   //1"499#7#78"'+zzOF !5!5v>BNrN (2 ))!D4J4JKB!B>>-%)^^N %I88??!..7#@@HHMMN O559__4E F9	
9  &+&
 **&  ${{&*oo&>&>&@	& --&N !%I+II"OO%%'+'>'>
 (,zzOF 4BNrN (2 ""499-i 988s   GH
Hc                >    U R                   R                  SX45        g )Nalter_columnrK   rF   rL   ri   rj   s      rM   rs    BatchOperationsImpl.alter_column       

>334rP   c                    SU;   d  SU;   a+  U R                  5       (       d  [        R                  " S5      eU R                  R	                  SX45        g )Ninsert_beforeinsert_afterz^Can't specify insert_before or insert_after when using ALTER; please specify recreate='always'
add_column)rZ   r   rb   rK   rF   ru   s      rM   r{   BatchOperationsImpl.add_column   sQ    r!^r%9''))"":  	

<12rP   c                >    U R                   R                  SX45        g )Ndrop_columnrt   ru   s      rM   r~   BatchOperationsImpl.drop_column   s    

=#23rP   c                B    U R                   R                  SU40 45        g )Nadd_constraintrt   rL   consts     rM   r   "BatchOperationsImpl.add_constraint   s    

+eXr:;rP   c                B    U R                   R                  SU40 45        g )Ndrop_constraintrt   r   s     rM   r   #BatchOperationsImpl.drop_constraint   s    

,uh;<rP   c                >    U R                   R                  SX45        g )Nrename_tablert   ru   s      rM   r    BatchOperationsImpl.rename_table   rw   rP   c                B    U R                   R                  SU4U45        g )Ncreate_indexrt   rL   idxrj   s      rM   r    BatchOperationsImpl.create_index   s    

>C6267rP   c                B    U R                   R                  SU4U45        g )N
drop_indexrt   r   s      rM   r   BatchOperationsImpl.drop_index   s    

<#45rP   c                B    U R                   R                  SU40 45        g )Ncreate_table_commentrt   rL   tables     rM   r   (BatchOperationsImpl.create_table_comment   s    

1E8R@ArP   c                B    U R                   R                  SU40 45        g )Ndrop_table_commentrt   r   s     rM   r   &BatchOperationsImpl.drop_table_comment   s    

/%2>?rP   c                    [        S5      e)Nz Can't create table in batch modeNotImplementedErrorr   s     rM   create_table BatchOperationsImpl.create_table   s    !"DEErP   c                    [        S5      e)NzCan't drop table in batch moder   r   s     rM   
drop_tableBatchOperationsImpl.drop_table   s    !"BCCrP   c                B    U R                   R                  SU40 45        g )Ncreate_column_commentrt   rL   columns     rM   r   )BatchOperationsImpl.create_column_comment   s    

2VIrBCrP   )rK   r=   rI   r9   rJ   r<   rA   rB   r   r>   r@   r:   N)returnr(   )r   r.   )r   boolr   Noner   r,   r   r   )r   r   rj   r   r   r   )__name__
__module____qualname____firstlineno__rN   propertyrS   rG   rZ   rp   rs   r{   r~   r   r   r   r   r   r   r   r   r   r   __static_attributes__r7   rP   rM   r0   r0   7   s    #J , , $ $7.r534<=586B@FDDrP   r0   c                  j   \ rS rSr S             SS jjr\SS j5       rSS jrSS jrSS jr	SS jr
      SS jrSS	 jr      S                 S S jjr        S!S jr  S"         S#S jjr      S$S jrS rS rS rS%S jrS%S jrS&S jrS&S jrS rSrg
)'re      c                R   Xl         X l        X0l        X@l        U R	                  UR
                  5      U l        S U l        X`l        SU l	        [        S U R                  R                   5       5      U l        [        U R                  5      U l        XPl        U R!                  5         g )Nr7   c              3  @   #    U  H  oR                   S U04v   M     g7fexprN)rc   ).0cs     rM   	<genexpr>*ApplyBatchImpl.__init__.<locals>.<genexpr>   s      ,
+7aVVfa[!<s   )rG   r   r>   r@   _calc_temp_namerc   temp_table_name	new_tablerJ   add_col_orderingr   r   column_transfersrD   existing_orderingrn   _grab_table_elements)rL   rG   r   r>   r@   rn   rJ   s          rM   rN   ApplyBatchImpl.__init__   s     	
$(#33EJJ?*."4  	 !, ,
+/::<<,
 !
 "&d&;&;!<"!!#rP   c                    SU-  SS $ )Nz_alembic_tmp_%sr   2   r7   )cls	tablenames     rM   r   ApplyBatchImpl._calc_temp_name   s    !I-q44rP   c                   U R                   R                  n[        5       U l        U R                   R                   Hl  n[        X!S9nS=Ul        Ul        [        UR                  [        5      (       a  UR                  UR                  Ld   eX0R                  UR                  '   Mn     0 U l        / U l        0 U l        0 U l        0 U l        U R                   R"                   H  n[%        U5      (       a  M  U R&                  (       a(  [        U[(        5      (       a  UR                  (       d  MN  [+        UR                  5      (       a  X@R                  UR                  '   M  U R                  R-                  U5        M     U R&                  (       d]  U R                   R                   HC  nUR"                   H0  nUR                  (       d  M  XT4U R                  UR                  '   M2     ME     U R                   R                   H  nX`R                  UR                  '   M     U R                   R.                   H5  nU R0                  R3                  XpR                   R.                  U   5        M7     g )Nr   F)r   r   r   columnsr   r   uniqueindex
isinstancetyper   rc   named_constraintsunnamed_constraintscol_named_constraintsindexesnew_indexesconstraintsr!   rn   r   r&   rF   kwargsr@   rC   )rL   r   r   c_copyr   colr   ks           rM   r   #ApplyBatchImpl._grab_table_elements   s   ""/:}A1,F+00FMFL !&&"344{{!&&000#)LL   9;#% %'")+-/ZZ++Ee$$uo66


 '

335:&&uzz2((//6 ," ~~zz|| __EzzzBE225::> - $
 ::%%C%(LL" & ""A((JJ,=,=a,@A #rP   c                  ^  [        5       n[        T R                  5      nT R                  (       aH  T R                   H7  n[	        U5       H%  u  pEUS:  d  M  UR                  X4S-
     U45        M'     M9     O>[	        T R                  5       H%  u  pEUS:  d  M  UR                  X$S-
     U45        M'     UR                  T R                  5        U Vs/ s H  ofS   US   :w  d  M  UPM     nn[        [        R                  " XrSS95      n[        U 4S jU 5       5      T l        [        U 4S jU 5       5      T l        g s  snf )Nr      T)deterministic_orderc              3  D   >#    U  H  oTR                   U   4v   M     g 7frR   )r   r   r   rL   s     rM   r   MApplyBatchImpl._adjust_self_columns_for_partial_reordering.<locals>.<genexpr>>  s     "IAt||A#7    c              3  D   >#    U  H  oTR                   U   4v   M     g 7frR   )r   r   s     rM   r   r   ?  s"      ,
3:a%%a()7r   )setrD   r   rJ   	enumerateaddr   updater   r   sortr   r   )	rL   pairs
col_by_idxtuple_r   elemp
pairs_listsorted_s	   `        rM   +_adjust_self_columns_for_partial_reordering:ApplyBatchImpl._adjust_self_columns_for_partial_reordering%  s   $,,'
""11#,V#4KEqy		6!)#4d";< $5 2
  ))?)?@19IIz!)4d;<  A 	T**+
 "'7AA$!A$,a
7ZN
 #"I"II + ,
3:,
 !
 8s   E*Ec                   U R                   b   S5       e[        5       nU R                  R                  nU R                  (       d  U R
                  (       a  U R                  5         [        U R                  U/[        U R                  R                  5       5      [        U R                  5      -   Q7SU0U R                  D6=U l         n[        U R                  R                  5       5      U R                  -    H  n[!        U5       Vs1 s H  oUR"                  iM     nnUR%                  U R&                  5      (       d  MI  [)        U[*        5      (       a/  [-        U5      (       a  [/        XBU R                  S9nO[/        XBS9nO
[/        XBUS9n[)        U[*        5      (       a  U R1                  X5        UR3                  U5        M     g s  snf )NzCan only create new table oncer   )r   target_tabler   )r   r   r   r   rJ   r   r   r   r   rD   r   valuesr>   r@   r   r   r   keyissubsetr   r   r   r   r   _setup_referentappend_constraint)rL   mr   r   r   r   const_columns
const_copys           rM   _transfer_elements_to_new_table.ApplyBatchImpl._transfer_elements_to_new_tableC  s   ~~%G'GG%J""""d&;&;<<>%*  &
 4<<&&()D,AA&
 	&

 &
 	
 ''..01D4L4LL  -DE,JK,JqUU,JMK ))$*?*?@@ %!566*511 "'4::"J "'u!<J"y
 %!566$$Q.''
3= MKs   Gc                   U R                   c   e/ nU R                  R                  5        H  nUR                  (       a  M  [	        UR
                  /[        U5       Vs/ s H  n[        X0R                   5      PM     snQ7UR                  U R                   S.UR                  D6nUR                  U5        M     U R                  R                  5        H  nUR                  [	        UR
                  /UR                  R                  5        Vs/ s H  o`R                   R                  U   PM     snQ7SUR                  0UR                  D65        M     U$ s  snf s  snf )N)r   _tabler   )r   r   r   _column_flagr   rc   r   r   r   r   rF   r   r   keysr   )rL   r   idx_existingr   idx_copyr   r   s          rM    _gather_indexes_from_both_tables/ApplyBatchImpl._gather_indexes_from_both_tablesu  sK   ~~))) LL//1L ((!!	
 !=\ J J %T>>: J	#**
 ~~	 %%	H JJx ! 2$ %%,,.EJJJJ 8=}}7I7I7KL7Knn&&s+7KL << ll	 / 
% Ms    E"E#c           
        UR                   S   R                  5       nUR                  S5      nUS   n[        U5      S:X  a  US   nOS nXPR                  :w  Ga  [
        R                  " XV5      nSS jnXqR                  ;   aw  UR                  U   n	UR                    HW  n
U" U
5      R                  S5      S   nXR                  ;  d  M.  U	R                  [        U[        R                  5      5        MY     g [        UU/UR                    V
s/ s H  n
U" U
5      R                  S5      S   PM     sn
 Vs/ s H  n[        U[        R                  5      PM     snQ7SU06  g g s  sn
f s  snf )	Nr   .   c                "    U R                  5       $ rR   )_get_colspec)r   s    rM   colspec/ApplyBatchImpl._setup_referent.<locals>.colspec  s    ((**rP   r   )r   r   )elementsr
  splitlenr   
sql_schema_get_table_keytablesr   append_columnr   sqltypesNULLTYPEr   )rL   metadata
constraintspecpartstnamereferent_schemar   r  tr   colnamens                rM   r   ApplyBatchImpl._setup_referent  sa    ""1%224

3b	u:?#AhO"O(((++ECC+ oo%OOC(&//D%dm11#6r:Gcc)w8I8I(JK 0
  )3(;(;"(; $DM//4R8(;""A q("3"34" + )$"s   $E*
;$E/
c                   U R                  5         UR                  X R                  5        U R                  c   eUR	                  U R                  5         UR                  [        U R                  5      R                  [        S U R                  R                  5        5       5      [        U R                  R                  5        Vs/ s H  nSU;   d  M  US   PM     sn6 5      5        UR                  U R                  5        UR                  U R                  U R                  R                   U R                  R"                  S9  U R                  R                   U R                  l         U R%                  5        H  nUR'                  U5        M     U R                  U R                  l        g s  snf ! U R                  U R                  l        f = f!   UR                  U R                  5        e = f)Nc              3  :   #    U  H  u  pS U;   d  M  Uv   M     g7fr   r7   )r   r   transfers      rM   r   )ApplyBatchImpl._create.<locals>.<genexpr>  s#      +HKA!X- +Hs   	r   r   )r   prep_table_for_batchr   r   r   _execr    from_selectrD   r   itemsr$   r   r   r   r   rc   r   r  r   )rL   op_implr#  r   s       rM   rf   ApplyBatchImpl._create  s   ,,.$$T::6~~)))T^^,	;MMt~~.:: +/+@+@+F+F+H 
  -1,A,A,H,H,J,J%1 -HV,,J  tzz*
   $$djjoodjj>O>O !  #'**//DNN;@@BC((- C '+&:&:#+* '+&:&:#	t~~.s1   A3G 

F5	F5!'G 1(F: 5G :GG8Nc	                &   U R                   U   n
U R                  U   nUb  XR:w  a  XZl        X[S'   U	R                  SS 5      nU(       ao  [	        U	S   U R
                  R                  5      n[        U[        5      (       a7  UR                  (       a&  U R                  R                  UR                  S 5        Uby  [        R                  " U5      n[        U
R                  [        5      (       a"  S=U
R                  l        U
R                  l        U R
                  R!                  XU5        Xjl        Ub  X:l        USLa0  Uc  S U
l        O%[&        R(                  " U5      R+                  U
5        Ub  [-        U5      U
l        USLa  Xl        g g )Nrc   existing_typeF)r   r   rc   rE   r#   rG   rS   r   r   r   popr  to_instancer   _create_eventscreate_constraintcast_for_batch_migratenullableserver_defaultr  DefaultClause_set_parentr   autoincrementcomment)rL   r:   column_namer2  r3  rc   type_r6  r7  rj   existingexisting_transferr,  resolved_existing_types                 rM   rs   ApplyBatchImpl.alter_column  sw    <<,,0,A,A+,N 3 !M(,f%FF?D9M)='):):*& 57HII.33**...33
 ((/E (--):;; ,MM3 II,,U "M  (&%*.'(("+h'$%)-%8H"%&  rP   c                   U R                   n[        U5       VVs0 s H  u  pVXe_M	     nnnU R                  (       d  U(       a?  U(       d8  X7;   a  Xs   S-   nU[        U5      :  a  XH   nO[	        U R
                  5      U   nU(       aB  U(       d;  X';   a  Xr   S-
  nUS:  a  XH   nO$U R
                   V	V
s0 s H  u  pX_M	     sn
n	U   nU(       a  U =R
                  X44-  sl        U(       a  U =R
                  X144-  sl        U R                  (       d4  U(       d,  U(       d$  U(       a  U =R
                  US   U44-  sl        g g g g g s  snnf s  sn
n	f )Nr   r   r  )r   r   rJ   r  r?   r   )rL   r  ry   rz   
index_colsirc   col_indexesr   abs              rM   "_setup_dependencies_for_add_column1ApplyBatchImpl._setup_dependencies_for_add_column-  s]    ++
.7
.CD.C71tw.CD&&$#2)7!;Z0,6OM )-T-B-B(C() #$3)81<!8+5?L .2-B-B(-BTQAD-B('() !!w&>%@@!!!|&=%??! ''! !!z"~w&?%AA!  ! " (E E0(s   E7Ec                    U R                  UR                  X45        [        X R                  R                  S9U R
                  UR                  '   0 U R                  UR                  '   g )Nr   )rD  rc   r   r   r   r   r   )rL   r:   r   ry   rz   rj   s         rM   r{   ApplyBatchImpl.add_column]  sR     	//KK	

 %*&9J9J$KV[[!-/fkk*rP   c                   UR                   U R                  R                  R                  ;   a*  [	        U R                  R                  R                  U5        U R                  UR                   	 U R
                  UR                   	 U R                  R                  UR                   5        SU;   aX  [        US   [        5      (       a?  US   R                   (       a*  U R                  R                  US   R                   S 5        g g g g )Nr,  )rc   r   primary_keyr   r"   r   r   remover   r   r   r-  )rL   r:   r   rj   s       rM   r~   ApplyBatchImpl.drop_columnm  s     ;;$**00888*

&&.. LL%!!&++.%%fkk2 r!2o.0ABB?#((""&&?#(($ ) C "rP   c                    g)a6  the batch table creation function will issue create_column_comment
on the real "impl" as part of the create table process.

That is, the Column object will have the comment on it already,
so when it is received by add_column() it will be a normal part of
the CREATE TABLE and doesn't need an extra step here.

Nr7   r   s     rM   r   $ApplyBatchImpl.create_column_comment      rP   c                    g)z{the batch table creation function will issue create_table_comment
on the real "impl" as part of the create table process.

Nr7   r   s     rM   r   #ApplyBatchImpl.create_table_comment  rN  rP   c                    g)zythe batch table creation function will issue drop_table_comment
on the real "impl" as part of the create table process.

Nr7   r   s     rM   r   !ApplyBatchImpl.drop_table_comment  rN  rP   c                   [        UR                  5      (       d  [        S5      e[        U[        R
                  5      (       aS  U R                  R                  U R                  ;   a/  U R                  R                  U R                  R                  5        [        UR                  5      (       a  XR                  UR                  '   g U R                  R                  U5        g )NConstraint must have a name)r%   rc   r;   r   r  r   r   rI  r   rJ  r&   r   rF   r   s     rM   r   ApplyBatchImpl.add_constraint  s    &uzz22:;;eZ<<==zz%%)A)AA((//

0F0FG!%**--16""5::.$$++E2rP   c                   UR                   (       d  [        S5      e UR                   U R                  ;   a  U R                  R                  UR                   5      u  p![	        U R
                  UR                      R                  5       HQ  nUR                   UR                   :X  d  M  U R
                  UR                      R                  R                  U5        MS     Oj[        UR                   5      (       a&  U R                  R                  UR                   5      nO*XR                  ;   a  U R                  R                  U5        [        U[        5      (       a2  UR
                   H!  nSU R
                  UR                      l        M#     g g ! [         a+    [        U5      (       a   g [        SUR                   -  5      ef = f)NrT  FzNo such constraint: '%s')rc   r;   r   r-  rD   r   r   rJ  r&   r   r   r   r   rI  KeyErrorr!   )rL   r   r   	col_consts       rM   r   ApplyBatchImpl.drop_constraint  sW   zz:;;	?zzT777!77;;EJJG
!%dll388&<&H&H!II ~~3SXX.::AA)L "J (

33..225::>222((//6 %!566 ==C9>DLL*6 ) 7  	Fe$$
 7%**DEE	Fs   BF *B!F G/Gc                4    XR                   UR                  '   g rR   )r   rc   rL   r   s     rM   r   ApplyBatchImpl.create_index  s    %("rP   c                     U R                   UR                  	 g ! [         a    [        SUR                  -  5      ef = f)NzNo such index: '%s')r   rc   rW  r;   r[  s     rM   r   ApplyBatchImpl.drop_index  s;    	?SXX& 	?2SXX=>>	?s    #=c                    [        S5      e)NTODOr   ru   s      rM   r   ApplyBatchImpl.rename_table  s    !&))rP   )r   r   r   r   r   rG   r   r   r   r   rJ   rn   r   r>   r@   r   r   )r7   )rG   r.   r   r   r>   tupler@   zDict[str, Any]rn   r   rJ   rb  r   r   )r   zUnion[quoted_name, str]r   strr   )r   zList[Index])r  r   r  r   r   r   )r)  r.   r   r   )NFNNNF)r:   rc  r8  rc  r2  zOptional[bool]r3  z)Optional[Union[Function[Any], str, bool]]rc   Optional[str]r9  zOptional[TypeEngine]r6  z&Optional[Union[bool, Literal['auto']]]r7  zUnion[str, Literal[False]]r   r   )r  rc  ry   rd  rz   rd  r   r   )NN)
r:   rc  r   zColumn[Any]ry   rd  rz   rd  r   r   )r:   rc  r   z%Union[ColumnClause[Any], Column[Any]]r   r   r   )r   r   r   r   )r   r   r   r   rN   classmethodr   r   r   r   r  r   rf   rs   rD  r{   r~   r   r   r   r   r   r   r   r   r   r7   rP   rM   re   re      s    %'$$ $ 	$
 %$ $ "$ 
$: 5 5,B\
<04dB# #.B#	#J%;V $(DI"&*@D.3I'I' I' !	I'
 BI' I' $I' >I' ,I' 
I'V.B.B %.B $	.B
 
.Bh (,&*00 0 %	0
 $0 
0  6
 
0
3?8)?*rP   re   N):
__future__r   typingr   r   r   r   r   r	   r
   
sqlalchemyr   r   r   r   r   r   r   r  r   r   r  sqlalchemy.sql.schemar   sqlalchemy.utilr   r   utilr   util.sqla_compatr   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   sqlalchemy.enginer(   sqlalchemy.sql.elementsr)   r*   sqlalchemy.sql.functionsr+   r,   sqlalchemy.sql.type_apir-   ddl.implr.   r0   re   r7   rP   rM   <module>rr     s    #         &  +   + +  ( 3 ' '  6 $ / 4 6 ; - - = 3 & 6 5)43102&[D [D|x* x*rP   