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


a_		       =   logging.get_logger(__name__)

a_		       =   {
    """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       UpperCAmelCase__     (		SCREAMING_SNAKE_CASE_       ):



  """simple docstring"""






  lowerCAmelCase__		:						Any     		=			'vivit'






  def __init__(					self:      str					,					__lowerCAmelCase:      Tuple=224					,					__lowerCAmelCase:      Union[str, Any]=32					,					__lowerCAmelCase:      Optional[int]=[2, 16, 16]					,					__lowerCAmelCase:      Union[str, Any]=3					,					__lowerCAmelCase:      Union[str, Any]=768					,					__lowerCAmelCase:      List[str]=12					,					__lowerCAmelCase:      int=12					,					__lowerCAmelCase:      Optional[int]=3_072					,					__lowerCAmelCase:      Tuple="gelu_fast"					,					__lowerCAmelCase:      Union[str, Any]=0.0					,					__lowerCAmelCase:      Tuple=0.0					,					__lowerCAmelCase:      Optional[Any]=0.02					,					__lowerCAmelCase:      str=1E-06					,					__lowerCAmelCase:      Union[str, Any]=True					,					**__lowerCAmelCase:      Optional[int]					,					)			->			List[str]:




    '''simple docstring'''




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

    __UpperCAmelCase         =							image_size
    __UpperCAmelCase         =							num_frames
    __UpperCAmelCase         =							tubelet_size
    __UpperCAmelCase         =							num_channels
    __UpperCAmelCase         =							qkv_bias

    super().__init__(**__snake_case )











"""simple docstring"""





def   a    (     __UpperCAmelCase      :    int      ,   __UpperCAmelCase      :    int  )    ->							int:
						while b:
												__magic_name__,			__magic_name__:	Optional[int]							=       b, a % b
						return a



def   a    (     __UpperCAmelCase      :    int      ,   __UpperCAmelCase      :    int  )    ->							int:
						return a if b == 0 else euclidean_gcd_recursive(__UpperCAmelCase      ,   a % b  )



def   a    (     )    ->							List[Any]:
						print(f'euclidean_gcd(3, 5) = {euclidean_gcd(3      ,   5  )}'  )
						print(f'euclidean_gcd(5, 3) = {euclidean_gcd(5      ,   3  )}'  )
						print(f'euclidean_gcd(1, 3) = {euclidean_gcd(1      ,   3  )}'  )
						print(f'euclidean_gcd(3, 6) = {euclidean_gcd(3      ,   6  )}'  )
						print(f'euclidean_gcd(6, 3) = {euclidean_gcd(6      ,   3  )}'  )

						print(f'euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3      ,   5  )}'  )
						print(f'euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5      ,   3  )}'  )
						print(f'euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1      ,   3  )}'  )
						print(f'euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3      ,   6  )}'  )
						print(f'euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6      ,   3  )}'  )


if __name__ == "__main__":
							main()



