




import os
import sys
import unittest


__a							     =					os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
sys.path.append(os.path.join(git_repo_path, 'utils'))

import check_dummies  # noqa: E402
from check_dummies import create_dummy_files, create_dummy_object, find_backend, read_init  # noqa: E402


# Align TRANSFORMERS_PATH in check_dummies with the current path
__a							     =					os.path.join(git_repo_path, 'src', 'transformers')

__a							     =					'\n{0} = None\n'

__a							     =					'\nclass {0}(metaclass=DummyObject):\n    _backends = {1}\n\n    def __init__(self, *args, **kwargs):\n        requires_backends(self, {1})\n'


__a							     =					'\ndef {0}(*args, **kwargs):\n    requires_backends({0}, {1})\n'

class     __a(	unittest.TestCase  ):






    """simple docstring"""





    def 				a__ ( self    )					->						List[Any]:
         UpperCAmelCase_     :				Optional[Any]  =     find_backend('''    _import_structure["models.albert"].append("AlbertTokenizerFast")'''    )
         self.assertIsNone(_SCREAMING_SNAKE_CASE    )

         UpperCAmelCase_     :				List[str]  =     find_backend('''    if not is_tokenizers_available():'''    )
         self.assertEqual(_SCREAMING_SNAKE_CASE  ,'''tokenizers'''    )

         UpperCAmelCase_     :				Tuple  =     find_backend('''    if not is_tensorflow_text_available():'''    )
         self.assertEqual(_SCREAMING_SNAKE_CASE  ,'''tensorflow_text'''    )

         UpperCAmelCase_     :				int  =     find_backend('''    if not (is_sentencepiece_available() and is_tokenizers_available()):'''    )
         self.assertEqual(_SCREAMING_SNAKE_CASE  ,'''sentencepiece_and_tokenizers'''    )

         UpperCAmelCase_     :				Any  =     find_backend(
             '''    if not (is_sentencepiece_available() and is_tensorflow_text_available()):'''    )
         self.assertEqual(_SCREAMING_SNAKE_CASE  ,'''sentencepiece_and_tensorflow_text'''    )

         UpperCAmelCase_     :				Dict  =     find_backend(
             '''    if not (is_sentencepiece_available() and is_tokenizers_available() and is_vision_available()):'''    )
         self.assertEqual(_SCREAMING_SNAKE_CASE  ,'''sentencepiece_and_tokenizers_and_vision'''    )





    def 				a__ ( self    )					->						List[str]:
         UpperCAmelCase_     :				Tuple  =     read_init()
         # We don't assert on the exact list of keys to allow for smooth grow of backend-specific objects
         self.assertIn('''torch'''  ,_SCREAMING_SNAKE_CASE    )
         self.assertIn('''tensorflow_text'''  ,_SCREAMING_SNAKE_CASE    )
         self.assertIn('''sentencepiece_and_tokenizers'''  ,_SCREAMING_SNAKE_CASE    )

         # Likewise, we can't assert on the exact content of a key
         self.assertIn('''BertModel'''  ,objects['''torch''']    )
         self.assertIn('''TFBertModel'''  ,objects['''tf''']    )
         self.assertIn('''FlaxBertModel'''  ,objects['''flax''']    )
         self.assertIn('''BertModel'''  ,objects['''torch''']    )
         self.assertIn('''TFBertTokenizer'''  ,objects['''tensorflow_text''']    )
         self.assertIn('''convert_slow_tokenizer'''  ,objects['''sentencepiece_and_tokenizers''']    )





    def 				a__ ( self    )					->						List[str]:
         UpperCAmelCase_     :				Optional[Any]  =     create_dummy_object('''CONSTANT'''  ,'''\'torch\''''    )
         self.assertEqual(_SCREAMING_SNAKE_CASE  ,'''\nCONSTANT = None\n'''    )

         UpperCAmelCase_     :				str  =     create_dummy_object('''function'''  ,'''\'torch\''''    )
         self.assertEqual(
             _SCREAMING_SNAKE_CASE  ,'''\ndef function(*args, **kwargs):\n    requires_backends(function, \'torch\')\n'''    )

         UpperCAmelCase_     :				Union[str, Any]  =     '''
class FakeClass(metaclass=DummyObject):
    _backends = \'torch\'

    def __init__(self, *args, **kwargs):
        requires_backends(self, \'torch\')
'''
         UpperCAmelCase_     :				Tuple  =     create_dummy_object('''FakeClass'''  ,'''\'torch\''''    )
         self.assertEqual(_SCREAMING_SNAKE_CASE  ,_SCREAMING_SNAKE_CASE    )





    def 				a__ ( self    )					->						Tuple:
         UpperCAmelCase_     :				Union[str, Any]  =     '''# This file is autogenerated by the command `make fix-copies`, do not edit.
from ..utils import DummyObject, requires_backends


CONSTANT = None


def function(*args, **kwargs):
    requires_backends(function, ["torch"])


class FakeClass(metaclass=DummyObject):
    _backends = ["torch"]

    def __init__(self, *args, **kwargs):
        requires_backends(self, ["torch"])
'''
         UpperCAmelCase_     :				str  =     create_dummy_files({'''torch''': ['''CONSTANT''', '''function''', '''FakeClass''']}    )
         self.assertEqual(dummy_files['''torch''']  ,_SCREAMING_SNAKE_CASE    )

import os
def 							SCREAMING_SNAKE_CASE_	(					)			->						List[str]:
       with open(os.path.dirname(UpperCAmelCase_				) + '''/p022_names.txt'''				) as file:
              SCREAMING_SNAKE_CASE_							:				Any		=str(file.readlines()[0]				)
              SCREAMING_SNAKE_CASE_							:				List[Any]		=names.replace('''"'''			,							''''''				).split(''','''				)

       names.sort()

       SCREAMING_SNAKE_CASE_							:				Optional[int]		=0
       SCREAMING_SNAKE_CASE_							:				Optional[int]		=0

       for i, name in enumerate(UpperCAmelCase_				):
              for letter in name:
                     name_score += ord(UpperCAmelCase_				) - 6_4

              total_score += (i + 1) * name_score
              SCREAMING_SNAKE_CASE_							:				Any		=0
       return total_score


if __name__ == "__main__":
 print(solution())
