



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


A_		:     int        =     logging.get_logger(__name__)

A_		:     Any        =     {
    '''facebook/xglm-564M''': '''https://huggingface.co/facebook/xglm-564M/resolve/main/config.json''',
    # See all XGLM models at https://huggingface.co/models?filter=xglm
}



class 		_lowercase		(       UpperCAmelCase__	):
			_UpperCAmelCase     	=			'''xglm'''
			_UpperCAmelCase     	=			['''past_key_values''']

			_UpperCAmelCase     	=			{
			    '''num_attention_heads''': '''attention_heads''',
			    '''hidden_size''': '''d_model''',
			    '''num_hidden_layers''': '''num_layers''',
			}

			def __init__(      self			:       Dict							,   __lowerCAmelCase			:       Any=25_6008							,   __lowerCAmelCase			:       Optional[int]=2048							,   __lowerCAmelCase			:       Optional[Any]=1024							,   __lowerCAmelCase			:       Optional[int]=4096							,   __lowerCAmelCase			:       int=24							,   __lowerCAmelCase			:       Any=16							,   __lowerCAmelCase			:       List[Any]="gelu"							,   __lowerCAmelCase			:       Optional[int]=0.1							,   __lowerCAmelCase			:       List[Any]=0.1							,   __lowerCAmelCase			:       List[Any]=0.0							,   __lowerCAmelCase			:       Any=0.0							,   __lowerCAmelCase			:       List[str]=0.0_2							,   __lowerCAmelCase			:       Tuple=True							,   __lowerCAmelCase			:       Optional[int]=True							,   __lowerCAmelCase			:       int=2							,   __lowerCAmelCase			:       Any=1							,   __lowerCAmelCase			:       Optional[Any]=0							,   __lowerCAmelCase			:       Dict=2							,   **__lowerCAmelCase			:       List[Any]							,   )       ->				Any:


				"""simple docstring"""






				a						=		vocab_size
				a						=		max_position_embeddings
				a						=		d_model
				a						=		ffn_dim
				a						=		num_layers
				a						=		attention_heads
				a						=		activation_function
				a						=		dropout
				a						=		attention_dropout
				a						=		activation_dropout
				a						=		layerdrop
				a						=		init_std
				a						=		scale_embedding  # scale factor will be sqrt(d_model) if True
				a						=		use_cache

				super().__init__(
				    pad_token_id=__lowerCAmelCase							,   bos_token_id=__lowerCAmelCase							,   eos_token_id=__lowerCAmelCase							,   decoder_start_token_id=__lowerCAmelCase							,   **__lowerCAmelCase							,   )






A_		:     Any        =     [4, 1, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
A_		:     Tuple        =     [3, 7, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
A_		:     Optional[int]        =     {
    0: '''Sunday''',
    1: '''Monday''',
    2: '''Tuesday''',
    3: '''Wednesday''',
    4: '''Thursday''',
    5: '''Friday''',
    6: '''Saturday''',
}


def 	UpperCAmelCase__      (      UpperCAmelCase__ :int ,					UpperCAmelCase__ :int ,					UpperCAmelCase__ :int					):






 '''simple docstring'''

 assert len(str(UpperCAmelCase__					)					) > 2, "year should be in YYYY format"
 assert 1 <= month <= 12, "month should be between 1 to 12"
 assert 1 <= day <= 31, "day should be between 1 to 31"

 # Doomsday algorithm:
 a						=		year // 1_00
 a						=		(5 * (century % 4) + 2) % 7
 a						=		year % 1_00
 a						=		centurian % 12
 a						=		(
     (centurian // 12) + centurian_m + (centurian_m // 4) + century_anchor
 ) % 7
 a						=		(
     DOOMSDAY_NOT_LEAP[month - 1]
     if (year % 4 != 0) or (centurian == 0 and (year % 4_00) == 0)
     else DOOMSDAY_LEAP[month - 1]
 )
 a						=		(dooms_day + day - day_anchor) % 7
 return WEEK_DAY_NAMES[week_day]


if __name__ == "__main__":
     import doctest

     doctest.testmod()

