code: def _asvi_surrogate_for_sample(
      dist, build_nested_surrogate, sample_shape=None
  ):
      """Builds the surrogate for a `tfd.Sample`-wrapped distribution."""
      dist_sample_shape = distribution_util.expand_to_vector(
          dist.sample_shape
      )
      nested_surrogate = yield from build_nested_surrogate(
          dist=dist.distribution,
          sample_shape=(
              dist_sample_shape
              if sample_shape is None
              else ps.concat([sample_shape, dist_sample_shape], axis=0)
          ),
      )
      return independent.Independent(
          nested_surrogate,
          reinterpreted_batch_ndims=ps.rank_from_shape(
              dist_sample_shape
          ),
      )
  
imports: import collections
  import copy
  import functools
  import inspect
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import identity
  from tensorflow_probability.python.bijectors import restructure
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.bijectors import shift
  from tensorflow_probability.python.bijectors import sigmoid
  from tensorflow_probability.python.distributions import beta
  from tensorflow_probability.python.distributions import chi2
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import gamma
  from tensorflow_probability.python.distributions import half_normal
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_auto_batched
  from tensorflow_probability.python.distributions import joint_distribution_coroutine
  from tensorflow_probability.python.distributions import markov_chain
  from tensorflow_probability.python.distributions import sample
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.distributions import truncated_normal
  from tensorflow_probability.python.distributions import uniform
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import trainable_state_util
label_desc: Use image node_id 6 for calling a global function with example usage: _asvi_surrogate_for_sample(dist, build_nested_surrogate, sample_shape) and returns: independent