





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


UpperCAmelCase_											=  {
    "configuration_imagegpt": ["IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ImageGPTConfig", "ImageGPTOnnxConfig"]
}

try:
       if not is_vision_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCAmelCase_											=  ["ImageGPTFeatureExtractor"]
       UpperCAmelCase_											=  ["ImageGPTImageProcessor"]

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCAmelCase_											=  [
           "IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST",
           "ImageGPTForCausalImageModeling",
           "ImageGPTForImageClassification",
           "ImageGPTModel",
           "ImageGPTPreTrainedModel",
           "load_tf_weights_in_imagegpt",
       ]


if TYPE_CHECKING:
       from .configuration_imagegpt import IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP, ImageGPTConfig, ImageGPTOnnxConfig

       try:
              if not is_vision_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .feature_extraction_imagegpt import ImageGPTFeatureExtractor
              from .image_processing_imagegpt import ImageGPTImageProcessor

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_imagegpt import (
                  IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  ImageGPTForCausalImageModeling,
                  ImageGPTForImageClassification,
                  ImageGPTModel,
                  ImageGPTPreTrainedModel,
                  load_tf_weights_in_imagegpt,
              )

else:
       import sys

       UpperCAmelCase_											=  _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






import os
import sys
import time

from . import transposition_cipher as trans_cipher
def     A__					(						)     ->     None:






   """simple docstring"""







   _UpperCAmelCase											=      '''Prehistoric Men.txt'''
   _UpperCAmelCase											=      '''Output.txt'''
   _UpperCAmelCase											=      int(input('''Enter key: '''	)	)
   _UpperCAmelCase											=      input('''Encrypt/Decrypt [e/d]: '''	)

   if not os.path.exists(SCREAMING_SNAKE_CASE_	):
      print(F'''File {input_file} does not exist. Quitting...'''	)
      sys.exit()
   if os.path.exists(SCREAMING_SNAKE_CASE_	):
      print(F'''Overwrite {output_file}? [y/n]'''	)
      _UpperCAmelCase											=      input('''> '''	)
      if not response.lower().startswith('''y'''	):
         sys.exit()

   _UpperCAmelCase											=      time.time()
   if mode.lower().startswith('''e'''	):
      with open(SCREAMING_SNAKE_CASE_	) as f:
         _UpperCAmelCase											=      f.read()
      _UpperCAmelCase											=      trans_cipher.encrypt_message(SCREAMING_SNAKE_CASE_							,  SCREAMING_SNAKE_CASE_	)
   elif mode.lower().startswith('''d'''	):
      with open(SCREAMING_SNAKE_CASE_	) as f:
         _UpperCAmelCase											=      f.read()
      _UpperCAmelCase											=      trans_cipher.decrypt_message(SCREAMING_SNAKE_CASE_							,  SCREAMING_SNAKE_CASE_	)

   with open(SCREAMING_SNAKE_CASE_							,  '''w'''	) as output_obj:
      output_obj.write(SCREAMING_SNAKE_CASE_	)

   _UpperCAmelCase											=      round(time.time() - start_time							,  2	)
   print(('''Done (''', total_time, '''seconds )''')	)


if __name__ == "__main__":
   main()