
_UpperCAmelCase      :				Optional[Any]          = {
    "A": ".-", "B": "-...", "C": "-.-.", "D": "-..", "E": ".", "F": "..-.", "G": "--.",
    "H": "....", "I": "..", "J": ".---", "K": "-.-", "L": ".-..", "M": "--", "N": "-.",
    "O": "---", "P": ".--.", "Q": "--.-", "R": ".-.", "S": "...", "T": "-", "U": "..-",
    "V": "...-", "W": ".--", "X": "-..-", "Y": "-.--", "Z": "--..", "1": ".----",
    "2": "..---", "3": "...--", "4": "....-", "5": ".....", "6": "-....", "7": "--...",
    "8": "---..", "9": "----.", "0": "-----", "&": ".-...", "@": ".--.-.",
    ":": "---...", ",": "--..--", ".": ".-.-.-", "'": ".----.", "\"": ".-..-.",
    "?": "..--..", "/": "-..-.", "=": "-...-", "+": ".-.-.", "-": "-....-",
    "(": "-.--.", ")": "-.--.-", "!": "-.-.--", " ": "/"
}  # Exclamation mark is not in ITU-R recommendation
# fmt: on
_UpperCAmelCase      :				Union[str, Any]          = {value: key for key, value in MORSE_CODE_DICT.items()}


def    A (      lowercase				)     ->						str:
		'''simple docstring'''

		return " ".join(MORSE_CODE_DICT[char] for char in message.upper()				)


def    A (      lowercase				)     ->						str:
		'''simple docstring'''

		return "".join(REVERSE_DICT[char] for char in message.split()				)


def    A (      )     ->						None:
		'''simple docstring'''

		UpperCamelCase						=  'Morse code here!'
		print(lowercase				)
		UpperCamelCase						=  encrypt(lowercase				)
		print(lowercase				)
		UpperCamelCase						=  decrypt(lowercase				)
		print(lowercase				)


if __name__ == "__main__":
					main()




import re


def    A (      lowercase				)     ->						str:
		'''simple docstring'''

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

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


if __name__ == "__main__":
					import doctest

					doctest.testmod()
