'''simple docstring'''




from typing import TYPE_CHECKING

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


_a :						Union[str, Any]							= {"configuration_deit": ["DEIT_PRETRAINED_CONFIG_ARCHIVE_MAP", "DeiTConfig", "DeiTOnnxConfig"]}

try:
   if not is_vision_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _a :						List[Any]							= ["DeiTFeatureExtractor"]
   _a :						List[str]							= ["DeiTImageProcessor"]

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _a :						Optional[int]							= [
       "DEIT_PRETRAINED_MODEL_ARCHIVE_LIST",
       "DeiTForImageClassification",
       "DeiTForImageClassificationWithTeacher",
       "DeiTForMaskedImageModeling",
       "DeiTModel",
       "DeiTPreTrainedModel",
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _a :						Tuple							= [
       "TF_DEIT_PRETRAINED_MODEL_ARCHIVE_LIST",
       "TFDeiTForImageClassification",
       "TFDeiTForImageClassificationWithTeacher",
       "TFDeiTForMaskedImageModeling",
       "TFDeiTModel",
       "TFDeiTPreTrainedModel",
   ]


if TYPE_CHECKING:
   from .configuration_deit import DEIT_PRETRAINED_CONFIG_ARCHIVE_MAP, DeiTConfig, DeiTOnnxConfig

   try:
      if not is_vision_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .feature_extraction_deit import DeiTFeatureExtractor
      from .image_processing_deit import DeiTImageProcessor

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_deit import (
          DEIT_PRETRAINED_MODEL_ARCHIVE_LIST,
          DeiTForImageClassification,
          DeiTForImageClassificationWithTeacher,
          DeiTForMaskedImageModeling,
          DeiTModel,
          DeiTPreTrainedModel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_deit import (
          TF_DEIT_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFDeiTForImageClassification,
          TFDeiTForImageClassificationWithTeacher,
          TFDeiTForMaskedImageModeling,
          TFDeiTModel,
          TFDeiTPreTrainedModel,
      )


else:
   import sys

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











import random
from typing import Any







def     UpperCAmelCase_		(					snake_case__					)	->     list[Any]:



				"""simple docstring"""





				for _ in range(len(snake_case__					)					):
								lowerCAmelCase__		  =  random.randint(0    ,			len(snake_case__					) - 1					)
								lowerCAmelCase__		  =  random.randint(0    ,			len(snake_case__					) - 1					)
								lowerCAmelCase__  ,   lowerCAmelCase__		  =  data[b], data[a]
				return data


if __name__ == "__main__":
	_lowerCAmelCase	:   int    =   [0, 1, 2, 3, 4, 5, 6, 7]
	_lowerCAmelCase	:   Optional[Any]    =   ["python", "says", "hello", "!"]
	print("Fisher-Yates Shuffle:")
	print("List", integers, strings)
	print("FY Shuffle", fisher_yates_shuffle(integers), fisher_yates_shuffle(strings))
