



import unittest

from transformers import DebertaVaTokenizer, DebertaVaTokenizerFast
from transformers.testing_utils import get_tests_dir, require_sentencepiece, require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin


UpperCAmelCase							 =       get_tests_dir("""fixtures/spiece.model""")

@require_sentencepiece
@require_tokenizers
class  __snake_case      (   SCREAMING_SNAKE_CASE			,unittest.TestCase):







							'''simple docstring'''






							UpperCamelCase__				:      str         =					DebertaVaTokenizer
							UpperCamelCase__				:      Optional[Any]         =					DebertaVaTokenizerFast
							UpperCamelCase__				:      List[str]         =					True
							UpperCamelCase__				:      Dict         =					True


							def _a      (							self		):
											super().setUp()

											# We have a SentencePiece fixture for testing
											a__				      =		DebertaVaTokenizer(a_  ,  unk_token="""<unk>"""		)
											tokenizer.save_pretrained(self.tmpdirname		)


							def _a      (							self  ,  a_		):
											a__				      =		"""this is a test"""
											a__				      =		"""this is a test"""
											return input_text, output_text


							def _a      (							self		):
											a__				      =		"""<pad>"""
											a__				      =		0

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


							def _a      (							self		):
											a__				      =		list(self.get_tokenizer().get_vocab().keys()		)
											self.assertEqual(vocab_keys[0]  ,  """<pad>"""		)
											self.assertEqual(vocab_keys[1]  ,  """<unk>"""		)
											self.assertEqual(vocab_keys[-1]  ,  """[PAD]"""		)
											self.assertEqual(len(a_		)  ,  30_001		)


							def _a      (							self		):
											self.assertEqual(self.get_tokenizer().vocab_size  ,  30_000		)


							def _a      (							self		):
											# fmt: off
											a__				      =		""" \tHeLLo!how  \n Are yoU?  """
											a__				      =		["""▁hello""", """!""", """how""", """▁are""", """▁you""", """?"""]
											# fmt: on

											a__				      =		DebertaVaTokenizer(a_  ,  do_lower_case=a_		)
											a__				      =		tokenizer.convert_ids_to_tokens(tokenizer.encode(a_  ,  add_special_tokens=a_		)		)

											self.assertListEqual(a_  ,  a_		)

											a__				      =		DebertaVaTokenizerFast(a_  ,  do_lower_case=a_		)
											a__				      =		rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(a_  ,  add_special_tokens=a_		)		)

											self.assertListEqual(a_  ,  a_		)


							@unittest.skip("""There is an inconsistency between slow and fast tokenizer due to a bug in the fast one."""		)
							def _a      (							self		):
											pass


							@unittest.skip("""There is an inconsistency between slow and fast tokenizer due to a bug in the fast one."""		)
							def _a      (							self		):
											pass


							def _a      (							self		):
											# fmt: off
											a__				      =		"""I was born in 92000, and this is falsé."""
											a__				      =		["""▁""", """<unk>""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """▁""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """<unk>""", """▁""", """.""", ]
											# fmt: on

											a__				      =		DebertaVaTokenizer(a_  ,  split_by_punct=a_		)
											a__				      =		tokenizer.convert_ids_to_tokens(tokenizer.encode(a_  ,  add_special_tokens=a_		)		)

											self.assertListEqual(a_  ,  a_		)

											a__				      =		DebertaVaTokenizerFast(a_  ,  split_by_punct=a_		)
											a__				      =		rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(a_  ,  add_special_tokens=a_		)		)

											self.assertListEqual(a_  ,  a_		)


							def _a      (							self		):
											# fmt: off
											a__				      =		"""I was born in 92000, and this is falsé."""
											a__				      =		["""▁i""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """▁""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """<unk>""", """▁""", """.""", ]
											# fmt: on

											a__				      =		DebertaVaTokenizer(a_  ,  do_lower_case=a_  ,  split_by_punct=a_		)
											a__				      =		tokenizer.convert_ids_to_tokens(tokenizer.encode(a_  ,  add_special_tokens=a_		)		)
											self.assertListEqual(a_  ,  a_		)

											a__				      =		DebertaVaTokenizerFast(a_  ,  do_lower_case=a_  ,  split_by_punct=a_		)
											a__				      =		rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(a_  ,  add_special_tokens=a_		)		)
											self.assertListEqual(a_  ,  a_		)


							def _a      (							self		):
											# fmt: off
											a__				      =		"""I was born in 92000, and this is falsé."""
											a__				      =		["""▁i""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """<unk>""", """.""", ]
											# fmt: on

											a__				      =		DebertaVaTokenizer(a_  ,  do_lower_case=a_  ,  split_by_punct=a_		)
											a__				      =		tokenizer.convert_ids_to_tokens(tokenizer.encode(a_  ,  add_special_tokens=a_		)		)

											self.assertListEqual(a_  ,  a_		)

											a__				      =		DebertaVaTokenizerFast(a_  ,  do_lower_case=a_  ,  split_by_punct=a_		)
											a__				      =		rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(a_  ,  add_special_tokens=a_		)		)

											self.assertListEqual(a_  ,  a_		)


							def _a      (							self		):
											# fmt: off
											a__				      =		"""I was born in 92000, and this is falsé."""
											a__				      =		["""▁""", """<unk>""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """▁""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """<unk>""", """▁""", """.""", ]
											# fmt: on

											a__				      =		DebertaVaTokenizer(a_  ,  do_lower_case=a_  ,  split_by_punct=a_		)
											a__				      =		tokenizer.convert_ids_to_tokens(tokenizer.encode(a_  ,  add_special_tokens=a_		)		)

											self.assertListEqual(a_  ,  a_		)

											a__				      =		DebertaVaTokenizerFast(a_  ,  do_lower_case=a_  ,  split_by_punct=a_		)
											a__				      =		rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(a_  ,  add_special_tokens=a_		)		)

											self.assertListEqual(a_  ,  a_		)


							def _a      (							self		):
											# fmt: off
											a__				      =		""" \tHeLLo!how  \n Are yoU?  """
											a__				      =		["""▁""", """<unk>""", """e""", """<unk>""", """o""", """!""", """how""", """▁""", """<unk>""", """re""", """▁yo""", """<unk>""", """?"""]
											# fmt: on

											a__				      =		DebertaVaTokenizer(a_  ,  do_lower_case=a_  ,  split_by_punct=a_		)
											a__				      =		tokenizer.convert_ids_to_tokens(tokenizer.encode(a_  ,  add_special_tokens=a_		)		)

											self.assertListEqual(a_  ,  a_		)

											a__				      =		DebertaVaTokenizerFast(a_  ,  do_lower_case=a_  ,  split_by_punct=a_		)
											a__				      =		rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(a_  ,  add_special_tokens=a_		)		)

											self.assertListEqual(a_  ,  a_		)


							def _a      (							self		):
											a__				      =		self.get_tokenizer()
											a__				      =		self.get_rust_tokenizer()

											a__				      =		"""I was born in 92000, and this is falsé."""

											a__				      =		tokenizer.convert_ids_to_tokens(tokenizer.encode(a_  ,  add_special_tokens=a_		)		)
											a__				      =		rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(a_  ,  add_special_tokens=a_		)		)
											self.assertListEqual(a_  ,  a_		)

											a__				      =		tokenizer.encode(a_  ,  add_special_tokens=a_		)
											a__				      =		rust_tokenizer.encode(a_  ,  add_special_tokens=a_		)
											self.assertListEqual(a_  ,  a_		)

											a__				      =		self.get_rust_tokenizer()
											a__				      =		tokenizer.encode(a_		)
											a__				      =		rust_tokenizer.encode(a_		)
											self.assertListEqual(a_  ,  a_		)


							def _a      (							self		):
											a__				      =		"""This is a test"""
											a__				      =		[13, 1, 4_398, 25, 21, 1_289]
											a__				      =		["""▁""", """T""", """his""", """▁is""", """▁a""", """▁test"""]
											a__				      =		["""▁""", """<unk>""", """his""", """▁is""", """▁a""", """▁test"""]

											a__				      =		DebertaVaTokenizer(a_  ,  keep_accents=a_		)
											a__				      =		DebertaVaTokenizerFast(a_  ,  keep_accents=a_		)

											a__				      =		tokenizer.encode(a_  ,  add_special_tokens=a_		)
											self.assertListEqual(a_  ,  a_		)
											a__				      =		tokenizer.tokenize(a_		)
											self.assertListEqual(a_  ,  a_		)
											a__				      =		tokenizer.convert_ids_to_tokens(a_		)
											self.assertListEqual(a_  ,  a_		)

											a__				      =		rust_tokenizer.encode(a_  ,  add_special_tokens=a_		)
											self.assertListEqual(a_  ,  a_		)
											a__				      =		rust_tokenizer.tokenize(a_		)
											self.assertListEqual(a_  ,  a_		)
											a__				      =		rust_tokenizer.convert_ids_to_tokens(a_		)
											self.assertListEqual(a_  ,  a_		)

											# fmt: off
											a__				      =		"""I was born in 92000, and this is falsé."""
											a__				      =		[13, 1, 23, 386, 19, 561, 3_050, 15, 17, 48, 25, 8_256, 18, 1, 9]
											a__				      =		["""▁""", """I""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """é""", """.""", ]
											a__				      =		["""▁""", """<unk>""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """<unk>""", """.""", ]
											# fmt: on

											a__				      =		tokenizer.encode(a_  ,  add_special_tokens=a_		)
											self.assertListEqual(a_  ,  a_		)
											a__				      =		tokenizer.tokenize(a_		)
											self.assertListEqual(a_  ,  a_		)
											a__				      =		tokenizer.convert_ids_to_tokens(a_		)
											self.assertListEqual(a_  ,  a_		)

											a__				      =		rust_tokenizer.encode(a_  ,  add_special_tokens=a_		)
											self.assertListEqual(a_  ,  a_		)
											a__				      =		rust_tokenizer.tokenize(a_		)
											self.assertListEqual(a_  ,  a_		)
											a__				      =		rust_tokenizer.convert_ids_to_tokens(a_		)
											self.assertListEqual(a_  ,  a_		)


							def _a      (							self		):
											a__				      =		DebertaVaTokenizer(a_		)

											a__				      =		tokenizer.encode("""sequence builders"""		)
											a__				      =		tokenizer.encode("""multi-sequence build"""		)

											a__				      =		tokenizer.build_inputs_with_special_tokens(a_		)
											a__				      =		tokenizer.build_inputs_with_special_tokens(a_  ,  a_		)

											self.assertEqual([tokenizer.cls_token_id] + text + [tokenizer.sep_token_id]  ,  a_		)
											self.assertEqual(
											    [tokenizer.cls_token_id] + text + [tokenizer.sep_token_id] + text_a + [tokenizer.sep_token_id]  ,  a_  ,  )







							@slow
							def _a      (							self		):
											# fmt: off
											a__				      =		{"""input_ids""": [[1, 39_867, 36, 19_390, 486, 27, 35_052, 81_436, 18, 60_685, 1_225, 7, 35_052, 81_436, 18, 9_367, 16_899, 18, 15_937, 53, 594, 773, 18, 16_287, 30_465, 36, 15_937, 6, 41_139, 38, 36_979, 60_763, 191, 6, 34_132, 99, 6, 50_538, 390, 43_230, 6, 34_132, 2_779, 20_850, 14, 699, 1_072, 1_194, 36, 382, 10_901, 53, 7, 699, 1_072, 2_084, 36, 20_422, 630, 53, 19, 105, 3_049, 1_896, 1_053, 16_899, 1_506, 11, 37_978, 4_243, 7, 1_237, 31_869, 200, 16_566, 654, 6, 35_052, 81_436, 7, 55_630, 13_593, 4, 2], [1, 26, 15_011, 13, 667, 8, 1_053, 18, 23_611, 1_237, 72_356, 12_820, 34, 104_134, 1_209, 35, 13_313, 6_627, 21, 202, 347, 7, 164, 2_399, 11, 46, 4_485, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 5, 1_232, 2_864, 15_785, 14_951, 105, 5, 8_581, 1_250, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], """token_type_ids""": [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], """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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]}  # noqa: E501
											# fmt: on

											self.tokenizer_integration_test_util(
											    expected_encoding=a_  ,  model_name="""microsoft/deberta-v2-xlarge"""  ,  revision="""ad6e42c1532ddf3a15c39246b63f5559d558b670"""  ,  )






def 			A_      (	__a     :				int ,		__a     :				int		):

				"""simple docstring"""
				return abs(__a		) if a == 0 else greatest_common_divisor(b % a ,		__a		)

def 			A_      (	__a     :				int ,		__a     :				int		):

				"""simple docstring"""
				while y:  # --> when y=0 then loop will terminate and return x as final GCD.
								a__      ,			a__				      =		y, x % y
				return abs(__a		)

def 			A_      (	):

				"""simple docstring"""
				try:
								a__				      =		input("""Enter two integers separated by comma (,): """		).split(""","""		)
								a__				      =		int(nums[0]		)
								a__				      =		int(nums[1]		)
								print(
								    F'''greatest_common_divisor({num_a}, {num_a}) = '''
								    F'''{greatest_common_divisor(__a ,		__a		)}'''		)
								print(F'''By iterative gcd({num_a}, {num_a}) = {gcd_by_iterative(__a ,		__a		)}'''		)
				except (IndexError, UnboundLocalError, ValueError):
								print("""Wrong input"""		)


if __name__ == "__main__":
	main()

