





import heapq



def _a       (			lowerCamelCase:     Dict      ,       lowerCamelCase:     Any      ,       lowerCamelCase:     Tuple				)			->		Union[str, Any]:
      __A      =       [(0, start)]  # cost from start node,end node
      __A      =       set()
      while heap:
            ((__A)     ,		(__A))      =       heapq.heappop(__lowerCamelCase				)
            if u in visited:
                  continue
            visited.add(__lowerCamelCase				)
            if u == end:
                  return cost
            for v, c in graph[u]:
                  if v in visited:
                        continue
                  __A      =       cost + c
                  heapq.heappush(__lowerCamelCase      ,       (next_item, v)				)
      return -1


snake_case__      :							Any									=  {
    'A': [['B', 2], ['C', 5]],
    'B': [['A', 2], ['D', 3], ['E', 1], ['F', 1]],
    'C': [['A', 5], ['F', 3]],
    'D': [['B', 3]],
    'E': [['B', 4], ['F', 3]],
    'F': [['C', 3], ['E', 3]],
}
snake_case__      :							Tuple									=  {
    'B': [['C', 1]],
    'C': [['D', 1]],
    'D': [['F', 1]],
    'E': [['B', 1], ['F', 3]],
    'F': [],
}
snake_case__      :							Union[str, Any]									=  {
    'B': [['C', 1]],
    'C': [['D', 1]],
    'D': [['F', 1]],
    'E': [['B', 1], ['G', 2]],
    'F': [],
    'G': [['F', 1]],
}

snake_case__      :							Any									=  dijkstra(G, 'E', 'C')
print(short_distance)  # E -- 3 --> F -- 3 --> C == 6

snake_case__      :							str									=  dijkstra(Ga, 'E', 'F')
print(short_distance)  # E -- 3 --> F == 3

snake_case__      :							Optional[Any]									=  dijkstra(Ga, 'E', 'F')
print(short_distance)  # E -- 2 --> G -- 1 --> F == 3

if __name__ == "__main__":
       import doctest

       doctest.testmod()












from unittest.mock import patch

import datasets
from datasets import Dataset



def _a       (			)			->		Optional[Any]:







      '''simple docstring'''






      __A      =       Dataset.from_dict({'''col_1''': [3, 2, 0, 1]}				)

      with patch('''tqdm.auto.tqdm'''				) as mock_tqdm:
            datasets.disable_progress_bar()
            dset.map(lambda lowerCamelCase				: {"col_2": x["col_1"] + 1}				)
            mock_tqdm.assert_not_called()

            mock_tqdm.reset_mock()

            datasets.enable_progress_bar()
            dset.map(lambda lowerCamelCase				: {"col_2": x["col_1"] + 1}				)
            mock_tqdm.assert_called()





