code: def _merge_dict(config, merge_dct):
      """Recursive dict merge. Inspired by :meth:``dict.update()``, instead of
      updating only top-level keys, dict_merge recurses down into dicts nested
      to an arbitrary depth, updating keys. The ``merge_dct`` is merged into
      ``dct``.
      Args:
          config: dict onto which the merge is executed
          merge_dct: dct merged into config
      Returns: dct
      """
      for key, value in merge_dct.items():
          sub_keys = key.split(".")
          key = sub_keys[0]
          if key in config and len(sub_keys) > 1:
              _merge_dict(config[key], {".".join(sub_keys[1:]): value})
          elif (
              key in config
              and isinstance(config[key], dict)
              and isinstance(value, Mapping)
          ):
              _merge_dict(config[key], value)
          else:
              config[key] = value
      return config
  
imports: import json
  import pathlib
  import time
  import os
  import glob
  import cv2
  import yaml
  from typing import Mapping
  import matplotlib.pyplot
  import numpy
  from argparse import ArgumentParser, RawDescriptionHelpFormatter
label_desc: Use image node_id 19 for calling a global function with example usage: _merge_dict(config, merge_dct) and returns: config