code: def __exit__(self, exc_type, exc_value, tb):
      self.assign_variable.__exit__(exc_type, exc_value, tb)
      errors = []
      for task in self.tasks:
          try:
              task()
          except BaseException as err:
              errors.append(err)
      if errors:
          if len(errors) == 1:
              raise errors[0] from exc_value
          raise BaseExceptionGroup(
              "Cleanup failed", errors
          ) from exc_value
  
imports: import math
  from collections import defaultdict
  from typing import NoReturn, Union
  from weakref import WeakKeyDictionary
  from hypothesis import Verbosity, settings
  from hypothesis._settings import note_deprecation
  from hypothesis.errors import InvalidArgument, UnsatisfiedAssumption
  from hypothesis.internal.compat import BaseExceptionGroup
  from hypothesis.internal.conjecture.data import ConjectureData
  from hypothesis.internal.reflection import get_pretty_function_description
  from hypothesis.internal.validation import check_type
  from hypothesis.reporting import report, verbose_report
  from hypothesis.utils.dynamicvariables import DynamicVariable
  from hypothesis.vendor.pretty import IDKey
label_desc: Use image node_id 5 for calling the BuildContext obj's underlying member method code with example usage: obj.__exit__(exc_type, exc_value, tb) without return types