U
    ø×cc5  ã                   @   s  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& 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m0Z0 d d/lm1Z1 d d0lm2Z2 d d1lm3Z3 d d2lm4Z4 d d3lm5Z5 d d4lm6Z6 d d5lm7Z7 d d6lm8Z8 d d7lm9Z9 d d8lm:Z: d d9l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mAZA d d@lmBZB d dAlmCZC d dBlmDZD d dClmEZE d dDlmFZF d dElmGZG d dFlmHZH d dGlmIZI d dHlmJZJ d dIlmKZK d dJlmLZL d dKlmMZM d dLlmNZN d dMlmOZO d dNlmPZP d dOlmQZQ d dPlmRZR d dQlmSZS d dRlmTZT d dSlmUZU d dTlmVZV d dUlmWZW d dVlXmYZY dWdX„ ZZeZe[ƒ ƒ dYS )Zé   )Ú
Executable)ÚCOLLECT_CARTESIAN_PRODUCTS)ÚFROM_LINTING)Ú
NO_LINTING)ÚWARN_LINTING)ÚAlias)Úalias)Úall_)Úand_)Úany_)Úasc)Úbetween)Ú	bindparam)Úcase)Úcast)ÚClauseElement)Úcollate)Úcolumn)ÚColumnCollection)ÚColumnElement)ÚCompoundSelect)Úcte)ÚDelete)Údelete)Údesc)Údistinct)Úexcept_)Ú
except_all)Úexists)Úextract)Úfalse)ÚFalse_)Ú
FromClause)Úfunc)Ú
funcfilter)ÚInsert)Úinsert)Ú	intersect)Úintersect_all)ÚJoin)Újoin)Úlabel)ÚLABEL_STYLE_DEFAULT)ÚLABEL_STYLE_DISAMBIGUATE_ONLY)ÚLABEL_STYLE_NONE)ÚLABEL_STYLE_TABLENAME_PLUS_COL)Úlambda_stmt)ÚLambdaElement)Úlateral)Úliteral)Úliteral_column)Úmodifier)Únot_)Únull)Únulls_first)Ú
nulls_last)Ú
nullsfirst)Ú	nullslast)Úor_)Ú	outerjoin)Úoutparam)Úover)Úquoted_name)ÚSelect)Úselect)Ú
Selectable)ÚStatementLambdaElement)ÚSubquery)Úsubquery)Útable)ÚTableClause)ÚTableSample)Útablesample)Útext)Útrue)ÚTrue_)Útuple_)Útype_coerce)Úunion)Ú	union_all)ÚUpdate)Úupdate)ÚValues)Úvalues)Úwithin_group)ÚClauseVisitorc                    sX  ddl m} dd l‰ t‡ fdd„|  ¡ D ƒƒaddlm} ddlm} dd	l	m
} dd
l	m} ddlm} ddl m} ddl m} ddl m	}	 ddl m}
 ddl m} ddl m} ddl m} ddl m} ddl m} ddl m} | |_|	_|	|_	||_|	|_	||_||_||_||_||_|t|ƒ |t|ƒ |||ƒ |j d¡ ddl m} d S )Né   )Úutilé    c                 3   s*   | ]"\}}|  d ¡sˆ  |¡s|V  qdS )Ú_N)Ú
startswithÚismodule)Ú.0ÚnameÚobj©Z_inspect© ú;/tmp/pip-unpacked-wheel-8u86ls_i/sqlalchemy/sql/__init__.pyÚ	<genexpr>f   s   
 
þz__go.<locals>.<genexpr>r   )Ú_prepare_annotations)Ú	Annotated)ÚAnnotatedColumnElement)Ú
ClauseList)ÚAnnotatedFromClause)Úbase)Ú	coercions)Úelements)Úevents)Úlambdas)Ú
selectable)Úschema)Úsqltypes)Ú
traversals)Útype_apizsqlalchemy.sql)Únaming)Ú rY   ÚinspectÚsortedÚitemsÚ__all__Ú
annotationre   rf   rl   rg   rh   ro   ri   rj   rk   rm   rn   rp   rq   rr   rs   r   r"   Z	preloadedZimport_prefixrt   )ZlclsZ_sa_utilre   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   rb   ra   rc   Ú__go`   sD    þ


r{   N)\rj   r   Úcompilerr   r   r   r   Z
expressionr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   ZvisitorsrW   r{   Úlocalsrb   rb   rb   rc   Ú<module>   s®   6