"""simple docstring"""




import sys
from typing import Tuple

import numpy as np
import torch
from PIL import Image
from torch import nn

from transformers.image_utils import PILImageResampling
from utils import img_tensorize
class 						__A							:






     def __init__(		self				,     a__				,     a__=sys.maxsize  ):
       _lowerCAmelCase						:       str  			=     """bilinear"""
       _lowerCAmelCase						:       List[str]  			=     max_size
       _lowerCAmelCase						:       Optional[Any]  			=     short_edge_length






     def __call__(		self				,     a__  ):
       _lowerCAmelCase						:       int  			=     []
       for img in imgs:
         _lowerCAmelCase			,	_lowerCAmelCase						:       Optional[Any]  			=     img.shape[:2]
         # later: provide list and randomly choose index for resize
         _lowerCAmelCase						:       Tuple  			=     np.random.randint(self.short_edge_length[0]				,     self.short_edge_length[1] + 1  )
         if size == 0:
           return img
         _lowerCAmelCase						:       Union[str, Any]  			=     size * 1.0 / min(a__				,     a__  )
         if h < w:
           _lowerCAmelCase			,	_lowerCAmelCase						:       Union[str, Any]  			=     size, scale * w
         else:
           _lowerCAmelCase			,	_lowerCAmelCase						:       Optional[int]  			=     scale * h, size
         if max(a__				,     a__  ) > self.max_size:
           _lowerCAmelCase						:       Optional[Any]  			=     self.max_size * 1.0 / max(a__				,     a__  )
           _lowerCAmelCase						:       List[str]  			=     newh * scale
           _lowerCAmelCase						:       Union[str, Any]  			=     neww * scale
         _lowerCAmelCase						:       List[Any]  			=     int(neww + 0.5  )
         _lowerCAmelCase						:       Optional[int]  			=     int(newh + 0.5  )

         if img.dtype == np.uinta:
           _lowerCAmelCase						:       Dict  			=     Image.fromarray(a__  )
           _lowerCAmelCase						:       Any  			=     pil_image.resize((neww, newh)				,     PILImageResampling.BILINEAR  )
           _lowerCAmelCase						:       List[Any]  			=     np.asarray(a__  )
         else:
           _lowerCAmelCase						:       Tuple  			=     img.permute(2				,     0				,     1  ).unsqueeze(0  )  # 3, 0, 1)  # hw(c) -> nchw
           _lowerCAmelCase						:       Tuple  			=     nn.functional.interpolate(
               a__				,     (newh, neww)				,     mode=self.interp_method				,     align_corners=a__  ).squeeze(0  )
         img_augs.append(a__  )

       return img_augs







class 						__A							:






     def __init__(		self				,     a__  ):
       _lowerCAmelCase						:       List[Any]  			=     ResizeShortestEdge([cfg.INPUT.MIN_SIZE_TEST, cfg.INPUT.MIN_SIZE_TEST]				,     cfg.INPUT.MAX_SIZE_TEST  )
       _lowerCAmelCase						:       List[str]  			=     cfg.INPUT.FORMAT
       _lowerCAmelCase						:       List[Any]  			=     cfg.SIZE_DIVISIBILITY
       _lowerCAmelCase						:       Any  			=     cfg.PAD_VALUE
       _lowerCAmelCase						:       Union[str, Any]  			=     cfg.INPUT.MAX_SIZE_TEST
       _lowerCAmelCase						:       List[str]  			=     cfg.MODEL.DEVICE
       _lowerCAmelCase						:       Optional[int]  			=     torch.tensor(cfg.MODEL.PIXEL_STD  ).to(self.device  ).view(len(cfg.MODEL.PIXEL_STD  )				,     1				,     1  )
       _lowerCAmelCase						:       List[str]  			=     torch.tensor(cfg.MODEL.PIXEL_MEAN  ).to(self.device  ).view(len(cfg.MODEL.PIXEL_STD  )				,     1				,     1  )
       _lowerCAmelCase						:       Union[str, Any]  			=     lambda a__  : (x - self.pixel_mean) / self.pixel_std






     def     __A  (		self				,     a__  ):
       _lowerCAmelCase						:       Optional[Any]  			=     tuple(max(a__  ) for s in zip(*[img.shape for img in images]  )  )
       _lowerCAmelCase						:       Optional[Any]  			=     [im.shape[-2:] for im in images]
       _lowerCAmelCase						:       Optional[Any]  			=     [
           nn.functional.pad(
               a__				,     [0, max_size[-1] - size[1], 0, max_size[-2] - size[0]]				,     value=self.pad_value				,     )
           for size, im in zip(a__				,     a__  )
       ]

       return torch.stack(a__  ), torch.tensor(a__  )






     def __call__(		self				,     a__				,     a__=False  ):
       with torch.no_grad():
         if not isinstance(a__				,     a__  ):
           _lowerCAmelCase						:       Optional[Any]  			=     [images]
         if single_image:
           assert len(a__  ) == 1
         for i in range(len(a__  )  ):
           if isinstance(images[i]				,     torch.Tensor  ):
             images.insert(a__				,     images.pop(a__  ).to(self.device  ).float()  )
           elif not isinstance(images[i]				,     torch.Tensor  ):
             images.insert(
                 a__				,     torch.as_tensor(img_tensorize(images.pop(a__  )				,     input_format=self.input_format  )  )
                 .to(self.device  )
                 .float()				,     )
            # resize smallest edge
         _lowerCAmelCase						:       Union[str, Any]  			=     torch.tensor([im.shape[:2] for im in images]  )
         _lowerCAmelCase						:       Optional[int]  			=     self.aug(a__  )
         # transpose images and convert to torch tensors
         # images = [torch.as_tensor(i.astype("float32")).permute(2, 0, 1).to(self.device) for i in images]
         # now normalize before pad to avoid useless arithmetic
         _lowerCAmelCase						:       List[Any]  			=     [self.normalizer(a__  ) for x in images]
         # now pad them to do the following operations
         _lowerCAmelCase			,	_lowerCAmelCase						:       Any  			=     self.pad(a__  )
         # Normalize

         if self.size_divisibility > 0:
           raise NotImplementedError()
         # pad
         _lowerCAmelCase						:       Optional[int]  			=     torch.true_divide(a__				,     a__  )
         if single_image:
           return images[0], sizes[0], scales_yx[0]
         else:
           return images, sizes, scales_yx







def 							SCREAMING_SNAKE_CASE     (			_lowerCamelCase						:       List[Any]			,_lowerCamelCase						:       Any	)       ->      Dict:
  boxes[:, 0::2] *= scale_yx[:, 1]
  boxes[:, 1::2] *= scale_yx[:, 0]
  return boxes






def 							SCREAMING_SNAKE_CASE     (			_lowerCamelCase						:       Union[str, Any]			,_lowerCamelCase						:       Tuple[int, int]	)       ->      Tuple:
  assert torch.isfinite(_lowerCamelCase	).all(), "Box tensor contains infinite or NaN!"
  _lowerCAmelCase			,	_lowerCAmelCase						:       Union[str, Any]  			=     box_size
  tensor[:, 0].clamp_(min=0			,max=_lowerCamelCase	)
  tensor[:, 1].clamp_(min=0			,max=_lowerCamelCase	)
  tensor[:, 2].clamp_(min=0			,max=_lowerCamelCase	)
  tensor[:, 3].clamp_(min=0			,max=_lowerCamelCase	)






"""simple docstring"""





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


_a														=		get_tests_dir("""fixtures/test_sentencepiece_bpe_char.model""")






@require_sentencepiece
@require_tokenizers
class     _UpperCAmelCase(    lowerCamelCase      ,     unittest.TestCase	):
		lowercase__						=      SpeechTaTokenizer
		lowercase__						=      False
		lowercase__						=      True



		def 						UpperCAmelCase							(					self)       ->       List[Any]:






							'''simple docstring'''
							super().setUp()

							# We have a SentencePiece fixture for testing
							_UpperCamelCase							 =  SpeechTaTokenizer(__a)

							_UpperCamelCase							 =  AddedToken('''<mask>'''				,		lstrip=__a				,		rstrip=__a)
							_UpperCamelCase							 =  mask_token
							tokenizer.add_special_tokens({'''mask_token''': mask_token})
							tokenizer.add_tokens(['''<ctc_blank>'''])

							tokenizer.save_pretrained(self.tmpdirname)



		def 						UpperCAmelCase							(					self				,		__a)       ->       List[str]:






							'''simple docstring'''
							_UpperCamelCase							 =  '''this is a test'''
							_UpperCamelCase							 =  '''this is a test'''
							return input_text, output_text



		def 						UpperCAmelCase							(					self				,		__a				,		__a=False				,		__a=20				,		__a=5)       ->       List[str]:






							'''simple docstring'''
							_UpperCamelCase ,  _UpperCamelCase							 =  self.get_input_output_texts(__a)
							_UpperCamelCase							 =  tokenizer.encode(__a				,		add_special_tokens=__a)
							_UpperCamelCase							 =  tokenizer.decode(__a				,		clean_up_tokenization_spaces=__a)
							return text, ids



		def 						UpperCAmelCase							(					self)       ->       Optional[Any]:






							'''simple docstring'''
							_UpperCamelCase							 =  '''<pad>'''
							_UpperCamelCase							 =  1

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



		def 						UpperCAmelCase							(					self)       ->       Optional[int]:






							'''simple docstring'''
							_UpperCamelCase							 =  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(__a)				,		81)



		def 						UpperCAmelCase							(					self)       ->       List[Any]:






							'''simple docstring'''
							self.assertEqual(self.get_tokenizer().vocab_size				,		79)



		def 						UpperCAmelCase							(					self)       ->       int:






							'''simple docstring'''
							_UpperCamelCase							 =  self.get_tokenizers(do_lower_case=__a)
							for tokenizer in tokenizers:
												with self.subTest(F'''{tokenizer.__class__.__name__}'''):
																	_UpperCamelCase							 =  tokenizer.vocab_size
																	_UpperCamelCase							 =  len(__a)

																	self.assertNotEqual(__a				,		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							 =  ['''aaaaa bbbbbb''', '''cccccccccdddddddd''']
																	_UpperCamelCase							 =  tokenizer.add_tokens(__a)
																	_UpperCamelCase							 =  tokenizer.vocab_size
																	_UpperCamelCase							 =  len(__a)

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

																	_UpperCamelCase							 =  tokenizer.encode('''aaaaa bbbbbb low cccccccccdddddddd l'''				,		add_special_tokens=__a)

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

																	_UpperCamelCase							 =  {'''eos_token''': '''>>>>|||<||<<|<<''', '''pad_token''': '''<<<<<|||>|>>>>|>'''}
																	_UpperCamelCase							 =  tokenizer.add_special_tokens(__a)
																	_UpperCamelCase							 =  tokenizer.vocab_size
																	_UpperCamelCase							 =  len(__a)

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

																	_UpperCamelCase							 =  tokenizer.encode(
																	    '''>>>>|||<||<<|<< aaaaabbbbbb low cccccccccdddddddd <<<<<|||>|>>>>|> l'''				,		add_special_tokens=__a)

																	self.assertGreaterEqual(len(__a)				,		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 						UpperCAmelCase							(					self)       ->       Any:






							'''simple docstring'''
							pass



		def 						UpperCAmelCase							(					self)       ->       int:






							'''simple docstring'''
							pass



		def 						UpperCAmelCase							(					self)       ->       str:






							'''simple docstring'''
							_UpperCamelCase							 =  self.get_tokenizer()

							_UpperCamelCase							 =  tokenizer.tokenize('''This is a test''')
							# fmt: off
							self.assertListEqual(__a				,		[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(__a)				,		[4, 32, 11, 10, 12, 4, 10, 12, 4, 7, 4, 6, 5, 12, 6]				,		)

							_UpperCamelCase							 =  tokenizer.tokenize('''I was born in 92000, and this is falsé.''')
							self.assertListEqual(
							    __a				,		[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							 =  tokenizer.convert_tokens_to_ids(__a)
							# fmt: off
							self.assertListEqual(__a				,		[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							 =  tokenizer.convert_ids_to_tokens(__a)
							self.assertListEqual(
							    __a				,		[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 						UpperCAmelCase							(					self)       ->       Optional[int]:






							'''simple docstring'''
							# Use custom sequence because this tokenizer does not handle numbers.
							_UpperCamelCase							 =  [
							    '''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							 =  {
							    '''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=__a				,		model_name='''microsoft/speecht5_asr'''				,		revision='''c5ef64c71905caeccde0e4462ef3f9077224c524'''				,		sequences=__a				,		)






