code: def topological_sort_dfs(self) -> List[str]:
      sorted_copy = {k: sorted(v) for k, v in self.adj_list.items()}
  
      sorted_nodes: List[str] = []
      visited_nodes: Set[str] = set()
      current_nodes: Set[str] = set()
  
      def visit(n: str) -> None:
          if n in visited_nodes:
              return None
          if n in current_nodes:
              raise UsageError(
                  "Cyclic dependency detected in wandb.Settings"
              )
  
          current_nodes.add(n)
          for neighbor in sorted_copy[n]:
              visit(neighbor)
  
          current_nodes.remove(n)
          visited_nodes.add(n)
          sorted_nodes.append(n)
  
          return None
  
      for node in self.adj_list:
          if node not in visited_nodes:
              visit(node)
  
      return sorted_nodes
  
file_path: wandb/wandb/sdk/lib/_settings_toposort_generate.py
imports: import inspect
  import sys
  from typing import Dict, List, Set, Tuple
  from wandb.errors import UsageError
  from wandb.sdk.wandb_settings import Settings
label_desc: Use image node_id 5 for calling the Graph obj's underlying member method code with example usage: obj.topological_sort_dfs() and returns: sorted_nodes, None, None