code: def make_bootstrap_results_fn(true_kernel_results):
      kernel_results_cls = type(true_kernel_results)
  
      def bootstrap_results(_):
          fake_kernel_results = {}
          for fn in sorted(kernel_results_cls._fields):
              if fn == "grads_target_log_prob":
                  fake_kernel_results["grads_target_log_prob"] = [
                      tf.identity(g, name="grad_target_log_prob")
                      for g in true_kernel_results.grads_target_log_prob
                  ]
              else:
                  fake_kernel_results[fn] = tf.identity(
                      getattr(true_kernel_results, fn, None), name=fn
                  )
          fake_kernel_results = kernel_results_cls(
              **fake_kernel_results
          )
          return fake_kernel_results
  
      return bootstrap_results
  
imports: import collections
  import warnings
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.mcmc import kernel
  from tensorflow_probability.python.mcmc import metropolis_hastings
  from tensorflow_probability.python.mcmc.internal.util import is_list_like
label_desc: Use image node_id 2 for calling a global function with example usage: make_bootstrap_results_fn(true_kernel_results) and returns: bootstrap_results, fake_kernel_results