code: def update():
      clear_terminal()
      display_serpent_logo()
      print("")
  
      print("Updating Serpent.AI to the latest version...")
  
      subprocess.call(shlex.split("pip install --upgrade SerpentAI"))
  
      if is_linux():
          shutil.copy(
              os.path.join(
                  os.path.dirname(__file__), "requirements.linux.txt"
              ),
              os.path.join(os.getcwd(), "requirements.txt"),
          )
      elif is_windows():
          shutil.copy(
              os.path.join(
                  os.path.dirname(__file__), "requirements.win32.txt"
              ),
              os.path.join(os.getcwd(), "requirements.txt"),
          )
  
      subprocess.call(shlex.split("pip install -r requirements.txt"))
  
      import yaml
  
      with open(
          os.path.join(
              os.path.dirname(__file__), "config", "config.yml"
          ),
          "r",
      ) as f:
          serpent_config = yaml.safe_load(f) or {}
  
      with open(
          os.path.join(os.getcwd(), "config", "config.yml"), "r"
      ) as f:
          user_config = yaml.safe_load(f) or {}
  
      config_changed = False
  
      for key, value in serpent_config.items():
          if key not in user_config:
              user_config[key] = value
              config_changed = True
  
      if config_changed:
          with open(
              os.path.join(os.getcwd(), "config", "config.yml"), "w"
          ) as f:
              f.write(yaml.dump(user_config))
  
imports: import os
  import sys
  import shutil
  import subprocess
  import shlex
  import time
  import offshoot
  from serpent.utilities import clear_terminal, display_serpent_logo, is_linux, is_windows, wait_for_crossbar
  from serpent.window_controller import WindowController
label_desc: Use image node_id 9 for calling a global function with example usage: update() without return types