code: def __init__(
      self,
      base_solver_class: str,
      base_solver_args: dict,
      max_attempts: int = 3,
      rethink_strategy_after: Optional[int] = 4,
      **kwargs,
  ):
      module_name, class_name = base_solver_class.split(":")
      module = import_module(module_name)
      cls = getattr(module, class_name)
      self.base_solver = cls(**base_solver_args)
  
      self.max_attempts = max_attempts
      self.rethink_strategy_after = rethink_strategy_after
  
file_path: evals/evals/elsuite/bluff/strategy_solver.py
imports: import re
  from importlib import import_module
  from typing import Optional
  from evals.elsuite.bluff.bluff.cards import get_bluff_move
  from evals.solvers.solver import Solver, SolverResult
  from evals.task_state import Message, TaskState
label_desc: Use image node_id 1 to create a new BluffStrategySolver object from inherited base classes: Solver with example: obj = BluffStrategySolver(base_solver_class, base_solver_args, max_attempts, rethink_strategy_after)