
import unittest

from transformers import SPIECE_UNDERLINE
from transformers.models.speechta import SpeechTaTokenizer
from transformers.testing_utils import get_tests_dir, require_sentencepiece, require_tokenizers, slow
from transformers.tokenization_utils import AddedToken

from ...test_tokenization_common import TokenizerTesterMixin


lowerCamelCase_  :	Tuple 				=					get_tests_dir("""fixtures/test_sentencepiece_bpe_char.model""")

@require_sentencepiece
@require_tokenizers
class     _UpperCamelCase			(   _A       ,    unittest.TestCase					):






			'''simple docstring'''

			__UpperCamelCase :  List[Any]    =	SpeechTaTokenizer
			__UpperCamelCase :  Optional[Any]    =	False
			__UpperCamelCase :  Optional[int]    =	True

			def  lowerCAmelCase__		(    self	:    Dict ):
							super().setUp()

							# We have a SentencePiece fixture for testing
							UpperCamelCase_:							List[str]		=  SpeechTaTokenizer(snake_case_ )

							UpperCamelCase_:							str		=  AddedToken("""<mask>"""  ,		lstrip=snake_case_  ,		rstrip=snake_case_ )
							UpperCamelCase_:							Any		=  mask_token
							tokenizer.add_special_tokens({"""mask_token""": mask_token} )
							tokenizer.add_tokens(["""<ctc_blank>"""] )

							tokenizer.save_pretrained(self.tmpdirname )

			def  lowerCAmelCase__		(    self	:    Union[str, Any]  ,		snake_case_	:    Optional[Any] ):
							UpperCamelCase_:							Dict		=  """this is a test"""
							UpperCamelCase_:							int		=  """this is a test"""
							return input_text, output_text

			def  lowerCAmelCase__		(    self	:    int  ,		snake_case_	:    str  ,		snake_case_	:    Any=False  ,		snake_case_	:    Optional[int]=20  ,		snake_case_	:    Dict=5 ):
							UpperCamelCase_,				UpperCamelCase_:							List[Any]		=  self.get_input_output_texts(snake_case_ )
							UpperCamelCase_:							str		=  tokenizer.encode(snake_case_  ,		add_special_tokens=snake_case_ )
							UpperCamelCase_:							Optional[Any]		=  tokenizer.decode(snake_case_  ,		clean_up_tokenization_spaces=snake_case_ )
							return text, ids

			def  lowerCAmelCase__		(    self	:    Tuple ):
							UpperCamelCase_:							Optional[int]		=  """<pad>"""
							UpperCamelCase_:							Optional[int]		=  1

							self.assertEqual(self.get_tokenizer()._convert_token_to_id(snake_case_ )  ,		snake_case_ )
							self.assertEqual(self.get_tokenizer()._convert_id_to_token(snake_case_ )  ,		snake_case_ )

			def  lowerCAmelCase__		(    self	:    List[str] ):
							UpperCamelCase_:							Tuple		=  list(self.get_tokenizer().get_vocab().keys() )

							self.assertEqual(vocab_keys[0]  ,		"""<s>""" )
							self.assertEqual(vocab_keys[1]  ,		"""<pad>""" )
							self.assertEqual(vocab_keys[-4]  ,		"""œ""" )
							self.assertEqual(vocab_keys[-2]  ,		"""<mask>""" )
							self.assertEqual(vocab_keys[-1]  ,		"""<ctc_blank>""" )
							self.assertEqual(len(snake_case_ )  ,		81 )

			def  lowerCAmelCase__		(    self	:    List[str] ):
							self.assertEqual(self.get_tokenizer().vocab_size  ,		79 )

			def  lowerCAmelCase__		(    self	:    Optional[int] ):
							UpperCamelCase_:							List[str]		=  self.get_tokenizers(do_lower_case=snake_case_ )
							for tokenizer in tokenizers:
											with self.subTest(f'''{tokenizer.__class__.__name__}''' ):
															UpperCamelCase_:							Tuple		=  tokenizer.vocab_size
															UpperCamelCase_:							str		=  len(snake_case_ )

															self.assertNotEqual(snake_case_  ,		0 )

															# We usually have added tokens from the start in tests because our vocab fixtures are
															# smaller than the original vocabs - let's not assert this
															# self.assertEqual(vocab_size, all_size)

															UpperCamelCase_:							Tuple		=  ["""aaaaa bbbbbb""", """cccccccccdddddddd"""]
															UpperCamelCase_:							Tuple		=  tokenizer.add_tokens(snake_case_ )
															UpperCamelCase_:							Any		=  tokenizer.vocab_size
															UpperCamelCase_:							str		=  len(snake_case_ )

															self.assertNotEqual(snake_case_  ,		0 )
															self.assertEqual(snake_case_  ,		snake_case_ )
															self.assertEqual(snake_case_  ,		len(snake_case_ ) )
															self.assertEqual(snake_case_  ,		all_size + len(snake_case_ ) )

															UpperCamelCase_:							int		=  tokenizer.encode("""aaaaa bbbbbb low cccccccccdddddddd l"""  ,		add_special_tokens=snake_case_ )

															self.assertGreaterEqual(len(snake_case_ )  ,		4 )
															self.assertGreater(tokens[0]  ,		tokenizer.vocab_size - 1 )
															self.assertGreater(tokens[-3]  ,		tokenizer.vocab_size - 1 )

															UpperCamelCase_:							int		=  {"""eos_token""": """>>>>|||<||<<|<<""", """pad_token""": """<<<<<|||>|>>>>|>"""}
															UpperCamelCase_:							str		=  tokenizer.add_special_tokens(snake_case_ )
															UpperCamelCase_:							Dict		=  tokenizer.vocab_size
															UpperCamelCase_:							List[str]		=  len(snake_case_ )

															self.assertNotEqual(snake_case_  ,		0 )
															self.assertEqual(snake_case_  ,		snake_case_ )
															self.assertEqual(snake_case_  ,		len(snake_case_ ) )
															self.assertEqual(snake_case_  ,		all_size_a + len(snake_case_ ) )

															UpperCamelCase_:							List[Any]		=  tokenizer.encode(
															    """>>>>|||<||<<|<< aaaaabbbbbb low cccccccccdddddddd <<<<<|||>|>>>>|> l"""  ,		add_special_tokens=snake_case_ )

															self.assertGreaterEqual(len(snake_case_ )  ,		6 )
															self.assertGreater(tokens[0]  ,		tokenizer.vocab_size - 1 )
															self.assertGreater(tokens[0]  ,		tokens[1] )
															self.assertGreater(tokens[-3]  ,		tokenizer.vocab_size - 1 )
															self.assertGreater(tokens[-3]  ,		tokens[-4] )
															self.assertEqual(tokens[0]  ,		tokenizer.eos_token_id )
															self.assertEqual(tokens[-3]  ,		tokenizer.pad_token_id )

			def  lowerCAmelCase__		(    self	:    List[str] ):
							pass

			def  lowerCAmelCase__		(    self	:    Optional[int] ):
							pass

			def  lowerCAmelCase__		(    self	:    List[str] ):
							UpperCamelCase_:							Dict		=  self.get_tokenizer()

							UpperCamelCase_:							int		=  tokenizer.tokenize("""This is a test""" )
							# fmt: off
							self.assertListEqual(snake_case_  ,		[SPIECE_UNDERLINE, """T""", """h""", """i""", """s""", SPIECE_UNDERLINE, """i""", """s""", SPIECE_UNDERLINE, """a""", SPIECE_UNDERLINE, """t""", """e""", """s""", """t"""] )
							# fmt: on

							self.assertListEqual(
							    tokenizer.convert_tokens_to_ids(snake_case_ )  ,		[4, 32, 11, 10, 12, 4, 10, 12, 4, 7, 4, 6, 5, 12, 6]  ,		)

							UpperCamelCase_:							int		=  tokenizer.tokenize("""I was born in 92000, and this is falsé.""" )
							self.assertListEqual(
							    snake_case_  ,		[SPIECE_UNDERLINE, """I""", SPIECE_UNDERLINE, """w""", """a""", """s""", SPIECE_UNDERLINE, """b""", """o""", """r""", """n""", SPIECE_UNDERLINE, """i""", """n""", SPIECE_UNDERLINE, """92000""", """,""", SPIECE_UNDERLINE, """a""", """n""", """d""", SPIECE_UNDERLINE, """t""", """h""", """i""", """s""", SPIECE_UNDERLINE, """i""", """s""", SPIECE_UNDERLINE, """f""", """a""", """l""", """s""", """é""", """."""] )

							UpperCamelCase_:							Optional[int]		=  tokenizer.convert_tokens_to_ids(snake_case_ )
							# fmt: off
							self.assertListEqual(snake_case_  ,		[4, 30, 4, 20, 7, 12, 4, 25, 8, 13, 9, 4, 10, 9, 4, 3, 23, 4, 7, 9, 14, 4, 6, 11, 10, 12, 4, 10, 12, 4, 19, 7, 15, 12, 73, 26] )
							# fmt: on

							UpperCamelCase_:							Dict		=  tokenizer.convert_ids_to_tokens(snake_case_ )
							self.assertListEqual(
							    snake_case_  ,		[SPIECE_UNDERLINE, """I""", SPIECE_UNDERLINE, """w""", """a""", """s""", SPIECE_UNDERLINE, """b""", """o""", """r""", """n""", SPIECE_UNDERLINE, """i""", """n""", SPIECE_UNDERLINE, """<unk>""", """,""", SPIECE_UNDERLINE, """a""", """n""", """d""", SPIECE_UNDERLINE, """t""", """h""", """i""", """s""", SPIECE_UNDERLINE, """i""", """s""", SPIECE_UNDERLINE, """f""", """a""", """l""", """s""", """é""", """."""] )




			@slow
			def  lowerCAmelCase__		(    self	:    List[Any] ):
							# Use custom sequence because this tokenizer does not handle numbers.
							UpperCamelCase_:							Tuple		=  [
							    """Transformers (formerly known as pytorch-transformers and pytorch-pretrained-bert) provides """
							    """general-purpose architectures (BERT, GPT, RoBERTa, XLM, DistilBert, XLNet...) for Natural """
							    """Language Understanding (NLU) and Natural Language Generation (NLG) with over thirty-two pretrained """
							    """models in one hundred plus languages and deep interoperability between Jax, PyTorch and TensorFlow.""",
							    """BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly """
							    """conditioning on both left and right context in all layers.""",
							    """The quick brown fox jumps over the lazy dog.""",
							]

							# fmt: off
							UpperCamelCase_:							Optional[int]		=  {
							    """input_ids""": [
							        [4, 32, 13, 7, 9, 12, 19, 8, 13, 18, 5, 13, 12, 4, 64, 19, 8, 13, 18, 5, 13, 15, 22, 4, 28, 9, 8, 20, 9, 4, 7, 12, 4, 24, 22, 6, 8, 13, 17, 11, 39, 6, 13, 7, 9, 12, 19, 8, 13, 18, 5, 13, 12, 4, 7, 9, 14, 4, 24, 22, 6, 8, 13, 17, 11, 39, 24, 13, 5, 6, 13, 7, 10, 9, 5, 14, 39, 25, 5, 13, 6, 63, 4, 24, 13, 8, 27, 10, 14, 5, 12, 4, 21, 5, 9, 5, 13, 7, 15, 39, 24, 16, 13, 24, 8, 12, 5, 4, 7, 13, 17, 11, 10, 6, 5, 17, 6, 16, 13, 5, 12, 4, 64, 40, 47, 54, 32, 23, 4, 53, 49, 32, 23, 4, 54, 8, 40, 47, 54, 32, 7, 23, 4, 69, 52, 43, 23, 4, 51, 10, 12, 6, 10, 15, 40, 5, 13, 6, 23, 4, 69, 52, 48, 5, 6, 26, 26, 26, 63, 4, 19, 8, 13, 4, 48, 7, 6, 16, 13, 7, 15, 4, 52, 7, 9, 21, 16, 7, 21, 5, 4, 61, 9, 14, 5, 13, 12, 6, 7, 9, 14, 10, 9, 21, 4, 64, 48, 52, 61, 63, 4, 7, 9, 14, 4, 48, 7, 6, 16, 13, 7, 15, 4, 52, 7, 9, 21, 16, 7, 21, 5, 4, 53, 5, 9, 5, 13, 7, 6, 10, 8, 9, 4, 64, 48, 52, 53, 63, 4, 20, 10, 6, 11, 4, 8, 27, 5, 13, 4, 6, 11, 10, 13, 6, 22, 39, 6, 20, 8, 4, 24, 13, 5, 6, 13, 7, 10, 9, 5, 14, 4, 18, 8, 14, 5, 15, 12, 4, 10, 9, 4, 8, 9, 5, 4, 11, 16, 9, 14, 13, 5, 14, 4, 24, 15, 16, 12, 4, 15, 7, 9, 21, 16, 7, 21, 5, 12, 4, 7, 9, 14, 4, 14, 5, 5, 24, 4, 10, 9, 6, 5, 13, 8, 24, 5, 13, 7, 25, 10, 15, 10, 6, 22, 4, 25, 5, 6, 20, 5, 5, 9, 4, 58, 7, 37, 23, 4, 49, 22, 32, 8, 13, 17, 11, 4, 7, 9, 14, 4, 32, 5, 9, 12, 8, 13, 55, 15, 8, 20, 26, 2],
							        [4, 40, 47, 54, 32, 4, 10, 12, 4, 14, 5, 12, 10, 21, 9, 5, 14, 4, 6, 8, 4, 24, 13, 5, 39, 6, 13, 7, 10, 9, 4, 14, 5, 5, 24, 4, 25, 10, 14, 10, 13, 5, 17, 6, 10, 8, 9, 7, 15, 4, 13, 5, 24, 13, 5, 12, 5, 9, 6, 7, 6, 10, 8, 9, 12, 4, 19, 13, 8, 18, 4, 16, 9, 15, 7, 25, 5, 15, 5, 14, 4, 6, 5, 37, 6, 4, 25, 22, 4, 46, 8, 10, 9, 6, 15, 22, 4, 17, 8, 9, 14, 10, 6, 10, 8, 9, 10, 9, 21, 4, 8, 9, 4, 25, 8, 6, 11, 4, 15, 5, 19, 6, 4, 7, 9, 14, 4, 13, 10, 21, 11, 6, 4, 17, 8, 9, 6, 5, 37, 6, 4, 10, 9, 4, 7, 15, 15, 4, 15, 7, 22, 5, 13, 12, 26, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
							        [4, 32, 11, 5, 4, 45, 16, 10, 17, 28, 4, 25, 13, 8, 20, 9, 4, 19, 8, 37, 4, 46, 16, 18, 24, 12, 4, 8, 27, 5, 13, 4, 6, 11, 5, 4, 15, 7, 57, 22, 4, 14, 8, 21, 26, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
							    ],
							    """attention_mask""": [
							        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
							        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
							        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
							    ]
							}
							# fmt: on

							self.tokenizer_integration_test_util(
							    expected_encoding=snake_case_  ,		model_name="""microsoft/speecht5_asr"""  ,		revision="""c5ef64c71905caeccde0e4462ef3f9077224c524"""  ,		sequences=snake_case_  ,		)








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


lowerCamelCase_  :	Optional[int] 				=					logging.get_logger(__name__)

lowerCamelCase_  :	Dict 				=					{
    """studio-ousia/luke-base""": """https://huggingface.co/studio-ousia/luke-base/resolve/main/config.json""",
    """studio-ousia/luke-large""": """https://huggingface.co/studio-ousia/luke-large/resolve/main/config.json""",
}

class     _UpperCamelCase			(   _A					):






			'''simple docstring'''

			__UpperCamelCase :  Optional[int]    =	"""luke"""

			def __init__(    self	:    Tuple  ,		snake_case_	:    List[Any]=5_0267  ,		snake_case_	:    Any=50_0000  ,		snake_case_	:    str=768  ,		snake_case_	:    int=256  ,		snake_case_	:    str=12  ,		snake_case_	:    int=12  ,		snake_case_	:    Dict=3072  ,		snake_case_	:    Optional[Any]="gelu"  ,		snake_case_	:    Dict=0.1  ,		snake_case_	:    List[str]=0.1  ,		snake_case_	:    int=512  ,		snake_case_	:    Dict=2  ,		snake_case_	:    List[Any]=0.02  ,		snake_case_	:    int=1e-12  ,		snake_case_	:    Union[str, Any]=True  ,		snake_case_	:    Union[str, Any]=None  ,		snake_case_	:    Dict=1  ,		snake_case_	:    Optional[int]=0  ,		snake_case_	:    List[str]=2  ,		**snake_case_	:    Union[str, Any]  ,		):
							super().__init__(pad_token_id=snake_case_  ,		bos_token_id=snake_case_  ,		eos_token_id=snake_case_  ,		**snake_case_ )

							UpperCamelCase_:							Dict		=  vocab_size
							UpperCamelCase_:							Tuple		=  entity_vocab_size
							UpperCamelCase_:							Optional[int]		=  hidden_size
							UpperCamelCase_:							Any		=  entity_emb_size
							UpperCamelCase_:							str		=  num_hidden_layers
							UpperCamelCase_:							Union[str, Any]		=  num_attention_heads
							UpperCamelCase_:							Dict		=  hidden_act
							UpperCamelCase_:							Dict		=  intermediate_size
							UpperCamelCase_:							str		=  hidden_dropout_prob
							UpperCamelCase_:							List[str]		=  attention_probs_dropout_prob
							UpperCamelCase_:							int		=  max_position_embeddings
							UpperCamelCase_:							int		=  type_vocab_size
							UpperCamelCase_:							List[Any]		=  initializer_range
							UpperCamelCase_:							Union[str, Any]		=  layer_norm_eps
							UpperCamelCase_:							Tuple		=  use_entity_aware_attention
							UpperCamelCase_:							int		=  classifier_dropout






