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


lowerCAmelCase__					:       Any		=       logging.get_logger(__name__)

lowerCAmelCase__					:       Tuple		=       {
    '''ZinengTang/tvlt-base''': '''https://huggingface.co/ZinengTang/tvlt-base/blob/main/config.json''',
}





class 			__snake_case  (      _lowerCamelCase     ):
					__lowerCamelCase	 =       """tvlt"""




					def __init__(       self   ,	__UpperCamelCase=224   ,	__UpperCamelCase=2048   ,	__UpperCamelCase=128   ,	__UpperCamelCase=[16, 16]   ,	__UpperCamelCase=[16, 16]   ,	__UpperCamelCase=3   ,	__UpperCamelCase=1   ,	__UpperCamelCase=8   ,	__UpperCamelCase=768   ,	__UpperCamelCase=12   ,	__UpperCamelCase=12   ,	__UpperCamelCase=3072   ,	__UpperCamelCase="gelu"   ,	__UpperCamelCase=0.0   ,	__UpperCamelCase=0.0   ,	__UpperCamelCase=0.0_2   ,	__UpperCamelCase=1E-6   ,	__UpperCamelCase=True   ,	__UpperCamelCase=False   ,	__UpperCamelCase=16   ,	__UpperCamelCase=512   ,	__UpperCamelCase=8   ,	__UpperCamelCase=2048   ,	__UpperCamelCase=0.7_5   ,	__UpperCamelCase=0.1_5   ,	__UpperCamelCase="frame-level"   ,	__UpperCamelCase=True   ,	__UpperCamelCase=True   ,	__UpperCamelCase="classification"   ,	**__UpperCamelCase   ,	)					->  Any:



									'''simple docstring'''







									super().__init__(**__UpperCamelCase		)

									if audio_mask_type not in ("frame-level", "patch_level"):
													raise ValueError(
													    'audio_mask_type must be one of two acceptable strategies - {\'frame_level\', \'patch-level\') '
													    F"""got {audio_mask_type}"""		)

									snake_case__ :     Union[str, Any] 							=				image_size
									snake_case__ :     Optional[int] 							=				spectrogram_length
									snake_case__ :     Any 							=				frequency_length
									snake_case__ :     Union[str, Any] 							=				image_patch_size
									snake_case__ :     Tuple 							=				audio_patch_size
									snake_case__ :     List[Any] 							=				num_image_channels
									snake_case__ :     int 							=				num_audio_channels
									snake_case__ :     List[Any] 							=				num_frames

									snake_case__ :     Any 							=				hidden_size
									snake_case__ :     Union[str, Any] 							=				num_hidden_layers
									snake_case__ :     Dict 							=				num_attention_heads
									snake_case__ :     str 							=				intermediate_size
									snake_case__ :     Tuple 							=				hidden_act
									snake_case__ :     Optional[int] 							=				hidden_dropout_prob
									snake_case__ :     int 							=				attention_probs_dropout_prob
									snake_case__ :     Any 							=				initializer_range
									snake_case__ :     str 							=				layer_norm_eps
									snake_case__ :     str 							=				qkv_bias
									snake_case__ :     Optional[Any] 							=				use_mean_pooling

									snake_case__ :     int 							=				decoder_num_attention_heads
									snake_case__ :     Tuple 							=				decoder_hidden_size
									snake_case__ :     Optional[Any] 							=				decoder_num_hidden_layers
									snake_case__ :     List[Any] 							=				decoder_intermediate_size
									snake_case__ :     List[str] 							=				pixel_mask_ratio
									snake_case__ :     int 							=				audio_mask_ratio
									snake_case__ :     List[str] 							=				audio_mask_type

									snake_case__ :     Tuple 							=				task_matching
									snake_case__ :     Dict 							=				task_mae
									snake_case__ :     Union[str, Any] 							=				loss_type



def 			UpperCamelCase__						(    A__   )       -> int:
				if number != int(A__   ):
								raise ValueError('factorial() only accepts integral values'   )
				if number < 0:
								raise ValueError('factorial() not defined for negative values'   )
				snake_case__ :     Optional[Any] 							=				1
				for i in range(1      ,			number + 1   ):
								value *= i
				return value
def 			UpperCamelCase__						(    A__   )       -> int:
				if not isinstance(A__      ,			A__   ):
								raise ValueError('factorial() only accepts integral values'   )
				if n < 0:
								raise ValueError('factorial() not defined for negative values'   )
				return 1 if n == 0 or n == 1 else n * factorial(n - 1   )


if __name__ == "__main__":
				import doctest

				doctest.testmod()

				lowerCAmelCase__					:       Any		=       int(input('''Enter a positive integer: ''').strip() or 0)
				print(F'''factorial{n} is {factorial(n)}''')


