code: def _validate_colocate_extended(v, extended):
      variable_strategy = (
          v._distribute_strategy
      )  # pylint: disable=protected-access
      if variable_strategy.extended is not extended:
          raise ValueError(
              "`colocate_vars_with` must only be passed a variable created in this "
              "tf.distribute.Strategy.scope(), not %s created in scope: %s"
              % (v, variable_strategy)
          )
  
imports: from collections import abc
  import contextlib
  import threading
  from tensorflow.python.distribute import distribute_lib
  from tensorflow.python.distribute import tpu_values
  from tensorflow.python.distribute import values
  from tensorflow.python.distribute.reduce_util import ReduceOp
  from tensorflow.python.eager import context
  from tensorflow.python.eager import record
  from tensorflow.python.framework import composite_tensor
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.ops.losses import losses_impl
  from tensorflow.python.util import nest
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 10 for calling a global function with example usage: _validate_colocate_extended(v, extended) without return types