Hacked By AnonymousFox
�
�܋f�! � �l � d Z ddlZddlZddlZddlmZ ddlmZ ddlmZ ddlm Z ddl
mZ dd lm
Z
dd
lmZ ddlmZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm!Z! ddlm"Z" ddlm#Z# ddlm$Z$ dd lm%Z% dd!lm&Z& dd"lm'Z' dd#lm(Z( dd$lm)Z) d%d&lm*Z* d%d'lm+Z+ d%d(lm,Z, d)� Z-d*� Z. G d+� d,e#� � Z/dZd-�Z0d.� Z1d/� Z2 G d0� d1e$� � Z3 G d2� d3e4� � Z5 G d4� d5e4� � Z6 G d6� d7e3� � Z7 G d8� d9e7� � Z8 G d:� d;e7� � Z9 G d<� d=e9� � Z: G d>� d?e9� � Z; G d@� dAee5e6e9� � Z< G dB� dCe4� � Z= G dD� dEe7� � Z> G dF� dGee7� � Z? G dH� dIe$� � Z@ G dJ� dKe=ee7� � ZA G dL� dMeA� � ZB G dN� dOeB� � ZC G dP� dQe5e6eB� � ZD G dR� dSee&� � ZE G dT� dUe)� � ZF G dV� dWeA� � ZG G dX� dYe� � ZHdS )[ztThe :class:`_expression.FromClause` class of SQL expression elements,
representing
SQL tables and derived rowsets.
� N)�
attrgetter)� Visitable� )� operators)�type_api)� Annotated)�
_from_objects)�_generative)�ColumnCollection)� ColumnSet)�
Executable)�
Generative)� Immutable)�_anonymous_label)�_clause_element_as_expr)�_clone)�_cloned_difference��_cloned_intersection)�_document_text_coercion)�_expand_cloned��_interpret_as_column_or_from)�&_literal_and_labels_as_label_reference��_literal_as_label_reference��_literal_as_text)�_no_text_coercion)�_select_iterables)�and_)�
BindParameter)�
ClauseElement)�
ClauseList)�Grouping)�literal_column)�True_)�UnaryExpression� )�exc)�
inspection)�utilc � � t j | d�� � }|�)t | t j � � rt | � � |j S # t $ r3}t j t j
d� � |�� � Y d }~d S d }~ww xY w)NF)�raiseerrzFROM expression expected��replace_context)r+ �inspect�
isinstancer, �string_typesr �
selectable�AttributeError�raise_r* �
ArgumentError)�element�insp�errs �P/opt/cloudlinux/venv/lib64/python3.11/site-packages/sqlalchemy/sql/selectable.py�_interpret_as_fromr<