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


lowercase_ 				=			logging.get_logger(__name__)

lowercase_ 				=			{
    """uw-madison/mra-base-512-4""": """https://huggingface.co/uw-madison/mra-base-512-4/resolve/main/config.json""",
}





class     __UpperCamelCase (							lowerCAmelCase__       ):






     """simple docstring"""







     lowerCAmelCase_							   =			'''mra'''



     def __init__(				self							:							List[Any]     ,						_A							:							Any=5_0265     ,						_A							:							Tuple=768     ,						_A							:							Any=12     ,						_A							:							Union[str, Any]=12     ,						_A							:							str=3072     ,						_A							:							int="gelu"     ,						_A							:							Optional[int]=0.1     ,						_A							:							Optional[int]=0.1     ,						_A							:							List[str]=512     ,						_A							:							Tuple=1     ,						_A							:							Union[str, Any]=0.02     ,						_A							:							List[str]=1e-5     ,						_A							:							Optional[int]="absolute"     ,						_A							:							List[str]=4     ,						_A							:							int="full"     ,						_A							:							Optional[Any]=0     ,						_A							:							int=0     ,						_A							:							int=1     ,						_A							:							Union[str, Any]=0     ,						_A							:							int=2     ,						**_A							:							Optional[Any]     ,						):







       """simple docstring"""




       super().__init__(pad_token_id=_A     ,						bos_token_id=_A     ,						eos_token_id=_A     ,						**_A )

       __SCREAMING_SNAKE_CASE      :	Tuple					=		vocab_size
       __SCREAMING_SNAKE_CASE      :	List[Any]					=		max_position_embeddings
       __SCREAMING_SNAKE_CASE      :	int					=		hidden_size
       __SCREAMING_SNAKE_CASE      :	List[Any]					=		num_hidden_layers
       __SCREAMING_SNAKE_CASE      :	Optional[int]					=		num_attention_heads
       __SCREAMING_SNAKE_CASE      :	Optional[Any]					=		intermediate_size
       __SCREAMING_SNAKE_CASE      :	int					=		hidden_act
       __SCREAMING_SNAKE_CASE      :	List[str]					=		hidden_dropout_prob
       __SCREAMING_SNAKE_CASE      :	Optional[Any]					=		attention_probs_dropout_prob
       __SCREAMING_SNAKE_CASE      :	Optional[int]					=		initializer_range
       __SCREAMING_SNAKE_CASE      :	Optional[Any]					=		type_vocab_size
       __SCREAMING_SNAKE_CASE      :	Optional[Any]					=		layer_norm_eps
       __SCREAMING_SNAKE_CASE      :	List[Any]					=		position_embedding_type
       __SCREAMING_SNAKE_CASE      :	Optional[Any]					=		block_per_row
       __SCREAMING_SNAKE_CASE      :	Union[str, Any]					=		approx_mode
       __SCREAMING_SNAKE_CASE      :	str					=		initial_prior_first_n_blocks
       __SCREAMING_SNAKE_CASE      :	Tuple					=		initial_prior_diagonal_n_blocks






def lowercase    (  SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE )			->							Dict:


			'''simple docstring'''







			if index == r:
						for j in range(SCREAMING_SNAKE_CASE ):
									print(data[j]       ,    end=' ' )
						print(' ' )
						return
			#  When no more elements are there to put in data[]
			if i >= n:
						return
			# current is included, put next at next location
			SCREAMING_SNAKE_CASE_								=						arr[i]
			combination_util(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    index + 1       ,    SCREAMING_SNAKE_CASE       ,    i + 1 )
			# current is excluded, replace it with
			# next (Note that i+1 is passed, but
			# index is not changed)
			combination_util(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    i + 1 )
			# The main function that prints all combinations
			# of size r in arr[] of size n. This function
			# mainly uses combinationUtil()

def lowercase    (  SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE )			->							Any:


			'''simple docstring'''







			SCREAMING_SNAKE_CASE_								=						[0] * r
			# Print all combination using temporary array 'data[]'
			combination_util(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    0       ,    SCREAMING_SNAKE_CASE       ,    0 )


if __name__ == "__main__":
				# Driver code to check the function above
				SCREAMING_SNAKE_CASE__     :     Dict		    =       [10, 20, 30, 40, 50]
				print_combination(arr, len(arr), 3)
				# This code is contributed by Ambuj sahu
