code: def _deserialize_nested_config(deserialize_fn, config):
      """Deserializes arbitrary Keras `config` using `deserialize_fn`."""
  
      def _is_single_object(obj):
          if isinstance(obj, dict) and "class_name" in obj:
              return True  # Serialized Keras object.
          if isinstance(obj, str):
              return True  # Serialized function or string.
          return False
  
      if config is None:
          return None
      if _is_single_object(config):
          return deserialize_fn(config)
      elif isinstance(config, dict):
          return {
              k: _deserialize_nested_config(deserialize_fn, v)
              for k, v in config.items()
          }
      elif isinstance(config, (tuple, list)):
          return [
              _deserialize_nested_config(deserialize_fn, obj)
              for obj in config
          ]
  
      raise ValueError(
          "Saved configuration not understood. Configuration should be a "
          f"dictionary, string, tuple or list. Received: config={config}."
      )
  
imports: import json
  import threading
  import tree
  from absl import logging
  from keras import backend
  from keras import layers
  from keras import losses
  from keras import metrics
  from keras import models
  from keras import optimizers
  from keras.legacy.saving import serialization
  from keras.saving import object_registration
label_desc: Use image node_id 5 for calling a global function with example usage: _deserialize_nested_config(deserialize_fn, config) and returns: False, None, deserialize_fn, True, True, unknown, unknown