




from typing import Optional, Tuple

from ...tokenization_utils_fast import PreTrainedTokenizerFast
from ...utils import logging
from .tokenization_openai import OpenAIGPTTokenizer


a_      						=   logging.get_logger(__name__)

a_      						=   {"vocab_file": "vocab.json", "merges_file": "merges.txt", "tokenizer_file": "tokenizer.json"}

a_      						=   {
    "vocab_file": {"openai-gpt": "https://huggingface.co/openai-gpt/resolve/main/vocab.json"},
    "merges_file": {"openai-gpt": "https://huggingface.co/openai-gpt/resolve/main/merges.txt"},
    "tokenizer_file": {"openai-gpt": "https://huggingface.co/openai-gpt/resolve/main/tokenizer.json"},
}

a_      						=   {
    "openai-gpt": 512,
}

class        _lowerCamelCase  (	_SCREAMING_SNAKE_CASE      ):

      """simple docstring"""

      lowerCAmelCase__	:       Union[str, Any]			=    VOCAB_FILES_NAMES
      lowerCAmelCase__	:       str			=    PRETRAINED_VOCAB_FILES_MAP
      lowerCAmelCase__	:       List[str]			=    PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES
      lowerCAmelCase__	:       int			=    ["input_ids", "attention_mask"]
      lowerCAmelCase__	:       int			=    OpenAIGPTTokenizer







      def __init__(   self    :       List[Any]       ,				snake_case    :       List[str]=None       ,				snake_case    :       Optional[Any]=None       ,				snake_case    :       str=None       ,				snake_case    :       Union[str, Any]="<unk>"       ,				**snake_case    :       List[Any] ):
          super().__init__(snake_case       ,				snake_case       ,				tokenizer_file=snake_case       ,				unk_token=snake_case       ,				**snake_case )







      @property
      def 					snake_case		(   self    :       Optional[int] ):
          return True







      def 					snake_case		(   self    :       Any       ,				snake_case    :       str       ,				snake_case    :       Optional[str] = None ):
          __UpperCamelCase     						=  self._tokenizer.model.save(snake_case       ,				name=snake_case )
          return tuple(snake_case )














from doctest import testmod
from math import sqrt
def      lowerCamelCase					(						a_	)	->			list:
							lowerCAmelCase_										=     []
							if num < 1:
														return facs
							facs.append(1	)
							if num == 1:
														return facs
							facs.append(a_	)
							for i in range(2 ,						int(sqrt(a_	)	) + 1	):
														if num % i == 0:  # If i is a factor of num
																					facs.append(a_	)
																					lowerCAmelCase_										=     num // i  # num//i is the other factor of num
																					if d != i:  # If d and i are distinct
																												facs.append(a_	)  # we have found another factor
							facs.sort()
							return facs


if __name__ == "__main__":
		testmod(name="""factors_of_a_number""", verbose=True)



