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


lowerCamelCase_						: str         =  logging.get_logger(__name__)

lowerCamelCase_						: int         =  {
    """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        _UpperCamelCase				(					_A     ,       _A  ):






			'''simple docstring'''

			__UpperCamelCase      :						Tuple					      = """dinat"""

			__UpperCamelCase      :						Optional[int]					      = {
			    """num_attention_heads""": """num_heads""",
			    """num_hidden_layers""": """num_layers""",
			}

			def __init__(       self :       List[Any]						,	snake_case_ :       Tuple=4						,	snake_case_ :       Optional[Any]=3						,	snake_case_ :       Tuple=64						,	snake_case_ :       List[Any]=[3, 4, 6, 5]						,	snake_case_ :       int=[2, 4, 8, 16]						,	snake_case_ :       str=7						,	snake_case_ :       Dict=[[1, 8, 1], [1, 4, 1, 4], [1, 2, 1, 2, 1, 2], [1, 1, 1, 1, 1]]						,	snake_case_ :       List[Any]=3.0						,	snake_case_ :       Union[str, Any]=True						,	snake_case_ :       Optional[int]=0.0						,	snake_case_ :       str=0.0						,	snake_case_ :       Optional[Any]=0.1						,	snake_case_ :       str="gelu"						,	snake_case_ :       Optional[int]=0.02						,	snake_case_ :       List[str]=1e-5						,	snake_case_ :       str=0.0						,	snake_case_ :       Optional[Any]=None						,	snake_case_ :       Any=None						,	**snake_case_ :       Any						,	):
							super().__init__(**snake_case_      )

							UpperCamelCase_:							int	=						patch_size
							UpperCamelCase_:							Union[str, Any]	=						num_channels
							UpperCamelCase_:							Dict	=						embed_dim
							UpperCamelCase_:							List[str]	=						depths
							UpperCamelCase_:							int	=						len(snake_case_      )
							UpperCamelCase_:							Optional[Any]	=						num_heads
							UpperCamelCase_:							Optional[int]	=						kernel_size
							UpperCamelCase_:							Union[str, Any]	=						dilations
							UpperCamelCase_:							List[str]	=						mlp_ratio
							UpperCamelCase_:							List[str]	=						qkv_bias
							UpperCamelCase_:							Union[str, Any]	=						hidden_dropout_prob
							UpperCamelCase_:							Any	=						attention_probs_dropout_prob
							UpperCamelCase_:							Any	=						drop_path_rate
							UpperCamelCase_:							Union[str, Any]	=						hidden_act
							UpperCamelCase_:							Any	=						layer_norm_eps
							UpperCamelCase_:							List[str]	=						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
							UpperCamelCase_:							List[str]	=						int(embed_dim * 2 ** (len(snake_case_      ) - 1)      )
							UpperCamelCase_:							Any	=						layer_scale_init_value
							UpperCamelCase_:							str	=						["""stem"""] + [f'''stage{idx}''' for idx in range(1						,	len(snake_case_      ) + 1      )]
							UpperCamelCase_,   UpperCamelCase_:							List[str]	=						get_aligned_output_features_output_indices(
							    out_features=snake_case_						,	out_indices=snake_case_						,	stage_names=self.stage_names      )








def        A__					(						lowerCamelCase     ,    lowerCamelCase						)  ->	int:
				while second != 0:
								UpperCamelCase_:							Optional[Any]	=						first & second
								first ^= second
								UpperCamelCase_:							Any	=						c << 1
				return first


if __name__ == "__main__":
							import doctest

							doctest.testmod()

							lowerCamelCase_						: List[Any]         =  int(input("""Enter the first number: """).strip())
							lowerCamelCase_						: Tuple         =  int(input("""Enter the second number: """).strip())
							print(F"""{add(first, second) = }""")






