--- /dev/null
+static const char n[]={
+ 65, 69, 108, 105, 103, /* AElig */
+ 65, 97, 99, 117, 116, 101, /* Aacute */
+ 65, 99, 105, 114, 99, /* Acirc */
+ 65, 103, 114, 97, 118, 101, /* Agrave */
+ 65, 108, 112, 104, 97, /* Alpha */
+ 65, 114, 105, 110, 103, /* Aring */
+ 65, 116, 105, 108, 100, 101, /* Atilde */
+ 65, 117, 109, 108, /* Auml */
+ 66, 101, 116, 97, /* Beta */
+ 67, 99, 101, 100, 105, 108, /* Ccedil */
+ 67, 104, 105, /* Chi */
+ 68, 97, 103, 103, 101, 114, /* Dagger */
+ 68, 101, 108, 116, 97, /* Delta */
+ 69, 84, 72, /* ETH */
+ 69, 97, 99, 117, 116, 101, /* Eacute */
+ 69, 99, 105, 114, 99, /* Ecirc */
+ 69, 103, 114, 97, 118, 101, /* Egrave */
+ 69, 112, 115, 105, 108, 111, 110, /* Epsilon */
+ 69, 116, 97, /* Eta */
+ 69, 117, 109, 108, /* Euml */
+ 71, 97, 109, 109, 97, /* Gamma */
+ 73, 97, 99, 117, 116, 101, /* Iacute */
+ 73, 99, 105, 114, 99, /* Icirc */
+ 73, 103, 114, 97, 118, 101, /* Igrave */
+ 73, 111, 116, 97, /* Iota */
+ 73, 117, 109, 108, /* Iuml */
+ 75, 97, 112, 112, 97, /* Kappa */
+ 76, 97, 109, 98, 100, 97, /* Lambda */
+ 77, 117, /* Mu */
+ 78, 116, 105, 108, 100, 101, /* Ntilde */
+ 78, 117, /* Nu */
+ 79, 69, 108, 105, 103, /* OElig */
+ 79, 97, 99, 117, 116, 101, /* Oacute */
+ 79, 99, 105, 114, 99, /* Ocirc */
+ 79, 103, 114, 97, 118, 101, /* Ograve */
+ 79, 109, 101, 103, 97, /* Omega */
+ 79, 109, 105, 99, 114, 111, 110, /* Omicron */
+ 79, 115, 108, 97, 115, 104, /* Oslash */
+ 79, 116, 105, 108, 100, 101, /* Otilde */
+ 79, 117, 109, 108, /* Ouml */
+ 80, 104, 105, /* Phi */
+ 80, 105, /* Pi */
+ 80, 114, 105, 109, 101, /* Prime */
+ 80, 115, 105, /* Psi */
+ 82, 104, 111, /* Rho */
+ 83, 99, 97, 114, 111, 110, /* Scaron */
+ 83, 105, 103, 109, 97, /* Sigma */
+ 84, 72, 79, 82, 78, /* THORN */
+ 84, 97, 117, /* Tau */
+ 84, 104, 101, 116, 97, /* Theta */
+ 85, 97, 99, 117, 116, 101, /* Uacute */
+ 85, 99, 105, 114, 99, /* Ucirc */
+ 85, 103, 114, 97, 118, 101, /* Ugrave */
+ 85, 112, 115, 105, 108, 111, 110, /* Upsilon */
+ 85, 117, 109, 108, /* Uuml */
+ 88, 105, /* Xi */
+ 89, 97, 99, 117, 116, 101, /* Yacute */
+ 89, 117, 109, 108, /* Yuml */
+ 90, 101, 116, 97, /* Zeta */
+ 97, 97, 99, 117, 116, 101, /* aacute */
+ 97, 99, 105, 114, 99, /* acirc */
+ 97, 99, 117, 116, 101, /* acute */
+ 97, 101, 108, 105, 103, /* aelig */
+ 97, 103, 114, 97, 118, 101, /* agrave */
+ 97, 108, 101, 102, 115, 121, 109, /* alefsym */
+ 97, 108, 112, 104, 97, /* alpha */
+ 97, 109, 112, /* amp */
+ 97, 110, 100, /* and */
+ 97, 110, 103, /* ang */
+ 97, 112, 111, 115, /* apos */
+ 97, 114, 105, 110, 103, /* aring */
+ 97, 115, 121, 109, 112, /* asymp */
+ 97, 116, 105, 108, 100, 101, /* atilde */
+ 97, 117, 109, 108, /* auml */
+ 98, 100, 113, 117, 111, /* bdquo */
+ 98, 101, 116, 97, /* beta */
+ 98, 114, 118, 98, 97, 114, /* brvbar */
+ 98, 117, 108, 108, /* bull */
+ 99, 97, 112, /* cap */
+ 99, 99, 101, 100, 105, 108, /* ccedil */
+ 99, 101, 100, 105, 108, /* cedil */
+ 99, 101, 110, 116, /* cent */
+ 99, 104, 105, /* chi */
+ 99, 105, 114, 99, /* circ */
+ 99, 108, 117, 98, 115, /* clubs */
+ 99, 111, 110, 103, /* cong */
+ 99, 111, 112, 121, /* copy */
+ 99, 114, 97, 114, 114, /* crarr */
+ 99, 117, 112, /* cup */
+ 99, 117, 114, 114, 101, 110, /* curren */
+ 100, 65, 114, 114, /* dArr */
+ 100, 97, 103, 103, 101, 114, /* dagger */
+ 100, 97, 114, 114, /* darr */
+ 100, 101, 103, /* deg */
+ 100, 101, 108, 116, 97, /* delta */
+ 100, 105, 97, 109, 115, /* diams */
+ 100, 105, 118, 105, 100, 101, /* divide */
+ 101, 97, 99, 117, 116, 101, /* eacute */
+ 101, 99, 105, 114, 99, /* ecirc */
+ 101, 103, 114, 97, 118, 101, /* egrave */
+ 101, 109, 112, 116, 121, /* empty */
+ 101, 109, 115, 112, /* emsp */
+ 101, 110, 115, 112, /* ensp */
+ 101, 112, 115, 105, 108, 111, 110, /* epsilon */
+ 101, 113, 117, 105, 118, /* equiv */
+ 101, 116, 97, /* eta */
+ 101, 116, 104, /* eth */
+ 101, 117, 109, 108, /* euml */
+ 101, 117, 114, 111, /* euro */
+ 101, 120, 105, 115, 116, /* exist */
+ 102, 110, 111, 102, /* fnof */
+ 102, 111, 114, 97, 108, 108, /* forall */
+ 102, 114, 97, 99, 49, 50, /* frac12 */
+ 102, 114, 97, 99, 49, 52, /* frac14 */
+ 102, 114, 97, 99, 51, 52, /* frac34 */
+ 102, 114, 97, 115, 108, /* frasl */
+ 103, 97, 109, 109, 97, /* gamma */
+ 103, 101, /* ge */
+ 103, 116, /* gt */
+ 104, 65, 114, 114, /* hArr */
+ 104, 97, 114, 114, /* harr */
+ 104, 101, 97, 114, 116, 115, /* hearts */
+ 104, 101, 108, 108, 105, 112, /* hellip */
+ 105, 97, 99, 117, 116, 101, /* iacute */
+ 105, 99, 105, 114, 99, /* icirc */
+ 105, 101, 120, 99, 108, /* iexcl */
+ 105, 103, 114, 97, 118, 101, /* igrave */
+ 105, 109, 97, 103, 101, /* image */
+ 105, 110, 102, 105, 110, /* infin */
+ 105, 110, 116, /* int */
+ 105, 111, 116, 97, /* iota */
+ 105, 113, 117, 101, 115, 116, /* iquest */
+ 105, 115, 105, 110, /* isin */
+ 105, 117, 109, 108, /* iuml */
+ 107, 97, 112, 112, 97, /* kappa */
+ 108, 65, 114, 114, /* lArr */
+ 108, 97, 109, 98, 100, 97, /* lambda */
+ 108, 97, 110, 103, /* lang */
+ 108, 97, 113, 117, 111, /* laquo */
+ 108, 97, 114, 114, /* larr */
+ 108, 99, 101, 105, 108, /* lceil */
+ 108, 100, 113, 117, 111, /* ldquo */
+ 108, 101, /* le */
+ 108, 102, 108, 111, 111, 114, /* lfloor */
+ 108, 111, 119, 97, 115, 116, /* lowast */
+ 108, 111, 122, /* loz */
+ 108, 114, 109, /* lrm */
+ 108, 115, 97, 113, 117, 111, /* lsaquo */
+ 108, 115, 113, 117, 111, /* lsquo */
+ 108, 116, /* lt */
+ 109, 97, 99, 114, /* macr */
+ 109, 100, 97, 115, 104, /* mdash */
+ 109, 105, 99, 114, 111, /* micro */
+ 109, 105, 100, 100, 111, 116, /* middot */
+ 109, 105, 110, 117, 115, /* minus */
+ 109, 117, /* mu */
+ 110, 97, 98, 108, 97, /* nabla */
+ 110, 98, 115, 112, /* nbsp */
+ 110, 100, 97, 115, 104, /* ndash */
+ 110, 101, /* ne */
+ 110, 105, /* ni */
+ 110, 111, 116, /* not */
+ 110, 111, 116, 105, 110, /* notin */
+ 110, 115, 117, 98, /* nsub */
+ 110, 116, 105, 108, 100, 101, /* ntilde */
+ 110, 117, /* nu */
+ 111, 97, 99, 117, 116, 101, /* oacute */
+ 111, 99, 105, 114, 99, /* ocirc */
+ 111, 101, 108, 105, 103, /* oelig */
+ 111, 103, 114, 97, 118, 101, /* ograve */
+ 111, 108, 105, 110, 101, /* oline */
+ 111, 109, 101, 103, 97, /* omega */
+ 111, 109, 105, 99, 114, 111, 110, /* omicron */
+ 111, 112, 108, 117, 115, /* oplus */
+ 111, 114, /* or */
+ 111, 114, 100, 102, /* ordf */
+ 111, 114, 100, 109, /* ordm */
+ 111, 115, 108, 97, 115, 104, /* oslash */
+ 111, 116, 105, 108, 100, 101, /* otilde */
+ 111, 116, 105, 109, 101, 115, /* otimes */
+ 111, 117, 109, 108, /* ouml */
+ 112, 97, 114, 97, /* para */
+ 112, 97, 114, 116, /* part */
+ 112, 101, 114, 109, 105, 108, /* permil */
+ 112, 101, 114, 112, /* perp */
+ 112, 104, 105, /* phi */
+ 112, 105, /* pi */
+ 112, 105, 118, /* piv */
+ 112, 108, 117, 115, 109, 110, /* plusmn */
+ 112, 111, 117, 110, 100, /* pound */
+ 112, 114, 105, 109, 101, /* prime */
+ 112, 114, 111, 100, /* prod */
+ 112, 114, 111, 112, /* prop */
+ 112, 115, 105, /* psi */
+ 113, 117, 111, 116, /* quot */
+ 114, 65, 114, 114, /* rArr */
+ 114, 97, 100, 105, 99, /* radic */
+ 114, 97, 110, 103, /* rang */
+ 114, 97, 113, 117, 111, /* raquo */
+ 114, 97, 114, 114, /* rarr */
+ 114, 99, 101, 105, 108, /* rceil */
+ 114, 100, 113, 117, 111, /* rdquo */
+ 114, 101, 97, 108, /* real */
+ 114, 101, 103, /* reg */
+ 114, 102, 108, 111, 111, 114, /* rfloor */
+ 114, 104, 111, /* rho */
+ 114, 108, 109, /* rlm */
+ 114, 115, 97, 113, 117, 111, /* rsaquo */
+ 114, 115, 113, 117, 111, /* rsquo */
+ 115, 98, 113, 117, 111, /* sbquo */
+ 115, 99, 97, 114, 111, 110, /* scaron */
+ 115, 100, 111, 116, /* sdot */
+ 115, 101, 99, 116, /* sect */
+ 115, 104, 121, /* shy */
+ 115, 105, 103, 109, 97, /* sigma */
+ 115, 105, 103, 109, 97, 102, /* sigmaf */
+ 115, 105, 109, /* sim */
+ 115, 112, 97, 100, 101, 115, /* spades */
+ 115, 117, 98, /* sub */
+ 115, 117, 98, 101, /* sube */
+ 115, 117, 109, /* sum */
+ 115, 117, 112, /* sup */
+ 115, 117, 112, 49, /* sup1 */
+ 115, 117, 112, 50, /* sup2 */
+ 115, 117, 112, 51, /* sup3 */
+ 115, 117, 112, 101, /* supe */
+ 115, 122, 108, 105, 103, /* szlig */
+ 116, 97, 117, /* tau */
+ 116, 104, 101, 114, 101, 52, /* there4 */
+ 116, 104, 101, 116, 97, /* theta */
+ 116, 104, 101, 116, 97, 115, 121, 109, /* thetasym */
+ 116, 104, 105, 110, 115, 112, /* thinsp */
+ 116, 104, 111, 114, 110, /* thorn */
+ 116, 105, 108, 100, 101, /* tilde */
+ 116, 105, 109, 101, 115, /* times */
+ 116, 114, 97, 100, 101, /* trade */
+ 117, 65, 114, 114, /* uArr */
+ 117, 97, 99, 117, 116, 101, /* uacute */
+ 117, 97, 114, 114, /* uarr */
+ 117, 99, 105, 114, 99, /* ucirc */
+ 117, 103, 114, 97, 118, 101, /* ugrave */
+ 117, 109, 108, /* uml */
+ 117, 112, 115, 105, 104, /* upsih */
+ 117, 112, 115, 105, 108, 111, 110, /* upsilon */
+ 117, 117, 109, 108, /* uuml */
+ 119, 101, 105, 101, 114, 112, /* weierp */
+ 120, 105, /* xi */
+ 121, 97, 99, 117, 116, 101, /* yacute */
+ 121, 101, 110, /* yen */
+ 121, 117, 109, 108, /* yuml */
+ 122, 101, 116, 97, /* zeta */
+ 122, 119, 106, /* zwj */
+ 122, 119, 110, 106 /* zwnj */
+};
+
+static const struct i ii[]={
+ {0, 5, 198},
+ {5, 6, 193},
+ {11, 5, 194},
+ {16, 6, 192},
+ {22, 5, 913},
+ {27, 5, 197},
+ {32, 6, 195},
+ {38, 4, 196},
+ {42, 4, 914},
+ {46, 6, 199},
+ {52, 3, 935},
+ {55, 6, 8225},
+ {61, 5, 916},
+ {66, 3, 208},
+ {69, 6, 201},
+ {75, 5, 202},
+ {80, 6, 200},
+ {86, 7, 917},
+ {93, 3, 919},
+ {96, 4, 203},
+ {100, 5, 915},
+ {105, 6, 205},
+ {111, 5, 206},
+ {116, 6, 204},
+ {122, 4, 921},
+ {126, 4, 207},
+ {130, 5, 922},
+ {135, 6, 923},
+ {141, 2, 924},
+ {143, 6, 209},
+ {149, 2, 925},
+ {151, 5, 338},
+ {156, 6, 211},
+ {162, 5, 212},
+ {167, 6, 210},
+ {173, 5, 937},
+ {178, 7, 927},
+ {185, 6, 216},
+ {191, 6, 213},
+ {197, 4, 214},
+ {201, 3, 934},
+ {204, 2, 928},
+ {206, 5, 8243},
+ {211, 3, 936},
+ {214, 3, 929},
+ {217, 6, 352},
+ {223, 5, 931},
+ {228, 5, 222},
+ {233, 3, 932},
+ {236, 5, 920},
+ {241, 6, 218},
+ {247, 5, 219},
+ {252, 6, 217},
+ {258, 7, 933},
+ {265, 4, 220},
+ {269, 2, 926},
+ {271, 6, 221},
+ {277, 4, 376},
+ {281, 4, 918},
+ {285, 6, 225},
+ {291, 5, 226},
+ {296, 5, 180},
+ {301, 5, 230},
+ {306, 6, 224},
+ {312, 7, 8501},
+ {319, 5, 945},
+ {324, 3, 38},
+ {327, 3, 8743},
+ {330, 3, 8736},
+ {333, 4, 39},
+ {337, 5, 229},
+ {342, 5, 8776},
+ {347, 6, 227},
+ {353, 4, 228},
+ {357, 5, 8222},
+ {362, 4, 946},
+ {366, 6, 166},
+ {372, 4, 8226},
+ {376, 3, 8745},
+ {379, 6, 231},
+ {385, 5, 184},
+ {390, 4, 162},
+ {394, 3, 967},
+ {397, 4, 710},
+ {401, 5, 9827},
+ {406, 4, 8773},
+ {410, 4, 169},
+ {414, 5, 8629},
+ {419, 3, 8746},
+ {422, 6, 164},
+ {428, 4, 8659},
+ {432, 6, 8224},
+ {438, 4, 8595},
+ {442, 3, 176},
+ {445, 5, 948},
+ {450, 5, 9830},
+ {455, 6, 247},
+ {461, 6, 233},
+ {467, 5, 234},
+ {472, 6, 232},
+ {478, 5, 8709},
+ {483, 4, 8195},
+ {487, 4, 8194},
+ {491, 7, 949},
+ {498, 5, 8801},
+ {503, 3, 951},
+ {506, 3, 240},
+ {509, 4, 235},
+ {513, 4, 8364},
+ {517, 5, 8707},
+ {522, 4, 402},
+ {526, 6, 8704},
+ {532, 6, 189},
+ {538, 6, 188},
+ {544, 6, 190},
+ {550, 5, 8260},
+ {555, 5, 947},
+ {560, 2, 8805},
+ {562, 2, 62},
+ {564, 4, 8660},
+ {568, 4, 8596},
+ {572, 6, 9829},
+ {578, 6, 8230},
+ {584, 6, 237},
+ {590, 5, 238},
+ {595, 5, 161},
+ {600, 6, 236},
+ {606, 5, 8465},
+ {611, 5, 8734},
+ {616, 3, 8747},
+ {619, 4, 953},
+ {623, 6, 191},
+ {629, 4, 8712},
+ {633, 4, 239},
+ {637, 5, 954},
+ {642, 4, 8656},
+ {646, 6, 955},
+ {652, 4, 9001},
+ {656, 5, 171},
+ {661, 4, 8592},
+ {665, 5, 8968},
+ {670, 5, 8220},
+ {675, 2, 8804},
+ {677, 6, 8970},
+ {683, 6, 8727},
+ {689, 3, 9674},
+ {692, 3, 8206},
+ {695, 6, 8249},
+ {701, 5, 8216},
+ {706, 2, 60},
+ {708, 4, 175},
+ {712, 5, 8212},
+ {717, 5, 181},
+ {722, 6, 183},
+ {728, 5, 8722},
+ {733, 2, 956},
+ {735, 5, 8711},
+ {740, 4, 160},
+ {744, 5, 8211},
+ {749, 2, 8800},
+ {751, 2, 8715},
+ {753, 3, 172},
+ {756, 5, 8713},
+ {761, 4, 8836},
+ {765, 6, 241},
+ {771, 2, 957},
+ {773, 6, 243},
+ {779, 5, 244},
+ {784, 5, 339},
+ {789, 6, 242},
+ {795, 5, 8254},
+ {800, 5, 969},
+ {805, 7, 959},
+ {812, 5, 8853},
+ {817, 2, 8744},
+ {819, 4, 170},
+ {823, 4, 186},
+ {827, 6, 248},
+ {833, 6, 245},
+ {839, 6, 8855},
+ {845, 4, 246},
+ {849, 4, 182},
+ {853, 4, 8706},
+ {857, 6, 8240},
+ {863, 4, 8869},
+ {867, 3, 966},
+ {870, 2, 960},
+ {872, 3, 982},
+ {875, 6, 177},
+ {881, 5, 163},
+ {886, 5, 8242},
+ {891, 4, 8719},
+ {895, 4, 8733},
+ {899, 3, 968},
+ {902, 4, 34},
+ {906, 4, 8658},
+ {910, 5, 8730},
+ {915, 4, 9002},
+ {919, 5, 187},
+ {924, 4, 8594},
+ {928, 5, 8969},
+ {933, 5, 8221},
+ {938, 4, 8476},
+ {942, 3, 174},
+ {945, 6, 8971},
+ {951, 3, 961},
+ {954, 3, 8207},
+ {957, 6, 8250},
+ {963, 5, 8217},
+ {968, 5, 8218},
+ {973, 6, 353},
+ {979, 4, 8901},
+ {983, 4, 167},
+ {987, 3, 173},
+ {990, 5, 963},
+ {995, 6, 962},
+ {1001, 3, 8764},
+ {1004, 6, 9824},
+ {1010, 3, 8834},
+ {1013, 4, 8838},
+ {1017, 3, 8721},
+ {1020, 3, 8835},
+ {1023, 4, 185},
+ {1027, 4, 178},
+ {1031, 4, 179},
+ {1035, 4, 8839},
+ {1039, 5, 223},
+ {1044, 3, 964},
+ {1047, 6, 8756},
+ {1053, 5, 952},
+ {1058, 8, 977},
+ {1066, 6, 8201},
+ {1072, 5, 254},
+ {1077, 5, 732},
+ {1082, 5, 215},
+ {1087, 5, 8482},
+ {1092, 4, 8657},
+ {1096, 6, 250},
+ {1102, 4, 8593},
+ {1106, 5, 251},
+ {1111, 6, 249},
+ {1117, 3, 168},
+ {1120, 5, 978},
+ {1125, 7, 965},
+ {1132, 4, 252},
+ {1136, 6, 8472},
+ {1142, 2, 958},
+ {1144, 6, 253},
+ {1150, 3, 165},
+ {1153, 4, 255},
+ {1157, 4, 950},
+ {1161, 3, 8205},
+ {1164, 4, 8204}
+};