code: def merge(into, update):
      """Merges second dict into first recursively"""
      for key, val in update.items():
          if isinstance(into.get(key), dict) and isinstance(val, dict):
              merge(into[key], val)
          else:
              into[key] = val
  
imports: import os
  import re
  from contextlib import contextmanager
  from functools import partial
  from typing import TYPE_CHECKING, Dict, Optional
  from funcy import compact, memoize, re_find
  from dvc.exceptions import DvcException, NotDvcRepoError
  from dvc.log import logger
  from .utils.objects import cached_property
label_desc: Use image node_id 5 for calling a global function with example usage: merge(into, update) without return types