#include "secure_strings.h"
#include <stdint.h>
#include <string.h>

// Simple XOR obfuscation for compile-time data
static const uint8_t KEY = 0x5Au;

static const uint8_t DET_LENS[] = {
    5, 11, 6, 9, 15, 16, 7, 11, 25, 9, 14, 13,
    16, 23, 21, 10, 21, 24, 21, 17, 10, 19, 18, 18,
    19, 18, 17, 27, 20, 18, 16, 23, 13, 27, 22, 28,
    19, 14, 18, 20, 16, 15, 14, 19, 18, 13, 26, 9,
    10, 17, 17, 15, 26, 28, 28, 29, 20, 21, 22, 6,
    4, 8, 7, 7, 13, 16, 12, 18, 18, 19, 22, 15,
    20, 12, 64, 27,
};
static const uint8_t DET_ENC[] = {
    0x3B, 0x28, 0x3D, 0x35, 0x29, 0x3B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B,
    0x2E, 0x33, 0x35, 0x34, 0x3B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x33, 0x34,
    0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23, 0x39, 0x36, 0x33, 0x3F, 0x34,
    0x2E, 0x33, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23, 0x39, 0x36,
    0x33, 0x3F, 0x34, 0x2E, 0x05, 0x33, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33,
    0x2E, 0x23, 0x29, 0x39, 0x3B, 0x28, 0x3D, 0x35, 0x29, 0x3B, 0x28, 0x3D,
    0x35, 0x29, 0x39, 0x36, 0x33, 0x3F, 0x34, 0x2E, 0x2A, 0x36, 0x3B, 0x2E,
    0x3C, 0x35, 0x28, 0x37, 0x39, 0x36, 0x33, 0x3F, 0x34, 0x2E, 0x3B, 0x2E,
    0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x29, 0x3B, 0x3C,
    0x3F, 0x2E, 0x23, 0x34, 0x3F, 0x2E, 0x2A, 0x36, 0x3B, 0x23, 0x05, 0x33,
    0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23, 0x2A, 0x36, 0x3B, 0x23,
    0x33, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23, 0x3F, 0x22, 0x2A,
    0x28, 0x3F, 0x29, 0x29, 0x33, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E,
    0x23, 0x3B, 0x34, 0x3E, 0x28, 0x35, 0x33, 0x3E, 0x05, 0x31, 0x3F, 0x23,
    0x05, 0x3B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34,
    0x3B, 0x34, 0x3E, 0x28, 0x35, 0x33, 0x3E, 0x31, 0x3F, 0x23, 0x3B, 0x2E,
    0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x3B, 0x2A, 0x2A,
    0x05, 0x3B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3D, 0x3F, 0x2E, 0x3B, 0x2E,
    0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x32, 0x3F, 0x3B,
    0x3E, 0x3F, 0x28, 0x29, 0x39, 0x35, 0x37, 0x2A, 0x2F, 0x2E, 0x3F, 0x3B,
    0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x32, 0x3F,
    0x3B, 0x3E, 0x3F, 0x28, 0x3D, 0x3F, 0x2E, 0x3B, 0x2E, 0x2E, 0x3F, 0x29,
    0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x2A, 0x3B, 0x23, 0x36, 0x35, 0x3B,
    0x3E, 0x3D, 0x3F, 0x34, 0x3F, 0x28, 0x3B, 0x2E, 0x3F, 0x29, 0x33, 0x3D,
    0x34, 0x3B, 0x2E, 0x2F, 0x28, 0x3F, 0x32, 0x3F, 0x28, 0x37, 0x35, 0x3E,
    0x05, 0x3E, 0x2F, 0x2A, 0x3E, 0x3F, 0x2C, 0x33, 0x39, 0x3F, 0x05, 0x2C,
    0x3F, 0x28, 0x33, 0x3C, 0x33, 0x39, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x3E,
    0x3F, 0x2C, 0x33, 0x39, 0x3F, 0x05, 0x3C, 0x33, 0x34, 0x3D, 0x3F, 0x28,
    0x2A, 0x28, 0x33, 0x34, 0x2E, 0x3E, 0x3F, 0x2C, 0x33, 0x39, 0x3F, 0x05,
    0x3B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x39,
    0x36, 0x33, 0x3F, 0x34, 0x2E, 0x05, 0x2C, 0x3F, 0x28, 0x33, 0x3C, 0x33,
    0x39, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x39, 0x36, 0x33, 0x3F, 0x34, 0x2E,
    0x05, 0x3B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34,
    0x2C, 0x3F, 0x34, 0x3E, 0x35, 0x28, 0x3B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E,
    0x3B, 0x2E, 0x33, 0x35, 0x34, 0x3D, 0x35, 0x35, 0x3D, 0x36, 0x3F, 0x3B,
    0x34, 0x3E, 0x28, 0x35, 0x33, 0x3E, 0x31, 0x3F, 0x23, 0x3B, 0x2E, 0x2E,
    0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x3D, 0x3F, 0x2E, 0x29,
    0x33, 0x3D, 0x34, 0x3F, 0x3E, 0x3B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B,
    0x2E, 0x33, 0x35, 0x34, 0x3B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E,
    0x33, 0x35, 0x34, 0x37, 0x3B, 0x34, 0x3B, 0x3D, 0x3F, 0x28, 0x2E, 0x32,
    0x33, 0x28, 0x3E, 0x2A, 0x3B, 0x28, 0x2E, 0x23, 0x3B, 0x39, 0x39, 0x3F,
    0x29, 0x29, 0x2E, 0x32, 0x33, 0x28, 0x3E, 0x2A, 0x3B, 0x28, 0x2E, 0x23,
    0x3B, 0x39, 0x39, 0x3F, 0x29, 0x29, 0x29, 0x3F, 0x28, 0x2C, 0x33, 0x39,
    0x3F, 0x2E, 0x32, 0x33, 0x28, 0x3E, 0x2A, 0x3B, 0x28, 0x2E, 0x23, 0x3B,
    0x2A, 0x2A, 0x3D, 0x28, 0x2A, 0x39, 0x2E, 0x32, 0x33, 0x28, 0x3E, 0x2A,
    0x3B, 0x28, 0x2E, 0x23, 0x3B, 0x39, 0x39, 0x3F, 0x29, 0x29, 0x29, 0x3F,
    0x28, 0x2C, 0x33, 0x39, 0x3F, 0x28, 0x3F, 0x39, 0x35, 0x28, 0x3E, 0x2E,
    0x32, 0x33, 0x28, 0x3E, 0x2A, 0x3B, 0x28, 0x2E, 0x23, 0x3B, 0x39, 0x39,
    0x3F, 0x29, 0x29, 0x28, 0x3F, 0x39, 0x35, 0x28, 0x3E, 0x2E, 0x32, 0x33,
    0x28, 0x3E, 0x2A, 0x3B, 0x28, 0x2E, 0x23, 0x3B, 0x39, 0x39, 0x3F, 0x29,
    0x29, 0x3B, 0x39, 0x2E, 0x33, 0x35, 0x34, 0x3B, 0x2F, 0x2E, 0x32, 0x39,
    0x35, 0x34, 0x2E, 0x3F, 0x22, 0x2E, 0x3E, 0x3F, 0x36, 0x3F, 0x3D, 0x3B,
    0x2E, 0x3F, 0x3D, 0x3F, 0x2E, 0x3B, 0x2F, 0x2E, 0x32, 0x39, 0x35, 0x34,
    0x2E, 0x3F, 0x22, 0x2E, 0x34, 0x3B, 0x2E, 0x33, 0x2C, 0x3F, 0x05, 0x34,
    0x3F, 0x2E, 0x2D, 0x35, 0x28, 0x31, 0x05, 0x3B, 0x2A, 0x33, 0x34, 0x3B,
    0x2E, 0x33, 0x2C, 0x3F, 0x34, 0x3F, 0x2E, 0x2D, 0x35, 0x28, 0x31, 0x28,
    0x3F, 0x2B, 0x2F, 0x3F, 0x29, 0x2E, 0x34, 0x3B, 0x2E, 0x33, 0x2C, 0x3F,
    0x34, 0x3F, 0x2E, 0x2D, 0x35, 0x28, 0x31, 0x3B, 0x2A, 0x33, 0x3B, 0x2E,
    0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x2E, 0x23, 0x2A,
    0x3F, 0x3B, 0x28, 0x3D, 0x35, 0x29, 0x3B, 0x34, 0x3E, 0x36, 0x3F, 0x3D,
    0x3B, 0x39, 0x23, 0x28, 0x3F, 0x2B, 0x2F, 0x33, 0x28, 0x3F, 0x29, 0x3B,
    0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x3D, 0x3F,
    0x2E, 0x3B, 0x28, 0x3D, 0x35, 0x29, 0x2E, 0x35, 0x31, 0x3F, 0x34, 0x3B,
    0x29, 0x23, 0x34, 0x39, 0x3D, 0x3F, 0x2E, 0x3B, 0x28, 0x3D, 0x35, 0x29,
    0x2E, 0x35, 0x31, 0x3F, 0x34, 0x3B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B,
    0x2E, 0x33, 0x35, 0x34, 0x32, 0x3F, 0x3B, 0x3E, 0x3F, 0x28, 0x29, 0x39,
    0x3B, 0x36, 0x36, 0x38, 0x3B, 0x39, 0x31, 0x3B, 0x28, 0x3D, 0x35, 0x29,
    0x37, 0x35, 0x3E, 0x3F, 0x3B, 0x28, 0x3D, 0x35, 0x29, 0x3F, 0x2C, 0x3F,
    0x34, 0x2E, 0x3B, 0x28, 0x3D, 0x35, 0x29, 0x2E, 0x35, 0x31, 0x3F, 0x34,
    0x28, 0x3F, 0x3C, 0x28, 0x3F, 0x29, 0x32, 0x3B, 0x28, 0x3D, 0x35, 0x29,
    0x28, 0x3F, 0x3C, 0x28, 0x3F, 0x29, 0x28, 0x3F, 0x3B, 0x29, 0x35, 0x34,
    0x3B, 0x28, 0x3D, 0x35, 0x29, 0x32, 0x3F, 0x3B, 0x3E, 0x3F, 0x28, 0x2E,
    0x23, 0x2A, 0x3F, 0x3D, 0x35, 0x35, 0x3D, 0x36, 0x3F, 0x2A, 0x36, 0x3B,
    0x23, 0x33, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23, 0x37, 0x3B,
    0x34, 0x3B, 0x3D, 0x3F, 0x28, 0x28, 0x3F, 0x2B, 0x2F, 0x3F, 0x29, 0x2E,
    0x3F, 0x22, 0x2A, 0x28, 0x3F, 0x29, 0x29, 0x33, 0x34, 0x2E, 0x3F, 0x3D,
    0x28, 0x33, 0x2E, 0x23, 0x2E, 0x35, 0x31, 0x3F, 0x34, 0x28, 0x3F, 0x2B,
    0x2F, 0x3F, 0x29, 0x2E, 0x39, 0x36, 0x3B, 0x29, 0x29, 0x33, 0x39, 0x33,
    0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23, 0x2E, 0x35, 0x31, 0x3F,
    0x34, 0x28, 0x3F, 0x2B, 0x2F, 0x3F, 0x29, 0x2E, 0x29, 0x2E, 0x3B, 0x34,
    0x3E, 0x3B, 0x28, 0x3E, 0x33, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E,
    0x23, 0x2E, 0x35, 0x31, 0x3F, 0x34, 0x39, 0x36, 0x3B, 0x29, 0x29, 0x33,
    0x39, 0x2A, 0x36, 0x3B, 0x23, 0x33, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33,
    0x2E, 0x23, 0x29, 0x2E, 0x3B, 0x34, 0x3E, 0x3B, 0x28, 0x3E, 0x2A, 0x36,
    0x3B, 0x23, 0x33, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23, 0x39,
    0x32, 0x3B, 0x36, 0x36, 0x3F, 0x34, 0x3D, 0x3F, 0x35, 0x28, 0x39, 0x32,
    0x3F, 0x29, 0x2E, 0x28, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x22, 0x2A, 0x35,
    0x29, 0x3F, 0x3E, 0x28, 0x33, 0x28, 0x2F, 0x3F, 0x3E, 0x22, 0x2A, 0x35,
    0x29, 0x3F, 0x3E, 0x36, 0x29, 0x2A, 0x35, 0x29, 0x3F, 0x3E, 0x36, 0x29,
    0x2A, 0x3B, 0x2E, 0x39, 0x32, 0x29, 0x34, 0x3B, 0x2A, 0x33, 0x34, 0x2E,
    0x3F, 0x28, 0x39, 0x3F, 0x2A, 0x2E, 0x29, 0x34, 0x3B, 0x2A, 0x33, 0x34,
    0x2E, 0x3F, 0x28, 0x39, 0x3F, 0x2A, 0x2E, 0x37, 0x35, 0x3E, 0x33, 0x34,
    0x2E, 0x3F, 0x28, 0x39, 0x3F, 0x2A, 0x2E, 0x37, 0x35, 0x3E, 0x39, 0x35,
    0x37, 0x74, 0x37, 0x3B, 0x28, 0x20, 0x74, 0x29, 0x34, 0x3B, 0x2A, 0x2A,
    0x28, 0x3F, 0x3C, 0x29, 0x36, 0x35, 0x39, 0x3B, 0x36, 0x74, 0x33, 0x34,
    0x2E, 0x3F, 0x28, 0x39, 0x3F, 0x2A, 0x2E, 0x37, 0x35, 0x3E, 0x36, 0x35,
    0x39, 0x3B, 0x36, 0x74, 0x29, 0x34, 0x3B, 0x2A, 0x33, 0x34, 0x2E, 0x3F,
    0x28, 0x39, 0x3F, 0x2A, 0x2E, 0x36, 0x35, 0x39, 0x3B, 0x36, 0x74, 0x29,
    0x34, 0x3B, 0x2A, 0x33, 0x34, 0x2E, 0x3F, 0x28, 0x39, 0x3F, 0x2A, 0x2E,
    0x37, 0x35, 0x3E, 0x20, 0x33, 0x2A, 0x3F, 0x34, 0x2E, 0x28, 0x23, 0x74,
    0x3D, 0x3F, 0x2E, 0x39, 0x28, 0x39, 0x29, 0x39, 0x2A, 0x36, 0x2F, 0x3D,
    0x33, 0x34, 0x2D, 0x28, 0x3B, 0x2A, 0x2A, 0x3F, 0x28, 0x74, 0x3E, 0x3B,
    0x2E, 0x3B, 0x39, 0x35, 0x37, 0x74, 0x29, 0x34, 0x3B, 0x2A, 0x74, 0x3B,
    0x3E, 0x29, 0x39, 0x35, 0x37, 0x74, 0x29, 0x34, 0x3B, 0x2A, 0x74, 0x3D,
    0x28, 0x3B, 0x2A, 0x32, 0x3F, 0x34, 0x3F, 0x74, 0x33, 0x37, 0x2A, 0x36,
    0x74, 0x3B, 0x2A, 0x33, 0x74, 0x3D, 0x28, 0x3B, 0x2A, 0x32, 0x3F, 0x34,
    0x3F, 0x32, 0x2E, 0x2E, 0x2A, 0x33, 0x34, 0x2E, 0x3F, 0x28, 0x3C, 0x3B,
    0x39, 0x3F, 0x74, 0x3F, 0x37, 0x33, 0x2E, 0x37, 0x3F, 0x2E, 0x28, 0x33,
    0x39, 0x3C, 0x28, 0x3B, 0x37, 0x3F, 0x32, 0x2E, 0x2E, 0x2A, 0x60, 0x75,
    0x75, 0x6B, 0x68, 0x6D, 0x74, 0x6A, 0x74, 0x6A, 0x74, 0x6B, 0x75, 0x2C,
    0x6B, 0x75, 0x37, 0x3F, 0x2E, 0x28, 0x33, 0x39, 0x29,
};
static char DET_DEC[1405];
static size_t DET_LEN = 0;
static int DET_READY = 0;

static const uint8_t RISK_LENS[] = {
    22, 24, 16, 18, 22, 19, 22, 19, 25, 21, 27, 21,
    30, 18, 24, 26, 28, 34, 36, 14, 17, 18, 20, 14,
    16, 12, 26, 10, 27, 29, 23, 53, 29, 30, 26, 28,
    50, 29,
};
static const uint8_t RISK_ENC[] = {
    0x19, 0x36, 0x33, 0x3F, 0x34, 0x2E, 0x13, 0x34, 0x2E, 0x3F, 0x3D, 0x28,
    0x33, 0x2E, 0x23, 0x09, 0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F, 0x75, 0x19,
    0x36, 0x33, 0x3F, 0x34, 0x2E, 0x13, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33,
    0x2E, 0x23, 0x09, 0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F, 0x75, 0x13, 0x34,
    0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23, 0x09, 0x3F, 0x28, 0x2C, 0x33,
    0x39, 0x3F, 0x75, 0x13, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23,
    0x09, 0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F, 0x75, 0x75, 0x1D, 0x3F, 0x2E,
    0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x12,
    0x3F, 0x3B, 0x3E, 0x3F, 0x28, 0x29, 0x75, 0x1B, 0x2E, 0x2E, 0x3F, 0x29,
    0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x12, 0x3F, 0x3B, 0x3E, 0x3F, 0x28,
    0x29, 0x75, 0x1D, 0x3F, 0x2E, 0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B,
    0x2E, 0x33, 0x35, 0x34, 0x0A, 0x3B, 0x23, 0x36, 0x35, 0x3B, 0x3E, 0x75,
    0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x0A,
    0x3B, 0x23, 0x36, 0x35, 0x3B, 0x3E, 0x75, 0x19, 0x35, 0x37, 0x2A, 0x2F,
    0x2E, 0x3F, 0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35,
    0x34, 0x12, 0x3F, 0x3B, 0x3E, 0x3F, 0x28, 0x75, 0x1D, 0x3F, 0x2E, 0x1B,
    0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x12, 0x3F,
    0x3B, 0x3E, 0x3F, 0x28, 0x75, 0x1D, 0x3F, 0x34, 0x3F, 0x28, 0x3B, 0x2E,
    0x3F, 0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34,
    0x0A, 0x3B, 0x23, 0x36, 0x35, 0x3B, 0x3E, 0x75, 0x1D, 0x3F, 0x2E, 0x09,
    0x33, 0x3D, 0x34, 0x3F, 0x3E, 0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B,
    0x2E, 0x33, 0x35, 0x34, 0x75, 0x1D, 0x3F, 0x2E, 0x09, 0x33, 0x3D, 0x34,
    0x3F, 0x3E, 0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35,
    0x34, 0x0D, 0x33, 0x2E, 0x32, 0x14, 0x35, 0x34, 0x39, 0x3F, 0x75, 0x0C,
    0x3F, 0x34, 0x3E, 0x35, 0x28, 0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B,
    0x2E, 0x33, 0x35, 0x34, 0x0C, 0x3F, 0x34, 0x3E, 0x35, 0x28, 0x1B, 0x2E,
    0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x17, 0x3B, 0x34,
    0x3B, 0x3D, 0x3F, 0x28, 0x75, 0x0C, 0x3F, 0x34, 0x3E, 0x35, 0x28, 0x1B,
    0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x17, 0x3B,
    0x34, 0x3B, 0x3D, 0x3F, 0x28, 0x75, 0x75, 0x1D, 0x35, 0x35, 0x3D, 0x36,
    0x3F, 0x1B, 0x34, 0x3E, 0x28, 0x35, 0x33, 0x3E, 0x11, 0x3F, 0x23, 0x1B,
    0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x1D, 0x35,
    0x35, 0x3D, 0x36, 0x3F, 0x1B, 0x34, 0x3E, 0x28, 0x35, 0x33, 0x3E, 0x11,
    0x3F, 0x23, 0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35,
    0x34, 0x17, 0x3B, 0x34, 0x3B, 0x3D, 0x3F, 0x28, 0x75, 0x1D, 0x35, 0x35,
    0x3D, 0x36, 0x3F, 0x1B, 0x34, 0x3E, 0x28, 0x35, 0x33, 0x3E, 0x11, 0x3F,
    0x23, 0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35, 0x34,
    0x17, 0x3B, 0x34, 0x3B, 0x3D, 0x3F, 0x28, 0x75, 0x75, 0x0A, 0x36, 0x3B,
    0x23, 0x13, 0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23, 0x75, 0x1F,
    0x22, 0x2A, 0x28, 0x3F, 0x29, 0x29, 0x13, 0x34, 0x2E, 0x3F, 0x3D, 0x28,
    0x33, 0x2E, 0x23, 0x09, 0x19, 0x1B, 0x28, 0x3D, 0x35, 0x29, 0x09, 0x3F,
    0x28, 0x2C, 0x33, 0x39, 0x3F, 0x13, 0x37, 0x2A, 0x36, 0x75, 0x09, 0x19,
    0x1B, 0x28, 0x3D, 0x35, 0x29, 0x09, 0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F,
    0x13, 0x37, 0x2A, 0x36, 0x75, 0x09, 0x19, 0x1B, 0x28, 0x3D, 0x35, 0x29,
    0x09, 0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F, 0x75, 0x09, 0x19, 0x1B, 0x28,
    0x3D, 0x35, 0x29, 0x09, 0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F, 0x75, 0x75,
    0x1B, 0x28, 0x3D, 0x35, 0x29, 0x19, 0x36, 0x33, 0x3F, 0x34, 0x2E, 0x75,
    0x0A, 0x36, 0x3B, 0x2E, 0x3C, 0x35, 0x28, 0x37, 0x19, 0x36, 0x33, 0x3F,
    0x34, 0x2E, 0x1B, 0x2E, 0x2E, 0x3F, 0x29, 0x2E, 0x3B, 0x2E, 0x33, 0x35,
    0x34, 0x32, 0x3F, 0x28, 0x37, 0x35, 0x3E, 0x05, 0x3E, 0x2F, 0x2A, 0x1D,
    0x28, 0x2A, 0x39, 0x0E, 0x32, 0x33, 0x28, 0x3E, 0x0A, 0x3B, 0x28, 0x2E,
    0x23, 0x1B, 0x39, 0x39, 0x3F, 0x29, 0x29, 0x09, 0x3F, 0x28, 0x2C, 0x33,
    0x39, 0x3F, 0x75, 0x1D, 0x28, 0x2A, 0x39, 0x0E, 0x32, 0x33, 0x28, 0x3E,
    0x0A, 0x3B, 0x28, 0x2E, 0x23, 0x1B, 0x39, 0x39, 0x3F, 0x29, 0x29, 0x09,
    0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F, 0x75, 0x0E, 0x32, 0x33, 0x28, 0x3E,
    0x0A, 0x3B, 0x28, 0x2E, 0x23, 0x1B, 0x39, 0x39, 0x3F, 0x29, 0x29, 0x09,
    0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F, 0x75, 0x39, 0x35, 0x37, 0x74, 0x29,
    0x34, 0x3B, 0x2A, 0x39, 0x32, 0x3B, 0x2E, 0x74, 0x3B, 0x2F, 0x2E, 0x32,
    0x74, 0x2A, 0x28, 0x35, 0x2E, 0x35, 0x74, 0x2E, 0x2A, 0x3B, 0x74, 0x0E,
    0x32, 0x33, 0x28, 0x3E, 0x0A, 0x3B, 0x28, 0x2E, 0x23, 0x1B, 0x39, 0x39,
    0x3F, 0x29, 0x29, 0x09, 0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F, 0x75, 0x75,
    0x08, 0x3F, 0x39, 0x35, 0x28, 0x3E, 0x0E, 0x32, 0x33, 0x28, 0x3E, 0x0A,
    0x3B, 0x28, 0x2E, 0x23, 0x1B, 0x39, 0x39, 0x3F, 0x29, 0x29, 0x1B, 0x39,
    0x2E, 0x33, 0x35, 0x34, 0x75, 0x08, 0x3F, 0x39, 0x35, 0x28, 0x3E, 0x0E,
    0x32, 0x33, 0x28, 0x3E, 0x0A, 0x3B, 0x28, 0x2E, 0x23, 0x1B, 0x39, 0x39,
    0x3F, 0x29, 0x29, 0x09, 0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F, 0x1D, 0x35,
    0x35, 0x3D, 0x36, 0x3F, 0x0A, 0x36, 0x3B, 0x23, 0x13, 0x34, 0x2E, 0x3F,
    0x3D, 0x28, 0x33, 0x2E, 0x23, 0x17, 0x3B, 0x34, 0x3B, 0x3D, 0x3F, 0x28,
    0x75, 0x1D, 0x35, 0x35, 0x3D, 0x36, 0x3F, 0x0A, 0x36, 0x3B, 0x23, 0x13,
    0x34, 0x2E, 0x3F, 0x3D, 0x28, 0x33, 0x2E, 0x23, 0x17, 0x3B, 0x34, 0x3B,
    0x3D, 0x3F, 0x28, 0x75, 0x75, 0x29, 0x34, 0x3B, 0x2A, 0x39, 0x32, 0x3B,
    0x2E, 0x74, 0x30, 0x3B, 0x34, 0x2F, 0x29, 0x74, 0x3B, 0x2A, 0x33, 0x74,
    0x19, 0x32, 0x3B, 0x36, 0x36, 0x3F, 0x34, 0x3D, 0x3F, 0x15, 0x28, 0x39,
    0x32, 0x3F, 0x29, 0x2E, 0x28, 0x3B, 0x2E, 0x33, 0x35, 0x34, 0x09, 0x3F,
    0x28, 0x2C, 0x33, 0x39, 0x3F, 0x75, 0x19, 0x32, 0x3B, 0x36, 0x36, 0x3F,
    0x34, 0x3D, 0x3F, 0x15, 0x28, 0x39, 0x32, 0x3F, 0x29, 0x2E, 0x28, 0x3B,
    0x2E, 0x33, 0x35, 0x34, 0x09, 0x3F, 0x28, 0x2C, 0x33, 0x39, 0x3F,
};
static char RISK_DEC[993];
static size_t RISK_LEN = 0;
static int RISK_READY = 0;

static size_t decode_list(const uint8_t* enc, size_t enc_len, const uint8_t* lens, size_t n, char* out, size_t out_cap) {
    size_t off = 0;
    size_t enc_off = 0;
    for (size_t i = 0; i < n && enc_off < enc_len; ++i) {
        size_t L = (size_t)lens[i];
        if (off + L + 1 > out_cap || enc_off + L > enc_len) break;
        for (size_t j = 0; j < L; ++j) {
            out[off++] = (char)(enc[enc_off++] ^ KEY);
        }
        out[off++] = '\0';
    }
    return off;
}

const char* ss_get_detection_blob(size_t* out_len) {
    if (!DET_READY) {
        DET_LEN = decode_list(DET_ENC,
                              sizeof(DET_ENC),
                              DET_LENS,
                              sizeof(DET_LENS)/sizeof(DET_LENS[0]),
                              DET_DEC,
                              sizeof(DET_DEC));
        DET_READY = 1;
    }
    if (out_len) {
        *out_len = DET_LEN;
    }
    return DET_DEC;
}

const char* ss_get_risk_block_blob(size_t* out_len) {
    if (!RISK_READY) {
        RISK_LEN = decode_list(RISK_ENC,
                               sizeof(RISK_ENC),
                               RISK_LENS,
                               sizeof(RISK_LENS)/sizeof(RISK_LENS[0]),
                               RISK_DEC,
                               sizeof(RISK_DEC));
        RISK_READY = 1;
    }
    if (out_len) {
        *out_len = RISK_LEN;
    }
    return RISK_DEC;
}

const char* ss_get_hermod_dup(size_t* out_len) {
    static char buf[16];
    static int ready = 0;
    if (!ready) {
        size_t enc_off = 0;
        for (size_t i = 0; i < sizeof(DET_LENS); ++i) {
            size_t L = DET_LENS[i];
            if (i == 20) {
                size_t w = (L < sizeof(buf)-1) ? L : (sizeof(buf)-1);
                for (size_t j = 0; j < w; ++j) buf[j] = (char)(DET_ENC[enc_off+j] ^ KEY);
                buf[w] = '\0';
                break;
            }
            enc_off += L;
        }
        ready = 1;
    }
    if (out_len) *out_len = strlen(buf);
    return buf;
}
