





from ...configuration_utils import PretrainedConfig
from ...utils import logging


A   : str			=				logging.get_logger(__name__)

A   : Optional[int]			=				{
    '''google/vivit-b-16x2-kinetics400''': (
        '''https://huggingface.co/google/vivit-b-16x2-kinetics400/resolve/main/config.json'''
    ),
    # See all Vivit models at https://huggingface.co/models?filter=vivit
}


class   A      (SCREAMING_SNAKE_CASE   ):
			'''simple docstring'''




			__lowerCamelCase     :	int          =   '''vivit'''






			def __init__(      self       :   str							,     __lowerCAmelCase       :   Dict=2_24							,     __lowerCAmelCase       :   Dict=32							,     __lowerCAmelCase       :   int=[2, 16, 16]							,     __lowerCAmelCase       :   Optional[int]=3							,     __lowerCAmelCase       :   Optional[int]=7_68							,     __lowerCAmelCase       :   Union[str, Any]=12							,     __lowerCAmelCase       :   Dict=12							,     __lowerCAmelCase       :   Union[str, Any]=30_72							,     __lowerCAmelCase       :   Tuple="gelu_fast"							,     __lowerCAmelCase       :   Dict=0.0							,     __lowerCAmelCase       :   str=0.0							,     __lowerCAmelCase       :   List[str]=0.0_2							,     __lowerCAmelCase       :   Dict=1e-06							,     __lowerCAmelCase       :   Optional[Any]=True							,     **__lowerCAmelCase       :   Dict							,     )     ->     str:







					"""simple docstring"""






					A__  				=       hidden_size
					A__  				=       num_hidden_layers
					A__  				=       num_attention_heads
					A__  				=       intermediate_size
					A__  				=       hidden_act
					A__  				=       hidden_dropout_prob
					A__  				=       attention_probs_dropout_prob
					A__  				=       initializer_range
					A__  				=       layer_norm_eps

					A__  				=       image_size
					A__  				=       num_frames
					A__  				=       tubelet_size
					A__  				=       num_channels
					A__  				=       qkv_bias

					super().__init__(**__lowerCAmelCase       )










import math







def        __lowerCamelCase (							)		->    None:






		"""simple docstring"""

		A__  				=       input("""Enter message: """   )
		A__  				=       int(input(F'Enter key [2-{len(__a   ) - 1}]: '   )   )
		A__  				=       input("""Encryption/Decryption [e/d]: """   )

		if mode.lower().startswith("""e"""   ):
				A__  				=       encrypt_message(__a   ,					__a   )
		elif mode.lower().startswith("""d"""   ):
				A__  				=       decrypt_message(__a   ,					__a   )

		# Append pipe symbol (vertical bar) to identify spaces at the end.
		print(F'Output:\n{text + "|"}'   )







def        __lowerCamelCase (							__a       :int   ,					__a       :str   )		->    str:






		"""simple docstring"""

		A__  				=       [""""""] * key
		for col in range(__a   ):
				A__  				=       col
				while pointer < len(__a   ):
						cipher_text[col] += message[pointer]
						pointer += key
		return "".join(__a   )







def        __lowerCamelCase (							__a       :int   ,					__a       :str   )		->    str:






		"""simple docstring"""

		A__  				=       math.ceil(len(__a   ) / key   )
		A__  				=       key
		A__  				=       (num_cols * num_rows) - len(__a   )
		A__  				=       [""""""] * num_cols
		A__  				=       0
		A__  				=       0

		for symbol in message:
				plain_text[col] += symbol
				col += 1

				if (
				    (col == num_cols)
				    or (col == num_cols - 1)
				    and (row >= num_rows - num_shaded_boxes)
				):
						A__  				=       0
						row += 1

		return "".join(__a   )


if __name__ == "__main__":
					import doctest

					doctest.testmod()
					main()



