




import warnings

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


__SCREAMING_SNAKE_CASE 						=logging.get_logger(__name__)

__SCREAMING_SNAKE_CASE 						={
    """xlnet-base-cased""": """https://huggingface.co/xlnet-base-cased/resolve/main/config.json""",
    """xlnet-large-cased""": """https://huggingface.co/xlnet-large-cased/resolve/main/config.json""",
}






class  __magic_name__						(  __UpperCAmelCase):
				'''simple docstring'''







				SCREAMING_SNAKE_CASE__					:							Any	      =					"xlnet"
				SCREAMING_SNAKE_CASE__					:							List[str]	      =					["mems"]
				SCREAMING_SNAKE_CASE__					:							Union[str, Any]	      =					{
				    "n_token": "vocab_size",  # Backward compatibility
				    "hidden_size": "d_model",
				    "num_attention_heads": "n_head",
				    "num_hidden_layers": "n_layer",
				}


				def __init__(							self:   Dict		,					_lowerCamelCase:   Optional[int]=3_20_00		,					_lowerCamelCase:   List[Any]=10_24		,					_lowerCamelCase:   Dict=24		,					_lowerCamelCase:   Tuple=16		,					_lowerCamelCase:   Union[str, Any]=40_96		,					_lowerCamelCase:   Optional[int]="gelu"		,					_lowerCamelCase:   Tuple=True		,					_lowerCamelCase:   Optional[Any]="bi"		,					_lowerCamelCase:   str=0.02		,					_lowerCamelCase:   List[Any]=1E-12		,					_lowerCamelCase:   Optional[int]=0.1		,					_lowerCamelCase:   Dict=5_12		,					_lowerCamelCase:   Any=None		,					_lowerCamelCase:   Optional[Any]=True		,					_lowerCamelCase:   Optional[int]=False		,					_lowerCamelCase:   Optional[int]=False		,					_lowerCamelCase:   Union[str, Any]=-1		,					_lowerCamelCase:   Tuple=False		,					_lowerCamelCase:   str="last"		,					_lowerCamelCase:   Tuple=True		,					_lowerCamelCase:   int="tanh"		,					_lowerCamelCase:   Any=0.1		,					_lowerCamelCase:   Union[str, Any]=5		,					_lowerCamelCase:   Any=5		,					_lowerCamelCase:   int=5		,					_lowerCamelCase:   str=1		,					_lowerCamelCase:   Optional[Any]=2		,					**_lowerCamelCase:   Optional[int]		,					):
											SCREAMING_SNAKE_CASE_   	=    vocab_size
											SCREAMING_SNAKE_CASE_   	=    d_model
											SCREAMING_SNAKE_CASE_   	=    n_layer
											SCREAMING_SNAKE_CASE_   	=    n_head
											if d_model % n_head != 0:
																		raise ValueError(f"'d_model % n_head' ({d_model % n_head}) should be equal to 0"		)
											if "d_head" in kwargs:
																		if kwargs["d_head"] != d_model // n_head:
																									raise ValueError(
																									    f"`d_head` ({kwargs['d_head']}) should be equal to `d_model // n_head` ({d_model // n_head})"		)
											SCREAMING_SNAKE_CASE_   	=    d_model // n_head
											SCREAMING_SNAKE_CASE_   	=    ff_activation
											SCREAMING_SNAKE_CASE_   	=    d_inner
											SCREAMING_SNAKE_CASE_   	=    untie_r
											SCREAMING_SNAKE_CASE_   	=    attn_type

											SCREAMING_SNAKE_CASE_   	=    initializer_range
											SCREAMING_SNAKE_CASE_   	=    layer_norm_eps

											SCREAMING_SNAKE_CASE_   	=    dropout
											SCREAMING_SNAKE_CASE_   	=    mem_len
											SCREAMING_SNAKE_CASE_   	=    reuse_len
											SCREAMING_SNAKE_CASE_   	=    bi_data
											SCREAMING_SNAKE_CASE_   	=    clamp_len
											SCREAMING_SNAKE_CASE_   	=    same_length

											SCREAMING_SNAKE_CASE_   	=    summary_type
											SCREAMING_SNAKE_CASE_   	=    summary_use_proj
											SCREAMING_SNAKE_CASE_   	=    summary_activation
											SCREAMING_SNAKE_CASE_   	=    summary_last_dropout
											SCREAMING_SNAKE_CASE_   	=    start_n_top
											SCREAMING_SNAKE_CASE_   	=    end_n_top

											SCREAMING_SNAKE_CASE_   	=    bos_token_id
											SCREAMING_SNAKE_CASE_   	=    pad_token_id
											SCREAMING_SNAKE_CASE_   	=    eos_token_id

											if "use_cache" in kwargs:
																		warnings.warn(
																		    '''The `use_cache` argument is deprecated and will be removed in a future version, use `use_mems_eval`'''
																		    ''' instead.'''		,					_lowerCamelCase		,					)
																		SCREAMING_SNAKE_CASE_   	=    kwargs['''use_cache''']

											SCREAMING_SNAKE_CASE_   	=    use_mems_eval
											SCREAMING_SNAKE_CASE_   	=    use_mems_train
											super().__init__(pad_token_id=_lowerCamelCase		,					bos_token_id=_lowerCamelCase		,					eos_token_id=_lowerCamelCase		,					**_lowerCamelCase		)


				@property
				def     _A							(							self:   List[Any]		):
											logger.info(f"The model {self.model_type} is one of the few models that has no sequence length limit."		)
											return -1





				@max_position_embeddings.setter
				def     _A							(							self:   str		,					_lowerCamelCase:   List[Any]		):
											# Message copied from Transformer-XL documentation
											raise NotImplementedError(
											    f"The model {self.model_type} is one of the few models that has no sequence length limit."		)








import requests

def 			a   (_lowerCAmelCase  ,    _lowerCAmelCase     ):
							SCREAMING_SNAKE_CASE_   	=    {'''Content-Type''': '''application/json'''}
							SCREAMING_SNAKE_CASE_   	=    requests.post(_lowerCAmelCase  ,    json={'''text''': message_body}  ,    headers=_lowerCAmelCase     )
							if response.status_code != 2_0_0:
														SCREAMING_SNAKE_CASE_   	=    (
														    '''Request to slack returned an error '''
														    F"{response.status_code}, the response is:\n{response.text}"
														)
														raise ValueError(_lowerCAmelCase     )


if __name__ == "__main__":
			# Set the slack url to the one provided by Slack when you create the webhook at
			# https://my.slack.com/services/new/incoming-webhook/
			send_slack_message("""<YOUR MESSAGE BODY>""", """<SLACK CHANNEL URL>""")


