





"""simple docstring"""
_snake_case     :		Tuple       						= {0: [2, 3], 1: [0], 2: [1], 3: [4], 4: []}

_snake_case     :		str       						= {0: [1, 2, 3], 1: [2], 2: [0], 3: [4], 4: [5], 5: [3]}






def 					A__				(			UpperCamelCase					,  UpperCamelCase					,  UpperCamelCase       ):
							A		=  True
							A		=  []

							for neighbour in graph[vert]:
														if not visited[neighbour]:
																					order += topology_sort(UpperCamelCase					,  UpperCamelCase					,  UpperCamelCase       )

							order.append(UpperCamelCase       )

							return order






def 					A__				(			UpperCamelCase					,  UpperCamelCase					,  UpperCamelCase       ):
							A		=  True
							A		=  [vert]

							for neighbour in reversed_graph[vert]:
														if not visited[neighbour]:
																					component += find_components(UpperCamelCase					,  UpperCamelCase					,  UpperCamelCase       )

							return component






def 					A__				(			UpperCamelCase       ):
							A		=  len(UpperCamelCase       ) * [False]
							A		=  {vert: [] for vert in range(len(UpperCamelCase       )       )}

							for vert, neighbours in graph.items():
														for neighbour in neighbours:
																					reversed_graph[neighbour].append(UpperCamelCase       )

							A		=  []
							for i, was_visited in enumerate(UpperCamelCase       ):
														if not was_visited:
																					order += topology_sort(UpperCamelCase					,  UpperCamelCase					,  UpperCamelCase       )

							A		=  []
							A		=  len(UpperCamelCase       ) * [False]

							for i in range(len(UpperCamelCase       )       ):
														A		=  order[len(UpperCamelCase       ) - i - 1]
														if not visited[vert]:
																					A		=  find_components(UpperCamelCase					,  UpperCamelCase					,  UpperCamelCase       )
																					components_list.append(UpperCamelCase       )

							return components_list









"""simple docstring"""
_snake_case     :		Optional[int]       						= [
    'DownloadConfig',
    'DownloadManager',
    'DownloadMode',
    'StreamingDownloadManager',
]

from .download_config import DownloadConfig
from .download_manager import DownloadManager, DownloadMode
from .streaming_download_manager import StreamingDownloadManager


