code: 
  """simple docstring"""
  
  
  
  
  
  import os
  import tempfile
  import unittest
  from typing import List
  
  from transformers.models.esm.tokenization_esm import VOCAB_FILES_NAMES, EsmTokenizer
  from transformers.testing_utils import require_tokenizers
  from transformers.tokenization_utils import PreTrainedTokenizer
  from transformers.tokenization_utils_base import PreTrainedTokenizerBase
  
  
  @require_tokenizers
  class A_			(unittest.TestCase   ):
  
  
  
  
    '''simple docstring'''
    SCREAMING_SNAKE_CASE__    :		Union[str, Any]						  =	EsmTokenizer
  
  
  
  
  
  
  
    def  UpperCamelCase__      (	self						):
  
       """simple docstring"""
       super().setUp()
       UpperCAmelCase_      :      str      =					tempfile.mkdtemp()
       # fmt: off
       UpperCAmelCase_      :      List[str]      =					["<cls>", "<pad>", "<eos>", "<unk>", "L", "A", "G", "V", "S", "E", "R", "T", "I", "D", "P", "K", "Q", "N", "F", "Y", "M", "H", "W", "C", "X", "B", "U", "Z", "O", ".", "-", "<null_1>", "<mask>"]  # noqa: E501
       # fmt: on
       UpperCAmelCase_      :      Union[str, Any]      =					os.path.join(self.tmpdirname       ,     VOCAB_FILES_NAMES["vocab_file"]						)
       with open(self.vocab_file       ,     "w"       ,     encoding="utf-8"						) as vocab_writer:
          vocab_writer.write("".join([x + "\n" for x in vocab_tokens]						)						)
  
  
  
  
  
  
  
    def  UpperCamelCase__      (	self       ,     **lowercase_						):
  
       """simple docstring"""
       return [self.get_tokenizer(**UpperCAmelCase_						)]
  
  
  
  
  
  
  
    def  UpperCamelCase__      (	self       ,     **lowercase_						):
  
       """simple docstring"""
       return self.tokenizer_class.from_pretrained(self.tmpdirname       ,     **UpperCAmelCase_						)
  
  
  
  
  
  
  
    def  UpperCamelCase__      (	self						):
  
       """simple docstring"""
       UpperCAmelCase_      :      Optional[Any]      =					self.tokenizer_class(self.vocab_file						)
  
       UpperCAmelCase_      :      Tuple      =					tokenizer.tokenize("LAGVS"						)
       self.assertListEqual(UpperCAmelCase_       ,     ["L", "A", "G", "V", "S"]						)
       self.assertListEqual(tokenizer.convert_tokens_to_ids(UpperCAmelCase_						)       ,     [4, 5, 6, 7, 8]						)
  
  
  
  
  
  
  
    def  UpperCamelCase__      (	self						):
  
       """simple docstring"""
       UpperCAmelCase_      :      Union[str, Any]      =					self.tokenizer_class(self.vocab_file						)
  
       UpperCAmelCase_      :      int      =					'LAGVS'
       self.assertListEqual(tokenizer.encode(UpperCAmelCase_						)       ,     [0, 4, 5, 6, 7, 8, 2]						)
  
  
  
  
  
  
  
    def  UpperCamelCase__      (	self						):
  
       """simple docstring"""
       UpperCAmelCase_      :      Any      =					self.tokenizer_class(self.vocab_file						)
  
       UpperCAmelCase_      :      Optional[Any]      =					['LAGVS', 'WCB']
       UpperCAmelCase_      :      List[Any]      =					tokenizer(UpperCAmelCase_       ,     padding=UpperCAmelCase_						)['input_ids']
  
       self.assertListEqual(UpperCAmelCase_       ,     [[0, 4, 5, 6, 7, 8, 2], [0, 22, 23, 25, 2]]						)
  
  
  
  
  
  
  
    def  UpperCamelCase__      (	self						):
  
       """simple docstring"""
       UpperCAmelCase_      :      Tuple      =					self.tokenizer_class(self.vocab_file						)
  
       UpperCAmelCase_      :      Optional[Any]      =					['LAGVS', 'WCB']
       UpperCAmelCase_      :      Tuple      =					tokenizer(UpperCAmelCase_       ,     padding=UpperCAmelCase_						)['input_ids']
  
       self.assertListEqual(UpperCAmelCase_       ,     [[0, 4, 5, 6, 7, 8, 2], [0, 22, 23, 25, 2, 1, 1]]						)
  
  
  
  
  
  
  
    def  UpperCamelCase__      (	self						):
  
       """simple docstring"""
       UpperCAmelCase_      :      Union[str, Any]      =					self.get_tokenizers(fast=UpperCAmelCase_						)
       for tokenizer in tokenizers:
          with self.subTest(F"""{tokenizer.__class__.__name__}"""						):
             UpperCAmelCase_      :      int      =					'<unk>'
             UpperCAmelCase_      :      Any      =					'<mask>'
  
             UpperCAmelCase_      :      Optional[Any]      =					tokenizer.tokenize(UpperCAmelCase_						)
             UpperCAmelCase_      :      Dict      =					tokenizer.tokenize(UpperCAmelCase_						)
  
             self.assertEqual(len(UpperCAmelCase_						)       ,     1						)
             self.assertEqual(len(UpperCAmelCase_						)       ,     1						)
             self.assertEqual(token_a[0]       ,     UpperCAmelCase_						)
             self.assertEqual(token_a[0]       ,     UpperCAmelCase_						)
  
  
  
style_context: 
  """simple docstring"""
  
  
  
  
  
  from string import ascii_uppercase
  
  
  
  
  
  
  
  def 			__a  (	__lowerCamelCase,	__lowerCamelCase,	__lowerCamelCase = False,	__lowerCamelCase = ascii_uppercase						):
     UpperCAmelCase_      :      List[str]      =					keyword.upper()
     UpperCAmelCase_      :      str      =					plaintext.upper()
     UpperCAmelCase_      :      Tuple      =					set(__lowerCamelCase						)
  
     # create a list of unique characters in the keyword - their order matters
     # it determines how we will map plaintext characters to the ciphertext
     UpperCAmelCase_      :      Tuple      =					[]
     for char in keyword:
        if char in alphabet_set and char not in unique_chars:
           unique_chars.append(__lowerCamelCase						)
      # the number of those unique characters will determine the number of rows
     UpperCAmelCase_      :      Union[str, Any]      =					len(__lowerCamelCase						)
  
     # create a shifted version of the alphabet
     UpperCAmelCase_      :      Tuple      =					unique_chars + [
         char for char in alphabet if char not in unique_chars
     ]
  
     # create a modified alphabet by splitting the shifted alphabet into rows
     UpperCAmelCase_      :      List[str]      =					[
         shifted_alphabet[k : k + num_unique_chars_in_keyword]
         for k in range(0,	26,	__lowerCamelCase						)
     ]
  
     # map the alphabet characters to the modified alphabet characters
     # going 'vertically' through the modified alphabet - consider columns first
     UpperCAmelCase_      :      Tuple      =					{}
     UpperCAmelCase_      :      Dict      =					0
     for column in range(__lowerCamelCase						):
        for row in modified_alphabet:
           # if current row (the last one) is too short, break out of loop
           if len(__lowerCamelCase						) <= column:
              break
  
           # map current letter to letter in modified alphabet
           UpperCAmelCase_      :      Tuple      =					row[column]
           letter_index += 1
  
     if verbose:
        print(__lowerCamelCase						)
     # create the encrypted text by mapping the plaintext to the modified alphabet
     return "".join(mapping[char] if char in mapping else char for char in plaintext						)
  
  
  if __name__ == "__main__":
      # example use
      print(mixed_keyword('college', 'UNIVERSITY'))
  
  
  