"""simple docstring"""



import json
from typing import List, Optional, Tuple

from tokenizers import normalizers

from ...tokenization_utils_fast import PreTrainedTokenizerFast
from .tokenization_lxmert import LxmertTokenizer


SCREAMING_SNAKE_CASE__:Any			=	{"""vocab_file""": """vocab.txt""", """tokenizer_file""": """tokenizer.json"""}

SCREAMING_SNAKE_CASE__:int			=	{
    """vocab_file""": {
        """unc-nlp/lxmert-base-uncased""": """https://huggingface.co/unc-nlp/lxmert-base-uncased/resolve/main/vocab.txt""",
    },
    """tokenizer_file""": {
        """unc-nlp/lxmert-base-uncased""": (
            """https://huggingface.co/unc-nlp/lxmert-base-uncased/resolve/main/tokenizer.json"""
        ),
    },
}

SCREAMING_SNAKE_CASE__:Tuple			=	{
    """unc-nlp/lxmert-base-uncased""": 512,
}

SCREAMING_SNAKE_CASE__:int			=	{
    """unc-nlp/lxmert-base-uncased""": {"""do_lower_case""": True},
}




class 				snake_case__     (   __lowercase   ):
 _snake_case   :			Any           =		VOCAB_FILES_NAMES
 _snake_case   :			Optional[int]           =		PRETRAINED_VOCAB_FILES_MAP
 _snake_case   :			List[str]           =		PRETRAINED_INIT_CONFIGURATION
 _snake_case   :			Optional[int]           =		PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES
 _snake_case   :			Any           =		LxmertTokenizer


 def __init__(				self  ,						lowerCamelCase=None  ,						lowerCamelCase=None  ,						lowerCamelCase=True  ,						lowerCamelCase="[UNK]"  ,						lowerCamelCase="[SEP]"  ,						lowerCamelCase="[PAD]"  ,						lowerCamelCase="[CLS]"  ,						lowerCamelCase="[MASK]"  ,						lowerCamelCase=True  ,						lowerCamelCase=None  ,						**lowerCamelCase  ,						):
        super().__init__(
            UpperCAmelCase__  ,						tokenizer_file=UpperCAmelCase__  ,						do_lower_case=UpperCAmelCase__  ,						unk_token=UpperCAmelCase__  ,						sep_token=UpperCAmelCase__  ,						pad_token=UpperCAmelCase__  ,						cls_token=UpperCAmelCase__  ,						mask_token=UpperCAmelCase__  ,						tokenize_chinese_chars=UpperCAmelCase__  ,						strip_accents=UpperCAmelCase__  ,						**UpperCAmelCase__  ,						)

        __a     				=  json.loads(self.backend_tokenizer.normalizer.__getstate__()		)
        if (
            normalizer_state.get("lowercase"  ,						UpperCAmelCase__		) != do_lower_case
            or normalizer_state.get("strip_accents"  ,						UpperCAmelCase__		) != strip_accents
            or normalizer_state.get("handle_chinese_chars"  ,						UpperCAmelCase__		) != tokenize_chinese_chars
        ):
               __a     				=  getattr(UpperCAmelCase__  ,						normalizer_state.pop("type"		)		)
               __a     				=  do_lower_case
               __a     				=  strip_accents
               __a     				=  tokenize_chinese_chars
               __a     				=  normalizer_class(**UpperCAmelCase__		)

        __a     				=  do_lower_case


 def 		a__ (				self  ,						lowerCamelCase  ,						lowerCamelCase=None		):
        __a     				=  [self.cls_token_id] + token_ids_a + [self.sep_token_id]

        if token_ids_a:
               output += token_ids_a + [self.sep_token_id]

        return output


 def 		a__ (				self  ,						lowerCamelCase  ,						lowerCamelCase = None		):
        __a     				=  [self.sep_token_id]
        __a     				=  [self.cls_token_id]
        if token_ids_a is None:
               return len(cls + token_ids_a + sep		) * [0]
        return len(cls + token_ids_a + sep		) * [0] + len(token_ids_a + sep		) * [1]






 def 		a__ (				self  ,						lowerCamelCase  ,						lowerCamelCase = None		):
        __a     				=  self._tokenizer.model.save(UpperCAmelCase__  ,						name=UpperCAmelCase__		)
        return tuple(UpperCAmelCase__		)

"""simple docstring"""



def 					_lowerCamelCase(					a							):
       __a     				=  len(a							)
       for i in range(1 ,  a							):
              __a     				=  collection[i]
              __a     				=  0
              __a     				=  i - 1

              while low <= high:
                     __a     				=  (low + high) // 2
                     if val < collection[mid]:
                            __a     				=  mid - 1
                     else:
                            __a     				=  mid + 1
              for j in range(a ,  a ,  -1							):
                     __a     				=  collection[j - 1]
              __a     				=  val
       return collection


if __name__ == "__main__":
   SCREAMING_SNAKE_CASE__:str			=	input("""Enter numbers separated by a comma:\n""").strip()
   SCREAMING_SNAKE_CASE__:Any			=	[int(item) for item in user_input.split(""",""")]
   print(binary_insertion_sort(unsorted))
