from __future__ import annotations

from typing import Dict

from ...configuration_utils import PretrainedConfig


__snake_case						=			{
    '''susnato/ernie-m-base_pytorch''': '''https://huggingface.co/susnato/ernie-m-base_pytorch/blob/main/config.json''',
    '''susnato/ernie-m-large_pytorch''': '''https://huggingface.co/susnato/ernie-m-large_pytorch/blob/main/config.json''',
}







class 	__snake_case      (   A__      ):
 __lowerCamelCase			:      str           =					"""ernie_m"""
 __lowerCamelCase			:      Tuple           =					{"""dropout""": """classifier_dropout""", """num_classes""": """num_labels"""}
 def __init__(     self						,      snake_case__ = 25_0002						,      snake_case__ = 768						,      snake_case__ = 12						,      snake_case__ = 12						,      snake_case__ = 3072						,      snake_case__ = "gelu"						,      snake_case__ = 0.1						,      snake_case__ = 0.1						,      snake_case__ = 514						,      snake_case__ = 0.02						,      snake_case__ = 1						,      snake_case__ = 1e-05						,      snake_case__=None						,      snake_case__=False						,      snake_case__=0.0						,      **snake_case__						,      )		->							Optional[int]:
       '''simple docstring'''





       super().__init__(pad_token_id=_A						,      **_A  )
       UpperCAmelCase			:       Dict			     =vocab_size
       UpperCAmelCase			:       Union[str, Any]			     =hidden_size
       UpperCAmelCase			:       Any			     =num_hidden_layers
       UpperCAmelCase			:       List[Any]			     =num_attention_heads
       UpperCAmelCase			:       Tuple			     =intermediate_size
       UpperCAmelCase			:       List[Any]			     =hidden_act
       UpperCAmelCase			:       Optional[Any]			     =hidden_dropout_prob
       UpperCAmelCase			:       int			     =attention_probs_dropout_prob
       UpperCAmelCase			:       Tuple			     =max_position_embeddings
       UpperCAmelCase			:       Union[str, Any]			     =initializer_range
       UpperCAmelCase			:       List[str]			     =layer_norm_eps
       UpperCAmelCase			:       Union[str, Any]			     =classifier_dropout
       UpperCAmelCase			:       str			     =is_decoder
       UpperCAmelCase			:       str			     =act_dropout

from functools import lru_cache




@lru_cache
def       _snake_case	(   lowerCAmelCase							:   int	):
		"""simple docstring"""







		if num < 0:
				raise ValueError("Number should not be negative."	)

		return 1 if num in (0, 1) else num * factorial(num - 1	)


if __name__ == "__main__":
		import doctest

		doctest.testmod()
