'''simple docstring'''

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


__snake_case       :   Optional[Any]  		=    {
    '''configuration_bart''': ['''BART_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''BartConfig''', '''BartOnnxConfig'''],
    '''tokenization_bart''': ['''BartTokenizer'''],
}

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __snake_case       :   Optional[Any]  		=    ['''BartTokenizerFast''']

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __snake_case       :   Tuple  		=    [
          '''BART_PRETRAINED_MODEL_ARCHIVE_LIST''',
          '''BartForCausalLM''',
          '''BartForConditionalGeneration''',
          '''BartForQuestionAnswering''',
          '''BartForSequenceClassification''',
          '''BartModel''',
          '''BartPretrainedModel''',
          '''PretrainedBartModel''',
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __snake_case       :   int  		=    [
          '''TFBartForConditionalGeneration''',
          '''TFBartForSequenceClassification''',
          '''TFBartModel''',
          '''TFBartPretrainedModel''',
      ]

try:
      if not is_flax_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __snake_case       :   Dict  		=    [
          '''FlaxBartDecoderPreTrainedModel''',
          '''FlaxBartForCausalLM''',
          '''FlaxBartForConditionalGeneration''',
          '''FlaxBartForQuestionAnswering''',
          '''FlaxBartForSequenceClassification''',
          '''FlaxBartModel''',
          '''FlaxBartPreTrainedModel''',
      ]

if TYPE_CHECKING:
      from .configuration_bart import BART_PRETRAINED_CONFIG_ARCHIVE_MAP, BartConfig, BartOnnxConfig
      from .tokenization_bart import BartTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_bart_fast import BartTokenizerFast

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_bart import (
                BART_PRETRAINED_MODEL_ARCHIVE_LIST,
                BartForCausalLM,
                BartForConditionalGeneration,
                BartForQuestionAnswering,
                BartForSequenceClassification,
                BartModel,
                BartPretrainedModel,
                PretrainedBartModel,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_bart import (
                TFBartForConditionalGeneration,
                TFBartForSequenceClassification,
                TFBartModel,
                TFBartPretrainedModel,
            )

      try:
            if not is_flax_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_flax_bart import (
                FlaxBartDecoderPreTrainedModel,
                FlaxBartForCausalLM,
                FlaxBartForConditionalGeneration,
                FlaxBartForQuestionAnswering,
                FlaxBartForSequenceClassification,
                FlaxBartModel,
                FlaxBartPreTrainedModel,
            )

else:
      import sys

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

'''simple docstring'''

from ..utils import DummyObject, requires_backends
class 							lowercase_    (     metaclass=_A						):
    a_             =   ["""torch""", """librosa"""]







    def __init__(	self       ,     *UpperCamelCase__       ,     **UpperCamelCase__				)				->       int:





     """simple docstring"""

     requires_backends(self       ,     ["torch", "librosa"]				)







    @classmethod
    def   lowerCamelCase_    (	cls       ,     *UpperCamelCase__       ,     **UpperCamelCase__				)				->       Union[str, Any]:





     """simple docstring"""

     requires_backends(cls       ,     ["torch", "librosa"]				)







    @classmethod
    def   lowerCamelCase_    (	cls       ,     *UpperCamelCase__       ,     **UpperCamelCase__				)				->       Dict:





     """simple docstring"""

     requires_backends(cls       ,     ["torch", "librosa"]				)


class 							lowercase_    (     metaclass=_A						):
    a_             =   ["""torch""", """librosa"""]







    def __init__(	self       ,     *UpperCamelCase__       ,     **UpperCamelCase__				)				->       str:





     """simple docstring"""

     requires_backends(self       ,     ["torch", "librosa"]				)







    @classmethod
    def   lowerCamelCase_    (	cls       ,     *UpperCamelCase__       ,     **UpperCamelCase__				)				->       Union[str, Any]:





     """simple docstring"""

     requires_backends(cls       ,     ["torch", "librosa"]				)







    @classmethod
    def   lowerCamelCase_    (	cls       ,     *UpperCamelCase__       ,     **UpperCamelCase__				)				->       int:





     """simple docstring"""

     requires_backends(cls       ,     ["torch", "librosa"]				)
