Ë
    ýÿæi1%  ã                  óø   — 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r$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ZdZ G d„ d«      Z G d„ de«      Z G d„ de«      Zy)é    )Úannotations)ÚAny)Úcast)Ú
Collection)ÚTYPE_CHECKING)Úconv)ÚSelfé   )Úsqla_compat)ÚTable)Ú	Inspector)ÚReflectedForeignKeyConstraint)ÚReflectedIndex)ÚReflectedUniqueConstraint©Ú_ReflectionInfo)ÚcolumnsÚpk_constraintÚforeign_keysÚindexesÚunique_constraintsÚtable_commentÚcheck_constraintsÚtable_options)r   r   r   r   r   c                  ó|   — e Zd ZdZd
d„Zdd„Z	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	dd„Z
y	)Ú_InspectorConv©Ú	inspectorc                ó   — t         j                  r0t        j                  t        «      }t        j                  ||«       n/t        j                  t        «      }t        j                  ||«       t        t        |«      S ©N)	r   Úsqla_2ÚobjectÚ__new__Ú_SQLA2InspectorConvÚ__init__Ú_LegacyInspectorConvr   r	   )Úclsr   Úobjs      úv/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/alembic/autogenerate/compare/util.pyr#   z_InspectorConv.__new__-   sU   € ä×ÒÜ—.‘.Ô!4Ó5ˆCÜ×(Ñ(¨¨iÕ8ä—.‘.Ô!5Ó6ˆCÜ ×)Ñ)¨#¨yÔ9Ü”D˜#‹Ðó    c                ó   — || _         y r    r   )Úselfr   s     r)   r%   z_InspectorConv.__init__7   s	   € Ø"ˆ�r*   c                 ó   — y r    © )r,   ÚschemaÚ
tablenamesÚall_available_tablenamess       r)   Úpre_cache_tablesz_InspectorConv.pre_cache_tables:   s   € ð 	r*   c                ó   — t        «       ‚r    ©ÚNotImplementedError©r,   Útnamer/   s      r)   Úget_unique_constraintsz%_InspectorConv.get_unique_constraintsB   ó   € ô "Ó#Ð#r*   c                ó   — t        «       ‚r    r4   r6   s      r)   Úget_indexesz_InspectorConv.get_indexesG   r9   r*   c                ó   — t        «       ‚r    r4   r6   s      r)   Úget_foreign_keysz_InspectorConv.get_foreign_keysL   r9   r*   c                ó   — t        «       ‚r    r4   ©r,   Útables     r)   Úreflect_tablez_InspectorConv.reflect_tableQ   s   € Ü!Ó#Ð#r*   N)r   r   Úreturnr	   )r   r   ©r/   ú
str | Noner0   ú	list[str]r1   úCollection[str]rB   ÚNone©r7   Ústrr/   rD   rB   zlist[ReflectedUniqueConstraint]©r7   rI   r/   rD   rB   zlist[ReflectedIndex]©r7   rI   r/   rD   rB   z#list[ReflectedForeignKeyConstraint]©r@   r   rB   rG   )Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r#   r%   r2   r8   r;   r=   rA   r.   r*   r)   r   r   *   s˜   „ Ø€Ióó#ðàðð ðð #2ð	ð
 
óð$Øð$Ø",ð$à	(ó$ð
$Øð$Ø",ð$à	ó$ð
$Øð$Ø",ð$à	,ó$ô
$r*   r   c                  ó\   — e Zd Zd„ Zd„ Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 d	d„Z	 	 	 	 	 	 d
d„Zdd„Zy)r&   c                ór   — |s|S |D ]-  }|d   €Œ	t        |d   t        «      rŒt        |d   «      |d<   Œ/ |S ©NÚname)Ú
isinstancer   ©r,   ÚconstsÚconsts      r)   Ú_apply_reflectinfo_convz,_LegacyInspectorConv._apply_reflectinfo_convW   sI   € ÙØˆMÛˆEØ�V‰}Ñ(´Ø�f‘œtõ2ô !% U¨6¡]Ó 3��f’ð	 ð
 ˆr*   c                ó    — |s|S |D ]D  }|j                   €Œt        |j                   t        «      rŒ+t        |j                   «      |_         ŒF |S r    )rT   rU   r   rV   s      r)   Ú_apply_constraint_convz+_LegacyInspectorConv._apply_constraint_conva   sB   € ÙØˆMÛˆEØ�z‰zÑ%¬j¸¿¹ÄTÕ.JÜ! %§*¡*Ó-�•
ð ð ˆr*   c                óZ   — | j                  | j                  j                  ||¬«      «      S ©N)r/   )rY   r   r;   r6   s      r)   r;   z _LegacyInspectorConv.get_indexesi   s.   € ð ×+Ñ+Ø�N‰N×&Ñ& u°VÐ&Ó<ó
ð 	
r*   c                óZ   — | j                  | j                  j                  ||¬«      «      S r]   )rY   r   r8   r6   s      r)   r8   z+_LegacyInspectorConv.get_unique_constraintsp   s.   € ð ×+Ñ+Ø�N‰N×1Ñ1°%ÀÐ1ÓGó
ð 	
r*   c                óZ   — | j                  | j                  j                  ||¬«      «      S r]   )rY   r   r=   r6   s      r)   r=   z%_LegacyInspectorConv.get_foreign_keysw   s.   € ð ×+Ñ+Ø�N‰N×+Ñ+¨E¸&Ð+ÓAó
ð 	
r*   c                óª   — | j                   j                  |d ¬«       | j                  |j                  «       | j                  |j                  «       y )N)Úinclude_columns)r   rA   r[   Úconstraintsr   r?   s     r)   rA   z"_LegacyInspectorConv.reflect_table~   s?   € Ø�‰×$Ñ$ U¸DÐ$ÔAà×#Ñ# E×$5Ñ$5Ô6Ø×#Ñ# E§M¡MÕ2r*   NrJ   rH   rK   rL   )	rM   rN   rO   rY   r[   r;   r8   r=   rA   r.   r*   r)   r&   r&   U   sh   „ òòð
Øð
Ø",ð
à	ó
ð
Øð
Ø",ð
à	(ó
ð
Øð
Ø",ð
à	,ó
ô3r*   r&   c                  óÆ   — e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Zd„ Z	 	 	 	 	 	 	 	 dd„Z		 	 	 	 	 	 dd„Z
dd	„Zy
)r$   c                ó¤  — || j                   j                  v ry |r(|r&t        |«      dkD  rt        |«      t        |«      z  }nd }|�4|dk  s/| j                   j                  j	                  |j
                  «      s|}nd }	  |||¬«      }|| j                   j                  |<   y # t        $ r  t        | j                   j                  |<   Y y w xY w)Néd   g      à?)r/   Úfilter_names)r   Ú
info_cacheÚlenÚdialectÚ_overrides_defaultrM   r5   )	r,   r/   r0   r1   Úinfo_keyÚinspector_methodÚfractionÚoptimized_filter_namesÚelementss	            r)   Ú
_pre_cachez_SQLA2InspectorConv._pre_cache‡   sÕ   € ð �t—~‘~×0Ñ0Ñ0Øñ Ñ2´s¸:³ÈÒ7LÜ˜:“¬Ð-EÓ)FÑF‰HàˆHð ÐØ˜3ŠØ—>‘>×)Ñ)×<Ñ<Ø ×)Ñ)ôð &0Ñ"à%)Ð"ð	;Ù'ØÐ,BôˆHð 3;ˆD�N‰N×%Ñ% hÒ/øô #ò 	FÜ2EˆD�N‰N×%Ñ% hÓ/ð	Fús   Â
B& Â&&CÃCc                ój  — t        «       }|| j                  j                  v r^| j                  j                  |   }|t        u r|ri S t        «       ‚|j	                  ||f|«      }	|	|ur|r|	�| j                  |	«      S |	S 	  |||¬«      }
|r| j                  |
«      S |
S # t        $ r |ri cY S ‚ w xY wr]   )r"   r   rg   r5   ÚgetrY   )r,   r7   r/   rk   rl   Úapply_constraint_convÚoptionalÚnot_in_cacheÚcacheÚ
individualÚdatas              r)   Ú_return_from_cachez&_SQLA2InspectorConv._return_from_cache±   sÐ   € ô “xˆà�t—~‘~×0Ñ0Ñ0Ø—N‘N×-Ñ-¨hÑ7ˆEØÔ+Ñ+ÙØ�Iô
 .Ó/Ð/àŸ™ F¨E ?°LÓAˆJà Ñ-Ù(¨ZÐ-CØ×7Ñ7¸
ÓCÐCà%Ð%ð	Ù# E°&Ô9ˆDñ !Ø×/Ñ/°Ó5Ð5àˆKøô #ò 	ÙØ’	àð		ús   Â
B! Â!B2Â0B2c                óX   — | j                  ||d| j                  j                  dd¬«      S )NÚalembic_unique_constraintsTF©rs   rt   )ry   r   r8   r6   s      r)   r8   z*_SQLA2InspectorConv.get_unique_constraintsÜ   s8   € ð ×&Ñ&ØØØ(Ø�N‰N×1Ñ1Ø"&Øð 'ó 
ð 	
r*   c                óX   — | j                  ||d| j                  j                  dd¬«      S )NÚalembic_indexesTFr|   )ry   r   r;   r6   s      r)   r;   z_SQLA2InspectorConv.get_indexesè   s8   € ð ×&Ñ&ØØØØ�N‰N×&Ñ&Ø"&Øð 'ó 
ð 	
r*   c                óV   — | j                  ||d| j                  j                  d¬«      S )NÚalembic_foreign_keysT©rs   )ry   r   r=   r6   s      r)   r=   z$_SQLA2InspectorConv.get_foreign_keysô   s5   € ð ×&Ñ&ØØØ"Ø�N‰N×+Ñ+Ø"&ð 'ó 
ð 	
r*   c                ó˜   — |s|S t        |t        «      s|n|gD ]-  }|d   €Œ	t        |d   t        «      rŒt        |d   «      |d<   Œ/ |S rS   )rU   Údictr   rV   s      r)   rY   z+_SQLA2InspectorConv._apply_reflectinfo_convÿ   sZ   € ÙØˆMÜ#-¨f´dÔ#;‘VÀ&ÀÒIˆEØ�V‰}Ñ(´Ø�f‘œtõ2ô !% U¨6¡]Ó 3��f’ð	 Jð
 ˆr*   c                ó€   — t         D ]5  }d|› �}t        | j                  d|› �«      }| j                  |||||«       Œ7 y )NÚalembic_Ú
get_multi_)Ú
_INSP_KEYSÚgetattrr   rp   )r,   r/   r0   r1   ÚkeyÚkeynameÚmeths          r)   r2   z$_SQLA2InspectorConv.pre_cache_tables	  sL   € ÷ ˆCØ   Ð&ˆGÜ˜4Ÿ>™>¨Z¸°uÐ+=Ó>ˆDà�O‰OØØØ(ØØõñ	 r*   c                óÆ   — ddl m} ||f} |ddi it        D �ci c];  }||| j                  ||d|› �t	        | j
                  d|› �«      |t        v ¬«      i“Œ= c}¤ŽS c c}w )Nr   r   Úunreflectabler…   Úget_r�   r.   )Úsqlalchemy.engine.reflectionr   r‡   ry   rˆ   r   Ú_CONSTRAINT_INSP_KEYS)r,   r7   r/   r   Ú	table_keyr‰   s         r)   Ú_make_reflection_infoz)_SQLA2InspectorConv._make_reflection_info  s�   € õ 	Aà˜U�Oˆ	áñ 
Øð
õ &óñ &�Cð Ø˜t×6Ñ6ØØØ" 3 %Ð(Ü §¡°$°s°e°Ó=Ø/2Ô6KÐ/Kð  7ó  ðñ ð &ññ
ð 	
ùòs   ™A Ac                óŽ   — | j                  |j                  |j                  «      }| j                  j	                  |d d|¬«       y )NF)ra   Úresolve_fksÚ_reflect_info)r’   rT   r/   r   rA   )r,   r@   Úris      r)   rA   z!_SQLA2InspectorConv.reflect_table2  s?   € Ø×'Ñ'¨¯
©
°E·L±LÓAˆà�‰×$Ñ$ØØ ØØð	 	%õ 	
r*   N)r/   rD   r0   rE   r1   rF   rk   rI   rl   r   rB   rG   )FT)r7   rI   r/   rD   rk   rI   rl   r   rs   ÚboolrB   r   rH   rJ   rK   rC   )r7   rI   r/   rD   rB   r   rL   )rM   rN   rO   rp   ry   r8   r;   r=   rY   r2   r’   rA   r.   r*   r)   r$   r$   …   s3  „ ð(;àð(;ð ð(;ð #2ð	(;ð
 ð(;ð ð(;ð 
ó(;ð` ',Øð)àð)ð ð)ð ð	)ð
 ð)ð  $ð)ð 
ó)ðV

Øð

Ø",ð

à	(ó

ð

Øð

Ø",ð

à	ó

ð	
Øð	
Ø",ð	
à	,ó	
òðàðð ðð #2ð	ð
 
óð$
Øð
Ø",ð
à	ó
ô.
r*   r$   N)Ú
__future__r   Útypingr   r   r   r   Úsqlalchemy.sql.elementsr   Útyping_extensionsr	   Úutilr   Ú
sqlalchemyr   Úsqlalchemy.enginer   Úsqlalchemy.engine.interfacesr   r   r   r�   r   r‡   r�   r   r&   r$   r.   r*   r)   Ú<module>r       si   ðõ #å Ý Ý Ý  å (Ý "å áÝ Ý+ÝJÝ;ÝFÝ<ð	€
ðÐ ÷($ñ ($ôV-3˜>ô -3ô`u
˜.õ u
r*   