


from typing import TYPE_CHECKING

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


_lowercase       :      Dict	=	{"configuration_vit": ["VIT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ViTConfig", "ViTOnnxConfig"]}

try:
				if not is_vision_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_lowercase       :      Optional[Any]	=	["ViTFeatureExtractor"]
				_lowercase       :      List[str]	=	["ViTImageProcessor"]

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_lowercase       :      Tuple	=	[
				    "VIT_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "ViTForImageClassification",
				    "ViTForMaskedImageModeling",
				    "ViTModel",
				    "ViTPreTrainedModel",
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_lowercase       :      Optional[Any]	=	[
				    "TFViTForImageClassification",
				    "TFViTModel",
				    "TFViTPreTrainedModel",
				]

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_lowercase       :      int	=	[
				    "FlaxViTForImageClassification",
				    "FlaxViTModel",
				    "FlaxViTPreTrainedModel",
				]

if TYPE_CHECKING:
				from .configuration_vit import VIT_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTConfig, ViTOnnxConfig

				try:
								if not is_vision_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .feature_extraction_vit import ViTFeatureExtractor
								from .image_processing_vit import ViTImageProcessor

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_vit import (
								    VIT_PRETRAINED_MODEL_ARCHIVE_LIST,
								    ViTForImageClassification,
								    ViTForMaskedImageModeling,
								    ViTModel,
								    ViTPreTrainedModel,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_vit import TFViTForImageClassification, TFViTModel, TFViTPreTrainedModel

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_vit import FlaxViTForImageClassification, FlaxViTModel, FlaxViTPreTrainedModel


else:
				import sys

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







def   _lowerCAmelCase				(   UpperCamelCase__:     str						) ->   str:





	"""simple docstring"""







	return " ".join(input_str.split()[::-1]						)


if __name__ == "__main__":
				import doctest

				doctest.testmod()



