


from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE :   List[Any]							      =				{
    "configuration_albert": ["ALBERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "AlbertConfig", "AlbertOnnxConfig"],
}

try:
 if not is_sentencepiece_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE :   int							      =				["AlbertTokenizer"]

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE :   List[str]							      =				["AlbertTokenizerFast"]

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE :   List[str]							      =				[
     "ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST",
     "AlbertForMaskedLM",
     "AlbertForMultipleChoice",
     "AlbertForPreTraining",
     "AlbertForQuestionAnswering",
     "AlbertForSequenceClassification",
     "AlbertForTokenClassification",
     "AlbertModel",
     "AlbertPreTrainedModel",
     "load_tf_weights_in_albert",
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE :   Optional[Any]							      =				[
     "TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST",
     "TFAlbertForMaskedLM",
     "TFAlbertForMultipleChoice",
     "TFAlbertForPreTraining",
     "TFAlbertForQuestionAnswering",
     "TFAlbertForSequenceClassification",
     "TFAlbertForTokenClassification",
     "TFAlbertMainLayer",
     "TFAlbertModel",
     "TFAlbertPreTrainedModel",
 ]

try:
 if not is_flax_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE :   Union[str, Any]							      =				[
     "FlaxAlbertForMaskedLM",
     "FlaxAlbertForMultipleChoice",
     "FlaxAlbertForPreTraining",
     "FlaxAlbertForQuestionAnswering",
     "FlaxAlbertForSequenceClassification",
     "FlaxAlbertForTokenClassification",
     "FlaxAlbertModel",
     "FlaxAlbertPreTrainedModel",
 ]

if TYPE_CHECKING:
 from .configuration_albert import ALBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, AlbertConfig, AlbertOnnxConfig

 try:
  if not is_sentencepiece_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_albert import AlbertTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_albert_fast import AlbertTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_albert import (
      ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
      AlbertForMaskedLM,
      AlbertForMultipleChoice,
      AlbertForPreTraining,
      AlbertForQuestionAnswering,
      AlbertForSequenceClassification,
      AlbertForTokenClassification,
      AlbertModel,
      AlbertPreTrainedModel,
      load_tf_weights_in_albert,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_albert import (
      TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFAlbertForMaskedLM,
      TFAlbertForMultipleChoice,
      TFAlbertForPreTraining,
      TFAlbertForQuestionAnswering,
      TFAlbertForSequenceClassification,
      TFAlbertForTokenClassification,
      TFAlbertMainLayer,
      TFAlbertModel,
      TFAlbertPreTrainedModel,
  )

 try:
  if not is_flax_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_flax_albert import (
      FlaxAlbertForMaskedLM,
      FlaxAlbertForMultipleChoice,
      FlaxAlbertForPreTraining,
      FlaxAlbertForQuestionAnswering,
      FlaxAlbertForSequenceClassification,
      FlaxAlbertForTokenClassification,
      FlaxAlbertModel,
      FlaxAlbertPreTrainedModel,
  )
else:
 import sys

 SCREAMING_SNAKE_CASE :   str							      =				_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






def        UpperCamelCase_(   lowerCamelCase_							,				lowerCamelCase_				)					->		bool:
    return numa ^ numa < 0


if __name__ == "__main__":
 import doctest

 doctest.testmod()


