Dashboard
PHP:
8.2.30
OS:
Linux
User:
dh_nv8b2m
/
/
usr
/
local
/
lib
/
python3.10
/
dist-packages
/
sqlalchemy
/
util
/
__pycache__
📤 Upload
📝 New File
📁 New Folder
Close
Editing: topological.cpython-310.pyc
o [�h� � @ sL d Z ddlmZ ddlmZ g d�Zddd�Zddd �Zd d� Zdd � Z dS )zTopological sorting algorithms.� )�util)�CircularDependencyError)�sort�sort_as_subsets�find_cyclesFc c s� � t �t�}| D ]\}}|| �|� q|rt jnt}||�}|rN|� }|D ]} |�|| �r4|�| � q&|sBtdt| |�t|���|� |� |V |s!d S d S )NzCircular dependency detected.) r �defaultdict�set�add� OrderedSet� isdisjointr r � _gen_edges�difference_update) �tuples�allitems�deterministic_order�edges�parent�child�Set�todo�output�node� r �F/usr/local/lib/python3.10/dist-packages/sqlalchemy/util/topological.pyr s* � �� �r c c s( � t | ||�D ] }|D ]}|V qqdS )z�sort the given list of items by dependency. 'tuples' is a list of tuples representing a partial ordering. 'deterministic_order' keeps items within a dependency tier in list order. N)r )r r r �set_�sr r r r , s ���r c C s� t �t�}| D ]\}}|| �|� qt|�}t� }|D ]D}|g}|�|�} |r`|d } || D ])}||v rI||�|�d � }| �|� |�|� || v rY|�|� | � |� nq0|� � }|s(q|S )N���)r r r r � difference�indexr �update�append�remove�pop)r r r r r � nodes_to_testr r �stackr �top�cycr r r r 8 s0 ���r c s t � fdd�� D ��S )Nc s"