From 31d425e5f4b3ba49c3bd761251d87d7589983f5e Mon Sep 17 00:00:00 2001 From: Max Filippov Date: Sun, 30 Jul 2023 12:02:00 -0700 Subject: des.c: constify des tables DES tables take up a huge amount of space in the .bss and they aren't even variable. Generate constant tables and put them into des_tables.c and drop constants and code used to generate them from des.c This saves ~70KBytes of the .bss and ~3KBytes of the total library size: text data bss dec hex filename - 618508 25652 89400 733560 b3178 lib/libuClibc-1.0.42.so + 685664 25672 19488 730824 b26c8 lib/libuClibc-1.0.42.so Modified libc passes the DES validation suite from the uclibc-ng-test. Signed-off-by: Max Filippov --- libcrypt/des.c | 222 +-- libcrypt/des_tables.c | 4758 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 4759 insertions(+), 221 deletions(-) create mode 100644 libcrypt/des_tables.c diff --git a/libcrypt/des.c b/libcrypt/des.c index 64a977c3b..a90d9db98 100644 --- a/libcrypt/des.c +++ b/libcrypt/des.c @@ -64,121 +64,23 @@ #include #include #include "libcrypt.h" +#include "des_tables.c" /* Re-entrantify me -- all this junk needs to be in * struct crypt_data to make this really reentrant... */ -static u_char inv_key_perm[64]; -static u_char inv_comp_perm[56]; -static u_char un_pbox[32]; static u_int32_t en_keysl[16], en_keysr[16]; static u_int32_t de_keysl[16], de_keysr[16]; -static u_int32_t ip_maskl[8][256], ip_maskr[8][256]; -static u_int32_t fp_maskl[8][256], fp_maskr[8][256]; -static u_int32_t key_perm_maskl[8][128], key_perm_maskr[8][128]; -static u_int32_t comp_maskl[8][128], comp_maskr[8][128]; static u_int32_t saltbits; static u_int32_t old_salt; static u_int32_t old_rawkey0, old_rawkey1; - -/* Static stuff that stays resident and doesn't change after - * being initialized, and therefore doesn't need to be made - * reentrant. */ -static u_char init_perm[64], final_perm[64]; -static u_char m_sbox[4][4096]; -static u_int32_t psbox[4][256]; - - - - /* A pile of data */ static const u_char ascii64[] = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; -static const u_char IP[64] = { - 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, - 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, - 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, - 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 -}; - -static const u_char key_perm[56] = { - 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, - 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, - 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, - 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4 -}; - static const u_char key_shifts[16] = { 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 }; -static const u_char comp_perm[48] = { - 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, - 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, - 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, - 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32 -}; - -/* - * No E box is used, as it's replaced by some ANDs, shifts, and ORs. - */ - -static const u_char sbox[8][64] = { - { - 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, - 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, - 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, - 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 - }, - { - 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10, - 3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5, - 0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15, - 13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9 - }, - { - 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8, - 13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1, - 13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7, - 1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12 - }, - { - 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15, - 13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9, - 10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4, - 3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14 - }, - { - 2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9, - 14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6, - 4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14, - 11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3 - }, - { - 12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11, - 10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8, - 9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6, - 4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13 - }, - { - 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1, - 13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6, - 1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2, - 6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12 - }, - { - 13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7, - 1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2, - 7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8, - 2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11 - } -}; - -static const u_char pbox[32] = { - 16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10, - 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25 -}; - static const u_int32_t bits32[32] = { 0x80000000, 0x40000000, 0x20000000, 0x10000000, @@ -217,138 +119,16 @@ des_init(void) { static int des_initialised = 0; - int i, j, b, k, inbit, obit; - u_int32_t *p, *il, *ir, *fl, *fr; - const u_int32_t *bits28, *bits24; - u_char u_sbox[8][64]; - if (des_initialised==1) return; old_rawkey0 = old_rawkey1 = 0L; saltbits = 0L; old_salt = 0L; - bits24 = (bits28 = bits32 + 4) + 4; - - /* - * Invert the S-boxes, reordering the input bits. - */ - for (i = 0; i < 8; i++) - for (j = 0; j < 64; j++) { - b = (j & 0x20) | ((j & 1) << 4) | ((j >> 1) & 0xf); - u_sbox[i][j] = sbox[i][b]; - } - - /* - * Convert the inverted S-boxes into 4 arrays of 8 bits. - * Each will handle 12 bits of the S-box input. - */ - for (b = 0; b < 4; b++) - for (i = 0; i < 64; i++) - for (j = 0; j < 64; j++) - m_sbox[b][(i << 6) | j] = - (u_char)((u_sbox[(b << 1)][i] << 4) | - u_sbox[(b << 1) + 1][j]); - - /* - * Set up the initial & final permutations into a useful form, and - * initialise the inverted key permutation. - */ - for (i = 0; i < 64; i++) { - init_perm[final_perm[i] = IP[i] - 1] = (u_char)i; - inv_key_perm[i] = 255; - } - - /* - * Invert the key permutation and initialise the inverted key - * compression permutation. - */ - for (i = 0; i < 56; i++) { - inv_key_perm[key_perm[i] - 1] = (u_char)i; - inv_comp_perm[i] = 255; - } - - /* - * Invert the key compression permutation. - */ - for (i = 0; i < 48; i++) { - inv_comp_perm[comp_perm[i] - 1] = (u_char)i; - } - - /* - * Set up the OR-mask arrays for the initial and final permutations, - * and for the key initial and compression permutations. - */ - for (k = 0; k < 8; k++) { - for (i = 0; i < 256; i++) { - *(il = &ip_maskl[k][i]) = 0L; - *(ir = &ip_maskr[k][i]) = 0L; - *(fl = &fp_maskl[k][i]) = 0L; - *(fr = &fp_maskr[k][i]) = 0L; - for (j = 0; j < 8; j++) { - inbit = 8 * k + j; - if (i & bits8[j]) { - if ((obit = init_perm[inbit]) < 32) - *il |= bits32[obit]; - else - *ir |= bits32[obit-32]; - if ((obit = final_perm[inbit]) < 32) - *fl |= bits32[obit]; - else - *fr |= bits32[obit - 32]; - } - } - } - for (i = 0; i < 128; i++) { - *(il = &key_perm_maskl[k][i]) = 0L; - *(ir = &key_perm_maskr[k][i]) = 0L; - for (j = 0; j < 7; j++) { - inbit = 8 * k + j; - if (i & bits8[j + 1]) { - if ((obit = inv_key_perm[inbit]) == 255) - continue; - if (obit < 28) - *il |= bits28[obit]; - else - *ir |= bits28[obit - 28]; - } - } - *(il = &comp_maskl[k][i]) = 0L; - *(ir = &comp_maskr[k][i]) = 0L; - for (j = 0; j < 7; j++) { - inbit = 7 * k + j; - if (i & bits8[j + 1]) { - if ((obit=inv_comp_perm[inbit]) == 255) - continue; - if (obit < 24) - *il |= bits24[obit]; - else - *ir |= bits24[obit - 24]; - } - } - } - } - - /* - * Invert the P-box permutation, and convert into OR-masks for - * handling the output of the S-box arrays setup above. - */ - for (i = 0; i < 32; i++) - un_pbox[pbox[i] - 1] = (u_char)i; - - for (b = 0; b < 4; b++) - for (i = 0; i < 256; i++) { - *(p = &psbox[b][i]) = 0L; - for (j = 0; j < 8; j++) { - if (i & bits8[j]) - *p |= bits32[un_pbox[8 * b + j]]; - } - } des_initialised = 1; } - static void setup_salt(u_int32_t salt) { diff --git a/libcrypt/des_tables.c b/libcrypt/des_tables.c new file mode 100644 index 000000000..bc601e2e9 --- /dev/null +++ b/libcrypt/des_tables.c @@ -0,0 +1,4758 @@ +#if 0 +/* Generated with the following change */ + +static u_int32_t ip_maskl[8][256], ip_maskr[8][256]; +static u_int32_t fp_maskl[8][256], fp_maskr[8][256]; +static u_int32_t key_perm_maskl[8][128], key_perm_maskr[8][128]; +static u_int32_t comp_maskl[8][128], comp_maskr[8][128]; + +/* Static stuff that stays resident and doesn't change after + * being initialized, and therefore doesn't need to be made + * reentrant. */ +static u_char m_sbox[4][4096]; +static u_int32_t psbox[4][256]; + +static const u_char IP[64] = { + 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, + 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, + 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, + 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 +}; + +static const u_char key_perm[56] = { + 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, + 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, + 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, + 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4 +}; + +static const u_char comp_perm[48] = { + 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, + 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, + 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, + 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32 +}; + +/* + * No E box is used, as it's replaced by some ANDs, shifts, and ORs. + */ + +static const u_char sbox[8][64] = { + { + 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, + 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, + 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, + 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 + }, + { + 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10, + 3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5, + 0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15, + 13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9 + }, + { + 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8, + 13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1, + 13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7, + 1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12 + }, + { + 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15, + 13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9, + 10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4, + 3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14 + }, + { + 2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9, + 14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6, + 4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14, + 11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3 + }, + { + 12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11, + 10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8, + 9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6, + 4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13 + }, + { + 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1, + 13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6, + 1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2, + 6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12 + }, + { + 13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7, + 1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2, + 7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8, + 2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11 + } +}; + +static const u_char pbox[32] = { + 16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10, + 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25 +}; + +static void +des_init(void) +{ + static int des_initialised = 0; + + int i, j, b, k, inbit, obit; + u_int32_t *p, *il, *ir, *fl, *fr; + const u_int32_t *bits28, *bits24; + u_char u_sbox[8][64]; + u_char inv_key_perm[64]; + u_char inv_comp_perm[56]; + u_char un_pbox[32] = {0}; + u_char init_perm[64] = {0}, final_perm[64] = {0}; + + if (des_initialised==1) + return; + + old_rawkey0 = old_rawkey1 = 0L; + saltbits = 0L; + old_salt = 0L; + bits24 = (bits28 = bits32 + 4) + 4; + + /* + * Invert the S-boxes, reordering the input bits. + */ + for (i = 0; i < 8; i++) + for (j = 0; j < 64; j++) { + b = (j & 0x20) | ((j & 1) << 4) | ((j >> 1) & 0xf); + u_sbox[i][j] = sbox[i][b]; + } + + /* + * Convert the inverted S-boxes into 4 arrays of 8 bits. + * Each will handle 12 bits of the S-box input. + */ + for (b = 0; b < 4; b++) + for (i = 0; i < 64; i++) + for (j = 0; j < 64; j++) + m_sbox[b][(i << 6) | j] = + (u_char)((u_sbox[(b << 1)][i] << 4) | + u_sbox[(b << 1) + 1][j]); + + /* + * Set up the initial & final permutations into a useful form, and + * initialise the inverted key permutation. + */ + for (i = 0; i < 64; i++) { + init_perm[final_perm[i] = IP[i] - 1] = (u_char)i; + inv_key_perm[i] = 255; + } + + /* + * Invert the key permutation and initialise the inverted key + * compression permutation. + */ + for (i = 0; i < 56; i++) { + inv_key_perm[key_perm[i] - 1] = (u_char)i; + inv_comp_perm[i] = 255; + } + + /* + * Invert the key compression permutation. + */ + for (i = 0; i < 48; i++) { + inv_comp_perm[comp_perm[i] - 1] = (u_char)i; + } + + /* + * Set up the OR-mask arrays for the initial and final permutations, + * and for the key initial and compression permutations. + */ + for (k = 0; k < 8; k++) { + for (i = 0; i < 256; i++) { + *(il = &ip_maskl[k][i]) = 0L; + *(ir = &ip_maskr[k][i]) = 0L; + *(fl = &fp_maskl[k][i]) = 0L; + *(fr = &fp_maskr[k][i]) = 0L; + for (j = 0; j < 8; j++) { + inbit = 8 * k + j; + if (i & bits8[j]) { + if ((obit = init_perm[inbit]) < 32) + *il |= bits32[obit]; + else + *ir |= bits32[obit-32]; + if ((obit = final_perm[inbit]) < 32) + *fl |= bits32[obit]; + else + *fr |= bits32[obit - 32]; + } + } + } + for (i = 0; i < 128; i++) { + *(il = &key_perm_maskl[k][i]) = 0L; + *(ir = &key_perm_maskr[k][i]) = 0L; + for (j = 0; j < 7; j++) { + inbit = 8 * k + j; + if (i & bits8[j + 1]) { + if ((obit = inv_key_perm[inbit]) == 255) + continue; + if (obit < 28) + *il |= bits28[obit]; + else + *ir |= bits28[obit - 28]; + } + } + *(il = &comp_maskl[k][i]) = 0L; + *(ir = &comp_maskr[k][i]) = 0L; + for (j = 0; j < 7; j++) { + inbit = 7 * k + j; + if (i & bits8[j + 1]) { + if ((obit=inv_comp_perm[inbit]) == 255) + continue; + if (obit < 24) + *il |= bits24[obit]; + else + *ir |= bits24[obit - 24]; + } + } + } + } + + /* + * Invert the P-box permutation, and convert into OR-masks for + * handling the output of the S-box arrays setup above. + */ + for (i = 0; i < 32; i++) + un_pbox[pbox[i] - 1] = (u_char)i; + + for (b = 0; b < 4; b++) + for (i = 0; i < 256; i++) { + *(p = &psbox[b][i]) = 0L; + for (j = 0; j < 8; j++) { + if (i & bits8[j]) + *p |= bits32[un_pbox[8 * b + j]]; + } + } + + des_initialised = 1; +} + +static void dump_u_int32_t(u_int32_t *p, const char *prefix, size_t n) +{ + size_t i; + const size_t w = 4; + + for (i = 0; i < n; ++i) { + if (i % w == 0) + printf("%s", prefix); + printf("0x%08x,%c", p[i], (i % w) == w - 1 ? '\n' : ' '); + } +} + +static void dump_u_char(u_char *p, const char *prefix, size_t n) +{ + size_t i; + const size_t w = 16; + + for (i = 0; i < n; ++i) { + if (i % w == 0) + printf("%s", prefix); + printf("0x%02x,%c", p[i], (i % w) == w - 1 ? '\n' : ' '); + } +} + +#define dump_array(type, a, n) \ + do {\ + printf("static const %s %s[%d] = {\n", #type, #a, (n)); \ + dump_##type(&a[0], "\t", (n)); \ + printf("};\n"); \ + } while (0) + +#define dump_array2(type, a, m, n) \ + do {\ + int i; \ + printf("static const %s %s[%d][%d] = {\n", #type, #a, (m), (n)); \ + for (i = 0; i < m; ++i) { \ + printf("%s{\n", i ? ", " : "\t"); \ + dump_##type(&a[i][0], "\t\t", (n)); \ + printf("\t}"); \ + } \ + printf("\n};\n"); \ + } while (0) + +#define dump_u32_array(a, n) dump_array(u_int32_t, a, n) +#define dump_u32_array2(a, m, n) dump_array2(u_int32_t, a, m, n) + +#define dump_u8_array(a, n) dump_array(u_char, a, n) +#define dump_u8_array2(a, m, n) dump_array2(u_char, a, m, n) + +void dump_des(void) +{ + des_init(); + + dump_u32_array2(ip_maskl, 8, 256); + dump_u32_array2(ip_maskr, 8, 256); + dump_u32_array2(fp_maskl, 8, 256); + dump_u32_array2(fp_maskr, 8, 256); + + dump_u32_array2(key_perm_maskl, 8, 128); + dump_u32_array2(key_perm_maskr, 8, 128); + dump_u32_array2(comp_maskl, 8, 128); + dump_u32_array2(comp_maskr, 8, 128); + + dump_u8_array2(m_sbox, 4, 4096); + dump_u32_array2(psbox, 4, 256); +} + +#endif + +static const u_int32_t ip_maskl[8][256] = { + { + 0x00000000, 0x00000001, 0x00000000, 0x00000001, + 0x00000100, 0x00000101, 0x00000100, 0x00000101, + 0x00000000, 0x00000001, 0x00000000, 0x00000001, + 0x00000100, 0x00000101, 0x00000100, 0x00000101, + 0x00010000, 0x00010001, 0x00010000, 0x00010001, + 0x00010100, 0x00010101, 0x00010100, 0x00010101, + 0x00010000, 0x00010001, 0x00010000, 0x00010001, + 0x00010100, 0x00010101, 0x00010100, 0x00010101, + 0x00000000, 0x00000001, 0x00000000, 0x00000001, + 0x00000100, 0x00000101, 0x00000100, 0x00000101, + 0x00000000, 0x00000001, 0x00000000, 0x00000001, + 0x00000100, 0x00000101, 0x00000100, 0x00000101, + 0x00010000, 0x00010001, 0x00010000, 0x00010001, + 0x00010100, 0x00010101, 0x00010100, 0x00010101, + 0x00010000, 0x00010001, 0x00010000, 0x00010001, + 0x00010100, 0x00010101, 0x00010100, 0x00010101, + 0x01000000, 0x01000001, 0x01000000, 0x01000001, + 0x01000100, 0x01000101, 0x01000100, 0x01000101, + 0x01000000, 0x01000001, 0x01000000, 0x01000001, + 0x01000100, 0x01000101, 0x01000100, 0x01000101, + 0x01010000, 0x01010001, 0x01010000, 0x01010001, + 0x01010100, 0x01010101, 0x01010100, 0x01010101, + 0x01010000, 0x01010001, 0x01010000, 0x01010001, + 0x01010100, 0x01010101, 0x01010100, 0x01010101, + 0x01000000, 0x01000001, 0x01000000, 0x01000001, + 0x01000100, 0x01000101, 0x01000100, 0x01000101, + 0x01000000, 0x01000001, 0x01000000, 0x01000001, + 0x01000100, 0x01000101, 0x01000100, 0x01000101, + 0x01010000, 0x01010001, 0x01010000, 0x01010001, + 0x01010100, 0x01010101, 0x01010100, 0x01010101, + 0x01010000, 0x01010001, 0x01010000, 0x01010001, + 0x01010100, 0x01010101, 0x01010100, 0x01010101, + 0x00000000, 0x00000001, 0x00000000, 0x00000001, + 0x00000100, 0x00000101, 0x00000100, 0x00000101, + 0x00000000, 0x00000001, 0x00000000, 0x00000001, + 0x00000100, 0x00000101, 0x00000100, 0x00000101, + 0x00010000, 0x00010001, 0x00010000, 0x00010001, + 0x00010100, 0x00010101, 0x00010100, 0x00010101, + 0x00010000, 0x00010001, 0x00010000, 0x00010001, + 0x00010100, 0x00010101, 0x00010100, 0x00010101, + 0x00000000, 0x00000001, 0x00000000, 0x00000001, + 0x00000100, 0x00000101, 0x00000100, 0x00000101, + 0x00000000, 0x00000001, 0x00000000, 0x00000001, + 0x00000100, 0x00000101, 0x00000100, 0x00000101, + 0x00010000, 0x00010001, 0x00010000, 0x00010001, + 0x00010100, 0x00010101, 0x00010100, 0x00010101, + 0x00010000, 0x00010001, 0x00010000, 0x00010001, + 0x00010100, 0x00010101, 0x00010100, 0x00010101, + 0x01000000, 0x01000001, 0x01000000, 0x01000001, + 0x01000100, 0x01000101, 0x01000100, 0x01000101, + 0x01000000, 0x01000001, 0x01000000, 0x01000001, + 0x01000100, 0x01000101, 0x01000100, 0x01000101, + 0x01010000, 0x01010001, 0x01010000, 0x01010001, + 0x01010100, 0x01010101, 0x01010100, 0x01010101, + 0x01010000, 0x01010001, 0x01010000, 0x01010001, + 0x01010100, 0x01010101, 0x01010100, 0x01010101, + 0x01000000, 0x01000001, 0x01000000, 0x01000001, + 0x01000100, 0x01000101, 0x01000100, 0x01000101, + 0x01000000, 0x01000001, 0x01000000, 0x01000001, + 0x01000100, 0x01000101, 0x01000100, 0x01000101, + 0x01010000, 0x01010001, 0x01010000, 0x01010001, + 0x01010100, 0x01010101, 0x01010100, 0x01010101, + 0x01010000, 0x01010001, 0x01010000, 0x01010001, + 0x01010100, 0x01010101, 0x01010100, 0x01010101, + }, { + 0x00000000, 0x00000002, 0x00000000, 0x00000002, + 0x00000200, 0x00000202, 0x00000200, 0x00000202, + 0x00000000, 0x00000002, 0x00000000, 0x00000002, + 0x00000200, 0x00000202, 0x00000200, 0x00000202, + 0x00020000, 0x00020002, 0x00020000, 0x00020002, + 0x00020200, 0x00020202, 0x00020200, 0x00020202, + 0x00020000, 0x00020002, 0x00020000, 0x00020002, + 0x00020200, 0x00020202, 0x00020200, 0x00020202, + 0x00000000, 0x00000002, 0x00000000, 0x00000002, + 0x00000200, 0x00000202, 0x00000200, 0x00000202, + 0x00000000, 0x00000002, 0x00000000, 0x00000002, + 0x00000200, 0x00000202, 0x00000200, 0x00000202, + 0x00020000, 0x00020002, 0x00020000, 0x00020002, + 0x00020200, 0x00020202, 0x00020200, 0x00020202, + 0x00020000, 0x00020002, 0x00020000, 0x00020002, + 0x00020200, 0x00020202, 0x00020200, 0x00020202, + 0x02000000, 0x02000002, 0x02000000, 0x02000002, + 0x02000200, 0x02000202, 0x02000200, 0x02000202, + 0x02000000, 0x02000002, 0x02000000, 0x02000002, + 0x02000200, 0x02000202, 0x02000200, 0x02000202, + 0x02020000, 0x02020002, 0x02020000, 0x02020002, + 0x02020200, 0x02020202, 0x02020200, 0x02020202, + 0x02020000, 0x02020002, 0x02020000, 0x02020002, + 0x02020200, 0x02020202, 0x02020200, 0x02020202, + 0x02000000, 0x02000002, 0x02000000, 0x02000002, + 0x02000200, 0x02000202, 0x02000200, 0x02000202, + 0x02000000, 0x02000002, 0x02000000, 0x02000002, + 0x02000200, 0x02000202, 0x02000200, 0x02000202, + 0x02020000, 0x02020002, 0x02020000, 0x02020002, + 0x02020200, 0x02020202, 0x02020200, 0x02020202, + 0x02020000, 0x02020002, 0x02020000, 0x02020002, + 0x02020200, 0x02020202, 0x02020200, 0x02020202, + 0x00000000, 0x00000002, 0x00000000, 0x00000002, + 0x00000200, 0x00000202, 0x00000200, 0x00000202, + 0x00000000, 0x00000002, 0x00000000, 0x00000002, + 0x00000200, 0x00000202, 0x00000200, 0x00000202, + 0x00020000, 0x00020002, 0x00020000, 0x00020002, + 0x00020200, 0x00020202, 0x00020200, 0x00020202, + 0x00020000, 0x00020002, 0x00020000, 0x00020002, + 0x00020200, 0x00020202, 0x00020200, 0x00020202, + 0x00000000, 0x00000002, 0x00000000, 0x00000002, + 0x00000200, 0x00000202, 0x00000200, 0x00000202, + 0x00000000, 0x00000002, 0x00000000, 0x00000002, + 0x00000200, 0x00000202, 0x00000200, 0x00000202, + 0x00020000, 0x00020002, 0x00020000, 0x00020002, + 0x00020200, 0x00020202, 0x00020200, 0x00020202, + 0x00020000, 0x00020002, 0x00020000, 0x00020002, + 0x00020200, 0x00020202, 0x00020200, 0x00020202, + 0x02000000, 0x02000002, 0x02000000, 0x02000002, + 0x02000200, 0x02000202, 0x02000200, 0x02000202, + 0x02000000, 0x02000002, 0x02000000, 0x02000002, + 0x02000200, 0x02000202, 0x02000200, 0x02000202, + 0x02020000, 0x02020002, 0x02020000, 0x02020002, + 0x02020200, 0x02020202, 0x02020200, 0x02020202, + 0x02020000, 0x02020002, 0x02020000, 0x02020002, + 0x02020200, 0x02020202, 0x02020200, 0x02020202, + 0x02000000, 0x02000002, 0x02000000, 0x02000002, + 0x02000200, 0x02000202, 0x02000200, 0x02000202, + 0x02000000, 0x02000002, 0x02000000, 0x02000002, + 0x02000200, 0x02000202, 0x02000200, 0x02000202, + 0x02020000, 0x02020002, 0x02020000, 0x02020002, + 0x02020200, 0x02020202, 0x02020200, 0x02020202, + 0x02020000, 0x02020002, 0x02020000, 0x02020002, + 0x02020200, 0x02020202, 0x02020200, 0x02020202, + }, { + 0x00000000, 0x00000004, 0x00000000, 0x00000004, + 0x00000400, 0x00000404, 0x00000400, 0x00000404, + 0x00000000, 0x00000004, 0x00000000, 0x00000004, + 0x00000400, 0x00000404, 0x00000400, 0x00000404, + 0x00040000, 0x00040004, 0x00040000, 0x00040004, + 0x00040400, 0x00040404, 0x00040400, 0x00040404, + 0x00040000, 0x00040004, 0x00040000, 0x00040004, + 0x00040400, 0x00040404, 0x00040400, 0x00040404, + 0x00000000, 0x00000004, 0x00000000, 0x00000004, + 0x00000400, 0x00000404, 0x00000400, 0x00000404, + 0x00000000, 0x00000004, 0x00000000, 0x00000004, + 0x00000400, 0x00000404, 0x00000400, 0x00000404, + 0x00040000, 0x00040004, 0x00040000, 0x00040004, + 0x00040400, 0x00040404, 0x00040400, 0x00040404, + 0x00040000, 0x00040004, 0x00040000, 0x00040004, + 0x00040400, 0x00040404, 0x00040400, 0x00040404, + 0x04000000, 0x04000004, 0x04000000, 0x04000004, + 0x04000400, 0x04000404, 0x04000400, 0x04000404, + 0x04000000, 0x04000004, 0x04000000, 0x04000004, + 0x04000400, 0x04000404, 0x04000400, 0x04000404, + 0x04040000, 0x04040004, 0x04040000, 0x04040004, + 0x04040400, 0x04040404, 0x04040400, 0x04040404, + 0x04040000, 0x04040004, 0x04040000, 0x04040004, + 0x04040400, 0x04040404, 0x04040400, 0x04040404, + 0x04000000, 0x04000004, 0x04000000, 0x04000004, + 0x04000400, 0x04000404, 0x04000400, 0x04000404, + 0x04000000, 0x04000004, 0x04000000, 0x04000004, + 0x04000400, 0x04000404, 0x04000400, 0x04000404, + 0x04040000, 0x04040004, 0x04040000, 0x04040004, + 0x04040400, 0x04040404, 0x04040400, 0x04040404, + 0x04040000, 0x04040004, 0x04040000, 0x04040004, + 0x04040400, 0x04040404, 0x04040400, 0x04040404, + 0x00000000, 0x00000004, 0x00000000, 0x00000004, + 0x00000400, 0x00000404, 0x00000400, 0x00000404, + 0x00000000, 0x00000004, 0x00000000, 0x00000004, + 0x00000400, 0x00000404, 0x00000400, 0x00000404, + 0x00040000, 0x00040004, 0x00040000, 0x00040004, + 0x00040400, 0x00040404, 0x00040400, 0x00040404, + 0x00040000, 0x00040004, 0x00040000, 0x00040004, + 0x00040400, 0x00040404, 0x00040400, 0x00040404, + 0x00000000, 0x00000004, 0x00000000, 0x00000004, + 0x00000400, 0x00000404, 0x00000400, 0x00000404, + 0x00000000, 0x00000004, 0x00000000, 0x00000004, + 0x00000400, 0x00000404, 0x00000400, 0x00000404, + 0x00040000, 0x00040004, 0x00040000, 0x00040004, + 0x00040400, 0x00040404, 0x00040400, 0x00040404, + 0x00040000, 0x00040004, 0x00040000, 0x00040004, + 0x00040400, 0x00040404, 0x00040400, 0x00040404, + 0x04000000, 0x04000004, 0x04000000, 0x04000004, + 0x04000400, 0x04000404, 0x04000400, 0x04000404, + 0x04000000, 0x04000004, 0x04000000, 0x04000004, + 0x04000400, 0x04000404, 0x04000400, 0x04000404, + 0x04040000, 0x04040004, 0x04040000, 0x04040004, + 0x04040400, 0x04040404, 0x04040400, 0x04040404, + 0x04040000, 0x04040004, 0x04040000, 0x04040004, + 0x04040400, 0x04040404, 0x04040400, 0x04040404, + 0x04000000, 0x04000004, 0x04000000, 0x04000004, + 0x04000400, 0x04000404, 0x04000400, 0x04000404, + 0x04000000, 0x04000004, 0x04000000, 0x04000004, + 0x04000400, 0x04000404, 0x04000400, 0x04000404, + 0x04040000, 0x04040004, 0x04040000, 0x04040004, + 0x04040400, 0x04040404, 0x04040400, 0x04040404, + 0x04040000, 0x04040004, 0x04040000, 0x04040004, + 0x04040400, 0x04040404, 0x04040400, 0x04040404, + }, { + 0x00000000, 0x00000008, 0x00000000, 0x00000008, + 0x00000800, 0x00000808, 0x00000800, 0x00000808, + 0x00000000, 0x00000008, 0x00000000, 0x00000008, + 0x00000800, 0x00000808, 0x00000800, 0x00000808, + 0x00080000, 0x00080008, 0x00080000, 0x00080008, + 0x00080800, 0x00080808, 0x00080800, 0x00080808, + 0x00080000, 0x00080008, 0x00080000, 0x00080008, + 0x00080800, 0x00080808, 0x00080800, 0x00080808, + 0x00000000, 0x00000008, 0x00000000, 0x00000008, + 0x00000800, 0x00000808, 0x00000800, 0x00000808, + 0x00000000, 0x00000008, 0x00000000, 0x00000008, + 0x00000800, 0x00000808, 0x00000800, 0x00000808, + 0x00080000, 0x00080008, 0x00080000, 0x00080008, + 0x00080800, 0x00080808, 0x00080800, 0x00080808, + 0x00080000, 0x00080008, 0x00080000, 0x00080008, + 0x00080800, 0x00080808, 0x00080800, 0x00080808, + 0x08000000, 0x08000008, 0x08000000, 0x08000008, + 0x08000800, 0x08000808, 0x08000800, 0x08000808, + 0x08000000, 0x08000008, 0x08000000, 0x08000008, + 0x08000800, 0x08000808, 0x08000800, 0x08000808, + 0x08080000, 0x08080008, 0x08080000, 0x08080008, + 0x08080800, 0x08080808, 0x08080800, 0x08080808, + 0x08080000, 0x08080008, 0x08080000, 0x08080008, + 0x08080800, 0x08080808, 0x08080800, 0x08080808, + 0x08000000, 0x08000008, 0x08000000, 0x08000008, + 0x08000800, 0x08000808, 0x08000800, 0x08000808, + 0x08000000, 0x08000008, 0x08000000, 0x08000008, + 0x08000800, 0x08000808, 0x08000800, 0x08000808, + 0x08080000, 0x08080008, 0x08080000, 0x08080008, + 0x08080800, 0x08080808, 0x08080800, 0x08080808, + 0x08080000, 0x08080008, 0x08080000, 0x08080008, + 0x08080800, 0x08080808, 0x08080800, 0x08080808, + 0x00000000, 0x00000008, 0x00000000, 0x00000008, + 0x00000800, 0x00000808, 0x00000800, 0x00000808, + 0x00000000, 0x00000008, 0x00000000, 0x00000008, + 0x00000800, 0x00000808, 0x00000800, 0x00000808, + 0x00080000, 0x00080008, 0x00080000, 0x00080008, + 0x00080800, 0x00080808, 0x00080800, 0x00080808, + 0x00080000, 0x00080008, 0x00080000, 0x00080008, + 0x00080800, 0x00080808, 0x00080800, 0x00080808, + 0x00000000, 0x00000008, 0x00000000, 0x00000008, + 0x00000800, 0x00000808, 0x00000800, 0x00000808, + 0x00000000, 0x00000008, 0x00000000, 0x00000008, + 0x00000800, 0x00000808, 0x00000800, 0x00000808, + 0x00080000, 0x00080008, 0x00080000, 0x00080008, + 0x00080800, 0x00080808, 0x00080800, 0x00080808, + 0x00080000, 0x00080008, 0x00080000, 0x00080008, + 0x00080800, 0x00080808, 0x00080800, 0x00080808, + 0x08000000, 0x08000008, 0x08000000, 0x08000008, + 0x08000800, 0x08000808, 0x08000800, 0x08000808, + 0x08000000, 0x08000008, 0x08000000, 0x08000008, + 0x08000800, 0x08000808, 0x08000800, 0x08000808, + 0x08080000, 0x08080008, 0x08080000, 0x08080008, + 0x08080800, 0x08080808, 0x08080800, 0x08080808, + 0x08080000, 0x08080008, 0x08080000, 0x08080008, + 0x08080800, 0x08080808, 0x08080800, 0x08080808, + 0x08000000, 0x08000008, 0x08000000, 0x08000008, + 0x08000800, 0x08000808, 0x08000800, 0x08000808, + 0x08000000, 0x08000008, 0x08000000, 0x08000008, + 0x08000800, 0x08000808, 0x08000800, 0x08000808, + 0x08080000, 0x08080008, 0x08080000, 0x08080008, + 0x08080800, 0x08080808, 0x08080800, 0x08080808, + 0x08080000, 0x08080008, 0x08080000, 0x08080008, + 0x08080800, 0x08080808, 0x08080800, 0x08080808, + }, { + 0x00000000, 0x00000010, 0x00000000, 0x00000010, + 0x00001000, 0x00001010, 0x00001000, 0x00001010, + 0x00000000, 0x00000010, 0x00000000, 0x00000010, + 0x00001000, 0x00001010, 0x00001000, 0x00001010, + 0x00100000, 0x00100010, 0x00100000, 0x00100010, + 0x00101000, 0x00101010, 0x00101000, 0x00101010, + 0x00100000, 0x00100010, 0x00100000, 0x00100010, + 0x00101000, 0x00101010, 0x00101000, 0x00101010, + 0x00000000, 0x00000010, 0x00000000, 0x00000010, + 0x00001000, 0x00001010, 0x00001000, 0x00001010, + 0x00000000, 0x00000010, 0x00000000, 0x00000010, + 0x00001000, 0x00001010, 0x00001000, 0x00001010, + 0x00100000, 0x00100010, 0x00100000, 0x00100010, + 0x00101000, 0x00101010, 0x00101000, 0x00101010, + 0x00100000, 0x00100010, 0x00100000, 0x00100010, + 0x00101000, 0x00101010, 0x00101000, 0x00101010, + 0x10000000, 0x10000010, 0x10000000, 0x10000010, + 0x10001000, 0x10001010, 0x10001000, 0x10001010, + 0x10000000, 0x10000010, 0x10000000, 0x10000010, + 0x10001000, 0x10001010, 0x10001000, 0x10001010, + 0x10100000, 0x10100010, 0x10100000, 0x10100010, + 0x10101000, 0x10101010, 0x10101000, 0x10101010, + 0x10100000, 0x10100010, 0x10100000, 0x10100010, + 0x10101000, 0x10101010, 0x10101000, 0x10101010, + 0x10000000, 0x10000010, 0x10000000, 0x10000010, + 0x10001000, 0x10001010, 0x10001000, 0x10001010, + 0x10000000, 0x10000010, 0x10000000, 0x10000010, + 0x10001000, 0x10001010, 0x10001000, 0x10001010, + 0x10100000, 0x10100010, 0x10100000, 0x10100010, + 0x10101000, 0x10101010, 0x10101000, 0x10101010, + 0x10100000, 0x10100010, 0x10100000, 0x10100010, + 0x10101000, 0x10101010, 0x10101000, 0x10101010, + 0x00000000, 0x00000010, 0x00000000, 0x00000010, + 0x00001000, 0x00001010, 0x00001000, 0x00001010, + 0x00000000, 0x00000010, 0x00000000, 0x00000010, + 0x00001000, 0x00001010, 0x00001000, 0x00001010, + 0x00100000, 0x00100010, 0x00100000, 0x00100010, + 0x00101000, 0x00101010, 0x00101000, 0x00101010, + 0x00100000, 0x00100010, 0x00100000, 0x00100010, + 0x00101000, 0x00101010, 0x00101000, 0x00101010, + 0x00000000, 0x00000010, 0x00000000, 0x00000010, + 0x00001000, 0x00001010, 0x00001000, 0x00001010, + 0x00000000, 0x00000010, 0x00000000, 0x00000010, + 0x00001000, 0x00001010, 0x00001000, 0x00001010, + 0x00100000, 0x00100010, 0x00100000, 0x00100010, + 0x00101000, 0x00101010, 0x00101000, 0x00101010, + 0x00100000, 0x00100010, 0x00100000, 0x00100010, + 0x00101000, 0x00101010, 0x00101000, 0x00101010, + 0x10000000, 0x10000010, 0x10000000, 0x10000010, + 0x10001000, 0x10001010, 0x10001000, 0x10001010, + 0x10000000, 0x10000010, 0x10000000, 0x10000010, + 0x10001000, 0x10001010, 0x10001000, 0x10001010, + 0x10100000, 0x10100010, 0x10100000, 0x10100010, + 0x10101000, 0x10101010, 0x10101000, 0x10101010, + 0x10100000, 0x10100010, 0x10100000, 0x10100010, + 0x10101000, 0x10101010, 0x10101000, 0x10101010, + 0x10000000, 0x10000010, 0x10000000, 0x10000010, + 0x10001000, 0x10001010, 0x10001000, 0x10001010, + 0x10000000, 0x10000010, 0x10000000, 0x10000010, + 0x10001000, 0x10001010, 0x10001000, 0x10001010, + 0x10100000, 0x10100010, 0x10100000, 0x10100010, + 0x10101000, 0x10101010, 0x10101000, 0x10101010, + 0x10100000, 0x10100010, 0x10100000, 0x10100010, + 0x10101000, 0x10101010, 0x10101000, 0x10101010, + }, { + 0x00000000, 0x00000020, 0x00000000, 0x00000020, + 0x00002000, 0x00002020, 0x00002000, 0x00002020, + 0x00000000, 0x00000020, 0x00000000, 0x00000020, + 0x00002000, 0x00002020, 0x00002000, 0x00002020, + 0x00200000, 0x00200020, 0x00200000, 0x00200020, + 0x00202000, 0x00202020, 0x00202000, 0x00202020, + 0x00200000, 0x00200020, 0x00200000, 0x00200020, + 0x00202000, 0x00202020, 0x00202000, 0x00202020, + 0x00000000, 0x00000020, 0x00000000, 0x00000020, + 0x00002000, 0x00002020, 0x00002000, 0x00002020, + 0x00000000, 0x00000020, 0x00000000, 0x00000020, + 0x00002000, 0x00002020, 0x00002000, 0x00002020, + 0x00200000, 0x00200020, 0x00200000, 0x00200020, + 0x00202000, 0x00202020, 0x00202000, 0x00202020, + 0x00200000, 0x00200020, 0x00200000, 0x00200020, + 0x00202000, 0x00202020, 0x00202000, 0x00202020, + 0x20000000, 0x20000020, 0x20000000, 0x20000020, + 0x20002000, 0x20002020, 0x20002000, 0x20002020, + 0x20000000, 0x20000020, 0x20000000, 0x20000020, + 0x20002000, 0x20002020, 0x20002000, 0x20002020, + 0x20200000, 0x20200020, 0x20200000, 0x20200020, + 0x20202000, 0x20202020, 0x20202000, 0x20202020, + 0x20200000, 0x20200020, 0x20200000, 0x20200020, + 0x20202000, 0x20202020, 0x20202000, 0x20202020, + 0x20000000, 0x20000020, 0x20000000, 0x20000020, + 0x20002000, 0x20002020, 0x20002000, 0x20002020, + 0x20000000, 0x20000020, 0x20000000, 0x20000020, + 0x20002000, 0x20002020, 0x20002000, 0x20002020, + 0x20200000, 0x20200020, 0x20200000, 0x20200020, + 0x20202000, 0x20202020, 0x20202000, 0x20202020, + 0x20200000, 0x20200020, 0x20200000, 0x20200020, + 0x20202000, 0x20202020, 0x20202000, 0x20202020, + 0x00000000, 0x00000020, 0x00000000, 0x00000020, + 0x00002000, 0x00002020, 0x00002000, 0x00002020, + 0x00000000, 0x00000020, 0x00000000, 0x00000020, + 0x00002000, 0x00002020, 0x00002000, 0x00002020, + 0x00200000, 0x00200020, 0x00200000, 0x00200020, + 0x00202000, 0x00202020, 0x00202000, 0x00202020, + 0x00200000, 0x00200020, 0x00200000, 0x00200020, + 0x00202000, 0x00202020, 0x00202000, 0x00202020, + 0x00000000, 0x00000020, 0x00000000, 0x00000020, + 0x00002000, 0x00002020, 0x00002000, 0x00002020, + 0x00000000, 0x00000020, 0x00000000, 0x00000020, + 0x00002000, 0x00002020, 0x00002000, 0x00002020, + 0x00200000, 0x00200020, 0x00200000, 0x00200020, + 0x00202000, 0x00202020, 0x00202000, 0x00202020, + 0x00200000, 0x00200020, 0x00200000, 0x00200020, + 0x00202000, 0x00202020, 0x00202000, 0x00202020, + 0x20000000, 0x20000020, 0x20000000, 0x20000020, + 0x20002000, 0x20002020, 0x20002000, 0x20002020, + 0x20000000, 0x20000020, 0x20000000, 0x20000020, + 0x20002000, 0x20002020, 0x20002000, 0x20002020, + 0x20200000, 0x20200020, 0x20200000, 0x20200020, + 0x20202000, 0x20202020, 0x20202000, 0x20202020, + 0x20200000, 0x20200020, 0x20200000, 0x20200020, + 0x20202000, 0x20202020, 0x20202000, 0x20202020, + 0x20000000, 0x20000020, 0x20000000, 0x20000020, + 0x20002000, 0x20002020, 0x20002000, 0x20002020, + 0x20000000, 0x20000020, 0x20000000, 0x20000020, + 0x20002000, 0x20002020, 0x20002000, 0x20002020, + 0x20200000, 0x20200020, 0x20200000, 0x20200020, + 0x20202000, 0x20202020, 0x20202000, 0x20202020, + 0x20200000, 0x20200020, 0x20200000, 0x20200020, + 0x20202000, 0x20202020, 0x20202000, 0x20202020, + }, { + 0x00000000, 0x00000040, 0x00000000, 0x00000040, + 0x00004000, 0x00004040, 0x00004000, 0x00004040, + 0x00000000, 0x00000040, 0x00000000, 0x00000040, + 0x00004000, 0x00004040, 0x00004000, 0x00004040, + 0x00400000, 0x00400040, 0x00400000, 0x00400040, + 0x00404000, 0x00404040, 0x00404000, 0x00404040, + 0x00400000, 0x00400040, 0x00400000, 0x00400040, + 0x00404000, 0x00404040, 0x00404000, 0x00404040, + 0x00000000, 0x00000040, 0x00000000, 0x00000040, + 0x00004000, 0x00004040, 0x00004000, 0x00004040, + 0x00000000, 0x00000040, 0x00000000, 0x00000040, + 0x00004000, 0x00004040, 0x00004000, 0x00004040, + 0x00400000, 0x00400040, 0x00400000, 0x00400040, + 0x00404000, 0x00404040, 0x00404000, 0x00404040, + 0x00400000, 0x00400040, 0x00400000, 0x00400040, + 0x00404000, 0x00404040, 0x00404000, 0x00404040, + 0x40000000, 0x40000040, 0x40000000, 0x40000040, + 0x40004000, 0x40004040, 0x40004000, 0x40004040, + 0x40000000, 0x40000040, 0x40000000, 0x40000040, + 0x40004000, 0x40004040, 0x40004000, 0x40004040, + 0x40400000, 0x40400040, 0x40400000, 0x40400040, + 0x40404000, 0x40404040, 0x40404000, 0x40404040, + 0x40400000, 0x40400040, 0x40400000, 0x40400040, + 0x40404000, 0x40404040, 0x40404000, 0x40404040, + 0x40000000, 0x40000040, 0x40000000, 0x40000040, + 0x40004000, 0x40004040, 0x40004000, 0x40004040, + 0x40000000, 0x40000040, 0x40000000, 0x40000040, + 0x40004000, 0x40004040, 0x40004000, 0x40004040, + 0x40400000, 0x40400040, 0x40400000, 0x40400040, + 0x40404000, 0x40404040, 0x40404000, 0x40404040, + 0x40400000, 0x40400040, 0x40400000, 0x40400040, + 0x40404000, 0x40404040, 0x40404000, 0x40404040, + 0x00000000, 0x00000040, 0x00000000, 0x00000040, + 0x00004000, 0x00004040, 0x00004000, 0x00004040, + 0x00000000, 0x00000040, 0x00000000, 0x00000040, + 0x00004000, 0x00004040, 0x00004000, 0x00004040, + 0x00400000, 0x00400040, 0x00400000, 0x00400040, + 0x00404000, 0x00404040, 0x00404000, 0x00404040, + 0x00400000, 0x00400040, 0x00400000, 0x00400040, + 0x00404000, 0x00404040, 0x00404000, 0x00404040, + 0x00000000, 0x00000040, 0x00000000, 0x00000040, + 0x00004000, 0x00004040, 0x00004000, 0x00004040, + 0x00000000, 0x00000040, 0x00000000, 0x00000040, + 0x00004000, 0x00004040, 0x00004000, 0x00004040, + 0x00400000, 0x00400040, 0x00400000, 0x00400040, + 0x00404000, 0x00404040, 0x00404000, 0x00404040, + 0x00400000, 0x00400040, 0x00400000, 0x00400040, + 0x00404000, 0x00404040, 0x00404000, 0x00404040, + 0x40000000, 0x40000040, 0x40000000, 0x40000040, + 0x40004000, 0x40004040, 0x40004000, 0x40004040, + 0x40000000, 0x40000040, 0x40000000, 0x40000040, + 0x40004000, 0x40004040, 0x40004000, 0x40004040, + 0x40400000, 0x40400040, 0x40400000, 0x40400040, + 0x40404000, 0x40404040, 0x40404000, 0x40404040, + 0x40400000, 0x40400040, 0x40400000, 0x40400040, + 0x40404000, 0x40404040, 0x40404000, 0x40404040, + 0x40000000, 0x40000040, 0x40000000, 0x40000040, + 0x40004000, 0x40004040, 0x40004000, 0x40004040, + 0x40000000, 0x40000040, 0x40000000, 0x40000040, + 0x40004000, 0x40004040, 0x40004000, 0x40004040, + 0x40400000, 0x40400040, 0x40400000, 0x40400040, + 0x40404000, 0x40404040, 0x40404000, 0x40404040, + 0x40400000, 0x40400040, 0x40400000, 0x40400040, + 0x40404000, 0x40404040, 0x40404000, 0x40404040, + }, { + 0x00000000, 0x00000080, 0x00000000, 0x00000080, + 0x00008000, 0x00008080, 0x00008000, 0x00008080, + 0x00000000, 0x00000080, 0x00000000, 0x00000080, + 0x00008000, 0x00008080, 0x00008000, 0x00008080, + 0x00800000, 0x00800080, 0x00800000, 0x00800080, + 0x00808000, 0x00808080, 0x00808000, 0x00808080, + 0x00800000, 0x00800080, 0x00800000, 0x00800080, + 0x00808000, 0x00808080, 0x00808000, 0x00808080, + 0x00000000, 0x00000080, 0x00000000, 0x00000080, + 0x00008000, 0x00008080, 0x00008000, 0x00008080, + 0x00000000, 0x00000080, 0x00000000, 0x00000080, + 0x00008000, 0x00008080, 0x00008000, 0x00008080, + 0x00800000, 0x00800080, 0x00800000, 0x00800080, + 0x00808000, 0x00808080, 0x00808000, 0x00808080, + 0x00800000, 0x00800080, 0x00800000, 0x00800080, + 0x00808000, 0x00808080, 0x00808000, 0x00808080, + 0x80000000, 0x80000080, 0x80000000, 0x80000080, + 0x80008000, 0x80008080, 0x80008000, 0x80008080, + 0x80000000, 0x80000080, 0x80000000, 0x80000080, + 0x80008000, 0x80008080, 0x80008000, 0x80008080, + 0x80800000, 0x80800080, 0x80800000, 0x80800080, + 0x80808000, 0x80808080, 0x80808000, 0x80808080, + 0x80800000, 0x80800080, 0x80800000, 0x80800080, + 0x80808000, 0x80808080, 0x80808000, 0x80808080, + 0x80000000, 0x80000080, 0x80000000, 0x80000080, + 0x80008000, 0x80008080, 0x80008000, 0x80008080, + 0x80000000, 0x80000080, 0x80000000, 0x80000080, + 0x80008000, 0x80008080, 0x80008000, 0x80008080, + 0x80800000, 0x80800080, 0x80800000, 0x80800080, + 0x80808000, 0x80808080, 0x80808000, 0x80808080, + 0x80800000, 0x80800080, 0x80800000, 0x80800080, + 0x80808000, 0x80808080, 0x80808000, 0x80808080, + 0x00000000, 0x00000080, 0x00000000, 0x00000080, + 0x00008000, 0x00008080, 0x00008000, 0x00008080, + 0x00000000, 0x00000080, 0x00000000, 0x00000080, + 0x00008000, 0x00008080, 0x00008000, 0x00008080, + 0x00800000, 0x00800080, 0x00800000, 0x00800080, + 0x00808000, 0x00808080, 0x00808000, 0x00808080, + 0x00800000, 0x00800080, 0x00800000, 0x00800080, + 0x00808000, 0x00808080, 0x00808000, 0x00808080, + 0x00000000, 0x00000080, 0x00000000, 0x00000080, + 0x00008000, 0x00008080, 0x00008000, 0x00008080, + 0x00000000, 0x00000080, 0x00000000, 0x00000080, + 0x00008000, 0x00008080, 0x00008000, 0x00008080, + 0x00800000, 0x00800080, 0x00800000, 0x00800080, + 0x00808000, 0x00808080, 0x00808000, 0x00808080, + 0x00800000, 0x00800080, 0x00800000, 0x00800080, + 0x00808000, 0x00808080, 0x00808000, 0x00808080, + 0x80000000, 0x80000080, 0x80000000, 0x80000080, + 0x80008000, 0x80008080, 0x80008000, 0x80008080, + 0x80000000, 0x80000080, 0x80000000, 0x80000080, + 0x80008000, 0x80008080, 0x80008000, 0x80008080, + 0x80800000, 0x80800080, 0x80800000, 0x80800080, + 0x80808000, 0x80808080, 0x80808000, 0x80808080, + 0x80800000, 0x80800080, 0x80800000, 0x80800080, + 0x80808000, 0x80808080, 0x80808000, 0x80808080, + 0x80000000, 0x80000080, 0x80000000, 0x80000080, + 0x80008000, 0x80008080, 0x80008000, 0x80008080, + 0x80000000, 0x80000080, 0x80000000, 0x80000080, + 0x80008000, 0x80008080, 0x80008000, 0x80008080, + 0x80800000, 0x80800080, 0x80800000, 0x80800080, + 0x80808000, 0x80808080, 0x80808000, 0x80808080, + 0x80800000, 0x80800080, 0x80800000, 0x80800080, + 0x80808000, 0x80808080, 0x80808000, 0x80808080, + } +}; +static const u_int32_t ip_maskr[8][256] = { + { + 0x00000000, 0x00000000, 0x00000001, 0x00000001, + 0x00000000, 0x00000000, 0x00000001, 0x00000001, + 0x00000100, 0x00000100, 0x00000101, 0x00000101, + 0x00000100, 0x00000100, 0x00000101, 0x00000101, + 0x00000000, 0x00000000, 0x00000001, 0x00000001, + 0x00000000, 0x00000000, 0x00000001, 0x00000001, + 0x00000100, 0x00000100, 0x00000101, 0x00000101, + 0x00000100, 0x00000100, 0x00000101, 0x00000101, + 0x00010000, 0x00010000, 0x00010001, 0x00010001, + 0x00010000, 0x00010000, 0x00010001, 0x00010001, + 0x00010100, 0x00010100, 0x00010101, 0x00010101, + 0x00010100, 0x00010100, 0x00010101, 0x00010101, + 0x00010000, 0x00010000, 0x00010001, 0x00010001, + 0x00010000, 0x00010000, 0x00010001, 0x00010001, + 0x00010100, 0x00010100, 0x00010101, 0x00010101, + 0x00010100, 0x00010100, 0x00010101, 0x00010101, + 0x00000000, 0x00000000, 0x00000001, 0x00000001, + 0x00000000, 0x00000000, 0x00000001, 0x00000001, + 0x00000100, 0x00000100, 0x00000101, 0x00000101, + 0x00000100, 0x00000100, 0x00000101, 0x00000101, + 0x00000000, 0x00000000, 0x00000001, 0x00000001, + 0x00000000, 0x00000000, 0x00000001, 0x00000001, + 0x00000100, 0x00000100, 0x00000101, 0x00000101, + 0x00000100, 0x00000100, 0x00000101, 0x00000101, + 0x00010000, 0x00010000, 0x00010001, 0x00010001, + 0x00010000, 0x00010000, 0x00010001, 0x00010001, + 0x00010100, 0x00010100, 0x00010101, 0x00010101, + 0x00010100, 0x00010100, 0x00010101, 0x00010101, + 0x00010000, 0x00010000, 0x00010001, 0x00010001, + 0x00010000, 0x00010000, 0x00010001, 0x00010001, + 0x00010100, 0x00010100, 0x00010101, 0x00010101, + 0x00010100, 0x00010100, 0x00010101, 0x00010101, + 0x01000000, 0x01000000, 0x01000001, 0x01000001, + 0x01000000, 0x01000000, 0x01000001, 0x01000001, + 0x01000100, 0x01000100, 0x01000101, 0x01000101, + 0x01000100, 0x01000100, 0x01000101, 0x01000101, + 0x01000000, 0x01000000, 0x01000001, 0x01000001, + 0x01000000, 0x01000000, 0x01000001, 0x01000001, + 0x01000100, 0x01000100, 0x01000101, 0x01000101, + 0x01000100, 0x01000100, 0x01000101, 0x01000101, + 0x01010000, 0x01010000, 0x01010001, 0x01010001, + 0x01010000, 0x01010000, 0x01010001, 0x01010001, + 0x01010100, 0x01010100, 0x01010101, 0x01010101, + 0x01010100, 0x01010100, 0x01010101, 0x01010101, + 0x01010000, 0x01010000, 0x01010001, 0x01010001, + 0x01010000, 0x01010000, 0x01010001, 0x01010001, + 0x01010100, 0x01010100, 0x01010101, 0x01010101, + 0x01010100, 0x01010100, 0x01010101, 0x01010101, + 0x01000000, 0x01000000, 0x01000001, 0x01000001, + 0x01000000, 0x01000000, 0x01000001, 0x01000001, + 0x01000100, 0x01000100, 0x01000101, 0x01000101, + 0x01000100, 0x01000100, 0x01000101, 0x01000101, + 0x01000000, 0x01000000, 0x01000001, 0x01000001, + 0x01000000, 0x01000000, 0x01000001, 0x01000001, + 0x01000100, 0x01000100, 0x01000101, 0x01000101, + 0x01000100, 0x01000100, 0x01000101, 0x01000101, + 0x01010000, 0x01010000, 0x01010001, 0x01010001, + 0x01010000, 0x01010000, 0x01010001, 0x01010001, + 0x01010100, 0x01010100, 0x01010101, 0x01010101, + 0x01010100, 0x01010100, 0x01010101, 0x01010101, + 0x01010000, 0x01010000, 0x01010001, 0x01010001, + 0x01010000, 0x01010000, 0x01010001, 0x01010001, + 0x01010100, 0x01010100, 0x01010101, 0x01010101, + 0x01010100, 0x01010100, 0x01010101, 0x01010101, + }, { + 0x00000000, 0x00000000, 0x00000002, 0x00000002, + 0x00000000, 0x00000000, 0x00000002, 0x00000002, + 0x00000200, 0x00000200, 0x00000202, 0x00000202, + 0x00000200, 0x00000200, 0x00000202, 0x00000202, + 0x00000000, 0x00000000, 0x00000002, 0x00000002, + 0x00000000, 0x00000000, 0x00000002, 0x00000002, + 0x00000200, 0x00000200, 0x00000202, 0x00000202, + 0x00000200, 0x00000200, 0x00000202, 0x00000202, + 0x00020000, 0x00020000, 0x00020002, 0x00020002, + 0x00020000, 0x00020000, 0x00020002, 0x00020002, + 0x00020200, 0x00020200, 0x00020202, 0x00020202, + 0x00020200, 0x00020200, 0x00020202, 0x00020202, + 0x00020000, 0x00020000, 0x00020002, 0x00020002, + 0x00020000, 0x00020000, 0x00020002, 0x00020002, + 0x00020200, 0x00020200, 0x00020202, 0x00020202, + 0x00020200, 0x00020200, 0x00020202, 0x00020202, + 0x00000000, 0x00000000, 0x00000002, 0x00000002, + 0x00000000, 0x00000000, 0x00000002, 0x00000002, + 0x00000200, 0x00000200, 0x00000202, 0x00000202, + 0x00000200, 0x00000200, 0x00000202, 0x00000202, + 0x00000000, 0x00000000, 0x00000002, 0x00000002, + 0x00000000, 0x00000000, 0x00000002, 0x00000002, + 0x00000200, 0x00000200, 0x00000202, 0x00000202, + 0x00000200, 0x00000200, 0x00000202, 0x00000202, + 0x00020000, 0x00020000, 0x00020002, 0x00020002, + 0x00020000, 0x00020000, 0x00020002, 0x00020002, + 0x00020200, 0x00020200, 0x00020202, 0x00020202, + 0x00020200, 0x00020200, 0x00020202, 0x00020202, + 0x00020000, 0x00020000, 0x00020002, 0x00020002, + 0x00020000, 0x00020000, 0x00020002, 0x00020002, + 0x00020200, 0x00020200, 0x00020202, 0x00020202, + 0x00020200, 0x00020200, 0x00020202, 0x00020202, + 0x02000000, 0x02000000, 0x02000002, 0x02000002, + 0x02000000, 0x02000000, 0x02000002, 0x02000002, + 0x02000200, 0x02000200, 0x02000202, 0x02000202, + 0x02000200, 0x02000200, 0x02000202, 0x02000202, + 0x02000000, 0x02000000, 0x02000002, 0x02000002, + 0x02000000, 0x02000000, 0x02000002, 0x02000002, + 0x02000200, 0x02000200, 0x02000202, 0x02000202, + 0x02000200, 0x02000200, 0x02000202, 0x02000202, + 0x02020000, 0x02020000, 0x02020002, 0x02020002, + 0x02020000, 0x02020000, 0x02020002, 0x02020002, + 0x02020200, 0x02020200, 0x02020202, 0x02020202, + 0x02020200, 0x02020200, 0x02020202, 0x02020202, + 0x02020000, 0x02020000, 0x02020002, 0x02020002, + 0x02020000, 0x02020000, 0x02020002, 0x02020002, + 0x02020200, 0x02020200, 0x02020202, 0x02020202, + 0x02020200, 0x02020200, 0x02020202, 0x02020202, + 0x02000000, 0x02000000, 0x02000002, 0x02000002, + 0x02000000, 0x02000000, 0x02000002, 0x02000002, + 0x02000200, 0x02000200, 0x02000202, 0x02000202, + 0x02000200, 0x02000200, 0x02000202, 0x02000202, + 0x02000000, 0x02000000, 0x02000002, 0x02000002, + 0x02000000, 0x02000000, 0x02000002, 0x02000002, + 0x02000200, 0x02000200, 0x02000202, 0x02000202, + 0x02000200, 0x02000200, 0x02000202, 0x02000202, + 0x02020000, 0x02020000, 0x02020002, 0x02020002, + 0x02020000, 0x02020000, 0x02020002, 0x02020002, + 0x02020200, 0x02020200, 0x02020202, 0x02020202, + 0x02020200, 0x02020200, 0x02020202, 0x02020202, + 0x02020000, 0x02020000, 0x02020002, 0x02020002, + 0x02020000, 0x02020000, 0x02020002, 0x02020002, + 0x02020200, 0x02020200, 0x02020202, 0x02020202, + 0x02020200, 0x02020200, 0x02020202, 0x02020202, + }, { + 0x00000000, 0x00000000, 0x00000004, 0x00000004, + 0x00000000, 0x00000000, 0x00000004, 0x00000004, + 0x00000400, 0x00000400, 0x00000404, 0x00000404, + 0x00000400, 0x00000400, 0x00000404, 0x00000404, + 0x00000000, 0x00000000, 0x00000004, 0x00000004, + 0x00000000, 0x00000000, 0x00000004, 0x00000004, + 0x00000400, 0x00000400, 0x00000404, 0x00000404, + 0x00000400, 0x00000400, 0x00000404, 0x00000404, + 0x00040000, 0x00040000, 0x00040004, 0x00040004, + 0x00040000, 0x00040000, 0x00040004, 0x00040004, + 0x00040400, 0x00040400, 0x00040404, 0x00040404, + 0x00040400, 0x00040400, 0x00040404, 0x00040404, + 0x00040000, 0x00040000, 0x00040004, 0x00040004, + 0x00040000, 0x00040000, 0x00040004, 0x00040004, + 0x00040400, 0x00040400, 0x00040404, 0x00040404, + 0x00040400, 0x00040400, 0x00040404, 0x00040404, + 0x00000000, 0x00000000, 0x00000004, 0x00000004, + 0x00000000, 0x00000000, 0x00000004, 0x00000004, + 0x00000400, 0x00000400, 0x00000404, 0x00000404, + 0x00000400, 0x00000400, 0x00000404, 0x00000404, + 0x00000000, 0x00000000, 0x00000004, 0x00000004, + 0x00000000, 0x00000000, 0x00000004, 0x00000004, + 0x00000400, 0x00000400, 0x00000404, 0x00000404, + 0x00000400, 0x00000400, 0x00000404, 0x00000404, + 0x00040000, 0x00040000, 0x00040004, 0x00040004, + 0x00040000, 0x00040000, 0x00040004, 0x00040004, + 0x00040400, 0x00040400, 0x00040404, 0x00040404, + 0x00040400, 0x00040400, 0x00040404, 0x00040404, + 0x00040000, 0x00040000, 0x00040004, 0x00040004, + 0x00040000, 0x00040000, 0x00040004, 0x00040004, + 0x00040400, 0x00040400, 0x00040404, 0x00040404, + 0x00040400, 0x00040400, 0x00040404, 0x00040404, + 0x04000000, 0x04000000, 0x04000004, 0x04000004, + 0x04000000, 0x04000000, 0x04000004, 0x04000004, + 0x04000400, 0x04000400, 0x04000404, 0x04000404, + 0x04000400, 0x04000400, 0x04000404, 0x04000404, + 0x04000000, 0x04000000, 0x04000004, 0x04000004, + 0x04000000, 0x04000000, 0x04000004, 0x04000004, + 0x04000400, 0x04000400, 0x04000404, 0x04000404, + 0x04000400, 0x04000400, 0x04000404, 0x04000404, + 0x04040000, 0x04040000, 0x04040004, 0x04040004, + 0x04040000, 0x04040000, 0x04040004, 0x04040004, + 0x04040400, 0x04040400, 0x04040404, 0x04040404, + 0x04040400, 0x04040400, 0x04040404, 0x04040404, + 0x04040000, 0x04040000, 0x04040004, 0x04040004, + 0x04040000, 0x04040000, 0x04040004, 0x04040004, + 0x04040400, 0x04040400, 0x04040404, 0x04040404, + 0x04040400, 0x04040400, 0x04040404, 0x04040404, + 0x04000000, 0x04000000, 0x04000004, 0x04000004, + 0x04000000, 0x04000000, 0x04000004, 0x04000004, + 0x04000400, 0x04000400, 0x04000404, 0x04000404, + 0x04000400, 0x04000400, 0x04000404, 0x04000404, + 0x04000000, 0x04000000, 0x04000004, 0x04000004, + 0x04000000, 0x04000000, 0x04000004, 0x04000004, + 0x04000400, 0x04000400, 0x04000404, 0x04000404, + 0x04000400, 0x04000400, 0x04000404, 0x04000404, + 0x04040000, 0x04040000, 0x04040004, 0x04040004, + 0x04040000, 0x04040000, 0x04040004, 0x04040004, + 0x04040400, 0x04040400, 0x04040404, 0x04040404, + 0x04040400, 0x04040400, 0x04040404, 0x04040404, + 0x04040000, 0x04040000, 0x04040004, 0x04040004, + 0x04040000, 0x04040000, 0x04040004, 0x04040004, + 0x04040400, 0x04040400, 0x04040404, 0x04040404, + 0x04040400, 0x04040400, 0x04040404, 0x04040404, + }, { + 0x00000000, 0x00000000, 0x00000008, 0x00000008, + 0x00000000, 0x00000000, 0x00000008, 0x00000008, + 0x00000800, 0x00000800, 0x00000808, 0x00000808, + 0x00000800, 0x00000800, 0x00000808, 0x00000808, + 0x00000000, 0x00000000, 0x00000008, 0x00000008, + 0x00000000, 0x00000000, 0x00000008, 0x00000008, + 0x00000800, 0x00000800, 0x00000808, 0x00000808, + 0x00000800, 0x00000800, 0x00000808, 0x00000808, + 0x00080000, 0x00080000, 0x00080008, 0x00080008, + 0x00080000, 0x00080000, 0x00080008, 0x00080008, + 0x00080800, 0x00080800, 0x00080808, 0x00080808, + 0x00080800, 0x00080800, 0x00080808, 0x00080808, + 0x00080000, 0x00080000, 0x00080008, 0x00080008, + 0x00080000, 0x00080000, 0x00080008, 0x00080008, + 0x00080800, 0x00080800, 0x00080808, 0x00080808, + 0x00080800, 0x00080800, 0x00080808, 0x00080808, + 0x00000000, 0x00000000, 0x00000008, 0x00000008, + 0x00000000, 0x00000000, 0x00000008, 0x00000008, + 0x00000800, 0x00000800, 0x00000808, 0x00000808, + 0x00000800, 0x00000800, 0x00000808, 0x00000808, + 0x00000000, 0x00000000, 0x00000008, 0x00000008, + 0x00000000, 0x00000000, 0x00000008, 0x00000008, + 0x00000800, 0x00000800, 0x00000808, 0x00000808, + 0x00000800, 0x00000800, 0x00000808, 0x00000808, + 0x00080000, 0x00080000, 0x00080008, 0x00080008, + 0x00080000, 0x00080000, 0x00080008, 0x00080008, + 0x00080800, 0x00080800, 0x00080808, 0x00080808, + 0x00080800, 0x00080800, 0x00080808, 0x00080808, + 0x00080000, 0x00080000, 0x00080008, 0x00080008, + 0x00080000, 0x00080000, 0x00080008, 0x00080008, + 0x00080800, 0x00080800, 0x00080808, 0x00080808, + 0x00080800, 0x00080800, 0x00080808, 0x00080808, + 0x08000000, 0x08000000, 0x08000008, 0x08000008, + 0x08000000, 0x08000000, 0x08000008, 0x08000008, + 0x08000800, 0x08000800, 0x08000808, 0x08000808, + 0x08000800, 0x08000800, 0x08000808, 0x08000808, + 0x08000000, 0x08000000, 0x08000008, 0x08000008, + 0x08000000, 0x08000000, 0x08000008, 0x08000008, + 0x08000800, 0x08000800, 0x08000808, 0x08000808, + 0x08000800, 0x08000800, 0x08000808, 0x08000808, + 0x08080000, 0x08080000, 0x08080008, 0x08080008, + 0x08080000, 0x08080000, 0x08080008, 0x08080008, + 0x08080800, 0x08080800, 0x08080808, 0x08080808, + 0x08080800, 0x08080800, 0x08080808, 0x08080808, + 0x08080000, 0x08080000, 0x08080008, 0x08080008, + 0x08080000, 0x08080000, 0x08080008, 0x08080008, + 0x08080800, 0x08080800, 0x08080808, 0x08080808, + 0x08080800, 0x08080800, 0x08080808, 0x08080808, + 0x08000000, 0x08000000, 0x08000008, 0x08000008, + 0x08000000, 0x08000000, 0x08000008, 0x08000008, + 0x08000800, 0x08000800, 0x08000808, 0x08000808, + 0x08000800, 0x08000800, 0x08000808, 0x08000808, + 0x08000000, 0x08000000, 0x08000008, 0x08000008, + 0x08000000, 0x08000000, 0x08000008, 0x08000008, + 0x08000800, 0x08000800, 0x08000808, 0x08000808, + 0x08000800, 0x08000800, 0x08000808, 0x08000808, + 0x08080000, 0x08080000, 0x08080008, 0x08080008, + 0x08080000, 0x08080000, 0x08080008, 0x08080008, + 0x08080800, 0x08080800, 0x08080808, 0x08080808, + 0x08080800, 0x08080800, 0x08080808, 0x08080808, + 0x08080000, 0x08080000, 0x08080008, 0x08080008, + 0x08080000, 0x08080000, 0x08080008, 0x08080008, + 0x08080800, 0x08080800, 0x08080808, 0x08080808, + 0x08080800, 0x08080800, 0x08080808, 0x08080808, + }, { + 0x00000000, 0x00000000, 0x00000010, 0x00000010, + 0x00000000, 0x00000000, 0x00000010, 0x00000010, + 0x00001000, 0x00001000, 0x00001010, 0x00001010, + 0x00001000, 0x00001000, 0x00001010, 0x00001010, + 0x00000000, 0x00000000, 0x00000010, 0x00000010, + 0x00000000, 0x00000000, 0x00000010, 0x00000010, + 0x00001000, 0x00001000, 0x00001010, 0x00001010, + 0x00001000, 0x00001000, 0x00001010, 0x00001010, + 0x00100000, 0x00100000, 0x00100010, 0x00100010, + 0x00100000, 0x00100000, 0x00100010, 0x00100010, + 0x00101000, 0x00101000, 0x00101010, 0x00101010, + 0x00101000, 0x00101000, 0x00101010, 0x00101010, + 0x00100000, 0x00100000, 0x00100010, 0x00100010, + 0x00100000, 0x00100000, 0x00100010, 0x00100010, + 0x00101000, 0x00101000, 0x00101010, 0x00101010, + 0x00101000, 0x00101000, 0x00101010, 0x00101010, + 0x00000000, 0x00000000, 0x00000010, 0x00000010, + 0x00000000, 0x00000000, 0x00000010, 0x00000010, + 0x00001000, 0x00001000, 0x00001010, 0x00001010, + 0x00001000, 0x00001000, 0x00001010, 0x00001010, + 0x00000000, 0x00000000, 0x00000010, 0x00000010, + 0x00000000, 0x00000000, 0x00000010, 0x00000010, + 0x00001000, 0x00001000, 0x00001010, 0x00001010, + 0x00001000, 0x00001000, 0x00001010, 0x00001010, + 0x00100000, 0x00100000, 0x00100010, 0x00100010, + 0x00100000, 0x00100000, 0x00100010, 0x00100010, + 0x00101000, 0x00101000, 0x00101010, 0x00101010, + 0x00101000, 0x00101000, 0x00101010, 0x00101010, + 0x00100000, 0x00100000, 0x00100010, 0x00100010, + 0x00100000, 0x00100000, 0x00100010, 0x00100010, + 0x00101000, 0x00101000, 0x00101010, 0x00101010, + 0x00101000, 0x00101000, 0x00101010, 0x00101010, + 0x10000000, 0x10000000, 0x10000010, 0x10000010, + 0x10000000, 0x10000000, 0x10000010, 0x10000010, + 0x10001000, 0x10001000, 0x10001010, 0x10001010, + 0x10001000, 0x10001000, 0x10001010, 0x10001010, + 0x10000000, 0x10000000, 0x10000010, 0x10000010, + 0x10000000, 0x10000000, 0x10000010, 0x10000010, + 0x10001000, 0x10001000, 0x10001010, 0x10001010, + 0x10001000, 0x10001000, 0x10001010, 0x10001010, + 0x10100000, 0x10100000, 0x10100010, 0x10100010, + 0x10100000, 0x10100000, 0x10100010, 0x10100010, + 0x10101000, 0x10101000, 0x10101010, 0x10101010, + 0x10101000, 0x10101000, 0x10101010, 0x10101010, + 0x10100000, 0x10100000, 0x10100010, 0x10100010, + 0x10100000, 0x10100000, 0x10100010, 0x10100010, + 0x10101000, 0x10101000, 0x10101010, 0x10101010, + 0x10101000, 0x10101000, 0x10101010, 0x10101010, + 0x10000000, 0x10000000, 0x10000010, 0x10000010, + 0x10000000, 0x10000000, 0x10000010, 0x10000010, + 0x10001000, 0x10001000, 0x10001010, 0x10001010, + 0x10001000, 0x10001000, 0x10001010, 0x10001010, + 0x10000000, 0x10000000, 0x10000010, 0x10000010, + 0x10000000, 0x10000000, 0x10000010, 0x10000010, + 0x10001000, 0x10001000, 0x10001010, 0x10001010, + 0x10001000, 0x10001000, 0x10001010, 0x10001010, + 0x10100000, 0x10100000, 0x10100010, 0x10100010, + 0x10100000, 0x10100000, 0x10100010, 0x10100010, + 0x10101000, 0x10101000, 0x10101010, 0x10101010, + 0x10101000, 0x10101000, 0x10101010, 0x10101010, + 0x10100000, 0x10100000, 0x10100010, 0x10100010, + 0x10100000, 0x10100000, 0x10100010, 0x10100010, + 0x10101000, 0x10101000, 0x10101010, 0x10101010, + 0x10101000, 0x10101000, 0x10101010, 0x10101010, + }, { + 0x00000000, 0x00000000, 0x00000020, 0x00000020, + 0x00000000, 0x00000000, 0x00000020, 0x00000020, + 0x00002000, 0x00002000, 0x00002020, 0x00002020, + 0x00002000, 0x00002000, 0x00002020, 0x00002020, + 0x00000000, 0x00000000, 0x00000020, 0x00000020, + 0x00000000, 0x00000000, 0x00000020, 0x00000020, + 0x00002000, 0x00002000, 0x00002020, 0x00002020, + 0x00002000, 0x00002000, 0x00002020, 0x00002020, + 0x00200000, 0x00200000, 0x00200020, 0x00200020, + 0x00200000, 0x00200000, 0x00200020, 0x00200020, + 0x00202000, 0x00202000, 0x00202020, 0x00202020, + 0x00202000, 0x00202000, 0x00202020, 0x00202020, + 0x00200000, 0x00200000, 0x00200020, 0x00200020, + 0x00200000, 0x00200000, 0x00200020, 0x00200020, + 0x00202000, 0x00202000, 0x00202020, 0x00202020, + 0x00202000, 0x00202000, 0x00202020, 0x00202020, + 0x00000000, 0x00000000, 0x00000020, 0x00000020, + 0x00000000, 0x00000000, 0x00000020, 0x00000020, + 0x00002000, 0x00002000, 0x00002020, 0x00002020, + 0x00002000, 0x00002000, 0x00002020, 0x00002020, + 0x00000000, 0x00000000, 0x00000020, 0x00000020, + 0x00000000, 0x00000000, 0x00000020, 0x00000020, + 0x00002000, 0x00002000, 0x00002020, 0x00002020, + 0x00002000, 0x00002000, 0x00002020, 0x00002020, + 0x00200000, 0x00200000, 0x00200020, 0x00200020, + 0x00200000, 0x00200000, 0x00200020, 0x00200020, + 0x00202000, 0x00202000, 0x00202020, 0x00202020, + 0x00202000, 0x00202000, 0x00202020, 0x00202020, + 0x00200000, 0x00200000, 0x00200020, 0x00200020, + 0x00200000, 0x00200000, 0x00200020, 0x00200020, + 0x00202000, 0x00202000, 0x00202020, 0x00202020, + 0x00202000, 0x00202000, 0x00202020, 0x00202020, + 0x20000000, 0x20000000, 0x20000020, 0x20000020, + 0x20000000, 0x20000000, 0x20000020, 0x20000020, + 0x20002000, 0x20002000, 0x20002020, 0x20002020, + 0x20002000, 0x20002000, 0x20002020, 0x20002020, + 0x20000000, 0x20000000, 0x20000020, 0x20000020, + 0x20000000, 0x20000000, 0x20000020, 0x20000020, + 0x20002000, 0x20002000, 0x20002020, 0x20002020, + 0x20002000, 0x20002000, 0x20002020, 0x20002020, + 0x20200000, 0x20200000, 0x20200020, 0x20200020, + 0x20200000, 0x20200000, 0x20200020, 0x20200020, + 0x20202000, 0x20202000, 0x20202020, 0x20202020, + 0x20202000, 0x20202000, 0x20202020, 0x20202020, + 0x20200000, 0x20200000, 0x20200020, 0x20200020, + 0x20200000, 0x20200000, 0x20200020, 0x20200020, + 0x20202000, 0x20202000, 0x20202020, 0x20202020, + 0x20202000, 0x20202000, 0x20202020, 0x20202020, + 0x20000000, 0x20000000, 0x20000020, 0x20000020, + 0x20000000, 0x20000000, 0x20000020, 0x20000020, + 0x20002000, 0x20002000, 0x20002020, 0x20002020, + 0x20002000, 0x20002000, 0x20002020, 0x20002020, + 0x20000000, 0x20000000, 0x20000020, 0x20000020, + 0x20000000, 0x20000000, 0x20000020, 0x20000020, + 0x20002000, 0x20002000, 0x20002020, 0x20002020, + 0x20002000, 0x20002000, 0x20002020, 0x20002020, + 0x20200000, 0x20200000, 0x20200020, 0x20200020, + 0x20200000, 0x20200000, 0x20200020, 0x20200020, + 0x20202000, 0x20202000, 0x20202020, 0x20202020, + 0x20202000, 0x20202000, 0x20202020, 0x20202020, + 0x20200000, 0x20200000, 0x20200020, 0x20200020, + 0x20200000, 0x20200000, 0x20200020, 0x20200020, + 0x20202000, 0x20202000, 0x20202020, 0x20202020, + 0x20202000, 0x20202000, 0x20202020, 0x20202020, + }, { + 0x00000000, 0x00000000, 0x00000040, 0x00000040, + 0x00000000, 0x00000000, 0x00000040, 0x00000040, + 0x00004000, 0x00004000, 0x00004040, 0x00004040, + 0x00004000, 0x00004000, 0x00004040, 0x00004040, + 0x00000000, 0x00000000, 0x00000040, 0x00000040, + 0x00000000, 0x00000000, 0x00000040, 0x00000040, + 0x00004000, 0x00004000, 0x00004040, 0x00004040, + 0x00004000, 0x00004000, 0x00004040, 0x00004040, + 0x00400000, 0x00400000, 0x00400040, 0x00400040, + 0x00400000, 0x00400000, 0x00400040, 0x00400040, + 0x00404000, 0x00404000, 0x00404040, 0x00404040, + 0x00404000, 0x00404000, 0x00404040, 0x00404040, + 0x00400000, 0x00400000, 0x00400040, 0x00400040, + 0x00400000, 0x00400000, 0x00400040, 0x00400040, + 0x00404000, 0x00404000, 0x00404040, 0x00404040, + 0x00404000, 0x00404000, 0x00404040, 0x00404040, + 0x00000000, 0x00000000, 0x00000040, 0x00000040, + 0x00000000, 0x00000000, 0x00000040, 0x00000040, + 0x00004000, 0x00004000, 0x00004040, 0x00004040, + 0x00004000, 0x00004000, 0x00004040, 0x00004040, + 0x00000000, 0x00000000, 0x00000040, 0x00000040, + 0x00000000, 0x00000000, 0x00000040, 0x00000040, + 0x00004000, 0x00004000, 0x00004040, 0x00004040, + 0x00004000, 0x00004000, 0x00004040, 0x00004040, + 0x00400000, 0x00400000, 0x00400040, 0x00400040, + 0x00400000, 0x00400000, 0x00400040, 0x00400040, + 0x00404000, 0x00404000, 0x00404040, 0x00404040, + 0x00404000, 0x00404000, 0x00404040, 0x00404040, + 0x00400000, 0x00400000, 0x00400040, 0x00400040, + 0x00400000, 0x00400000, 0x00400040, 0x00400040, + 0x00404000, 0x00404000, 0x00404040, 0x00404040, + 0x00404000, 0x00404000, 0x00404040, 0x00404040, + 0x40000000, 0x40000000, 0x40000040, 0x40000040, + 0x40000000, 0x40000000, 0x40000040, 0x40000040, + 0x40004000, 0x40004000, 0x40004040, 0x40004040, + 0x40004000, 0x40004000, 0x40004040, 0x40004040, + 0x40000000, 0x40000000, 0x40000040, 0x40000040, + 0x40000000, 0x40000000, 0x40000040, 0x40000040, + 0x40004000, 0x40004000, 0x40004040, 0x40004040, + 0x40004000, 0x40004000, 0x40004040, 0x40004040, + 0x40400000, 0x40400000, 0x40400040, 0x40400040, + 0x40400000, 0x40400000, 0x40400040, 0x40400040, + 0x40404000, 0x40404000, 0x40404040, 0x40404040, + 0x40404000, 0x40404000, 0x40404040, 0x40404040, + 0x40400000, 0x40400000, 0x40400040, 0x40400040, + 0x40400000, 0x40400000, 0x40400040, 0x40400040, + 0x40404000, 0x40404000, 0x40404040, 0x40404040, + 0x40404000, 0x40404000, 0x40404040, 0x40404040, + 0x40000000, 0x40000000, 0x40000040, 0x40000040, + 0x40000000, 0x40000000, 0x40000040, 0x40000040, + 0x40004000, 0x40004000, 0x40004040, 0x40004040, + 0x40004000, 0x40004000, 0x40004040, 0x40004040, + 0x40000000, 0x40000000, 0x40000040, 0x40000040, + 0x40000000, 0x40000000, 0x40000040, 0x40000040, + 0x40004000, 0x40004000, 0x40004040, 0x40004040, + 0x40004000, 0x40004000, 0x40004040, 0x40004040, + 0x40400000, 0x40400000, 0x40400040, 0x40400040, + 0x40400000, 0x40400000, 0x40400040, 0x40400040, + 0x40404000, 0x40404000, 0x40404040, 0x40404040, + 0x40404000, 0x40404000, 0x40404040, 0x40404040, + 0x40400000, 0x40400000, 0x40400040, 0x40400040, + 0x40400000, 0x40400000, 0x40400040, 0x40400040, + 0x40404000, 0x40404000, 0x40404040, 0x40404040, + 0x40404000, 0x40404000, 0x40404040, 0x40404040, + }, { + 0x00000000, 0x00000000, 0x00000080, 0x00000080, + 0x00000000, 0x00000000, 0x00000080, 0x00000080, + 0x00008000, 0x00008000, 0x00008080, 0x00008080, + 0x00008000, 0x00008000, 0x00008080, 0x00008080, + 0x00000000, 0x00000000, 0x00000080, 0x00000080, + 0x00000000, 0x00000000, 0x00000080, 0x00000080, + 0x00008000, 0x00008000, 0x00008080, 0x00008080, + 0x00008000, 0x00008000, 0x00008080, 0x00008080, + 0x00800000, 0x00800000, 0x00800080, 0x00800080, + 0x00800000, 0x00800000, 0x00800080, 0x00800080, + 0x00808000, 0x00808000, 0x00808080, 0x00808080, + 0x00808000, 0x00808000, 0x00808080, 0x00808080, + 0x00800000, 0x00800000, 0x00800080, 0x00800080, + 0x00800000, 0x00800000, 0x00800080, 0x00800080, + 0x00808000, 0x00808000, 0x00808080, 0x00808080, + 0x00808000, 0x00808000, 0x00808080, 0x00808080, + 0x00000000, 0x00000000, 0x00000080, 0x00000080, + 0x00000000, 0x00000000, 0x00000080, 0x00000080, + 0x00008000, 0x00008000, 0x00008080, 0x00008080, + 0x00008000, 0x00008000, 0x00008080, 0x00008080, + 0x00000000, 0x00000000, 0x00000080, 0x00000080, + 0x00000000, 0x00000000, 0x00000080, 0x00000080, + 0x00008000, 0x00008000, 0x00008080, 0x00008080, + 0x00008000, 0x00008000, 0x00008080, 0x00008080, + 0x00800000, 0x00800000, 0x00800080, 0x00800080, + 0x00800000, 0x00800000, 0x00800080, 0x00800080, + 0x00808000, 0x00808000, 0x00808080, 0x00808080, + 0x00808000, 0x00808000, 0x00808080, 0x00808080, + 0x00800000, 0x00800000, 0x00800080, 0x00800080, + 0x00800000, 0x00800000, 0x00800080, 0x00800080, + 0x00808000, 0x00808000, 0x00808080, 0x00808080, + 0x00808000, 0x00808000, 0x00808080, 0x00808080, + 0x80000000, 0x80000000, 0x80000080, 0x80000080, + 0x80000000, 0x80000000, 0x80000080, 0x80000080, + 0x80008000, 0x80008000, 0x80008080, 0x80008080, + 0x80008000, 0x80008000, 0x80008080, 0x80008080, + 0x80000000, 0x80000000, 0x80000080, 0x80000080, + 0x80000000, 0x80000000, 0x80000080, 0x80000080, + 0x80008000, 0x80008000, 0x80008080, 0x80008080, + 0x80008000, 0x80008000, 0x80008080, 0x80008080, + 0x80800000, 0x80800000, 0x80800080, 0x80800080, + 0x80800000, 0x80800000, 0x80800080, 0x80800080, + 0x80808000, 0x80808000, 0x80808080, 0x80808080, + 0x80808000, 0x80808000, 0x80808080, 0x80808080, + 0x80800000, 0x80800000, 0x80800080, 0x80800080, + 0x80800000, 0x80800000, 0x80800080, 0x80800080, + 0x80808000, 0x80808000, 0x80808080, 0x80808080, + 0x80808000, 0x80808000, 0x80808080, 0x80808080, + 0x80000000, 0x80000000, 0x80000080, 0x80000080, + 0x80000000, 0x80000000, 0x80000080, 0x80000080, + 0x80008000, 0x80008000, 0x80008080, 0x80008080, + 0x80008000, 0x80008000, 0x80008080, 0x80008080, + 0x80000000, 0x80000000, 0x80000080, 0x80000080, + 0x80000000, 0x80000000, 0x80000080, 0x80000080, + 0x80008000, 0x80008000, 0x80008080, 0x80008080, + 0x80008000, 0x80008000, 0x80008080, 0x80008080, + 0x80800000, 0x80800000, 0x80800080, 0x80800080, + 0x80800000, 0x80800000, 0x80800080, 0x80800080, + 0x80808000, 0x80808000, 0x80808080, 0x80808080, + 0x80808000, 0x80808000, 0x80808080, 0x80808080, + 0x80800000, 0x80800000, 0x80800080, 0x80800080, + 0x80800000, 0x80800000, 0x80800080, 0x80800080, + 0x80808000, 0x80808000, 0x80808080, 0x80808080, + 0x80808000, 0x80808000, 0x80808080, 0x80808080, + } +}; +static const u_int32_t fp_maskl[8][256] = { + { + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + 0x00000000, 0x40000000, 0x00400000, 0x40400000, + 0x00004000, 0x40004000, 0x00404000, 0x40404000, + 0x00000040, 0x40000040, 0x00400040, 0x40400040, + 0x00004040, 0x40004040, 0x00404040, 0x40404040, + }, { + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + 0x00000000, 0x10000000, 0x00100000, 0x10100000, + 0x00001000, 0x10001000, 0x00101000, 0x10101000, + 0x00000010, 0x10000010, 0x00100010, 0x10100010, + 0x00001010, 0x10001010, 0x00101010, 0x10101010, + }, { + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000004, 0x04000004, 0x00040004, 0x04040004, + 0x00000404, 0x04000404, 0x00040404, 0x04040404, + }, { + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, + }, { + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + 0x00000000, 0x80000000, 0x00800000, 0x80800000, + 0x00008000, 0x80008000, 0x00808000, 0x80808000, + 0x00000080, 0x80000080, 0x00800080, 0x80800080, + 0x00008080, 0x80008080, 0x00808080, 0x80808080, + }, { + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + 0x00000000, 0x20000000, 0x00200000, 0x20200000, + 0x00002000, 0x20002000, 0x00202000, 0x20202000, + 0x00000020, 0x20000020, 0x00200020, 0x20200020, + 0x00002020, 0x20002020, 0x00202020, 0x20202020, + }, { + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000008, 0x08000008, 0x00080008, 0x08080008, + 0x00000808, 0x08000808, 0x00080808, 0x08080808, + }, { + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000002, 0x02000002, 0x00020002, 0x02020002, + 0x00000202, 0x02000202, 0x00020202, 0x02020202, + } +}; +static const u_int32_t fp_maskr[8][256] = { + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x40000000, 0x40000000, 0x40000000, 0x40000000, + 0x40000000, 0x40000000, 0x40000000, 0x40000000, + 0x40000000, 0x40000000, 0x40000000, 0x40000000, + 0x40000000, 0x40000000, 0x40000000, 0x40000000, + 0x00400000, 0x00400000, 0x00400000, 0x00400000, + 0x00400000, 0x00400000, 0x00400000, 0x00400000, + 0x00400000, 0x00400000, 0x00400000, 0x00400000, + 0x00400000, 0x00400000, 0x00400000, 0x00400000, + 0x40400000, 0x40400000, 0x40400000, 0x40400000, + 0x40400000, 0x40400000, 0x40400000, 0x40400000, + 0x40400000, 0x40400000, 0x40400000, 0x40400000, + 0x40400000, 0x40400000, 0x40400000, 0x40400000, + 0x00004000, 0x00004000, 0x00004000, 0x00004000, + 0x00004000, 0x00004000, 0x00004000, 0x00004000, + 0x00004000, 0x00004000, 0x00004000, 0x00004000, + 0x00004000, 0x00004000, 0x00004000, 0x00004000, + 0x40004000, 0x40004000, 0x40004000, 0x40004000, + 0x40004000, 0x40004000, 0x40004000, 0x40004000, + 0x40004000, 0x40004000, 0x40004000, 0x40004000, + 0x40004000, 0x40004000, 0x40004000, 0x40004000, + 0x00404000, 0x00404000, 0x00404000, 0x00404000, + 0x00404000, 0x00404000, 0x00404000, 0x00404000, + 0x00404000, 0x00404000, 0x00404000, 0x00404000, + 0x00404000, 0x00404000, 0x00404000, 0x00404000, + 0x40404000, 0x40404000, 0x40404000, 0x40404000, + 0x40404000, 0x40404000, 0x40404000, 0x40404000, + 0x40404000, 0x40404000, 0x40404000, 0x40404000, + 0x40404000, 0x40404000, 0x40404000, 0x40404000, + 0x00000040, 0x00000040, 0x00000040, 0x00000040, + 0x00000040, 0x00000040, 0x00000040, 0x00000040, + 0x00000040, 0x00000040, 0x00000040, 0x00000040, + 0x00000040, 0x00000040, 0x00000040, 0x00000040, + 0x40000040, 0x40000040, 0x40000040, 0x40000040, + 0x40000040, 0x40000040, 0x40000040, 0x40000040, + 0x40000040, 0x40000040, 0x40000040, 0x40000040, + 0x40000040, 0x40000040, 0x40000040, 0x40000040, + 0x00400040, 0x00400040, 0x00400040, 0x00400040, + 0x00400040, 0x00400040, 0x00400040, 0x00400040, + 0x00400040, 0x00400040, 0x00400040, 0x00400040, + 0x00400040, 0x00400040, 0x00400040, 0x00400040, + 0x40400040, 0x40400040, 0x40400040, 0x40400040, + 0x40400040, 0x40400040, 0x40400040, 0x40400040, + 0x40400040, 0x40400040, 0x40400040, 0x40400040, + 0x40400040, 0x40400040, 0x40400040, 0x40400040, + 0x00004040, 0x00004040, 0x00004040, 0x00004040, + 0x00004040, 0x00004040, 0x00004040, 0x00004040, + 0x00004040, 0x00004040, 0x00004040, 0x00004040, + 0x00004040, 0x00004040, 0x00004040, 0x00004040, + 0x40004040, 0x40004040, 0x40004040, 0x40004040, + 0x40004040, 0x40004040, 0x40004040, 0x40004040, + 0x40004040, 0x40004040, 0x40004040, 0x40004040, + 0x40004040, 0x40004040, 0x40004040, 0x40004040, + 0x00404040, 0x00404040, 0x00404040, 0x00404040, + 0x00404040, 0x00404040, 0x00404040, 0x00404040, + 0x00404040, 0x00404040, 0x00404040, 0x00404040, + 0x00404040, 0x00404040, 0x00404040, 0x00404040, + 0x40404040, 0x40404040, 0x40404040, 0x40404040, + 0x40404040, 0x40404040, 0x40404040, 0x40404040, + 0x40404040, 0x40404040, 0x40404040, 0x40404040, + 0x40404040, 0x40404040, 0x40404040, 0x40404040, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x10000000, 0x10000000, 0x10000000, 0x10000000, + 0x10000000, 0x10000000, 0x10000000, 0x10000000, + 0x10000000, 0x10000000, 0x10000000, 0x10000000, + 0x10000000, 0x10000000, 0x10000000, 0x10000000, + 0x00100000, 0x00100000, 0x00100000, 0x00100000, + 0x00100000, 0x00100000, 0x00100000, 0x00100000, + 0x00100000, 0x00100000, 0x00100000, 0x00100000, + 0x00100000, 0x00100000, 0x00100000, 0x00100000, + 0x10100000, 0x10100000, 0x10100000, 0x10100000, + 0x10100000, 0x10100000, 0x10100000, 0x10100000, + 0x10100000, 0x10100000, 0x10100000, 0x10100000, + 0x10100000, 0x10100000, 0x10100000, 0x10100000, + 0x00001000, 0x00001000, 0x00001000, 0x00001000, + 0x00001000, 0x00001000, 0x00001000, 0x00001000, + 0x00001000, 0x00001000, 0x00001000, 0x00001000, + 0x00001000, 0x00001000, 0x00001000, 0x00001000, + 0x10001000, 0x10001000, 0x10001000, 0x10001000, + 0x10001000, 0x10001000, 0x10001000, 0x10001000, + 0x10001000, 0x10001000, 0x10001000, 0x10001000, + 0x10001000, 0x10001000, 0x10001000, 0x10001000, + 0x00101000, 0x00101000, 0x00101000, 0x00101000, + 0x00101000, 0x00101000, 0x00101000, 0x00101000, + 0x00101000, 0x00101000, 0x00101000, 0x00101000, + 0x00101000, 0x00101000, 0x00101000, 0x00101000, + 0x10101000, 0x10101000, 0x10101000, 0x10101000, + 0x10101000, 0x10101000, 0x10101000, 0x10101000, + 0x10101000, 0x10101000, 0x10101000, 0x10101000, + 0x10101000, 0x10101000, 0x10101000, 0x10101000, + 0x00000010, 0x00000010, 0x00000010, 0x00000010, + 0x00000010, 0x00000010, 0x00000010, 0x00000010, + 0x00000010, 0x00000010, 0x00000010, 0x00000010, + 0x00000010, 0x00000010, 0x00000010, 0x00000010, + 0x10000010, 0x10000010, 0x10000010, 0x10000010, + 0x10000010, 0x10000010, 0x10000010, 0x10000010, + 0x10000010, 0x10000010, 0x10000010, 0x10000010, + 0x10000010, 0x10000010, 0x10000010, 0x10000010, + 0x00100010, 0x00100010, 0x00100010, 0x00100010, + 0x00100010, 0x00100010, 0x00100010, 0x00100010, + 0x00100010, 0x00100010, 0x00100010, 0x00100010, + 0x00100010, 0x00100010, 0x00100010, 0x00100010, + 0x10100010, 0x10100010, 0x10100010, 0x10100010, + 0x10100010, 0x10100010, 0x10100010, 0x10100010, + 0x10100010, 0x10100010, 0x10100010, 0x10100010, + 0x10100010, 0x10100010, 0x10100010, 0x10100010, + 0x00001010, 0x00001010, 0x00001010, 0x00001010, + 0x00001010, 0x00001010, 0x00001010, 0x00001010, + 0x00001010, 0x00001010, 0x00001010, 0x00001010, + 0x00001010, 0x00001010, 0x00001010, 0x00001010, + 0x10001010, 0x10001010, 0x10001010, 0x10001010, + 0x10001010, 0x10001010, 0x10001010, 0x10001010, + 0x10001010, 0x10001010, 0x10001010, 0x10001010, + 0x10001010, 0x10001010, 0x10001010, 0x10001010, + 0x00101010, 0x00101010, 0x00101010, 0x00101010, + 0x00101010, 0x00101010, 0x00101010, 0x00101010, + 0x00101010, 0x00101010, 0x00101010, 0x00101010, + 0x00101010, 0x00101010, 0x00101010, 0x00101010, + 0x10101010, 0x10101010, 0x10101010, 0x10101010, + 0x10101010, 0x10101010, 0x10101010, 0x10101010, + 0x10101010, 0x10101010, 0x10101010, 0x10101010, + 0x10101010, 0x10101010, 0x10101010, 0x10101010, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x04000000, 0x04000000, 0x04000000, 0x04000000, + 0x04000000, 0x04000000, 0x04000000, 0x04000000, + 0x04000000, 0x04000000, 0x04000000, 0x04000000, + 0x04000000, 0x04000000, 0x04000000, 0x04000000, + 0x00040000, 0x00040000, 0x00040000, 0x00040000, + 0x00040000, 0x00040000, 0x00040000, 0x00040000, + 0x00040000, 0x00040000, 0x00040000, 0x00040000, + 0x00040000, 0x00040000, 0x00040000, 0x00040000, + 0x04040000, 0x04040000, 0x04040000, 0x04040000, + 0x04040000, 0x04040000, 0x04040000, 0x04040000, + 0x04040000, 0x04040000, 0x04040000, 0x04040000, + 0x04040000, 0x04040000, 0x04040000, 0x04040000, + 0x00000400, 0x00000400, 0x00000400, 0x00000400, + 0x00000400, 0x00000400, 0x00000400, 0x00000400, + 0x00000400, 0x00000400, 0x00000400, 0x00000400, + 0x00000400, 0x00000400, 0x00000400, 0x00000400, + 0x04000400, 0x04000400, 0x04000400, 0x04000400, + 0x04000400, 0x04000400, 0x04000400, 0x04000400, + 0x04000400, 0x04000400, 0x04000400, 0x04000400, + 0x04000400, 0x04000400, 0x04000400, 0x04000400, + 0x00040400, 0x00040400, 0x00040400, 0x00040400, + 0x00040400, 0x00040400, 0x00040400, 0x00040400, + 0x00040400, 0x00040400, 0x00040400, 0x00040400, + 0x00040400, 0x00040400, 0x00040400, 0x00040400, + 0x04040400, 0x04040400, 0x04040400, 0x04040400, + 0x04040400, 0x04040400, 0x04040400, 0x04040400, + 0x04040400, 0x04040400, 0x04040400, 0x04040400, + 0x04040400, 0x04040400, 0x04040400, 0x04040400, + 0x00000004, 0x00000004, 0x00000004, 0x00000004, + 0x00000004, 0x00000004, 0x00000004, 0x00000004, + 0x00000004, 0x00000004, 0x00000004, 0x00000004, + 0x00000004, 0x00000004, 0x00000004, 0x00000004, + 0x04000004, 0x04000004, 0x04000004, 0x04000004, + 0x04000004, 0x04000004, 0x04000004, 0x04000004, + 0x04000004, 0x04000004, 0x04000004, 0x04000004, + 0x04000004, 0x04000004, 0x04000004, 0x04000004, + 0x00040004, 0x00040004, 0x00040004, 0x00040004, + 0x00040004, 0x00040004, 0x00040004, 0x00040004, + 0x00040004, 0x00040004, 0x00040004, 0x00040004, + 0x00040004, 0x00040004, 0x00040004, 0x00040004, + 0x04040004, 0x04040004, 0x04040004, 0x04040004, + 0x04040004, 0x04040004, 0x04040004, 0x04040004, + 0x04040004, 0x04040004, 0x04040004, 0x04040004, + 0x04040004, 0x04040004, 0x04040004, 0x04040004, + 0x00000404, 0x00000404, 0x00000404, 0x00000404, + 0x00000404, 0x00000404, 0x00000404, 0x00000404, + 0x00000404, 0x00000404, 0x00000404, 0x00000404, + 0x00000404, 0x00000404, 0x00000404, 0x00000404, + 0x04000404, 0x04000404, 0x04000404, 0x04000404, + 0x04000404, 0x04000404, 0x04000404, 0x04000404, + 0x04000404, 0x04000404, 0x04000404, 0x04000404, + 0x04000404, 0x04000404, 0x04000404, 0x04000404, + 0x00040404, 0x00040404, 0x00040404, 0x00040404, + 0x00040404, 0x00040404, 0x00040404, 0x00040404, + 0x00040404, 0x00040404, 0x00040404, 0x00040404, + 0x00040404, 0x00040404, 0x00040404, 0x00040404, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x01000000, 0x01000000, 0x01000000, 0x01000000, + 0x01000000, 0x01000000, 0x01000000, 0x01000000, + 0x01000000, 0x01000000, 0x01000000, 0x01000000, + 0x01000000, 0x01000000, 0x01000000, 0x01000000, + 0x00010000, 0x00010000, 0x00010000, 0x00010000, + 0x00010000, 0x00010000, 0x00010000, 0x00010000, + 0x00010000, 0x00010000, 0x00010000, 0x00010000, + 0x00010000, 0x00010000, 0x00010000, 0x00010000, + 0x01010000, 0x01010000, 0x01010000, 0x01010000, + 0x01010000, 0x01010000, 0x01010000, 0x01010000, + 0x01010000, 0x01010000, 0x01010000, 0x01010000, + 0x01010000, 0x01010000, 0x01010000, 0x01010000, + 0x00000100, 0x00000100, 0x00000100, 0x00000100, + 0x00000100, 0x00000100, 0x00000100, 0x00000100, + 0x00000100, 0x00000100, 0x00000100, 0x00000100, + 0x00000100, 0x00000100, 0x00000100, 0x00000100, + 0x01000100, 0x01000100, 0x01000100, 0x01000100, + 0x01000100, 0x01000100, 0x01000100, 0x01000100, + 0x01000100, 0x01000100, 0x01000100, 0x01000100, + 0x01000100, 0x01000100, 0x01000100, 0x01000100, + 0x00010100, 0x00010100, 0x00010100, 0x00010100, + 0x00010100, 0x00010100, 0x00010100, 0x00010100, + 0x00010100, 0x00010100, 0x00010100, 0x00010100, + 0x00010100, 0x00010100, 0x00010100, 0x00010100, + 0x01010100, 0x01010100, 0x01010100, 0x01010100, + 0x01010100, 0x01010100, 0x01010100, 0x01010100, + 0x01010100, 0x01010100, 0x01010100, 0x01010100, + 0x01010100, 0x01010100, 0x01010100, 0x01010100, + 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x01000001, 0x01000001, 0x01000001, 0x01000001, + 0x01000001, 0x01000001, 0x01000001, 0x01000001, + 0x01000001, 0x01000001, 0x01000001, 0x01000001, + 0x01000001, 0x01000001, 0x01000001, 0x01000001, + 0x00010001, 0x00010001, 0x00010001, 0x00010001, + 0x00010001, 0x00010001, 0x00010001, 0x00010001, + 0x00010001, 0x00010001, 0x00010001, 0x00010001, + 0x00010001, 0x00010001, 0x00010001, 0x00010001, + 0x01010001, 0x01010001, 0x01010001, 0x01010001, + 0x01010001, 0x01010001, 0x01010001, 0x01010001, + 0x01010001, 0x01010001, 0x01010001, 0x01010001, + 0x01010001, 0x01010001, 0x01010001, 0x01010001, + 0x00000101, 0x00000101, 0x00000101, 0x00000101, + 0x00000101, 0x00000101, 0x00000101, 0x00000101, + 0x00000101, 0x00000101, 0x00000101, 0x00000101, + 0x00000101, 0x00000101, 0x00000101, 0x00000101, + 0x01000101, 0x01000101, 0x01000101, 0x01000101, + 0x01000101, 0x01000101, 0x01000101, 0x01000101, + 0x01000101, 0x01000101, 0x01000101, 0x01000101, + 0x01000101, 0x01000101, 0x01000101, 0x01000101, + 0x00010101, 0x00010101, 0x00010101, 0x00010101, + 0x00010101, 0x00010101, 0x00010101, 0x00010101, + 0x00010101, 0x00010101, 0x00010101, 0x00010101, + 0x00010101, 0x00010101, 0x00010101, 0x00010101, + 0x01010101, 0x01010101, 0x01010101, 0x01010101, + 0x01010101, 0x01010101, 0x01010101, 0x01010101, + 0x01010101, 0x01010101, 0x01010101, 0x01010101, + 0x01010101, 0x01010101, 0x01010101, 0x01010101, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x80000000, 0x80000000, 0x80000000, + 0x80000000, 0x80000000, 0x80000000, 0x80000000, + 0x80000000, 0x80000000, 0x80000000, 0x80000000, + 0x80000000, 0x80000000, 0x80000000, 0x80000000, + 0x00800000, 0x00800000, 0x00800000, 0x00800000, + 0x00800000, 0x00800000, 0x00800000, 0x00800000, + 0x00800000, 0x00800000, 0x00800000, 0x00800000, + 0x00800000, 0x00800000, 0x00800000, 0x00800000, + 0x80800000, 0x80800000, 0x80800000, 0x80800000, + 0x80800000, 0x80800000, 0x80800000, 0x80800000, + 0x80800000, 0x80800000, 0x80800000, 0x80800000, + 0x80800000, 0x80800000, 0x80800000, 0x80800000, + 0x00008000, 0x00008000, 0x00008000, 0x00008000, + 0x00008000, 0x00008000, 0x00008000, 0x00008000, + 0x00008000, 0x00008000, 0x00008000, 0x00008000, + 0x00008000, 0x00008000, 0x00008000, 0x00008000, + 0x80008000, 0x80008000, 0x80008000, 0x80008000, + 0x80008000, 0x80008000, 0x80008000, 0x80008000, + 0x80008000, 0x80008000, 0x80008000, 0x80008000, + 0x80008000, 0x80008000, 0x80008000, 0x80008000, + 0x00808000, 0x00808000, 0x00808000, 0x00808000, + 0x00808000, 0x00808000, 0x00808000, 0x00808000, + 0x00808000, 0x00808000, 0x00808000, 0x00808000, + 0x00808000, 0x00808000, 0x00808000, 0x00808000, + 0x80808000, 0x80808000, 0x80808000, 0x80808000, + 0x80808000, 0x80808000, 0x80808000, 0x80808000, + 0x80808000, 0x80808000, 0x80808000, 0x80808000, + 0x80808000, 0x80808000, 0x80808000, 0x80808000, + 0x00000080, 0x00000080, 0x00000080, 0x00000080, + 0x00000080, 0x00000080, 0x00000080, 0x00000080, + 0x00000080, 0x00000080, 0x00000080, 0x00000080, + 0x00000080, 0x00000080, 0x00000080, 0x00000080, + 0x80000080, 0x80000080, 0x80000080, 0x80000080, + 0x80000080, 0x80000080, 0x80000080, 0x80000080, + 0x80000080, 0x80000080, 0x80000080, 0x80000080, + 0x80000080, 0x80000080, 0x80000080, 0x80000080, + 0x00800080, 0x00800080, 0x00800080, 0x00800080, + 0x00800080, 0x00800080, 0x00800080, 0x00800080, + 0x00800080, 0x00800080, 0x00800080, 0x00800080, + 0x00800080, 0x00800080, 0x00800080, 0x00800080, + 0x80800080, 0x80800080, 0x80800080, 0x80800080, + 0x80800080, 0x80800080, 0x80800080, 0x80800080, + 0x80800080, 0x80800080, 0x80800080, 0x80800080, + 0x80800080, 0x80800080, 0x80800080, 0x80800080, + 0x00008080, 0x00008080, 0x00008080, 0x00008080, + 0x00008080, 0x00008080, 0x00008080, 0x00008080, + 0x00008080, 0x00008080, 0x00008080, 0x00008080, + 0x00008080, 0x00008080, 0x00008080, 0x00008080, + 0x80008080, 0x80008080, 0x80008080, 0x80008080, + 0x80008080, 0x80008080, 0x80008080, 0x80008080, + 0x80008080, 0x80008080, 0x80008080, 0x80008080, + 0x80008080, 0x80008080, 0x80008080, 0x80008080, + 0x00808080, 0x00808080, 0x00808080, 0x00808080, + 0x00808080, 0x00808080, 0x00808080, 0x00808080, + 0x00808080, 0x00808080, 0x00808080, 0x00808080, + 0x00808080, 0x00808080, 0x00808080, 0x00808080, + 0x80808080, 0x80808080, 0x80808080, 0x80808080, + 0x80808080, 0x80808080, 0x80808080, 0x80808080, + 0x80808080, 0x80808080, 0x80808080, 0x80808080, + 0x80808080, 0x80808080, 0x80808080, 0x80808080, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x20000000, 0x20000000, 0x20000000, 0x20000000, + 0x20000000, 0x20000000, 0x20000000, 0x20000000, + 0x20000000, 0x20000000, 0x20000000, 0x20000000, + 0x20000000, 0x20000000, 0x20000000, 0x20000000, + 0x00200000, 0x00200000, 0x00200000, 0x00200000, + 0x00200000, 0x00200000, 0x00200000, 0x00200000, + 0x00200000, 0x00200000, 0x00200000, 0x00200000, + 0x00200000, 0x00200000, 0x00200000, 0x00200000, + 0x20200000, 0x20200000, 0x20200000, 0x20200000, + 0x20200000, 0x20200000, 0x20200000, 0x20200000, + 0x20200000, 0x20200000, 0x20200000, 0x20200000, + 0x20200000, 0x20200000, 0x20200000, 0x20200000, + 0x00002000, 0x00002000, 0x00002000, 0x00002000, + 0x00002000, 0x00002000, 0x00002000, 0x00002000, + 0x00002000, 0x00002000, 0x00002000, 0x00002000, + 0x00002000, 0x00002000, 0x00002000, 0x00002000, + 0x20002000, 0x20002000, 0x20002000, 0x20002000, + 0x20002000, 0x20002000, 0x20002000, 0x20002000, + 0x20002000, 0x20002000, 0x20002000, 0x20002000, + 0x20002000, 0x20002000, 0x20002000, 0x20002000, + 0x00202000, 0x00202000, 0x00202000, 0x00202000, + 0x00202000, 0x00202000, 0x00202000, 0x00202000, + 0x00202000, 0x00202000, 0x00202000, 0x00202000, + 0x00202000, 0x00202000, 0x00202000, 0x00202000, + 0x20202000, 0x20202000, 0x20202000, 0x20202000, + 0x20202000, 0x20202000, 0x20202000, 0x20202000, + 0x20202000, 0x20202000, 0x20202000, 0x20202000, + 0x20202000, 0x20202000, 0x20202000, 0x20202000, + 0x00000020, 0x00000020, 0x00000020, 0x00000020, + 0x00000020, 0x00000020, 0x00000020, 0x00000020, + 0x00000020, 0x00000020, 0x00000020, 0x00000020, + 0x00000020, 0x00000020, 0x00000020, 0x00000020, + 0x20000020, 0x20000020, 0x20000020, 0x20000020, + 0x20000020, 0x20000020, 0x20000020, 0x20000020, + 0x20000020, 0x20000020, 0x20000020, 0x20000020, + 0x20000020, 0x20000020, 0x20000020, 0x20000020, + 0x00200020, 0x00200020, 0x00200020, 0x00200020, + 0x00200020, 0x00200020, 0x00200020, 0x00200020, + 0x00200020, 0x00200020, 0x00200020, 0x00200020, + 0x00200020, 0x00200020, 0x00200020, 0x00200020, + 0x20200020, 0x20200020, 0x20200020, 0x20200020, + 0x20200020, 0x20200020, 0x20200020, 0x20200020, + 0x20200020, 0x20200020, 0x20200020, 0x20200020, + 0x20200020, 0x20200020, 0x20200020, 0x20200020, + 0x00002020, 0x00002020, 0x00002020, 0x00002020, + 0x00002020, 0x00002020, 0x00002020, 0x00002020, + 0x00002020, 0x00002020, 0x00002020, 0x00002020, + 0x00002020, 0x00002020, 0x00002020, 0x00002020, + 0x20002020, 0x20002020, 0x20002020, 0x20002020, + 0x20002020, 0x20002020, 0x20002020, 0x20002020, + 0x20002020, 0x20002020, 0x20002020, 0x20002020, + 0x20002020, 0x20002020, 0x20002020, 0x20002020, + 0x00202020, 0x00202020, 0x00202020, 0x00202020, + 0x00202020, 0x00202020, 0x00202020, 0x00202020, + 0x00202020, 0x00202020, 0x00202020, 0x00202020, + 0x00202020, 0x00202020, 0x00202020, 0x00202020, + 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0x20202020, 0x20202020, 0x20202020, + 0x20202020, 0x20202020, 0x20202020, 0x20202020, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x08000000, 0x08000000, 0x08000000, 0x08000000, + 0x08000000, 0x08000000, 0x08000000, 0x08000000, + 0x08000000, 0x08000000, 0x08000000, 0x08000000, + 0x08000000, 0x08000000, 0x08000000, 0x08000000, + 0x00080000, 0x00080000, 0x00080000, 0x00080000, + 0x00080000, 0x00080000, 0x00080000, 0x00080000, + 0x00080000, 0x00080000, 0x00080000, 0x00080000, + 0x00080000, 0x00080000, 0x00080000, 0x00080000, + 0x08080000, 0x08080000, 0x08080000, 0x08080000, + 0x08080000, 0x08080000, 0x08080000, 0x08080000, + 0x08080000, 0x08080000, 0x08080000, 0x08080000, + 0x08080000, 0x08080000, 0x08080000, 0x08080000, + 0x00000800, 0x00000800, 0x00000800, 0x00000800, + 0x00000800, 0x00000800, 0x00000800, 0x00000800, + 0x00000800, 0x00000800, 0x00000800, 0x00000800, + 0x00000800, 0x00000800, 0x00000800, 0x00000800, + 0x08000800, 0x08000800, 0x08000800, 0x08000800, + 0x08000800, 0x08000800, 0x08000800, 0x08000800, + 0x08000800, 0x08000800, 0x08000800, 0x08000800, + 0x08000800, 0x08000800, 0x08000800, 0x08000800, + 0x00080800, 0x00080800, 0x00080800, 0x00080800, + 0x00080800, 0x00080800, 0x00080800, 0x00080800, + 0x00080800, 0x00080800, 0x00080800, 0x00080800, + 0x00080800, 0x00080800, 0x00080800, 0x00080800, + 0x08080800, 0x08080800, 0x08080800, 0x08080800, + 0x08080800, 0x08080800, 0x08080800, 0x08080800, + 0x08080800, 0x08080800, 0x08080800, 0x08080800, + 0x08080800, 0x08080800, 0x08080800, 0x08080800, + 0x00000008, 0x00000008, 0x00000008, 0x00000008, + 0x00000008, 0x00000008, 0x00000008, 0x00000008, + 0x00000008, 0x00000008, 0x00000008, 0x00000008, + 0x00000008, 0x00000008, 0x00000008, 0x00000008, + 0x08000008, 0x08000008, 0x08000008, 0x08000008, + 0x08000008, 0x08000008, 0x08000008, 0x08000008, + 0x08000008, 0x08000008, 0x08000008, 0x08000008, + 0x08000008, 0x08000008, 0x08000008, 0x08000008, + 0x00080008, 0x00080008, 0x00080008, 0x00080008, + 0x00080008, 0x00080008, 0x00080008, 0x00080008, + 0x00080008, 0x00080008, 0x00080008, 0x00080008, + 0x00080008, 0x00080008, 0x00080008, 0x00080008, + 0x08080008, 0x08080008, 0x08080008, 0x08080008, + 0x08080008, 0x08080008, 0x08080008, 0x08080008, + 0x08080008, 0x08080008, 0x08080008, 0x08080008, + 0x08080008, 0x08080008, 0x08080008, 0x08080008, + 0x00000808, 0x00000808, 0x00000808, 0x00000808, + 0x00000808, 0x00000808, 0x00000808, 0x00000808, + 0x00000808, 0x00000808, 0x00000808, 0x00000808, + 0x00000808, 0x00000808, 0x00000808, 0x00000808, + 0x08000808, 0x08000808, 0x08000808, 0x08000808, + 0x08000808, 0x08000808, 0x08000808, 0x08000808, + 0x08000808, 0x08000808, 0x08000808, 0x08000808, + 0x08000808, 0x08000808, 0x08000808, 0x08000808, + 0x00080808, 0x00080808, 0x00080808, 0x00080808, + 0x00080808, 0x00080808, 0x00080808, 0x00080808, + 0x00080808, 0x00080808, 0x00080808, 0x00080808, + 0x00080808, 0x00080808, 0x00080808, 0x00080808, + 0x08080808, 0x08080808, 0x08080808, 0x08080808, + 0x08080808, 0x08080808, 0x08080808, 0x08080808, + 0x08080808, 0x08080808, 0x08080808, 0x08080808, + 0x08080808, 0x08080808, 0x08080808, 0x08080808, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x02000000, 0x02000000, 0x02000000, 0x02000000, + 0x02000000, 0x02000000, 0x02000000, 0x02000000, + 0x02000000, 0x02000000, 0x02000000, 0x02000000, + 0x02000000, 0x02000000, 0x02000000, 0x02000000, + 0x00020000, 0x00020000, 0x00020000, 0x00020000, + 0x00020000, 0x00020000, 0x00020000, 0x00020000, + 0x00020000, 0x00020000, 0x00020000, 0x00020000, + 0x00020000, 0x00020000, 0x00020000, 0x00020000, + 0x02020000, 0x02020000, 0x02020000, 0x02020000, + 0x02020000, 0x02020000, 0x02020000, 0x02020000, + 0x02020000, 0x02020000, 0x02020000, 0x02020000, + 0x02020000, 0x02020000, 0x02020000, 0x02020000, + 0x00000200, 0x00000200, 0x00000200, 0x00000200, + 0x00000200, 0x00000200, 0x00000200, 0x00000200, + 0x00000200, 0x00000200, 0x00000200, 0x00000200, + 0x00000200, 0x00000200, 0x00000200, 0x00000200, + 0x02000200, 0x02000200, 0x02000200, 0x02000200, + 0x02000200, 0x02000200, 0x02000200, 0x02000200, + 0x02000200, 0x02000200, 0x02000200, 0x02000200, + 0x02000200, 0x02000200, 0x02000200, 0x02000200, + 0x00020200, 0x00020200, 0x00020200, 0x00020200, + 0x00020200, 0x00020200, 0x00020200, 0x00020200, + 0x00020200, 0x00020200, 0x00020200, 0x00020200, + 0x00020200, 0x00020200, 0x00020200, 0x00020200, + 0x02020200, 0x02020200, 0x02020200, 0x02020200, + 0x02020200, 0x02020200, 0x02020200, 0x02020200, + 0x02020200, 0x02020200, 0x02020200, 0x02020200, + 0x02020200, 0x02020200, 0x02020200, 0x02020200, + 0x00000002, 0x00000002, 0x00000002, 0x00000002, + 0x00000002, 0x00000002, 0x00000002, 0x00000002, + 0x00000002, 0x00000002, 0x00000002, 0x00000002, + 0x00000002, 0x00000002, 0x00000002, 0x00000002, + 0x02000002, 0x02000002, 0x02000002, 0x02000002, + 0x02000002, 0x02000002, 0x02000002, 0x02000002, + 0x02000002, 0x02000002, 0x02000002, 0x02000002, + 0x02000002, 0x02000002, 0x02000002, 0x02000002, + 0x00020002, 0x00020002, 0x00020002, 0x00020002, + 0x00020002, 0x00020002, 0x00020002, 0x00020002, + 0x00020002, 0x00020002, 0x00020002, 0x00020002, + 0x00020002, 0x00020002, 0x00020002, 0x00020002, + 0x02020002, 0x02020002, 0x02020002, 0x02020002, + 0x02020002, 0x02020002, 0x02020002, 0x02020002, + 0x02020002, 0x02020002, 0x02020002, 0x02020002, + 0x02020002, 0x02020002, 0x02020002, 0x02020002, + 0x00000202, 0x00000202, 0x00000202, 0x00000202, + 0x00000202, 0x00000202, 0x00000202, 0x00000202, + 0x00000202, 0x00000202, 0x00000202, 0x00000202, + 0x00000202, 0x00000202, 0x00000202, 0x00000202, + 0x02000202, 0x02000202, 0x02000202, 0x02000202, + 0x02000202, 0x02000202, 0x02000202, 0x02000202, + 0x02000202, 0x02000202, 0x02000202, 0x02000202, + 0x02000202, 0x02000202, 0x02000202, 0x02000202, + 0x00020202, 0x00020202, 0x00020202, 0x00020202, + 0x00020202, 0x00020202, 0x00020202, 0x00020202, + 0x00020202, 0x00020202, 0x00020202, 0x00020202, + 0x00020202, 0x00020202, 0x00020202, 0x00020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, + } +}; +static const u_int32_t key_perm_maskl[8][128] = { + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000010, 0x00000010, 0x00000010, 0x00000010, + 0x00000010, 0x00000010, 0x00000010, 0x00000010, + 0x00000010, 0x00000010, 0x00000010, 0x00000010, + 0x00000010, 0x00000010, 0x00000010, 0x00000010, + 0x00001000, 0x00001000, 0x00001000, 0x00001000, + 0x00001000, 0x00001000, 0x00001000, 0x00001000, + 0x00001000, 0x00001000, 0x00001000, 0x00001000, + 0x00001000, 0x00001000, 0x00001000, 0x00001000, + 0x00001010, 0x00001010, 0x00001010, 0x00001010, + 0x00001010, 0x00001010, 0x00001010, 0x00001010, + 0x00001010, 0x00001010, 0x00001010, 0x00001010, + 0x00001010, 0x00001010, 0x00001010, 0x00001010, + 0x00100000, 0x00100000, 0x00100000, 0x00100000, + 0x00100000, 0x00100000, 0x00100000, 0x00100000, + 0x00100000, 0x00100000, 0x00100000, 0x00100000, + 0x00100000, 0x00100000, 0x00100000, 0x00100000, + 0x00100010, 0x00100010, 0x00100010, 0x00100010, + 0x00100010, 0x00100010, 0x00100010, 0x00100010, + 0x00100010, 0x00100010, 0x00100010, 0x00100010, + 0x00100010, 0x00100010, 0x00100010, 0x00100010, + 0x00101000, 0x00101000, 0x00101000, 0x00101000, + 0x00101000, 0x00101000, 0x00101000, 0x00101000, + 0x00101000, 0x00101000, 0x00101000, 0x00101000, + 0x00101000, 0x00101000, 0x00101000, 0x00101000, + 0x00101010, 0x00101010, 0x00101010, 0x00101010, + 0x00101010, 0x00101010, 0x00101010, 0x00101010, + 0x00101010, 0x00101010, 0x00101010, 0x00101010, + 0x00101010, 0x00101010, 0x00101010, 0x00101010, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000020, 0x00000020, 0x00000020, 0x00000020, + 0x00000020, 0x00000020, 0x00000020, 0x00000020, + 0x00000020, 0x00000020, 0x00000020, 0x00000020, + 0x00000020, 0x00000020, 0x00000020, 0x00000020, + 0x00002000, 0x00002000, 0x00002000, 0x00002000, + 0x00002000, 0x00002000, 0x00002000, 0x00002000, + 0x00002000, 0x00002000, 0x00002000, 0x00002000, + 0x00002000, 0x00002000, 0x00002000, 0x00002000, + 0x00002020, 0x00002020, 0x00002020, 0x00002020, + 0x00002020, 0x00002020, 0x00002020, 0x00002020, + 0x00002020, 0x00002020, 0x00002020, 0x00002020, + 0x00002020, 0x00002020, 0x00002020, 0x00002020, + 0x00200000, 0x00200000, 0x00200000, 0x00200000, + 0x00200000, 0x00200000, 0x00200000, 0x00200000, + 0x00200000, 0x00200000, 0x00200000, 0x00200000, + 0x00200000, 0x00200000, 0x00200000, 0x00200000, + 0x00200020, 0x00200020, 0x00200020, 0x00200020, + 0x00200020, 0x00200020, 0x00200020, 0x00200020, + 0x00200020, 0x00200020, 0x00200020, 0x00200020, + 0x00200020, 0x00200020, 0x00200020, 0x00200020, + 0x00202000, 0x00202000, 0x00202000, 0x00202000, + 0x00202000, 0x00202000, 0x00202000, 0x00202000, + 0x00202000, 0x00202000, 0x00202000, 0x00202000, + 0x00202000, 0x00202000, 0x00202000, 0x00202000, + 0x00202020, 0x00202020, 0x00202020, 0x00202020, + 0x00202020, 0x00202020, 0x00202020, 0x00202020, + 0x00202020, 0x00202020, 0x00202020, 0x00202020, + 0x00202020, 0x00202020, 0x00202020, 0x00202020, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000040, 0x00000040, 0x00000040, 0x00000040, + 0x00000040, 0x00000040, 0x00000040, 0x00000040, + 0x00000040, 0x00000040, 0x00000040, 0x00000040, + 0x00000040, 0x00000040, 0x00000040, 0x00000040, + 0x00004000, 0x00004000, 0x00004000, 0x00004000, + 0x00004000, 0x00004000, 0x00004000, 0x00004000, + 0x00004000, 0x00004000, 0x00004000, 0x00004000, + 0x00004000, 0x00004000, 0x00004000, 0x00004000, + 0x00004040, 0x00004040, 0x00004040, 0x00004040, + 0x00004040, 0x00004040, 0x00004040, 0x00004040, + 0x00004040, 0x00004040, 0x00004040, 0x00004040, + 0x00004040, 0x00004040, 0x00004040, 0x00004040, + 0x00400000, 0x00400000, 0x00400000, 0x00400000, + 0x00400000, 0x00400000, 0x00400000, 0x00400000, + 0x00400000, 0x00400000, 0x00400000, 0x00400000, + 0x00400000, 0x00400000, 0x00400000, 0x00400000, + 0x00400040, 0x00400040, 0x00400040, 0x00400040, + 0x00400040, 0x00400040, 0x00400040, 0x00400040, + 0x00400040, 0x00400040, 0x00400040, 0x00400040, + 0x00400040, 0x00400040, 0x00400040, 0x00400040, + 0x00404000, 0x00404000, 0x00404000, 0x00404000, + 0x00404000, 0x00404000, 0x00404000, 0x00404000, + 0x00404000, 0x00404000, 0x00404000, 0x00404000, + 0x00404000, 0x00404000, 0x00404000, 0x00404000, + 0x00404040, 0x00404040, 0x00404040, 0x00404040, + 0x00404040, 0x00404040, 0x00404040, 0x00404040, + 0x00404040, 0x00404040, 0x00404040, 0x00404040, + 0x00404040, 0x00404040, 0x00404040, 0x00404040, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000080, 0x00000080, 0x00000080, 0x00000080, + 0x00000080, 0x00000080, 0x00000080, 0x00000080, + 0x00000080, 0x00000080, 0x00000080, 0x00000080, + 0x00000080, 0x00000080, 0x00000080, 0x00000080, + 0x00008000, 0x00008000, 0x00008000, 0x00008000, + 0x00008000, 0x00008000, 0x00008000, 0x00008000, + 0x00008000, 0x00008000, 0x00008000, 0x00008000, + 0x00008000, 0x00008000, 0x00008000, 0x00008000, + 0x00008080, 0x00008080, 0x00008080, 0x00008080, + 0x00008080, 0x00008080, 0x00008080, 0x00008080, + 0x00008080, 0x00008080, 0x00008080, 0x00008080, + 0x00008080, 0x00008080, 0x00008080, 0x00008080, + 0x00800000, 0x00800000, 0x00800000, 0x00800000, + 0x00800000, 0x00800000, 0x00800000, 0x00800000, + 0x00800000, 0x00800000, 0x00800000, 0x00800000, + 0x00800000, 0x00800000, 0x00800000, 0x00800000, + 0x00800080, 0x00800080, 0x00800080, 0x00800080, + 0x00800080, 0x00800080, 0x00800080, 0x00800080, + 0x00800080, 0x00800080, 0x00800080, 0x00800080, + 0x00800080, 0x00800080, 0x00800080, 0x00800080, + 0x00808000, 0x00808000, 0x00808000, 0x00808000, + 0x00808000, 0x00808000, 0x00808000, 0x00808000, + 0x00808000, 0x00808000, 0x00808000, 0x00808000, + 0x00808000, 0x00808000, 0x00808000, 0x00808000, + 0x00808080, 0x00808080, 0x00808080, 0x00808080, + 0x00808080, 0x00808080, 0x00808080, 0x00808080, + 0x00808080, 0x00808080, 0x00808080, 0x00808080, + 0x00808080, 0x00808080, 0x00808080, 0x00808080, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000100, 0x00000100, 0x00000100, 0x00000100, + 0x00000100, 0x00000100, 0x00000100, 0x00000100, + 0x00000101, 0x00000101, 0x00000101, 0x00000101, + 0x00000101, 0x00000101, 0x00000101, 0x00000101, + 0x00010000, 0x00010000, 0x00010000, 0x00010000, + 0x00010000, 0x00010000, 0x00010000, 0x00010000, + 0x00010001, 0x00010001, 0x00010001, 0x00010001, + 0x00010001, 0x00010001, 0x00010001, 0x00010001, + 0x00010100, 0x00010100, 0x00010100, 0x00010100, + 0x00010100, 0x00010100, 0x00010100, 0x00010100, + 0x00010101, 0x00010101, 0x00010101, 0x00010101, + 0x00010101, 0x00010101, 0x00010101, 0x00010101, + 0x01000000, 0x01000000, 0x01000000, 0x01000000, + 0x01000000, 0x01000000, 0x01000000, 0x01000000, + 0x01000001, 0x01000001, 0x01000001, 0x01000001, + 0x01000001, 0x01000001, 0x01000001, 0x01000001, + 0x01000100, 0x01000100, 0x01000100, 0x01000100, + 0x01000100, 0x01000100, 0x01000100, 0x01000100, + 0x01000101, 0x01000101, 0x01000101, 0x01000101, + 0x01000101, 0x01000101, 0x01000101, 0x01000101, + 0x01010000, 0x01010000, 0x01010000, 0x01010000, + 0x01010000, 0x01010000, 0x01010000, 0x01010000, + 0x01010001, 0x01010001, 0x01010001, 0x01010001, + 0x01010001, 0x01010001, 0x01010001, 0x01010001, + 0x01010100, 0x01010100, 0x01010100, 0x01010100, + 0x01010100, 0x01010100, 0x01010100, 0x01010100, + 0x01010101, 0x01010101, 0x01010101, 0x01010101, + 0x01010101, 0x01010101, 0x01010101, 0x01010101, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0x00000002, 0x00000002, 0x00000002, + 0x00000002, 0x00000002, 0x00000002, 0x00000002, + 0x00000200, 0x00000200, 0x00000200, 0x00000200, + 0x00000200, 0x00000200, 0x00000200, 0x00000200, + 0x00000202, 0x00000202, 0x00000202, 0x00000202, + 0x00000202, 0x00000202, 0x00000202, 0x00000202, + 0x00020000, 0x00020000, 0x00020000, 0x00020000, + 0x00020000, 0x00020000, 0x00020000, 0x00020000, + 0x00020002, 0x00020002, 0x00020002, 0x00020002, + 0x00020002, 0x00020002, 0x00020002, 0x00020002, + 0x00020200, 0x00020200, 0x00020200, 0x00020200, + 0x00020200, 0x00020200, 0x00020200, 0x00020200, + 0x00020202, 0x00020202, 0x00020202, 0x00020202, + 0x00020202, 0x00020202, 0x00020202, 0x00020202, + 0x02000000, 0x02000000, 0x02000000, 0x02000000, + 0x02000000, 0x02000000, 0x02000000, 0x02000000, + 0x02000002, 0x02000002, 0x02000002, 0x02000002, + 0x02000002, 0x02000002, 0x02000002, 0x02000002, + 0x02000200, 0x02000200, 0x02000200, 0x02000200, + 0x02000200, 0x02000200, 0x02000200, 0x02000200, + 0x02000202, 0x02000202, 0x02000202, 0x02000202, + 0x02000202, 0x02000202, 0x02000202, 0x02000202, + 0x02020000, 0x02020000, 0x02020000, 0x02020000, + 0x02020000, 0x02020000, 0x02020000, 0x02020000, + 0x02020002, 0x02020002, 0x02020002, 0x02020002, + 0x02020002, 0x02020002, 0x02020002, 0x02020002, + 0x02020200, 0x02020200, 0x02020200, 0x02020200, + 0x02020200, 0x02020200, 0x02020200, 0x02020200, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, + 0x02020202, 0x02020202, 0x02020202, 0x02020202, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000004, 0x00000004, 0x00000004, 0x00000004, + 0x00000004, 0x00000004, 0x00000004, 0x00000004, + 0x00000400, 0x00000400, 0x00000400, 0x00000400, + 0x00000400, 0x00000400, 0x00000400, 0x00000400, + 0x00000404, 0x00000404, 0x00000404, 0x00000404, + 0x00000404, 0x00000404, 0x00000404, 0x00000404, + 0x00040000, 0x00040000, 0x00040000, 0x00040000, + 0x00040000, 0x00040000, 0x00040000, 0x00040000, + 0x00040004, 0x00040004, 0x00040004, 0x00040004, + 0x00040004, 0x00040004, 0x00040004, 0x00040004, + 0x00040400, 0x00040400, 0x00040400, 0x00040400, + 0x00040400, 0x00040400, 0x00040400, 0x00040400, + 0x00040404, 0x00040404, 0x00040404, 0x00040404, + 0x00040404, 0x00040404, 0x00040404, 0x00040404, + 0x04000000, 0x04000000, 0x04000000, 0x04000000, + 0x04000000, 0x04000000, 0x04000000, 0x04000000, + 0x04000004, 0x04000004, 0x04000004, 0x04000004, + 0x04000004, 0x04000004, 0x04000004, 0x04000004, + 0x04000400, 0x04000400, 0x04000400, 0x04000400, + 0x04000400, 0x04000400, 0x04000400, 0x04000400, + 0x04000404, 0x04000404, 0x04000404, 0x04000404, + 0x04000404, 0x04000404, 0x04000404, 0x04000404, + 0x04040000, 0x04040000, 0x04040000, 0x04040000, + 0x04040000, 0x04040000, 0x04040000, 0x04040000, + 0x04040004, 0x04040004, 0x04040004, 0x04040004, + 0x04040004, 0x04040004, 0x04040004, 0x04040004, + 0x04040400, 0x04040400, 0x04040400, 0x04040400, + 0x04040400, 0x04040400, 0x04040400, 0x04040400, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, + 0x04040404, 0x04040404, 0x04040404, 0x04040404, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000008, 0x00000008, 0x00000008, 0x00000008, + 0x00000008, 0x00000008, 0x00000008, 0x00000008, + 0x00000800, 0x00000800, 0x00000800, 0x00000800, + 0x00000800, 0x00000800, 0x00000800, 0x00000800, + 0x00000808, 0x00000808, 0x00000808, 0x00000808, + 0x00000808, 0x00000808, 0x00000808, 0x00000808, + 0x00080000, 0x00080000, 0x00080000, 0x00080000, + 0x00080000, 0x00080000, 0x00080000, 0x00080000, + 0x00080008, 0x00080008, 0x00080008, 0x00080008, + 0x00080008, 0x00080008, 0x00080008, 0x00080008, + 0x00080800, 0x00080800, 0x00080800, 0x00080800, + 0x00080800, 0x00080800, 0x00080800, 0x00080800, + 0x00080808, 0x00080808, 0x00080808, 0x00080808, + 0x00080808, 0x00080808, 0x00080808, 0x00080808, + 0x08000000, 0x08000000, 0x08000000, 0x08000000, + 0x08000000, 0x08000000, 0x08000000, 0x08000000, + 0x08000008, 0x08000008, 0x08000008, 0x08000008, + 0x08000008, 0x08000008, 0x08000008, 0x08000008, + 0x08000800, 0x08000800, 0x08000800, 0x08000800, + 0x08000800, 0x08000800, 0x08000800, 0x08000800, + 0x08000808, 0x08000808, 0x08000808, 0x08000808, + 0x08000808, 0x08000808, 0x08000808, 0x08000808, + 0x08080000, 0x08080000, 0x08080000, 0x08080000, + 0x08080000, 0x08080000, 0x08080000, 0x08080000, + 0x08080008, 0x08080008, 0x08080008, 0x08080008, + 0x08080008, 0x08080008, 0x08080008, 0x08080008, + 0x08080800, 0x08080800, 0x08080800, 0x08080800, + 0x08080800, 0x08080800, 0x08080800, 0x08080800, + 0x08080808, 0x08080808, 0x08080808, 0x08080808, + 0x08080808, 0x08080808, 0x08080808, 0x08080808, + } +}; +static const u_int32_t key_perm_maskr[8][128] = { + { + 0x00000000, 0x00100000, 0x00001000, 0x00101000, + 0x00000010, 0x00100010, 0x00001010, 0x00101010, + 0x00000001, 0x00100001, 0x00001001, 0x00101001, + 0x00000011, 0x00100011, 0x00001011, 0x00101011, + 0x00000000, 0x00100000, 0x00001000, 0x00101000, + 0x00000010, 0x00100010, 0x00001010, 0x00101010, + 0x00000001, 0x00100001, 0x00001001, 0x00101001, + 0x00000011, 0x00100011, 0x00001011, 0x00101011, + 0x00000000, 0x00100000, 0x00001000, 0x00101000, + 0x00000010, 0x00100010, 0x00001010, 0x00101010, + 0x00000001, 0x00100001, 0x00001001, 0x00101001, + 0x00000011, 0x00100011, 0x00001011, 0x00101011, + 0x00000000, 0x00100000, 0x00001000, 0x00101000, + 0x00000010, 0x00100010, 0x00001010, 0x00101010, + 0x00000001, 0x00100001, 0x00001001, 0x00101001, + 0x00000011, 0x00100011, 0x00001011, 0x00101011, + 0x00000000, 0x00100000, 0x00001000, 0x00101000, + 0x00000010, 0x00100010, 0x00001010, 0x00101010, + 0x00000001, 0x00100001, 0x00001001, 0x00101001, + 0x00000011, 0x00100011, 0x00001011, 0x00101011, + 0x00000000, 0x00100000, 0x00001000, 0x00101000, + 0x00000010, 0x00100010, 0x00001010, 0x00101010, + 0x00000001, 0x00100001, 0x00001001, 0x00101001, + 0x00000011, 0x00100011, 0x00001011, 0x00101011, + 0x00000000, 0x00100000, 0x00001000, 0x00101000, + 0x00000010, 0x00100010, 0x00001010, 0x00101010, + 0x00000001, 0x00100001, 0x00001001, 0x00101001, + 0x00000011, 0x00100011, 0x00001011, 0x00101011, + 0x00000000, 0x00100000, 0x00001000, 0x00101000, + 0x00000010, 0x00100010, 0x00001010, 0x00101010, + 0x00000001, 0x00100001, 0x00001001, 0x00101001, + 0x00000011, 0x00100011, 0x00001011, 0x00101011, + }, { + 0x00000000, 0x00200000, 0x00002000, 0x00202000, + 0x00000020, 0x00200020, 0x00002020, 0x00202020, + 0x00000002, 0x00200002, 0x00002002, 0x00202002, + 0x00000022, 0x00200022, 0x00002022, 0x00202022, + 0x00000000, 0x00200000, 0x00002000, 0x00202000, + 0x00000020, 0x00200020, 0x00002020, 0x00202020, + 0x00000002, 0x00200002, 0x00002002, 0x00202002, + 0x00000022, 0x00200022, 0x00002022, 0x00202022, + 0x00000000, 0x00200000, 0x00002000, 0x00202000, + 0x00000020, 0x00200020, 0x00002020, 0x00202020, + 0x00000002, 0x00200002, 0x00002002, 0x00202002, + 0x00000022, 0x00200022, 0x00002022, 0x00202022, + 0x00000000, 0x00200000, 0x00002000, 0x00202000, + 0x00000020, 0x00200020, 0x00002020, 0x00202020, + 0x00000002, 0x00200002, 0x00002002, 0x00202002, + 0x00000022, 0x00200022, 0x00002022, 0x00202022, + 0x00000000, 0x00200000, 0x00002000, 0x00202000, + 0x00000020, 0x00200020, 0x00002020, 0x00202020, + 0x00000002, 0x00200002, 0x00002002, 0x00202002, + 0x00000022, 0x00200022, 0x00002022, 0x00202022, + 0x00000000, 0x00200000, 0x00002000, 0x00202000, + 0x00000020, 0x00200020, 0x00002020, 0x00202020, + 0x00000002, 0x00200002, 0x00002002, 0x00202002, + 0x00000022, 0x00200022, 0x00002022, 0x00202022, + 0x00000000, 0x00200000, 0x00002000, 0x00202000, + 0x00000020, 0x00200020, 0x00002020, 0x00202020, + 0x00000002, 0x00200002, 0x00002002, 0x00202002, + 0x00000022, 0x00200022, 0x00002022, 0x00202022, + 0x00000000, 0x00200000, 0x00002000, 0x00202000, + 0x00000020, 0x00200020, 0x00002020, 0x00202020, + 0x00000002, 0x00200002, 0x00002002, 0x00202002, + 0x00000022, 0x00200022, 0x00002022, 0x00202022, + }, { + 0x00000000, 0x00400000, 0x00004000, 0x00404000, + 0x00000040, 0x00400040, 0x00004040, 0x00404040, + 0x00000004, 0x00400004, 0x00004004, 0x00404004, + 0x00000044, 0x00400044, 0x00004044, 0x00404044, + 0x00000000, 0x00400000, 0x00004000, 0x00404000, + 0x00000040, 0x00400040, 0x00004040, 0x00404040, + 0x00000004, 0x00400004, 0x00004004, 0x00404004, + 0x00000044, 0x00400044, 0x00004044, 0x00404044, + 0x00000000, 0x00400000, 0x00004000, 0x00404000, + 0x00000040, 0x00400040, 0x00004040, 0x00404040, + 0x00000004, 0x00400004, 0x00004004, 0x00404004, + 0x00000044, 0x00400044, 0x00004044, 0x00404044, + 0x00000000, 0x00400000, 0x00004000, 0x00404000, + 0x00000040, 0x00400040, 0x00004040, 0x00404040, + 0x00000004, 0x00400004, 0x00004004, 0x00404004, + 0x00000044, 0x00400044, 0x00004044, 0x00404044, + 0x00000000, 0x00400000, 0x00004000, 0x00404000, + 0x00000040, 0x00400040, 0x00004040, 0x00404040, + 0x00000004, 0x00400004, 0x00004004, 0x00404004, + 0x00000044, 0x00400044, 0x00004044, 0x00404044, + 0x00000000, 0x00400000, 0x00004000, 0x00404000, + 0x00000040, 0x00400040, 0x00004040, 0x00404040, + 0x00000004, 0x00400004, 0x00004004, 0x00404004, + 0x00000044, 0x00400044, 0x00004044, 0x00404044, + 0x00000000, 0x00400000, 0x00004000, 0x00404000, + 0x00000040, 0x00400040, 0x00004040, 0x00404040, + 0x00000004, 0x00400004, 0x00004004, 0x00404004, + 0x00000044, 0x00400044, 0x00004044, 0x00404044, + 0x00000000, 0x00400000, 0x00004000, 0x00404000, + 0x00000040, 0x00400040, 0x00004040, 0x00404040, + 0x00000004, 0x00400004, 0x00004004, 0x00404004, + 0x00000044, 0x00400044, 0x00004044, 0x00404044, + }, { + 0x00000000, 0x00800000, 0x00008000, 0x00808000, + 0x00000080, 0x00800080, 0x00008080, 0x00808080, + 0x00000008, 0x00800008, 0x00008008, 0x00808008, + 0x00000088, 0x00800088, 0x00008088, 0x00808088, + 0x00000000, 0x00800000, 0x00008000, 0x00808000, + 0x00000080, 0x00800080, 0x00008080, 0x00808080, + 0x00000008, 0x00800008, 0x00008008, 0x00808008, + 0x00000088, 0x00800088, 0x00008088, 0x00808088, + 0x00000000, 0x00800000, 0x00008000, 0x00808000, + 0x00000080, 0x00800080, 0x00008080, 0x00808080, + 0x00000008, 0x00800008, 0x00008008, 0x00808008, + 0x00000088, 0x00800088, 0x00008088, 0x00808088, + 0x00000000, 0x00800000, 0x00008000, 0x00808000, + 0x00000080, 0x00800080, 0x00008080, 0x00808080, + 0x00000008, 0x00800008, 0x00008008, 0x00808008, + 0x00000088, 0x00800088, 0x00008088, 0x00808088, + 0x00000000, 0x00800000, 0x00008000, 0x00808000, + 0x00000080, 0x00800080, 0x00008080, 0x00808080, + 0x00000008, 0x00800008, 0x00008008, 0x00808008, + 0x00000088, 0x00800088, 0x00008088, 0x00808088, + 0x00000000, 0x00800000, 0x00008000, 0x00808000, + 0x00000080, 0x00800080, 0x00008080, 0x00808080, + 0x00000008, 0x00800008, 0x00008008, 0x00808008, + 0x00000088, 0x00800088, 0x00008088, 0x00808088, + 0x00000000, 0x00800000, 0x00008000, 0x00808000, + 0x00000080, 0x00800080, 0x00008080, 0x00808080, + 0x00000008, 0x00800008, 0x00008008, 0x00808008, + 0x00000088, 0x00800088, 0x00008088, 0x00808088, + 0x00000000, 0x00800000, 0x00008000, 0x00808000, + 0x00000080, 0x00800080, 0x00008080, 0x00808080, + 0x00000008, 0x00800008, 0x00008008, 0x00808008, + 0x00000088, 0x00800088, 0x00008088, 0x00808088, + }, { + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + }, { + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + 0x00000000, 0x02000000, 0x00020000, 0x02020000, + 0x00000200, 0x02000200, 0x00020200, 0x02020200, + }, { + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + 0x00000000, 0x04000000, 0x00040000, 0x04040000, + 0x00000400, 0x04000400, 0x00040400, 0x04040400, + }, { + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + 0x00000000, 0x08000000, 0x00080000, 0x08080000, + 0x00000800, 0x08000800, 0x00080800, 0x08080800, + } +}; +static const u_int32_t comp_maskl[8][128] = { + { + 0x00000000, 0x00000010, 0x00004000, 0x00004010, + 0x00040000, 0x00040010, 0x00044000, 0x00044010, + 0x00000100, 0x00000110, 0x00004100, 0x00004110, + 0x00040100, 0x00040110, 0x00044100, 0x00044110, + 0x00020000, 0x00020010, 0x00024000, 0x00024010, + 0x00060000, 0x00060010, 0x00064000, 0x00064010, + 0x00020100, 0x00020110, 0x00024100, 0x00024110, + 0x00060100, 0x00060110, 0x00064100, 0x00064110, + 0x00000001, 0x00000011, 0x00004001, 0x00004011, + 0x00040001, 0x00040011, 0x00044001, 0x00044011, + 0x00000101, 0x00000111, 0x00004101, 0x00004111, + 0x00040101, 0x00040111, 0x00044101, 0x00044111, + 0x00020001, 0x00020011, 0x00024001, 0x00024011, + 0x00060001, 0x00060011, 0x00064001, 0x00064011, + 0x00020101, 0x00020111, 0x00024101, 0x00024111, + 0x00060101, 0x00060111, 0x00064101, 0x00064111, + 0x00080000, 0x00080010, 0x00084000, 0x00084010, + 0x000c0000, 0x000c0010, 0x000c4000, 0x000c4010, + 0x00080100, 0x00080110, 0x00084100, 0x00084110, + 0x000c0100, 0x000c0110, 0x000c4100, 0x000c4110, + 0x000a0000, 0x000a0010, 0x000a4000, 0x000a4010, + 0x000e0000, 0x000e0010, 0x000e4000, 0x000e4010, + 0x000a0100, 0x000a0110, 0x000a4100, 0x000a4110, + 0x000e0100, 0x000e0110, 0x000e4100, 0x000e4110, + 0x00080001, 0x00080011, 0x00084001, 0x00084011, + 0x000c0001, 0x000c0011, 0x000c4001, 0x000c4011, + 0x00080101, 0x00080111, 0x00084101, 0x00084111, + 0x000c0101, 0x000c0111, 0x000c4101, 0x000c4111, + 0x000a0001, 0x000a0011, 0x000a4001, 0x000a4011, + 0x000e0001, 0x000e0011, 0x000e4001, 0x000e4011, + 0x000a0101, 0x000a0111, 0x000a4101, 0x000a4111, + 0x000e0101, 0x000e0111, 0x000e4101, 0x000e4111, + }, { + 0x00000000, 0x00800000, 0x00000002, 0x00800002, + 0x00000200, 0x00800200, 0x00000202, 0x00800202, + 0x00200000, 0x00a00000, 0x00200002, 0x00a00002, + 0x00200200, 0x00a00200, 0x00200202, 0x00a00202, + 0x00001000, 0x00801000, 0x00001002, 0x00801002, + 0x00001200, 0x00801200, 0x00001202, 0x00801202, + 0x00201000, 0x00a01000, 0x00201002, 0x00a01002, + 0x00201200, 0x00a01200, 0x00201202, 0x00a01202, + 0x00000000, 0x00800000, 0x00000002, 0x00800002, + 0x00000200, 0x00800200, 0x00000202, 0x00800202, + 0x00200000, 0x00a00000, 0x00200002, 0x00a00002, + 0x00200200, 0x00a00200, 0x00200202, 0x00a00202, + 0x00001000, 0x00801000, 0x00001002, 0x00801002, + 0x00001200, 0x00801200, 0x00001202, 0x00801202, + 0x00201000, 0x00a01000, 0x00201002, 0x00a01002, + 0x00201200, 0x00a01200, 0x00201202, 0x00a01202, + 0x00000040, 0x00800040, 0x00000042, 0x00800042, + 0x00000240, 0x00800240, 0x00000242, 0x00800242, + 0x00200040, 0x00a00040, 0x00200042, 0x00a00042, + 0x00200240, 0x00a00240, 0x00200242, 0x00a00242, + 0x00001040, 0x00801040, 0x00001042, 0x00801042, + 0x00001240, 0x00801240, 0x00001242, 0x00801242, + 0x00201040, 0x00a01040, 0x00201042, 0x00a01042, + 0x00201240, 0x00a01240, 0x00201242, 0x00a01242, + 0x00000040, 0x00800040, 0x00000042, 0x00800042, + 0x00000240, 0x00800240, 0x00000242, 0x00800242, + 0x00200040, 0x00a00040, 0x00200042, 0x00a00042, + 0x00200240, 0x00a00240, 0x00200242, 0x00a00242, + 0x00001040, 0x00801040, 0x00001042, 0x00801042, + 0x00001240, 0x00801240, 0x00001242, 0x00801242, + 0x00201040, 0x00a01040, 0x00201042, 0x00a01042, + 0x00201240, 0x00a01240, 0x00201242, 0x00a01242, + }, { + 0x00000000, 0x00002000, 0x00000004, 0x00002004, + 0x00000400, 0x00002400, 0x00000404, 0x00002404, + 0x00000000, 0x00002000, 0x00000004, 0x00002004, + 0x00000400, 0x00002400, 0x00000404, 0x00002404, + 0x00400000, 0x00402000, 0x00400004, 0x00402004, + 0x00400400, 0x00402400, 0x00400404, 0x00402404, + 0x00400000, 0x00402000, 0x00400004, 0x00402004, + 0x00400400, 0x00402400, 0x00400404, 0x00402404, + 0x00000020, 0x00002020, 0x00000024, 0x00002024, + 0x00000420, 0x00002420, 0x00000424, 0x00002424, + 0x00000020, 0x00002020, 0x00000024, 0x00002024, + 0x00000420, 0x00002420, 0x00000424, 0x00002424, + 0x00400020, 0x00402020, 0x00400024, 0x00402024, + 0x00400420, 0x00402420, 0x00400424, 0x00402424, + 0x00400020, 0x00402020, 0x00400024, 0x00402024, + 0x00400420, 0x00402420, 0x00400424, 0x00402424, + 0x00008000, 0x0000a000, 0x00008004, 0x0000a004, + 0x00008400, 0x0000a400, 0x00008404, 0x0000a404, + 0x00008000, 0x0000a000, 0x00008004, 0x0000a004, + 0x00008400, 0x0000a400, 0x00008404, 0x0000a404, + 0x00408000, 0x0040a000, 0x00408004, 0x0040a004, + 0x00408400, 0x0040a400, 0x00408404, 0x0040a404, + 0x00408000, 0x0040a000, 0x00408004, 0x0040a004, + 0x00408400, 0x0040a400, 0x00408404, 0x0040a404, + 0x00008020, 0x0000a020, 0x00008024, 0x0000a024, + 0x00008420, 0x0000a420, 0x00008424, 0x0000a424, + 0x00008020, 0x0000a020, 0x00008024, 0x0000a024, + 0x00008420, 0x0000a420, 0x00008424, 0x0000a424, + 0x00408020, 0x0040a020, 0x00408024, 0x0040a024, + 0x00408420, 0x0040a420, 0x00408424, 0x0040a424, + 0x00408020, 0x0040a020, 0x00408024, 0x0040a024, + 0x00408420, 0x0040a420, 0x00408424, 0x0040a424, + }, { + 0x00000000, 0x00010000, 0x00000008, 0x00010008, + 0x00000080, 0x00010080, 0x00000088, 0x00010088, + 0x00000000, 0x00010000, 0x00000008, 0x00010008, + 0x00000080, 0x00010080, 0x00000088, 0x00010088, + 0x00100000, 0x00110000, 0x00100008, 0x00110008, + 0x00100080, 0x00110080, 0x00100088, 0x00110088, + 0x00100000, 0x00110000, 0x00100008, 0x00110008, + 0x00100080, 0x00110080, 0x00100088, 0x00110088, + 0x00000800, 0x00010800, 0x00000808, 0x00010808, + 0x00000880, 0x00010880, 0x00000888, 0x00010888, + 0x00000800, 0x00010800, 0x00000808, 0x00010808, + 0x00000880, 0x00010880, 0x00000888, 0x00010888, + 0x00100800, 0x00110800, 0x00100808, 0x00110808, + 0x00100880, 0x00110880, 0x00100888, 0x00110888, + 0x00100800, 0x00110800, 0x00100808, 0x00110808, + 0x00100880, 0x00110880, 0x00100888, 0x00110888, + 0x00000000, 0x00010000, 0x00000008, 0x00010008, + 0x00000080, 0x00010080, 0x00000088, 0x00010088, + 0x00000000, 0x00010000, 0x00000008, 0x00010008, + 0x00000080, 0x00010080, 0x00000088, 0x00010088, + 0x00100000, 0x00110000, 0x00100008, 0x00110008, + 0x00100080, 0x00110080, 0x00100088, 0x00110088, + 0x00100000, 0x00110000, 0x00100008, 0x00110008, + 0x00100080, 0x00110080, 0x00100088, 0x00110088, + 0x00000800, 0x00010800, 0x00000808, 0x00010808, + 0x00000880, 0x00010880, 0x00000888, 0x00010888, + 0x00000800, 0x00010800, 0x00000808, 0x00010808, + 0x00000880, 0x00010880, 0x00000888, 0x00010888, + 0x00100800, 0x00110800, 0x00100808, 0x00110808, + 0x00100880, 0x00110880, 0x00100888, 0x00110888, + 0x00100800, 0x00110800, 0x00100808, 0x00110808, + 0x00100880, 0x00110880, 0x00100888, 0x00110888, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + } +}; +static const u_int32_t comp_maskr[8][128] = { + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + }, { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + }, { + 0x00000000, 0x00000000, 0x00000080, 0x00000080, + 0x00002000, 0x00002000, 0x00002080, 0x00002080, + 0x00000001, 0x00000001, 0x00000081, 0x00000081, + 0x00002001, 0x00002001, 0x00002081, 0x00002081, + 0x00200000, 0x00200000, 0x00200080, 0x00200080, + 0x00202000, 0x00202000, 0x00202080, 0x00202080, + 0x00200001, 0x00200001, 0x00200081, 0x00200081, + 0x00202001, 0x00202001, 0x00202081, 0x00202081, + 0x00020000, 0x00020000, 0x00020080, 0x00020080, + 0x00022000, 0x00022000, 0x00022080, 0x00022080, + 0x00020001, 0x00020001, 0x00020081, 0x00020081, + 0x00022001, 0x00022001, 0x00022081, 0x00022081, + 0x00220000, 0x00220000, 0x00220080, 0x00220080, + 0x00222000, 0x00222000, 0x00222080, 0x00222080, + 0x00220001, 0x00220001, 0x00220081, 0x00220081, + 0x00222001, 0x00222001, 0x00222081, 0x00222081, + 0x00000002, 0x00000002, 0x00000082, 0x00000082, + 0x00002002, 0x00002002, 0x00002082, 0x00002082, + 0x00000003, 0x00000003, 0x00000083, 0x00000083, + 0x00002003, 0x00002003, 0x00002083, 0x00002083, + 0x00200002, 0x00200002, 0x00200082, 0x00200082, + 0x00202002, 0x00202002, 0x00202082, 0x00202082, + 0x00200003, 0x00200003, 0x00200083, 0x00200083, + 0x00202003, 0x00202003, 0x00202083, 0x00202083, + 0x00020002, 0x00020002, 0x00020082, 0x00020082, + 0x00022002, 0x00022002, 0x00022082, 0x00022082, + 0x00020003, 0x00020003, 0x00020083, 0x00020083, + 0x00022003, 0x00022003, 0x00022083, 0x00022083, + 0x00220002, 0x00220002, 0x00220082, 0x00220082, + 0x00222002, 0x00222002, 0x00222082, 0x00222082, + 0x00220003, 0x00220003, 0x00220083, 0x00220083, + 0x00222003, 0x00222003, 0x00222083, 0x00222083, + }, { + 0x00000000, 0x00000010, 0x00800000, 0x00800010, + 0x00010000, 0x00010010, 0x00810000, 0x00810010, + 0x00000200, 0x00000210, 0x00800200, 0x00800210, + 0x00010200, 0x00010210, 0x00810200, 0x00810210, + 0x00000000, 0x00000010, 0x00800000, 0x00800010, + 0x00010000, 0x00010010, 0x00810000, 0x00810010, + 0x00000200, 0x00000210, 0x00800200, 0x00800210, + 0x00010200, 0x00010210, 0x00810200, 0x00810210, + 0x00100000, 0x00100010, 0x00900000, 0x00900010, + 0x00110000, 0x00110010, 0x00910000, 0x00910010, + 0x00100200, 0x00100210, 0x00900200, 0x00900210, + 0x00110200, 0x00110210, 0x00910200, 0x00910210, + 0x00100000, 0x00100010, 0x00900000, 0x00900010, + 0x00110000, 0x00110010, 0x00910000, 0x00910010, + 0x00100200, 0x00100210, 0x00900200, 0x00900210, + 0x00110200, 0x00110210, 0x00910200, 0x00910210, + 0x00000004, 0x00000014, 0x00800004, 0x00800014, + 0x00010004, 0x00010014, 0x00810004, 0x00810014, + 0x00000204, 0x00000214, 0x00800204, 0x00800214, + 0x00010204, 0x00010214, 0x00810204, 0x00810214, + 0x00000004, 0x00000014, 0x00800004, 0x00800014, + 0x00010004, 0x00010014, 0x00810004, 0x00810014, + 0x00000204, 0x00000214, 0x00800204, 0x00800214, + 0x00010204, 0x00010214, 0x00810204, 0x00810214, + 0x00100004, 0x00100014, 0x00900004, 0x00900014, + 0x00110004, 0x00110014, 0x00910004, 0x00910014, + 0x00100204, 0x00100214, 0x00900204, 0x00900214, + 0x00110204, 0x00110214, 0x00910204, 0x00910214, + 0x00100004, 0x00100014, 0x00900004, 0x00900014, + 0x00110004, 0x00110014, 0x00910004, 0x00910014, + 0x00100204, 0x00100214, 0x00900204, 0x00900214, + 0x00110204, 0x00110214, 0x00910204, 0x00910214, + }, { + 0x00000000, 0x00000400, 0x00001000, 0x00001400, + 0x00080000, 0x00080400, 0x00081000, 0x00081400, + 0x00000020, 0x00000420, 0x00001020, 0x00001420, + 0x00080020, 0x00080420, 0x00081020, 0x00081420, + 0x00004000, 0x00004400, 0x00005000, 0x00005400, + 0x00084000, 0x00084400, 0x00085000, 0x00085400, + 0x00004020, 0x00004420, 0x00005020, 0x00005420, + 0x00084020, 0x00084420, 0x00085020, 0x00085420, + 0x00000800, 0x00000c00, 0x00001800, 0x00001c00, + 0x00080800, 0x00080c00, 0x00081800, 0x00081c00, + 0x00000820, 0x00000c20, 0x00001820, 0x00001c20, + 0x00080820, 0x00080c20, 0x00081820, 0x00081c20, + 0x00004800, 0x00004c00, 0x00005800, 0x00005c00, + 0x00084800, 0x00084c00, 0x00085800, 0x00085c00, + 0x00004820, 0x00004c20, 0x00005820, 0x00005c20, + 0x00084820, 0x00084c20, 0x00085820, 0x00085c20, + 0x00000000, 0x00000400, 0x00001000, 0x00001400, + 0x00080000, 0x00080400, 0x00081000, 0x00081400, + 0x00000020, 0x00000420, 0x00001020, 0x00001420, + 0x00080020, 0x00080420, 0x00081020, 0x00081420, + 0x00004000, 0x00004400, 0x00005000, 0x00005400, + 0x00084000, 0x00084400, 0x00085000, 0x00085400, + 0x00004020, 0x00004420, 0x00005020, 0x00005420, + 0x00084020, 0x00084420, 0x00085020, 0x00085420, + 0x00000800, 0x00000c00, 0x00001800, 0x00001c00, + 0x00080800, 0x00080c00, 0x00081800, 0x00081c00, + 0x00000820, 0x00000c20, 0x00001820, 0x00001c20, + 0x00080820, 0x00080c20, 0x00081820, 0x00081c20, + 0x00004800, 0x00004c00, 0x00005800, 0x00005c00, + 0x00084800, 0x00084c00, 0x00085800, 0x00085c00, + 0x00004820, 0x00004c20, 0x00005820, 0x00005c20, + 0x00084820, 0x00084c20, 0x00085820, 0x00085c20, + }, { + 0x00000000, 0x00000100, 0x00040000, 0x00040100, + 0x00000000, 0x00000100, 0x00040000, 0x00040100, + 0x00000040, 0x00000140, 0x00040040, 0x00040140, + 0x00000040, 0x00000140, 0x00040040, 0x00040140, + 0x00400000, 0x00400100, 0x00440000, 0x00440100, + 0x00400000, 0x00400100, 0x00440000, 0x00440100, + 0x00400040, 0x00400140, 0x00440040, 0x00440140, + 0x00400040, 0x00400140, 0x00440040, 0x00440140, + 0x00008000, 0x00008100, 0x00048000, 0x00048100, + 0x00008000, 0x00008100, 0x00048000, 0x00048100, + 0x00008040, 0x00008140, 0x00048040, 0x00048140, + 0x00008040, 0x00008140, 0x00048040, 0x00048140, + 0x00408000, 0x00408100, 0x00448000, 0x00448100, + 0x00408000, 0x00408100, 0x00448000, 0x00448100, + 0x00408040, 0x00408140, 0x00448040, 0x00448140, + 0x00408040, 0x00408140, 0x00448040, 0x00448140, + 0x00000008, 0x00000108, 0x00040008, 0x00040108, + 0x00000008, 0x00000108, 0x00040008, 0x00040108, + 0x00000048, 0x00000148, 0x00040048, 0x00040148, + 0x00000048, 0x00000148, 0x00040048, 0x00040148, + 0x00400008, 0x00400108, 0x00440008, 0x00440108, + 0x00400008, 0x00400108, 0x00440008, 0x00440108, + 0x00400048, 0x00400148, 0x00440048, 0x00440148, + 0x00400048, 0x00400148, 0x00440048, 0x00440148, + 0x00008008, 0x00008108, 0x00048008, 0x00048108, + 0x00008008, 0x00008108, 0x00048008, 0x00048108, + 0x00008048, 0x00008148, 0x00048048, 0x00048148, + 0x00008048, 0x00008148, 0x00048048, 0x00048148, + 0x00408008, 0x00408108, 0x00448008, 0x00448108, + 0x00408008, 0x00408108, 0x00448008, 0x00448108, + 0x00408048, 0x00408148, 0x00448048, 0x00448148, + 0x00408048, 0x00408148, 0x00448048, 0x00448148, + } +}; +static const u_char m_sbox[4][4096] = { + { + 0xef, 0xe3, 0xe1, 0xed, 0xe8, 0xe4, 0xee, 0xe7, 0xe6, 0xef, 0xeb, 0xe2, 0xe3, 0xe8, 0xe4, 0xee, + 0xe9, 0xec, 0xe7, 0xe0, 0xe2, 0xe1, 0xed, 0xea, 0xec, 0xe6, 0xe0, 0xe9, 0xe5, 0xeb, 0xea, 0xe5, + 0xe0, 0xed, 0xee, 0xe8, 0xe7, 0xea, 0xeb, 0xe1, 0xea, 0xe3, 0xe4, 0xef, 0xed, 0xe4, 0xe1, 0xe2, + 0xe5, 0xeb, 0xe8, 0xe6, 0xec, 0xe7, 0xe6, 0xec, 0xe9, 0xe0, 0xe3, 0xe5, 0xe2, 0xee, 0xef, 0xe9, + 0x0f, 0x03, 0x01, 0x0d, 0x08, 0x04, 0x0e, 0x07, 0x06, 0x0f, 0x0b, 0x02, 0x03, 0x08, 0x04, 0x0e, + 0x09, 0x0c, 0x07, 0x00, 0x02, 0x01, 0x0d, 0x0a, 0x0c, 0x06, 0x00, 0x09, 0x05, 0x0b, 0x0a, 0x05, + 0x00, 0x0d, 0x0e, 0x08, 0x07, 0x0a, 0x0b, 0x01, 0x0a, 0x03, 0x04, 0x0f, 0x0d, 0x04, 0x01, 0x02, + 0x05, 0x0b, 0x08, 0x06, 0x0c, 0x07, 0x06, 0x0c, 0x09, 0x00, 0x03, 0x05, 0x02, 0x0e, 0x0f, 0x09, + 0x4f, 0x43, 0x41, 0x4d, 0x48, 0x44, 0x4e, 0x47, 0x46, 0x4f, 0x4b, 0x42, 0x43, 0x48, 0x44, 0x4e, + 0x49, 0x4c, 0x47, 0x40, 0x42, 0x41, 0x4d, 0x4a, 0x4c, 0x46, 0x40, 0x49, 0x45, 0x4b, 0x4a, 0x45, + 0x40, 0x4d, 0x4e, 0x48, 0x47, 0x4a, 0x4b, 0x41, 0x4a, 0x43, 0x44, 0x4f, 0x4d, 0x44, 0x41, 0x42, + 0x45, 0x4b, 0x48, 0x46, 0x4c, 0x47, 0x46, 0x4c, 0x49, 0x40, 0x43, 0x45, 0x42, 0x4e, 0x4f, 0x49, + 0xff, 0xf3, 0xf1, 0xfd, 0xf8, 0xf4, 0xfe, 0xf7, 0xf6, 0xff, 0xfb, 0xf2, 0xf3, 0xf8, 0xf4, 0xfe, + 0xf9, 0xfc, 0xf7, 0xf0, 0xf2, 0xf1, 0xfd, 0xfa, 0xfc, 0xf6, 0xf0, 0xf9, 0xf5, 0xfb, 0xfa, 0xf5, + 0xf0, 0xfd, 0xfe, 0xf8, 0xf7, 0xfa, 0xfb, 0xf1, 0xfa, 0xf3, 0xf4, 0xff, 0xfd, 0xf4, 0xf1, 0xf2, + 0xf5, 0xfb, 0xf8, 0xf6, 0xfc, 0xf7, 0xf6, 0xfc, 0xf9, 0xf0, 0xf3, 0xf5, 0xf2, 0xfe, 0xff, 0xf9, + 0xdf, 0xd3, 0xd1, 0xdd, 0xd8, 0xd4, 0xde, 0xd7, 0xd6, 0xdf, 0xdb, 0xd2, 0xd3, 0xd8, 0xd4, 0xde, + 0xd9, 0xdc, 0xd7, 0xd0, 0xd2, 0xd1, 0xdd, 0xda, 0xdc, 0xd6, 0xd0, 0xd9, 0xd5, 0xdb, 0xda, 0xd5, + 0xd0, 0xdd, 0xde, 0xd8, 0xd7, 0xda, 0xdb, 0xd1, 0xda, 0xd3, 0xd4, 0xdf, 0xdd, 0xd4, 0xd1, 0xd2, + 0xd5, 0xdb, 0xd8, 0xd6, 0xdc, 0xd7, 0xd6, 0xdc, 0xd9, 0xd0, 0xd3, 0xd5, 0xd2, 0xde, 0xdf, 0xd9, + 0x7f, 0x73, 0x71, 0x7d, 0x78, 0x74, 0x7e, 0x77, 0x76, 0x7f, 0x7b, 0x72, 0x73, 0x78, 0x74, 0x7e, + 0x79, 0x7c, 0x77, 0x70, 0x72, 0x71, 0x7d, 0x7a, 0x7c, 0x76, 0x70, 0x79, 0x75, 0x7b, 0x7a, 0x75, + 0x70, 0x7d, 0x7e, 0x78, 0x77, 0x7a, 0x7b, 0x71, 0x7a, 0x73, 0x74, 0x7f, 0x7d, 0x74, 0x71, 0x72, + 0x75, 0x7b, 0x78, 0x76, 0x7c, 0x77, 0x76, 0x7c, 0x79, 0x70, 0x73, 0x75, 0x72, 0x7e, 0x7f, 0x79, + 0x1f, 0x13, 0x11, 0x1d, 0x18, 0x14, 0x1e, 0x17, 0x16, 0x1f, 0x1b, 0x12, 0x13, 0x18, 0x14, 0x1e, + 0x19, 0x1c, 0x17, 0x10, 0x12, 0x11, 0x1d, 0x1a, 0x1c, 0x16, 0x10, 0x19, 0x15, 0x1b, 0x1a, 0x15, + 0x10, 0x1d, 0x1e, 0x18, 0x17, 0x1a, 0x1b, 0x11, 0x1a, 0x13, 0x14, 0x1f, 0x1d, 0x14, 0x11, 0x12, + 0x15, 0x1b, 0x18, 0x16, 0x1c, 0x17, 0x16, 0x1c, 0x19, 0x10, 0x13, 0x15, 0x12, 0x1e, 0x1f, 0x19, + 0x4f, 0x43, 0x41, 0x4d, 0x48, 0x44, 0x4e, 0x47, 0x46, 0x4f, 0x4b, 0x42, 0x43, 0x48, 0x44, 0x4e, + 0x49, 0x4c, 0x47, 0x40, 0x42, 0x41, 0x4d, 0x4a, 0x4c, 0x46, 0x40, 0x49, 0x45, 0x4b, 0x4a, 0x45, + 0x40, 0x4d, 0x4e, 0x48, 0x47, 0x4a, 0x4b, 0x41, 0x4a, 0x43, 0x44, 0x4f, 0x4d, 0x44, 0x41, 0x42, + 0x45, 0x4b, 0x48, 0x46, 0x4c, 0x47, 0x46, 0x4c, 0x49, 0x40, 0x43, 0x45, 0x42, 0x4e, 0x4f, 0x49, + 0x2f, 0x23, 0x21, 0x2d, 0x28, 0x24, 0x2e, 0x27, 0x26, 0x2f, 0x2b, 0x22, 0x23, 0x28, 0x24, 0x2e, + 0x29, 0x2c, 0x27, 0x20, 0x22, 0x21, 0x2d, 0x2a, 0x2c, 0x26, 0x20, 0x29, 0x25, 0x2b, 0x2a, 0x25, + 0x20, 0x2d, 0x2e, 0x28, 0x27, 0x2a, 0x2b, 0x21, 0x2a, 0x23, 0x24, 0x2f, 0x2d, 0x24, 0x21, 0x22, + 0x25, 0x2b, 0x28, 0x26, 0x2c, 0x27, 0x26, 0x2c, 0x29, 0x20, 0x23, 0x25, 0x22, 0x2e, 0x2f, 0x29, + 0xef, 0xe3, 0xe1, 0xed, 0xe8, 0xe4, 0xee, 0xe7, 0xe6, 0xef, 0xeb, 0xe2, 0xe3, 0xe8, 0xe4, 0xee, + 0xe9, 0xec, 0xe7, 0xe0, 0xe2, 0xe1, 0xed, 0xea, 0xec, 0xe6, 0xe0, 0xe9, 0xe5, 0xeb, 0xea, 0xe5, + 0xe0, 0xed, 0xee, 0xe8, 0xe7, 0xea, 0xeb, 0xe1, 0xea, 0xe3, 0xe4, 0xef, 0xed, 0xe4, 0xe1, 0xe2, + 0xe5, 0xeb, 0xe8, 0xe6, 0xec, 0xe7, 0xe6, 0xec, 0xe9, 0xe0, 0xe3, 0xe5, 0xe2, 0xee, 0xef, 0xe9, + 0xff, 0xf3, 0xf1, 0xfd, 0xf8, 0xf4, 0xfe, 0xf7, 0xf6, 0xff, 0xfb, 0xf2, 0xf3, 0xf8, 0xf4, 0xfe, + 0xf9, 0xfc, 0xf7, 0xf0, 0xf2, 0xf1, 0xfd, 0xfa, 0xfc, 0xf6, 0xf0, 0xf9, 0xf5, 0xfb, 0xfa, 0xf5, + 0xf0, 0xfd, 0xfe, 0xf8, 0xf7, 0xfa, 0xfb, 0xf1, 0xfa, 0xf3, 0xf4, 0xff, 0xfd, 0xf4, 0xf1, 0xf2, + 0xf5, 0xfb, 0xf8, 0xf6, 0xfc, 0xf7, 0xf6, 0xfc, 0xf9, 0xf0, 0xf3, 0xf5, 0xf2, 0xfe, 0xff, 0xf9, + 0x2f, 0x23, 0x21, 0x2d, 0x28, 0x24, 0x2e, 0x27, 0x26, 0x2f, 0x2b, 0x22, 0x23, 0x28, 0x24, 0x2e, + 0x29, 0x2c, 0x27, 0x20, 0x22, 0x21, 0x2d, 0x2a, 0x2c, 0x26, 0x20, 0x29, 0x25, 0x2b, 0x2a, 0x25, + 0x20, 0x2d, 0x2e, 0x28, 0x27, 0x2a, 0x2b, 0x21, 0x2a, 0x23, 0x24, 0x2f, 0x2d, 0x24, 0x21, 0x22, + 0x25, 0x2b, 0x28, 0x26, 0x2c, 0x27, 0x26, 0x2c, 0x29, 0x20, 0x23, 0x25, 0x22, 0x2e, 0x2f, 0x29, + 0xbf, 0xb3, 0xb1, 0xbd, 0xb8, 0xb4, 0xbe, 0xb7, 0xb6, 0xbf, 0xbb, 0xb2, 0xb3, 0xb8, 0xb4, 0xbe, + 0xb9, 0xbc, 0xb7, 0xb0, 0xb2, 0xb1, 0xbd, 0xba, 0xbc, 0xb6, 0xb0, 0xb9, 0xb5, 0xbb, 0xba, 0xb5, + 0xb0, 0xbd, 0xbe, 0xb8, 0xb7, 0xba, 0xbb, 0xb1, 0xba, 0xb3, 0xb4, 0xbf, 0xbd, 0xb4, 0xb1, 0xb2, + 0xb5, 0xbb, 0xb8, 0xb6, 0xbc, 0xb7, 0xb6, 0xbc, 0xb9, 0xb0, 0xb3, 0xb5, 0xb2, 0xbe, 0xbf, 0xb9, + 0xdf, 0xd3, 0xd1, 0xdd, 0xd8, 0xd4, 0xde, 0xd7, 0xd6, 0xdf, 0xdb, 0xd2, 0xd3, 0xd8, 0xd4, 0xde, + 0xd9, 0xdc, 0xd7, 0xd0, 0xd2, 0xd1, 0xdd, 0xda, 0xdc, 0xd6, 0xd0, 0xd9, 0xd5, 0xdb, 0xda, 0xd5, + 0xd0, 0xdd, 0xde, 0xd8, 0xd7, 0xda, 0xdb, 0xd1, 0xda, 0xd3, 0xd4, 0xdf, 0xdd, 0xd4, 0xd1, 0xd2, + 0xd5, 0xdb, 0xd8, 0xd6, 0xdc, 0xd7, 0xd6, 0xdc, 0xd9, 0xd0, 0xd3, 0xd5, 0xd2, 0xde, 0xdf, 0xd9, + 0x8f, 0x83, 0x81, 0x8d, 0x88, 0x84, 0x8e, 0x87, 0x86, 0x8f, 0x8b, 0x82, 0x83, 0x88, 0x84, 0x8e, + 0x89, 0x8c, 0x87, 0x80, 0x82, 0x81, 0x8d, 0x8a, 0x8c, 0x86, 0x80, 0x89, 0x85, 0x8b, 0x8a, 0x85, + 0x80, 0x8d, 0x8e, 0x88, 0x87, 0x8a, 0x8b, 0x81, 0x8a, 0x83, 0x84, 0x8f, 0x8d, 0x84, 0x81, 0x82, + 0x85, 0x8b, 0x88, 0x86, 0x8c, 0x87, 0x86, 0x8c, 0x89, 0x80, 0x83, 0x85, 0x82, 0x8e, 0x8f, 0x89, + 0x1f, 0x13, 0x11, 0x1d, 0x18, 0x14, 0x1e, 0x17, 0x16, 0x1f, 0x1b, 0x12, 0x13, 0x18, 0x14, 0x1e, + 0x19, 0x1c, 0x17, 0x10, 0x12, 0x11, 0x1d, 0x1a, 0x1c, 0x16, 0x10, 0x19, 0x15, 0x1b, 0x1a, 0x15, + 0x10, 0x1d, 0x1e, 0x18, 0x17, 0x1a, 0x1b, 0x11, 0x1a, 0x13, 0x14, 0x1f, 0x1d, 0x14, 0x11, 0x12, + 0x15, 0x1b, 0x18, 0x16, 0x1c, 0x17, 0x16, 0x1c, 0x19, 0x10, 0x13, 0x15, 0x12, 0x1e, 0x1f, 0x19, + 0x3f, 0x33, 0x31, 0x3d, 0x38, 0x34, 0x3e, 0x37, 0x36, 0x3f, 0x3b, 0x32, 0x33, 0x38, 0x34, 0x3e, + 0x39, 0x3c, 0x37, 0x30, 0x32, 0x31, 0x3d, 0x3a, 0x3c, 0x36, 0x30, 0x39, 0x35, 0x3b, 0x3a, 0x35, + 0x30, 0x3d, 0x3e, 0x38, 0x37, 0x3a, 0x3b, 0x31, 0x3a, 0x33, 0x34, 0x3f, 0x3d, 0x34, 0x31, 0x32, + 0x35, 0x3b, 0x38, 0x36, 0x3c, 0x37, 0x36, 0x3c, 0x39, 0x30, 0x33, 0x35, 0x32, 0x3e, 0x3f, 0x39, + 0xaf, 0xa3, 0xa1, 0xad, 0xa8, 0xa4, 0xae, 0xa7, 0xa6, 0xaf, 0xab, 0xa2, 0xa3, 0xa8, 0xa4, 0xae, + 0xa9, 0xac, 0xa7, 0xa0, 0xa2, 0xa1, 0xad, 0xaa, 0xac, 0xa6, 0xa0, 0xa9, 0xa5, 0xab, 0xaa, 0xa5, + 0xa0, 0xad, 0xae, 0xa8, 0xa7, 0xaa, 0xab, 0xa1, 0xaa, 0xa3, 0xa4, 0xaf, 0xad, 0xa4, 0xa1, 0xa2, + 0xa5, 0xab, 0xa8, 0xa6, 0xac, 0xa7, 0xa6, 0xac, 0xa9, 0xa0, 0xa3, 0xa5, 0xa2, 0xae, 0xaf, 0xa9, + 0xaf, 0xa3, 0xa1, 0xad, 0xa8, 0xa4, 0xae, 0xa7, 0xa6, 0xaf, 0xab, 0xa2, 0xa3, 0xa8, 0xa4, 0xae, + 0xa9, 0xac, 0xa7, 0xa0, 0xa2, 0xa1, 0xad, 0xaa, 0xac, 0xa6, 0xa0, 0xa9, 0xa5, 0xab, 0xaa, 0xa5, + 0xa0, 0xad, 0xae, 0xa8, 0xa7, 0xaa, 0xab, 0xa1, 0xaa, 0xa3, 0xa4, 0xaf, 0xad, 0xa4, 0xa1, 0xa2, + 0xa5, 0xab, 0xa8, 0xa6, 0xac, 0xa7, 0xa6, 0xac, 0xa9, 0xa0, 0xa3, 0xa5, 0xa2, 0xae, 0xaf, 0xa9, + 0x6f, 0x63, 0x61, 0x6d, 0x68, 0x64, 0x6e, 0x67, 0x66, 0x6f, 0x6b, 0x62, 0x63, 0x68, 0x64, 0x6e, + 0x69, 0x6c, 0x67, 0x60, 0x62, 0x61, 0x6d, 0x6a, 0x6c, 0x66, 0x60, 0x69, 0x65, 0x6b, 0x6a, 0x65, + 0x60, 0x6d, 0x6e, 0x68, 0x67, 0x6a, 0x6b, 0x61, 0x6a, 0x63, 0x64, 0x6f, 0x6d, 0x64, 0x61, 0x62, + 0x65, 0x6b, 0x68, 0x66, 0x6c, 0x67, 0x66, 0x6c, 0x69, 0x60, 0x63, 0x65, 0x62, 0x6e, 0x6f, 0x69, + 0x6f, 0x63, 0x61, 0x6d, 0x68, 0x64, 0x6e, 0x67, 0x66, 0x6f, 0x6b, 0x62, 0x63, 0x68, 0x64, 0x6e, + 0x69, 0x6c, 0x67, 0x60, 0x62, 0x61, 0x6d, 0x6a, 0x6c, 0x66, 0x60, 0x69, 0x65, 0x6b, 0x6a, 0x65, + 0x60, 0x6d, 0x6e, 0x68, 0x67, 0x6a, 0x6b, 0x61, 0x6a, 0x63, 0x64, 0x6f, 0x6d, 0x64, 0x61, 0x62, + 0x65, 0x6b, 0x68, 0x66, 0x6c, 0x67, 0x66, 0x6c, 0x69, 0x60, 0x63, 0x65, 0x62, 0x6e, 0x6f, 0x69, + 0xcf, 0xc3, 0xc1, 0xcd, 0xc8, 0xc4, 0xce, 0xc7, 0xc6, 0xcf, 0xcb, 0xc2, 0xc3, 0xc8, 0xc4, 0xce, + 0xc9, 0xcc, 0xc7, 0xc0, 0xc2, 0xc1, 0xcd, 0xca, 0xcc, 0xc6, 0xc0, 0xc9, 0xc5, 0xcb, 0xca, 0xc5, + 0xc0, 0xcd, 0xce, 0xc8, 0xc7, 0xca, 0xcb, 0xc1, 0xca, 0xc3, 0xc4, 0xcf, 0xcd, 0xc4, 0xc1, 0xc2, + 0xc5, 0xcb, 0xc8, 0xc6, 0xcc, 0xc7, 0xc6, 0xcc, 0xc9, 0xc0, 0xc3, 0xc5, 0xc2, 0xce, 0xcf, 0xc9, + 0xcf, 0xc3, 0xc1, 0xcd, 0xc8, 0xc4, 0xce, 0xc7, 0xc6, 0xcf, 0xcb, 0xc2, 0xc3, 0xc8, 0xc4, 0xce, + 0xc9, 0xcc, 0xc7, 0xc0, 0xc2, 0xc1, 0xcd, 0xca, 0xcc, 0xc6, 0xc0, 0xc9, 0xc5, 0xcb, 0xca, 0xc5, + 0xc0, 0xcd, 0xce, 0xc8, 0xc7, 0xca, 0xcb, 0xc1, 0xca, 0xc3, 0xc4, 0xcf, 0xcd, 0xc4, 0xc1, 0xc2, + 0xc5, 0xcb, 0xc8, 0xc6, 0xcc, 0xc7, 0xc6, 0xcc, 0xc9, 0xc0, 0xc3, 0xc5, 0xc2, 0xce, 0xcf, 0xc9, + 0xbf, 0xb3, 0xb1, 0xbd, 0xb8, 0xb4, 0xbe, 0xb7, 0xb6, 0xbf, 0xbb, 0xb2, 0xb3, 0xb8, 0xb4, 0xbe, + 0xb9, 0xbc, 0xb7, 0xb0, 0xb2, 0xb1, 0xbd, 0xba, 0xbc, 0xb6, 0xb0, 0xb9, 0xb5, 0xbb, 0xba, 0xb5, + 0xb0, 0xbd, 0xbe, 0xb8, 0xb7, 0xba, 0xbb, 0xb1, 0xba, 0xb3, 0xb4, 0xbf, 0xbd, 0xb4, 0xb1, 0xb2, + 0xb5, 0xbb, 0xb8, 0xb6, 0xbc, 0xb7, 0xb6, 0xbc, 0xb9, 0xb0, 0xb3, 0xb5, 0xb2, 0xbe, 0xbf, 0xb9, + 0x5f, 0x53, 0x51, 0x5d, 0x58, 0x54, 0x5e, 0x57, 0x56, 0x5f, 0x5b, 0x52, 0x53, 0x58, 0x54, 0x5e, + 0x59, 0x5c, 0x57, 0x50, 0x52, 0x51, 0x5d, 0x5a, 0x5c, 0x56, 0x50, 0x59, 0x55, 0x5b, 0x5a, 0x55, + 0x50, 0x5d, 0x5e, 0x58, 0x57, 0x5a, 0x5b, 0x51, 0x5a, 0x53, 0x54, 0x5f, 0x5d, 0x54, 0x51, 0x52, + 0x55, 0x5b, 0x58, 0x56, 0x5c, 0x57, 0x56, 0x5c, 0x59, 0x50, 0x53, 0x55, 0x52, 0x5e, 0x5f, 0x59, + 0x9f, 0x93, 0x91, 0x9d, 0x98, 0x94, 0x9e, 0x97, 0x96, 0x9f, 0x9b, 0x92, 0x93, 0x98, 0x94, 0x9e, + 0x99, 0x9c, 0x97, 0x90, 0x92, 0x91, 0x9d, 0x9a, 0x9c, 0x96, 0x90, 0x99, 0x95, 0x9b, 0x9a, 0x95, + 0x90, 0x9d, 0x9e, 0x98, 0x97, 0x9a, 0x9b, 0x91, 0x9a, 0x93, 0x94, 0x9f, 0x9d, 0x94, 0x91, 0x92, + 0x95, 0x9b, 0x98, 0x96, 0x9c, 0x97, 0x96, 0x9c, 0x99, 0x90, 0x93, 0x95, 0x92, 0x9e, 0x9f, 0x99, + 0x9f, 0x93, 0x91, 0x9d, 0x98, 0x94, 0x9e, 0x97, 0x96, 0x9f, 0x9b, 0x92, 0x93, 0x98, 0x94, 0x9e, + 0x99, 0x9c, 0x97, 0x90, 0x92, 0x91, 0x9d, 0x9a, 0x9c, 0x96, 0x90, 0x99, 0x95, 0x9b, 0x9a, 0x95, + 0x90, 0x9d, 0x9e, 0x98, 0x97, 0x9a, 0x9b, 0x91, 0x9a, 0x93, 0x94, 0x9f, 0x9d, 0x94, 0x91, 0x92, + 0x95, 0x9b, 0x98, 0x96, 0x9c, 0x97, 0x96, 0x9c, 0x99, 0x90, 0x93, 0x95, 0x92, 0x9e, 0x9f, 0x99, + 0x5f, 0x53, 0x51, 0x5d, 0x58, 0x54, 0x5e, 0x57, 0x56, 0x5f, 0x5b, 0x52, 0x53, 0x58, 0x54, 0x5e, + 0x59, 0x5c, 0x57, 0x50, 0x52, 0x51, 0x5d, 0x5a, 0x5c, 0x56, 0x50, 0x59, 0x55, 0x5b, 0x5a, 0x55, + 0x50, 0x5d, 0x5e, 0x58, 0x57, 0x5a, 0x5b, 0x51, 0x5a, 0x53, 0x54, 0x5f, 0x5d, 0x54, 0x51, 0x52, + 0x55, 0x5b, 0x58, 0x56, 0x5c, 0x57, 0x56, 0x5c, 0x59, 0x50, 0x53, 0x55, 0x52, 0x5e, 0x5f, 0x59, + 0x0f, 0x03, 0x01, 0x0d, 0x08, 0x04, 0x0e, 0x07, 0x06, 0x0f, 0x0b, 0x02, 0x03, 0x08, 0x04, 0x0e, + 0x09, 0x0c, 0x07, 0x00, 0x02, 0x01, 0x0d, 0x0a, 0x0c, 0x06, 0x00, 0x09, 0x05, 0x0b, 0x0a, 0x05, + 0x00, 0x0d, 0x0e, 0x08, 0x07, 0x0a, 0x0b, 0x01, 0x0a, 0x03, 0x04, 0x0f, 0x0d, 0x04, 0x01, 0x02, + 0x05, 0x0b, 0x08, 0x06, 0x0c, 0x07, 0x06, 0x0c, 0x09, 0x00, 0x03, 0x05, 0x02, 0x0e, 0x0f, 0x09, + 0x3f, 0x33, 0x31, 0x3d, 0x38, 0x34, 0x3e, 0x37, 0x36, 0x3f, 0x3b, 0x32, 0x33, 0x38, 0x34, 0x3e, + 0x39, 0x3c, 0x37, 0x30, 0x32, 0x31, 0x3d, 0x3a, 0x3c, 0x36, 0x30, 0x39, 0x35, 0x3b, 0x3a, 0x35, + 0x30, 0x3d, 0x3e, 0x38, 0x37, 0x3a, 0x3b, 0x31, 0x3a, 0x33, 0x34, 0x3f, 0x3d, 0x34, 0x31, 0x32, + 0x35, 0x3b, 0x38, 0x36, 0x3c, 0x37, 0x36, 0x3c, 0x39, 0x30, 0x33, 0x35, 0x32, 0x3e, 0x3f, 0x39, + 0x7f, 0x73, 0x71, 0x7d, 0x78, 0x74, 0x7e, 0x77, 0x76, 0x7f, 0x7b, 0x72, 0x73, 0x78, 0x74, 0x7e, + 0x79, 0x7c, 0x77, 0x70, 0x72, 0x71, 0x7d, 0x7a, 0x7c, 0x76, 0x70, 0x79, 0x75, 0x7b, 0x7a, 0x75, + 0x70, 0x7d, 0x7e, 0x78, 0x77, 0x7a, 0x7b, 0x71, 0x7a, 0x73, 0x74, 0x7f, 0x7d, 0x74, 0x71, 0x72, + 0x75, 0x7b, 0x78, 0x76, 0x7c, 0x77, 0x76, 0x7c, 0x79, 0x70, 0x73, 0x75, 0x72, 0x7e, 0x7f, 0x79, + 0x8f, 0x83, 0x81, 0x8d, 0x88, 0x84, 0x8e, 0x87, 0x86, 0x8f, 0x8b, 0x82, 0x83, 0x88, 0x84, 0x8e, + 0x89, 0x8c, 0x87, 0x80, 0x82, 0x81, 0x8d, 0x8a, 0x8c, 0x86, 0x80, 0x89, 0x85, 0x8b, 0x8a, 0x85, + 0x80, 0x8d, 0x8e, 0x88, 0x87, 0x8a, 0x8b, 0x81, 0x8a, 0x83, 0x84, 0x8f, 0x8d, 0x84, 0x81, 0x82, + 0x85, 0x8b, 0x88, 0x86, 0x8c, 0x87, 0x86, 0x8c, 0x89, 0x80, 0x83, 0x85, 0x82, 0x8e, 0x8f, 0x89, + 0x4f, 0x43, 0x41, 0x4d, 0x48, 0x44, 0x4e, 0x47, 0x46, 0x4f, 0x4b, 0x42, 0x43, 0x48, 0x44, 0x4e, + 0x49, 0x4c, 0x47, 0x40, 0x42, 0x41, 0x4d, 0x4a, 0x4c, 0x46, 0x40, 0x49, 0x45, 0x4b, 0x4a, 0x45, + 0x40, 0x4d, 0x4e, 0x48, 0x47, 0x4a, 0x4b, 0x41, 0x4a, 0x43, 0x44, 0x4f, 0x4d, 0x44, 0x41, 0x42, + 0x45, 0x4b, 0x48, 0x46, 0x4c, 0x47, 0x46, 0x4c, 0x49, 0x40, 0x43, 0x45, 0x42, 0x4e, 0x4f, 0x49, + 0xff, 0xf3, 0xf1, 0xfd, 0xf8, 0xf4, 0xfe, 0xf7, 0xf6, 0xff, 0xfb, 0xf2, 0xf3, 0xf8, 0xf4, 0xfe, + 0xf9, 0xfc, 0xf7, 0xf0, 0xf2, 0xf1, 0xfd, 0xfa, 0xfc, 0xf6, 0xf0, 0xf9, 0xf5, 0xfb, 0xfa, 0xf5, + 0xf0, 0xfd, 0xfe, 0xf8, 0xf7, 0xfa, 0xfb, 0xf1, 0xfa, 0xf3, 0xf4, 0xff, 0xfd, 0xf4, 0xf1, 0xf2, + 0xf5, 0xfb, 0xf8, 0xf6, 0xfc, 0xf7, 0xf6, 0xfc, 0xf9, 0xf0, 0xf3, 0xf5, 0xf2, 0xfe, 0xff, 0xf9, + 0x1f, 0x13, 0x11, 0x1d, 0x18, 0x14, 0x1e, 0x17, 0x16, 0x1f, 0x1b, 0x12, 0x13, 0x18, 0x14, 0x1e, + 0x19, 0x1c, 0x17, 0x10, 0x12, 0x11, 0x1d, 0x1a, 0x1c, 0x16, 0x10, 0x19, 0x15, 0x1b, 0x1a, 0x15, + 0x10, 0x1d, 0x1e, 0x18, 0x17, 0x1a, 0x1b, 0x11, 0x1a, 0x13, 0x14, 0x1f, 0x1d, 0x14, 0x11, 0x12, + 0x15, 0x1b, 0x18, 0x16, 0x1c, 0x17, 0x16, 0x1c, 0x19, 0x10, 0x13, 0x15, 0x12, 0x1e, 0x1f, 0x19, + 0xcf, 0xc3, 0xc1, 0xcd, 0xc8, 0xc4, 0xce, 0xc7, 0xc6, 0xcf, 0xcb, 0xc2, 0xc3, 0xc8, 0xc4, 0xce, + 0xc9, 0xcc, 0xc7, 0xc0, 0xc2, 0xc1, 0xcd, 0xca, 0xcc, 0xc6, 0xc0, 0xc9, 0xc5, 0xcb, 0xca, 0xc5, + 0xc0, 0xcd, 0xce, 0xc8, 0xc7, 0xca, 0xcb, 0xc1, 0xca, 0xc3, 0xc4, 0xcf, 0xcd, 0xc4, 0xc1, 0xc2, + 0xc5, 0xcb, 0xc8, 0xc6, 0xcc, 0xc7, 0xc6, 0xcc, 0xc9, 0xc0, 0xc3, 0xc5, 0xc2, 0xce, 0xcf, 0xc9, + 0xef, 0xe3, 0xe1, 0xed, 0xe8, 0xe4, 0xee, 0xe7, 0xe6, 0xef, 0xeb, 0xe2, 0xe3, 0xe8, 0xe4, 0xee, + 0xe9, 0xec, 0xe7, 0xe0, 0xe2, 0xe1, 0xed, 0xea, 0xec, 0xe6, 0xe0, 0xe9, 0xe5, 0xeb, 0xea, 0xe5, + 0xe0, 0xed, 0xee, 0xe8, 0xe7, 0xea, 0xeb, 0xe1, 0xea, 0xe3, 0xe4, 0xef, 0xed, 0xe4, 0xe1, 0xe2, + 0xe5, 0xeb, 0xe8, 0xe6, 0xec, 0xe7, 0xe6, 0xec, 0xe9, 0xe0, 0xe3, 0xe5, 0xe2, 0xee, 0xef, 0xe9, + 0x8f, 0x83, 0x81, 0x8d, 0x88, 0x84, 0x8e, 0x87, 0x86, 0x8f, 0x8b, 0x82, 0x83, 0x88, 0x84, 0x8e, + 0x89, 0x8c, 0x87, 0x80, 0x82, 0x81, 0x8d, 0x8a, 0x8c, 0x86, 0x80, 0x89, 0x85, 0x8b, 0x8a, 0x85, + 0x80, 0x8d, 0x8e, 0x88, 0x87, 0x8a, 0x8b, 0x81, 0x8a, 0x83, 0x84, 0x8f, 0x8d, 0x84, 0x81, 0x82, + 0x85, 0x8b, 0x88, 0x86, 0x8c, 0x87, 0x86, 0x8c, 0x89, 0x80, 0x83, 0x85, 0x82, 0x8e, 0x8f, 0x89, + 0x8f, 0x83, 0x81, 0x8d, 0x88, 0x84, 0x8e, 0x87, 0x86, 0x8f, 0x8b, 0x82, 0x83, 0x88, 0x84, 0x8e, + 0x89, 0x8c, 0x87, 0x80, 0x82, 0x81, 0x8d, 0x8a, 0x8c, 0x86, 0x80, 0x89, 0x85, 0x8b, 0x8a, 0x85, + 0x80, 0x8d, 0x8e, 0x88, 0x87, 0x8a, 0x8b, 0x81, 0x8a, 0x83, 0x84, 0x8f, 0x8d, 0x84, 0x81, 0x82, + 0x85, 0x8b, 0x88, 0x86, 0x8c, 0x87, 0x86, 0x8c, 0x89, 0x80, 0x83, 0x85, 0x82, 0x8e, 0x8f, 0x89, + 0x2f, 0x23, 0x21, 0x2d, 0x28, 0x24, 0x2e, 0x27, 0x26, 0x2f, 0x2b, 0x22, 0x23, 0x28, 0x24, 0x2e, + 0x29, 0x2c, 0x27, 0x20, 0x22, 0x21, 0x2d, 0x2a, 0x2c, 0x26, 0x20, 0x29, 0x25, 0x2b, 0x2a, 0x25, + 0x20, 0x2d, 0x2e, 0x28, 0x27, 0x2a, 0x2b, 0x21, 0x2a, 0x23, 0x24, 0x2f, 0x2d, 0x24, 0x21, 0x22, + 0x25, 0x2b, 0x28, 0x26, 0x2c, 0x27, 0x26, 0x2c, 0x29, 0x20, 0x23, 0x25, 0x22, 0x2e, 0x2f, 0x29, + 0xdf, 0xd3, 0xd1, 0xdd, 0xd8, 0xd4, 0xde, 0xd7, 0xd6, 0xdf, 0xdb, 0xd2, 0xd3, 0xd8, 0xd4, 0xde, + 0xd9, 0xdc, 0xd7, 0xd0, 0xd2, 0xd1, 0xdd, 0xda, 0xdc, 0xd6, 0xd0, 0xd9, 0xd5, 0xdb, 0xda, 0xd5, + 0xd0, 0xdd, 0xde, 0xd8, 0xd7, 0xda, 0xdb, 0xd1, 0xda, 0xd3, 0xd4, 0xdf, 0xdd, 0xd4, 0xd1, 0xd2, + 0xd5, 0xdb, 0xd8, 0xd6, 0xdc, 0xd7, 0xd6, 0xdc, 0xd9, 0xd0, 0xd3, 0xd5, 0xd2, 0xde, 0xdf, 0xd9, + 0x4f, 0x43, 0x41, 0x4d, 0x48, 0x44, 0x4e, 0x47, 0x46, 0x4f, 0x4b, 0x42, 0x43, 0x48, 0x44, 0x4e, + 0x49, 0x4c, 0x47, 0x40, 0x42, 0x41, 0x4d, 0x4a, 0x4c, 0x46, 0x40, 0x49, 0x45, 0x4b, 0x4a, 0x45, + 0x40, 0x4d, 0x4e, 0x48, 0x47, 0x4a, 0x4b, 0x41, 0x4a, 0x43, 0x44, 0x4f, 0x4d, 0x44, 0x41, 0x42, + 0x45, 0x4b, 0x48, 0x46, 0x4c, 0x47, 0x46, 0x4c, 0x49, 0x40, 0x43, 0x45, 0x42, 0x4e, 0x4f, 0x49, + 0x6f, 0x63, 0x61, 0x6d, 0x68, 0x64, 0x6e, 0x67, 0x66, 0x6f, 0x6b, 0x62, 0x63, 0x68, 0x64, 0x6e, + 0x69, 0x6c, 0x67, 0x60, 0x62, 0x61, 0x6d, 0x6a, 0x6c, 0x66, 0x60, 0x69, 0x65, 0x6b, 0x6a, 0x65, + 0x60, 0x6d, 0x6e, 0x68, 0x67, 0x6a, 0x6b, 0x61, 0x6a, 0x63, 0x64, 0x6f, 0x6d, 0x64, 0x61, 0x62, + 0x65, 0x6b, 0x68, 0x66, 0x6c, 0x67, 0x66, 0x6c, 0x69, 0x60, 0x63, 0x65, 0x62, 0x6e, 0x6f, 0x69, + 0x9f, 0x93, 0x91, 0x9d, 0x98, 0x94, 0x9e, 0x97, 0x96, 0x9f, 0x9b, 0x92, 0x93, 0x98, 0x94, 0x9e, + 0x99, 0x9c, 0x97, 0x90, 0x92, 0x91, 0x9d, 0x9a, 0x9c, 0x96, 0x90, 0x99, 0x95, 0x9b, 0x9a, 0x95, + 0x90, 0x9d, 0x9e, 0x98, 0x97, 0x9a, 0x9b, 0x91, 0x9a, 0x93, 0x94, 0x9f, 0x9d, 0x94, 0x91, 0x92, + 0x95, 0x9b, 0x98, 0x96, 0x9c, 0x97, 0x96, 0x9c, 0x99, 0x90, 0x93, 0x95, 0x92, 0x9e, 0x9f, 0x99, + 0x2f, 0x23, 0x21, 0x2d, 0x28, 0x24, 0x2e, 0x27, 0x26, 0x2f, 0x2b, 0x22, 0x23, 0x28, 0x24, 0x2e, + 0x29, 0x2c, 0x27, 0x20, 0x22, 0x21, 0x2d, 0x2a, 0x2c, 0x26, 0x20, 0x29, 0x25, 0x2b, 0x2a, 0x25, + 0x20, 0x2d, 0x2e, 0x28, 0x27, 0x2a, 0x2b, 0x21, 0x2a, 0x23, 0x24, 0x2f, 0x2d, 0x24, 0x21, 0x22, + 0x25, 0x2b, 0x28, 0x26, 0x2c, 0x27, 0x26, 0x2c, 0x29, 0x20, 0x23, 0x25, 0x22, 0x2e, 0x2f, 0x29, + 0x1f, 0x13, 0x11, 0x1d, 0x18, 0x14, 0x1e, 0x17, 0x16, 0x1f, 0x1b, 0x12, 0x13, 0x18, 0x14, 0x1e, + 0x19, 0x1c, 0x17, 0x10, 0x12, 0x11, 0x1d, 0x1a, 0x1c, 0x16, 0x10, 0x19, 0x15, 0x1b, 0x1a, 0x15, + 0x10, 0x1d, 0x1e, 0x18, 0x17, 0x1a, 0x1b, 0x11, 0x1a, 0x13, 0x14, 0x1f, 0x1d, 0x14, 0x11, 0x12, + 0x15, 0x1b, 0x18, 0x16, 0x1c, 0x17, 0x16, 0x1c, 0x19, 0x10, 0x13, 0x15, 0x12, 0x1e, 0x1f, 0x19, + 0xbf, 0xb3, 0xb1, 0xbd, 0xb8, 0xb4, 0xbe, 0xb7, 0xb6, 0xbf, 0xbb, 0xb2, 0xb3, 0xb8, 0xb4, 0xbe, + 0xb9, 0xbc, 0xb7, 0xb0, 0xb2, 0xb1, 0xbd, 0xba, 0xbc, 0xb6, 0xb0, 0xb9, 0xb5, 0xbb, 0xba, 0xb5, + 0xb0, 0xbd, 0xbe, 0xb8, 0xb7, 0xba, 0xbb, 0xb1, 0xba, 0xb3, 0xb4, 0xbf, 0xbd, 0xb4, 0xb1, 0xb2, + 0xb5, 0xbb, 0xb8, 0xb6, 0xbc, 0xb7, 0xb6, 0xbc, 0xb9, 0xb0, 0xb3, 0xb5, 0xb2, 0xbe, 0xbf, 0xb9, + 0x7f, 0x73, 0x71, 0x7d, 0x78, 0x74, 0x7e, 0x77, 0x76, 0x7f, 0x7b, 0x72, 0x73, 0x78, 0x74, 0x7e, + 0x79, 0x7c, 0x77, 0x70, 0x72, 0x71, 0x7d, 0x7a, 0x7c, 0x76, 0x70, 0x79, 0x75, 0x7b, 0x7a, 0x75, + 0x70, 0x7d, 0x7e, 0x78, 0x77, 0x7a, 0x7b, 0x71, 0x7a, 0x73, 0x74, 0x7f, 0x7d, 0x74, 0x71, 0x72, + 0x75, 0x7b, 0x78, 0x76, 0x7c, 0x77, 0x76, 0x7c, 0x79, 0x70, 0x73, 0x75, 0x72, 0x7e, 0x7f, 0x79, + 0xff, 0xf3, 0xf1, 0xfd, 0xf8, 0xf4, 0xfe, 0xf7, 0xf6, 0xff, 0xfb, 0xf2, 0xf3, 0xf8, 0xf4, 0xfe, + 0xf9, 0xfc, 0xf7, 0xf0, 0xf2, 0xf1, 0xfd, 0xfa, 0xfc, 0xf6, 0xf0, 0xf9, 0xf5, 0xfb, 0xfa, 0xf5, + 0xf0, 0xfd, 0xfe, 0xf8, 0xf7, 0xfa, 0xfb, 0xf1, 0xfa, 0xf3, 0xf4, 0xff, 0xfd, 0xf4, 0xf1, 0xf2, + 0xf5, 0xfb, 0xf8, 0xf6, 0xfc, 0xf7, 0xf6, 0xfc, 0xf9, 0xf0, 0xf3, 0xf5, 0xf2, 0xfe, 0xff, 0xf9, + 0x5f, 0x53, 0x51, 0x5d, 0x58, 0x54, 0x5e, 0x57, 0x56, 0x5f, 0x5b, 0x52, 0x53, 0x58, 0x54, 0x5e, + 0x59, 0x5c, 0x57, 0x50, 0x52, 0x51, 0x5d, 0x5a, 0x5c, 0x56, 0x50, 0x59, 0x55, 0x5b, 0x5a, 0x55, + 0x50, 0x5d, 0x5e, 0x58, 0x57, 0x5a, 0x5b, 0x51, 0x5a, 0x53, 0x54, 0x5f, 0x5d, 0x54, 0x51, 0x52, + 0x55, 0x5b, 0x58, 0x56, 0x5c, 0x57, 0x56, 0x5c, 0x59, 0x50, 0x53, 0x55, 0x52, 0x5e, 0x5f, 0x59, + 0xcf, 0xc3, 0xc1, 0xcd, 0xc8, 0xc4, 0xce, 0xc7, 0xc6, 0xcf, 0xcb, 0xc2, 0xc3, 0xc8, 0xc4, 0xce, + 0xc9, 0xcc, 0xc7, 0xc0, 0xc2, 0xc1, 0xcd, 0xca, 0xcc, 0xc6, 0xc0, 0xc9, 0xc5, 0xcb, 0xca, 0xc5, + 0xc0, 0xcd, 0xce, 0xc8, 0xc7, 0xca, 0xcb, 0xc1, 0xca, 0xc3, 0xc4, 0xcf, 0xcd, 0xc4, 0xc1, 0xc2, + 0xc5, 0xcb, 0xc8, 0xc6, 0xcc, 0xc7, 0xc6, 0xcc, 0xc9, 0xc0, 0xc3, 0xc5, 0xc2, 0xce, 0xcf, 0xc9, + 0xbf, 0xb3, 0xb1, 0xbd, 0xb8, 0xb4, 0xbe, 0xb7, 0xb6, 0xbf, 0xbb, 0xb2, 0xb3, 0xb8, 0xb4, 0xbe, + 0xb9, 0xbc, 0xb7, 0xb0, 0xb2, 0xb1, 0xbd, 0xba, 0xbc, 0xb6, 0xb0, 0xb9, 0xb5, 0xbb, 0xba, 0xb5, + 0xb0, 0xbd, 0xbe, 0xb8, 0xb7, 0xba, 0xbb, 0xb1, 0xba, 0xb3, 0xb4, 0xbf, 0xbd, 0xb4, 0xb1, 0xb2, + 0xb5, 0xbb, 0xb8, 0xb6, 0xbc, 0xb7, 0xb6, 0xbc, 0xb9, 0xb0, 0xb3, 0xb5, 0xb2, 0xbe, 0xbf, 0xb9, + 0x9f, 0x93, 0x91, 0x9d, 0x98, 0x94, 0x9e, 0x97, 0x96, 0x9f, 0x9b, 0x92, 0x93, 0x98, 0x94, 0x9e, + 0x99, 0x9c, 0x97, 0x90, 0x92, 0x91, 0x9d, 0x9a, 0x9c, 0x96, 0x90, 0x99, 0x95, 0x9b, 0x9a, 0x95, + 0x90, 0x9d, 0x9e, 0x98, 0x97, 0x9a, 0x9b, 0x91, 0x9a, 0x93, 0x94, 0x9f, 0x9d, 0x94, 0x91, 0x92, + 0x95, 0x9b, 0x98, 0x96, 0x9c, 0x97, 0x96, 0x9c, 0x99, 0x90, 0x93, 0x95, 0x92, 0x9e, 0x9f, 0x99, + 0x3f, 0x33, 0x31, 0x3d, 0x38, 0x34, 0x3e, 0x37, 0x36, 0x3f, 0x3b, 0x32, 0x33, 0x38, 0x34, 0x3e, + 0x39, 0x3c, 0x37, 0x30, 0x32, 0x31, 0x3d, 0x3a, 0x3c, 0x36, 0x30, 0x39, 0x35, 0x3b, 0x3a, 0x35, + 0x30, 0x3d, 0x3e, 0x38, 0x37, 0x3a, 0x3b, 0x31, 0x3a, 0x33, 0x34, 0x3f, 0x3d, 0x34, 0x31, 0x32, + 0x35, 0x3b, 0x38, 0x36, 0x3c, 0x37, 0x36, 0x3c, 0x39, 0x30, 0x33, 0x35, 0x32, 0x3e, 0x3f, 0x39, + 0x7f, 0x73, 0x71, 0x7d, 0x78, 0x74, 0x7e, 0x77, 0x76, 0x7f, 0x7b, 0x72, 0x73, 0x78, 0x74, 0x7e, + 0x79, 0x7c, 0x77, 0x70, 0x72, 0x71, 0x7d, 0x7a, 0x7c, 0x76, 0x70, 0x79, 0x75, 0x7b, 0x7a, 0x75, + 0x70, 0x7d, 0x7e, 0x78, 0x77, 0x7a, 0x7b, 0x71, 0x7a, 0x73, 0x74, 0x7f, 0x7d, 0x74, 0x71, 0x72, + 0x75, 0x7b, 0x78, 0x76, 0x7c, 0x77, 0x76, 0x7c, 0x79, 0x70, 0x73, 0x75, 0x72, 0x7e, 0x7f, 0x79, + 0xef, 0xe3, 0xe1, 0xed, 0xe8, 0xe4, 0xee, 0xe7, 0xe6, 0xef, 0xeb, 0xe2, 0xe3, 0xe8, 0xe4, 0xee, + 0xe9, 0xec, 0xe7, 0xe0, 0xe2, 0xe1, 0xed, 0xea, 0xec, 0xe6, 0xe0, 0xe9, 0xe5, 0xeb, 0xea, 0xe5, + 0xe0, 0xed, 0xee, 0xe8, 0xe7, 0xea, 0xeb, 0xe1, 0xea, 0xe3, 0xe4, 0xef, 0xed, 0xe4, 0xe1, 0xe2, + 0xe5, 0xeb, 0xe8, 0xe6, 0xec, 0xe7, 0xe6, 0xec, 0xe9, 0xe0, 0xe3, 0xe5, 0xe2, 0xee, 0xef, 0xe9, + 0x3f, 0x33, 0x31, 0x3d, 0x38, 0x34, 0x3e, 0x37, 0x36, 0x3f, 0x3b, 0x32, 0x33, 0x38, 0x34, 0x3e, + 0x39, 0x3c, 0x37, 0x30, 0x32, 0x31, 0x3d, 0x3a, 0x3c, 0x36, 0x30, 0x39, 0x35, 0x3b, 0x3a, 0x35, + 0x30, 0x3d, 0x3e, 0x38, 0x37, 0x3a, 0x3b, 0x31, 0x3a, 0x33, 0x34, 0x3f, 0x3d, 0x34, 0x31, 0x32, + 0x35, 0x3b, 0x38, 0x36, 0x3c, 0x37, 0x36, 0x3c, 0x39, 0x30, 0x33, 0x35, 0x32, 0x3e, 0x3f, 0x39, + 0xaf, 0xa3, 0xa1, 0xad, 0xa8, 0xa4, 0xae, 0xa7, 0xa6, 0xaf, 0xab, 0xa2, 0xa3, 0xa8, 0xa4, 0xae, + 0xa9, 0xac, 0xa7, 0xa0, 0xa2, 0xa1, 0xad, 0xaa, 0xac, 0xa6, 0xa0, 0xa9, 0xa5, 0xab, 0xaa, 0xa5, + 0xa0, 0xad, 0xae, 0xa8, 0xa7, 0xaa, 0xab, 0xa1, 0xaa, 0xa3, 0xa4, 0xaf, 0xad, 0xa4, 0xa1, 0xa2, + 0xa5, 0xab, 0xa8, 0xa6, 0xac, 0xa7, 0xa6, 0xac, 0xa9, 0xa0, 0xa3, 0xa5, 0xa2, 0xae, 0xaf, 0xa9, + 0xaf, 0xa3, 0xa1, 0xad, 0xa8, 0xa4, 0xae, 0xa7, 0xa6, 0xaf, 0xab, 0xa2, 0xa3, 0xa8, 0xa4, 0xae, + 0xa9, 0xac, 0xa7, 0xa0, 0xa2, 0xa1, 0xad, 0xaa, 0xac, 0xa6, 0xa0, 0xa9, 0xa5, 0xab, 0xaa, 0xa5, + 0xa0, 0xad, 0xae, 0xa8, 0xa7, 0xaa, 0xab, 0xa1, 0xaa, 0xa3, 0xa4, 0xaf, 0xad, 0xa4, 0xa1, 0xa2, + 0xa5, 0xab, 0xa8, 0xa6, 0xac, 0xa7, 0xa6, 0xac, 0xa9, 0xa0, 0xa3, 0xa5, 0xa2, 0xae, 0xaf, 0xa9, + 0x0f, 0x03, 0x01, 0x0d, 0x08, 0x04, 0x0e, 0x07, 0x06, 0x0f, 0x0b, 0x02, 0x03, 0x08, 0x04, 0x0e, + 0x09, 0x0c, 0x07, 0x00, 0x02, 0x01, 0x0d, 0x0a, 0x0c, 0x06, 0x00, 0x09, 0x05, 0x0b, 0x0a, 0x05, + 0x00, 0x0d, 0x0e, 0x08, 0x07, 0x0a, 0x0b, 0x01, 0x0a, 0x03, 0x04, 0x0f, 0x0d, 0x04, 0x01, 0x02, + 0x05, 0x0b, 0x08, 0x06, 0x0c, 0x07, 0x06, 0x0c, 0x09, 0x00, 0x03, 0x05, 0x02, 0x0e, 0x0f, 0x09, + 0x5f, 0x53, 0x51, 0x5d, 0x58, 0x54, 0x5e, 0x57, 0x56, 0x5f, 0x5b, 0x52, 0x53, 0x58, 0x54, 0x5e, + 0x59, 0x5c, 0x57, 0x50, 0x52, 0x51, 0x5d, 0x5a, 0x5c, 0x56, 0x50, 0x59, 0x55, 0x5b, 0x5a, 0x55, + 0x50, 0x5d, 0x5e, 0x58, 0x57, 0x5a, 0x5b, 0x51, 0x5a, 0x53, 0x54, 0x5f, 0x5d, 0x54, 0x51, 0x52, + 0x55, 0x5b, 0x58, 0x56, 0x5c, 0x57, 0x56, 0x5c, 0x59, 0x50, 0x53, 0x55, 0x52, 0x5e, 0x5f, 0x59, + 0x6f, 0x63, 0x61, 0x6d, 0x68, 0x64, 0x6e, 0x67, 0x66, 0x6f, 0x6b, 0x62, 0x63, 0x68, 0x64, 0x6e, + 0x69, 0x6c, 0x67, 0x60, 0x62, 0x61, 0x6d, 0x6a, 0x6c, 0x66, 0x60, 0x69, 0x65, 0x6b, 0x6a, 0x65, + 0x60, 0x6d, 0x6e, 0x68, 0x67, 0x6a, 0x6b, 0x61, 0x6a, 0x63, 0x64, 0x6f, 0x6d, 0x64, 0x61, 0x62, + 0x65, 0x6b, 0x68, 0x66, 0x6c, 0x67, 0x66, 0x6c, 0x69, 0x60, 0x63, 0x65, 0x62, 0x6e, 0x6f, 0x69, + 0x0f, 0x03, 0x01, 0x0d, 0x08, 0x04, 0x0e, 0x07, 0x06, 0x0f, 0x0b, 0x02, 0x03, 0x08, 0x04, 0x0e, + 0x09, 0x0c, 0x07, 0x00, 0x02, 0x01, 0x0d, 0x0a, 0x0c, 0x06, 0x00, 0x09, 0x05, 0x0b, 0x0a, 0x05, + 0x00, 0x0d, 0x0e, 0x08, 0x07, 0x0a, 0x0b, 0x01, 0x0a, 0x03, 0x04, 0x0f, 0x0d, 0x04, 0x01, 0x02, + 0x05, 0x0b, 0x08, 0x06, 0x0c, 0x07, 0x06, 0x0c, 0x09, 0x00, 0x03, 0x05, 0x02, 0x0e, 0x0f, 0x09, + 0xdf, 0xd3, 0xd1, 0xdd, 0xd8, 0xd4, 0xde, 0xd7, 0xd6, 0xdf, 0xdb, 0xd2, 0xd3, 0xd8, 0xd4, 0xde, + 0xd9, 0xdc, 0xd7, 0xd0, 0xd2, 0xd1, 0xdd, 0xda, 0xdc, 0xd6, 0xd0, 0xd9, 0xd5, 0xdb, 0xda, 0xd5, + 0xd0, 0xdd, 0xde, 0xd8, 0xd7, 0xda, 0xdb, 0xd1, 0xda, 0xd3, 0xd4, 0xdf, 0xdd, 0xd4, 0xd1, 0xd2, + 0xd5, 0xdb, 0xd8, 0xd6, 0xdc, 0xd7, 0xd6, 0xdc, 0xd9, 0xd0, 0xd3, 0xd5, 0xd2, 0xde, 0xdf, 0xd9, + }, { + 0xa7, 0xad, 0xad, 0xa8, 0xae, 0xab, 0xa3, 0xa5, 0xa0, 0xa6, 0xa6, 0xaf, 0xa9, 0xa0, 0xaa, 0xa3, + 0xa1, 0xa4, 0xa2, 0xa7, 0xa8, 0xa2, 0xa5, 0xac, 0xab, 0xa1, 0xac, 0xaa, 0xa4, 0xae, 0xaf, 0xa9, + 0xaa, 0xa3, 0xa6, 0xaf, 0xa9, 0xa0, 0xa0, 0xa6, 0xac, 0xaa, 0xab, 0xa1, 0xa7, 0xad, 0xad, 0xa8, + 0xaf, 0xa9, 0xa1, 0xa4, 0xa3, 0xa5, 0xae, 0xab, 0xa5, 0xac, 0xa2, 0xa7, 0xa8, 0xa2, 0xa4, 0xae, + 0xd7, 0xdd, 0xdd, 0xd8, 0xde, 0xdb, 0xd3, 0xd5, 0xd0, 0xd6, 0xd6, 0xdf, 0xd9, 0xd0, 0xda, 0xd3, + 0xd1, 0xd4, 0xd2, 0xd7, 0xd8, 0xd2, 0xd5, 0xdc, 0xdb, 0xd1, 0xdc, 0xda, 0xd4, 0xde, 0xdf, 0xd9, + 0xda, 0xd3, 0xd6, 0xdf, 0xd9, 0xd0, 0xd0, 0xd6, 0xdc, 0xda, 0xdb, 0xd1, 0xd7, 0xdd, 0xdd, 0xd8, + 0xdf, 0xd9, 0xd1, 0xd4, 0xd3, 0xd5, 0xde, 0xdb, 0xd5, 0xdc, 0xd2, 0xd7, 0xd8, 0xd2, 0xd4, 0xde, + 0x07, 0x0d, 0x0d, 0x08, 0x0e, 0x0b, 0x03, 0x05, 0x00, 0x06, 0x06, 0x0f, 0x09, 0x00, 0x0a, 0x03, + 0x01, 0x04, 0x02, 0x07, 0x08, 0x02, 0x05, 0x0c, 0x0b, 0x01, 0x0c, 0x0a, 0x04, 0x0e, 0x0f, 0x09, + 0x0a, 0x03, 0x06, 0x0f, 0x09, 0x00, 0x00, 0x06, 0x0c, 0x0a, 0x0b, 0x01, 0x07, 0x0d, 0x0d, 0x08, + 0x0f, 0x09, 0x01, 0x04, 0x03, 0x05, 0x0e, 0x0b, 0x05, 0x0c, 0x02, 0x07, 0x08, 0x02, 0x04, 0x0e, + 0x77, 0x7d, 0x7d, 0x78, 0x7e, 0x7b, 0x73, 0x75, 0x70, 0x76, 0x76, 0x7f, 0x79, 0x70, 0x7a, 0x73, + 0x71, 0x74, 0x72, 0x77, 0x78, 0x72, 0x75, 0x7c, 0x7b, 0x71, 0x7c, 0x7a, 0x74, 0x7e, 0x7f, 0x79, + 0x7a, 0x73, 0x76, 0x7f, 0x79, 0x70, 0x70, 0x76, 0x7c, 0x7a, 0x7b, 0x71, 0x77, 0x7d, 0x7d, 0x78, + 0x7f, 0x79, 0x71, 0x74, 0x73, 0x75, 0x7e, 0x7b, 0x75, 0x7c, 0x72, 0x77, 0x78, 0x72, 0x74, 0x7e, + 0x97, 0x9d, 0x9d, 0x98, 0x9e, 0x9b, 0x93, 0x95, 0x90, 0x96, 0x96, 0x9f, 0x99, 0x90, 0x9a, 0x93, + 0x91, 0x94, 0x92, 0x97, 0x98, 0x92, 0x95, 0x9c, 0x9b, 0x91, 0x9c, 0x9a, 0x94, 0x9e, 0x9f, 0x99, + 0x9a, 0x93, 0x96, 0x9f, 0x99, 0x90, 0x90, 0x96, 0x9c, 0x9a, 0x9b, 0x91, 0x97, 0x9d, 0x9d, 0x98, + 0x9f, 0x99, 0x91, 0x94, 0x93, 0x95, 0x9e, 0x9b, 0x95, 0x9c, 0x92, 0x97, 0x98, 0x92, 0x94, 0x9e, + 0x07, 0x0d, 0x0d, 0x08, 0x0e, 0x0b, 0x03, 0x05, 0x00, 0x06, 0x06, 0x0f, 0x09, 0x00, 0x0a, 0x03, + 0x01, 0x04, 0x02, 0x07, 0x08, 0x02, 0x05, 0x0c, 0x0b, 0x01, 0x0c, 0x0a, 0x04, 0x0e, 0x0f, 0x09, + 0x0a, 0x03, 0x06, 0x0f, 0x09, 0x00, 0x00, 0x06, 0x0c, 0x0a, 0x0b, 0x01, 0x07, 0x0d, 0x0d, 0x08, + 0x0f, 0x09, 0x01, 0x04, 0x03, 0x05, 0x0e, 0x0b, 0x05, 0x0c, 0x02, 0x07, 0x08, 0x02, 0x04, 0x0e, + 0xe7, 0xed, 0xed, 0xe8, 0xee, 0xeb, 0xe3, 0xe5, 0xe0, 0xe6, 0xe6, 0xef, 0xe9, 0xe0, 0xea, 0xe3, + 0xe1, 0xe4, 0xe2, 0xe7, 0xe8, 0xe2, 0xe5, 0xec, 0xeb, 0xe1, 0xec, 0xea, 0xe4, 0xee, 0xef, 0xe9, + 0xea, 0xe3, 0xe6, 0xef, 0xe9, 0xe0, 0xe0, 0xe6, 0xec, 0xea, 0xeb, 0xe1, 0xe7, 0xed, 0xed, 0xe8, + 0xef, 0xe9, 0xe1, 0xe4, 0xe3, 0xe5, 0xee, 0xeb, 0xe5, 0xec, 0xe2, 0xe7, 0xe8, 0xe2, 0xe4, 0xee, + 0x97, 0x9d, 0x9d, 0x98, 0x9e, 0x9b, 0x93, 0x95, 0x90, 0x96, 0x96, 0x9f, 0x99, 0x90, 0x9a, 0x93, + 0x91, 0x94, 0x92, 0x97, 0x98, 0x92, 0x95, 0x9c, 0x9b, 0x91, 0x9c, 0x9a, 0x94, 0x9e, 0x9f, 0x99, + 0x9a, 0x93, 0x96, 0x9f, 0x99, 0x90, 0x90, 0x96, 0x9c, 0x9a, 0x9b, 0x91, 0x97, 0x9d, 0x9d, 0x98, + 0x9f, 0x99, 0x91, 0x94, 0x93, 0x95, 0x9e, 0x9b, 0x95, 0x9c, 0x92, 0x97, 0x98, 0x92, 0x94, 0x9e, + 0x67, 0x6d, 0x6d, 0x68, 0x6e, 0x6b, 0x63, 0x65, 0x60, 0x66, 0x66, 0x6f, 0x69, 0x60, 0x6a, 0x63, + 0x61, 0x64, 0x62, 0x67, 0x68, 0x62, 0x65, 0x6c, 0x6b, 0x61, 0x6c, 0x6a, 0x64, 0x6e, 0x6f, 0x69, + 0x6a, 0x63, 0x66, 0x6f, 0x69, 0x60, 0x60, 0x66, 0x6c, 0x6a, 0x6b, 0x61, 0x67, 0x6d, 0x6d, 0x68, + 0x6f, 0x69, 0x61, 0x64, 0x63, 0x65, 0x6e, 0x6b, 0x65, 0x6c, 0x62, 0x67, 0x68, 0x62, 0x64, 0x6e, + 0x37, 0x3d, 0x3d, 0x38, 0x3e, 0x3b, 0x33, 0x35, 0x30, 0x36, 0x36, 0x3f, 0x39, 0x30, 0x3a, 0x33, + 0x31, 0x34, 0x32, 0x37, 0x38, 0x32, 0x35, 0x3c, 0x3b, 0x31, 0x3c, 0x3a, 0x34, 0x3e, 0x3f, 0x39, + 0x3a, 0x33, 0x36, 0x3f, 0x39, 0x30, 0x30, 0x36, 0x3c, 0x3a, 0x3b, 0x31, 0x37, 0x3d, 0x3d, 0x38, + 0x3f, 0x39, 0x31, 0x34, 0x33, 0x35, 0x3e, 0x3b, 0x35, 0x3c, 0x32, 0x37, 0x38, 0x32, 0x34, 0x3e, + 0x37, 0x3d, 0x3d, 0x38, 0x3e, 0x3b, 0x33, 0x35, 0x30, 0x36, 0x36, 0x3f, 0x39, 0x30, 0x3a, 0x33, + 0x31, 0x34, 0x32, 0x37, 0x38, 0x32, 0x35, 0x3c, 0x3b, 0x31, 0x3c, 0x3a, 0x34, 0x3e, 0x3f, 0x39, + 0x3a, 0x33, 0x36, 0x3f, 0x39, 0x30, 0x30, 0x36, 0x3c, 0x3a, 0x3b, 0x31, 0x37, 0x3d, 0x3d, 0x38, + 0x3f, 0x39, 0x31, 0x34, 0x33, 0x35, 0x3e, 0x3b, 0x35, 0x3c, 0x32, 0x37, 0x38, 0x32, 0x34, 0x3e, + 0x47, 0x4d, 0x4d, 0x48, 0x4e, 0x4b, 0x43, 0x45, 0x40, 0x46, 0x46, 0x4f, 0x49, 0x40, 0x4a, 0x43, + 0x41, 0x44, 0x42, 0x47, 0x48, 0x42, 0x45, 0x4c, 0x4b, 0x41, 0x4c, 0x4a, 0x44, 0x4e, 0x4f, 0x49, + 0x4a, 0x43, 0x46, 0x4f, 0x49, 0x40, 0x40, 0x46, 0x4c, 0x4a, 0x4b, 0x41, 0x47, 0x4d, 0x4d, 0x48, + 0x4f, 0x49, 0x41, 0x44, 0x43, 0x45, 0x4e, 0x4b, 0x45, 0x4c, 0x42, 0x47, 0x48, 0x42, 0x44, 0x4e, + 0xf7, 0xfd, 0xfd, 0xf8, 0xfe, 0xfb, 0xf3, 0xf5, 0xf0, 0xf6, 0xf6, 0xff, 0xf9, 0xf0, 0xfa, 0xf3, + 0xf1, 0xf4, 0xf2, 0xf7, 0xf8, 0xf2, 0xf5, 0xfc, 0xfb, 0xf1, 0xfc, 0xfa, 0xf4, 0xfe, 0xff, 0xf9, + 0xfa, 0xf3, 0xf6, 0xff, 0xf9, 0xf0, 0xf0, 0xf6, 0xfc, 0xfa, 0xfb, 0xf1, 0xf7, 0xfd, 0xfd, 0xf8, + 0xff, 0xf9, 0xf1, 0xf4, 0xf3, 0xf5, 0xfe, 0xfb, 0xf5, 0xfc, 0xf2, 0xf7, 0xf8, 0xf2, 0xf4, 0xfe, + 0x67, 0x6d, 0x6d, 0x68, 0x6e, 0x6b, 0x63, 0x65, 0x60, 0x66, 0x66, 0x6f, 0x69, 0x60, 0x6a, 0x63, + 0x61, 0x64, 0x62, 0x67, 0x68, 0x62, 0x65, 0x6c, 0x6b, 0x61, 0x6c, 0x6a, 0x64, 0x6e, 0x6f, 0x69, + 0x6a, 0x63, 0x66, 0x6f, 0x69, 0x60, 0x60, 0x66, 0x6c, 0x6a, 0x6b, 0x61, 0x67, 0x6d, 0x6d, 0x68, + 0x6f, 0x69, 0x61, 0x64, 0x63, 0x65, 0x6e, 0x6b, 0x65, 0x6c, 0x62, 0x67, 0x68, 0x62, 0x64, 0x6e, + 0x57, 0x5d, 0x5d, 0x58, 0x5e, 0x5b, 0x53, 0x55, 0x50, 0x56, 0x56, 0x5f, 0x59, 0x50, 0x5a, 0x53, + 0x51, 0x54, 0x52, 0x57, 0x58, 0x52, 0x55, 0x5c, 0x5b, 0x51, 0x5c, 0x5a, 0x54, 0x5e, 0x5f, 0x59, + 0x5a, 0x53, 0x56, 0x5f, 0x59, 0x50, 0x50, 0x56, 0x5c, 0x5a, 0x5b, 0x51, 0x57, 0x5d, 0x5d, 0x58, + 0x5f, 0x59, 0x51, 0x54, 0x53, 0x55, 0x5e, 0x5b, 0x55, 0x5c, 0x52, 0x57, 0x58, 0x52, 0x54, 0x5e, + 0xa7, 0xad, 0xad, 0xa8, 0xae, 0xab, 0xa3, 0xa5, 0xa0, 0xa6, 0xa6, 0xaf, 0xa9, 0xa0, 0xaa, 0xa3, + 0xa1, 0xa4, 0xa2, 0xa7, 0xa8, 0xa2, 0xa5, 0xac, 0xab, 0xa1, 0xac, 0xaa, 0xa4, 0xae, 0xaf, 0xa9, + 0xaa, 0xa3, 0xa6, 0xaf, 0xa9, 0xa0, 0xa0, 0xa6, 0xac, 0xaa, 0xab, 0xa1, 0xa7, 0xad, 0xad, 0xa8, + 0xaf, 0xa9, 0xa1, 0xa4, 0xa3, 0xa5, 0xae, 0xab, 0xa5, 0xac, 0xa2, 0xa7, 0xa8, 0xa2, 0xa4, 0xae, + 0x17, 0x1d, 0x1d, 0x18, 0x1e, 0x1b, 0x13, 0x15, 0x10, 0x16, 0x16, 0x1f, 0x19, 0x10, 0x1a, 0x13, + 0x11, 0x14, 0x12, 0x17, 0x18, 0x12, 0x15, 0x1c, 0x1b, 0x11, 0x1c, 0x1a, 0x14, 0x1e, 0x1f, 0x19, + 0x1a, 0x13, 0x16, 0x1f, 0x19, 0x10, 0x10, 0x16, 0x1c, 0x1a, 0x1b, 0x11, 0x17, 0x1d, 0x1d, 0x18, + 0x1f, 0x19, 0x11, 0x14, 0x13, 0x15, 0x1e, 0x1b, 0x15, 0x1c, 0x12, 0x17, 0x18, 0x12, 0x14, 0x1e, + 0x27, 0x2d, 0x2d, 0x28, 0x2e, 0x2b, 0x23, 0x25, 0x20, 0x26, 0x26, 0x2f, 0x29, 0x20, 0x2a, 0x23, + 0x21, 0x24, 0x22, 0x27, 0x28, 0x22, 0x25, 0x2c, 0x2b, 0x21, 0x2c, 0x2a, 0x24, 0x2e, 0x2f, 0x29, + 0x2a, 0x23, 0x26, 0x2f, 0x29, 0x20, 0x20, 0x26, 0x2c, 0x2a, 0x2b, 0x21, 0x27, 0x2d, 0x2d, 0x28, + 0x2f, 0x29, 0x21, 0x24, 0x23, 0x25, 0x2e, 0x2b, 0x25, 0x2c, 0x22, 0x27, 0x28, 0x22, 0x24, 0x2e, + 0xd7, 0xdd, 0xdd, 0xd8, 0xde, 0xdb, 0xd3, 0xd5, 0xd0, 0xd6, 0xd6, 0xdf, 0xd9, 0xd0, 0xda, 0xd3, + 0xd1, 0xd4, 0xd2, 0xd7, 0xd8, 0xd2, 0xd5, 0xdc, 0xdb, 0xd1, 0xdc, 0xda, 0xd4, 0xde, 0xdf, 0xd9, + 0xda, 0xd3, 0xd6, 0xdf, 0xd9, 0xd0, 0xd0, 0xd6, 0xdc, 0xda, 0xdb, 0xd1, 0xd7, 0xdd, 0xdd, 0xd8, + 0xdf, 0xd9, 0xd1, 0xd4, 0xd3, 0xd5, 0xde, 0xdb, 0xd5, 0xdc, 0xd2, 0xd7, 0xd8, 0xd2, 0xd4, 0xde, + 0x87, 0x8d, 0x8d, 0x88, 0x8e, 0x8b, 0x83, 0x85, 0x80, 0x86, 0x86, 0x8f, 0x89, 0x80, 0x8a, 0x83, + 0x81, 0x84, 0x82, 0x87, 0x88, 0x82, 0x85, 0x8c, 0x8b, 0x81, 0x8c, 0x8a, 0x84, 0x8e, 0x8f, 0x89, + 0x8a, 0x83, 0x86, 0x8f, 0x89, 0x80, 0x80, 0x86, 0x8c, 0x8a, 0x8b, 0x81, 0x87, 0x8d, 0x8d, 0x88, + 0x8f, 0x89, 0x81, 0x84, 0x83, 0x85, 0x8e, 0x8b, 0x85, 0x8c, 0x82, 0x87, 0x88, 0x82, 0x84, 0x8e, + 0xc7, 0xcd, 0xcd, 0xc8, 0xce, 0xcb, 0xc3, 0xc5, 0xc0, 0xc6, 0xc6, 0xcf, 0xc9, 0xc0, 0xca, 0xc3, + 0xc1, 0xc4, 0xc2, 0xc7, 0xc8, 0xc2, 0xc5, 0xcc, 0xcb, 0xc1, 0xcc, 0xca, 0xc4, 0xce, 0xcf, 0xc9, + 0xca, 0xc3, 0xc6, 0xcf, 0xc9, 0xc0, 0xc0, 0xc6, 0xcc, 0xca, 0xcb, 0xc1, 0xc7, 0xcd, 0xcd, 0xc8, + 0xcf, 0xc9, 0xc1, 0xc4, 0xc3, 0xc5, 0xce, 0xcb, 0xc5, 0xcc, 0xc2, 0xc7, 0xc8, 0xc2, 0xc4, 0xce, + 0x57, 0x5d, 0x5d, 0x58, 0x5e, 0x5b, 0x53, 0x55, 0x50, 0x56, 0x56, 0x5f, 0x59, 0x50, 0x5a, 0x53, + 0x51, 0x54, 0x52, 0x57, 0x58, 0x52, 0x55, 0x5c, 0x5b, 0x51, 0x5c, 0x5a, 0x54, 0x5e, 0x5f, 0x59, + 0x5a, 0x53, 0x56, 0x5f, 0x59, 0x50, 0x50, 0x56, 0x5c, 0x5a, 0x5b, 0x51, 0x57, 0x5d, 0x5d, 0x58, + 0x5f, 0x59, 0x51, 0x54, 0x53, 0x55, 0x5e, 0x5b, 0x55, 0x5c, 0x52, 0x57, 0x58, 0x52, 0x54, 0x5e, + 0x77, 0x7d, 0x7d, 0x78, 0x7e, 0x7b, 0x73, 0x75, 0x70, 0x76, 0x76, 0x7f, 0x79, 0x70, 0x7a, 0x73, + 0x71, 0x74, 0x72, 0x77, 0x78, 0x72, 0x75, 0x7c, 0x7b, 0x71, 0x7c, 0x7a, 0x74, 0x7e, 0x7f, 0x79, + 0x7a, 0x73, 0x76, 0x7f, 0x79, 0x70, 0x70, 0x76, 0x7c, 0x7a, 0x7b, 0x71, 0x77, 0x7d, 0x7d, 0x78, + 0x7f, 0x79, 0x71, 0x74, 0x73, 0x75, 0x7e, 0x7b, 0x75, 0x7c, 0x72, 0x77, 0x78, 0x72, 0x74, 0x7e, + 0xe7, 0xed, 0xed, 0xe8, 0xee, 0xeb, 0xe3, 0xe5, 0xe0, 0xe6, 0xe6, 0xef, 0xe9, 0xe0, 0xea, 0xe3, + 0xe1, 0xe4, 0xe2, 0xe7, 0xe8, 0xe2, 0xe5, 0xec, 0xeb, 0xe1, 0xec, 0xea, 0xe4, 0xee, 0xef, 0xe9, + 0xea, 0xe3, 0xe6, 0xef, 0xe9, 0xe0, 0xe0, 0xe6, 0xec, 0xea, 0xeb, 0xe1, 0xe7, 0xed, 0xed, 0xe8, + 0xef, 0xe9, 0xe1, 0xe4, 0xe3, 0xe5, 0xee, 0xeb, 0xe5, 0xec, 0xe2, 0xe7, 0xe8, 0xe2, 0xe4, 0xee, + 0xb7, 0xbd, 0xbd, 0xb8, 0xbe, 0xbb, 0xb3, 0xb5, 0xb0, 0xb6, 0xb6, 0xbf, 0xb9, 0xb0, 0xba, 0xb3, + 0xb1, 0xb4, 0xb2, 0xb7, 0xb8, 0xb2, 0xb5, 0xbc, 0xbb, 0xb1, 0xbc, 0xba, 0xb4, 0xbe, 0xbf, 0xb9, + 0xba, 0xb3, 0xb6, 0xbf, 0xb9, 0xb0, 0xb0, 0xb6, 0xbc, 0xba, 0xbb, 0xb1, 0xb7, 0xbd, 0xbd, 0xb8, + 0xbf, 0xb9, 0xb1, 0xb4, 0xb3, 0xb5, 0xbe, 0xbb, 0xb5, 0xbc, 0xb2, 0xb7, 0xb8, 0xb2, 0xb4, 0xbe, + 0xc7, 0xcd, 0xcd, 0xc8, 0xce, 0xcb, 0xc3, 0xc5, 0xc0, 0xc6, 0xc6, 0xcf, 0xc9, 0xc0, 0xca, 0xc3, + 0xc1, 0xc4, 0xc2, 0xc7, 0xc8, 0xc2, 0xc5, 0xcc, 0xcb, 0xc1, 0xcc, 0xca, 0xc4, 0xce, 0xcf, 0xc9, + 0xca, 0xc3, 0xc6, 0xcf, 0xc9, 0xc0, 0xc0, 0xc6, 0xcc, 0xca, 0xcb, 0xc1, 0xc7, 0xcd, 0xcd, 0xc8, + 0xcf, 0xc9, 0xc1, 0xc4, 0xc3, 0xc5, 0xce, 0xcb, 0xc5, 0xcc, 0xc2, 0xc7, 0xc8, 0xc2, 0xc4, 0xce, + 0x47, 0x4d, 0x4d, 0x48, 0x4e, 0x4b, 0x43, 0x45, 0x40, 0x46, 0x46, 0x4f, 0x49, 0x40, 0x4a, 0x43, + 0x41, 0x44, 0x42, 0x47, 0x48, 0x42, 0x45, 0x4c, 0x4b, 0x41, 0x4c, 0x4a, 0x44, 0x4e, 0x4f, 0x49, + 0x4a, 0x43, 0x46, 0x4f, 0x49, 0x40, 0x40, 0x46, 0x4c, 0x4a, 0x4b, 0x41, 0x47, 0x4d, 0x4d, 0x48, + 0x4f, 0x49, 0x41, 0x44, 0x43, 0x45, 0x4e, 0x4b, 0x45, 0x4c, 0x42, 0x47, 0x48, 0x42, 0x44, 0x4e, + 0xb7, 0xbd, 0xbd, 0xb8, 0xbe, 0xbb, 0xb3, 0xb5, 0xb0, 0xb6, 0xb6, 0xbf, 0xb9, 0xb0, 0xba, 0xb3, + 0xb1, 0xb4, 0xb2, 0xb7, 0xb8, 0xb2, 0xb5, 0xbc, 0xbb, 0xb1, 0xbc, 0xba, 0xb4, 0xbe, 0xbf, 0xb9, + 0xba, 0xb3, 0xb6, 0xbf, 0xb9, 0xb0, 0xb0, 0xb6, 0xbc, 0xba, 0xbb, 0xb1, 0xb7, 0xbd, 0xbd, 0xb8, + 0xbf, 0xb9, 0xb1, 0xb4, 0xb3, 0xb5, 0xbe, 0xbb, 0xb5, 0xbc, 0xb2, 0xb7, 0xb8, 0xb2, 0xb4, 0xbe, + 0x27, 0x2d, 0x2d, 0x28, 0x2e, 0x2b, 0x23, 0x25, 0x20, 0x26, 0x26, 0x2f, 0x29, 0x20, 0x2a, 0x23, + 0x21, 0x24, 0x22, 0x27, 0x28, 0x22, 0x25, 0x2c, 0x2b, 0x21, 0x2c, 0x2a, 0x24, 0x2e, 0x2f, 0x29, + 0x2a, 0x23, 0x26, 0x2f, 0x29, 0x20, 0x20, 0x26, 0x2c, 0x2a, 0x2b, 0x21, 0x27, 0x2d, 0x2d, 0x28, + 0x2f, 0x29, 0x21, 0x24, 0x23, 0x25, 0x2e, 0x2b, 0x25, 0x2c, 0x22, 0x27, 0x28, 0x22, 0x24, 0x2e, + 0xf7, 0xfd, 0xfd, 0xf8, 0xfe, 0xfb, 0xf3, 0xf5, 0xf0, 0xf6, 0xf6, 0xff, 0xf9, 0xf0, 0xfa, 0xf3, + 0xf1, 0xf4, 0xf2, 0xf7, 0xf8, 0xf2, 0xf5, 0xfc, 0xfb, 0xf1, 0xfc, 0xfa, 0xf4, 0xfe, 0xff, 0xf9, + 0xfa, 0xf3, 0xf6, 0xff, 0xf9, 0xf0, 0xf0, 0xf6, 0xfc, 0xfa, 0xfb, 0xf1, 0xf7, 0xfd, 0xfd, 0xf8, + 0xff, 0xf9, 0xf1, 0xf4, 0xf3, 0xf5, 0xfe, 0xfb, 0xf5, 0xfc, 0xf2, 0xf7, 0xf8, 0xf2, 0xf4, 0xfe, + 0x87, 0x8d, 0x8d, 0x88, 0x8e, 0x8b, 0x83, 0x85, 0x80, 0x86, 0x86, 0x8f, 0x89, 0x80, 0x8a, 0x83, + 0x81, 0x84, 0x82, 0x87, 0x88, 0x82, 0x85, 0x8c, 0x8b, 0x81, 0x8c, 0x8a, 0x84, 0x8e, 0x8f, 0x89, + 0x8a, 0x83, 0x86, 0x8f, 0x89, 0x80, 0x80, 0x86, 0x8c, 0x8a, 0x8b, 0x81, 0x87, 0x8d, 0x8d, 0x88, + 0x8f, 0x89, 0x81, 0x84, 0x83, 0x85, 0x8e, 0x8b, 0x85, 0x8c, 0x82, 0x87, 0x88, 0x82, 0x84, 0x8e, + 0x17, 0x1d, 0x1d, 0x18, 0x1e, 0x1b, 0x13, 0x15, 0x10, 0x16, 0x16, 0x1f, 0x19, 0x10, 0x1a, 0x13, + 0x11, 0x14, 0x12, 0x17, 0x18, 0x12, 0x15, 0x1c, 0x1b, 0x11, 0x1c, 0x1a, 0x14, 0x1e, 0x1f, 0x19, + 0x1a, 0x13, 0x16, 0x1f, 0x19, 0x10, 0x10, 0x16, 0x1c, 0x1a, 0x1b, 0x11, 0x17, 0x1d, 0x1d, 0x18, + 0x1f, 0x19, 0x11, 0x14, 0x13, 0x15, 0x1e, 0x1b, 0x15, 0x1c, 0x12, 0x17, 0x18, 0x12, 0x14, 0x1e, + 0xd7, 0xdd, 0xdd, 0xd8, 0xde, 0xdb, 0xd3, 0xd5, 0xd0, 0xd6, 0xd6, 0xdf, 0xd9, 0xd0, 0xda, 0xd3, + 0xd1, 0xd4, 0xd2, 0xd7, 0xd8, 0xd2, 0xd5, 0xdc, 0xdb, 0xd1, 0xdc, 0xda, 0xd4, 0xde, 0xdf, 0xd9, + 0xda, 0xd3, 0xd6, 0xdf, 0xd9, 0xd0, 0xd0, 0xd6, 0xdc, 0xda, 0xdb, 0xd1, 0xd7, 0xdd, 0xdd, 0xd8, + 0xdf, 0xd9, 0xd1, 0xd4, 0xd3, 0xd5, 0xde, 0xdb, 0xd5, 0xdc, 0xd2, 0xd7, 0xd8, 0xd2, 0xd4, 0xde, + 0x17, 0x1d, 0x1d, 0x18, 0x1e, 0x1b, 0x13, 0x15, 0x10, 0x16, 0x16, 0x1f, 0x19, 0x10, 0x1a, 0x13, + 0x11, 0x14, 0x12, 0x17, 0x18, 0x12, 0x15, 0x1c, 0x1b, 0x11, 0x1c, 0x1a, 0x14, 0x1e, 0x1f, 0x19, + 0x1a, 0x13, 0x16, 0x1f, 0x19, 0x10, 0x10, 0x16, 0x1c, 0x1a, 0x1b, 0x11, 0x17, 0x1d, 0x1d, 0x18, + 0x1f, 0x19, 0x11, 0x14, 0x13, 0x15, 0x1e, 0x1b, 0x15, 0x1c, 0x12, 0x17, 0x18, 0x12, 0x14, 0x1e, + 0x67, 0x6d, 0x6d, 0x68, 0x6e, 0x6b, 0x63, 0x65, 0x60, 0x66, 0x66, 0x6f, 0x69, 0x60, 0x6a, 0x63, + 0x61, 0x64, 0x62, 0x67, 0x68, 0x62, 0x65, 0x6c, 0x6b, 0x61, 0x6c, 0x6a, 0x64, 0x6e, 0x6f, 0x69, + 0x6a, 0x63, 0x66, 0x6f, 0x69, 0x60, 0x60, 0x66, 0x6c, 0x6a, 0x6b, 0x61, 0x67, 0x6d, 0x6d, 0x68, + 0x6f, 0x69, 0x61, 0x64, 0x63, 0x65, 0x6e, 0x6b, 0x65, 0x6c, 0x62, 0x67, 0x68, 0x62, 0x64, 0x6e, + 0xa7, 0xad, 0xad, 0xa8, 0xae, 0xab, 0xa3, 0xa5, 0xa0, 0xa6, 0xa6, 0xaf, 0xa9, 0xa0, 0xaa, 0xa3, + 0xa1, 0xa4, 0xa2, 0xa7, 0xa8, 0xa2, 0xa5, 0xac, 0xab, 0xa1, 0xac, 0xaa, 0xa4, 0xae, 0xaf, 0xa9, + 0xaa, 0xa3, 0xa6, 0xaf, 0xa9, 0xa0, 0xa0, 0xa6, 0xac, 0xaa, 0xab, 0xa1, 0xa7, 0xad, 0xad, 0xa8, + 0xaf, 0xa9, 0xa1, 0xa4, 0xa3, 0xa5, 0xae, 0xab, 0xa5, 0xac, 0xa2, 0xa7, 0xa8, 0xa2, 0xa4, 0xae, + 0x47, 0x4d, 0x4d, 0x48, 0x4e, 0x4b, 0x43, 0x45, 0x40, 0x46, 0x46, 0x4f, 0x49, 0x40, 0x4a, 0x43, + 0x41, 0x44, 0x42, 0x47, 0x48, 0x42, 0x45, 0x4c, 0x4b, 0x41, 0x4c, 0x4a, 0x44, 0x4e, 0x4f, 0x49, + 0x4a, 0x43, 0x46, 0x4f, 0x49, 0x40, 0x40, 0x46, 0x4c, 0x4a, 0x4b, 0x41, 0x47, 0x4d, 0x4d, 0x48, + 0x4f, 0x49, 0x41, 0x44, 0x43, 0x45, 0x4e, 0x4b, 0x45, 0x4c, 0x42, 0x47, 0x48, 0x42, 0x44, 0x4e, + 0xd7, 0xdd, 0xdd, 0xd8, 0xde, 0xdb, 0xd3, 0xd5, 0xd0, 0xd6, 0xd6, 0xdf, 0xd9, 0xd0, 0xda, 0xd3, + 0xd1, 0xd4, 0xd2, 0xd7, 0xd8, 0xd2, 0xd5, 0xdc, 0xdb, 0xd1, 0xdc, 0xda, 0xd4, 0xde, 0xdf, 0xd9, + 0xda, 0xd3, 0xd6, 0xdf, 0xd9, 0xd0, 0xd0, 0xd6, 0xdc, 0xda, 0xdb, 0xd1, 0xd7, 0xdd, 0xdd, 0xd8, + 0xdf, 0xd9, 0xd1, 0xd4, 0xd3, 0xd5, 0xde, 0xdb, 0xd5, 0xdc, 0xd2, 0xd7, 0xd8, 0xd2, 0xd4, 0xde, + 0x97, 0x9d, 0x9d, 0x98, 0x9e, 0x9b, 0x93, 0x95, 0x90, 0x96, 0x96, 0x9f, 0x99, 0x90, 0x9a, 0x93, + 0x91, 0x94, 0x92, 0x97, 0x98, 0x92, 0x95, 0x9c, 0x9b, 0x91, 0x9c, 0x9a, 0x94, 0x9e, 0x9f, 0x99, + 0x9a, 0x93, 0x96, 0x9f, 0x99, 0x90, 0x90, 0x96, 0x9c, 0x9a, 0x9b, 0x91, 0x97, 0x9d, 0x9d, 0x98, + 0x9f, 0x99, 0x91, 0x94, 0x93, 0x95, 0x9e, 0x9b, 0x95, 0x9c, 0x92, 0x97, 0x98, 0x92, 0x94, 0x9e, + 0x07, 0x0d, 0x0d, 0x08, 0x0e, 0x0b, 0x03, 0x05, 0x00, 0x06, 0x06, 0x0f, 0x09, 0x00, 0x0a, 0x03, + 0x01, 0x04, 0x02, 0x07, 0x08, 0x02, 0x05, 0x0c, 0x0b, 0x01, 0x0c, 0x0a, 0x04, 0x0e, 0x0f, 0x09, + 0x0a, 0x03, 0x06, 0x0f, 0x09, 0x00, 0x00, 0x06, 0x0c, 0x0a, 0x0b, 0x01, 0x07, 0x0d, 0x0d, 0x08, + 0x0f, 0x09, 0x01, 0x04, 0x03, 0x05, 0x0e, 0x0b, 0x05, 0x0c, 0x02, 0x07, 0x08, 0x02, 0x04, 0x0e, + 0x87, 0x8d, 0x8d, 0x88, 0x8e, 0x8b, 0x83, 0x85, 0x80, 0x86, 0x86, 0x8f, 0x89, 0x80, 0x8a, 0x83, + 0x81, 0x84, 0x82, 0x87, 0x88, 0x82, 0x85, 0x8c, 0x8b, 0x81, 0x8c, 0x8a, 0x84, 0x8e, 0x8f, 0x89, + 0x8a, 0x83, 0x86, 0x8f, 0x89, 0x80, 0x80, 0x86, 0x8c, 0x8a, 0x8b, 0x81, 0x87, 0x8d, 0x8d, 0x88, + 0x8f, 0x89, 0x81, 0x84, 0x83, 0x85, 0x8e, 0x8b, 0x85, 0x8c, 0x82, 0x87, 0x88, 0x82, 0x84, 0x8e, + 0x67, 0x6d, 0x6d, 0x68, 0x6e, 0x6b, 0x63, 0x65, 0x60, 0x66, 0x66, 0x6f, 0x69, 0x60, 0x6a, 0x63, + 0x61, 0x64, 0x62, 0x67, 0x68, 0x62, 0x65, 0x6c, 0x6b, 0x61, 0x6c, 0x6a, 0x64, 0x6e, 0x6f, 0x69, + 0x6a, 0x63, 0x66, 0x6f, 0x69, 0x60, 0x60, 0x66, 0x6c, 0x6a, 0x6b, 0x61, 0x67, 0x6d, 0x6d, 0x68, + 0x6f, 0x69, 0x61, 0x64, 0x63, 0x65, 0x6e, 0x6b, 0x65, 0x6c, 0x62, 0x67, 0x68, 0x62, 0x64, 0x6e, + 0xf7, 0xfd, 0xfd, 0xf8, 0xfe, 0xfb, 0xf3, 0xf5, 0xf0, 0xf6, 0xf6, 0xff, 0xf9, 0xf0, 0xfa, 0xf3, + 0xf1, 0xf4, 0xf2, 0xf7, 0xf8, 0xf2, 0xf5, 0xfc, 0xfb, 0xf1, 0xfc, 0xfa, 0xf4, 0xfe, 0xff, 0xf9, + 0xfa, 0xf3, 0xf6, 0xff, 0xf9, 0xf0, 0xf0, 0xf6, 0xfc, 0xfa, 0xfb, 0xf1, 0xf7, 0xfd, 0xfd, 0xf8, + 0xff, 0xf9, 0xf1, 0xf4, 0xf3, 0xf5, 0xfe, 0xfb, 0xf5, 0xfc, 0xf2, 0xf7, 0xf8, 0xf2, 0xf4, 0xfe, + 0x97, 0x9d, 0x9d, 0x98, 0x9e, 0x9b, 0x93, 0x95, 0x90, 0x96, 0x96, 0x9f, 0x99, 0x90, 0x9a, 0x93, + 0x91, 0x94, 0x92, 0x97, 0x98, 0x92, 0x95, 0x9c, 0x9b, 0x91, 0x9c, 0x9a, 0x94, 0x9e, 0x9f, 0x99, + 0x9a, 0x93, 0x96, 0x9f, 0x99, 0x90, 0x90, 0x96, 0x9c, 0x9a, 0x9b, 0x91, 0x97, 0x9d, 0x9d, 0x98, + 0x9f, 0x99, 0x91, 0x94, 0x93, 0x95, 0x9e, 0x9b, 0x95, 0x9c, 0x92, 0x97, 0x98, 0x92, 0x94, 0x9e, + 0x37, 0x3d, 0x3d, 0x38, 0x3e, 0x3b, 0x33, 0x35, 0x30, 0x36, 0x36, 0x3f, 0x39, 0x30, 0x3a, 0x33, + 0x31, 0x34, 0x32, 0x37, 0x38, 0x32, 0x35, 0x3c, 0x3b, 0x31, 0x3c, 0x3a, 0x34, 0x3e, 0x3f, 0x39, + 0x3a, 0x33, 0x36, 0x3f, 0x39, 0x30, 0x30, 0x36, 0x3c, 0x3a, 0x3b, 0x31, 0x37, 0x3d, 0x3d, 0x38, + 0x3f, 0x39, 0x31, 0x34, 0x33, 0x35, 0x3e, 0x3b, 0x35, 0x3c, 0x32, 0x37, 0x38, 0x32, 0x34, 0x3e, + 0x87, 0x8d, 0x8d, 0x88, 0x8e, 0x8b, 0x83, 0x85, 0x80, 0x86, 0x86, 0x8f, 0x89, 0x80, 0x8a, 0x83, + 0x81, 0x84, 0x82, 0x87, 0x88, 0x82, 0x85, 0x8c, 0x8b, 0x81, 0x8c, 0x8a, 0x84, 0x8e, 0x8f, 0x89, + 0x8a, 0x83, 0x86, 0x8f, 0x89, 0x80, 0x80, 0x86, 0x8c, 0x8a, 0x8b, 0x81, 0x87, 0x8d, 0x8d, 0x88, + 0x8f, 0x89, 0x81, 0x84, 0x83, 0x85, 0x8e, 0x8b, 0x85, 0x8c, 0x82, 0x87, 0x88, 0x82, 0x84, 0x8e, + 0x07, 0x0d, 0x0d, 0x08, 0x0e, 0x0b, 0x03, 0x05, 0x00, 0x06, 0x06, 0x0f, 0x09, 0x00, 0x0a, 0x03, + 0x01, 0x04, 0x02, 0x07, 0x08, 0x02, 0x05, 0x0c, 0x0b, 0x01, 0x0c, 0x0a, 0x04, 0x0e, 0x0f, 0x09, + 0x0a, 0x03, 0x06, 0x0f, 0x09, 0x00, 0x00, 0x06, 0x0c, 0x0a, 0x0b, 0x01, 0x07, 0x0d, 0x0d, 0x08, + 0x0f, 0x09, 0x01, 0x04, 0x03, 0x05, 0x0e, 0x0b, 0x05, 0x0c, 0x02, 0x07, 0x08, 0x02, 0x04, 0x0e, + 0x77, 0x7d, 0x7d, 0x78, 0x7e, 0x7b, 0x73, 0x75, 0x70, 0x76, 0x76, 0x7f, 0x79, 0x70, 0x7a, 0x73, + 0x71, 0x74, 0x72, 0x77, 0x78, 0x72, 0x75, 0x7c, 0x7b, 0x71, 0x7c, 0x7a, 0x74, 0x7e, 0x7f, 0x79, + 0x7a, 0x73, 0x76, 0x7f, 0x79, 0x70, 0x70, 0x76, 0x7c, 0x7a, 0x7b, 0x71, 0x77, 0x7d, 0x7d, 0x78, + 0x7f, 0x79, 0x71, 0x74, 0x73, 0x75, 0x7e, 0x7b, 0x75, 0x7c, 0x72, 0x77, 0x78, 0x72, 0x74, 0x7e, + 0xb7, 0xbd, 0xbd, 0xb8, 0xbe, 0xbb, 0xb3, 0xb5, 0xb0, 0xb6, 0xb6, 0xbf, 0xb9, 0xb0, 0xba, 0xb3, + 0xb1, 0xb4, 0xb2, 0xb7, 0xb8, 0xb2, 0xb5, 0xbc, 0xbb, 0xb1, 0xbc, 0xba, 0xb4, 0xbe, 0xbf, 0xb9, + 0xba, 0xb3, 0xb6, 0xbf, 0xb9, 0xb0, 0xb0, 0xb6, 0xbc, 0xba, 0xbb, 0xb1, 0xb7, 0xbd, 0xbd, 0xb8, + 0xbf, 0xb9, 0xb1, 0xb4, 0xb3, 0xb5, 0xbe, 0xbb, 0xb5, 0xbc, 0xb2, 0xb7, 0xb8, 0xb2, 0xb4, 0xbe, + 0x47, 0x4d, 0x4d, 0x48, 0x4e, 0x4b, 0x43, 0x45, 0x40, 0x46, 0x46, 0x4f, 0x49, 0x40, 0x4a, 0x43, + 0x41, 0x44, 0x42, 0x47, 0x48, 0x42, 0x45, 0x4c, 0x4b, 0x41, 0x4c, 0x4a, 0x44, 0x4e, 0x4f, 0x49, + 0x4a, 0x43, 0x46, 0x4f, 0x49, 0x40, 0x40, 0x46, 0x4c, 0x4a, 0x4b, 0x41, 0x47, 0x4d, 0x4d, 0x48, + 0x4f, 0x49, 0x41, 0x44, 0x43, 0x45, 0x4e, 0x4b, 0x45, 0x4c, 0x42, 0x47, 0x48, 0x42, 0x44, 0x4e, + 0x17, 0x1d, 0x1d, 0x18, 0x1e, 0x1b, 0x13, 0x15, 0x10, 0x16, 0x16, 0x1f, 0x19, 0x10, 0x1a, 0x13, + 0x11, 0x14, 0x12, 0x17, 0x18, 0x12, 0x15, 0x1c, 0x1b, 0x11, 0x1c, 0x1a, 0x14, 0x1e, 0x1f, 0x19, + 0x1a, 0x13, 0x16, 0x1f, 0x19, 0x10, 0x10, 0x16, 0x1c, 0x1a, 0x1b, 0x11, 0x17, 0x1d, 0x1d, 0x18, + 0x1f, 0x19, 0x11, 0x14, 0x13, 0x15, 0x1e, 0x1b, 0x15, 0x1c, 0x12, 0x17, 0x18, 0x12, 0x14, 0x1e, + 0xf7, 0xfd, 0xfd, 0xf8, 0xfe, 0xfb, 0xf3, 0xf5, 0xf0, 0xf6, 0xf6, 0xff, 0xf9, 0xf0, 0xfa, 0xf3, + 0xf1, 0xf4, 0xf2, 0xf7, 0xf8, 0xf2, 0xf5, 0xfc, 0xfb, 0xf1, 0xfc, 0xfa, 0xf4, 0xfe, 0xff, 0xf9, + 0xfa, 0xf3, 0xf6, 0xff, 0xf9, 0xf0, 0xf0, 0xf6, 0xfc, 0xfa, 0xfb, 0xf1, 0xf7, 0xfd, 0xfd, 0xf8, + 0xff, 0xf9, 0xf1, 0xf4, 0xf3, 0xf5, 0xfe, 0xfb, 0xf5, 0xfc, 0xf2, 0xf7, 0xf8, 0xf2, 0xf4, 0xfe, + 0x27, 0x2d, 0x2d, 0x28, 0x2e, 0x2b, 0x23, 0x25, 0x20, 0x26, 0x26, 0x2f, 0x29, 0x20, 0x2a, 0x23, + 0x21, 0x24, 0x22, 0x27, 0x28, 0x22, 0x25, 0x2c, 0x2b, 0x21, 0x2c, 0x2a, 0x24, 0x2e, 0x2f, 0x29, + 0x2a, 0x23, 0x26, 0x2f, 0x29, 0x20, 0x20, 0x26, 0x2c, 0x2a, 0x2b, 0x21, 0x27, 0x2d, 0x2d, 0x28, + 0x2f, 0x29, 0x21, 0x24, 0x23, 0x25, 0x2e, 0x2b, 0x25, 0x2c, 0x22, 0x27, 0x28, 0x22, 0x24, 0x2e, + 0xe7, 0xed, 0xed, 0xe8, 0xee, 0xeb, 0xe3, 0xe5, 0xe0, 0xe6, 0xe6, 0xef, 0xe9, 0xe0, 0xea, 0xe3, + 0xe1, 0xe4, 0xe2, 0xe7, 0xe8, 0xe2, 0xe5, 0xec, 0xeb, 0xe1, 0xec, 0xea, 0xe4, 0xee, 0xef, 0xe9, + 0xea, 0xe3, 0xe6, 0xef, 0xe9, 0xe0, 0xe0, 0xe6, 0xec, 0xea, 0xeb, 0xe1, 0xe7, 0xed, 0xed, 0xe8, + 0xef, 0xe9, 0xe1, 0xe4, 0xe3, 0xe5, 0xee, 0xeb, 0xe5, 0xec, 0xe2, 0xe7, 0xe8, 0xe2, 0xe4, 0xee, + 0xc7, 0xcd, 0xcd, 0xc8, 0xce, 0xcb, 0xc3, 0xc5, 0xc0, 0xc6, 0xc6, 0xcf, 0xc9, 0xc0, 0xca, 0xc3, + 0xc1, 0xc4, 0xc2, 0xc7, 0xc8, 0xc2, 0xc5, 0xcc, 0xcb, 0xc1, 0xcc, 0xca, 0xc4, 0xce, 0xcf, 0xc9, + 0xca, 0xc3, 0xc6, 0xcf, 0xc9, 0xc0, 0xc0, 0xc6, 0xcc, 0xca, 0xcb, 0xc1, 0xc7, 0xcd, 0xcd, 0xc8, + 0xcf, 0xc9, 0xc1, 0xc4, 0xc3, 0xc5, 0xce, 0xcb, 0xc5, 0xcc, 0xc2, 0xc7, 0xc8, 0xc2, 0xc4, 0xce, + 0x37, 0x3d, 0x3d, 0x38, 0x3e, 0x3b, 0x33, 0x35, 0x30, 0x36, 0x36, 0x3f, 0x39, 0x30, 0x3a, 0x33, + 0x31, 0x34, 0x32, 0x37, 0x38, 0x32, 0x35, 0x3c, 0x3b, 0x31, 0x3c, 0x3a, 0x34, 0x3e, 0x3f, 0x39, + 0x3a, 0x33, 0x36, 0x3f, 0x39, 0x30, 0x30, 0x36, 0x3c, 0x3a, 0x3b, 0x31, 0x37, 0x3d, 0x3d, 0x38, + 0x3f, 0x39, 0x31, 0x34, 0x33, 0x35, 0x3e, 0x3b, 0x35, 0x3c, 0x32, 0x37, 0x38, 0x32, 0x34, 0x3e, + 0x57, 0x5d, 0x5d, 0x58, 0x5e, 0x5b, 0x53, 0x55, 0x50, 0x56, 0x56, 0x5f, 0x59, 0x50, 0x5a, 0x53, + 0x51, 0x54, 0x52, 0x57, 0x58, 0x52, 0x55, 0x5c, 0x5b, 0x51, 0x5c, 0x5a, 0x54, 0x5e, 0x5f, 0x59, + 0x5a, 0x53, 0x56, 0x5f, 0x59, 0x50, 0x50, 0x56, 0x5c, 0x5a, 0x5b, 0x51, 0x57, 0x5d, 0x5d, 0x58, + 0x5f, 0x59, 0x51, 0x54, 0x53, 0x55, 0x5e, 0x5b, 0x55, 0x5c, 0x52, 0x57, 0x58, 0x52, 0x54, 0x5e, + 0xb7, 0xbd, 0xbd, 0xb8, 0xbe, 0xbb, 0xb3, 0xb5, 0xb0, 0xb6, 0xb6, 0xbf, 0xb9, 0xb0, 0xba, 0xb3, + 0xb1, 0xb4, 0xb2, 0xb7, 0xb8, 0xb2, 0xb5, 0xbc, 0xbb, 0xb1, 0xbc, 0xba, 0xb4, 0xbe, 0xbf, 0xb9, + 0xba, 0xb3, 0xb6, 0xbf, 0xb9, 0xb0, 0xb0, 0xb6, 0xbc, 0xba, 0xbb, 0xb1, 0xb7, 0xbd, 0xbd, 0xb8, + 0xbf, 0xb9, 0xb1, 0xb4, 0xb3, 0xb5, 0xbe, 0xbb, 0xb5, 0xbc, 0xb2, 0xb7, 0xb8, 0xb2, 0xb4, 0xbe, + 0xa7, 0xad, 0xad, 0xa8, 0xae, 0xab, 0xa3, 0xa5, 0xa0, 0xa6, 0xa6, 0xaf, 0xa9, 0xa0, 0xaa, 0xa3, + 0xa1, 0xa4, 0xa2, 0xa7, 0xa8, 0xa2, 0xa5, 0xac, 0xab, 0xa1, 0xac, 0xaa, 0xa4, 0xae, 0xaf, 0xa9, + 0xaa, 0xa3, 0xa6, 0xaf, 0xa9, 0xa0, 0xa0, 0xa6, 0xac, 0xaa, 0xab, 0xa1, 0xa7, 0xad, 0xad, 0xa8, + 0xaf, 0xa9, 0xa1, 0xa4, 0xa3, 0xa5, 0xae, 0xab, 0xa5, 0xac, 0xa2, 0xa7, 0xa8, 0xa2, 0xa4, 0xae, + 0x57, 0x5d, 0x5d, 0x58, 0x5e, 0x5b, 0x53, 0x55, 0x50, 0x56, 0x56, 0x5f, 0x59, 0x50, 0x5a, 0x53, + 0x51, 0x54, 0x52, 0x57, 0x58, 0x52, 0x55, 0x5c, 0x5b, 0x51, 0x5c, 0x5a, 0x54, 0x5e, 0x5f, 0x59, + 0x5a, 0x53, 0x56, 0x5f, 0x59, 0x50, 0x50, 0x56, 0x5c, 0x5a, 0x5b, 0x51, 0x57, 0x5d, 0x5d, 0x58, + 0x5f, 0x59, 0x51, 0x54, 0x53, 0x55, 0x5e, 0x5b, 0x55, 0x5c, 0x52, 0x57, 0x58, 0x52, 0x54, 0x5e, + 0xe7, 0xed, 0xed, 0xe8, 0xee, 0xeb, 0xe3, 0xe5, 0xe0, 0xe6, 0xe6, 0xef, 0xe9, 0xe0, 0xea, 0xe3, + 0xe1, 0xe4, 0xe2, 0xe7, 0xe8, 0xe2, 0xe5, 0xec, 0xeb, 0xe1, 0xec, 0xea, 0xe4, 0xee, 0xef, 0xe9, + 0xea, 0xe3, 0xe6, 0xef, 0xe9, 0xe0, 0xe0, 0xe6, 0xec, 0xea, 0xeb, 0xe1, 0xe7, 0xed, 0xed, 0xe8, + 0xef, 0xe9, 0xe1, 0xe4, 0xe3, 0xe5, 0xee, 0xeb, 0xe5, 0xec, 0xe2, 0xe7, 0xe8, 0xe2, 0xe4, 0xee, + 0x27, 0x2d, 0x2d, 0x28, 0x2e, 0x2b, 0x23, 0x25, 0x20, 0x26, 0x26, 0x2f, 0x29, 0x20, 0x2a, 0x23, + 0x21, 0x24, 0x22, 0x27, 0x28, 0x22, 0x25, 0x2c, 0x2b, 0x21, 0x2c, 0x2a, 0x24, 0x2e, 0x2f, 0x29, + 0x2a, 0x23, 0x26, 0x2f, 0x29, 0x20, 0x20, 0x26, 0x2c, 0x2a, 0x2b, 0x21, 0x27, 0x2d, 0x2d, 0x28, + 0x2f, 0x29, 0x21, 0x24, 0x23, 0x25, 0x2e, 0x2b, 0x25, 0x2c, 0x22, 0x27, 0x28, 0x22, 0x24, 0x2e, + 0x77, 0x7d, 0x7d, 0x78, 0x7e, 0x7b, 0x73, 0x75, 0x70, 0x76, 0x76, 0x7f, 0x79, 0x70, 0x7a, 0x73, + 0x71, 0x74, 0x72, 0x77, 0x78, 0x72, 0x75, 0x7c, 0x7b, 0x71, 0x7c, 0x7a, 0x74, 0x7e, 0x7f, 0x79, + 0x7a, 0x73, 0x76, 0x7f, 0x79, 0x70, 0x70, 0x76, 0x7c, 0x7a, 0x7b, 0x71, 0x77, 0x7d, 0x7d, 0x78, + 0x7f, 0x79, 0x71, 0x74, 0x73, 0x75, 0x7e, 0x7b, 0x75, 0x7c, 0x72, 0x77, 0x78, 0x72, 0x74, 0x7e, + 0xc7, 0xcd, 0xcd, 0xc8, 0xce, 0xcb, 0xc3, 0xc5, 0xc0, 0xc6, 0xc6, 0xcf, 0xc9, 0xc0, 0xca, 0xc3, + 0xc1, 0xc4, 0xc2, 0xc7, 0xc8, 0xc2, 0xc5, 0xcc, 0xcb, 0xc1, 0xcc, 0xca, 0xc4, 0xce, 0xcf, 0xc9, + 0xca, 0xc3, 0xc6, 0xcf, 0xc9, 0xc0, 0xc0, 0xc6, 0xcc, 0xca, 0xcb, 0xc1, 0xc7, 0xcd, 0xcd, 0xc8, + 0xcf, 0xc9, 0xc1, 0xc4, 0xc3, 0xc5, 0xce, 0xcb, 0xc5, 0xcc, 0xc2, 0xc7, 0xc8, 0xc2, 0xc4, 0xce, + }, { + 0x2c, 0x2a, 0x21, 0x2f, 0x2a, 0x24, 0x2f, 0x22, 0x29, 0x27, 0x22, 0x2c, 0x26, 0x29, 0x28, 0x25, + 0x20, 0x26, 0x2d, 0x21, 0x23, 0x2d, 0x24, 0x2e, 0x2e, 0x20, 0x27, 0x2b, 0x25, 0x23, 0x2b, 0x28, + 0x29, 0x24, 0x2e, 0x23, 0x2f, 0x22, 0x25, 0x2c, 0x22, 0x29, 0x28, 0x25, 0x2c, 0x2f, 0x23, 0x2a, + 0x27, 0x2b, 0x20, 0x2e, 0x24, 0x21, 0x2a, 0x27, 0x21, 0x26, 0x2d, 0x20, 0x2b, 0x28, 0x26, 0x2d, + 0xec, 0xea, 0xe1, 0xef, 0xea, 0xe4, 0xef, 0xe2, 0xe9, 0xe7, 0xe2, 0xec, 0xe6, 0xe9, 0xe8, 0xe5, + 0xe0, 0xe6, 0xed, 0xe1, 0xe3, 0xed, 0xe4, 0xee, 0xee, 0xe0, 0xe7, 0xeb, 0xe5, 0xe3, 0xeb, 0xe8, + 0xe9, 0xe4, 0xee, 0xe3, 0xef, 0xe2, 0xe5, 0xec, 0xe2, 0xe9, 0xe8, 0xe5, 0xec, 0xef, 0xe3, 0xea, + 0xe7, 0xeb, 0xe0, 0xee, 0xe4, 0xe1, 0xea, 0xe7, 0xe1, 0xe6, 0xed, 0xe0, 0xeb, 0xe8, 0xe6, 0xed, + 0xcc, 0xca, 0xc1, 0xcf, 0xca, 0xc4, 0xcf, 0xc2, 0xc9, 0xc7, 0xc2, 0xcc, 0xc6, 0xc9, 0xc8, 0xc5, + 0xc0, 0xc6, 0xcd, 0xc1, 0xc3, 0xcd, 0xc4, 0xce, 0xce, 0xc0, 0xc7, 0xcb, 0xc5, 0xc3, 0xcb, 0xc8, + 0xc9, 0xc4, 0xce, 0xc3, 0xcf, 0xc2, 0xc5, 0xcc, 0xc2, 0xc9, 0xc8, 0xc5, 0xcc, 0xcf, 0xc3, 0xca, + 0xc7, 0xcb, 0xc0, 0xce, 0xc4, 0xc1, 0xca, 0xc7, 0xc1, 0xc6, 0xcd, 0xc0, 0xcb, 0xc8, 0xc6, 0xcd, + 0xbc, 0xba, 0xb1, 0xbf, 0xba, 0xb4, 0xbf, 0xb2, 0xb9, 0xb7, 0xb2, 0xbc, 0xb6, 0xb9, 0xb8, 0xb5, + 0xb0, 0xb6, 0xbd, 0xb1, 0xb3, 0xbd, 0xb4, 0xbe, 0xbe, 0xb0, 0xb7, 0xbb, 0xb5, 0xb3, 0xbb, 0xb8, + 0xb9, 0xb4, 0xbe, 0xb3, 0xbf, 0xb2, 0xb5, 0xbc, 0xb2, 0xb9, 0xb8, 0xb5, 0xbc, 0xbf, 0xb3, 0xba, + 0xb7, 0xbb, 0xb0, 0xbe, 0xb4, 0xb1, 0xba, 0xb7, 0xb1, 0xb6, 0xbd, 0xb0, 0xbb, 0xb8, 0xb6, 0xbd, + 0x4c, 0x4a, 0x41, 0x4f, 0x4a, 0x44, 0x4f, 0x42, 0x49, 0x47, 0x42, 0x4c, 0x46, 0x49, 0x48, 0x45, + 0x40, 0x46, 0x4d, 0x41, 0x43, 0x4d, 0x44, 0x4e, 0x4e, 0x40, 0x47, 0x4b, 0x45, 0x43, 0x4b, 0x48, + 0x49, 0x44, 0x4e, 0x43, 0x4f, 0x42, 0x45, 0x4c, 0x42, 0x49, 0x48, 0x45, 0x4c, 0x4f, 0x43, 0x4a, + 0x47, 0x4b, 0x40, 0x4e, 0x44, 0x41, 0x4a, 0x47, 0x41, 0x46, 0x4d, 0x40, 0x4b, 0x48, 0x46, 0x4d, + 0x2c, 0x2a, 0x21, 0x2f, 0x2a, 0x24, 0x2f, 0x22, 0x29, 0x27, 0x22, 0x2c, 0x26, 0x29, 0x28, 0x25, + 0x20, 0x26, 0x2d, 0x21, 0x23, 0x2d, 0x24, 0x2e, 0x2e, 0x20, 0x27, 0x2b, 0x25, 0x23, 0x2b, 0x28, + 0x29, 0x24, 0x2e, 0x23, 0x2f, 0x22, 0x25, 0x2c, 0x22, 0x29, 0x28, 0x25, 0x2c, 0x2f, 0x23, 0x2a, + 0x27, 0x2b, 0x20, 0x2e, 0x24, 0x21, 0x2a, 0x27, 0x21, 0x26, 0x2d, 0x20, 0x2b, 0x28, 0x26, 0x2d, + 0x1c, 0x1a, 0x11, 0x1f, 0x1a, 0x14, 0x1f, 0x12, 0x19, 0x17, 0x12, 0x1c, 0x16, 0x19, 0x18, 0x15, + 0x10, 0x16, 0x1d, 0x11, 0x13, 0x1d, 0x14, 0x1e, 0x1e, 0x10, 0x17, 0x1b, 0x15, 0x13, 0x1b, 0x18, + 0x19, 0x14, 0x1e, 0x13, 0x1f, 0x12, 0x15, 0x1c, 0x12, 0x19, 0x18, 0x15, 0x1c, 0x1f, 0x13, 0x1a, + 0x17, 0x1b, 0x10, 0x1e, 0x14, 0x11, 0x1a, 0x17, 0x11, 0x16, 0x1d, 0x10, 0x1b, 0x18, 0x16, 0x1d, + 0xcc, 0xca, 0xc1, 0xcf, 0xca, 0xc4, 0xcf, 0xc2, 0xc9, 0xc7, 0xc2, 0xcc, 0xc6, 0xc9, 0xc8, 0xc5, + 0xc0, 0xc6, 0xcd, 0xc1, 0xc3, 0xcd, 0xc4, 0xce, 0xce, 0xc0, 0xc7, 0xcb, 0xc5, 0xc3, 0xcb, 0xc8, + 0xc9, 0xc4, 0xce, 0xc3, 0xcf, 0xc2, 0xc5, 0xcc, 0xc2, 0xc9, 0xc8, 0xc5, 0xcc, 0xcf, 0xc3, 0xca, + 0xc7, 0xcb, 0xc0, 0xce, 0xc4, 0xc1, 0xca, 0xc7, 0xc1, 0xc6, 0xcd, 0xc0, 0xcb, 0xc8, 0xc6, 0xcd, + 0x7c, 0x7a, 0x71, 0x7f, 0x7a, 0x74, 0x7f, 0x72, 0x79, 0x77, 0x72, 0x7c, 0x76, 0x79, 0x78, 0x75, + 0x70, 0x76, 0x7d, 0x71, 0x73, 0x7d, 0x74, 0x7e, 0x7e, 0x70, 0x77, 0x7b, 0x75, 0x73, 0x7b, 0x78, + 0x79, 0x74, 0x7e, 0x73, 0x7f, 0x72, 0x75, 0x7c, 0x72, 0x79, 0x78, 0x75, 0x7c, 0x7f, 0x73, 0x7a, + 0x77, 0x7b, 0x70, 0x7e, 0x74, 0x71, 0x7a, 0x77, 0x71, 0x76, 0x7d, 0x70, 0x7b, 0x78, 0x76, 0x7d, + 0x4c, 0x4a, 0x41, 0x4f, 0x4a, 0x44, 0x4f, 0x42, 0x49, 0x47, 0x42, 0x4c, 0x46, 0x49, 0x48, 0x45, + 0x40, 0x46, 0x4d, 0x41, 0x43, 0x4d, 0x44, 0x4e, 0x4e, 0x40, 0x47, 0x4b, 0x45, 0x43, 0x4b, 0x48, + 0x49, 0x44, 0x4e, 0x43, 0x4f, 0x42, 0x45, 0x4c, 0x42, 0x49, 0x48, 0x45, 0x4c, 0x4f, 0x43, 0x4a, + 0x47, 0x4b, 0x40, 0x4e, 0x44, 0x41, 0x4a, 0x47, 0x41, 0x46, 0x4d, 0x40, 0x4b, 0x48, 0x46, 0x4d, + 0xac, 0xaa, 0xa1, 0xaf, 0xaa, 0xa4, 0xaf, 0xa2, 0xa9, 0xa7, 0xa2, 0xac, 0xa6, 0xa9, 0xa8, 0xa5, + 0xa0, 0xa6, 0xad, 0xa1, 0xa3, 0xad, 0xa4, 0xae, 0xae, 0xa0, 0xa7, 0xab, 0xa5, 0xa3, 0xab, 0xa8, + 0xa9, 0xa4, 0xae, 0xa3, 0xaf, 0xa2, 0xa5, 0xac, 0xa2, 0xa9, 0xa8, 0xa5, 0xac, 0xaf, 0xa3, 0xaa, + 0xa7, 0xab, 0xa0, 0xae, 0xa4, 0xa1, 0xaa, 0xa7, 0xa1, 0xa6, 0xad, 0xa0, 0xab, 0xa8, 0xa6, 0xad, + 0x7c, 0x7a, 0x71, 0x7f, 0x7a, 0x74, 0x7f, 0x72, 0x79, 0x77, 0x72, 0x7c, 0x76, 0x79, 0x78, 0x75, + 0x70, 0x76, 0x7d, 0x71, 0x73, 0x7d, 0x74, 0x7e, 0x7e, 0x70, 0x77, 0x7b, 0x75, 0x73, 0x7b, 0x78, + 0x79, 0x74, 0x7e, 0x73, 0x7f, 0x72, 0x75, 0x7c, 0x72, 0x79, 0x78, 0x75, 0x7c, 0x7f, 0x73, 0x7a, + 0x77, 0x7b, 0x70, 0x7e, 0x74, 0x71, 0x7a, 0x77, 0x71, 0x76, 0x7d, 0x70, 0x7b, 0x78, 0x76, 0x7d, + 0xbc, 0xba, 0xb1, 0xbf, 0xba, 0xb4, 0xbf, 0xb2, 0xb9, 0xb7, 0xb2, 0xbc, 0xb6, 0xb9, 0xb8, 0xb5, + 0xb0, 0xb6, 0xbd, 0xb1, 0xb3, 0xbd, 0xb4, 0xbe, 0xbe, 0xb0, 0xb7, 0xbb, 0xb5, 0xb3, 0xbb, 0xb8, + 0xb9, 0xb4, 0xbe, 0xb3, 0xbf, 0xb2, 0xb5, 0xbc, 0xb2, 0xb9, 0xb8, 0xb5, 0xbc, 0xbf, 0xb3, 0xba, + 0xb7, 0xbb, 0xb0, 0xbe, 0xb4, 0xb1, 0xba, 0xb7, 0xb1, 0xb6, 0xbd, 0xb0, 0xbb, 0xb8, 0xb6, 0xbd, + 0xdc, 0xda, 0xd1, 0xdf, 0xda, 0xd4, 0xdf, 0xd2, 0xd9, 0xd7, 0xd2, 0xdc, 0xd6, 0xd9, 0xd8, 0xd5, + 0xd0, 0xd6, 0xdd, 0xd1, 0xd3, 0xdd, 0xd4, 0xde, 0xde, 0xd0, 0xd7, 0xdb, 0xd5, 0xd3, 0xdb, 0xd8, + 0xd9, 0xd4, 0xde, 0xd3, 0xdf, 0xd2, 0xd5, 0xdc, 0xd2, 0xd9, 0xd8, 0xd5, 0xdc, 0xdf, 0xd3, 0xda, + 0xd7, 0xdb, 0xd0, 0xde, 0xd4, 0xd1, 0xda, 0xd7, 0xd1, 0xd6, 0xdd, 0xd0, 0xdb, 0xd8, 0xd6, 0xdd, + 0x6c, 0x6a, 0x61, 0x6f, 0x6a, 0x64, 0x6f, 0x62, 0x69, 0x67, 0x62, 0x6c, 0x66, 0x69, 0x68, 0x65, + 0x60, 0x66, 0x6d, 0x61, 0x63, 0x6d, 0x64, 0x6e, 0x6e, 0x60, 0x67, 0x6b, 0x65, 0x63, 0x6b, 0x68, + 0x69, 0x64, 0x6e, 0x63, 0x6f, 0x62, 0x65, 0x6c, 0x62, 0x69, 0x68, 0x65, 0x6c, 0x6f, 0x63, 0x6a, + 0x67, 0x6b, 0x60, 0x6e, 0x64, 0x61, 0x6a, 0x67, 0x61, 0x66, 0x6d, 0x60, 0x6b, 0x68, 0x66, 0x6d, + 0x1c, 0x1a, 0x11, 0x1f, 0x1a, 0x14, 0x1f, 0x12, 0x19, 0x17, 0x12, 0x1c, 0x16, 0x19, 0x18, 0x15, + 0x10, 0x16, 0x1d, 0x11, 0x13, 0x1d, 0x14, 0x1e, 0x1e, 0x10, 0x17, 0x1b, 0x15, 0x13, 0x1b, 0x18, + 0x19, 0x14, 0x1e, 0x13, 0x1f, 0x12, 0x15, 0x1c, 0x12, 0x19, 0x18, 0x15, 0x1c, 0x1f, 0x13, 0x1a, + 0x17, 0x1b, 0x10, 0x1e, 0x14, 0x11, 0x1a, 0x17, 0x11, 0x16, 0x1d, 0x10, 0x1b, 0x18, 0x16, 0x1d, + 0x8c, 0x8a, 0x81, 0x8f, 0x8a, 0x84, 0x8f, 0x82, 0x89, 0x87, 0x82, 0x8c, 0x86, 0x89, 0x88, 0x85, + 0x80, 0x86, 0x8d, 0x81, 0x83, 0x8d, 0x84, 0x8e, 0x8e, 0x80, 0x87, 0x8b, 0x85, 0x83, 0x8b, 0x88, + 0x89, 0x84, 0x8e, 0x83, 0x8f, 0x82, 0x85, 0x8c, 0x82, 0x89, 0x88, 0x85, 0x8c, 0x8f, 0x83, 0x8a, + 0x87, 0x8b, 0x80, 0x8e, 0x84, 0x81, 0x8a, 0x87, 0x81, 0x86, 0x8d, 0x80, 0x8b, 0x88, 0x86, 0x8d, + 0x5c, 0x5a, 0x51, 0x5f, 0x5a, 0x54, 0x5f, 0x52, 0x59, 0x57, 0x52, 0x5c, 0x56, 0x59, 0x58, 0x55, + 0x50, 0x56, 0x5d, 0x51, 0x53, 0x5d, 0x54, 0x5e, 0x5e, 0x50, 0x57, 0x5b, 0x55, 0x53, 0x5b, 0x58, + 0x59, 0x54, 0x5e, 0x53, 0x5f, 0x52, 0x55, 0x5c, 0x52, 0x59, 0x58, 0x55, 0x5c, 0x5f, 0x53, 0x5a, + 0x57, 0x5b, 0x50, 0x5e, 0x54, 0x51, 0x5a, 0x57, 0x51, 0x56, 0x5d, 0x50, 0x5b, 0x58, 0x56, 0x5d, + 0x5c, 0x5a, 0x51, 0x5f, 0x5a, 0x54, 0x5f, 0x52, 0x59, 0x57, 0x52, 0x5c, 0x56, 0x59, 0x58, 0x55, + 0x50, 0x56, 0x5d, 0x51, 0x53, 0x5d, 0x54, 0x5e, 0x5e, 0x50, 0x57, 0x5b, 0x55, 0x53, 0x5b, 0x58, + 0x59, 0x54, 0x5e, 0x53, 0x5f, 0x52, 0x55, 0x5c, 0x52, 0x59, 0x58, 0x55, 0x5c, 0x5f, 0x53, 0x5a, + 0x57, 0x5b, 0x50, 0x5e, 0x54, 0x51, 0x5a, 0x57, 0x51, 0x56, 0x5d, 0x50, 0x5b, 0x58, 0x56, 0x5d, + 0x0c, 0x0a, 0x01, 0x0f, 0x0a, 0x04, 0x0f, 0x02, 0x09, 0x07, 0x02, 0x0c, 0x06, 0x09, 0x08, 0x05, + 0x00, 0x06, 0x0d, 0x01, 0x03, 0x0d, 0x04, 0x0e, 0x0e, 0x00, 0x07, 0x0b, 0x05, 0x03, 0x0b, 0x08, + 0x09, 0x04, 0x0e, 0x03, 0x0f, 0x02, 0x05, 0x0c, 0x02, 0x09, 0x08, 0x05, 0x0c, 0x0f, 0x03, 0x0a, + 0x07, 0x0b, 0x00, 0x0e, 0x04, 0x01, 0x0a, 0x07, 0x01, 0x06, 0x0d, 0x00, 0x0b, 0x08, 0x06, 0x0d, + 0x3c, 0x3a, 0x31, 0x3f, 0x3a, 0x34, 0x3f, 0x32, 0x39, 0x37, 0x32, 0x3c, 0x36, 0x39, 0x38, 0x35, + 0x30, 0x36, 0x3d, 0x31, 0x33, 0x3d, 0x34, 0x3e, 0x3e, 0x30, 0x37, 0x3b, 0x35, 0x33, 0x3b, 0x38, + 0x39, 0x34, 0x3e, 0x33, 0x3f, 0x32, 0x35, 0x3c, 0x32, 0x39, 0x38, 0x35, 0x3c, 0x3f, 0x33, 0x3a, + 0x37, 0x3b, 0x30, 0x3e, 0x34, 0x31, 0x3a, 0x37, 0x31, 0x36, 0x3d, 0x30, 0x3b, 0x38, 0x36, 0x3d, + 0xfc, 0xfa, 0xf1, 0xff, 0xfa, 0xf4, 0xff, 0xf2, 0xf9, 0xf7, 0xf2, 0xfc, 0xf6, 0xf9, 0xf8, 0xf5, + 0xf0, 0xf6, 0xfd, 0xf1, 0xf3, 0xfd, 0xf4, 0xfe, 0xfe, 0xf0, 0xf7, 0xfb, 0xf5, 0xf3, 0xfb, 0xf8, + 0xf9, 0xf4, 0xfe, 0xf3, 0xff, 0xf2, 0xf5, 0xfc, 0xf2, 0xf9, 0xf8, 0xf5, 0xfc, 0xff, 0xf3, 0xfa, + 0xf7, 0xfb, 0xf0, 0xfe, 0xf4, 0xf1, 0xfa, 0xf7, 0xf1, 0xf6, 0xfd, 0xf0, 0xfb, 0xf8, 0xf6, 0xfd, + 0xfc, 0xfa, 0xf1, 0xff, 0xfa, 0xf4, 0xff, 0xf2, 0xf9, 0xf7, 0xf2, 0xfc, 0xf6, 0xf9, 0xf8, 0xf5, + 0xf0, 0xf6, 0xfd, 0xf1, 0xf3, 0xfd, 0xf4, 0xfe, 0xfe, 0xf0, 0xf7, 0xfb, 0xf5, 0xf3, 0xfb, 0xf8, + 0xf9, 0xf4, 0xfe, 0xf3, 0xff, 0xf2, 0xf5, 0xfc, 0xf2, 0xf9, 0xf8, 0xf5, 0xfc, 0xff, 0xf3, 0xfa, + 0xf7, 0xfb, 0xf0, 0xfe, 0xf4, 0xf1, 0xfa, 0xf7, 0xf1, 0xf6, 0xfd, 0xf0, 0xfb, 0xf8, 0xf6, 0xfd, + 0xac, 0xaa, 0xa1, 0xaf, 0xaa, 0xa4, 0xaf, 0xa2, 0xa9, 0xa7, 0xa2, 0xac, 0xa6, 0xa9, 0xa8, 0xa5, + 0xa0, 0xa6, 0xad, 0xa1, 0xa3, 0xad, 0xa4, 0xae, 0xae, 0xa0, 0xa7, 0xab, 0xa5, 0xa3, 0xab, 0xa8, + 0xa9, 0xa4, 0xae, 0xa3, 0xaf, 0xa2, 0xa5, 0xac, 0xa2, 0xa9, 0xa8, 0xa5, 0xac, 0xaf, 0xa3, 0xaa, + 0xa7, 0xab, 0xa0, 0xae, 0xa4, 0xa1, 0xaa, 0xa7, 0xa1, 0xa6, 0xad, 0xa0, 0xab, 0xa8, 0xa6, 0xad, + 0xdc, 0xda, 0xd1, 0xdf, 0xda, 0xd4, 0xdf, 0xd2, 0xd9, 0xd7, 0xd2, 0xdc, 0xd6, 0xd9, 0xd8, 0xd5, + 0xd0, 0xd6, 0xdd, 0xd1, 0xd3, 0xdd, 0xd4, 0xde, 0xde, 0xd0, 0xd7, 0xdb, 0xd5, 0xd3, 0xdb, 0xd8, + 0xd9, 0xd4, 0xde, 0xd3, 0xdf, 0xd2, 0xd5, 0xdc, 0xd2, 0xd9, 0xd8, 0xd5, 0xdc, 0xdf, 0xd3, 0xda, + 0xd7, 0xdb, 0xd0, 0xde, 0xd4, 0xd1, 0xda, 0xd7, 0xd1, 0xd6, 0xdd, 0xd0, 0xdb, 0xd8, 0xd6, 0xdd, + 0x3c, 0x3a, 0x31, 0x3f, 0x3a, 0x34, 0x3f, 0x32, 0x39, 0x37, 0x32, 0x3c, 0x36, 0x39, 0x38, 0x35, + 0x30, 0x36, 0x3d, 0x31, 0x33, 0x3d, 0x34, 0x3e, 0x3e, 0x30, 0x37, 0x3b, 0x35, 0x33, 0x3b, 0x38, + 0x39, 0x34, 0x3e, 0x33, 0x3f, 0x32, 0x35, 0x3c, 0x32, 0x39, 0x38, 0x35, 0x3c, 0x3f, 0x33, 0x3a, + 0x37, 0x3b, 0x30, 0x3e, 0x34, 0x31, 0x3a, 0x37, 0x31, 0x36, 0x3d, 0x30, 0x3b, 0x38, 0x36, 0x3d, + 0x0c, 0x0a, 0x01, 0x0f, 0x0a, 0x04, 0x0f, 0x02, 0x09, 0x07, 0x02, 0x0c, 0x06, 0x09, 0x08, 0x05, + 0x00, 0x06, 0x0d, 0x01, 0x03, 0x0d, 0x04, 0x0e, 0x0e, 0x00, 0x07, 0x0b, 0x05, 0x03, 0x0b, 0x08, + 0x09, 0x04, 0x0e, 0x03, 0x0f, 0x02, 0x05, 0x0c, 0x02, 0x09, 0x08, 0x05, 0x0c, 0x0f, 0x03, 0x0a, + 0x07, 0x0b, 0x00, 0x0e, 0x04, 0x01, 0x0a, 0x07, 0x01, 0x06, 0x0d, 0x00, 0x0b, 0x08, 0x06, 0x0d, + 0x9c, 0x9a, 0x91, 0x9f, 0x9a, 0x94, 0x9f, 0x92, 0x99, 0x97, 0x92, 0x9c, 0x96, 0x99, 0x98, 0x95, + 0x90, 0x96, 0x9d, 0x91, 0x93, 0x9d, 0x94, 0x9e, 0x9e, 0x90, 0x97, 0x9b, 0x95, 0x93, 0x9b, 0x98, + 0x99, 0x94, 0x9e, 0x93, 0x9f, 0x92, 0x95, 0x9c, 0x92, 0x99, 0x98, 0x95, 0x9c, 0x9f, 0x93, 0x9a, + 0x97, 0x9b, 0x90, 0x9e, 0x94, 0x91, 0x9a, 0x97, 0x91, 0x96, 0x9d, 0x90, 0x9b, 0x98, 0x96, 0x9d, + 0xec, 0xea, 0xe1, 0xef, 0xea, 0xe4, 0xef, 0xe2, 0xe9, 0xe7, 0xe2, 0xec, 0xe6, 0xe9, 0xe8, 0xe5, + 0xe0, 0xe6, 0xed, 0xe1, 0xe3, 0xed, 0xe4, 0xee, 0xee, 0xe0, 0xe7, 0xeb, 0xe5, 0xe3, 0xeb, 0xe8, + 0xe9, 0xe4, 0xee, 0xe3, 0xef, 0xe2, 0xe5, 0xec, 0xe2, 0xe9, 0xe8, 0xe5, 0xec, 0xef, 0xe3, 0xea, + 0xe7, 0xeb, 0xe0, 0xee, 0xe4, 0xe1, 0xea, 0xe7, 0xe1, 0xe6, 0xed, 0xe0, 0xeb, 0xe8, 0xe6, 0xed, + 0x8c, 0x8a, 0x81, 0x8f, 0x8a, 0x84, 0x8f, 0x82, 0x89, 0x87, 0x82, 0x8c, 0x86, 0x89, 0x88, 0x85, + 0x80, 0x86, 0x8d, 0x81, 0x83, 0x8d, 0x84, 0x8e, 0x8e, 0x80, 0x87, 0x8b, 0x85, 0x83, 0x8b, 0x88, + 0x89, 0x84, 0x8e, 0x83, 0x8f, 0x82, 0x85, 0x8c, 0x82, 0x89, 0x88, 0x85, 0x8c, 0x8f, 0x83, 0x8a, + 0x87, 0x8b, 0x80, 0x8e, 0x84, 0x81, 0x8a, 0x87, 0x81, 0x86, 0x8d, 0x80, 0x8b, 0x88, 0x86, 0x8d, + 0x9c, 0x9a, 0x91, 0x9f, 0x9a, 0x94, 0x9f, 0x92, 0x99, 0x97, 0x92, 0x9c, 0x96, 0x99, 0x98, 0x95, + 0x90, 0x96, 0x9d, 0x91, 0x93, 0x9d, 0x94, 0x9e, 0x9e, 0x90, 0x97, 0x9b, 0x95, 0x93, 0x9b, 0x98, + 0x99, 0x94, 0x9e, 0x93, 0x9f, 0x92, 0x95, 0x9c, 0x92, 0x99, 0x98, 0x95, 0x9c, 0x9f, 0x93, 0x9a, + 0x97, 0x9b, 0x90, 0x9e, 0x94, 0x91, 0x9a, 0x97, 0x91, 0x96, 0x9d, 0x90, 0x9b, 0x98, 0x96, 0x9d, + 0x6c, 0x6a, 0x61, 0x6f, 0x6a, 0x64, 0x6f, 0x62, 0x69, 0x67, 0x62, 0x6c, 0x66, 0x69, 0x68, 0x65, + 0x60, 0x66, 0x6d, 0x61, 0x63, 0x6d, 0x64, 0x6e, 0x6e, 0x60, 0x67, 0x6b, 0x65, 0x63, 0x6b, 0x68, + 0x69, 0x64, 0x6e, 0x63, 0x6f, 0x62, 0x65, 0x6c, 0x62, 0x69, 0x68, 0x65, 0x6c, 0x6f, 0x63, 0x6a, + 0x67, 0x6b, 0x60, 0x6e, 0x64, 0x61, 0x6a, 0x67, 0x61, 0x66, 0x6d, 0x60, 0x6b, 0x68, 0x66, 0x6d, + 0x4c, 0x4a, 0x41, 0x4f, 0x4a, 0x44, 0x4f, 0x42, 0x49, 0x47, 0x42, 0x4c, 0x46, 0x49, 0x48, 0x45, + 0x40, 0x46, 0x4d, 0x41, 0x43, 0x4d, 0x44, 0x4e, 0x4e, 0x40, 0x47, 0x4b, 0x45, 0x43, 0x4b, 0x48, + 0x49, 0x44, 0x4e, 0x43, 0x4f, 0x42, 0x45, 0x4c, 0x42, 0x49, 0x48, 0x45, 0x4c, 0x4f, 0x43, 0x4a, + 0x47, 0x4b, 0x40, 0x4e, 0x44, 0x41, 0x4a, 0x47, 0x41, 0x46, 0x4d, 0x40, 0x4b, 0x48, 0x46, 0x4d, + 0xbc, 0xba, 0xb1, 0xbf, 0xba, 0xb4, 0xbf, 0xb2, 0xb9, 0xb7, 0xb2, 0xbc, 0xb6, 0xb9, 0xb8, 0xb5, + 0xb0, 0xb6, 0xbd, 0xb1, 0xb3, 0xbd, 0xb4, 0xbe, 0xbe, 0xb0, 0xb7, 0xbb, 0xb5, 0xb3, 0xbb, 0xb8, + 0xb9, 0xb4, 0xbe, 0xb3, 0xbf, 0xb2, 0xb5, 0xbc, 0xb2, 0xb9, 0xb8, 0xb5, 0xbc, 0xbf, 0xb3, 0xba, + 0xb7, 0xbb, 0xb0, 0xbe, 0xb4, 0xb1, 0xba, 0xb7, 0xb1, 0xb6, 0xbd, 0xb0, 0xbb, 0xb8, 0xb6, 0xbd, + 0x2c, 0x2a, 0x21, 0x2f, 0x2a, 0x24, 0x2f, 0x22, 0x29, 0x27, 0x22, 0x2c, 0x26, 0x29, 0x28, 0x25, + 0x20, 0x26, 0x2d, 0x21, 0x23, 0x2d, 0x24, 0x2e, 0x2e, 0x20, 0x27, 0x2b, 0x25, 0x23, 0x2b, 0x28, + 0x29, 0x24, 0x2e, 0x23, 0x2f, 0x22, 0x25, 0x2c, 0x22, 0x29, 0x28, 0x25, 0x2c, 0x2f, 0x23, 0x2a, + 0x27, 0x2b, 0x20, 0x2e, 0x24, 0x21, 0x2a, 0x27, 0x21, 0x26, 0x2d, 0x20, 0x2b, 0x28, 0x26, 0x2d, + 0x8c, 0x8a, 0x81, 0x8f, 0x8a, 0x84, 0x8f, 0x82, 0x89, 0x87, 0x82, 0x8c, 0x86, 0x89, 0x88, 0x85, + 0x80, 0x86, 0x8d, 0x81, 0x83, 0x8d, 0x84, 0x8e, 0x8e, 0x80, 0x87, 0x8b, 0x85, 0x83, 0x8b, 0x88, + 0x89, 0x84, 0x8e, 0x83, 0x8f, 0x82, 0x85, 0x8c, 0x82, 0x89, 0x88, 0x85, 0x8c, 0x8f, 0x83, 0x8a, + 0x87, 0x8b, 0x80, 0x8e, 0x84, 0x81, 0x8a, 0x87, 0x81, 0x86, 0x8d, 0x80, 0x8b, 0x88, 0x86, 0x8d, + 0x1c, 0x1a, 0x11, 0x1f, 0x1a, 0x14, 0x1f, 0x12, 0x19, 0x17, 0x12, 0x1c, 0x16, 0x19, 0x18, 0x15, + 0x10, 0x16, 0x1d, 0x11, 0x13, 0x1d, 0x14, 0x1e, 0x1e, 0x10, 0x17, 0x1b, 0x15, 0x13, 0x1b, 0x18, + 0x19, 0x14, 0x1e, 0x13, 0x1f, 0x12, 0x15, 0x1c, 0x12, 0x19, 0x18, 0x15, 0x1c, 0x1f, 0x13, 0x1a, + 0x17, 0x1b, 0x10, 0x1e, 0x14, 0x11, 0x1a, 0x17, 0x11, 0x16, 0x1d, 0x10, 0x1b, 0x18, 0x16, 0x1d, + 0xcc, 0xca, 0xc1, 0xcf, 0xca, 0xc4, 0xcf, 0xc2, 0xc9, 0xc7, 0xc2, 0xcc, 0xc6, 0xc9, 0xc8, 0xc5, + 0xc0, 0xc6, 0xcd, 0xc1, 0xc3, 0xcd, 0xc4, 0xce, 0xce, 0xc0, 0xc7, 0xcb, 0xc5, 0xc3, 0xcb, 0xc8, + 0xc9, 0xc4, 0xce, 0xc3, 0xcf, 0xc2, 0xc5, 0xcc, 0xc2, 0xc9, 0xc8, 0xc5, 0xcc, 0xcf, 0xc3, 0xca, + 0xc7, 0xcb, 0xc0, 0xce, 0xc4, 0xc1, 0xca, 0xc7, 0xc1, 0xc6, 0xcd, 0xc0, 0xcb, 0xc8, 0xc6, 0xcd, + 0xbc, 0xba, 0xb1, 0xbf, 0xba, 0xb4, 0xbf, 0xb2, 0xb9, 0xb7, 0xb2, 0xbc, 0xb6, 0xb9, 0xb8, 0xb5, + 0xb0, 0xb6, 0xbd, 0xb1, 0xb3, 0xbd, 0xb4, 0xbe, 0xbe, 0xb0, 0xb7, 0xbb, 0xb5, 0xb3, 0xbb, 0xb8, + 0xb9, 0xb4, 0xbe, 0xb3, 0xbf, 0xb2, 0xb5, 0xbc, 0xb2, 0xb9, 0xb8, 0xb5, 0xbc, 0xbf, 0xb3, 0xba, + 0xb7, 0xbb, 0xb0, 0xbe, 0xb4, 0xb1, 0xba, 0xb7, 0xb1, 0xb6, 0xbd, 0xb0, 0xbb, 0xb8, 0xb6, 0xbd, + 0x7c, 0x7a, 0x71, 0x7f, 0x7a, 0x74, 0x7f, 0x72, 0x79, 0x77, 0x72, 0x7c, 0x76, 0x79, 0x78, 0x75, + 0x70, 0x76, 0x7d, 0x71, 0x73, 0x7d, 0x74, 0x7e, 0x7e, 0x70, 0x77, 0x7b, 0x75, 0x73, 0x7b, 0x78, + 0x79, 0x74, 0x7e, 0x73, 0x7f, 0x72, 0x75, 0x7c, 0x72, 0x79, 0x78, 0x75, 0x7c, 0x7f, 0x73, 0x7a, + 0x77, 0x7b, 0x70, 0x7e, 0x74, 0x71, 0x7a, 0x77, 0x71, 0x76, 0x7d, 0x70, 0x7b, 0x78, 0x76, 0x7d, + 0xac, 0xaa, 0xa1, 0xaf, 0xaa, 0xa4, 0xaf, 0xa2, 0xa9, 0xa7, 0xa2, 0xac, 0xa6, 0xa9, 0xa8, 0xa5, + 0xa0, 0xa6, 0xad, 0xa1, 0xa3, 0xad, 0xa4, 0xae, 0xae, 0xa0, 0xa7, 0xab, 0xa5, 0xa3, 0xab, 0xa8, + 0xa9, 0xa4, 0xae, 0xa3, 0xaf, 0xa2, 0xa5, 0xac, 0xa2, 0xa9, 0xa8, 0xa5, 0xac, 0xaf, 0xa3, 0xaa, + 0xa7, 0xab, 0xa0, 0xae, 0xa4, 0xa1, 0xaa, 0xa7, 0xa1, 0xa6, 0xad, 0xa0, 0xab, 0xa8, 0xa6, 0xad, + 0x1c, 0x1a, 0x11, 0x1f, 0x1a, 0x14, 0x1f, 0x12, 0x19, 0x17, 0x12, 0x1c, 0x16, 0x19, 0x18, 0x15, + 0x10, 0x16, 0x1d, 0x11, 0x13, 0x1d, 0x14, 0x1e, 0x1e, 0x10, 0x17, 0x1b, 0x15, 0x13, 0x1b, 0x18, + 0x19, 0x14, 0x1e, 0x13, 0x1f, 0x12, 0x15, 0x1c, 0x12, 0x19, 0x18, 0x15, 0x1c, 0x1f, 0x13, 0x1a, + 0x17, 0x1b, 0x10, 0x1e, 0x14, 0x11, 0x1a, 0x17, 0x11, 0x16, 0x1d, 0x10, 0x1b, 0x18, 0x16, 0x1d, + 0xdc, 0xda, 0xd1, 0xdf, 0xda, 0xd4, 0xdf, 0xd2, 0xd9, 0xd7, 0xd2, 0xdc, 0xd6, 0xd9, 0xd8, 0xd5, + 0xd0, 0xd6, 0xdd, 0xd1, 0xd3, 0xdd, 0xd4, 0xde, 0xde, 0xd0, 0xd7, 0xdb, 0xd5, 0xd3, 0xdb, 0xd8, + 0xd9, 0xd4, 0xde, 0xd3, 0xdf, 0xd2, 0xd5, 0xdc, 0xd2, 0xd9, 0xd8, 0xd5, 0xdc, 0xdf, 0xd3, 0xda, + 0xd7, 0xdb, 0xd0, 0xde, 0xd4, 0xd1, 0xda, 0xd7, 0xd1, 0xd6, 0xdd, 0xd0, 0xdb, 0xd8, 0xd6, 0xdd, + 0xec, 0xea, 0xe1, 0xef, 0xea, 0xe4, 0xef, 0xe2, 0xe9, 0xe7, 0xe2, 0xec, 0xe6, 0xe9, 0xe8, 0xe5, + 0xe0, 0xe6, 0xed, 0xe1, 0xe3, 0xed, 0xe4, 0xee, 0xee, 0xe0, 0xe7, 0xeb, 0xe5, 0xe3, 0xeb, 0xe8, + 0xe9, 0xe4, 0xee, 0xe3, 0xef, 0xe2, 0xe5, 0xec, 0xe2, 0xe9, 0xe8, 0xe5, 0xec, 0xef, 0xe3, 0xea, + 0xe7, 0xeb, 0xe0, 0xee, 0xe4, 0xe1, 0xea, 0xe7, 0xe1, 0xe6, 0xed, 0xe0, 0xeb, 0xe8, 0xe6, 0xed, + 0x7c, 0x7a, 0x71, 0x7f, 0x7a, 0x74, 0x7f, 0x72, 0x79, 0x77, 0x72, 0x7c, 0x76, 0x79, 0x78, 0x75, + 0x70, 0x76, 0x7d, 0x71, 0x73, 0x7d, 0x74, 0x7e, 0x7e, 0x70, 0x77, 0x7b, 0x75, 0x73, 0x7b, 0x78, + 0x79, 0x74, 0x7e, 0x73, 0x7f, 0x72, 0x75, 0x7c, 0x72, 0x79, 0x78, 0x75, 0x7c, 0x7f, 0x73, 0x7a, + 0x77, 0x7b, 0x70, 0x7e, 0x74, 0x71, 0x7a, 0x77, 0x71, 0x76, 0x7d, 0x70, 0x7b, 0x78, 0x76, 0x7d, + 0x2c, 0x2a, 0x21, 0x2f, 0x2a, 0x24, 0x2f, 0x22, 0x29, 0x27, 0x22, 0x2c, 0x26, 0x29, 0x28, 0x25, + 0x20, 0x26, 0x2d, 0x21, 0x23, 0x2d, 0x24, 0x2e, 0x2e, 0x20, 0x27, 0x2b, 0x25, 0x23, 0x2b, 0x28, + 0x29, 0x24, 0x2e, 0x23, 0x2f, 0x22, 0x25, 0x2c, 0x22, 0x29, 0x28, 0x25, 0x2c, 0x2f, 0x23, 0x2a, + 0x27, 0x2b, 0x20, 0x2e, 0x24, 0x21, 0x2a, 0x27, 0x21, 0x26, 0x2d, 0x20, 0x2b, 0x28, 0x26, 0x2d, + 0x8c, 0x8a, 0x81, 0x8f, 0x8a, 0x84, 0x8f, 0x82, 0x89, 0x87, 0x82, 0x8c, 0x86, 0x89, 0x88, 0x85, + 0x80, 0x86, 0x8d, 0x81, 0x83, 0x8d, 0x84, 0x8e, 0x8e, 0x80, 0x87, 0x8b, 0x85, 0x83, 0x8b, 0x88, + 0x89, 0x84, 0x8e, 0x83, 0x8f, 0x82, 0x85, 0x8c, 0x82, 0x89, 0x88, 0x85, 0x8c, 0x8f, 0x83, 0x8a, + 0x87, 0x8b, 0x80, 0x8e, 0x84, 0x81, 0x8a, 0x87, 0x81, 0x86, 0x8d, 0x80, 0x8b, 0x88, 0x86, 0x8d, + 0xdc, 0xda, 0xd1, 0xdf, 0xda, 0xd4, 0xdf, 0xd2, 0xd9, 0xd7, 0xd2, 0xdc, 0xd6, 0xd9, 0xd8, 0xd5, + 0xd0, 0xd6, 0xdd, 0xd1, 0xd3, 0xdd, 0xd4, 0xde, 0xde, 0xd0, 0xd7, 0xdb, 0xd5, 0xd3, 0xdb, 0xd8, + 0xd9, 0xd4, 0xde, 0xd3, 0xdf, 0xd2, 0xd5, 0xdc, 0xd2, 0xd9, 0xd8, 0xd5, 0xdc, 0xdf, 0xd3, 0xda, + 0xd7, 0xdb, 0xd0, 0xde, 0xd4, 0xd1, 0xda, 0xd7, 0xd1, 0xd6, 0xdd, 0xd0, 0xdb, 0xd8, 0xd6, 0xdd, + 0xfc, 0xfa, 0xf1, 0xff, 0xfa, 0xf4, 0xff, 0xf2, 0xf9, 0xf7, 0xf2, 0xfc, 0xf6, 0xf9, 0xf8, 0xf5, + 0xf0, 0xf6, 0xfd, 0xf1, 0xf3, 0xfd, 0xf4, 0xfe, 0xfe, 0xf0, 0xf7, 0xfb, 0xf5, 0xf3, 0xfb, 0xf8, + 0xf9, 0xf4, 0xfe, 0xf3, 0xff, 0xf2, 0xf5, 0xfc, 0xf2, 0xf9, 0xf8, 0xf5, 0xfc, 0xff, 0xf3, 0xfa, + 0xf7, 0xfb, 0xf0, 0xfe, 0xf4, 0xf1, 0xfa, 0xf7, 0xf1, 0xf6, 0xfd, 0xf0, 0xfb, 0xf8, 0xf6, 0xfd, + 0x6c, 0x6a, 0x61, 0x6f, 0x6a, 0x64, 0x6f, 0x62, 0x69, 0x67, 0x62, 0x6c, 0x66, 0x69, 0x68, 0x65, + 0x60, 0x66, 0x6d, 0x61, 0x63, 0x6d, 0x64, 0x6e, 0x6e, 0x60, 0x67, 0x6b, 0x65, 0x63, 0x6b, 0x68, + 0x69, 0x64, 0x6e, 0x63, 0x6f, 0x62, 0x65, 0x6c, 0x62, 0x69, 0x68, 0x65, 0x6c, 0x6f, 0x63, 0x6a, + 0x67, 0x6b, 0x60, 0x6e, 0x64, 0x61, 0x6a, 0x67, 0x61, 0x66, 0x6d, 0x60, 0x6b, 0x68, 0x66, 0x6d, + 0x9c, 0x9a, 0x91, 0x9f, 0x9a, 0x94, 0x9f, 0x92, 0x99, 0x97, 0x92, 0x9c, 0x96, 0x99, 0x98, 0x95, + 0x90, 0x96, 0x9d, 0x91, 0x93, 0x9d, 0x94, 0x9e, 0x9e, 0x90, 0x97, 0x9b, 0x95, 0x93, 0x9b, 0x98, + 0x99, 0x94, 0x9e, 0x93, 0x9f, 0x92, 0x95, 0x9c, 0x92, 0x99, 0x98, 0x95, 0x9c, 0x9f, 0x93, 0x9a, + 0x97, 0x9b, 0x90, 0x9e, 0x94, 0x91, 0x9a, 0x97, 0x91, 0x96, 0x9d, 0x90, 0x9b, 0x98, 0x96, 0x9d, + 0xfc, 0xfa, 0xf1, 0xff, 0xfa, 0xf4, 0xff, 0xf2, 0xf9, 0xf7, 0xf2, 0xfc, 0xf6, 0xf9, 0xf8, 0xf5, + 0xf0, 0xf6, 0xfd, 0xf1, 0xf3, 0xfd, 0xf4, 0xfe, 0xfe, 0xf0, 0xf7, 0xfb, 0xf5, 0xf3, 0xfb, 0xf8, + 0xf9, 0xf4, 0xfe, 0xf3, 0xff, 0xf2, 0xf5, 0xfc, 0xf2, 0xf9, 0xf8, 0xf5, 0xfc, 0xff, 0xf3, 0xfa, + 0xf7, 0xfb, 0xf0, 0xfe, 0xf4, 0xf1, 0xfa, 0xf7, 0xf1, 0xf6, 0xfd, 0xf0, 0xfb, 0xf8, 0xf6, 0xfd, + 0xcc, 0xca, 0xc1, 0xcf, 0xca, 0xc4, 0xcf, 0xc2, 0xc9, 0xc7, 0xc2, 0xcc, 0xc6, 0xc9, 0xc8, 0xc5, + 0xc0, 0xc6, 0xcd, 0xc1, 0xc3, 0xcd, 0xc4, 0xce, 0xce, 0xc0, 0xc7, 0xcb, 0xc5, 0xc3, 0xcb, 0xc8, + 0xc9, 0xc4, 0xce, 0xc3, 0xcf, 0xc2, 0xc5, 0xcc, 0xc2, 0xc9, 0xc8, 0xc5, 0xcc, 0xcf, 0xc3, 0xca, + 0xc7, 0xcb, 0xc0, 0xce, 0xc4, 0xc1, 0xca, 0xc7, 0xc1, 0xc6, 0xcd, 0xc0, 0xcb, 0xc8, 0xc6, 0xcd, + 0x0c, 0x0a, 0x01, 0x0f, 0x0a, 0x04, 0x0f, 0x02, 0x09, 0x07, 0x02, 0x0c, 0x06, 0x09, 0x08, 0x05, + 0x00, 0x06, 0x0d, 0x01, 0x03, 0x0d, 0x04, 0x0e, 0x0e, 0x00, 0x07, 0x0b, 0x05, 0x03, 0x0b, 0x08, + 0x09, 0x04, 0x0e, 0x03, 0x0f, 0x02, 0x05, 0x0c, 0x02, 0x09, 0x08, 0x05, 0x0c, 0x0f, 0x03, 0x0a, + 0x07, 0x0b, 0x00, 0x0e, 0x04, 0x01, 0x0a, 0x07, 0x01, 0x06, 0x0d, 0x00, 0x0b, 0x08, 0x06, 0x0d, + 0x5c, 0x5a, 0x51, 0x5f, 0x5a, 0x54, 0x5f, 0x52, 0x59, 0x57, 0x52, 0x5c, 0x56, 0x59, 0x58, 0x55, + 0x50, 0x56, 0x5d, 0x51, 0x53, 0x5d, 0x54, 0x5e, 0x5e, 0x50, 0x57, 0x5b, 0x55, 0x53, 0x5b, 0x58, + 0x59, 0x54, 0x5e, 0x53, 0x5f, 0x52, 0x55, 0x5c, 0x52, 0x59, 0x58, 0x55, 0x5c, 0x5f, 0x53, 0x5a, + 0x57, 0x5b, 0x50, 0x5e, 0x54, 0x51, 0x5a, 0x57, 0x51, 0x56, 0x5d, 0x50, 0x5b, 0x58, 0x56, 0x5d, + 0x9c, 0x9a, 0x91, 0x9f, 0x9a, 0x94, 0x9f, 0x92, 0x99, 0x97, 0x92, 0x9c, 0x96, 0x99, 0x98, 0x95, + 0x90, 0x96, 0x9d, 0x91, 0x93, 0x9d, 0x94, 0x9e, 0x9e, 0x90, 0x97, 0x9b, 0x95, 0x93, 0x9b, 0x98, + 0x99, 0x94, 0x9e, 0x93, 0x9f, 0x92, 0x95, 0x9c, 0x92, 0x99, 0x98, 0x95, 0x9c, 0x9f, 0x93, 0x9a, + 0x97, 0x9b, 0x90, 0x9e, 0x94, 0x91, 0x9a, 0x97, 0x91, 0x96, 0x9d, 0x90, 0x9b, 0x98, 0x96, 0x9d, + 0x6c, 0x6a, 0x61, 0x6f, 0x6a, 0x64, 0x6f, 0x62, 0x69, 0x67, 0x62, 0x6c, 0x66, 0x69, 0x68, 0x65, + 0x60, 0x66, 0x6d, 0x61, 0x63, 0x6d, 0x64, 0x6e, 0x6e, 0x60, 0x67, 0x6b, 0x65, 0x63, 0x6b, 0x68, + 0x69, 0x64, 0x6e, 0x63, 0x6f, 0x62, 0x65, 0x6c, 0x62, 0x69, 0x68, 0x65, 0x6c, 0x6f, 0x63, 0x6a, + 0x67, 0x6b, 0x60, 0x6e, 0x64, 0x61, 0x6a, 0x67, 0x61, 0x66, 0x6d, 0x60, 0x6b, 0x68, 0x66, 0x6d, + 0xac, 0xaa, 0xa1, 0xaf, 0xaa, 0xa4, 0xaf, 0xa2, 0xa9, 0xa7, 0xa2, 0xac, 0xa6, 0xa9, 0xa8, 0xa5, + 0xa0, 0xa6, 0xad, 0xa1, 0xa3, 0xad, 0xa4, 0xae, 0xae, 0xa0, 0xa7, 0xab, 0xa5, 0xa3, 0xab, 0xa8, + 0xa9, 0xa4, 0xae, 0xa3, 0xaf, 0xa2, 0xa5, 0xac, 0xa2, 0xa9, 0xa8, 0xa5, 0xac, 0xaf, 0xa3, 0xaa, + 0xa7, 0xab, 0xa0, 0xae, 0xa4, 0xa1, 0xaa, 0xa7, 0xa1, 0xa6, 0xad, 0xa0, 0xab, 0xa8, 0xa6, 0xad, + 0x3c, 0x3a, 0x31, 0x3f, 0x3a, 0x34, 0x3f, 0x32, 0x39, 0x37, 0x32, 0x3c, 0x36, 0x39, 0x38, 0x35, + 0x30, 0x36, 0x3d, 0x31, 0x33, 0x3d, 0x34, 0x3e, 0x3e, 0x30, 0x37, 0x3b, 0x35, 0x33, 0x3b, 0x38, + 0x39, 0x34, 0x3e, 0x33, 0x3f, 0x32, 0x35, 0x3c, 0x32, 0x39, 0x38, 0x35, 0x3c, 0x3f, 0x33, 0x3a, + 0x37, 0x3b, 0x30, 0x3e, 0x34, 0x31, 0x3a, 0x37, 0x31, 0x36, 0x3d, 0x30, 0x3b, 0x38, 0x36, 0x3d, + 0x4c, 0x4a, 0x41, 0x4f, 0x4a, 0x44, 0x4f, 0x42, 0x49, 0x47, 0x42, 0x4c, 0x46, 0x49, 0x48, 0x45, + 0x40, 0x46, 0x4d, 0x41, 0x43, 0x4d, 0x44, 0x4e, 0x4e, 0x40, 0x47, 0x4b, 0x45, 0x43, 0x4b, 0x48, + 0x49, 0x44, 0x4e, 0x43, 0x4f, 0x42, 0x45, 0x4c, 0x42, 0x49, 0x48, 0x45, 0x4c, 0x4f, 0x43, 0x4a, + 0x47, 0x4b, 0x40, 0x4e, 0x44, 0x41, 0x4a, 0x47, 0x41, 0x46, 0x4d, 0x40, 0x4b, 0x48, 0x46, 0x4d, + 0x0c, 0x0a, 0x01, 0x0f, 0x0a, 0x04, 0x0f, 0x02, 0x09, 0x07, 0x02, 0x0c, 0x06, 0x09, 0x08, 0x05, + 0x00, 0x06, 0x0d, 0x01, 0x03, 0x0d, 0x04, 0x0e, 0x0e, 0x00, 0x07, 0x0b, 0x05, 0x03, 0x0b, 0x08, + 0x09, 0x04, 0x0e, 0x03, 0x0f, 0x02, 0x05, 0x0c, 0x02, 0x09, 0x08, 0x05, 0x0c, 0x0f, 0x03, 0x0a, + 0x07, 0x0b, 0x00, 0x0e, 0x04, 0x01, 0x0a, 0x07, 0x01, 0x06, 0x0d, 0x00, 0x0b, 0x08, 0x06, 0x0d, + 0x5c, 0x5a, 0x51, 0x5f, 0x5a, 0x54, 0x5f, 0x52, 0x59, 0x57, 0x52, 0x5c, 0x56, 0x59, 0x58, 0x55, + 0x50, 0x56, 0x5d, 0x51, 0x53, 0x5d, 0x54, 0x5e, 0x5e, 0x50, 0x57, 0x5b, 0x55, 0x53, 0x5b, 0x58, + 0x59, 0x54, 0x5e, 0x53, 0x5f, 0x52, 0x55, 0x5c, 0x52, 0x59, 0x58, 0x55, 0x5c, 0x5f, 0x53, 0x5a, + 0x57, 0x5b, 0x50, 0x5e, 0x54, 0x51, 0x5a, 0x57, 0x51, 0x56, 0x5d, 0x50, 0x5b, 0x58, 0x56, 0x5d, + 0xec, 0xea, 0xe1, 0xef, 0xea, 0xe4, 0xef, 0xe2, 0xe9, 0xe7, 0xe2, 0xec, 0xe6, 0xe9, 0xe8, 0xe5, + 0xe0, 0xe6, 0xed, 0xe1, 0xe3, 0xed, 0xe4, 0xee, 0xee, 0xe0, 0xe7, 0xeb, 0xe5, 0xe3, 0xeb, 0xe8, + 0xe9, 0xe4, 0xee, 0xe3, 0xef, 0xe2, 0xe5, 0xec, 0xe2, 0xe9, 0xe8, 0xe5, 0xec, 0xef, 0xe3, 0xea, + 0xe7, 0xeb, 0xe0, 0xee, 0xe4, 0xe1, 0xea, 0xe7, 0xe1, 0xe6, 0xed, 0xe0, 0xeb, 0xe8, 0xe6, 0xed, + 0x3c, 0x3a, 0x31, 0x3f, 0x3a, 0x34, 0x3f, 0x32, 0x39, 0x37, 0x32, 0x3c, 0x36, 0x39, 0x38, 0x35, + 0x30, 0x36, 0x3d, 0x31, 0x33, 0x3d, 0x34, 0x3e, 0x3e, 0x30, 0x37, 0x3b, 0x35, 0x33, 0x3b, 0x38, + 0x39, 0x34, 0x3e, 0x33, 0x3f, 0x32, 0x35, 0x3c, 0x32, 0x39, 0x38, 0x35, 0x3c, 0x3f, 0x33, 0x3a, + 0x37, 0x3b, 0x30, 0x3e, 0x34, 0x31, 0x3a, 0x37, 0x31, 0x36, 0x3d, 0x30, 0x3b, 0x38, 0x36, 0x3d, + }, { + 0x4d, 0x41, 0x42, 0x4f, 0x48, 0x4d, 0x44, 0x48, 0x46, 0x4a, 0x4f, 0x43, 0x4b, 0x47, 0x41, 0x44, + 0x4a, 0x4c, 0x49, 0x45, 0x43, 0x46, 0x4e, 0x4b, 0x45, 0x40, 0x40, 0x4e, 0x4c, 0x49, 0x47, 0x42, + 0x47, 0x42, 0x4b, 0x41, 0x44, 0x4e, 0x41, 0x47, 0x49, 0x44, 0x4c, 0x4a, 0x4e, 0x48, 0x42, 0x4d, + 0x40, 0x4f, 0x46, 0x4c, 0x4a, 0x49, 0x4d, 0x40, 0x4f, 0x43, 0x43, 0x45, 0x45, 0x46, 0x48, 0x4b, + 0xdd, 0xd1, 0xd2, 0xdf, 0xd8, 0xdd, 0xd4, 0xd8, 0xd6, 0xda, 0xdf, 0xd3, 0xdb, 0xd7, 0xd1, 0xd4, + 0xda, 0xdc, 0xd9, 0xd5, 0xd3, 0xd6, 0xde, 0xdb, 0xd5, 0xd0, 0xd0, 0xde, 0xdc, 0xd9, 0xd7, 0xd2, + 0xd7, 0xd2, 0xdb, 0xd1, 0xd4, 0xde, 0xd1, 0xd7, 0xd9, 0xd4, 0xdc, 0xda, 0xde, 0xd8, 0xd2, 0xdd, + 0xd0, 0xdf, 0xd6, 0xdc, 0xda, 0xd9, 0xdd, 0xd0, 0xdf, 0xd3, 0xd3, 0xd5, 0xd5, 0xd6, 0xd8, 0xdb, + 0xbd, 0xb1, 0xb2, 0xbf, 0xb8, 0xbd, 0xb4, 0xb8, 0xb6, 0xba, 0xbf, 0xb3, 0xbb, 0xb7, 0xb1, 0xb4, + 0xba, 0xbc, 0xb9, 0xb5, 0xb3, 0xb6, 0xbe, 0xbb, 0xb5, 0xb0, 0xb0, 0xbe, 0xbc, 0xb9, 0xb7, 0xb2, + 0xb7, 0xb2, 0xbb, 0xb1, 0xb4, 0xbe, 0xb1, 0xb7, 0xb9, 0xb4, 0xbc, 0xba, 0xbe, 0xb8, 0xb2, 0xbd, + 0xb0, 0xbf, 0xb6, 0xbc, 0xba, 0xb9, 0xbd, 0xb0, 0xbf, 0xb3, 0xb3, 0xb5, 0xb5, 0xb6, 0xb8, 0xbb, + 0x0d, 0x01, 0x02, 0x0f, 0x08, 0x0d, 0x04, 0x08, 0x06, 0x0a, 0x0f, 0x03, 0x0b, 0x07, 0x01, 0x04, + 0x0a, 0x0c, 0x09, 0x05, 0x03, 0x06, 0x0e, 0x0b, 0x05, 0x00, 0x00, 0x0e, 0x0c, 0x09, 0x07, 0x02, + 0x07, 0x02, 0x0b, 0x01, 0x04, 0x0e, 0x01, 0x07, 0x09, 0x04, 0x0c, 0x0a, 0x0e, 0x08, 0x02, 0x0d, + 0x00, 0x0f, 0x06, 0x0c, 0x0a, 0x09, 0x0d, 0x00, 0x0f, 0x03, 0x03, 0x05, 0x05, 0x06, 0x08, 0x0b, + 0x2d, 0x21, 0x22, 0x2f, 0x28, 0x2d, 0x24, 0x28, 0x26, 0x2a, 0x2f, 0x23, 0x2b, 0x27, 0x21, 0x24, + 0x2a, 0x2c, 0x29, 0x25, 0x23, 0x26, 0x2e, 0x2b, 0x25, 0x20, 0x20, 0x2e, 0x2c, 0x29, 0x27, 0x22, + 0x27, 0x22, 0x2b, 0x21, 0x24, 0x2e, 0x21, 0x27, 0x29, 0x24, 0x2c, 0x2a, 0x2e, 0x28, 0x22, 0x2d, + 0x20, 0x2f, 0x26, 0x2c, 0x2a, 0x29, 0x2d, 0x20, 0x2f, 0x23, 0x23, 0x25, 0x25, 0x26, 0x28, 0x2b, + 0xbd, 0xb1, 0xb2, 0xbf, 0xb8, 0xbd, 0xb4, 0xb8, 0xb6, 0xba, 0xbf, 0xb3, 0xbb, 0xb7, 0xb1, 0xb4, + 0xba, 0xbc, 0xb9, 0xb5, 0xb3, 0xb6, 0xbe, 0xbb, 0xb5, 0xb0, 0xb0, 0xbe, 0xbc, 0xb9, 0xb7, 0xb2, + 0xb7, 0xb2, 0xbb, 0xb1, 0xb4, 0xbe, 0xb1, 0xb7, 0xb9, 0xb4, 0xbc, 0xba, 0xbe, 0xb8, 0xb2, 0xbd, + 0xb0, 0xbf, 0xb6, 0xbc, 0xba, 0xb9, 0xbd, 0xb0, 0xbf, 0xb3, 0xb3, 0xb5, 0xb5, 0xb6, 0xb8, 0xbb, + 0xed, 0xe1, 0xe2, 0xef, 0xe8, 0xed, 0xe4, 0xe8, 0xe6, 0xea, 0xef, 0xe3, 0xeb, 0xe7, 0xe1, 0xe4, + 0xea, 0xec, 0xe9, 0xe5, 0xe3, 0xe6, 0xee, 0xeb, 0xe5, 0xe0, 0xe0, 0xee, 0xec, 0xe9, 0xe7, 0xe2, + 0xe7, 0xe2, 0xeb, 0xe1, 0xe4, 0xee, 0xe1, 0xe7, 0xe9, 0xe4, 0xec, 0xea, 0xee, 0xe8, 0xe2, 0xed, + 0xe0, 0xef, 0xe6, 0xec, 0xea, 0xe9, 0xed, 0xe0, 0xef, 0xe3, 0xe3, 0xe5, 0xe5, 0xe6, 0xe8, 0xeb, + 0x7d, 0x71, 0x72, 0x7f, 0x78, 0x7d, 0x74, 0x78, 0x76, 0x7a, 0x7f, 0x73, 0x7b, 0x77, 0x71, 0x74, + 0x7a, 0x7c, 0x79, 0x75, 0x73, 0x76, 0x7e, 0x7b, 0x75, 0x70, 0x70, 0x7e, 0x7c, 0x79, 0x77, 0x72, + 0x77, 0x72, 0x7b, 0x71, 0x74, 0x7e, 0x71, 0x77, 0x79, 0x74, 0x7c, 0x7a, 0x7e, 0x78, 0x72, 0x7d, + 0x70, 0x7f, 0x76, 0x7c, 0x7a, 0x79, 0x7d, 0x70, 0x7f, 0x73, 0x73, 0x75, 0x75, 0x76, 0x78, 0x7b, + 0xfd, 0xf1, 0xf2, 0xff, 0xf8, 0xfd, 0xf4, 0xf8, 0xf6, 0xfa, 0xff, 0xf3, 0xfb, 0xf7, 0xf1, 0xf4, + 0xfa, 0xfc, 0xf9, 0xf5, 0xf3, 0xf6, 0xfe, 0xfb, 0xf5, 0xf0, 0xf0, 0xfe, 0xfc, 0xf9, 0xf7, 0xf2, + 0xf7, 0xf2, 0xfb, 0xf1, 0xf4, 0xfe, 0xf1, 0xf7, 0xf9, 0xf4, 0xfc, 0xfa, 0xfe, 0xf8, 0xf2, 0xfd, + 0xf0, 0xff, 0xf6, 0xfc, 0xfa, 0xf9, 0xfd, 0xf0, 0xff, 0xf3, 0xf3, 0xf5, 0xf5, 0xf6, 0xf8, 0xfb, + 0x4d, 0x41, 0x42, 0x4f, 0x48, 0x4d, 0x44, 0x48, 0x46, 0x4a, 0x4f, 0x43, 0x4b, 0x47, 0x41, 0x44, + 0x4a, 0x4c, 0x49, 0x45, 0x43, 0x46, 0x4e, 0x4b, 0x45, 0x40, 0x40, 0x4e, 0x4c, 0x49, 0x47, 0x42, + 0x47, 0x42, 0x4b, 0x41, 0x44, 0x4e, 0x41, 0x47, 0x49, 0x44, 0x4c, 0x4a, 0x4e, 0x48, 0x42, 0x4d, + 0x40, 0x4f, 0x46, 0x4c, 0x4a, 0x49, 0x4d, 0x40, 0x4f, 0x43, 0x43, 0x45, 0x45, 0x46, 0x48, 0x4b, + 0x0d, 0x01, 0x02, 0x0f, 0x08, 0x0d, 0x04, 0x08, 0x06, 0x0a, 0x0f, 0x03, 0x0b, 0x07, 0x01, 0x04, + 0x0a, 0x0c, 0x09, 0x05, 0x03, 0x06, 0x0e, 0x0b, 0x05, 0x00, 0x00, 0x0e, 0x0c, 0x09, 0x07, 0x02, + 0x07, 0x02, 0x0b, 0x01, 0x04, 0x0e, 0x01, 0x07, 0x09, 0x04, 0x0c, 0x0a, 0x0e, 0x08, 0x02, 0x0d, + 0x00, 0x0f, 0x06, 0x0c, 0x0a, 0x09, 0x0d, 0x00, 0x0f, 0x03, 0x03, 0x05, 0x05, 0x06, 0x08, 0x0b, + 0x9d, 0x91, 0x92, 0x9f, 0x98, 0x9d, 0x94, 0x98, 0x96, 0x9a, 0x9f, 0x93, 0x9b, 0x97, 0x91, 0x94, + 0x9a, 0x9c, 0x99, 0x95, 0x93, 0x96, 0x9e, 0x9b, 0x95, 0x90, 0x90, 0x9e, 0x9c, 0x99, 0x97, 0x92, + 0x97, 0x92, 0x9b, 0x91, 0x94, 0x9e, 0x91, 0x97, 0x99, 0x94, 0x9c, 0x9a, 0x9e, 0x98, 0x92, 0x9d, + 0x90, 0x9f, 0x96, 0x9c, 0x9a, 0x99, 0x9d, 0x90, 0x9f, 0x93, 0x93, 0x95, 0x95, 0x96, 0x98, 0x9b, + 0x8d, 0x81, 0x82, 0x8f, 0x88, 0x8d, 0x84, 0x88, 0x86, 0x8a, 0x8f, 0x83, 0x8b, 0x87, 0x81, 0x84, + 0x8a, 0x8c, 0x89, 0x85, 0x83, 0x86, 0x8e, 0x8b, 0x85, 0x80, 0x80, 0x8e, 0x8c, 0x89, 0x87, 0x82, + 0x87, 0x82, 0x8b, 0x81, 0x84, 0x8e, 0x81, 0x87, 0x89, 0x84, 0x8c, 0x8a, 0x8e, 0x88, 0x82, 0x8d, + 0x80, 0x8f, 0x86, 0x8c, 0x8a, 0x89, 0x8d, 0x80, 0x8f, 0x83, 0x83, 0x85, 0x85, 0x86, 0x88, 0x8b, + 0x1d, 0x11, 0x12, 0x1f, 0x18, 0x1d, 0x14, 0x18, 0x16, 0x1a, 0x1f, 0x13, 0x1b, 0x17, 0x11, 0x14, + 0x1a, 0x1c, 0x19, 0x15, 0x13, 0x16, 0x1e, 0x1b, 0x15, 0x10, 0x10, 0x1e, 0x1c, 0x19, 0x17, 0x12, + 0x17, 0x12, 0x1b, 0x11, 0x14, 0x1e, 0x11, 0x17, 0x19, 0x14, 0x1c, 0x1a, 0x1e, 0x18, 0x12, 0x1d, + 0x10, 0x1f, 0x16, 0x1c, 0x1a, 0x19, 0x1d, 0x10, 0x1f, 0x13, 0x13, 0x15, 0x15, 0x16, 0x18, 0x1b, + 0xdd, 0xd1, 0xd2, 0xdf, 0xd8, 0xdd, 0xd4, 0xd8, 0xd6, 0xda, 0xdf, 0xd3, 0xdb, 0xd7, 0xd1, 0xd4, + 0xda, 0xdc, 0xd9, 0xd5, 0xd3, 0xd6, 0xde, 0xdb, 0xd5, 0xd0, 0xd0, 0xde, 0xdc, 0xd9, 0xd7, 0xd2, + 0xd7, 0xd2, 0xdb, 0xd1, 0xd4, 0xde, 0xd1, 0xd7, 0xd9, 0xd4, 0xdc, 0xda, 0xde, 0xd8, 0xd2, 0xdd, + 0xd0, 0xdf, 0xd6, 0xdc, 0xda, 0xd9, 0xdd, 0xd0, 0xdf, 0xd3, 0xd3, 0xd5, 0xd5, 0xd6, 0xd8, 0xdb, + 0xad, 0xa1, 0xa2, 0xaf, 0xa8, 0xad, 0xa4, 0xa8, 0xa6, 0xaa, 0xaf, 0xa3, 0xab, 0xa7, 0xa1, 0xa4, + 0xaa, 0xac, 0xa9, 0xa5, 0xa3, 0xa6, 0xae, 0xab, 0xa5, 0xa0, 0xa0, 0xae, 0xac, 0xa9, 0xa7, 0xa2, + 0xa7, 0xa2, 0xab, 0xa1, 0xa4, 0xae, 0xa1, 0xa7, 0xa9, 0xa4, 0xac, 0xaa, 0xae, 0xa8, 0xa2, 0xad, + 0xa0, 0xaf, 0xa6, 0xac, 0xaa, 0xa9, 0xad, 0xa0, 0xaf, 0xa3, 0xa3, 0xa5, 0xa5, 0xa6, 0xa8, 0xab, + 0x3d, 0x31, 0x32, 0x3f, 0x38, 0x3d, 0x34, 0x38, 0x36, 0x3a, 0x3f, 0x33, 0x3b, 0x37, 0x31, 0x34, + 0x3a, 0x3c, 0x39, 0x35, 0x33, 0x36, 0x3e, 0x3b, 0x35, 0x30, 0x30, 0x3e, 0x3c, 0x39, 0x37, 0x32, + 0x37, 0x32, 0x3b, 0x31, 0x34, 0x3e, 0x31, 0x37, 0x39, 0x34, 0x3c, 0x3a, 0x3e, 0x38, 0x32, 0x3d, + 0x30, 0x3f, 0x36, 0x3c, 0x3a, 0x39, 0x3d, 0x30, 0x3f, 0x33, 0x33, 0x35, 0x35, 0x36, 0x38, 0x3b, + 0xed, 0xe1, 0xe2, 0xef, 0xe8, 0xed, 0xe4, 0xe8, 0xe6, 0xea, 0xef, 0xe3, 0xeb, 0xe7, 0xe1, 0xe4, + 0xea, 0xec, 0xe9, 0xe5, 0xe3, 0xe6, 0xee, 0xeb, 0xe5, 0xe0, 0xe0, 0xee, 0xec, 0xe9, 0xe7, 0xe2, + 0xe7, 0xe2, 0xeb, 0xe1, 0xe4, 0xee, 0xe1, 0xe7, 0xe9, 0xe4, 0xec, 0xea, 0xee, 0xe8, 0xe2, 0xed, + 0xe0, 0xef, 0xe6, 0xec, 0xea, 0xe9, 0xed, 0xe0, 0xef, 0xe3, 0xe3, 0xe5, 0xe5, 0xe6, 0xe8, 0xeb, + 0xcd, 0xc1, 0xc2, 0xcf, 0xc8, 0xcd, 0xc4, 0xc8, 0xc6, 0xca, 0xcf, 0xc3, 0xcb, 0xc7, 0xc1, 0xc4, + 0xca, 0xcc, 0xc9, 0xc5, 0xc3, 0xc6, 0xce, 0xcb, 0xc5, 0xc0, 0xc0, 0xce, 0xcc, 0xc9, 0xc7, 0xc2, + 0xc7, 0xc2, 0xcb, 0xc1, 0xc4, 0xce, 0xc1, 0xc7, 0xc9, 0xc4, 0xcc, 0xca, 0xce, 0xc8, 0xc2, 0xcd, + 0xc0, 0xcf, 0xc6, 0xcc, 0xca, 0xc9, 0xcd, 0xc0, 0xcf, 0xc3, 0xc3, 0xc5, 0xc5, 0xc6, 0xc8, 0xcb, + 0x3d, 0x31, 0x32, 0x3f, 0x38, 0x3d, 0x34, 0x38, 0x36, 0x3a, 0x3f, 0x33, 0x3b, 0x37, 0x31, 0x34, + 0x3a, 0x3c, 0x39, 0x35, 0x33, 0x36, 0x3e, 0x3b, 0x35, 0x30, 0x30, 0x3e, 0x3c, 0x39, 0x37, 0x32, + 0x37, 0x32, 0x3b, 0x31, 0x34, 0x3e, 0x31, 0x37, 0x39, 0x34, 0x3c, 0x3a, 0x3e, 0x38, 0x32, 0x3d, + 0x30, 0x3f, 0x36, 0x3c, 0x3a, 0x39, 0x3d, 0x30, 0x3f, 0x33, 0x33, 0x35, 0x35, 0x36, 0x38, 0x3b, + 0x9d, 0x91, 0x92, 0x9f, 0x98, 0x9d, 0x94, 0x98, 0x96, 0x9a, 0x9f, 0x93, 0x9b, 0x97, 0x91, 0x94, + 0x9a, 0x9c, 0x99, 0x95, 0x93, 0x96, 0x9e, 0x9b, 0x95, 0x90, 0x90, 0x9e, 0x9c, 0x99, 0x97, 0x92, + 0x97, 0x92, 0x9b, 0x91, 0x94, 0x9e, 0x91, 0x97, 0x99, 0x94, 0x9c, 0x9a, 0x9e, 0x98, 0x92, 0x9d, + 0x90, 0x9f, 0x96, 0x9c, 0x9a, 0x99, 0x9d, 0x90, 0x9f, 0x93, 0x93, 0x95, 0x95, 0x96, 0x98, 0x9b, + 0x5d, 0x51, 0x52, 0x5f, 0x58, 0x5d, 0x54, 0x58, 0x56, 0x5a, 0x5f, 0x53, 0x5b, 0x57, 0x51, 0x54, + 0x5a, 0x5c, 0x59, 0x55, 0x53, 0x56, 0x5e, 0x5b, 0x55, 0x50, 0x50, 0x5e, 0x5c, 0x59, 0x57, 0x52, + 0x57, 0x52, 0x5b, 0x51, 0x54, 0x5e, 0x51, 0x57, 0x59, 0x54, 0x5c, 0x5a, 0x5e, 0x58, 0x52, 0x5d, + 0x50, 0x5f, 0x56, 0x5c, 0x5a, 0x59, 0x5d, 0x50, 0x5f, 0x53, 0x53, 0x55, 0x55, 0x56, 0x58, 0x5b, + 0x7d, 0x71, 0x72, 0x7f, 0x78, 0x7d, 0x74, 0x78, 0x76, 0x7a, 0x7f, 0x73, 0x7b, 0x77, 0x71, 0x74, + 0x7a, 0x7c, 0x79, 0x75, 0x73, 0x76, 0x7e, 0x7b, 0x75, 0x70, 0x70, 0x7e, 0x7c, 0x79, 0x77, 0x72, + 0x77, 0x72, 0x7b, 0x71, 0x74, 0x7e, 0x71, 0x77, 0x79, 0x74, 0x7c, 0x7a, 0x7e, 0x78, 0x72, 0x7d, + 0x70, 0x7f, 0x76, 0x7c, 0x7a, 0x79, 0x7d, 0x70, 0x7f, 0x73, 0x73, 0x75, 0x75, 0x76, 0x78, 0x7b, + 0xcd, 0xc1, 0xc2, 0xcf, 0xc8, 0xcd, 0xc4, 0xc8, 0xc6, 0xca, 0xcf, 0xc3, 0xcb, 0xc7, 0xc1, 0xc4, + 0xca, 0xcc, 0xc9, 0xc5, 0xc3, 0xc6, 0xce, 0xcb, 0xc5, 0xc0, 0xc0, 0xce, 0xcc, 0xc9, 0xc7, 0xc2, + 0xc7, 0xc2, 0xcb, 0xc1, 0xc4, 0xce, 0xc1, 0xc7, 0xc9, 0xc4, 0xcc, 0xca, 0xce, 0xc8, 0xc2, 0xcd, + 0xc0, 0xcf, 0xc6, 0xcc, 0xca, 0xc9, 0xcd, 0xc0, 0xcf, 0xc3, 0xc3, 0xc5, 0xc5, 0xc6, 0xc8, 0xcb, + 0x5d, 0x51, 0x52, 0x5f, 0x58, 0x5d, 0x54, 0x58, 0x56, 0x5a, 0x5f, 0x53, 0x5b, 0x57, 0x51, 0x54, + 0x5a, 0x5c, 0x59, 0x55, 0x53, 0x56, 0x5e, 0x5b, 0x55, 0x50, 0x50, 0x5e, 0x5c, 0x59, 0x57, 0x52, + 0x57, 0x52, 0x5b, 0x51, 0x54, 0x5e, 0x51, 0x57, 0x59, 0x54, 0x5c, 0x5a, 0x5e, 0x58, 0x52, 0x5d, + 0x50, 0x5f, 0x56, 0x5c, 0x5a, 0x59, 0x5d, 0x50, 0x5f, 0x53, 0x53, 0x55, 0x55, 0x56, 0x58, 0x5b, + 0x2d, 0x21, 0x22, 0x2f, 0x28, 0x2d, 0x24, 0x28, 0x26, 0x2a, 0x2f, 0x23, 0x2b, 0x27, 0x21, 0x24, + 0x2a, 0x2c, 0x29, 0x25, 0x23, 0x26, 0x2e, 0x2b, 0x25, 0x20, 0x20, 0x2e, 0x2c, 0x29, 0x27, 0x22, + 0x27, 0x22, 0x2b, 0x21, 0x24, 0x2e, 0x21, 0x27, 0x29, 0x24, 0x2c, 0x2a, 0x2e, 0x28, 0x22, 0x2d, + 0x20, 0x2f, 0x26, 0x2c, 0x2a, 0x29, 0x2d, 0x20, 0x2f, 0x23, 0x23, 0x25, 0x25, 0x26, 0x28, 0x2b, + 0xad, 0xa1, 0xa2, 0xaf, 0xa8, 0xad, 0xa4, 0xa8, 0xa6, 0xaa, 0xaf, 0xa3, 0xab, 0xa7, 0xa1, 0xa4, + 0xaa, 0xac, 0xa9, 0xa5, 0xa3, 0xa6, 0xae, 0xab, 0xa5, 0xa0, 0xa0, 0xae, 0xac, 0xa9, 0xa7, 0xa2, + 0xa7, 0xa2, 0xab, 0xa1, 0xa4, 0xae, 0xa1, 0xa7, 0xa9, 0xa4, 0xac, 0xaa, 0xae, 0xa8, 0xa2, 0xad, + 0xa0, 0xaf, 0xa6, 0xac, 0xaa, 0xa9, 0xad, 0xa0, 0xaf, 0xa3, 0xa3, 0xa5, 0xa5, 0xa6, 0xa8, 0xab, + 0xfd, 0xf1, 0xf2, 0xff, 0xf8, 0xfd, 0xf4, 0xf8, 0xf6, 0xfa, 0xff, 0xf3, 0xfb, 0xf7, 0xf1, 0xf4, + 0xfa, 0xfc, 0xf9, 0xf5, 0xf3, 0xf6, 0xfe, 0xfb, 0xf5, 0xf0, 0xf0, 0xfe, 0xfc, 0xf9, 0xf7, 0xf2, + 0xf7, 0xf2, 0xfb, 0xf1, 0xf4, 0xfe, 0xf1, 0xf7, 0xf9, 0xf4, 0xfc, 0xfa, 0xfe, 0xf8, 0xf2, 0xfd, + 0xf0, 0xff, 0xf6, 0xfc, 0xfa, 0xf9, 0xfd, 0xf0, 0xff, 0xf3, 0xf3, 0xf5, 0xf5, 0xf6, 0xf8, 0xfb, + 0x6d, 0x61, 0x62, 0x6f, 0x68, 0x6d, 0x64, 0x68, 0x66, 0x6a, 0x6f, 0x63, 0x6b, 0x67, 0x61, 0x64, + 0x6a, 0x6c, 0x69, 0x65, 0x63, 0x66, 0x6e, 0x6b, 0x65, 0x60, 0x60, 0x6e, 0x6c, 0x69, 0x67, 0x62, + 0x67, 0x62, 0x6b, 0x61, 0x64, 0x6e, 0x61, 0x67, 0x69, 0x64, 0x6c, 0x6a, 0x6e, 0x68, 0x62, 0x6d, + 0x60, 0x6f, 0x66, 0x6c, 0x6a, 0x69, 0x6d, 0x60, 0x6f, 0x63, 0x63, 0x65, 0x65, 0x66, 0x68, 0x6b, + 0x8d, 0x81, 0x82, 0x8f, 0x88, 0x8d, 0x84, 0x88, 0x86, 0x8a, 0x8f, 0x83, 0x8b, 0x87, 0x81, 0x84, + 0x8a, 0x8c, 0x89, 0x85, 0x83, 0x86, 0x8e, 0x8b, 0x85, 0x80, 0x80, 0x8e, 0x8c, 0x89, 0x87, 0x82, + 0x87, 0x82, 0x8b, 0x81, 0x84, 0x8e, 0x81, 0x87, 0x89, 0x84, 0x8c, 0x8a, 0x8e, 0x88, 0x82, 0x8d, + 0x80, 0x8f, 0x86, 0x8c, 0x8a, 0x89, 0x8d, 0x80, 0x8f, 0x83, 0x83, 0x85, 0x85, 0x86, 0x88, 0x8b, + 0x1d, 0x11, 0x12, 0x1f, 0x18, 0x1d, 0x14, 0x18, 0x16, 0x1a, 0x1f, 0x13, 0x1b, 0x17, 0x11, 0x14, + 0x1a, 0x1c, 0x19, 0x15, 0x13, 0x16, 0x1e, 0x1b, 0x15, 0x10, 0x10, 0x1e, 0x1c, 0x19, 0x17, 0x12, + 0x17, 0x12, 0x1b, 0x11, 0x14, 0x1e, 0x11, 0x17, 0x19, 0x14, 0x1c, 0x1a, 0x1e, 0x18, 0x12, 0x1d, + 0x10, 0x1f, 0x16, 0x1c, 0x1a, 0x19, 0x1d, 0x10, 0x1f, 0x13, 0x13, 0x15, 0x15, 0x16, 0x18, 0x1b, + 0x6d, 0x61, 0x62, 0x6f, 0x68, 0x6d, 0x64, 0x68, 0x66, 0x6a, 0x6f, 0x63, 0x6b, 0x67, 0x61, 0x64, + 0x6a, 0x6c, 0x69, 0x65, 0x63, 0x66, 0x6e, 0x6b, 0x65, 0x60, 0x60, 0x6e, 0x6c, 0x69, 0x67, 0x62, + 0x67, 0x62, 0x6b, 0x61, 0x64, 0x6e, 0x61, 0x67, 0x69, 0x64, 0x6c, 0x6a, 0x6e, 0x68, 0x62, 0x6d, + 0x60, 0x6f, 0x66, 0x6c, 0x6a, 0x69, 0x6d, 0x60, 0x6f, 0x63, 0x63, 0x65, 0x65, 0x66, 0x68, 0x6b, + 0x1d, 0x11, 0x12, 0x1f, 0x18, 0x1d, 0x14, 0x18, 0x16, 0x1a, 0x1f, 0x13, 0x1b, 0x17, 0x11, 0x14, + 0x1a, 0x1c, 0x19, 0x15, 0x13, 0x16, 0x1e, 0x1b, 0x15, 0x10, 0x10, 0x1e, 0x1c, 0x19, 0x17, 0x12, + 0x17, 0x12, 0x1b, 0x11, 0x14, 0x1e, 0x11, 0x17, 0x19, 0x14, 0x1c, 0x1a, 0x1e, 0x18, 0x12, 0x1d, + 0x10, 0x1f, 0x16, 0x1c, 0x1a, 0x19, 0x1d, 0x10, 0x1f, 0x13, 0x13, 0x15, 0x15, 0x16, 0x18, 0x1b, + 0x6d, 0x61, 0x62, 0x6f, 0x68, 0x6d, 0x64, 0x68, 0x66, 0x6a, 0x6f, 0x63, 0x6b, 0x67, 0x61, 0x64, + 0x6a, 0x6c, 0x69, 0x65, 0x63, 0x66, 0x6e, 0x6b, 0x65, 0x60, 0x60, 0x6e, 0x6c, 0x69, 0x67, 0x62, + 0x67, 0x62, 0x6b, 0x61, 0x64, 0x6e, 0x61, 0x67, 0x69, 0x64, 0x6c, 0x6a, 0x6e, 0x68, 0x62, 0x6d, + 0x60, 0x6f, 0x66, 0x6c, 0x6a, 0x69, 0x6d, 0x60, 0x6f, 0x63, 0x63, 0x65, 0x65, 0x66, 0x68, 0x6b, + 0x4d, 0x41, 0x42, 0x4f, 0x48, 0x4d, 0x44, 0x48, 0x46, 0x4a, 0x4f, 0x43, 0x4b, 0x47, 0x41, 0x44, + 0x4a, 0x4c, 0x49, 0x45, 0x43, 0x46, 0x4e, 0x4b, 0x45, 0x40, 0x40, 0x4e, 0x4c, 0x49, 0x47, 0x42, + 0x47, 0x42, 0x4b, 0x41, 0x44, 0x4e, 0x41, 0x47, 0x49, 0x44, 0x4c, 0x4a, 0x4e, 0x48, 0x42, 0x4d, + 0x40, 0x4f, 0x46, 0x4c, 0x4a, 0x49, 0x4d, 0x40, 0x4f, 0x43, 0x43, 0x45, 0x45, 0x46, 0x48, 0x4b, + 0xbd, 0xb1, 0xb2, 0xbf, 0xb8, 0xbd, 0xb4, 0xb8, 0xb6, 0xba, 0xbf, 0xb3, 0xbb, 0xb7, 0xb1, 0xb4, + 0xba, 0xbc, 0xb9, 0xb5, 0xb3, 0xb6, 0xbe, 0xbb, 0xb5, 0xb0, 0xb0, 0xbe, 0xbc, 0xb9, 0xb7, 0xb2, + 0xb7, 0xb2, 0xbb, 0xb1, 0xb4, 0xbe, 0xb1, 0xb7, 0xb9, 0xb4, 0xbc, 0xba, 0xbe, 0xb8, 0xb2, 0xbd, + 0xb0, 0xbf, 0xb6, 0xbc, 0xba, 0xb9, 0xbd, 0xb0, 0xbf, 0xb3, 0xb3, 0xb5, 0xb5, 0xb6, 0xb8, 0xbb, + 0xbd, 0xb1, 0xb2, 0xbf, 0xb8, 0xbd, 0xb4, 0xb8, 0xb6, 0xba, 0xbf, 0xb3, 0xbb, 0xb7, 0xb1, 0xb4, + 0xba, 0xbc, 0xb9, 0xb5, 0xb3, 0xb6, 0xbe, 0xbb, 0xb5, 0xb0, 0xb0, 0xbe, 0xbc, 0xb9, 0xb7, 0xb2, + 0xb7, 0xb2, 0xbb, 0xb1, 0xb4, 0xbe, 0xb1, 0xb7, 0xb9, 0xb4, 0xbc, 0xba, 0xbe, 0xb8, 0xb2, 0xbd, + 0xb0, 0xbf, 0xb6, 0xbc, 0xba, 0xb9, 0xbd, 0xb0, 0xbf, 0xb3, 0xb3, 0xb5, 0xb5, 0xb6, 0xb8, 0xbb, + 0xdd, 0xd1, 0xd2, 0xdf, 0xd8, 0xdd, 0xd4, 0xd8, 0xd6, 0xda, 0xdf, 0xd3, 0xdb, 0xd7, 0xd1, 0xd4, + 0xda, 0xdc, 0xd9, 0xd5, 0xd3, 0xd6, 0xde, 0xdb, 0xd5, 0xd0, 0xd0, 0xde, 0xdc, 0xd9, 0xd7, 0xd2, + 0xd7, 0xd2, 0xdb, 0xd1, 0xd4, 0xde, 0xd1, 0xd7, 0xd9, 0xd4, 0xdc, 0xda, 0xde, 0xd8, 0xd2, 0xdd, + 0xd0, 0xdf, 0xd6, 0xdc, 0xda, 0xd9, 0xdd, 0xd0, 0xdf, 0xd3, 0xd3, 0xd5, 0xd5, 0xd6, 0xd8, 0xdb, + 0xdd, 0xd1, 0xd2, 0xdf, 0xd8, 0xdd, 0xd4, 0xd8, 0xd6, 0xda, 0xdf, 0xd3, 0xdb, 0xd7, 0xd1, 0xd4, + 0xda, 0xdc, 0xd9, 0xd5, 0xd3, 0xd6, 0xde, 0xdb, 0xd5, 0xd0, 0xd0, 0xde, 0xdc, 0xd9, 0xd7, 0xd2, + 0xd7, 0xd2, 0xdb, 0xd1, 0xd4, 0xde, 0xd1, 0xd7, 0xd9, 0xd4, 0xdc, 0xda, 0xde, 0xd8, 0xd2, 0xdd, + 0xd0, 0xdf, 0xd6, 0xdc, 0xda, 0xd9, 0xdd, 0xd0, 0xdf, 0xd3, 0xd3, 0xd5, 0xd5, 0xd6, 0xd8, 0xdb, + 0x8d, 0x81, 0x82, 0x8f, 0x88, 0x8d, 0x84, 0x88, 0x86, 0x8a, 0x8f, 0x83, 0x8b, 0x87, 0x81, 0x84, + 0x8a, 0x8c, 0x89, 0x85, 0x83, 0x86, 0x8e, 0x8b, 0x85, 0x80, 0x80, 0x8e, 0x8c, 0x89, 0x87, 0x82, + 0x87, 0x82, 0x8b, 0x81, 0x84, 0x8e, 0x81, 0x87, 0x89, 0x84, 0x8c, 0x8a, 0x8e, 0x88, 0x82, 0x8d, + 0x80, 0x8f, 0x86, 0x8c, 0x8a, 0x89, 0x8d, 0x80, 0x8f, 0x83, 0x83, 0x85, 0x85, 0x86, 0x88, 0x8b, + 0xcd, 0xc1, 0xc2, 0xcf, 0xc8, 0xcd, 0xc4, 0xc8, 0xc6, 0xca, 0xcf, 0xc3, 0xcb, 0xc7, 0xc1, 0xc4, + 0xca, 0xcc, 0xc9, 0xc5, 0xc3, 0xc6, 0xce, 0xcb, 0xc5, 0xc0, 0xc0, 0xce, 0xcc, 0xc9, 0xc7, 0xc2, + 0xc7, 0xc2, 0xcb, 0xc1, 0xc4, 0xce, 0xc1, 0xc7, 0xc9, 0xc4, 0xcc, 0xca, 0xce, 0xc8, 0xc2, 0xcd, + 0xc0, 0xcf, 0xc6, 0xcc, 0xca, 0xc9, 0xcd, 0xc0, 0xcf, 0xc3, 0xc3, 0xc5, 0xc5, 0xc6, 0xc8, 0xcb, + 0x1d, 0x11, 0x12, 0x1f, 0x18, 0x1d, 0x14, 0x18, 0x16, 0x1a, 0x1f, 0x13, 0x1b, 0x17, 0x11, 0x14, + 0x1a, 0x1c, 0x19, 0x15, 0x13, 0x16, 0x1e, 0x1b, 0x15, 0x10, 0x10, 0x1e, 0x1c, 0x19, 0x17, 0x12, + 0x17, 0x12, 0x1b, 0x11, 0x14, 0x1e, 0x11, 0x17, 0x19, 0x14, 0x1c, 0x1a, 0x1e, 0x18, 0x12, 0x1d, + 0x10, 0x1f, 0x16, 0x1c, 0x1a, 0x19, 0x1d, 0x10, 0x1f, 0x13, 0x13, 0x15, 0x15, 0x16, 0x18, 0x1b, + 0x3d, 0x31, 0x32, 0x3f, 0x38, 0x3d, 0x34, 0x38, 0x36, 0x3a, 0x3f, 0x33, 0x3b, 0x37, 0x31, 0x34, + 0x3a, 0x3c, 0x39, 0x35, 0x33, 0x36, 0x3e, 0x3b, 0x35, 0x30, 0x30, 0x3e, 0x3c, 0x39, 0x37, 0x32, + 0x37, 0x32, 0x3b, 0x31, 0x34, 0x3e, 0x31, 0x37, 0x39, 0x34, 0x3c, 0x3a, 0x3e, 0x38, 0x32, 0x3d, + 0x30, 0x3f, 0x36, 0x3c, 0x3a, 0x39, 0x3d, 0x30, 0x3f, 0x33, 0x33, 0x35, 0x35, 0x36, 0x38, 0x3b, + 0x4d, 0x41, 0x42, 0x4f, 0x48, 0x4d, 0x44, 0x48, 0x46, 0x4a, 0x4f, 0x43, 0x4b, 0x47, 0x41, 0x44, + 0x4a, 0x4c, 0x49, 0x45, 0x43, 0x46, 0x4e, 0x4b, 0x45, 0x40, 0x40, 0x4e, 0x4c, 0x49, 0x47, 0x42, + 0x47, 0x42, 0x4b, 0x41, 0x44, 0x4e, 0x41, 0x47, 0x49, 0x44, 0x4c, 0x4a, 0x4e, 0x48, 0x42, 0x4d, + 0x40, 0x4f, 0x46, 0x4c, 0x4a, 0x49, 0x4d, 0x40, 0x4f, 0x43, 0x43, 0x45, 0x45, 0x46, 0x48, 0x4b, + 0x7d, 0x71, 0x72, 0x7f, 0x78, 0x7d, 0x74, 0x78, 0x76, 0x7a, 0x7f, 0x73, 0x7b, 0x77, 0x71, 0x74, + 0x7a, 0x7c, 0x79, 0x75, 0x73, 0x76, 0x7e, 0x7b, 0x75, 0x70, 0x70, 0x7e, 0x7c, 0x79, 0x77, 0x72, + 0x77, 0x72, 0x7b, 0x71, 0x74, 0x7e, 0x71, 0x77, 0x79, 0x74, 0x7c, 0x7a, 0x7e, 0x78, 0x72, 0x7d, + 0x70, 0x7f, 0x76, 0x7c, 0x7a, 0x79, 0x7d, 0x70, 0x7f, 0x73, 0x73, 0x75, 0x75, 0x76, 0x78, 0x7b, + 0xad, 0xa1, 0xa2, 0xaf, 0xa8, 0xad, 0xa4, 0xa8, 0xa6, 0xaa, 0xaf, 0xa3, 0xab, 0xa7, 0xa1, 0xa4, + 0xaa, 0xac, 0xa9, 0xa5, 0xa3, 0xa6, 0xae, 0xab, 0xa5, 0xa0, 0xa0, 0xae, 0xac, 0xa9, 0xa7, 0xa2, + 0xa7, 0xa2, 0xab, 0xa1, 0xa4, 0xae, 0xa1, 0xa7, 0xa9, 0xa4, 0xac, 0xaa, 0xae, 0xa8, 0xa2, 0xad, + 0xa0, 0xaf, 0xa6, 0xac, 0xaa, 0xa9, 0xad, 0xa0, 0xaf, 0xa3, 0xa3, 0xa5, 0xa5, 0xa6, 0xa8, 0xab, + 0xed, 0xe1, 0xe2, 0xef, 0xe8, 0xed, 0xe4, 0xe8, 0xe6, 0xea, 0xef, 0xe3, 0xeb, 0xe7, 0xe1, 0xe4, + 0xea, 0xec, 0xe9, 0xe5, 0xe3, 0xe6, 0xee, 0xeb, 0xe5, 0xe0, 0xe0, 0xee, 0xec, 0xe9, 0xe7, 0xe2, + 0xe7, 0xe2, 0xeb, 0xe1, 0xe4, 0xee, 0xe1, 0xe7, 0xe9, 0xe4, 0xec, 0xea, 0xee, 0xe8, 0xe2, 0xed, + 0xe0, 0xef, 0xe6, 0xec, 0xea, 0xe9, 0xed, 0xe0, 0xef, 0xe3, 0xe3, 0xe5, 0xe5, 0xe6, 0xe8, 0xeb, + 0x7d, 0x71, 0x72, 0x7f, 0x78, 0x7d, 0x74, 0x78, 0x76, 0x7a, 0x7f, 0x73, 0x7b, 0x77, 0x71, 0x74, + 0x7a, 0x7c, 0x79, 0x75, 0x73, 0x76, 0x7e, 0x7b, 0x75, 0x70, 0x70, 0x7e, 0x7c, 0x79, 0x77, 0x72, + 0x77, 0x72, 0x7b, 0x71, 0x74, 0x7e, 0x71, 0x77, 0x79, 0x74, 0x7c, 0x7a, 0x7e, 0x78, 0x72, 0x7d, + 0x70, 0x7f, 0x76, 0x7c, 0x7a, 0x79, 0x7d, 0x70, 0x7f, 0x73, 0x73, 0x75, 0x75, 0x76, 0x78, 0x7b, + 0xad, 0xa1, 0xa2, 0xaf, 0xa8, 0xad, 0xa4, 0xa8, 0xa6, 0xaa, 0xaf, 0xa3, 0xab, 0xa7, 0xa1, 0xa4, + 0xaa, 0xac, 0xa9, 0xa5, 0xa3, 0xa6, 0xae, 0xab, 0xa5, 0xa0, 0xa0, 0xae, 0xac, 0xa9, 0xa7, 0xa2, + 0xa7, 0xa2, 0xab, 0xa1, 0xa4, 0xae, 0xa1, 0xa7, 0xa9, 0xa4, 0xac, 0xaa, 0xae, 0xa8, 0xa2, 0xad, + 0xa0, 0xaf, 0xa6, 0xac, 0xaa, 0xa9, 0xad, 0xa0, 0xaf, 0xa3, 0xa3, 0xa5, 0xa5, 0xa6, 0xa8, 0xab, + 0x9d, 0x91, 0x92, 0x9f, 0x98, 0x9d, 0x94, 0x98, 0x96, 0x9a, 0x9f, 0x93, 0x9b, 0x97, 0x91, 0x94, + 0x9a, 0x9c, 0x99, 0x95, 0x93, 0x96, 0x9e, 0x9b, 0x95, 0x90, 0x90, 0x9e, 0x9c, 0x99, 0x97, 0x92, + 0x97, 0x92, 0x9b, 0x91, 0x94, 0x9e, 0x91, 0x97, 0x99, 0x94, 0x9c, 0x9a, 0x9e, 0x98, 0x92, 0x9d, + 0x90, 0x9f, 0x96, 0x9c, 0x9a, 0x99, 0x9d, 0x90, 0x9f, 0x93, 0x93, 0x95, 0x95, 0x96, 0x98, 0x9b, + 0xfd, 0xf1, 0xf2, 0xff, 0xf8, 0xfd, 0xf4, 0xf8, 0xf6, 0xfa, 0xff, 0xf3, 0xfb, 0xf7, 0xf1, 0xf4, + 0xfa, 0xfc, 0xf9, 0xf5, 0xf3, 0xf6, 0xfe, 0xfb, 0xf5, 0xf0, 0xf0, 0xfe, 0xfc, 0xf9, 0xf7, 0xf2, + 0xf7, 0xf2, 0xfb, 0xf1, 0xf4, 0xfe, 0xf1, 0xf7, 0xf9, 0xf4, 0xfc, 0xfa, 0xfe, 0xf8, 0xf2, 0xfd, + 0xf0, 0xff, 0xf6, 0xfc, 0xfa, 0xf9, 0xfd, 0xf0, 0xff, 0xf3, 0xf3, 0xf5, 0xf5, 0xf6, 0xf8, 0xfb, + 0x5d, 0x51, 0x52, 0x5f, 0x58, 0x5d, 0x54, 0x58, 0x56, 0x5a, 0x5f, 0x53, 0x5b, 0x57, 0x51, 0x54, + 0x5a, 0x5c, 0x59, 0x55, 0x53, 0x56, 0x5e, 0x5b, 0x55, 0x50, 0x50, 0x5e, 0x5c, 0x59, 0x57, 0x52, + 0x57, 0x52, 0x5b, 0x51, 0x54, 0x5e, 0x51, 0x57, 0x59, 0x54, 0x5c, 0x5a, 0x5e, 0x58, 0x52, 0x5d, + 0x50, 0x5f, 0x56, 0x5c, 0x5a, 0x59, 0x5d, 0x50, 0x5f, 0x53, 0x53, 0x55, 0x55, 0x56, 0x58, 0x5b, + 0x6d, 0x61, 0x62, 0x6f, 0x68, 0x6d, 0x64, 0x68, 0x66, 0x6a, 0x6f, 0x63, 0x6b, 0x67, 0x61, 0x64, + 0x6a, 0x6c, 0x69, 0x65, 0x63, 0x66, 0x6e, 0x6b, 0x65, 0x60, 0x60, 0x6e, 0x6c, 0x69, 0x67, 0x62, + 0x67, 0x62, 0x6b, 0x61, 0x64, 0x6e, 0x61, 0x67, 0x69, 0x64, 0x6c, 0x6a, 0x6e, 0x68, 0x62, 0x6d, + 0x60, 0x6f, 0x66, 0x6c, 0x6a, 0x69, 0x6d, 0x60, 0x6f, 0x63, 0x63, 0x65, 0x65, 0x66, 0x68, 0x6b, + 0x0d, 0x01, 0x02, 0x0f, 0x08, 0x0d, 0x04, 0x08, 0x06, 0x0a, 0x0f, 0x03, 0x0b, 0x07, 0x01, 0x04, + 0x0a, 0x0c, 0x09, 0x05, 0x03, 0x06, 0x0e, 0x0b, 0x05, 0x00, 0x00, 0x0e, 0x0c, 0x09, 0x07, 0x02, + 0x07, 0x02, 0x0b, 0x01, 0x04, 0x0e, 0x01, 0x07, 0x09, 0x04, 0x0c, 0x0a, 0x0e, 0x08, 0x02, 0x0d, + 0x00, 0x0f, 0x06, 0x0c, 0x0a, 0x09, 0x0d, 0x00, 0x0f, 0x03, 0x03, 0x05, 0x05, 0x06, 0x08, 0x0b, + 0x8d, 0x81, 0x82, 0x8f, 0x88, 0x8d, 0x84, 0x88, 0x86, 0x8a, 0x8f, 0x83, 0x8b, 0x87, 0x81, 0x84, + 0x8a, 0x8c, 0x89, 0x85, 0x83, 0x86, 0x8e, 0x8b, 0x85, 0x80, 0x80, 0x8e, 0x8c, 0x89, 0x87, 0x82, + 0x87, 0x82, 0x8b, 0x81, 0x84, 0x8e, 0x81, 0x87, 0x89, 0x84, 0x8c, 0x8a, 0x8e, 0x88, 0x82, 0x8d, + 0x80, 0x8f, 0x86, 0x8c, 0x8a, 0x89, 0x8d, 0x80, 0x8f, 0x83, 0x83, 0x85, 0x85, 0x86, 0x88, 0x8b, + 0xfd, 0xf1, 0xf2, 0xff, 0xf8, 0xfd, 0xf4, 0xf8, 0xf6, 0xfa, 0xff, 0xf3, 0xfb, 0xf7, 0xf1, 0xf4, + 0xfa, 0xfc, 0xf9, 0xf5, 0xf3, 0xf6, 0xfe, 0xfb, 0xf5, 0xf0, 0xf0, 0xfe, 0xfc, 0xf9, 0xf7, 0xf2, + 0xf7, 0xf2, 0xfb, 0xf1, 0xf4, 0xfe, 0xf1, 0xf7, 0xf9, 0xf4, 0xfc, 0xfa, 0xfe, 0xf8, 0xf2, 0xfd, + 0xf0, 0xff, 0xf6, 0xfc, 0xfa, 0xf9, 0xfd, 0xf0, 0xff, 0xf3, 0xf3, 0xf5, 0xf5, 0xf6, 0xf8, 0xfb, + 0x0d, 0x01, 0x02, 0x0f, 0x08, 0x0d, 0x04, 0x08, 0x06, 0x0a, 0x0f, 0x03, 0x0b, 0x07, 0x01, 0x04, + 0x0a, 0x0c, 0x09, 0x05, 0x03, 0x06, 0x0e, 0x0b, 0x05, 0x00, 0x00, 0x0e, 0x0c, 0x09, 0x07, 0x02, + 0x07, 0x02, 0x0b, 0x01, 0x04, 0x0e, 0x01, 0x07, 0x09, 0x04, 0x0c, 0x0a, 0x0e, 0x08, 0x02, 0x0d, + 0x00, 0x0f, 0x06, 0x0c, 0x0a, 0x09, 0x0d, 0x00, 0x0f, 0x03, 0x03, 0x05, 0x05, 0x06, 0x08, 0x0b, + 0xed, 0xe1, 0xe2, 0xef, 0xe8, 0xed, 0xe4, 0xe8, 0xe6, 0xea, 0xef, 0xe3, 0xeb, 0xe7, 0xe1, 0xe4, + 0xea, 0xec, 0xe9, 0xe5, 0xe3, 0xe6, 0xee, 0xeb, 0xe5, 0xe0, 0xe0, 0xee, 0xec, 0xe9, 0xe7, 0xe2, + 0xe7, 0xe2, 0xeb, 0xe1, 0xe4, 0xee, 0xe1, 0xe7, 0xe9, 0xe4, 0xec, 0xea, 0xee, 0xe8, 0xe2, 0xed, + 0xe0, 0xef, 0xe6, 0xec, 0xea, 0xe9, 0xed, 0xe0, 0xef, 0xe3, 0xe3, 0xe5, 0xe5, 0xe6, 0xe8, 0xeb, + 0x5d, 0x51, 0x52, 0x5f, 0x58, 0x5d, 0x54, 0x58, 0x56, 0x5a, 0x5f, 0x53, 0x5b, 0x57, 0x51, 0x54, + 0x5a, 0x5c, 0x59, 0x55, 0x53, 0x56, 0x5e, 0x5b, 0x55, 0x50, 0x50, 0x5e, 0x5c, 0x59, 0x57, 0x52, + 0x57, 0x52, 0x5b, 0x51, 0x54, 0x5e, 0x51, 0x57, 0x59, 0x54, 0x5c, 0x5a, 0x5e, 0x58, 0x52, 0x5d, + 0x50, 0x5f, 0x56, 0x5c, 0x5a, 0x59, 0x5d, 0x50, 0x5f, 0x53, 0x53, 0x55, 0x55, 0x56, 0x58, 0x5b, + 0x2d, 0x21, 0x22, 0x2f, 0x28, 0x2d, 0x24, 0x28, 0x26, 0x2a, 0x2f, 0x23, 0x2b, 0x27, 0x21, 0x24, + 0x2a, 0x2c, 0x29, 0x25, 0x23, 0x26, 0x2e, 0x2b, 0x25, 0x20, 0x20, 0x2e, 0x2c, 0x29, 0x27, 0x22, + 0x27, 0x22, 0x2b, 0x21, 0x24, 0x2e, 0x21, 0x27, 0x29, 0x24, 0x2c, 0x2a, 0x2e, 0x28, 0x22, 0x2d, + 0x20, 0x2f, 0x26, 0x2c, 0x2a, 0x29, 0x2d, 0x20, 0x2f, 0x23, 0x23, 0x25, 0x25, 0x26, 0x28, 0x2b, + 0x9d, 0x91, 0x92, 0x9f, 0x98, 0x9d, 0x94, 0x98, 0x96, 0x9a, 0x9f, 0x93, 0x9b, 0x97, 0x91, 0x94, + 0x9a, 0x9c, 0x99, 0x95, 0x93, 0x96, 0x9e, 0x9b, 0x95, 0x90, 0x90, 0x9e, 0x9c, 0x99, 0x97, 0x92, + 0x97, 0x92, 0x9b, 0x91, 0x94, 0x9e, 0x91, 0x97, 0x99, 0x94, 0x9c, 0x9a, 0x9e, 0x98, 0x92, 0x9d, + 0x90, 0x9f, 0x96, 0x9c, 0x9a, 0x99, 0x9d, 0x90, 0x9f, 0x93, 0x93, 0x95, 0x95, 0x96, 0x98, 0x9b, + 0x3d, 0x31, 0x32, 0x3f, 0x38, 0x3d, 0x34, 0x38, 0x36, 0x3a, 0x3f, 0x33, 0x3b, 0x37, 0x31, 0x34, + 0x3a, 0x3c, 0x39, 0x35, 0x33, 0x36, 0x3e, 0x3b, 0x35, 0x30, 0x30, 0x3e, 0x3c, 0x39, 0x37, 0x32, + 0x37, 0x32, 0x3b, 0x31, 0x34, 0x3e, 0x31, 0x37, 0x39, 0x34, 0x3c, 0x3a, 0x3e, 0x38, 0x32, 0x3d, + 0x30, 0x3f, 0x36, 0x3c, 0x3a, 0x39, 0x3d, 0x30, 0x3f, 0x33, 0x33, 0x35, 0x35, 0x36, 0x38, 0x3b, + 0x2d, 0x21, 0x22, 0x2f, 0x28, 0x2d, 0x24, 0x28, 0x26, 0x2a, 0x2f, 0x23, 0x2b, 0x27, 0x21, 0x24, + 0x2a, 0x2c, 0x29, 0x25, 0x23, 0x26, 0x2e, 0x2b, 0x25, 0x20, 0x20, 0x2e, 0x2c, 0x29, 0x27, 0x22, + 0x27, 0x22, 0x2b, 0x21, 0x24, 0x2e, 0x21, 0x27, 0x29, 0x24, 0x2c, 0x2a, 0x2e, 0x28, 0x22, 0x2d, + 0x20, 0x2f, 0x26, 0x2c, 0x2a, 0x29, 0x2d, 0x20, 0x2f, 0x23, 0x23, 0x25, 0x25, 0x26, 0x28, 0x2b, + 0xcd, 0xc1, 0xc2, 0xcf, 0xc8, 0xcd, 0xc4, 0xc8, 0xc6, 0xca, 0xcf, 0xc3, 0xcb, 0xc7, 0xc1, 0xc4, + 0xca, 0xcc, 0xc9, 0xc5, 0xc3, 0xc6, 0xce, 0xcb, 0xc5, 0xc0, 0xc0, 0xce, 0xcc, 0xc9, 0xc7, 0xc2, + 0xc7, 0xc2, 0xcb, 0xc1, 0xc4, 0xce, 0xc1, 0xc7, 0xc9, 0xc4, 0xcc, 0xca, 0xce, 0xc8, 0xc2, 0xcd, + 0xc0, 0xcf, 0xc6, 0xcc, 0xca, 0xc9, 0xcd, 0xc0, 0xcf, 0xc3, 0xc3, 0xc5, 0xc5, 0xc6, 0xc8, 0xcb, + } +}; +static const u_int32_t psbox[4][256] = { + { + 0x00000000, 0x00004000, 0x40000000, 0x40004000, + 0x00000010, 0x00004010, 0x40000010, 0x40004010, + 0x00080000, 0x00084000, 0x40080000, 0x40084000, + 0x00080010, 0x00084010, 0x40080010, 0x40084010, + 0x00000002, 0x00004002, 0x40000002, 0x40004002, + 0x00000012, 0x00004012, 0x40000012, 0x40004012, + 0x00080002, 0x00084002, 0x40080002, 0x40084002, + 0x00080012, 0x00084012, 0x40080012, 0x40084012, + 0x00000200, 0x00004200, 0x40000200, 0x40004200, + 0x00000210, 0x00004210, 0x40000210, 0x40004210, + 0x00080200, 0x00084200, 0x40080200, 0x40084200, + 0x00080210, 0x00084210, 0x40080210, 0x40084210, + 0x00000202, 0x00004202, 0x40000202, 0x40004202, + 0x00000212, 0x00004212, 0x40000212, 0x40004212, + 0x00080202, 0x00084202, 0x40080202, 0x40084202, + 0x00080212, 0x00084212, 0x40080212, 0x40084212, + 0x00008000, 0x0000c000, 0x40008000, 0x4000c000, + 0x00008010, 0x0000c010, 0x40008010, 0x4000c010, + 0x00088000, 0x0008c000, 0x40088000, 0x4008c000, + 0x00088010, 0x0008c010, 0x40088010, 0x4008c010, + 0x00008002, 0x0000c002, 0x40008002, 0x4000c002, + 0x00008012, 0x0000c012, 0x40008012, 0x4000c012, + 0x00088002, 0x0008c002, 0x40088002, 0x4008c002, + 0x00088012, 0x0008c012, 0x40088012, 0x4008c012, + 0x00008200, 0x0000c200, 0x40008200, 0x4000c200, + 0x00008210, 0x0000c210, 0x40008210, 0x4000c210, + 0x00088200, 0x0008c200, 0x40088200, 0x4008c200, + 0x00088210, 0x0008c210, 0x40088210, 0x4008c210, + 0x00008202, 0x0000c202, 0x40008202, 0x4000c202, + 0x00008212, 0x0000c212, 0x40008212, 0x4000c212, + 0x00088202, 0x0008c202, 0x40088202, 0x4008c202, + 0x00088212, 0x0008c212, 0x40088212, 0x4008c212, + 0x00800000, 0x00804000, 0x40800000, 0x40804000, + 0x00800010, 0x00804010, 0x40800010, 0x40804010, + 0x00880000, 0x00884000, 0x40880000, 0x40884000, + 0x00880010, 0x00884010, 0x40880010, 0x40884010, + 0x00800002, 0x00804002, 0x40800002, 0x40804002, + 0x00800012, 0x00804012, 0x40800012, 0x40804012, + 0x00880002, 0x00884002, 0x40880002, 0x40884002, + 0x00880012, 0x00884012, 0x40880012, 0x40884012, + 0x00800200, 0x00804200, 0x40800200, 0x40804200, + 0x00800210, 0x00804210, 0x40800210, 0x40804210, + 0x00880200, 0x00884200, 0x40880200, 0x40884200, + 0x00880210, 0x00884210, 0x40880210, 0x40884210, + 0x00800202, 0x00804202, 0x40800202, 0x40804202, + 0x00800212, 0x00804212, 0x40800212, 0x40804212, + 0x00880202, 0x00884202, 0x40880202, 0x40884202, + 0x00880212, 0x00884212, 0x40880212, 0x40884212, + 0x00808000, 0x0080c000, 0x40808000, 0x4080c000, + 0x00808010, 0x0080c010, 0x40808010, 0x4080c010, + 0x00888000, 0x0088c000, 0x40888000, 0x4088c000, + 0x00888010, 0x0088c010, 0x40888010, 0x4088c010, + 0x00808002, 0x0080c002, 0x40808002, 0x4080c002, + 0x00808012, 0x0080c012, 0x40808012, 0x4080c012, + 0x00888002, 0x0088c002, 0x40888002, 0x4088c002, + 0x00888012, 0x0088c012, 0x40888012, 0x4088c012, + 0x00808200, 0x0080c200, 0x40808200, 0x4080c200, + 0x00808210, 0x0080c210, 0x40808210, 0x4080c210, + 0x00888200, 0x0088c200, 0x40888200, 0x4088c200, + 0x00888210, 0x0088c210, 0x40888210, 0x4088c210, + 0x00808202, 0x0080c202, 0x40808202, 0x4080c202, + 0x00808212, 0x0080c212, 0x40808212, 0x4080c212, + 0x00888202, 0x0088c202, 0x40888202, 0x4088c202, + 0x00888212, 0x0088c212, 0x40888212, 0x4088c212, + }, { + 0x00000000, 0x80000000, 0x00400000, 0x80400000, + 0x00001000, 0x80001000, 0x00401000, 0x80401000, + 0x00000040, 0x80000040, 0x00400040, 0x80400040, + 0x00001040, 0x80001040, 0x00401040, 0x80401040, + 0x04000000, 0x84000000, 0x04400000, 0x84400000, + 0x04001000, 0x84001000, 0x04401000, 0x84401000, + 0x04000040, 0x84000040, 0x04400040, 0x84400040, + 0x04001040, 0x84001040, 0x04401040, 0x84401040, + 0x00000004, 0x80000004, 0x00400004, 0x80400004, + 0x00001004, 0x80001004, 0x00401004, 0x80401004, + 0x00000044, 0x80000044, 0x00400044, 0x80400044, + 0x00001044, 0x80001044, 0x00401044, 0x80401044, + 0x04000004, 0x84000004, 0x04400004, 0x84400004, + 0x04001004, 0x84001004, 0x04401004, 0x84401004, + 0x04000044, 0x84000044, 0x04400044, 0x84400044, + 0x04001044, 0x84001044, 0x04401044, 0x84401044, + 0x00010000, 0x80010000, 0x00410000, 0x80410000, + 0x00011000, 0x80011000, 0x00411000, 0x80411000, + 0x00010040, 0x80010040, 0x00410040, 0x80410040, + 0x00011040, 0x80011040, 0x00411040, 0x80411040, + 0x04010000, 0x84010000, 0x04410000, 0x84410000, + 0x04011000, 0x84011000, 0x04411000, 0x84411000, + 0x04010040, 0x84010040, 0x04410040, 0x84410040, + 0x04011040, 0x84011040, 0x04411040, 0x84411040, + 0x00010004, 0x80010004, 0x00410004, 0x80410004, + 0x00011004, 0x80011004, 0x00411004, 0x80411004, + 0x00010044, 0x80010044, 0x00410044, 0x80410044, + 0x00011044, 0x80011044, 0x00411044, 0x80411044, + 0x04010004, 0x84010004, 0x04410004, 0x84410004, + 0x04011004, 0x84011004, 0x04411004, 0x84411004, + 0x04010044, 0x84010044, 0x04410044, 0x84410044, + 0x04011044, 0x84011044, 0x04411044, 0x84411044, + 0x00000100, 0x80000100, 0x00400100, 0x80400100, + 0x00001100, 0x80001100, 0x00401100, 0x80401100, + 0x00000140, 0x80000140, 0x00400140, 0x80400140, + 0x00001140, 0x80001140, 0x00401140, 0x80401140, + 0x04000100, 0x84000100, 0x04400100, 0x84400100, + 0x04001100, 0x84001100, 0x04401100, 0x84401100, + 0x04000140, 0x84000140, 0x04400140, 0x84400140, + 0x04001140, 0x84001140, 0x04401140, 0x84401140, + 0x00000104, 0x80000104, 0x00400104, 0x80400104, + 0x00001104, 0x80001104, 0x00401104, 0x80401104, + 0x00000144, 0x80000144, 0x00400144, 0x80400144, + 0x00001144, 0x80001144, 0x00401144, 0x80401144, + 0x04000104, 0x84000104, 0x04400104, 0x84400104, + 0x04001104, 0x84001104, 0x04401104, 0x84401104, + 0x04000144, 0x84000144, 0x04400144, 0x84400144, + 0x04001144, 0x84001144, 0x04401144, 0x84401144, + 0x00010100, 0x80010100, 0x00410100, 0x80410100, + 0x00011100, 0x80011100, 0x00411100, 0x80411100, + 0x00010140, 0x80010140, 0x00410140, 0x80410140, + 0x00011140, 0x80011140, 0x00411140, 0x80411140, + 0x04010100, 0x84010100, 0x04410100, 0x84410100, + 0x04011100, 0x84011100, 0x04411100, 0x84411100, + 0x04010140, 0x84010140, 0x04410140, 0x84410140, + 0x04011140, 0x84011140, 0x04411140, 0x84411140, + 0x00010104, 0x80010104, 0x00410104, 0x80410104, + 0x00011104, 0x80011104, 0x00411104, 0x80411104, + 0x00010144, 0x80010144, 0x00410144, 0x80410144, + 0x00011144, 0x80011144, 0x00411144, 0x80411144, + 0x04010104, 0x84010104, 0x04410104, 0x84410104, + 0x04011104, 0x84011104, 0x04411104, 0x84411104, + 0x04010144, 0x84010144, 0x04410144, 0x84410144, + 0x04011144, 0x84011144, 0x04411144, 0x84411144, + }, { + 0x00000000, 0x00002000, 0x00200000, 0x00202000, + 0x00000008, 0x00002008, 0x00200008, 0x00202008, + 0x10000000, 0x10002000, 0x10200000, 0x10202000, + 0x10000008, 0x10002008, 0x10200008, 0x10202008, + 0x20000000, 0x20002000, 0x20200000, 0x20202000, + 0x20000008, 0x20002008, 0x20200008, 0x20202008, + 0x30000000, 0x30002000, 0x30200000, 0x30202000, + 0x30000008, 0x30002008, 0x30200008, 0x30202008, + 0x00000080, 0x00002080, 0x00200080, 0x00202080, + 0x00000088, 0x00002088, 0x00200088, 0x00202088, + 0x10000080, 0x10002080, 0x10200080, 0x10202080, + 0x10000088, 0x10002088, 0x10200088, 0x10202088, + 0x20000080, 0x20002080, 0x20200080, 0x20202080, + 0x20000088, 0x20002088, 0x20200088, 0x20202088, + 0x30000080, 0x30002080, 0x30200080, 0x30202080, + 0x30000088, 0x30002088, 0x30200088, 0x30202088, + 0x00040000, 0x00042000, 0x00240000, 0x00242000, + 0x00040008, 0x00042008, 0x00240008, 0x00242008, + 0x10040000, 0x10042000, 0x10240000, 0x10242000, + 0x10040008, 0x10042008, 0x10240008, 0x10242008, + 0x20040000, 0x20042000, 0x20240000, 0x20242000, + 0x20040008, 0x20042008, 0x20240008, 0x20242008, + 0x30040000, 0x30042000, 0x30240000, 0x30242000, + 0x30040008, 0x30042008, 0x30240008, 0x30242008, + 0x00040080, 0x00042080, 0x00240080, 0x00242080, + 0x00040088, 0x00042088, 0x00240088, 0x00242088, + 0x10040080, 0x10042080, 0x10240080, 0x10242080, + 0x10040088, 0x10042088, 0x10240088, 0x10242088, + 0x20040080, 0x20042080, 0x20240080, 0x20242080, + 0x20040088, 0x20042088, 0x20240088, 0x20242088, + 0x30040080, 0x30042080, 0x30240080, 0x30242080, + 0x30040088, 0x30042088, 0x30240088, 0x30242088, + 0x01000000, 0x01002000, 0x01200000, 0x01202000, + 0x01000008, 0x01002008, 0x01200008, 0x01202008, + 0x11000000, 0x11002000, 0x11200000, 0x11202000, + 0x11000008, 0x11002008, 0x11200008, 0x11202008, + 0x21000000, 0x21002000, 0x21200000, 0x21202000, + 0x21000008, 0x21002008, 0x21200008, 0x21202008, + 0x31000000, 0x31002000, 0x31200000, 0x31202000, + 0x31000008, 0x31002008, 0x31200008, 0x31202008, + 0x01000080, 0x01002080, 0x01200080, 0x01202080, + 0x01000088, 0x01002088, 0x01200088, 0x01202088, + 0x11000080, 0x11002080, 0x11200080, 0x11202080, + 0x11000088, 0x11002088, 0x11200088, 0x11202088, + 0x21000080, 0x21002080, 0x21200080, 0x21202080, + 0x21000088, 0x21002088, 0x21200088, 0x21202088, + 0x31000080, 0x31002080, 0x31200080, 0x31202080, + 0x31000088, 0x31002088, 0x31200088, 0x31202088, + 0x01040000, 0x01042000, 0x01240000, 0x01242000, + 0x01040008, 0x01042008, 0x01240008, 0x01242008, + 0x11040000, 0x11042000, 0x11240000, 0x11242000, + 0x11040008, 0x11042008, 0x11240008, 0x11242008, + 0x21040000, 0x21042000, 0x21240000, 0x21242000, + 0x21040008, 0x21042008, 0x21240008, 0x21242008, + 0x31040000, 0x31042000, 0x31240000, 0x31242000, + 0x31040008, 0x31042008, 0x31240008, 0x31242008, + 0x01040080, 0x01042080, 0x01240080, 0x01242080, + 0x01040088, 0x01042088, 0x01240088, 0x01242088, + 0x11040080, 0x11042080, 0x11240080, 0x11242080, + 0x11040088, 0x11042088, 0x11240088, 0x11242088, + 0x21040080, 0x21042080, 0x21240080, 0x21242080, + 0x21040088, 0x21042088, 0x21240088, 0x21242088, + 0x31040080, 0x31042080, 0x31240080, 0x31242080, + 0x31040088, 0x31042088, 0x31240088, 0x31242088, + }, { + 0x00000000, 0x00000800, 0x00020000, 0x00020800, + 0x00000020, 0x00000820, 0x00020020, 0x00020820, + 0x08000000, 0x08000800, 0x08020000, 0x08020800, + 0x08000020, 0x08000820, 0x08020020, 0x08020820, + 0x02000000, 0x02000800, 0x02020000, 0x02020800, + 0x02000020, 0x02000820, 0x02020020, 0x02020820, + 0x0a000000, 0x0a000800, 0x0a020000, 0x0a020800, + 0x0a000020, 0x0a000820, 0x0a020020, 0x0a020820, + 0x00000400, 0x00000c00, 0x00020400, 0x00020c00, + 0x00000420, 0x00000c20, 0x00020420, 0x00020c20, + 0x08000400, 0x08000c00, 0x08020400, 0x08020c00, + 0x08000420, 0x08000c20, 0x08020420, 0x08020c20, + 0x02000400, 0x02000c00, 0x02020400, 0x02020c00, + 0x02000420, 0x02000c20, 0x02020420, 0x02020c20, + 0x0a000400, 0x0a000c00, 0x0a020400, 0x0a020c00, + 0x0a000420, 0x0a000c20, 0x0a020420, 0x0a020c20, + 0x00100000, 0x00100800, 0x00120000, 0x00120800, + 0x00100020, 0x00100820, 0x00120020, 0x00120820, + 0x08100000, 0x08100800, 0x08120000, 0x08120800, + 0x08100020, 0x08100820, 0x08120020, 0x08120820, + 0x02100000, 0x02100800, 0x02120000, 0x02120800, + 0x02100020, 0x02100820, 0x02120020, 0x02120820, + 0x0a100000, 0x0a100800, 0x0a120000, 0x0a120800, + 0x0a100020, 0x0a100820, 0x0a120020, 0x0a120820, + 0x00100400, 0x00100c00, 0x00120400, 0x00120c00, + 0x00100420, 0x00100c20, 0x00120420, 0x00120c20, + 0x08100400, 0x08100c00, 0x08120400, 0x08120c00, + 0x08100420, 0x08100c20, 0x08120420, 0x08120c20, + 0x02100400, 0x02100c00, 0x02120400, 0x02120c00, + 0x02100420, 0x02100c20, 0x02120420, 0x02120c20, + 0x0a100400, 0x0a100c00, 0x0a120400, 0x0a120c00, + 0x0a100420, 0x0a100c20, 0x0a120420, 0x0a120c20, + 0x00000001, 0x00000801, 0x00020001, 0x00020801, + 0x00000021, 0x00000821, 0x00020021, 0x00020821, + 0x08000001, 0x08000801, 0x08020001, 0x08020801, + 0x08000021, 0x08000821, 0x08020021, 0x08020821, + 0x02000001, 0x02000801, 0x02020001, 0x02020801, + 0x02000021, 0x02000821, 0x02020021, 0x02020821, + 0x0a000001, 0x0a000801, 0x0a020001, 0x0a020801, + 0x0a000021, 0x0a000821, 0x0a020021, 0x0a020821, + 0x00000401, 0x00000c01, 0x00020401, 0x00020c01, + 0x00000421, 0x00000c21, 0x00020421, 0x00020c21, + 0x08000401, 0x08000c01, 0x08020401, 0x08020c01, + 0x08000421, 0x08000c21, 0x08020421, 0x08020c21, + 0x02000401, 0x02000c01, 0x02020401, 0x02020c01, + 0x02000421, 0x02000c21, 0x02020421, 0x02020c21, + 0x0a000401, 0x0a000c01, 0x0a020401, 0x0a020c01, + 0x0a000421, 0x0a000c21, 0x0a020421, 0x0a020c21, + 0x00100001, 0x00100801, 0x00120001, 0x00120801, + 0x00100021, 0x00100821, 0x00120021, 0x00120821, + 0x08100001, 0x08100801, 0x08120001, 0x08120801, + 0x08100021, 0x08100821, 0x08120021, 0x08120821, + 0x02100001, 0x02100801, 0x02120001, 0x02120801, + 0x02100021, 0x02100821, 0x02120021, 0x02120821, + 0x0a100001, 0x0a100801, 0x0a120001, 0x0a120801, + 0x0a100021, 0x0a100821, 0x0a120021, 0x0a120821, + 0x00100401, 0x00100c01, 0x00120401, 0x00120c01, + 0x00100421, 0x00100c21, 0x00120421, 0x00120c21, + 0x08100401, 0x08100c01, 0x08120401, 0x08120c01, + 0x08100421, 0x08100c21, 0x08120421, 0x08120c21, + 0x02100401, 0x02100c01, 0x02120401, 0x02120c01, + 0x02100421, 0x02100c21, 0x02120421, 0x02120c21, + 0x0a100401, 0x0a100c01, 0x0a120401, 0x0a120c01, + 0x0a100421, 0x0a100c21, 0x0a120421, 0x0a120c21, + } +}; -- cgit v1.2.3