code: def __init__(self, config: Config):
      super().__init__(config)
      self._checker: Checker = config.objs["checker"]
      self.work = (
          PriorityWorkQueue()
      )  # Has to be defined here because of sharing
      self.invert_priority = bool(
          distutils.util.strtobool(self._params()["invert_priority"])
      )
      self.priority_cap = int(self._params()["priority_cap"])
      self.enable_nested = bool(
          distutils.util.strtobool(self._params()["enable_nested"])
      )
      self.max_cipher_depth = int(self._params()["max_cipher_depth"])
      if self.max_cipher_depth == 0:
          self.max_cipher_depth = math.inf
      self.max_depth = int(self._params()["max_depth"])
      if self.max_depth == 0:
          self.max_depth = math.inf
      self.p_threshold = float(self._params()["p_threshold"])
  
imports: import bisect
  import distutils
  import math
  from copy import copy
  from dataclasses import dataclass
  from functools import lru_cache
  from typing import Any, Dict, Generic, List, Optional, TypeVar, Union
  import logging
  from rich.logging import RichHandler
  from ciphey.iface import Checker, Config, Cracker, CrackInfo, CrackResult, Decoder, ParamSpec, Searcher, SearchLevel, SearchResult, T, registry
label_desc: Use image node_id 7 to create a new AuSearch object from inherited base classes: Searcher with example: obj = AuSearch(config)