code: def arcadia_init_cache():
      global arcadia_rootmodules_cache, arcadia_modules_cache
      arcadia_rootmodules_cache = set()
      arcadia_modules_cache = {}
  
      all_modules = itertools.chain(
          sys.builtin_module_names, importer.memory
      )
  
      for name in all_modules:
          path = name.split(".")
          arcadia_rootmodules_cache.add(path[0])
  
          prefix = path[0]
          for element in path[1:]:
              if element == "__init__":
                  continue
  
              arcadia_modules_cache.setdefault(prefix, set()).add(
                  element
              )
              prefix += "." + element
  
      arcadia_rootmodules_cache = sorted(arcadia_rootmodules_cache)
      arcadia_modules_cache = {
          k: sorted(v) for k, v in arcadia_modules_cache.items()
      }
  
imports: from __future__ import print_function
  import glob
  import inspect
  import itertools
  import os
  import re
  import sys
  from time import time
  from zipimport import zipimporter
  from IPython.core.completer import expand_user, compress_user
  from IPython.core.error import TryNext
  from IPython.utils._process_common import arg_split
  from IPython.utils.py3compat import string_types
  from IPython import get_ipython
  from __res import importer
label_desc: Use image node_id 1 for calling a global function with example usage: arcadia_init_cache() without return types