



from typing import TYPE_CHECKING

from ...file_utils import _LazyModule, is_torch_available
from ...utils import OptionalDependencyNotAvailable


__snake_case     :Any			       ={
    'configuration_gpt_neox_japanese': ['GPT_NEOX_JAPANESE_PRETRAINED_CONFIG_ARCHIVE_MAP', 'GPTNeoXJapaneseConfig'],
    'tokenization_gpt_neox_japanese': ['GPTNeoXJapaneseTokenizer'],
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__snake_case     :Dict			       =[
				    'GPT_NEOX_JAPANESE_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'GPTNeoXJapaneseForCausalLM',
				    'GPTNeoXJapaneseLayer',
				    'GPTNeoXJapaneseModel',
				    'GPTNeoXJapanesePreTrainedModel',
				]


if TYPE_CHECKING:
				from .configuration_gpt_neox_japanese import GPT_NEOX_JAPANESE_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTNeoXJapaneseConfig
				from .tokenization_gpt_neox_japanese import GPTNeoXJapaneseTokenizer

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_gpt_neox_japanese import (
								    GPT_NEOX_JAPANESE_PRETRAINED_MODEL_ARCHIVE_LIST,
								    GPTNeoXJapaneseForCausalLM,
								    GPTNeoXJapaneseLayer,
								    GPTNeoXJapaneseModel,
								    GPTNeoXJapanesePreTrainedModel,
								)


else:
				import sys

				__snake_case     :Tuple			       =_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




import re






def  lowerCamelCase_	(      lowerCAmelCase__	:	str				)       ->							str:

							'''simple docstring'''






							if len(re.findall('[ATCG]'			,	lowerCAmelCase__				)				) != len(lowerCAmelCase__				):
														raise ValueError('Invalid Strand'				)

							return dna.translate(dna.maketrans('ATCG'			,	'TAGC'				)				)


if __name__ == "__main__":
				import doctest

				doctest.testmod()