


'''simple docstring'''



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


_lowercase      :      int            =					logging.get_logger(__name__)

_lowercase      :      List[str]            =					{
    """uw-madison/mra-base-512-4""": """https://huggingface.co/uw-madison/mra-base-512-4/resolve/main/config.json""",
}






class 	UpperCamelCase__(       lowerCAmelCase	):
				__magic_name__    :				Dict  		=	"mra"




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

										"""simple docstring"""




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

										UpperCAmelCase					    =     vocab_size
										UpperCAmelCase					    =     max_position_embeddings
										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					    =     type_vocab_size
										UpperCAmelCase					    =     layer_norm_eps
										UpperCAmelCase					    =     position_embedding_type
										UpperCAmelCase					    =     block_per_row
										UpperCAmelCase					    =     approx_mode
										UpperCAmelCase					    =     initial_prior_first_n_blocks
										UpperCAmelCase					    =     initial_prior_diagonal_n_blocks









'''simple docstring'''



def 				lowerCamelCase__				(	A       :      int				,       A       :      int					):




						'''simple docstring'''






						while a != 0:
												UpperCAmelCase    ,    UpperCAmelCase					    =     b % a, a
						return b




def 				lowerCamelCase__				(	A       :      int				,       A       :      int					):




						'''simple docstring'''






						if gcd(A				,       A					) != 1:
												UpperCAmelCase					    =     f"""mod inverse of {a!r} and {m!r} does not exist"""
												raise ValueError(A					)
						UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase					    =     1, 0, a
						UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase					    =     0, 1, m
						while va != 0:
												UpperCAmelCase					    =     ua // va
												UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase					    =     (ua - q * va), (ua - q * va), (ua - q * va), va, va, va
						return ua % m





