code: def add_mixins(base, mixins, reversed=False):
      """Returns a new class with mixins applied in priority order."""
  
      mixins = list(mixins or [])
  
      while mixins:
          if reversed:
  
              class new_base(base, mixins.pop()):
                  pass
  
          else:
  
              class new_base(mixins.pop(), base):
                  pass
  
          base = new_base
  
      return base
  
file_path: ray/python/ray/rllib/utils/__init__.py
imports: import contextlib
  from functools import partial
  from ray.rllib.utils.annotations import override, PublicAPI, DeveloperAPI
  from ray.rllib.utils.deprecation import deprecation_warning
  from ray.rllib.utils.filter import Filter
  from ray.rllib.utils.filter_manager import FilterManager
  from ray.rllib.utils.framework import try_import_jax, try_import_tf, try_import_tfp, try_import_torch
  from ray.rllib.utils.numpy import sigmoid, softmax, relu, one_hot, fc, lstm, SMALL_NUMBER, LARGE_INTEGER, MIN_LOG_NN_OUTPUT, MAX_LOG_NN_OUTPUT
  from ray.rllib.utils.pre_checks.env import check_env
  from ray.rllib.utils.schedules import LinearSchedule, PiecewiseSchedule, PolynomialSchedule, ExponentialSchedule, ConstantSchedule
  from ray.rllib.utils.test_utils import check, check_compute_single_action, check_train_results, framework_iterator
  from ray.tune.utils import merge_dicts, deep_update
label_desc: Use image node_id 1 for calling a global function with example usage: add_mixins(base, mixins, reversed) and returns: base