





from packaging import version

from .import_utils import is_accelerate_available


if is_accelerate_available():
      import accelerate
def        UpperCamelCase__				(		lowerCAmelCase  ):





      """simple docstring"""


      if not is_accelerate_available():
            return method
      _lowerCAmelCase												=							version.parse(accelerate.__version__  ).base_version
      if version.parse(_snake_case  ) < version.parse("""0.17.0"""  ):
            return method

      def wrapper(self							,     *lowerCAmelCase							,     **lowerCAmelCase  ):
            if hasattr(self							,     """_hf_hook"""  ) and hasattr(self._hf_hook							,     """pre_forward"""  ):
                  self._hf_hook.pre_forward(self  )
            return method(self							,     *_snake_case							,     **_snake_case  )

      return wrapper













'''simple docstring'''






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available


A__    :       int              ={'''tokenization_herbert''': ['''HerbertTokenizer''']}

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A__    :       Dict              =['''HerbertTokenizerFast''']


if TYPE_CHECKING:
      from .tokenization_herbert import HerbertTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_herbert_fast import HerbertTokenizerFast

else:
      import sys

      A__    :       List[Any]              =_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)






