





"""simple docstring"""






from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


A			      =	logging.get_logger(__name__)

A			      =	{
    '''shi-labs/dinat-mini-in1k-224''': '''https://huggingface.co/shi-labs/dinat-mini-in1k-224/resolve/main/config.json''',
    # See all Dinat models at https://huggingface.co/models?filter=dinat
}




class 					__lowercase      (      _UpperCamelCase ,   _UpperCamelCase				):







					'''simple docstring'''




					__lowerCAmelCase	=	'''dinat'''

					__lowerCAmelCase	=	{
					    '''num_attention_heads''': '''num_heads''',
					    '''num_hidden_layers''': '''num_layers''',
					}







					def __init__(    self						,      _UpperCAmelCase=4						,      _UpperCAmelCase=3						,      _UpperCAmelCase=64						,      _UpperCAmelCase=[3, 4, 6, 5]						,      _UpperCAmelCase=[2, 4, 8, 16]						,      _UpperCAmelCase=7						,      _UpperCAmelCase=[[1, 8, 1], [1, 4, 1, 4], [1, 2, 1, 2, 1, 2], [1, 1, 1, 1, 1]]						,      _UpperCAmelCase=3.0						,      _UpperCAmelCase=True						,      _UpperCAmelCase=0.0						,      _UpperCAmelCase=0.0						,      _UpperCAmelCase=0.1						,      _UpperCAmelCase="gelu"						,      _UpperCAmelCase=0.0_2						,      _UpperCAmelCase=1e-5						,      _UpperCAmelCase=0.0						,      _UpperCAmelCase=None						,      _UpperCAmelCase=None						,      **_UpperCAmelCase						,      ):
									super().__init__(**_UpperCAmelCase  )

									__a			:    Union[str, Any]      							=	patch_size
									__a			:    Union[str, Any]      							=	num_channels
									__a			:    str      							=	embed_dim
									__a			:    Dict      							=	depths
									__a			:    Union[str, Any]      							=	len(_UpperCAmelCase  )
									__a			:    List[Any]      							=	num_heads
									__a			:    List[str]      							=	kernel_size
									__a			:    List[Any]      							=	dilations
									__a			:    int      							=	mlp_ratio
									__a			:    Optional[int]      							=	qkv_bias
									__a			:    Optional[int]      							=	hidden_dropout_prob
									__a			:    str      							=	attention_probs_dropout_prob
									__a			:    Optional[Any]      							=	drop_path_rate
									__a			:    List[str]      							=	hidden_act
									__a			:    Union[str, Any]      							=	layer_norm_eps
									__a			:    Any      							=	initializer_range
									# we set the hidden_size attribute in order to make Dinat work with VisionEncoderDecoderModel
									# this indicates the channel dimension after the last stage of the model
									__a			:    List[str]      							=	int(embed_dim * 2 ** (len(_UpperCAmelCase  ) - 1)  )
									__a			:    Optional[Any]      							=	layer_scale_init_value
									__a			:    Optional[Any]      							=	['''stem'''] + [f"""stage{idx}""" for idx in range(1						,      len(_UpperCAmelCase  ) + 1  )]
									__a							,    __a			:    Any      							=	get_aligned_output_features_output_indices(
									    out_features=_UpperCAmelCase						,      out_indices=_UpperCAmelCase						,      stage_names=self.stage_names  )



"""simple docstring"""



import string







def     __lowerCAmelCase		(		lowercase    :    str					)      ->		None:


    """simple docstring"""





    for key in range(len(string.ascii_uppercase					)					):
        snake_case       : Dict    =       ""
        for symbol in message:
            if symbol in string.ascii_uppercase:
                snake_case       : Dict    =       string.ascii_uppercase.find(lowercase					)
                snake_case       : Optional[int]    =       num - key
                if num < 0:
                    snake_case       : Optional[int]    =       num + len(string.ascii_uppercase					)
                snake_case       : Dict    =       translated + string.ascii_uppercase[num]
            else:
                snake_case       : Any    =       translated + symbol
        print(F'Decryption using Key #{key}: {translated}'					)







def     __lowerCAmelCase		(		)      ->		None:


    """simple docstring"""





    snake_case       : Dict    =       input("Encrypted message: "					)
    snake_case       : Any    =       message.upper()
    decrypt(lowercase					)


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  main()





