




from typing import TYPE_CHECKING

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


lowerCamelCase    :		Optional[int]			   =       {
    "configuration_efficientformer": [
        "EFFICIENTFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "EfficientFormerConfig",
    ]
}

try:
 if not is_vision_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase    :		Optional[Any]			   =       ["EfficientFormerImageProcessor"]

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase    :		List[str]			   =       [
     "EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
     "EfficientFormerForImageClassification",
     "EfficientFormerForImageClassificationWithTeacher",
     "EfficientFormerModel",
     "EfficientFormerPreTrainedModel",
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase    :		Tuple			   =       [
     "TF_EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
     "TFEfficientFormerForImageClassification",
     "TFEfficientFormerForImageClassificationWithTeacher",
     "TFEfficientFormerModel",
     "TFEfficientFormerPreTrainedModel",
 ]

if TYPE_CHECKING:
 from .configuration_efficientformer import EFFICIENTFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, EfficientFormerConfig

 try:
  if not is_vision_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .image_processing_efficientformer import EfficientFormerImageProcessor

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_efficientformer import (
      EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
      EfficientFormerForImageClassification,
      EfficientFormerForImageClassificationWithTeacher,
      EfficientFormerModel,
      EfficientFormerPreTrainedModel,
  )
 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_efficientformer import (
      TF_EFFICIENTFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFEfficientFormerForImageClassification,
      TFEfficientFormerForImageClassificationWithTeacher,
      TFEfficientFormerModel,
      TFEfficientFormerPreTrainedModel,
  )

else:
 import sys

 lowerCamelCase    :		Tuple			   =       _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)









def       _SCREAMING_SNAKE_CASE      (							lowercase     :	str					):


      '''simple docstring'''



      if not all(char in '01' for char in bin_string					):
            raise ValueError('Non-binary value was passed to the function'					)
      if not bin_string:
            raise ValueError('Empty string was passed to the function'					)
      lowerCamelCase_							=   ''
      while len(lowercase					) % 3 != 0:
            lowerCamelCase_							=   '0' + bin_string
      lowerCamelCase_							=   [
          bin_string[index : index + 3]
          for index in range(len(lowercase					)					)
          if index % 3 == 0
      ]
      for bin_group in bin_string_in_3_list:
            lowerCamelCase_							=   0
            for index, val in enumerate(lowercase					):
                  oct_val += int(2 ** (2 - index) * int(lowercase					)					)
            oct_string += str(lowercase					)
      return oct_string


if __name__ == "__main__":
 from doctest import testmod

 testmod()



