
from typing import TYPE_CHECKING

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


lowercase__       ={
    'configuration_funnel': ['FUNNEL_PRETRAINED_CONFIG_ARCHIVE_MAP', 'FunnelConfig'],
    'convert_funnel_original_tf_checkpoint_to_pytorch': [],
    'tokenization_funnel': ['FunnelTokenizer'],
}

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase__       =['FunnelTokenizerFast']

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase__       =[
          'FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST',
          'FunnelBaseModel',
          'FunnelForMaskedLM',
          'FunnelForMultipleChoice',
          'FunnelForPreTraining',
          'FunnelForQuestionAnswering',
          'FunnelForSequenceClassification',
          'FunnelForTokenClassification',
          'FunnelModel',
          'FunnelPreTrainedModel',
          'load_tf_weights_in_funnel',
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase__       =[
          'TF_FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST',
          'TFFunnelBaseModel',
          'TFFunnelForMaskedLM',
          'TFFunnelForMultipleChoice',
          'TFFunnelForPreTraining',
          'TFFunnelForQuestionAnswering',
          'TFFunnelForSequenceClassification',
          'TFFunnelForTokenClassification',
          'TFFunnelModel',
          'TFFunnelPreTrainedModel',
      ]


if TYPE_CHECKING:
      from .configuration_funnel import FUNNEL_PRETRAINED_CONFIG_ARCHIVE_MAP, FunnelConfig
      from .tokenization_funnel import FunnelTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_funnel_fast import FunnelTokenizerFast

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_funnel import (
                FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST,
                FunnelBaseModel,
                FunnelForMaskedLM,
                FunnelForMultipleChoice,
                FunnelForPreTraining,
                FunnelForQuestionAnswering,
                FunnelForSequenceClassification,
                FunnelForTokenClassification,
                FunnelModel,
                FunnelPreTrainedModel,
                load_tf_weights_in_funnel,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_funnel import (
                TF_FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFFunnelBaseModel,
                TFFunnelForMaskedLM,
                TFFunnelForMultipleChoice,
                TFFunnelForPreTraining,
                TFFunnelForQuestionAnswering,
                TFFunnelForSequenceClassification,
                TFFunnelForTokenClassification,
                TFFunnelModel,
                TFFunnelPreTrainedModel,
            )

else:
      import sys

      lowercase__       =_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)


from typing import TYPE_CHECKING

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


lowercase__       ={
    'configuration_roformer': ['ROFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP', 'RoFormerConfig', 'RoFormerOnnxConfig'],
    'tokenization_roformer': ['RoFormerTokenizer'],
}

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase__       =['RoFormerTokenizerFast']

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase__       =[
          'ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
          'RoFormerForCausalLM',
          'RoFormerForMaskedLM',
          'RoFormerForMultipleChoice',
          'RoFormerForQuestionAnswering',
          'RoFormerForSequenceClassification',
          'RoFormerForTokenClassification',
          'RoFormerLayer',
          'RoFormerModel',
          'RoFormerPreTrainedModel',
          'load_tf_weights_in_roformer',
      ]


try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase__       =[
          'TF_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
          'TFRoFormerForCausalLM',
          'TFRoFormerForMaskedLM',
          'TFRoFormerForMultipleChoice',
          'TFRoFormerForQuestionAnswering',
          'TFRoFormerForSequenceClassification',
          'TFRoFormerForTokenClassification',
          'TFRoFormerLayer',
          'TFRoFormerModel',
          'TFRoFormerPreTrainedModel',
      ]


try:
      if not is_flax_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase__       =[
          'FLAX_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
          'FlaxRoFormerForMaskedLM',
          'FlaxRoFormerForMultipleChoice',
          'FlaxRoFormerForQuestionAnswering',
          'FlaxRoFormerForSequenceClassification',
          'FlaxRoFormerForTokenClassification',
          'FlaxRoFormerModel',
          'FlaxRoFormerPreTrainedModel',
      ]


if TYPE_CHECKING:
      from .configuration_roformer import ROFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, RoFormerConfig, RoFormerOnnxConfig
      from .tokenization_roformer import RoFormerTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_roformer_fast import RoFormerTokenizerFast

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_roformer import (
                ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
                RoFormerForCausalLM,
                RoFormerForMaskedLM,
                RoFormerForMultipleChoice,
                RoFormerForQuestionAnswering,
                RoFormerForSequenceClassification,
                RoFormerForTokenClassification,
                RoFormerLayer,
                RoFormerModel,
                RoFormerPreTrainedModel,
                load_tf_weights_in_roformer,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_roformer import (
                TF_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFRoFormerForCausalLM,
                TFRoFormerForMaskedLM,
                TFRoFormerForMultipleChoice,
                TFRoFormerForQuestionAnswering,
                TFRoFormerForSequenceClassification,
                TFRoFormerForTokenClassification,
                TFRoFormerLayer,
                TFRoFormerModel,
                TFRoFormerPreTrainedModel,
            )

      try:
            if not is_flax_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_flax_roformer import (
                FLAX_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
                FlaxRoFormerForMaskedLM,
                FlaxRoFormerForMultipleChoice,
                FlaxRoFormerForQuestionAnswering,
                FlaxRoFormerForSequenceClassification,
                FlaxRoFormerForTokenClassification,
                FlaxRoFormerModel,
                FlaxRoFormerPreTrainedModel,
            )


else:
      import sys

      lowercase__       =_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)
