File: //usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/__pycache__/visitors.cpython-310.pyc
o
���gߍ � @ s� d Z ddlmZ ddlmZ ddlmZ ddlZddlZddl Z ddl m
Z
ddl mZ ddl mZ dd l m
Z
dd
l mZ ddl mZ ddl mZ dd
l mZ ddl mZ ddl mZ ddl mZ ddl mZ ddl mZ ddl mZ ddl mZ ddl mZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl m"Z" ddl m#Z# er�ddl$m%Z% dd l&m'Z' e js�es�dd!l(m)Z) dd"l(m*Z+ ndd!l,m)Z) dd"l,m*Z+ g d#�Z-G d$d%� d%e"�Z.G d&d'� d'�Z/G d(d)� d)e�Z0eee1e0f Z2 G d*d+� d+�Z3G d,d-� d-e"�Z4G d.d/� d/�Z5e0Z6ddd2d3�Z7e5j8Z8e7� G d4d5� d5e3e/�Z9ed6e9d7�Z:ed8d9d7�Z;ee:gdf Z<G d:d;� d;e"�Z=G d<d=� d=e"e: �Z>ed>d?d7�Z?G d@d?� d?ej@�ZAG dAdB� dBeA�ZBG dCdD� dDeB�ZCe/ZDeAZEeBZFeCZGejHfdedJdK�ZIedfdQdR��ZJedgdSdR��ZJdhdTdR�ZJedidUdV��ZKedjdWdV��ZKdkdXdV�ZKedidYdZ��ZLedld[dZ��ZLdkd\dZ�ZLedmd_d`��ZMedndad`��ZMedodbd`��ZMdpdcd`�ZMdS )qz5Visitor/traversal interface and library functions.
� )�annotations)�deque)�EnumN)�Any)�Callable)�cast)�ClassVar)�Dict)�Iterable)�Iterator)�List)�Mapping)�Optional)�overload)�Tuple)�Type)�
TYPE_CHECKING)�TypeVar)�Union� )�exc)�util)�langhelpers)�HAS_CYEXTENSION)�Literal)�Protocol)�Self� )�_AnnotationDict)�
ColumnElement)�prefix_anon_map)�cache_anon_map) �iterate�traverse_using�traverse�cloned_traverse�replacement_traverse� Visitable�ExternalTraversal�InternalTraversal�anon_mapc @ � e Zd Zd
dd�Zd S )�_CompilerDispatchType�selfr'