/*
 * Huffman decoding and encoding for HPACK (RFC7541)
 *
 * Copyright (C) 2014-2017 Willy Tarreau <willy@haproxy.org>
 * Copyright (C) 2017 HAProxy Technologies
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 */

#include <stdio.h>
#include <inttypes.h>
#include <string.h>

#include <haproxy/api.h>
#include <haproxy/hpack-huff.h>
#include <haproxy/net_helper.h>

struct huff {
	uint32_t c; /* code point */
	int b;      /* bits */
};

struct rht {
	uint8_t c; // code or 0 if length > 8 + position*8
	uint8_t l; // length in bits
};

/* huffman table as per RFC7541 appendix B */
static const struct huff ht[257] = {
	[  0] = { .c = 0x00001ff8, .b = 13 },
	[  1] = { .c = 0x007fffd8, .b = 23 },
	[  2] = { .c = 0x0fffffe2, .b = 28 },
	[  3] = { .c = 0x0fffffe3, .b = 28 },
	[  4] = { .c = 0x0fffffe4, .b = 28 },
	[  5] = { .c = 0x0fffffe5, .b = 28 },
	[  6] = { .c = 0x0fffffe6, .b = 28 },
	[  7] = { .c = 0x0fffffe7, .b = 28 },
	[  8] = { .c = 0x0fffffe8, .b = 28 },
	[  9] = { .c = 0x00ffffea, .b = 24 },
	[ 10] = { .c = 0x3ffffffc, .b = 30 },
	[ 11] = { .c = 0x0fffffe9, .b = 28 },
	[ 12] = { .c = 0x0fffffea, .b = 28 },
	[ 13] = { .c = 0x3ffffffd, .b = 30 },
	[ 14] = { .c = 0x0fffffeb, .b = 28 },
	[ 15] = { .c = 0x0fffffec, .b = 28 },
	[ 16] = { .c = 0x0fffffed, .b = 28 },
	[ 17] = { .c = 0x0fffffee, .b = 28 },
	[ 18] = { .c = 0x0fffffef, .b = 28 },
	[ 19] = { .c = 0x0ffffff0, .b = 28 },
	[ 20] = { .c = 0x0ffffff1, .b = 28 },
	[ 21] = { .c = 0x0ffffff2, .b = 28 },
	[ 22] = { .c = 0x3ffffffe, .b = 30 },
	[ 23] = { .c = 0x0ffffff3, .b = 28 },
	[ 24] = { .c = 0x0ffffff4, .b = 28 },
	[ 25] = { .c = 0x0ffffff5, .b = 28 },
	[ 26] = { .c = 0x0ffffff6, .b = 28 },
	[ 27] = { .c = 0x0ffffff7, .b = 28 },
	[ 28] = { .c = 0x0ffffff8, .b = 28 },
	[ 29] = { .c = 0x0ffffff9, .b = 28 },
	[ 30] = { .c = 0x0ffffffa, .b = 28 },
	[ 31] = { .c = 0x0ffffffb, .b = 28 },
	[ 32] = { .c = 0x00000014, .b =  6 },
	[ 33] = { .c = 0x000003f8, .b = 10 },
	[ 34] = { .c = 0x000003f9, .b = 10 },
	[ 35] = { .c = 0x00000ffa, .b = 12 },
	[ 36] = { .c = 0x00001ff9, .b = 13 },
	[ 37] = { .c = 0x00000015, .b =  6 },
	[ 38] = { .c = 0x000000f8, .b =  8 },
	[ 39] = { .c = 0x000007fa, .b = 11 },
	[ 40] = { .c = 0x000003fa, .b = 10 },
	[ 41] = { .c = 0x000003fb, .b = 10 },
	[ 42] = { .c = 0x000000f9, .b =  8 },
	[ 43] = { .c = 0x000007fb, .b = 11 },
	[ 44] = { .c = 0x000000fa, .b =  8 },
	[ 45] = { .c = 0x00000016, .b =  6 },
	[ 46] = { .c = 0x00000017, .b =  6 },
	[ 47] = { .c = 0x00000018, .b =  6 },
	[ 48] = { .c = 0x00000000, .b =  5 },
	[ 49] = { .c = 0x00000001, .b =  5 },
	[ 50] = { .c = 0x00000002, .b =  5 },
	[ 51] = { .c = 0x00000019, .b =  6 },
	[ 52] = { .c = 0x0000001a, .b =  6 },
	[ 53] = { .c = 0x0000001b, .b =  6 },
	[ 54] = { .c = 0x0000001c, .b =  6 },
	[ 55] = { .c = 0x0000001d, .b =  6 },
	[ 56] = { .c = 0x0000001e, .b =  6 },
	[ 57] = { .c = 0x0000001f, .b =  6 },
	[ 58] = { .c = 0x0000005c, .b =  7 },
	[ 59] = { .c = 0x000000fb, .b =  8 },
	[ 60] = { .c = 0x00007ffc, .b = 15 },
	[ 61] = { .c = 0x00000020, .b =  6 },
	[ 62] = { .c = 0x00000ffb, .b = 12 },
	[ 63] = { .c = 0x000003fc, .b = 10 },
	[ 64] = { .c = 0x00001ffa, .b = 13 },
	[ 65] = { .c = 0x00000021, .b =  6 },
	[ 66] = { .c = 0x0000005d, .b =  7 },
	[ 67] = { .c = 0x0000005e, .b =  7 },
	[ 68] = { .c = 0x0000005f, .b =  7 },
	[ 69] = { .c = 0x00000060, .b =  7 },
	[ 70] = { .c = 0x00000061, .b =  7 },
	[ 71] = { .c = 0x00000062, .b =  7 },
	[ 72] = { .c = 0x00000063, .b =  7 },
	[ 73] = { .c = 0x00000064, .b =  7 },
	[ 74] = { .c = 0x00000065, .b =  7 },
	[ 75] = { .c = 0x00000066, .b =  7 },
	[ 76] = { .c = 0x00000067, .b =  7 },
	[ 77] = { .c = 0x00000068, .b =  7 },
	[ 78] = { .c = 0x00000069, .b =  7 },
	[ 79] = { .c = 0x0000006a, .b =  7 },
	[ 80] = { .c = 0x0000006b, .b =  7 },
	[ 81] = { .c = 0x0000006c, .b =  7 },
	[ 82] = { .c = 0x0000006d, .b =  7 },
	[ 83] = { .c = 0x0000006e, .b =  7 },
	[ 84] = { .c = 0x0000006f, .b =  7 },
	[ 85] = { .c = 0x00000070, .b =  7 },
	[ 86] = { .c = 0x00000071, .b =  7 },
	[ 87] = { .c = 0x00000072, .b =  7 },
	[ 88] = { .c = 0x000000fc, .b =  8 },
	[ 89] = { .c = 0x00000073, .b =  7 },
	[ 90] = { .c = 0x000000fd, .b =  8 },
	[ 91] = { .c = 0x00001ffb, .b = 13 },
	[ 92] = { .c = 0x0007fff0, .b = 19 },
	[ 93] = { .c = 0x00001ffc, .b = 13 },
	[ 94] = { .c = 0x00003ffc, .b = 14 },
	[ 95] = { .c = 0x00000022, .b =  6 },
	[ 96] = { .c = 0x00007ffd, .b = 15 },
	[ 97] = { .c = 0x00000003, .b =  5 },
	[ 98] = { .c = 0x00000023, .b =  6 },
	[ 99] = { .c = 0x00000004, .b =  5 },
	[100] = { .c = 0x00000024, .b =  6 },
	[101] = { .c = 0x00000005, .b =  5 },
	[102] = { .c = 0x00000025, .b =  6 },
	[103] = { .c = 0x00000026, .b =  6 },
	[104] = { .c = 0x00000027, .b =  6 },
	[105] = { .c = 0x00000006, .b =  5 },
	[106] = { .c = 0x00000074, .b =  7 },
	[107] = { .c = 0x00000075, .b =  7 },
	[108] = { .c = 0x00000028, .b =  6 },
	[109] = { .c = 0x00000029, .b =  6 },
	[110] = { .c = 0x0000002a, .b =  6 },
	[111] = { .c = 0x00000007, .b =  5 },
	[112] = { .c = 0x0000002b, .b =  6 },
	[113] = { .c = 0x00000076, .b =  7 },
	[114] = { .c = 0x0000002c, .b =  6 },
	[115] = { .c = 0x00000008, .b =  5 },
	[116] = { .c = 0x00000009, .b =  5 },
	[117] = { .c = 0x0000002d, .b =  6 },
	[118] = { .c = 0x00000077, .b =  7 },
	[119] = { .c = 0x00000078, .b =  7 },
	[120] = { .c = 0x00000079, .b =  7 },
	[121] = { .c = 0x0000007a, .b =  7 },
	[122] = { .c = 0x0000007b, .b =  7 },
	[123] = { .c = 0x00007ffe, .b = 15 },
	[124] = { .c = 0x000007fc, .b = 11 },
	[125] = { .c = 0x00003ffd, .b = 14 },
	[126] = { .c = 0x00001ffd, .b = 13 },
	[127] = { .c = 0x0ffffffc, .b = 28 },
	[128] = { .c = 0x000fffe6, .b = 20 },
	[129] = { .c = 0x003fffd2, .b = 22 },
	[130] = { .c = 0x000fffe7, .b = 20 },
	[131] = { .c = 0x000fffe8, .b = 20 },
	[132] = { .c = 0x003fffd3, .b = 22 },
	[133] = { .c = 0x003fffd4, .b = 22 },
	[134] = { .c = 0x003fffd5, .b = 22 },
	[135] = { .c = 0x007fffd9, .b = 23 },
	[136] = { .c = 0x003fffd6, .b = 22 },
	[137] = { .c = 0x007fffda, .b = 23 },
	[138] = { .c = 0x007fffdb, .b = 23 },
	[139] = { .c = 0x007fffdc, .b = 23 },
	[140] = { .c = 0x007fffdd, .b = 23 },
	[141] = { .c = 0x007fffde, .b = 23 },
	[142] = { .c = 0x00ffffeb, .b = 24 },
	[143] = { .c = 0x007fffdf, .b = 23 },
	[144] = { .c = 0x00ffffec, .b = 24 },
	[145] = { .c = 0x00ffffed, .b = 24 },
	[146] = { .c = 0x003fffd7, .b = 22 },
	[147] = { .c = 0x007fffe0, .b = 23 },
	[148] = { .c = 0x00ffffee, .b = 24 },
	[149] = { .c = 0x007fffe1, .b = 23 },
	[150] = { .c = 0x007fffe2, .b = 23 },
	[151] = { .c = 0x007fffe3, .b = 23 },
	[152] = { .c = 0x007fffe4, .b = 23 },
	[153] = { .c = 0x001fffdc, .b = 21 },
	[154] = { .c = 0x003fffd8, .b = 22 },
	[155] = { .c = 0x007fffe5, .b = 23 },
	[156] = { .c = 0x003fffd9, .b = 22 },
	[157] = { .c = 0x007fffe6, .b = 23 },
	[158] = { .c = 0x007fffe7, .b = 23 },
	[159] = { .c = 0x00ffffef, .b = 24 },
	[160] = { .c = 0x003fffda, .b = 22 },
	[161] = { .c = 0x001fffdd, .b = 21 },
	[162] = { .c = 0x000fffe9, .b = 20 },
	[163] = { .c = 0x003fffdb, .b = 22 },
	[164] = { .c = 0x003fffdc, .b = 22 },
	[165] = { .c = 0x007fffe8, .b = 23 },
	[166] = { .c = 0x007fffe9, .b = 23 },
	[167] = { .c = 0x001fffde, .b = 21 },
	[168] = { .c = 0x007fffea, .b = 23 },
	[169] = { .c = 0x003fffdd, .b = 22 },
	[170] = { .c = 0x003fffde, .b = 22 },
	[171] = { .c = 0x00fffff0, .b = 24 },
	[172] = { .c = 0x001fffdf, .b = 21 },
	[173] = { .c = 0x003fffdf, .b = 22 },
	[174] = { .c = 0x007fffeb, .b = 23 },
	[175] = { .c = 0x007fffec, .b = 23 },
	[176] = { .c = 0x001fffe0, .b = 21 },
	[177] = { .c = 0x001fffe1, .b = 21 },
	[178] = { .c = 0x003fffe0, .b = 22 },
	[179] = { .c = 0x001fffe2, .b = 21 },
	[180] = { .c = 0x007fffed, .b = 23 },
	[181] = { .c = 0x003fffe1, .b = 22 },
	[182] = { .c = 0x007fffee, .b = 23 },
	[183] = { .c = 0x007fffef, .b = 23 },
	[184] = { .c = 0x000fffea, .b = 20 },
	[185] = { .c = 0x003fffe2, .b = 22 },
	[186] = { .c = 0x003fffe3, .b = 22 },
	[187] = { .c = 0x003fffe4, .b = 22 },
	[188] = { .c = 0x007ffff0, .b = 23 },
	[189] = { .c = 0x003fffe5, .b = 22 },
	[190] = { .c = 0x003fffe6, .b = 22 },
	[191] = { .c = 0x007ffff1, .b = 23 },
	[192] = { .c = 0x03ffffe0, .b = 26 },
	[193] = { .c = 0x03ffffe1, .b = 26 },
	[194] = { .c = 0x000fffeb, .b = 20 },
	[195] = { .c = 0x0007fff1, .b = 19 },
	[196] = { .c = 0x003fffe7, .b = 22 },
	[197] = { .c = 0x007ffff2, .b = 23 },
	[198] = { .c = 0x003fffe8, .b = 22 },
	[199] = { .c = 0x01ffffec, .b = 25 },
	[200] = { .c = 0x03ffffe2, .b = 26 },
	[201] = { .c = 0x03ffffe3, .b = 26 },
	[202] = { .c = 0x03ffffe4, .b = 26 },
	[203] = { .c = 0x07ffffde, .b = 27 },
	[204] = { .c = 0x07ffffdf, .b = 27 },
	[205] = { .c = 0x03ffffe5, .b = 26 },
	[206] = { .c = 0x00fffff1, .b = 24 },
	[207] = { .c = 0x01ffffed, .b = 25 },
	[208] = { .c = 0x0007fff2, .b = 19 },
	[209] = { .c = 0x001fffe3, .b = 21 },
	[210] = { .c = 0x03ffffe6, .b = 26 },
	[211] = { .c = 0x07ffffe0, .b = 27 },
	[212] = { .c = 0x07ffffe1, .b = 27 },
	[213] = { .c = 0x03ffffe7, .b = 26 },
	[214] = { .c = 0x07ffffe2, .b = 27 },
	[215] = { .c = 0x00fffff2, .b = 24 },
	[216] = { .c = 0x001fffe4, .b = 21 },
	[217] = { .c = 0x001fffe5, .b = 21 },
	[218] = { .c = 0x03ffffe8, .b = 26 },
	[219] = { .c = 0x03ffffe9, .b = 26 },
	[220] = { .c = 0x0ffffffd, .b = 28 },
	[221] = { .c = 0x07ffffe3, .b = 27 },
	[222] = { .c = 0x07ffffe4, .b = 27 },
	[223] = { .c = 0x07ffffe5, .b = 27 },
	[224] = { .c = 0x000fffec, .b = 20 },
	[225] = { .c = 0x00fffff3, .b = 24 },
	[226] = { .c = 0x000fffed, .b = 20 },
	[227] = { .c = 0x001fffe6, .b = 21 },
	[228] = { .c = 0x003fffe9, .b = 22 },
	[229] = { .c = 0x001fffe7, .b = 21 },
	[230] = { .c = 0x001fffe8, .b = 21 },
	[231] = { .c = 0x007ffff3, .b = 23 },
	[232] = { .c = 0x003fffea, .b = 22 },
	[233] = { .c = 0x003fffeb, .b = 22 },
	[234] = { .c = 0x01ffffee, .b = 25 },
	[235] = { .c = 0x01ffffef, .b = 25 },
	[236] = { .c = 0x00fffff4, .b = 24 },
	[237] = { .c = 0x00fffff5, .b = 24 },
	[238] = { .c = 0x03ffffea, .b = 26 },
	[239] = { .c = 0x007ffff4, .b = 23 },
	[240] = { .c = 0x03ffffeb, .b = 26 },
	[241] = { .c = 0x07ffffe6, .b = 27 },
	[242] = { .c = 0x03ffffec, .b = 26 },
	[243] = { .c = 0x03ffffed, .b = 26 },
	[244] = { .c = 0x07ffffe7, .b = 27 },
	[245] = { .c = 0x07ffffe8, .b = 27 },
	[246] = { .c = 0x07ffffe9, .b = 27 },
	[247] = { .c = 0x07ffffea, .b = 27 },
	[248] = { .c = 0x07ffffeb, .b = 27 },
	[249] = { .c = 0x0ffffffe, .b = 28 },
	[250] = { .c = 0x07ffffec, .b = 27 },
	[251] = { .c = 0x07ffffed, .b = 27 },
	[252] = { .c = 0x07ffffee, .b = 27 },
	[253] = { .c = 0x07ffffef, .b = 27 },
	[254] = { .c = 0x07fffff0, .b = 27 },
	[255] = { .c = 0x03ffffee, .b = 26 },
	[256] = { .c = 0x3fffffff, .b = 30 }, /* EOS */
};


/* Reversed huffman codes, generated by dev/hpack/gen-rht.c from the table
 * above.
 *
 * The codes are aligned on the MSB since that's how they appear in the stream.
 *
 * Quick summary below of the way the tables work. They're based on how the
 * prefixes are organized, starting from the MSB.
 *
 * These codes fit in a single octet (5 to 8 bits) :
 *   00/5 08/5 10/5 18/5  20/5 28/5 30/5 38/5
 *   40/5 48/5
 *
 *   50/6 54/6 58/6 5c/6  60/6 64/6 68/6 6c/6
 *   70/6 74/6 78/6 7c/6  80/6 84/6 88/6 8c/6
 *   90/6 94/6 98/6 9c/6  a0/6 a4/6 a8/6 ac/6
 *   b0/6 b4/6
 *
 *   b8/7 ba/7 bc/7 be/7  c0/7 c2/7 c4/7 c6/7
 *   c8/7 ca/7 cc/7 ce/7  d0/7 d2/7 d4/7 d6/7
 *   d8/7 da/7 dc/7 de/7  e0/7 e2/7 e4/7 e6/7
 *   e8/7 ea/7 ec/7 ee/7  f0/7 f2/7 f4/7 f6/7
 *
 *   f8/8 f9/8 fa/8 fb/8  fc/8 fd/8
 *
 * ==> a single 256-symbol table based on the full byte provides a direct
 *     access and the bit count
 *
 * These codes fit in two octets (10 to 15 bits, neither 9 nor 16 bits code) :
 *
 * fe + 2 bits:
 *   00/2 40/2 80/2 c0/2
 *
 * ff + 2..7 bits :
 *   00/2
 *   40/3 60/3 80/3
 *   a0/4 b0/4
 *   c0/5 c8/5 d0/5 d8/5  e0/5 e8/5
 *   f0/6 f4/6
 *   f8/7 fa/7 fc/7
 *
 *  ==> a single 256-symbol table made of b0.0 and b1.7-1 provides a direct
 *      access and the bit count after a miss on the first one above.
 *
 * These ones fit in three octets :
 * ff fe + 3..5 bits :
 *   00/3 20/3 40/3 60/4  70/4 80/4 90/4 a0/4
 *   b0/4 c0/4 d0/4
 *   e0/5 e8/5 f0/5 f8/5
 *
 * ff ff + 5..8 bits :
 *   00/5 08/5 10/5 18/5  20/5 28/5 30/5 38/5
 *   40/5
 *   48/6 4c/6 50/6 54/6  58/6 5c/6 60/6 64/6
 *   68/6 6c/6 70/6 74/6  78/6 7c/6 80/6 84/6
 *   88/6 8c/6 90/6 94/6  98/6 9c/6 a0/6 a4/6
 *   a8/6 ac/6
 *   b0/7 b2/7 b4/7 b6/7  b8/7 ba/7 bc/7 be/7
 *   c0/7 c2/7 c4/7 c6/7  c8/7 ca/7 cc/7 ce/7
 *   d0/7 d2/7 d4/7 d6/7  d8/7 da/7 dc/7 de/7
 *   e0/7 e2/7 e4/7 e6/7  e8/7
 *   ea/8 eb/8 ec/8 ed/8  ee/8 ef/8 f0/8 f1/8
 *   f2/8 f3/8 f4/8 f5/8
 *
 * ==> a 32-symbol table has to be applied to 0xfffe
 * ==> a 256-symbol table has to be applied to 0xffff
 *
 * The other ones fit in four octets with 1 to 6 bits in the last one :
 * ff ff f6 :  00/1 80/1
 * ff ff f7 :  00/1 80/1
 * ff ff f8 :  00/2 40/2 80/2 c0/2
 * ff ff f9 :  00/2 40/2 80/2 c0/2
 * ff ff fa :  00/2 40/2 80/2 c0/2
 * ff ff fb :  00/2 40/2 80/2
 * ff ff fb :  c0/3 e0/3
 * ff ff fc :  00/3 20/3 40/3 60/3 80/3 a0/3 c0/3 e0/3
 * ff ff fd :  00/3 20/3 40/3 60/3 80/3 a0/3 c0/3 e0/3
 * ff ff fe :  00/3
 * ff ff fe :  20/4 30/4 40/4 50/4 60/4 70/4 80/4 90/4 a0/4 b0/4 c0/4 d0/4 e0/4 f0/4
 * ff ff ff :  00/4 10/4 20/4 30/4 40/4 50/4 60/4 70/4 80/4 90/4 a0/4 b0/4 c0/4 d0/4 e0/4
 * ff ff ff :  f0/6 f4/6 f8/6 fc/6
 *
 * ==> a 256-symbol table with b2.0-3,b3.7-4 gives all of them except the
 *     distinction between ffffff{f0,f4,f8,fc} which is rare enough
 *     and can be done by hand when bit count == 30.
 *
 *
 * Code lengths :
 *   5..8 : 0x00..0xfe
 *   10..15 : 0xfe
 *            0xff 0x00..0xfe
 *   19..20 : 0xff 0xfe 0x00..0xdf
 *   21     : 0xff 0xfe 0xe0..0xff
 *   21     : 0xff 0xff 0x00..0x40
 *   22..24 : 0xff 0xff 0x00..0xf5
 *   24..28 : 0xff 0xff 0xf5..0xff
 *   30     : 0xff 0xff 0xff 0xf0..0xff
 *
 *
 * if b0  < 0xfe ==> 5..8 bits (74 codes)
 * if b0 == 0xfe or 0xff : 10..15
 *    => if b0 == 0xfe || b1 < 0xfe : lookup (b0:0|b1:7..1)  (21 codes)
 *
 * -- b0 = 0xff --
 * if b1 == 0xfe : 19..21 bits
 *    => lookup b2:7..3 (15 codes)
 *
 * -- b0 = 0xff, b1 = 0xff : 147 codes --
 * if b2  < 0xf6 : 21..24 bits (76 codes)
 * if b2 >= 0xf6 : 25..30 bits (71 codes)
 *
 * Algorithm:
 *   - if > 24 and < 32, read missing bits.
 *   - if less than 24 bits, read 1 byte. If past end, insert 0xff instead.
 *   - if b0 < 0xfe lookup b0 in table0[0..255]
 *   - else if b0 == 0xfe, manual lookup
 *   - else if b0 == 0xff, lookup b1 in table1[0..255]
 * ...
 */

struct rht rht_bit31_24[256] = {
	[0x00] = { .c = 0x30, .l = 5 },
	[0x01] = { .c = 0x30, .l = 5 },
	[0x02] = { .c = 0x30, .l = 5 },
	[0x03] = { .c = 0x30, .l = 5 },
	[0x04] = { .c = 0x30, .l = 5 },
	[0x05] = { .c = 0x30, .l = 5 },
	[0x06] = { .c = 0x30, .l = 5 },
	[0x07] = { .c = 0x30, .l = 5 },
	[0x08] = { .c = 0x31, .l = 5 },
	[0x09] = { .c = 0x31, .l = 5 },
	[0x0a] = { .c = 0x31, .l = 5 },
	[0x0b] = { .c = 0x31, .l = 5 },
	[0x0c] = { .c = 0x31, .l = 5 },
	[0x0d] = { .c = 0x31, .l = 5 },
	[0x0e] = { .c = 0x31, .l = 5 },
	[0x0f] = { .c = 0x31, .l = 5 },
	[0x10] = { .c = 0x32, .l = 5 },
	[0x11] = { .c = 0x32, .l = 5 },
	[0x12] = { .c = 0x32, .l = 5 },
	[0x13] = { .c = 0x32, .l = 5 },
	[0x14] = { .c = 0x32, .l = 5 },
	[0x15] = { .c = 0x32, .l = 5 },
	[0x16] = { .c = 0x32, .l = 5 },
	[0x17] = { .c = 0x32, .l = 5 },
	[0x18] = { .c = 0x61, .l = 5 },
	[0x19] = { .c = 0x61, .l = 5 },
	[0x1a] = { .c = 0x61, .l = 5 },
	[0x1b] = { .c = 0x61, .l = 5 },
	[0x1c] = { .c = 0x61, .l = 5 },
	[0x1d] = { .c = 0x61, .l = 5 },
	[0x1e] = { .c = 0x61, .l = 5 },
	[0x1f] = { .c = 0x61, .l = 5 },
	[0x20] = { .c = 0x63, .l = 5 },
	[0x21] = { .c = 0x63, .l = 5 },
	[0x22] = { .c = 0x63, .l = 5 },
	[0x23] = { .c = 0x63, .l = 5 },
	[0x24] = { .c = 0x63, .l = 5 },
	[0x25] = { .c = 0x63, .l = 5 },
	[0x26] = { .c = 0x63, .l = 5 },
	[0x27] = { .c = 0x63, .l = 5 },
	[0x28] = { .c = 0x65, .l = 5 },
	[0x29] = { .c = 0x65, .l = 5 },
	[0x2a] = { .c = 0x65, .l = 5 },
	[0x2b] = { .c = 0x65, .l = 5 },
	[0x2c] = { .c = 0x65, .l = 5 },
	[0x2d] = { .c = 0x65, .l = 5 },
	[0x2e] = { .c = 0x65, .l = 5 },
	[0x2f] = { .c = 0x65, .l = 5 },
	[0x30] = { .c = 0x69, .l = 5 },
	[0x31] = { .c = 0x69, .l = 5 },
	[0x32] = { .c = 0x69, .l = 5 },
	[0x33] = { .c = 0x69, .l = 5 },
	[0x34] = { .c = 0x69, .l = 5 },
	[0x35] = { .c = 0x69, .l = 5 },
	[0x36] = { .c = 0x69, .l = 5 },
	[0x37] = { .c = 0x69, .l = 5 },
	[0x38] = { .c = 0x6f, .l = 5 },
	[0x39] = { .c = 0x6f, .l = 5 },
	[0x3a] = { .c = 0x6f, .l = 5 },
	[0x3b] = { .c = 0x6f, .l = 5 },
	[0x3c] = { .c = 0x6f, .l = 5 },
	[0x3d] = { .c = 0x6f, .l = 5 },
	[0x3e] = { .c = 0x6f, .l = 5 },
	[0x3f] = { .c = 0x6f, .l = 5 },
	[0x40] = { .c = 0x73, .l = 5 },
	[0x41] = { .c = 0x73, .l = 5 },
	[0x42] = { .c = 0x73, .l = 5 },
	[0x43] = { .c = 0x73, .l = 5 },
	[0x44] = { .c = 0x73, .l = 5 },
	[0x45] = { .c = 0x73, .l = 5 },
	[0x46] = { .c = 0x73, .l = 5 },
	[0x47] = { .c = 0x73, .l = 5 },
	[0x48] = { .c = 0x74, .l = 5 },
	[0x49] = { .c = 0x74, .l = 5 },
	[0x4a] = { .c = 0x74, .l = 5 },
	[0x4b] = { .c = 0x74, .l = 5 },
	[0x4c] = { .c = 0x74, .l = 5 },
	[0x4d] = { .c = 0x74, .l = 5 },
	[0x4e] = { .c = 0x74, .l = 5 },
	[0x4f] = { .c = 0x74, .l = 5 },
	[0x50] = { .c = 0x20, .l = 6 },
	[0x51] = { .c = 0x20, .l = 6 },
	[0x52] = { .c = 0x20, .l = 6 },
	[0x53] = { .c = 0x20, .l = 6 },
	[0x54] = { .c = 0x25, .l = 6 },
	[0x55] = { .c = 0x25, .l = 6 },
	[0x56] = { .c = 0x25, .l = 6 },
	[0x57] = { .c = 0x25, .l = 6 },
	[0x58] = { .c = 0x2d, .l = 6 },
	[0x59] = { .c = 0x2d, .l = 6 },
	[0x5a] = { .c = 0x2d, .l = 6 },
	[0x5b] = { .c = 0x2d, .l = 6 },
	[0x5c] = { .c = 0x2e, .l = 6 },
	[0x5d] = { .c = 0x2e, .l = 6 },
	[0x5e] = { .c = 0x2e, .l = 6 },
	[0x5f] = { .c = 0x2e, .l = 6 },
	[0x60] = { .c = 0x2f, .l = 6 },
	[0x61] = { .c = 0x2f, .l = 6 },
	[0x62] = { .c = 0x2f, .l = 6 },
	[0x63] = { .c = 0x2f, .l = 6 },
	[0x64] = { .c = 0x33, .l = 6 },
	[0x65] = { .c = 0x33, .l = 6 },
	[0x66] = { .c = 0x33, .l = 6 },
	[0x67] = { .c = 0x33, .l = 6 },
	[0x68] = { .c = 0x34, .l = 6 },
	[0x69] = { .c = 0x34, .l = 6 },
	[0x6a] = { .c = 0x34, .l = 6 },
	[0x6b] = { .c = 0x34, .l = 6 },
	[0x6c] = { .c = 0x35, .l = 6 },
	[0x6d] = { .c = 0x35, .l = 6 },
	[0x6e] = { .c = 0x35, .l = 6 },
	[0x6f] = { .c = 0x35, .l = 6 },
	[0x70] = { .c = 0x36, .l = 6 },
	[0x71] = { .c = 0x36, .l = 6 },
	[0x72] = { .c = 0x36, .l = 6 },
	[0x73] = { .c = 0x36, .l = 6 },
	[0x74] = { .c = 0x37, .l = 6 },
	[0x75] = { .c = 0x37, .l = 6 },
	[0x76] = { .c = 0x37, .l = 6 },
	[0x77] = { .c = 0x37, .l = 6 },
	[0x78] = { .c = 0x38, .l = 6 },
	[0x79] = { .c = 0x38, .l = 6 },
	[0x7a] = { .c = 0x38, .l = 6 },
	[0x7b] = { .c = 0x38, .l = 6 },
	[0x7c] = { .c = 0x39, .l = 6 },
	[0x7d] = { .c = 0x39, .l = 6 },
	[0x7e] = { .c = 0x39, .l = 6 },
	[0x7f] = { .c = 0x39, .l = 6 },
	[0x80] = { .c = 0x3d, .l = 6 },
	[0x81] = { .c = 0x3d, .l = 6 },
	[0x82] = { .c = 0x3d, .l = 6 },
	[0x83] = { .c = 0x3d, .l = 6 },
	[0x84] = { .c = 0x41, .l = 6 },
	[0x85] = { .c = 0x41, .l = 6 },
	[0x86] = { .c = 0x41, .l = 6 },
	[0x87] = { .c = 0x41, .l = 6 },
	[0x88] = { .c = 0x5f, .l = 6 },
	[0x89] = { .c = 0x5f, .l = 6 },
	[0x8a] = { .c = 0x5f, .l = 6 },
	[0x8b] = { .c = 0x5f, .l = 6 },
	[0x8c] = { .c = 0x62, .l = 6 },
	[0x8d] = { .c = 0x62, .l = 6 },
	[0x8e] = { .c = 0x62, .l = 6 },
	[0x8f] = { .c = 0x62, .l = 6 },
	[0x90] = { .c = 0x64, .l = 6 },
	[0x91] = { .c = 0x64, .l = 6 },
	[0x92] = { .c = 0x64, .l = 6 },
	[0x93] = { .c = 0x64, .l = 6 },
	[0x94] = { .c = 0x66, .l = 6 },
	[0x95] = { .c = 0x66, .l = 6 },
	[0x96] = { .c = 0x66, .l = 6 },
	[0x97] = { .c = 0x66, .l = 6 },
	[0x98] = { .c = 0x67, .l = 6 },
	[0x99] = { .c = 0x67, .l = 6 },
	[0x9a] = { .c = 0x67, .l = 6 },
	[0x9b] = { .c = 0x67, .l = 6 },
	[0x9c] = { .c = 0x68, .l = 6 },
	[0x9d] = { .c = 0x68, .l = 6 },
	[0x9e] = { .c = 0x68, .l = 6 },
	[0x9f] = { .c = 0x68, .l = 6 },
	[0xa0] = { .c = 0x6c, .l = 6 },
	[0xa1] = { .c = 0x6c, .l = 6 },
	[0xa2] = { .c = 0x6c, .l = 6 },
	[0xa3] = { .c = 0x6c, .l = 6 },
	[0xa4] = { .c = 0x6d, .l = 6 },
	[0xa5] = { .c = 0x6d, .l = 6 },
	[0xa6] = { .c = 0x6d, .l = 6 },
	[0xa7] = { .c = 0x6d, .l = 6 },
	[0xa8] = { .c = 0x6e, .l = 6 },
	[0xa9] = { .c = 0x6e, .l = 6 },
	[0xaa] = { .c = 0x6e, .l = 6 },
	[0xab] = { .c = 0x6e, .l = 6 },
	[0xac] = { .c = 0x70, .l = 6 },
	[0xad] = { .c = 0x70, .l = 6 },
	[0xae] = { .c = 0x70, .l = 6 },
	[0xaf] = { .c = 0x70, .l = 6 },
	[0xb0] = { .c = 0x72, .l = 6 },
	[0xb1] = { .c = 0x72, .l = 6 },
	[0xb2] = { .c = 0x72, .l = 6 },
	[0xb3] = { .c = 0x72, .l = 6 },
	[0xb4] = { .c = 0x75, .l = 6 },
	[0xb5] = { .c = 0x75, .l = 6 },
	[0xb6] = { .c = 0x75, .l = 6 },
	[0xb7] = { .c = 0x75, .l = 6 },
	[0xb8] = { .c = 0x3a, .l = 7 },
	[0xb9] = { .c = 0x3a, .l = 7 },
	[0xba] = { .c = 0x42, .l = 7 },
	[0xbb] = { .c = 0x42, .l = 7 },
	[0xbc] = { .c = 0x43, .l = 7 },
	[0xbd] = { .c = 0x43, .l = 7 },
	[0xbe] = { .c = 0x44, .l = 7 },
	[0xbf] = { .c = 0x44, .l = 7 },
	[0xc0] = { .c = 0x45, .l = 7 },
	[0xc1] = { .c = 0x45, .l = 7 },
	[0xc2] = { .c = 0x46, .l = 7 },
	[0xc3] = { .c = 0x46, .l = 7 },
	[0xc4] = { .c = 0x47, .l = 7 },
	[0xc5] = { .c = 0x47, .l = 7 },
	[0xc6] = { .c = 0x48, .l = 7 },
	[0xc7] = { .c = 0x48, .l = 7 },
	[0xc8] = { .c = 0x49, .l = 7 },
	[0xc9] = { .c = 0x49, .l = 7 },
	[0xca] = { .c = 0x4a, .l = 7 },
	[0xcb] = { .c = 0x4a, .l = 7 },
	[0xcc] = { .c = 0x4b, .l = 7 },
	[0xcd] = { .c = 0x4b, .l = 7 },
	[0xce] = { .c = 0x4c, .l = 7 },
	[0xcf] = { .c = 0x4c, .l = 7 },
	[0xd0] = { .c = 0x4d, .l = 7 },
	[0xd1] = { .c = 0x4d, .l = 7 },
	[0xd2] = { .c = 0x4e, .l = 7 },
	[0xd3] = { .c = 0x4e, .l = 7 },
	[0xd4] = { .c = 0x4f, .l = 7 },
	[0xd5] = { .c = 0x4f, .l = 7 },
	[0xd6] = { .c = 0x50, .l = 7 },
	[0xd7] = { .c = 0x50, .l = 7 },
	[0xd8] = { .c = 0x51, .l = 7 },
	[0xd9] = { .c = 0x51, .l = 7 },
	[0xda] = { .c = 0x52, .l = 7 },
	[0xdb] = { .c = 0x52, .l = 7 },
	[0xdc] = { .c = 0x53, .l = 7 },
	[0xdd] = { .c = 0x53, .l = 7 },
	[0xde] = { .c = 0x54, .l = 7 },
	[0xdf] = { .c = 0x54, .l = 7 },
	[0xe0] = { .c = 0x55, .l = 7 },
	[0xe1] = { .c = 0x55, .l = 7 },
	[0xe2] = { .c = 0x56, .l = 7 },
	[0xe3] = { .c = 0x56, .l = 7 },
	[0xe4] = { .c = 0x57, .l = 7 },
	[0xe5] = { .c = 0x57, .l = 7 },
	[0xe6] = { .c = 0x59, .l = 7 },
	[0xe7] = { .c = 0x59, .l = 7 },
	[0xe8] = { .c = 0x6a, .l = 7 },
	[0xe9] = { .c = 0x6a, .l = 7 },
	[0xea] = { .c = 0x6b, .l = 7 },
	[0xeb] = { .c = 0x6b, .l = 7 },
	[0xec] = { .c = 0x71, .l = 7 },
	[0xed] = { .c = 0x71, .l = 7 },
	[0xee] = { .c = 0x76, .l = 7 },
	[0xef] = { .c = 0x76, .l = 7 },
	[0xf0] = { .c = 0x77, .l = 7 },
	[0xf1] = { .c = 0x77, .l = 7 },
	[0xf2] = { .c = 0x78, .l = 7 },
	[0xf3] = { .c = 0x78, .l = 7 },
	[0xf4] = { .c = 0x79, .l = 7 },
	[0xf5] = { .c = 0x79, .l = 7 },
	[0xf6] = { .c = 0x7a, .l = 7 },
	[0xf7] = { .c = 0x7a, .l = 7 },
	[0xf8] = { .c = 0x26, .l = 8 },
	[0xf9] = { .c = 0x2a, .l = 8 },
	[0xfa] = { .c = 0x2c, .l = 8 },
	[0xfb] = { .c = 0x3b, .l = 8 },
	[0xfc] = { .c = 0x58, .l = 8 },
	[0xfd] = { .c = 0x5a, .l = 8 },
};

struct rht rht_bit24_17[256] = {
	[0x00] = { .c = 0x21, .l = 10 },
	[0x01] = { .c = 0x21, .l = 10 },
	[0x02] = { .c = 0x21, .l = 10 },
	[0x03] = { .c = 0x21, .l = 10 },
	[0x04] = { .c = 0x21, .l = 10 },
	[0x05] = { .c = 0x21, .l = 10 },
	[0x06] = { .c = 0x21, .l = 10 },
	[0x07] = { .c = 0x21, .l = 10 },
	[0x08] = { .c = 0x21, .l = 10 },
	[0x09] = { .c = 0x21, .l = 10 },
	[0x0a] = { .c = 0x21, .l = 10 },
	[0x0b] = { .c = 0x21, .l = 10 },
	[0x0c] = { .c = 0x21, .l = 10 },
	[0x0d] = { .c = 0x21, .l = 10 },
	[0x0e] = { .c = 0x21, .l = 10 },
	[0x0f] = { .c = 0x21, .l = 10 },
	[0x10] = { .c = 0x21, .l = 10 },
	[0x11] = { .c = 0x21, .l = 10 },
	[0x12] = { .c = 0x21, .l = 10 },
	[0x13] = { .c = 0x21, .l = 10 },
	[0x14] = { .c = 0x21, .l = 10 },
	[0x15] = { .c = 0x21, .l = 10 },
	[0x16] = { .c = 0x21, .l = 10 },
	[0x17] = { .c = 0x21, .l = 10 },
	[0x18] = { .c = 0x21, .l = 10 },
	[0x19] = { .c = 0x21, .l = 10 },
	[0x1a] = { .c = 0x21, .l = 10 },
	[0x1b] = { .c = 0x21, .l = 10 },
	[0x1c] = { .c = 0x21, .l = 10 },
	[0x1d] = { .c = 0x21, .l = 10 },
	[0x1e] = { .c = 0x21, .l = 10 },
	[0x1f] = { .c = 0x21, .l = 10 },
	[0x20] = { .c = 0x22, .l = 10 },
	[0x21] = { .c = 0x22, .l = 10 },
	[0x22] = { .c = 0x22, .l = 10 },
	[0x23] = { .c = 0x22, .l = 10 },
	[0x24] = { .c = 0x22, .l = 10 },
	[0x25] = { .c = 0x22, .l = 10 },
	[0x26] = { .c = 0x22, .l = 10 },
	[0x27] = { .c = 0x22, .l = 10 },
	[0x28] = { .c = 0x22, .l = 10 },
	[0x29] = { .c = 0x22, .l = 10 },
	[0x2a] = { .c = 0x22, .l = 10 },
	[0x2b] = { .c = 0x22, .l = 10 },
	[0x2c] = { .c = 0x22, .l = 10 },
	[0x2d] = { .c = 0x22, .l = 10 },
	[0x2e] = { .c = 0x22, .l = 10 },
	[0x2f] = { .c = 0x22, .l = 10 },
	[0x30] = { .c = 0x22, .l = 10 },
	[0x31] = { .c = 0x22, .l = 10 },
	[0x32] = { .c = 0x22, .l = 10 },
	[0x33] = { .c = 0x22, .l = 10 },
	[0x34] = { .c = 0x22, .l = 10 },
	[0x35] = { .c = 0x22, .l = 10 },
	[0x36] = { .c = 0x22, .l = 10 },
	[0x37] = { .c = 0x22, .l = 10 },
	[0x38] = { .c = 0x22, .l = 10 },
	[0x39] = { .c = 0x22, .l = 10 },
	[0x3a] = { .c = 0x22, .l = 10 },
	[0x3b] = { .c = 0x22, .l = 10 },
	[0x3c] = { .c = 0x22, .l = 10 },
	[0x3d] = { .c = 0x22, .l = 10 },
	[0x3e] = { .c = 0x22, .l = 10 },
	[0x3f] = { .c = 0x22, .l = 10 },
	[0x40] = { .c = 0x28, .l = 10 },
	[0x41] = { .c = 0x28, .l = 10 },
	[0x42] = { .c = 0x28, .l = 10 },
	[0x43] = { .c = 0x28, .l = 10 },
	[0x44] = { .c = 0x28, .l = 10 },
	[0x45] = { .c = 0x28, .l = 10 },
	[0x46] = { .c = 0x28, .l = 10 },
	[0x47] = { .c = 0x28, .l = 10 },
	[0x48] = { .c = 0x28, .l = 10 },
	[0x49] = { .c = 0x28, .l = 10 },
	[0x4a] = { .c = 0x28, .l = 10 },
	[0x4b] = { .c = 0x28, .l = 10 },
	[0x4c] = { .c = 0x28, .l = 10 },
	[0x4d] = { .c = 0x28, .l = 10 },
	[0x4e] = { .c = 0x28, .l = 10 },
	[0x4f] = { .c = 0x28, .l = 10 },
	[0x50] = { .c = 0x28, .l = 10 },
	[0x51] = { .c = 0x28, .l = 10 },
	[0x52] = { .c = 0x28, .l = 10 },
	[0x53] = { .c = 0x28, .l = 10 },
	[0x54] = { .c = 0x28, .l = 10 },
	[0x55] = { .c = 0x28, .l = 10 },
	[0x56] = { .c = 0x28, .l = 10 },
	[0x57] = { .c = 0x28, .l = 10 },
	[0x58] = { .c = 0x28, .l = 10 },
	[0x59] = { .c = 0x28, .l = 10 },
	[0x5a] = { .c = 0x28, .l = 10 },
	[0x5b] = { .c = 0x28, .l = 10 },
	[0x5c] = { .c = 0x28, .l = 10 },
	[0x5d] = { .c = 0x28, .l = 10 },
	[0x5e] = { .c = 0x28, .l = 10 },
	[0x5f] = { .c = 0x28, .l = 10 },
	[0x60] = { .c = 0x29, .l = 10 },
	[0x61] = { .c = 0x29, .l = 10 },
	[0x62] = { .c = 0x29, .l = 10 },
	[0x63] = { .c = 0x29, .l = 10 },
	[0x64] = { .c = 0x29, .l = 10 },
	[0x65] = { .c = 0x29, .l = 10 },
	[0x66] = { .c = 0x29, .l = 10 },
	[0x67] = { .c = 0x29, .l = 10 },
	[0x68] = { .c = 0x29, .l = 10 },
	[0x69] = { .c = 0x29, .l = 10 },
	[0x6a] = { .c = 0x29, .l = 10 },
	[0x6b] = { .c = 0x29, .l = 10 },
	[0x6c] = { .c = 0x29, .l = 10 },
	[0x6d] = { .c = 0x29, .l = 10 },
	[0x6e] = { .c = 0x29, .l = 10 },
	[0x6f] = { .c = 0x29, .l = 10 },
	[0x70] = { .c = 0x29, .l = 10 },
	[0x71] = { .c = 0x29, .l = 10 },
	[0x72] = { .c = 0x29, .l = 10 },
	[0x73] = { .c = 0x29, .l = 10 },
	[0x74] = { .c = 0x29, .l = 10 },
	[0x75] = { .c = 0x29, .l = 10 },
	[0x76] = { .c = 0x29, .l = 10 },
	[0x77] = { .c = 0x29, .l = 10 },
	[0x78] = { .c = 0x29, .l = 10 },
	[0x79] = { .c = 0x29, .l = 10 },
	[0x7a] = { .c = 0x29, .l = 10 },
	[0x7b] = { .c = 0x29, .l = 10 },
	[0x7c] = { .c = 0x29, .l = 10 },
	[0x7d] = { .c = 0x29, .l = 10 },
	[0x7e] = { .c = 0x29, .l = 10 },
	[0x7f] = { .c = 0x29, .l = 10 },
	[0x80] = { .c = 0x3f, .l = 10 },
	[0x81] = { .c = 0x3f, .l = 10 },
	[0x82] = { .c = 0x3f, .l = 10 },
	[0x83] = { .c = 0x3f, .l = 10 },
	[0x84] = { .c = 0x3f, .l = 10 },
	[0x85] = { .c = 0x3f, .l = 10 },
	[0x86] = { .c = 0x3f, .l = 10 },
	[0x87] = { .c = 0x3f, .l = 10 },
	[0x88] = { .c = 0x3f, .l = 10 },
	[0x89] = { .c = 0x3f, .l = 10 },
	[0x8a] = { .c = 0x3f, .l = 10 },
	[0x8b] = { .c = 0x3f, .l = 10 },
	[0x8c] = { .c = 0x3f, .l = 10 },
	[0x8d] = { .c = 0x3f, .l = 10 },
	[0x8e] = { .c = 0x3f, .l = 10 },
	[0x8f] = { .c = 0x3f, .l = 10 },
	[0x90] = { .c = 0x3f, .l = 10 },
	[0x91] = { .c = 0x3f, .l = 10 },
	[0x92] = { .c = 0x3f, .l = 10 },
	[0x93] = { .c = 0x3f, .l = 10 },
	[0x94] = { .c = 0x3f, .l = 10 },
	[0x95] = { .c = 0x3f, .l = 10 },
	[0x96] = { .c = 0x3f, .l = 10 },
	[0x97] = { .c = 0x3f, .l = 10 },
	[0x98] = { .c = 0x3f, .l = 10 },
	[0x99] = { .c = 0x3f, .l = 10 },
	[0x9a] = { .c = 0x3f, .l = 10 },
	[0x9b] = { .c = 0x3f, .l = 10 },
	[0x9c] = { .c = 0x3f, .l = 10 },
	[0x9d] = { .c = 0x3f, .l = 10 },
	[0x9e] = { .c = 0x3f, .l = 10 },
	[0x9f] = { .c = 0x3f, .l = 10 },
	[0xa0] = { .c = 0x27, .l = 11 },
	[0xa1] = { .c = 0x27, .l = 11 },
	[0xa2] = { .c = 0x27, .l = 11 },
	[0xa3] = { .c = 0x27, .l = 11 },
	[0xa4] = { .c = 0x27, .l = 11 },
	[0xa5] = { .c = 0x27, .l = 11 },
	[0xa6] = { .c = 0x27, .l = 11 },
	[0xa7] = { .c = 0x27, .l = 11 },
	[0xa8] = { .c = 0x27, .l = 11 },
	[0xa9] = { .c = 0x27, .l = 11 },
	[0xaa] = { .c = 0x27, .l = 11 },
	[0xab] = { .c = 0x27, .l = 11 },
	[0xac] = { .c = 0x27, .l = 11 },
	[0xad] = { .c = 0x27, .l = 11 },
	[0xae] = { .c = 0x27, .l = 11 },
	[0xaf] = { .c = 0x27, .l = 11 },
	[0xb0] = { .c = 0x2b, .l = 11 },
	[0xb1] = { .c = 0x2b, .l = 11 },
	[0xb2] = { .c = 0x2b, .l = 11 },
	[0xb3] = { .c = 0x2b, .l = 11 },
	[0xb4] = { .c = 0x2b, .l = 11 },
	[0xb5] = { .c = 0x2b, .l = 11 },
	[0xb6] = { .c = 0x2b, .l = 11 },
	[0xb7] = { .c = 0x2b, .l = 11 },
	[0xb8] = { .c = 0x2b, .l = 11 },
	[0xb9] = { .c = 0x2b, .l = 11 },
	[0xba] = { .c = 0x2b, .l = 11 },
	[0xbb] = { .c = 0x2b, .l = 11 },
	[0xbc] = { .c = 0x2b, .l = 11 },
	[0xbd] = { .c = 0x2b, .l = 11 },
	[0xbe] = { .c = 0x2b, .l = 11 },
	[0xbf] = { .c = 0x2b, .l = 11 },
	[0xc0] = { .c = 0x7c, .l = 11 },
	[0xc1] = { .c = 0x7c, .l = 11 },
	[0xc2] = { .c = 0x7c, .l = 11 },
	[0xc3] = { .c = 0x7c, .l = 11 },
	[0xc4] = { .c = 0x7c, .l = 11 },
	[0xc5] = { .c = 0x7c, .l = 11 },
	[0xc6] = { .c = 0x7c, .l = 11 },
	[0xc7] = { .c = 0x7c, .l = 11 },
	[0xc8] = { .c = 0x7c, .l = 11 },
	[0xc9] = { .c = 0x7c, .l = 11 },
	[0xca] = { .c = 0x7c, .l = 11 },
	[0xcb] = { .c = 0x7c, .l = 11 },
	[0xcc] = { .c = 0x7c, .l = 11 },
	[0xcd] = { .c = 0x7c, .l = 11 },
	[0xce] = { .c = 0x7c, .l = 11 },
	[0xcf] = { .c = 0x7c, .l = 11 },
	[0xd0] = { .c = 0x23, .l = 12 },
	[0xd1] = { .c = 0x23, .l = 12 },
	[0xd2] = { .c = 0x23, .l = 12 },
	[0xd3] = { .c = 0x23, .l = 12 },
	[0xd4] = { .c = 0x23, .l = 12 },
	[0xd5] = { .c = 0x23, .l = 12 },
	[0xd6] = { .c = 0x23, .l = 12 },
	[0xd7] = { .c = 0x23, .l = 12 },
	[0xd8] = { .c = 0x3e, .l = 12 },
	[0xd9] = { .c = 0x3e, .l = 12 },
	[0xda] = { .c = 0x3e, .l = 12 },
	[0xdb] = { .c = 0x3e, .l = 12 },
	[0xdc] = { .c = 0x3e, .l = 12 },
	[0xdd] = { .c = 0x3e, .l = 12 },
	[0xde] = { .c = 0x3e, .l = 12 },
	[0xdf] = { .c = 0x3e, .l = 12 },
	[0xe0] = { .c = 0x00, .l = 13 },
	[0xe1] = { .c = 0x00, .l = 13 },
	[0xe2] = { .c = 0x00, .l = 13 },
	[0xe3] = { .c = 0x00, .l = 13 },
	[0xe4] = { .c = 0x24, .l = 13 },
	[0xe5] = { .c = 0x24, .l = 13 },
	[0xe6] = { .c = 0x24, .l = 13 },
	[0xe7] = { .c = 0x24, .l = 13 },
	[0xe8] = { .c = 0x40, .l = 13 },
	[0xe9] = { .c = 0x40, .l = 13 },
	[0xea] = { .c = 0x40, .l = 13 },
	[0xeb] = { .c = 0x40, .l = 13 },
	[0xec] = { .c = 0x5b, .l = 13 },
	[0xed] = { .c = 0x5b, .l = 13 },
	[0xee] = { .c = 0x5b, .l = 13 },
	[0xef] = { .c = 0x5b, .l = 13 },
	[0xf0] = { .c = 0x5d, .l = 13 },
	[0xf1] = { .c = 0x5d, .l = 13 },
	[0xf2] = { .c = 0x5d, .l = 13 },
	[0xf3] = { .c = 0x5d, .l = 13 },
	[0xf4] = { .c = 0x7e, .l = 13 },
	[0xf5] = { .c = 0x7e, .l = 13 },
	[0xf6] = { .c = 0x7e, .l = 13 },
	[0xf7] = { .c = 0x7e, .l = 13 },
	[0xf8] = { .c = 0x5e, .l = 14 },
	[0xf9] = { .c = 0x5e, .l = 14 },
	[0xfa] = { .c = 0x7d, .l = 14 },
	[0xfb] = { .c = 0x7d, .l = 14 },
	[0xfc] = { .c = 0x3c, .l = 15 },
	[0xfd] = { .c = 0x60, .l = 15 },
	[0xfe] = { .c = 0x7b, .l = 15 },
};

struct rht rht_bit15_11_fe[32] = {
	[0x00] = { .c = 0x5c, .l = 19 },
	[0x01] = { .c = 0x5c, .l = 19 },
	[0x02] = { .c = 0x5c, .l = 19 },
	[0x03] = { .c = 0x5c, .l = 19 },
	[0x04] = { .c = 0xc3, .l = 19 },
	[0x05] = { .c = 0xc3, .l = 19 },
	[0x06] = { .c = 0xc3, .l = 19 },
	[0x07] = { .c = 0xc3, .l = 19 },
	[0x08] = { .c = 0xd0, .l = 19 },
	[0x09] = { .c = 0xd0, .l = 19 },
	[0x0a] = { .c = 0xd0, .l = 19 },
	[0x0b] = { .c = 0xd0, .l = 19 },
	[0x0c] = { .c = 0x80, .l = 20 },
	[0x0d] = { .c = 0x80, .l = 20 },
	[0x0e] = { .c = 0x82, .l = 20 },
	[0x0f] = { .c = 0x82, .l = 20 },
	[0x10] = { .c = 0x83, .l = 20 },
	[0x11] = { .c = 0x83, .l = 20 },
	[0x12] = { .c = 0xa2, .l = 20 },
	[0x13] = { .c = 0xa2, .l = 20 },
	[0x14] = { .c = 0xb8, .l = 20 },
	[0x15] = { .c = 0xb8, .l = 20 },
	[0x16] = { .c = 0xc2, .l = 20 },
	[0x17] = { .c = 0xc2, .l = 20 },
	[0x18] = { .c = 0xe0, .l = 20 },
	[0x19] = { .c = 0xe0, .l = 20 },
	[0x1a] = { .c = 0xe2, .l = 20 },
	[0x1b] = { .c = 0xe2, .l = 20 },
	[0x1c] = { .c = 0x99, .l = 21 },
	[0x1d] = { .c = 0xa1, .l = 21 },
	[0x1e] = { .c = 0xa7, .l = 21 },
	[0x1f] = { .c = 0xac, .l = 21 },
};

struct rht rht_bit15_8[256] = {
	[0x00] = { .c = 0xb0, .l = 21 },
	[0x01] = { .c = 0xb0, .l = 21 },
	[0x02] = { .c = 0xb0, .l = 21 },
	[0x03] = { .c = 0xb0, .l = 21 },
	[0x04] = { .c = 0xb0, .l = 21 },
	[0x05] = { .c = 0xb0, .l = 21 },
	[0x06] = { .c = 0xb0, .l = 21 },
	[0x07] = { .c = 0xb0, .l = 21 },
	[0x08] = { .c = 0xb1, .l = 21 },
	[0x09] = { .c = 0xb1, .l = 21 },
	[0x0a] = { .c = 0xb1, .l = 21 },
	[0x0b] = { .c = 0xb1, .l = 21 },
	[0x0c] = { .c = 0xb1, .l = 21 },
	[0x0d] = { .c = 0xb1, .l = 21 },
	[0x0e] = { .c = 0xb1, .l = 21 },
	[0x0f] = { .c = 0xb1, .l = 21 },
	[0x10] = { .c = 0xb3, .l = 21 },
	[0x11] = { .c = 0xb3, .l = 21 },
	[0x12] = { .c = 0xb3, .l = 21 },
	[0x13] = { .c = 0xb3, .l = 21 },
	[0x14] = { .c = 0xb3, .l = 21 },
	[0x15] = { .c = 0xb3, .l = 21 },
	[0x16] = { .c = 0xb3, .l = 21 },
	[0x17] = { .c = 0xb3, .l = 21 },
	[0x18] = { .c = 0xd1, .l = 21 },
	[0x19] = { .c = 0xd1, .l = 21 },
	[0x1a] = { .c = 0xd1, .l = 21 },
	[0x1b] = { .c = 0xd1, .l = 21 },
	[0x1c] = { .c = 0xd1, .l = 21 },
	[0x1d] = { .c = 0xd1, .l = 21 },
	[0x1e] = { .c = 0xd1, .l = 21 },
	[0x1f] = { .c = 0xd1, .l = 21 },
	[0x20] = { .c = 0xd8, .l = 21 },
	[0x21] = { .c = 0xd8, .l = 21 },
	[0x22] = { .c = 0xd8, .l = 21 },
	[0x23] = { .c = 0xd8, .l = 21 },
	[0x24] = { .c = 0xd8, .l = 21 },
	[0x25] = { .c = 0xd8, .l = 21 },
	[0x26] = { .c = 0xd8, .l = 21 },
	[0x27] = { .c = 0xd8, .l = 21 },
	[0x28] = { .c = 0xd9, .l = 21 },
	[0x29] = { .c = 0xd9, .l = 21 },
	[0x2a] = { .c = 0xd9, .l = 21 },
	[0x2b] = { .c = 0xd9, .l = 21 },
	[0x2c] = { .c = 0xd9, .l = 21 },
	[0x2d] = { .c = 0xd9, .l = 21 },
	[0x2e] = { .c = 0xd9, .l = 21 },
	[0x2f] = { .c = 0xd9, .l = 21 },
	[0x30] = { .c = 0xe3, .l = 21 },
	[0x31] = { .c = 0xe3, .l = 21 },
	[0x32] = { .c = 0xe3, .l = 21 },
	[0x33] = { .c = 0xe3, .l = 21 },
	[0x34] = { .c = 0xe3, .l = 21 },
	[0x35] = { .c = 0xe3, .l = 21 },
	[0x36] = { .c = 0xe3, .l = 21 },
	[0x37] = { .c = 0xe3, .l = 21 },
	[0x38] = { .c = 0xe5, .l = 21 },
	[0x39] = { .c = 0xe5, .l = 21 },
	[0x3a] = { .c = 0xe5, .l = 21 },
	[0x3b] = { .c = 0xe5, .l = 21 },
	[0x3c] = { .c = 0xe5, .l = 21 },
	[0x3d] = { .c = 0xe5, .l = 21 },
	[0x3e] = { .c = 0xe5, .l = 21 },
	[0x3f] = { .c = 0xe5, .l = 21 },
	[0x40] = { .c = 0xe6, .l = 21 },
	[0x41] = { .c = 0xe6, .l = 21 },
	[0x42] = { .c = 0xe6, .l = 21 },
	[0x43] = { .c = 0xe6, .l = 21 },
	[0x44] = { .c = 0xe6, .l = 21 },
	[0x45] = { .c = 0xe6, .l = 21 },
	[0x46] = { .c = 0xe6, .l = 21 },
	[0x47] = { .c = 0xe6, .l = 21 },
	[0x48] = { .c = 0x81, .l = 22 },
	[0x49] = { .c = 0x81, .l = 22 },
	[0x4a] = { .c = 0x81, .l = 22 },
	[0x4b] = { .c = 0x81, .l = 22 },
	[0x4c] = { .c = 0x84, .l = 22 },
	[0x4d] = { .c = 0x84, .l = 22 },
	[0x4e] = { .c = 0x84, .l = 22 },
	[0x4f] = { .c = 0x84, .l = 22 },
	[0x50] = { .c = 0x85, .l = 22 },
	[0x51] = { .c = 0x85, .l = 22 },
	[0x52] = { .c = 0x85, .l = 22 },
	[0x53] = { .c = 0x85, .l = 22 },
	[0x54] = { .c = 0x86, .l = 22 },
	[0x55] = { .c = 0x86, .l = 22 },
	[0x56] = { .c = 0x86, .l = 22 },
	[0x57] = { .c = 0x86, .l = 22 },
	[0x58] = { .c = 0x88, .l = 22 },
	[0x59] = { .c = 0x88, .l = 22 },
	[0x5a] = { .c = 0x88, .l = 22 },
	[0x5b] = { .c = 0x88, .l = 22 },
	[0x5c] = { .c = 0x92, .l = 22 },
	[0x5d] = { .c = 0x92, .l = 22 },
	[0x5e] = { .c = 0x92, .l = 22 },
	[0x5f] = { .c = 0x92, .l = 22 },
	[0x60] = { .c = 0x9a, .l = 22 },
	[0x61] = { .c = 0x9a, .l = 22 },
	[0x62] = { .c = 0x9a, .l = 22 },
	[0x63] = { .c = 0x9a, .l = 22 },
	[0x64] = { .c = 0x9c, .l = 22 },
	[0x65] = { .c = 0x9c, .l = 22 },
	[0x66] = { .c = 0x9c, .l = 22 },
	[0x67] = { .c = 0x9c, .l = 22 },
	[0x68] = { .c = 0xa0, .l = 22 },
	[0x69] = { .c = 0xa0, .l = 22 },
	[0x6a] = { .c = 0xa0, .l = 22 },
	[0x6b] = { .c = 0xa0, .l = 22 },
	[0x6c] = { .c = 0xa3, .l = 22 },
	[0x6d] = { .c = 0xa3, .l = 22 },
	[0x6e] = { .c = 0xa3, .l = 22 },
	[0x6f] = { .c = 0xa3, .l = 22 },
	[0x70] = { .c = 0xa4, .l = 22 },
	[0x71] = { .c = 0xa4, .l = 22 },
	[0x72] = { .c = 0xa4, .l = 22 },
	[0x73] = { .c = 0xa4, .l = 22 },
	[0x74] = { .c = 0xa9, .l = 22 },
	[0x75] = { .c = 0xa9, .l = 22 },
	[0x76] = { .c = 0xa9, .l = 22 },
	[0x77] = { .c = 0xa9, .l = 22 },
	[0x78] = { .c = 0xaa, .l = 22 },
	[0x79] = { .c = 0xaa, .l = 22 },
	[0x7a] = { .c = 0xaa, .l = 22 },
	[0x7b] = { .c = 0xaa, .l = 22 },
	[0x7c] = { .c = 0xad, .l = 22 },
	[0x7d] = { .c = 0xad, .l = 22 },
	[0x7e] = { .c = 0xad, .l = 22 },
	[0x7f] = { .c = 0xad, .l = 22 },
	[0x80] = { .c = 0xb2, .l = 22 },
	[0x81] = { .c = 0xb2, .l = 22 },
	[0x82] = { .c = 0xb2, .l = 22 },
	[0x83] = { .c = 0xb2, .l = 22 },
	[0x84] = { .c = 0xb5, .l = 22 },
	[0x85] = { .c = 0xb5, .l = 22 },
	[0x86] = { .c = 0xb5, .l = 22 },
	[0x87] = { .c = 0xb5, .l = 22 },
	[0x88] = { .c = 0xb9, .l = 22 },
	[0x89] = { .c = 0xb9, .l = 22 },
	[0x8a] = { .c = 0xb9, .l = 22 },
	[0x8b] = { .c = 0xb9, .l = 22 },
	[0x8c] = { .c = 0xba, .l = 22 },
	[0x8d] = { .c = 0xba, .l = 22 },
	[0x8e] = { .c = 0xba, .l = 22 },
	[0x8f] = { .c = 0xba, .l = 22 },
	[0x90] = { .c = 0xbb, .l = 22 },
	[0x91] = { .c = 0xbb, .l = 22 },
	[0x92] = { .c = 0xbb, .l = 22 },
	[0x93] = { .c = 0xbb, .l = 22 },
	[0x94] = { .c = 0xbd, .l = 22 },
	[0x95] = { .c = 0xbd, .l = 22 },
	[0x96] = { .c = 0xbd, .l = 22 },
	[0x97] = { .c = 0xbd, .l = 22 },
	[0x98] = { .c = 0xbe, .l = 22 },
	[0x99] = { .c = 0xbe, .l = 22 },
	[0x9a] = { .c = 0xbe, .l = 22 },
	[0x9b] = { .c = 0xbe, .l = 22 },
	[0x9c] = { .c = 0xc4, .l = 22 },
	[0x9d] = { .c = 0xc4, .l = 22 },
	[0x9e] = { .c = 0xc4, .l = 22 },
	[0x9f] = { .c = 0xc4, .l = 22 },
	[0xa0] = { .c = 0xc6, .l = 22 },
	[0xa1] = { .c = 0xc6, .l = 22 },
	[0xa2] = { .c = 0xc6, .l = 22 },
	[0xa3] = { .c = 0xc6, .l = 22 },
	[0xa4] = { .c = 0xe4, .l = 22 },
	[0xa5] = { .c = 0xe4, .l = 22 },
	[0xa6] = { .c = 0xe4, .l = 22 },
	[0xa7] = { .c = 0xe4, .l = 22 },
	[0xa8] = { .c = 0xe8, .l = 22 },
	[0xa9] = { .c = 0xe8, .l = 22 },
	[0xaa] = { .c = 0xe8, .l = 22 },
	[0xab] = { .c = 0xe8, .l = 22 },
	[0xac] = { .c = 0xe9, .l = 22 },
	[0xad] = { .c = 0xe9, .l = 22 },
	[0xae] = { .c = 0xe9, .l = 22 },
	[0xaf] = { .c = 0xe9, .l = 22 },
	[0xb0] = { .c = 0x01, .l = 23 },
	[0xb1] = { .c = 0x01, .l = 23 },
	[0xb2] = { .c = 0x87, .l = 23 },
	[0xb3] = { .c = 0x87, .l = 23 },
	[0xb4] = { .c = 0x89, .l = 23 },
	[0xb5] = { .c = 0x89, .l = 23 },
	[0xb6] = { .c = 0x8a, .l = 23 },
	[0xb7] = { .c = 0x8a, .l = 23 },
	[0xb8] = { .c = 0x8b, .l = 23 },
	[0xb9] = { .c = 0x8b, .l = 23 },
	[0xba] = { .c = 0x8c, .l = 23 },
	[0xbb] = { .c = 0x8c, .l = 23 },
	[0xbc] = { .c = 0x8d, .l = 23 },
	[0xbd] = { .c = 0x8d, .l = 23 },
	[0xbe] = { .c = 0x8f, .l = 23 },
	[0xbf] = { .c = 0x8f, .l = 23 },
	[0xc0] = { .c = 0x93, .l = 23 },
	[0xc1] = { .c = 0x93, .l = 23 },
	[0xc2] = { .c = 0x95, .l = 23 },
	[0xc3] = { .c = 0x95, .l = 23 },
	[0xc4] = { .c = 0x96, .l = 23 },
	[0xc5] = { .c = 0x96, .l = 23 },
	[0xc6] = { .c = 0x97, .l = 23 },
	[0xc7] = { .c = 0x97, .l = 23 },
	[0xc8] = { .c = 0x98, .l = 23 },
	[0xc9] = { .c = 0x98, .l = 23 },
	[0xca] = { .c = 0x9b, .l = 23 },
	[0xcb] = { .c = 0x9b, .l = 23 },
	[0xcc] = { .c = 0x9d, .l = 23 },
	[0xcd] = { .c = 0x9d, .l = 23 },
	[0xce] = { .c = 0x9e, .l = 23 },
	[0xcf] = { .c = 0x9e, .l = 23 },
	[0xd0] = { .c = 0xa5, .l = 23 },
	[0xd1] = { .c = 0xa5, .l = 23 },
	[0xd2] = { .c = 0xa6, .l = 23 },
	[0xd3] = { .c = 0xa6, .l = 23 },
	[0xd4] = { .c = 0xa8, .l = 23 },
	[0xd5] = { .c = 0xa8, .l = 23 },
	[0xd6] = { .c = 0xae, .l = 23 },
	[0xd7] = { .c = 0xae, .l = 23 },
	[0xd8] = { .c = 0xaf, .l = 23 },
	[0xd9] = { .c = 0xaf, .l = 23 },
	[0xda] = { .c = 0xb4, .l = 23 },
	[0xdb] = { .c = 0xb4, .l = 23 },
	[0xdc] = { .c = 0xb6, .l = 23 },
	[0xdd] = { .c = 0xb6, .l = 23 },
	[0xde] = { .c = 0xb7, .l = 23 },
	[0xdf] = { .c = 0xb7, .l = 23 },
	[0xe0] = { .c = 0xbc, .l = 23 },
	[0xe1] = { .c = 0xbc, .l = 23 },
	[0xe2] = { .c = 0xbf, .l = 23 },
	[0xe3] = { .c = 0xbf, .l = 23 },
	[0xe4] = { .c = 0xc5, .l = 23 },
	[0xe5] = { .c = 0xc5, .l = 23 },
	[0xe6] = { .c = 0xe7, .l = 23 },
	[0xe7] = { .c = 0xe7, .l = 23 },
	[0xe8] = { .c = 0xef, .l = 23 },
	[0xe9] = { .c = 0xef, .l = 23 },
	[0xea] = { .c = 0x09, .l = 24 },
	[0xeb] = { .c = 0x8e, .l = 24 },
	[0xec] = { .c = 0x90, .l = 24 },
	[0xed] = { .c = 0x91, .l = 24 },
	[0xee] = { .c = 0x94, .l = 24 },
	[0xef] = { .c = 0x9f, .l = 24 },
	[0xf0] = { .c = 0xab, .l = 24 },
	[0xf1] = { .c = 0xce, .l = 24 },
	[0xf2] = { .c = 0xd7, .l = 24 },
	[0xf3] = { .c = 0xe1, .l = 24 },
	[0xf4] = { .c = 0xec, .l = 24 },
	[0xf5] = { .c = 0xed, .l = 24 },
};

struct rht rht_bit11_4[256] = {
	[0x60] = { .c = 0xc7, .l = 25 },
	[0x61] = { .c = 0xc7, .l = 25 },
	[0x62] = { .c = 0xc7, .l = 25 },
	[0x63] = { .c = 0xc7, .l = 25 },
	[0x64] = { .c = 0xc7, .l = 25 },
	[0x65] = { .c = 0xc7, .l = 25 },
	[0x66] = { .c = 0xc7, .l = 25 },
	[0x67] = { .c = 0xc7, .l = 25 },
	[0x68] = { .c = 0xcf, .l = 25 },
	[0x69] = { .c = 0xcf, .l = 25 },
	[0x6a] = { .c = 0xcf, .l = 25 },
	[0x6b] = { .c = 0xcf, .l = 25 },
	[0x6c] = { .c = 0xcf, .l = 25 },
	[0x6d] = { .c = 0xcf, .l = 25 },
	[0x6e] = { .c = 0xcf, .l = 25 },
	[0x6f] = { .c = 0xcf, .l = 25 },
	[0x70] = { .c = 0xea, .l = 25 },
	[0x71] = { .c = 0xea, .l = 25 },
	[0x72] = { .c = 0xea, .l = 25 },
	[0x73] = { .c = 0xea, .l = 25 },
	[0x74] = { .c = 0xea, .l = 25 },
	[0x75] = { .c = 0xea, .l = 25 },
	[0x76] = { .c = 0xea, .l = 25 },
	[0x77] = { .c = 0xea, .l = 25 },
	[0x78] = { .c = 0xeb, .l = 25 },
	[0x79] = { .c = 0xeb, .l = 25 },
	[0x7a] = { .c = 0xeb, .l = 25 },
	[0x7b] = { .c = 0xeb, .l = 25 },
	[0x7c] = { .c = 0xeb, .l = 25 },
	[0x7d] = { .c = 0xeb, .l = 25 },
	[0x7e] = { .c = 0xeb, .l = 25 },
	[0x7f] = { .c = 0xeb, .l = 25 },
	[0x80] = { .c = 0xc0, .l = 26 },
	[0x81] = { .c = 0xc0, .l = 26 },
	[0x82] = { .c = 0xc0, .l = 26 },
	[0x83] = { .c = 0xc0, .l = 26 },
	[0x84] = { .c = 0xc1, .l = 26 },
	[0x85] = { .c = 0xc1, .l = 26 },
	[0x86] = { .c = 0xc1, .l = 26 },
	[0x87] = { .c = 0xc1, .l = 26 },
	[0x88] = { .c = 0xc8, .l = 26 },
	[0x89] = { .c = 0xc8, .l = 26 },
	[0x8a] = { .c = 0xc8, .l = 26 },
	[0x8b] = { .c = 0xc8, .l = 26 },
	[0x8c] = { .c = 0xc9, .l = 26 },
	[0x8d] = { .c = 0xc9, .l = 26 },
	[0x8e] = { .c = 0xc9, .l = 26 },
	[0x8f] = { .c = 0xc9, .l = 26 },
	[0x90] = { .c = 0xca, .l = 26 },
	[0x91] = { .c = 0xca, .l = 26 },
	[0x92] = { .c = 0xca, .l = 26 },
	[0x93] = { .c = 0xca, .l = 26 },
	[0x94] = { .c = 0xcd, .l = 26 },
	[0x95] = { .c = 0xcd, .l = 26 },
	[0x96] = { .c = 0xcd, .l = 26 },
	[0x97] = { .c = 0xcd, .l = 26 },
	[0x98] = { .c = 0xd2, .l = 26 },
	[0x99] = { .c = 0xd2, .l = 26 },
	[0x9a] = { .c = 0xd2, .l = 26 },
	[0x9b] = { .c = 0xd2, .l = 26 },
	[0x9c] = { .c = 0xd5, .l = 26 },
	[0x9d] = { .c = 0xd5, .l = 26 },
	[0x9e] = { .c = 0xd5, .l = 26 },
	[0x9f] = { .c = 0xd5, .l = 26 },
	[0xa0] = { .c = 0xda, .l = 26 },
	[0xa1] = { .c = 0xda, .l = 26 },
	[0xa2] = { .c = 0xda, .l = 26 },
	[0xa3] = { .c = 0xda, .l = 26 },
	[0xa4] = { .c = 0xdb, .l = 26 },
	[0xa5] = { .c = 0xdb, .l = 26 },
	[0xa6] = { .c = 0xdb, .l = 26 },
	[0xa7] = { .c = 0xdb, .l = 26 },
	[0xa8] = { .c = 0xee, .l = 26 },
	[0xa9] = { .c = 0xee, .l = 26 },
	[0xaa] = { .c = 0xee, .l = 26 },
	[0xab] = { .c = 0xee, .l = 26 },
	[0xac] = { .c = 0xf0, .l = 26 },
	[0xad] = { .c = 0xf0, .l = 26 },
	[0xae] = { .c = 0xf0, .l = 26 },
	[0xaf] = { .c = 0xf0, .l = 26 },
	[0xb0] = { .c = 0xf2, .l = 26 },
	[0xb1] = { .c = 0xf2, .l = 26 },
	[0xb2] = { .c = 0xf2, .l = 26 },
	[0xb3] = { .c = 0xf2, .l = 26 },
	[0xb4] = { .c = 0xf3, .l = 26 },
	[0xb5] = { .c = 0xf3, .l = 26 },
	[0xb6] = { .c = 0xf3, .l = 26 },
	[0xb7] = { .c = 0xf3, .l = 26 },
	[0xb8] = { .c = 0xff, .l = 26 },
	[0xb9] = { .c = 0xff, .l = 26 },
	[0xba] = { .c = 0xff, .l = 26 },
	[0xbb] = { .c = 0xff, .l = 26 },
	[0xbc] = { .c = 0xcb, .l = 27 },
	[0xbd] = { .c = 0xcb, .l = 27 },
	[0xbe] = { .c = 0xcc, .l = 27 },
	[0xbf] = { .c = 0xcc, .l = 27 },
	[0xc0] = { .c = 0xd3, .l = 27 },
	[0xc1] = { .c = 0xd3, .l = 27 },
	[0xc2] = { .c = 0xd4, .l = 27 },
	[0xc3] = { .c = 0xd4, .l = 27 },
	[0xc4] = { .c = 0xd6, .l = 27 },
	[0xc5] = { .c = 0xd6, .l = 27 },
	[0xc6] = { .c = 0xdd, .l = 27 },
	[0xc7] = { .c = 0xdd, .l = 27 },
	[0xc8] = { .c = 0xde, .l = 27 },
	[0xc9] = { .c = 0xde, .l = 27 },
	[0xca] = { .c = 0xdf, .l = 27 },
	[0xcb] = { .c = 0xdf, .l = 27 },
	[0xcc] = { .c = 0xf1, .l = 27 },
	[0xcd] = { .c = 0xf1, .l = 27 },
	[0xce] = { .c = 0xf4, .l = 27 },
	[0xcf] = { .c = 0xf4, .l = 27 },
	[0xd0] = { .c = 0xf5, .l = 27 },
	[0xd1] = { .c = 0xf5, .l = 27 },
	[0xd2] = { .c = 0xf6, .l = 27 },
	[0xd3] = { .c = 0xf6, .l = 27 },
	[0xd4] = { .c = 0xf7, .l = 27 },
	[0xd5] = { .c = 0xf7, .l = 27 },
	[0xd6] = { .c = 0xf8, .l = 27 },
	[0xd7] = { .c = 0xf8, .l = 27 },
	[0xd8] = { .c = 0xfa, .l = 27 },
	[0xd9] = { .c = 0xfa, .l = 27 },
	[0xda] = { .c = 0xfb, .l = 27 },
	[0xdb] = { .c = 0xfb, .l = 27 },
	[0xdc] = { .c = 0xfc, .l = 27 },
	[0xdd] = { .c = 0xfc, .l = 27 },
	[0xde] = { .c = 0xfd, .l = 27 },
	[0xdf] = { .c = 0xfd, .l = 27 },
	[0xe0] = { .c = 0xfe, .l = 27 },
	[0xe1] = { .c = 0xfe, .l = 27 },
	[0xe2] = { .c = 0x02, .l = 28 },
	[0xe3] = { .c = 0x03, .l = 28 },
	[0xe4] = { .c = 0x04, .l = 28 },
	[0xe5] = { .c = 0x05, .l = 28 },
	[0xe6] = { .c = 0x06, .l = 28 },
	[0xe7] = { .c = 0x07, .l = 28 },
	[0xe8] = { .c = 0x08, .l = 28 },
	[0xe9] = { .c = 0x0b, .l = 28 },
	[0xea] = { .c = 0x0c, .l = 28 },
	[0xeb] = { .c = 0x0e, .l = 28 },
	[0xec] = { .c = 0x0f, .l = 28 },
	[0xed] = { .c = 0x10, .l = 28 },
	[0xee] = { .c = 0x11, .l = 28 },
	[0xef] = { .c = 0x12, .l = 28 },
	[0xf0] = { .c = 0x13, .l = 28 },
	[0xf1] = { .c = 0x14, .l = 28 },
	[0xf2] = { .c = 0x15, .l = 28 },
	[0xf3] = { .c = 0x17, .l = 28 },
	[0xf4] = { .c = 0x18, .l = 28 },
	[0xf5] = { .c = 0x19, .l = 28 },
	[0xf6] = { .c = 0x1a, .l = 28 },
	[0xf7] = { .c = 0x1b, .l = 28 },
	[0xf8] = { .c = 0x1c, .l = 28 },
	[0xf9] = { .c = 0x1d, .l = 28 },
	[0xfa] = { .c = 0x1e, .l = 28 },
	[0xfb] = { .c = 0x1f, .l = 28 },
	[0xfc] = { .c = 0x7f, .l = 28 },
	[0xfd] = { .c = 0xdc, .l = 28 },
	[0xfe] = { .c = 0xf9, .l = 28 },
	[0xff] = { .c = 0x0a, .l = 30 },
	/* Note, when l==30, bits 2..3 give 00:0x0a, 01:0x0d, 10:0x16, 11:EOS */
};

/* huffman-encode string <s> into the huff_tmp buffer and returns the amount
 * of output bytes. The caller must ensure the output is large enough (ie at
 * least 4 times as long as s).
 *
 * FIXME: bits are only counted for now, no code is emitted!
 */
int huff_enc(const char *s, char *out)
{
	int bits = 0;

	while (*s) {
		bits += ht[(uint8_t)*s].b;
		s++;
	}
	bits += 7;

	/*  FIXME: huffman code is not emitted yet. */
	//memset(out, 'H', bits / 8);
	return bits / 8;
}

/* pass a huffman string, it will decode it and return the new output size or
 * -1 in case of error.
 *
 * The principle of the decoder is to lookup full bytes in reverse-huffman
 * tables. Since we may need up to 30 bits and the word positions are not
 * always multiples of 8, we build the code word by shifting the "current"
 * 32-bit word and the "next" one of the appropriate amount of bits. Once
 * the shift goes beyond 32, words are swapped and the "next" one is refilled
 * with new bytes. Shift operations are cheap when done a single time like this.
 * On 64-bit platforms it is possible to further improve this by storing both
 * of them in a single word.
 */
int huff_dec(const uint8_t *huff, int hlen, char *out, int olen)
{
	char *out_start = out;
	char *out_end = out + olen;
	const uint8_t *huff_end = huff + hlen;
	uint32_t curr = 0;
	uint32_t next = 0;
	uint32_t shift;
	uint32_t code; /* The 30-bit code being looked up, MSB-aligned */
	uint8_t sym;
	int bleft; /* bits left */
	int l;

	code = 0;
	shift = 64; // start with an empty buffer
	bleft = hlen << 3;
	while (bleft > 0 && out != out_end) {
		while (shift >= 32) {
			curr = next;

			/* read up to 4 bytes into next */
			next = 0;

			if (huff + 4 <= huff_end) {
				next = read_n32(huff);
				huff += 4;
			}
			else {
				/* note: we append 0 and not 0xff so that we can
				 * distinguish shifted bits from a really inserted
				 * EOS.
				 */
				next =  (((huff + 0 < huff_end) ? (uint32_t)huff[0] : 0x00) << 24) +
					(((huff + 1 < huff_end) ? (uint32_t)huff[1] : 0x00) << 16) +
					(((huff + 2 < huff_end) ? (uint32_t)huff[2] : 0x00) <<  8) +
					 ((huff + 3 < huff_end) ? (uint32_t)huff[3] : 0x00);
				huff = huff_end;
			}

			shift -= 32;
		}

		/* curr:next contain 64 bit of huffman code */
		code = curr;
		if (shift)
			code = (code << shift) + (next >> (32 - shift));

		/* now we necessarily have 32 bits available */
		if ((code >> 24) < 0xfe) {
			/* single byte */
			l = rht_bit31_24[code >> 24].l;
			sym = rht_bit31_24[code >> 24].c;
		}
		else if (((code >> 17) & 0xff) < 0xff) {
			/* two bytes, 0xfe + 2 bits or 0xff + 2..7 bits */
			l = rht_bit24_17[(code >> 17) & 0xff].l;
			sym = rht_bit24_17[(code >> 17) & 0xff].c;
		}
		else if (((code >> 16) & 0xff) < 0xff) { /* 3..5 bits */
			/* 0xff + 0xfe + 3..5 bits or
			 * 0xff + 0xff + 5..8 bits for values till 0xf5
			 */
			l = rht_bit15_11_fe[(code >> 11) & 0x1f].l;
			sym = rht_bit15_11_fe[(code >> 11) & 0x1f].c;
		}
		else if (((code >> 8) & 0xff) < 0xf6) { /* 5..8 bits */
			/* that's 0xff + 0xff */
			l = rht_bit15_8[(code >> 8) & 0xff].l;
			sym = rht_bit15_8[(code >> 8) & 0xff].c;
		}
		else {
			/* 0xff 0xff 0xf6..0xff */
			l = rht_bit11_4[(code >> 4) & 0xff].l;
			if (l < 30)
				sym = rht_bit11_4[(code >> 4) & 0xff].c;
			else if ((code & 0xff) == 0xf0)
				sym = 10;
			else if ((code & 0xff) == 0xf4)
				sym = 13;
			else if ((code & 0xff) == 0xf8)
				sym = 22;
			else { // 0xfc : EOS
				break;
			}
		}

		if (!l || bleft - l < 0)
			break;

		bleft -= l;
		shift += l;
		*out++ = sym;
	}

	if (bleft > 0) {
		/* some bits were not consumed after the last code, they must
		 * match EOS (ie: all ones) and there must be 7 bits or less.
		 * (7541#5.2).
		 */
		if (bleft > 7)
			return -1;

		if ((code & -(1 << (32 - bleft))) != (uint32_t)-(1 << (32 - bleft)))
			return -1;
	}

	if (out < out_end)
		*out = 0; // end of string whenever possible
	return out - out_start;
}
