<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _decrypt(enc, key, ctxt, iv, tag, auth_data=b''):
 """ Decrypt JWE content. :param enc: The JWE "enc" value specifying the encryption algorithm :param key: Key (CEK) :param iv : Initialization vector :param auth_data: Additional authenticated data (AAD) :param ctxt : Ciphertext :param tag: Authentication tag :return: plain text message or None if decryption failed """

        if enc in ["A128GCM", "A192GCM", "A256GCM"]:
            aes = AES_GCMEncrypter(key=key)
        elif enc in ["A128CBC-HS256", "A192CBC-HS384", "A256CBC-HS512"]:
            aes = AES_CBCEncrypter(key=key)
        else:
            raise Exception("Unsupported encryption algorithm %s" % enc)

        try:
            return aes.decrypt(ctxt, iv=iv, auth_data=auth_data, tag=tag)
        except DecryptionFailed:
            raise