aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2018-10-27 10:06:44 -0700
committerPaul Gilbert2018-12-08 19:05:59 -0800
commit98f1ddc968152df85790380aef73f8cc6ca50f13 (patch)
treeb93458754c41f27675cf2f49d3f487d022d34e03
parent4bb596792005f3a696a29fdd038809133bfb8119 (diff)
downloadscummvm-rg350-98f1ddc968152df85790380aef73f8cc6ca50f13.tar.gz
scummvm-rg350-98f1ddc968152df85790380aef73f8cc6ca50f13.tar.bz2
scummvm-rg350-98f1ddc968152df85790380aef73f8cc6ca50f13.zip
GLK: Added unicode case methods
-rw-r--r--engines/gargoyle/conf.cpp2
-rw-r--r--engines/gargoyle/glk.cpp48
-rw-r--r--engines/gargoyle/glk.h6
-rw-r--r--engines/gargoyle/module.mk3
-rw-r--r--engines/gargoyle/string.cpp51
-rw-r--r--engines/gargoyle/unicode.cpp168
-rw-r--r--engines/gargoyle/unicode.h (renamed from engines/gargoyle/string.h)19
-rw-r--r--engines/gargoyle/unicode_gen.cpp11825
-rw-r--r--engines/gargoyle/unicode_gen.h563
-rw-r--r--engines/gargoyle/window_text_buffer.cpp2
10 files changed, 12585 insertions, 102 deletions
diff --git a/engines/gargoyle/conf.cpp b/engines/gargoyle/conf.cpp
index 125e9f4c67..e2b8d04bda 100644
--- a/engines/gargoyle/conf.cpp
+++ b/engines/gargoyle/conf.cpp
@@ -22,7 +22,7 @@
#include "gargoyle/conf.h"
#include "gargoyle/fonts.h"
-#include "gargoyle/string.h"
+#include "gargoyle/unicode.h"
#include "gargoyle/windows.h"
#include "common/config-manager.h"
#include "common/system.h"
diff --git a/engines/gargoyle/glk.cpp b/engines/gargoyle/glk.cpp
index 35b8563e1a..c38548246b 100644
--- a/engines/gargoyle/glk.cpp
+++ b/engines/gargoyle/glk.cpp
@@ -25,7 +25,7 @@
#include "gargoyle/events.h"
#include "gargoyle/picture.h"
#include "gargoyle/streams.h"
-#include "gargoyle/string.h"
+#include "gargoyle/unicode.h"
#include "gargoyle/windows.h"
#include "gargoyle/window_graphics.h"
#include "gargoyle/window_text_buffer.h"
@@ -576,8 +576,6 @@ void Glk::glk_cancel_mouse_event(winid_t win) {
}
}
-#ifdef GLK_MODULE_LINE_ECHO
-
void Glk::glk_set_echo_line_event(winid_t win, glui32 val) {
if (!win) {
warning("set_echo_line_event: invalid ref");
@@ -586,10 +584,6 @@ void Glk::glk_set_echo_line_event(winid_t win, glui32 val) {
}
}
-#endif /* GLK_MODULE_LINE_ECHO */
-
-#ifdef GLK_MODULE_LINE_TERMINATORS
-
void Glk::glk_set_terminators_line_event(winid_t win, glui32 *keycodes, glui32 count) {
if (!win) {
warning("set_terminators_line_event: invalid ref");
@@ -598,24 +592,17 @@ void Glk::glk_set_terminators_line_event(winid_t win, glui32 *keycodes, glui32 c
}
}
-#endif /* GLK_MODULE_LINE_TERMINATORS */
-
-#ifdef GLK_MODULE_UNICODE
-
glui32 Glk::glk_buffer_to_lower_case_uni(glui32 *buf, glui32 len, glui32 numchars) {
- // TODO
- return 0;
+ return bufferChangeCase(buf, len, numchars, CASE_LOWER, COND_ALL, true);
}
glui32 Glk::glk_buffer_to_upper_case_uni(glui32 *buf, glui32 len, glui32 numchars) {
- // TODO
- return 0;
+ return bufferChangeCase(buf, len, numchars, CASE_UPPER, COND_ALL, true);
}
glui32 Glk::glk_buffer_to_title_case_uni(glui32 *buf, glui32 len,
glui32 numchars, glui32 lowerrest) {
- // TODO
- return 0;
+ return bufferChangeCase(buf, len, numchars, CASE_TITLE, COND_LINESTART, lowerrest);
}
void Glk::glk_put_char_uni(glui32 ch) {
@@ -677,7 +664,7 @@ glui32 Glk::glk_get_line_stream_uni(strid_t str, glui32 *buf, glui32 len) {
return str->getLineUni(buf, len);
} else {
warning("get_line_stream_uni: invalid ref");
- return -1;
+ return (glui32 )-1;
}
}
@@ -712,10 +699,6 @@ void Glk::glk_request_line_event_uni(winid_t win, glui32 *buf, glui32 maxlen, gl
}
}
-#endif /* GLK_MODULE_UNICODE */
-
-#ifdef GLK_MODULE_UNICODE_NORM
-
glui32 Glk::glk_buffer_canon_decompose_uni(glui32 *buf, glui32 len,
glui32 numchars) {
// TODO
@@ -726,10 +709,6 @@ glui32 Glk::glk_buffer_canon_normalize_uni(glui32 *buf, glui32 len, glui32 numch
return 0;
}
-#endif /* GLK_MODULE_UNICODE_NORM */
-
-#ifdef GLK_MODULE_IMAGE
-
glui32 Glk::glk_image_draw(winid_t win, glui32 image, glsi32 val1, glsi32 val2) {
if (!win) {
warning("image_draw: invalid ref");
@@ -812,10 +791,6 @@ void Glk::glk_window_set_background_color(winid_t win, glui32 color) {
}
}
-#endif /* GLK_MODULE_IMAGE */
-
-#ifdef GLK_MODULE_SOUND
-
schanid_t Glk::glk_schannel_create(glui32 rock) {
// TODO
return nullptr;
@@ -857,8 +832,6 @@ void Glk::glk_sound_load_hint(glui32 snd, glui32 flag) {
// TODO
}
-#ifdef GLK_MODULE_SOUND2
-
schanid_t Glk::glk_schannel_create_ext(glui32 rock, glui32 volume) {
// TODO
return nullptr;
@@ -883,11 +856,6 @@ void Glk::glk_schannel_set_volume_ext(schanid_t chan, glui32 vol,
// TODO
}
-#endif /* GLK_MODULE_SOUND2 */
-#endif /* GLK_MODULE_SOUND */
-
-#ifdef GLK_MODULE_HYPERLINKS
-
void Glk::glk_set_hyperlink(glui32 linkval) {
// TODO
}
@@ -908,10 +876,6 @@ void Glk::glk_cancel_hyperlink_event(winid_t win) {
// TODO
}
-#endif /* GLK_MODULE_HYPERLINKS */
-
-#ifdef GLK_MODULE_DATETIME
-
void Glk::glk_current_time(glktimeval_t *time) {
// TODO
}
@@ -955,8 +919,6 @@ glsi32 Glk::glk_date_to_simple_time_local(glkdate_t *date, glui32 factor) {
return 0;
}
-#endif /* GLK_MODULE_DATETIME */
-
/* XXX non-official Glk functions that may or may not exist */
char *garglk_fileref_get_name(frefid_t fref) {
diff --git a/engines/gargoyle/glk.h b/engines/gargoyle/glk.h
index 3b49421d16..34531c0829 100644
--- a/engines/gargoyle/glk.h
+++ b/engines/gargoyle/glk.h
@@ -157,7 +157,9 @@ public:
glui32 count);
#endif /* GLK_MODULE_LINE_TERMINATORS */
-#ifdef GLK_MODULE_UNICODE
+ /** \addtogroup Unicode
+ * @{
+ */
glui32 glk_buffer_to_lower_case_uni(glui32 *buf, glui32 len,
glui32 numchars);
@@ -184,7 +186,7 @@ public:
void glk_request_line_event_uni(winid_t win, glui32 *buf,
glui32 maxlen, glui32 initlen);
-#endif /* GLK_MODULE_UNICODE */
+ /** @}*/
#ifdef GLK_MODULE_UNICODE_NORM
diff --git a/engines/gargoyle/module.mk b/engines/gargoyle/module.mk
index e2584b48d7..d3cf7a1592 100644
--- a/engines/gargoyle/module.mk
+++ b/engines/gargoyle/module.mk
@@ -10,7 +10,8 @@ MODULE_OBJS := \
picture.o \
screen.o \
streams.o \
- string.o \
+ unicode.o \
+ unicode_gen.o \
windows.o \
window_mask.o \
window_graphics.o \
diff --git a/engines/gargoyle/string.cpp b/engines/gargoyle/string.cpp
deleted file mode 100644
index 4b6897818a..0000000000
--- a/engines/gargoyle/string.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software{} you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation{} either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY{} without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program{} if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "gargoyle/conf.h"
-#include "common/textconsole.h"
-
-namespace Gargoyle {
-
-size_t strlen_uni(const uint32 *s) {
- size_t len = 0;
- while (*s++)
- ++len;
- return len;
-}
-
-int strToInt(const char *s) {
- if (!*s)
- // No string at all
- return 0;
- else if (toupper(s[strlen(s) - 1]) != 'H')
- // Standard decimal string
- return atoi(s);
-
- // Hexadecimal string
- uint tmp = 0;
- int read = sscanf(s, "%xh", &tmp);
- if (read < 1)
- error("strToInt failed on string \"%s\"", s);
- return (int)tmp;
-}
-
-} // End of namespace Gargoyle
diff --git a/engines/gargoyle/unicode.cpp b/engines/gargoyle/unicode.cpp
new file mode 100644
index 0000000000..601d8f0e79
--- /dev/null
+++ b/engines/gargoyle/unicode.cpp
@@ -0,0 +1,168 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software{} you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation{} either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY{} without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program{} if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "gargoyle/unicode.h"
+#include "gargoyle/unicode_gen.h"
+#include "common/textconsole.h"
+
+namespace Gargoyle {
+
+size_t strlen_uni(const uint32 *s) {
+ size_t len = 0;
+ while (*s++)
+ ++len;
+ return len;
+}
+
+int strToInt(const char *s) {
+ if (!*s)
+ // No string at all
+ return 0;
+ else if (toupper(s[strlen(s) - 1]) != 'H')
+ // Standard decimal string
+ return atoi(s);
+
+ // Hexadecimal string
+ uint tmp = 0;
+ int read = sscanf(s, "%xh", &tmp);
+ if (read < 1)
+ error("strToInt failed on string \"%s\"", s);
+ return (int)tmp;
+}
+
+glui32 bufferChangeCase(glui32 *buf, glui32 len, glui32 numchars, BufferChangeCase destcase,
+ BufferChangeCond cond, int changerest) {
+ glui32 ix, jx;
+ glui32 *outbuf;
+ glui32 *newoutbuf;
+ glui32 outcount;
+ int dest_block_rest = 0, dest_block_first = 0;
+ int dest_spec_rest = 0, dest_spec_first = 0;
+
+ switch (cond) {
+ case COND_ALL:
+ dest_spec_rest = destcase;
+ dest_spec_first = destcase;
+ break;
+ case COND_LINESTART:
+ if (changerest)
+ dest_spec_rest = CASE_LOWER;
+ else
+ dest_spec_rest = CASE_IDENT;
+ dest_spec_first = destcase;
+ break;
+ }
+
+ dest_block_rest = dest_spec_rest;
+ if (dest_block_rest == CASE_TITLE)
+ dest_block_rest = CASE_UPPER;
+ dest_block_first = dest_spec_first;
+ if (dest_block_first == CASE_TITLE)
+ dest_block_first = CASE_UPPER;
+
+ newoutbuf = NULL;
+ outcount = 0;
+ outbuf = buf;
+
+ for (ix = 0; ix < numchars; ix++) {
+ int target;
+ int isfirst;
+ glui32 res;
+ glui32 *special;
+ glui32 *ptr;
+ glui32 speccount;
+ glui32 ch = buf[ix];
+
+ isfirst = (ix == 0);
+
+ target = (isfirst ? dest_block_first : dest_block_rest);
+
+ if (target == CASE_IDENT) {
+ res = ch;
+ } else {
+ gli_case_block_t *block;
+
+ GET_CASE_BLOCK(ch, &block);
+ if (!block)
+ res = ch;
+ else
+ res = block[ch & 0xFF][target];
+ }
+
+ if (res != 0xFFFFFFFF || res == ch)
+ {
+ /* simple case */
+ if (outcount < len)
+ outbuf[outcount] = res;
+ outcount++;
+ continue;
+ }
+
+ target = (isfirst ? dest_spec_first : dest_spec_rest);
+
+ /* complicated cases */
+ GET_CASE_SPECIAL(ch, &special);
+ if (!special) {
+ warning("inconsistency in cgunigen.c");
+ continue;
+ }
+ ptr = &unigen_special_array[special[target]];
+ speccount = *(ptr++);
+
+ if (speccount == 1) {
+ /* simple after all */
+ if (outcount < len)
+ outbuf[outcount] = ptr[0];
+ outcount++;
+ continue;
+ }
+
+ // Now we have to allocate a new buffer, if we haven't already.
+ if (!newoutbuf) {
+ newoutbuf = new glui32[len + 1];
+ if (!newoutbuf)
+ return 0;
+ if (outcount)
+ memcpy(newoutbuf, buf, outcount * sizeof(glui32));
+ outbuf = newoutbuf;
+ }
+
+ for (jx = 0; jx<speccount; jx++) {
+ if (outcount < len)
+ outbuf[outcount] = ptr[jx];
+ outcount++;
+ }
+ }
+
+ if (newoutbuf) {
+ glui32 finallen = outcount;
+ if (finallen > len)
+ finallen = len;
+ if (finallen)
+ memcpy(buf, newoutbuf, finallen * sizeof(glui32));
+ free(newoutbuf);
+ }
+
+ return outcount;
+}
+
+} // End of namespace Gargoyle
diff --git a/engines/gargoyle/string.h b/engines/gargoyle/unicode.h
index 2ab2925323..806a63f1ff 100644
--- a/engines/gargoyle/string.h
+++ b/engines/gargoyle/unicode.h
@@ -20,20 +20,33 @@
*
*/
-#ifndef GARGOYLE_STRING_H
-#define GARGOYLE_STRING_H
+#ifndef GARGOYLE_UNICODE_H
+#define GARGOYLE_UNICODE_H
-#include "gargoyle/string.h"
#include "gargoyle/glk_types.h"
namespace Gargoyle {
+typedef glui32 gli_case_block_t[2]; /* upper, lower */
+enum BufferChangeCase { CASE_UPPER = 0, CASE_LOWER = 1, CASE_TITLE = 2, CASE_IDENT = 3 };
+enum BufferChangeCond { COND_ALL = 0, COND_LINESTART = 1 };
+
/*
* Get the length of a unicode string
*/
size_t strlen_uni(const uint32 *s);
/**
+ * Apply a case change to the buffer. The len is the length of the buffer
+ * array; numchars is the number of characters originally in it. (This
+ * may be less than len.) The result will be clipped to fit len, but
+ * the return value will be the full number of characters that the
+ *converted string should have contained.
+ */
+extern glui32 bufferChangeCase(glui32 *buf, glui32 len,
+ glui32 numchars, BufferChangeCase destcase, BufferChangeCond cond, int changerest);
+
+/**
* Converts a decimal or hexadecimal string into a number
*/
int strToInt(const char *s);
diff --git a/engines/gargoyle/unicode_gen.cpp b/engines/gargoyle/unicode_gen.cpp
new file mode 100644
index 0000000000..a6b0bc5dad
--- /dev/null
+++ b/engines/gargoyle/unicode_gen.cpp
@@ -0,0 +1,11825 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software{} you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation{} either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY{} without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program{} if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+/**
+ * This file is based on one that was generated by casemap.py.
+ * Derived from Unicode data files, Unicode version 4.0.1.
+ */
+
+#include "gargoyle/unicode_gen.h"
+
+namespace Gargoyle {
+
+gli_case_block_t unigen_case_block_0x0[256] = {
+ { 0x0, 0x0 },
+ { 0x1, 0x1 },
+ { 0x2, 0x2 },
+ { 0x3, 0x3 },
+ { 0x4, 0x4 },
+ { 0x5, 0x5 },
+ { 0x6, 0x6 },
+ { 0x7, 0x7 },
+ { 0x8, 0x8 },
+ { 0x9, 0x9 },
+ { 0xa, 0xa },
+ { 0xb, 0xb },
+ { 0xc, 0xc },
+ { 0xd, 0xd },
+ { 0xe, 0xe },
+ { 0xf, 0xf },
+ { 0x10, 0x10 },
+ { 0x11, 0x11 },
+ { 0x12, 0x12 },
+ { 0x13, 0x13 },
+ { 0x14, 0x14 },
+ { 0x15, 0x15 },
+ { 0x16, 0x16 },
+ { 0x17, 0x17 },
+ { 0x18, 0x18 },
+ { 0x19, 0x19 },
+ { 0x1a, 0x1a },
+ { 0x1b, 0x1b },
+ { 0x1c, 0x1c },
+ { 0x1d, 0x1d },
+ { 0x1e, 0x1e },
+ { 0x1f, 0x1f },
+ { 0x20, 0x20 },
+ { 0x21, 0x21 },
+ { 0x22, 0x22 },
+ { 0x23, 0x23 },
+ { 0x24, 0x24 },
+ { 0x25, 0x25 },
+ { 0x26, 0x26 },
+ { 0x27, 0x27 },
+ { 0x28, 0x28 },
+ { 0x29, 0x29 },
+ { 0x2a, 0x2a },
+ { 0x2b, 0x2b },
+ { 0x2c, 0x2c },
+ { 0x2d, 0x2d },
+ { 0x2e, 0x2e },
+ { 0x2f, 0x2f },
+ { 0x30, 0x30 },
+ { 0x31, 0x31 },
+ { 0x32, 0x32 },
+ { 0x33, 0x33 },
+ { 0x34, 0x34 },
+ { 0x35, 0x35 },
+ { 0x36, 0x36 },
+ { 0x37, 0x37 },
+ { 0x38, 0x38 },
+ { 0x39, 0x39 },
+ { 0x3a, 0x3a },
+ { 0x3b, 0x3b },
+ { 0x3c, 0x3c },
+ { 0x3d, 0x3d },
+ { 0x3e, 0x3e },
+ { 0x3f, 0x3f },
+ { 0x40, 0x40 },
+ { 0x41, 0x61 }, /* upper */
+ { 0x42, 0x62 }, /* upper */
+ { 0x43, 0x63 }, /* upper */
+ { 0x44, 0x64 }, /* upper */
+ { 0x45, 0x65 }, /* upper */
+ { 0x46, 0x66 }, /* upper */
+ { 0x47, 0x67 }, /* upper */
+ { 0x48, 0x68 }, /* upper */
+ { 0x49, 0x69 }, /* upper */
+ { 0x4a, 0x6a }, /* upper */
+ { 0x4b, 0x6b }, /* upper */
+ { 0x4c, 0x6c }, /* upper */
+ { 0x4d, 0x6d }, /* upper */
+ { 0x4e, 0x6e }, /* upper */
+ { 0x4f, 0x6f }, /* upper */
+ { 0x50, 0x70 }, /* upper */
+ { 0x51, 0x71 }, /* upper */
+ { 0x52, 0x72 }, /* upper */
+ { 0x53, 0x73 }, /* upper */
+ { 0x54, 0x74 }, /* upper */
+ { 0x55, 0x75 }, /* upper */
+ { 0x56, 0x76 }, /* upper */
+ { 0x57, 0x77 }, /* upper */
+ { 0x58, 0x78 }, /* upper */
+ { 0x59, 0x79 }, /* upper */
+ { 0x5a, 0x7a }, /* upper */
+ { 0x5b, 0x5b },
+ { 0x5c, 0x5c },
+ { 0x5d, 0x5d },
+ { 0x5e, 0x5e },
+ { 0x5f, 0x5f },
+ { 0x60, 0x60 },
+ { 0x41, 0x61 }, /* lower */
+ { 0x42, 0x62 }, /* lower */
+ { 0x43, 0x63 }, /* lower */
+ { 0x44, 0x64 }, /* lower */
+ { 0x45, 0x65 }, /* lower */
+ { 0x46, 0x66 }, /* lower */
+ { 0x47, 0x67 }, /* lower */
+ { 0x48, 0x68 }, /* lower */
+ { 0x49, 0x69 }, /* lower */
+ { 0x4a, 0x6a }, /* lower */
+ { 0x4b, 0x6b }, /* lower */
+ { 0x4c, 0x6c }, /* lower */
+ { 0x4d, 0x6d }, /* lower */
+ { 0x4e, 0x6e }, /* lower */
+ { 0x4f, 0x6f }, /* lower */
+ { 0x50, 0x70 }, /* lower */
+ { 0x51, 0x71 }, /* lower */
+ { 0x52, 0x72 }, /* lower */
+ { 0x53, 0x73 }, /* lower */
+ { 0x54, 0x74 }, /* lower */
+ { 0x55, 0x75 }, /* lower */
+ { 0x56, 0x76 }, /* lower */
+ { 0x57, 0x77 }, /* lower */
+ { 0x58, 0x78 }, /* lower */
+ { 0x59, 0x79 }, /* lower */
+ { 0x5a, 0x7a }, /* lower */
+ { 0x7b, 0x7b },
+ { 0x7c, 0x7c },
+ { 0x7d, 0x7d },
+ { 0x7e, 0x7e },
+ { 0x7f, 0x7f },
+ { 0x80, 0x80 },
+ { 0x81, 0x81 },
+ { 0x82, 0x82 },
+ { 0x83, 0x83 },
+ { 0x84, 0x84 },
+ { 0x85, 0x85 },
+ { 0x86, 0x86 },
+ { 0x87, 0x87 },
+ { 0x88, 0x88 },
+ { 0x89, 0x89 },
+ { 0x8a, 0x8a },
+ { 0x8b, 0x8b },
+ { 0x8c, 0x8c },
+ { 0x8d, 0x8d },
+ { 0x8e, 0x8e },
+ { 0x8f, 0x8f },
+ { 0x90, 0x90 },
+ { 0x91, 0x91 },
+ { 0x92, 0x92 },
+ { 0x93, 0x93 },
+ { 0x94, 0x94 },
+ { 0x95, 0x95 },
+ { 0x96, 0x96 },
+ { 0x97, 0x97 },
+ { 0x98, 0x98 },
+ { 0x99, 0x99 },
+ { 0x9a, 0x9a },
+ { 0x9b, 0x9b },
+ { 0x9c, 0x9c },
+ { 0x9d, 0x9d },
+ { 0x9e, 0x9e },
+ { 0x9f, 0x9f },
+ { 0xa0, 0xa0 },
+ { 0xa1, 0xa1 },
+ { 0xa2, 0xa2 },
+ { 0xa3, 0xa3 },
+ { 0xa4, 0xa4 },
+ { 0xa5, 0xa5 },
+ { 0xa6, 0xa6 },
+ { 0xa7, 0xa7 },
+ { 0xa8, 0xa8 },
+ { 0xa9, 0xa9 },
+ { 0xaa, 0xaa },
+ { 0xab, 0xab },
+ { 0xac, 0xac },
+ { 0xad, 0xad },
+ { 0xae, 0xae },
+ { 0xaf, 0xaf },
+ { 0xb0, 0xb0 },
+ { 0xb1, 0xb1 },
+ { 0xb2, 0xb2 },
+ { 0xb3, 0xb3 },
+ { 0xb4, 0xb4 },
+ { 0x39c, 0xb5 }, /* lower */
+ { 0xb6, 0xb6 },
+ { 0xb7, 0xb7 },
+ { 0xb8, 0xb8 },
+ { 0xb9, 0xb9 },
+ { 0xba, 0xba },
+ { 0xbb, 0xbb },
+ { 0xbc, 0xbc },
+ { 0xbd, 0xbd },
+ { 0xbe, 0xbe },
+ { 0xbf, 0xbf },
+ { 0xc0, 0xe0 }, /* upper */
+ { 0xc1, 0xe1 }, /* upper */
+ { 0xc2, 0xe2 }, /* upper */
+ { 0xc3, 0xe3 }, /* upper */
+ { 0xc4, 0xe4 }, /* upper */
+ { 0xc5, 0xe5 }, /* upper */
+ { 0xc6, 0xe6 }, /* upper */
+ { 0xc7, 0xe7 }, /* upper */
+ { 0xc8, 0xe8 }, /* upper */
+ { 0xc9, 0xe9 }, /* upper */
+ { 0xca, 0xea }, /* upper */
+ { 0xcb, 0xeb }, /* upper */
+ { 0xcc, 0xec }, /* upper */
+ { 0xcd, 0xed }, /* upper */
+ { 0xce, 0xee }, /* upper */
+ { 0xcf, 0xef }, /* upper */
+ { 0xd0, 0xf0 }, /* upper */
+ { 0xd1, 0xf1 }, /* upper */
+ { 0xd2, 0xf2 }, /* upper */
+ { 0xd3, 0xf3 }, /* upper */
+ { 0xd4, 0xf4 }, /* upper */
+ { 0xd5, 0xf5 }, /* upper */
+ { 0xd6, 0xf6 }, /* upper */
+ { 0xd7, 0xd7 },
+ { 0xd8, 0xf8 }, /* upper */
+ { 0xd9, 0xf9 }, /* upper */
+ { 0xda, 0xfa }, /* upper */
+ { 0xdb, 0xfb }, /* upper */
+ { 0xdc, 0xfc }, /* upper */
+ { 0xdd, 0xfd }, /* upper */
+ { 0xde, 0xfe }, /* upper */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xc0, 0xe0 }, /* lower */
+ { 0xc1, 0xe1 }, /* lower */
+ { 0xc2, 0xe2 }, /* lower */
+ { 0xc3, 0xe3 }, /* lower */
+ { 0xc4, 0xe4 }, /* lower */
+ { 0xc5, 0xe5 }, /* lower */
+ { 0xc6, 0xe6 }, /* lower */
+ { 0xc7, 0xe7 }, /* lower */
+ { 0xc8, 0xe8 }, /* lower */
+ { 0xc9, 0xe9 }, /* lower */
+ { 0xca, 0xea }, /* lower */
+ { 0xcb, 0xeb }, /* lower */
+ { 0xcc, 0xec }, /* lower */
+ { 0xcd, 0xed }, /* lower */
+ { 0xce, 0xee }, /* lower */
+ { 0xcf, 0xef }, /* lower */
+ { 0xd0, 0xf0 }, /* lower */
+ { 0xd1, 0xf1 }, /* lower */
+ { 0xd2, 0xf2 }, /* lower */
+ { 0xd3, 0xf3 }, /* lower */
+ { 0xd4, 0xf4 }, /* lower */
+ { 0xd5, 0xf5 }, /* lower */
+ { 0xd6, 0xf6 }, /* lower */
+ { 0xf7, 0xf7 },
+ { 0xd8, 0xf8 }, /* lower */
+ { 0xd9, 0xf9 }, /* lower */
+ { 0xda, 0xfa }, /* lower */
+ { 0xdb, 0xfb }, /* lower */
+ { 0xdc, 0xfc }, /* lower */
+ { 0xdd, 0xfd }, /* lower */
+ { 0xde, 0xfe }, /* lower */
+ { 0x178, 0xff }, /* lower */
+};
+
+gli_case_block_t unigen_case_block_0x1[256] = {
+ { 0x100, 0x101 }, /* upper */
+ { 0x100, 0x101 }, /* lower */
+ { 0x102, 0x103 }, /* upper */
+ { 0x102, 0x103 }, /* lower */
+ { 0x104, 0x105 }, /* upper */
+ { 0x104, 0x105 }, /* lower */
+ { 0x106, 0x107 }, /* upper */
+ { 0x106, 0x107 }, /* lower */
+ { 0x108, 0x109 }, /* upper */
+ { 0x108, 0x109 }, /* lower */
+ { 0x10a, 0x10b }, /* upper */
+ { 0x10a, 0x10b }, /* lower */
+ { 0x10c, 0x10d }, /* upper */
+ { 0x10c, 0x10d }, /* lower */
+ { 0x10e, 0x10f }, /* upper */
+ { 0x10e, 0x10f }, /* lower */
+ { 0x110, 0x111 }, /* upper */
+ { 0x110, 0x111 }, /* lower */
+ { 0x112, 0x113 }, /* upper */
+ { 0x112, 0x113 }, /* lower */
+ { 0x114, 0x115 }, /* upper */
+ { 0x114, 0x115 }, /* lower */
+ { 0x116, 0x117 }, /* upper */
+ { 0x116, 0x117 }, /* lower */
+ { 0x118, 0x119 }, /* upper */
+ { 0x118, 0x119 }, /* lower */
+ { 0x11a, 0x11b }, /* upper */
+ { 0x11a, 0x11b }, /* lower */
+ { 0x11c, 0x11d }, /* upper */
+ { 0x11c, 0x11d }, /* lower */
+ { 0x11e, 0x11f }, /* upper */
+ { 0x11e, 0x11f }, /* lower */
+ { 0x120, 0x121 }, /* upper */
+ { 0x120, 0x121 }, /* lower */
+ { 0x122, 0x123 }, /* upper */
+ { 0x122, 0x123 }, /* lower */
+ { 0x124, 0x125 }, /* upper */
+ { 0x124, 0x125 }, /* lower */
+ { 0x126, 0x127 }, /* upper */
+ { 0x126, 0x127 }, /* lower */
+ { 0x128, 0x129 }, /* upper */
+ { 0x128, 0x129 }, /* lower */
+ { 0x12a, 0x12b }, /* upper */
+ { 0x12a, 0x12b }, /* lower */
+ { 0x12c, 0x12d }, /* upper */
+ { 0x12c, 0x12d }, /* lower */
+ { 0x12e, 0x12f }, /* upper */
+ { 0x12e, 0x12f }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x49, 0x131 }, /* lower */
+ { 0x132, 0x133 }, /* upper */
+ { 0x132, 0x133 }, /* lower */
+ { 0x134, 0x135 }, /* upper */
+ { 0x134, 0x135 }, /* lower */
+ { 0x136, 0x137 }, /* upper */
+ { 0x136, 0x137 }, /* lower */
+ { 0x138, 0x138 },
+ { 0x139, 0x13a }, /* upper */
+ { 0x139, 0x13a }, /* lower */
+ { 0x13b, 0x13c }, /* upper */
+ { 0x13b, 0x13c }, /* lower */
+ { 0x13d, 0x13e }, /* upper */
+ { 0x13d, 0x13e }, /* lower */
+ { 0x13f, 0x140 }, /* upper */
+ { 0x13f, 0x140 }, /* lower */
+ { 0x141, 0x142 }, /* upper */
+ { 0x141, 0x142 }, /* lower */
+ { 0x143, 0x144 }, /* upper */
+ { 0x143, 0x144 }, /* lower */
+ { 0x145, 0x146 }, /* upper */
+ { 0x145, 0x146 }, /* lower */
+ { 0x147, 0x148 }, /* upper */
+ { 0x147, 0x148 }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x14a, 0x14b }, /* upper */
+ { 0x14a, 0x14b }, /* lower */
+ { 0x14c, 0x14d }, /* upper */
+ { 0x14c, 0x14d }, /* lower */
+ { 0x14e, 0x14f }, /* upper */
+ { 0x14e, 0x14f }, /* lower */
+ { 0x150, 0x151 }, /* upper */
+ { 0x150, 0x151 }, /* lower */
+ { 0x152, 0x153 }, /* upper */
+ { 0x152, 0x153 }, /* lower */
+ { 0x154, 0x155 }, /* upper */
+ { 0x154, 0x155 }, /* lower */
+ { 0x156, 0x157 }, /* upper */
+ { 0x156, 0x157 }, /* lower */
+ { 0x158, 0x159 }, /* upper */
+ { 0x158, 0x159 }, /* lower */
+ { 0x15a, 0x15b }, /* upper */
+ { 0x15a, 0x15b }, /* lower */
+ { 0x15c, 0x15d }, /* upper */
+ { 0x15c, 0x15d }, /* lower */
+ { 0x15e, 0x15f }, /* upper */
+ { 0x15e, 0x15f }, /* lower */
+ { 0x160, 0x161 }, /* upper */
+ { 0x160, 0x161 }, /* lower */
+ { 0x162, 0x163 }, /* upper */
+ { 0x162, 0x163 }, /* lower */
+ { 0x164, 0x165 }, /* upper */
+ { 0x164, 0x165 }, /* lower */
+ { 0x166, 0x167 }, /* upper */
+ { 0x166, 0x167 }, /* lower */
+ { 0x168, 0x169 }, /* upper */
+ { 0x168, 0x169 }, /* lower */
+ { 0x16a, 0x16b }, /* upper */
+ { 0x16a, 0x16b }, /* lower */
+ { 0x16c, 0x16d }, /* upper */
+ { 0x16c, 0x16d }, /* lower */
+ { 0x16e, 0x16f }, /* upper */
+ { 0x16e, 0x16f }, /* lower */
+ { 0x170, 0x171 }, /* upper */
+ { 0x170, 0x171 }, /* lower */
+ { 0x172, 0x173 }, /* upper */
+ { 0x172, 0x173 }, /* lower */
+ { 0x174, 0x175 }, /* upper */
+ { 0x174, 0x175 }, /* lower */
+ { 0x176, 0x177 }, /* upper */
+ { 0x176, 0x177 }, /* lower */
+ { 0x178, 0xff }, /* upper */
+ { 0x179, 0x17a }, /* upper */
+ { 0x179, 0x17a }, /* lower */
+ { 0x17b, 0x17c }, /* upper */
+ { 0x17b, 0x17c }, /* lower */
+ { 0x17d, 0x17e }, /* upper */
+ { 0x17d, 0x17e }, /* lower */
+ { 0x53, 0x17f }, /* lower */
+ { 0x180, 0x180 },
+ { 0x181, 0x253 }, /* upper */
+ { 0x182, 0x183 }, /* upper */
+ { 0x182, 0x183 }, /* lower */
+ { 0x184, 0x185 }, /* upper */
+ { 0x184, 0x185 }, /* lower */
+ { 0x186, 0x254 }, /* upper */
+ { 0x187, 0x188 }, /* upper */
+ { 0x187, 0x188 }, /* lower */
+ { 0x189, 0x256 }, /* upper */
+ { 0x18a, 0x257 }, /* upper */
+ { 0x18b, 0x18c }, /* upper */
+ { 0x18b, 0x18c }, /* lower */
+ { 0x18d, 0x18d },
+ { 0x18e, 0x1dd }, /* upper */
+ { 0x18f, 0x259 }, /* upper */
+ { 0x190, 0x25b }, /* upper */
+ { 0x191, 0x192 }, /* upper */
+ { 0x191, 0x192 }, /* lower */
+ { 0x193, 0x260 }, /* upper */
+ { 0x194, 0x263 }, /* upper */
+ { 0x1f6, 0x195 }, /* lower */
+ { 0x196, 0x269 }, /* upper */
+ { 0x197, 0x268 }, /* upper */
+ { 0x198, 0x199 }, /* upper */
+ { 0x198, 0x199 }, /* lower */
+ { 0x19a, 0x19a },
+ { 0x19b, 0x19b },
+ { 0x19c, 0x26f }, /* upper */
+ { 0x19d, 0x272 }, /* upper */
+ { 0x220, 0x19e }, /* lower */
+ { 0x19f, 0x275 }, /* upper */
+ { 0x1a0, 0x1a1 }, /* upper */
+ { 0x1a0, 0x1a1 }, /* lower */
+ { 0x1a2, 0x1a3 }, /* upper */
+ { 0x1a2, 0x1a3 }, /* lower */
+ { 0x1a4, 0x1a5 }, /* upper */
+ { 0x1a4, 0x1a5 }, /* lower */
+ { 0x1a6, 0x280 }, /* upper */
+ { 0x1a7, 0x1a8 }, /* upper */
+ { 0x1a7, 0x1a8 }, /* lower */
+ { 0x1a9, 0x283 }, /* upper */
+ { 0x1aa, 0x1aa },
+ { 0x1ab, 0x1ab },
+ { 0x1ac, 0x1ad }, /* upper */
+ { 0x1ac, 0x1ad }, /* lower */
+ { 0x1ae, 0x288 }, /* upper */
+ { 0x1af, 0x1b0 }, /* upper */
+ { 0x1af, 0x1b0 }, /* lower */
+ { 0x1b1, 0x28a }, /* upper */
+ { 0x1b2, 0x28b }, /* upper */
+ { 0x1b3, 0x1b4 }, /* upper */
+ { 0x1b3, 0x1b4 }, /* lower */
+ { 0x1b5, 0x1b6 }, /* upper */
+ { 0x1b5, 0x1b6 }, /* lower */
+ { 0x1b7, 0x292 }, /* upper */
+ { 0x1b8, 0x1b9 }, /* upper */
+ { 0x1b8, 0x1b9 }, /* lower */
+ { 0x1ba, 0x1ba },
+ { 0x1bb, 0x1bb },
+ { 0x1bc, 0x1bd }, /* upper */
+ { 0x1bc, 0x1bd }, /* lower */
+ { 0x1be, 0x1be },
+ { 0x1f7, 0x1bf }, /* lower */
+ { 0x1c0, 0x1c0 },
+ { 0x1c1, 0x1c1 },
+ { 0x1c2, 0x1c2 },
+ { 0x1c3, 0x1c3 },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1cd, 0x1ce }, /* upper */
+ { 0x1cd, 0x1ce }, /* lower */
+ { 0x1cf, 0x1d0 }, /* upper */
+ { 0x1cf, 0x1d0 }, /* lower */
+ { 0x1d1, 0x1d2 }, /* upper */
+ { 0x1d1, 0x1d2 }, /* lower */
+ { 0x1d3, 0x1d4 }, /* upper */
+ { 0x1d3, 0x1d4 }, /* lower */
+ { 0x1d5, 0x1d6 }, /* upper */
+ { 0x1d5, 0x1d6 }, /* lower */
+ { 0x1d7, 0x1d8 }, /* upper */
+ { 0x1d7, 0x1d8 }, /* lower */
+ { 0x1d9, 0x1da }, /* upper */
+ { 0x1d9, 0x1da }, /* lower */
+ { 0x1db, 0x1dc }, /* upper */
+ { 0x1db, 0x1dc }, /* lower */
+ { 0x18e, 0x1dd }, /* lower */
+ { 0x1de, 0x1df }, /* upper */
+ { 0x1de, 0x1df }, /* lower */
+ { 0x1e0, 0x1e1 }, /* upper */
+ { 0x1e0, 0x1e1 }, /* lower */
+ { 0x1e2, 0x1e3 }, /* upper */
+ { 0x1e2, 0x1e3 }, /* lower */
+ { 0x1e4, 0x1e5 }, /* upper */
+ { 0x1e4, 0x1e5 }, /* lower */
+ { 0x1e6, 0x1e7 }, /* upper */
+ { 0x1e6, 0x1e7 }, /* lower */
+ { 0x1e8, 0x1e9 }, /* upper */
+ { 0x1e8, 0x1e9 }, /* lower */
+ { 0x1ea, 0x1eb }, /* upper */
+ { 0x1ea, 0x1eb }, /* lower */
+ { 0x1ec, 0x1ed }, /* upper */
+ { 0x1ec, 0x1ed }, /* lower */
+ { 0x1ee, 0x1ef }, /* upper */
+ { 0x1ee, 0x1ef }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1f4, 0x1f5 }, /* upper */
+ { 0x1f4, 0x1f5 }, /* lower */
+ { 0x1f6, 0x195 }, /* upper */
+ { 0x1f7, 0x1bf }, /* upper */
+ { 0x1f8, 0x1f9 }, /* upper */
+ { 0x1f8, 0x1f9 }, /* lower */
+ { 0x1fa, 0x1fb }, /* upper */
+ { 0x1fa, 0x1fb }, /* lower */
+ { 0x1fc, 0x1fd }, /* upper */
+ { 0x1fc, 0x1fd }, /* lower */
+ { 0x1fe, 0x1ff }, /* upper */
+ { 0x1fe, 0x1ff }, /* lower */
+};
+
+gli_case_block_t unigen_case_block_0x2[256] = {
+ { 0x200, 0x201 }, /* upper */
+ { 0x200, 0x201 }, /* lower */
+ { 0x202, 0x203 }, /* upper */
+ { 0x202, 0x203 }, /* lower */
+ { 0x204, 0x205 }, /* upper */
+ { 0x204, 0x205 }, /* lower */
+ { 0x206, 0x207 }, /* upper */
+ { 0x206, 0x207 }, /* lower */
+ { 0x208, 0x209 }, /* upper */
+ { 0x208, 0x209 }, /* lower */
+ { 0x20a, 0x20b }, /* upper */
+ { 0x20a, 0x20b }, /* lower */
+ { 0x20c, 0x20d }, /* upper */
+ { 0x20c, 0x20d }, /* lower */
+ { 0x20e, 0x20f }, /* upper */
+ { 0x20e, 0x20f }, /* lower */
+ { 0x210, 0x211 }, /* upper */
+ { 0x210, 0x211 }, /* lower */
+ { 0x212, 0x213 }, /* upper */
+ { 0x212, 0x213 }, /* lower */
+ { 0x214, 0x215 }, /* upper */
+ { 0x214, 0x215 }, /* lower */
+ { 0x216, 0x217 }, /* upper */
+ { 0x216, 0x217 }, /* lower */
+ { 0x218, 0x219 }, /* upper */
+ { 0x218, 0x219 }, /* lower */
+ { 0x21a, 0x21b }, /* upper */
+ { 0x21a, 0x21b }, /* lower */
+ { 0x21c, 0x21d }, /* upper */
+ { 0x21c, 0x21d }, /* lower */
+ { 0x21e, 0x21f }, /* upper */
+ { 0x21e, 0x21f }, /* lower */
+ { 0x220, 0x19e }, /* upper */
+ { 0x221, 0x221 },
+ { 0x222, 0x223 }, /* upper */
+ { 0x222, 0x223 }, /* lower */
+ { 0x224, 0x225 }, /* upper */
+ { 0x224, 0x225 }, /* lower */
+ { 0x226, 0x227 }, /* upper */
+ { 0x226, 0x227 }, /* lower */
+ { 0x228, 0x229 }, /* upper */
+ { 0x228, 0x229 }, /* lower */
+ { 0x22a, 0x22b }, /* upper */
+ { 0x22a, 0x22b }, /* lower */
+ { 0x22c, 0x22d }, /* upper */
+ { 0x22c, 0x22d }, /* lower */
+ { 0x22e, 0x22f }, /* upper */
+ { 0x22e, 0x22f }, /* lower */
+ { 0x230, 0x231 }, /* upper */
+ { 0x230, 0x231 }, /* lower */
+ { 0x232, 0x233 }, /* upper */
+ { 0x232, 0x233 }, /* lower */
+ { 0x234, 0x234 },
+ { 0x235, 0x235 },
+ { 0x236, 0x236 },
+ { 0x237, 0x237 },
+ { 0x238, 0x238 },
+ { 0x239, 0x239 },
+ { 0x23a, 0x23a },
+ { 0x23b, 0x23b },
+ { 0x23c, 0x23c },
+ { 0x23d, 0x23d },
+ { 0x23e, 0x23e },
+ { 0x23f, 0x23f },
+ { 0x240, 0x240 },
+ { 0x241, 0x241 },
+ { 0x242, 0x242 },
+ { 0x243, 0x243 },
+ { 0x244, 0x244 },
+ { 0x245, 0x245 },
+ { 0x246, 0x246 },
+ { 0x247, 0x247 },
+ { 0x248, 0x248 },
+ { 0x249, 0x249 },
+ { 0x24a, 0x24a },
+ { 0x24b, 0x24b },
+ { 0x24c, 0x24c },
+ { 0x24d, 0x24d },
+ { 0x24e, 0x24e },
+ { 0x24f, 0x24f },
+ { 0x250, 0x250 },
+ { 0x251, 0x251 },
+ { 0x252, 0x252 },
+ { 0x181, 0x253 }, /* lower */
+ { 0x186, 0x254 }, /* lower */
+ { 0x255, 0x255 },
+ { 0x189, 0x256 }, /* lower */
+ { 0x18a, 0x257 }, /* lower */
+ { 0x258, 0x258 },
+ { 0x18f, 0x259 }, /* lower */
+ { 0x25a, 0x25a },
+ { 0x190, 0x25b }, /* lower */
+ { 0x25c, 0x25c },
+ { 0x25d, 0x25d },
+ { 0x25e, 0x25e },
+ { 0x25f, 0x25f },
+ { 0x193, 0x260 }, /* lower */
+ { 0x261, 0x261 },
+ { 0x262, 0x262 },
+ { 0x194, 0x263 }, /* lower */
+ { 0x264, 0x264 },
+ { 0x265, 0x265 },
+ { 0x266, 0x266 },
+ { 0x267, 0x267 },
+ { 0x197, 0x268 }, /* lower */
+ { 0x196, 0x269 }, /* lower */
+ { 0x26a, 0x26a },
+ { 0x26b, 0x26b },
+ { 0x26c, 0x26c },
+ { 0x26d, 0x26d },
+ { 0x26e, 0x26e },
+ { 0x19c, 0x26f }, /* lower */
+ { 0x270, 0x270 },
+ { 0x271, 0x271 },
+ { 0x19d, 0x272 }, /* lower */
+ { 0x273, 0x273 },
+ { 0x274, 0x274 },
+ { 0x19f, 0x275 }, /* lower */
+ { 0x276, 0x276 },
+ { 0x277, 0x277 },
+ { 0x278, 0x278 },
+ { 0x279, 0x279 },
+ { 0x27a, 0x27a },
+ { 0x27b, 0x27b },
+ { 0x27c, 0x27c },
+ { 0x27d, 0x27d },
+ { 0x27e, 0x27e },
+ { 0x27f, 0x27f },
+ { 0x1a6, 0x280 }, /* lower */
+ { 0x281, 0x281 },
+ { 0x282, 0x282 },
+ { 0x1a9, 0x283 }, /* lower */
+ { 0x284, 0x284 },
+ { 0x285, 0x285 },
+ { 0x286, 0x286 },
+ { 0x287, 0x287 },
+ { 0x1ae, 0x288 }, /* lower */
+ { 0x289, 0x289 },
+ { 0x1b1, 0x28a }, /* lower */
+ { 0x1b2, 0x28b }, /* lower */
+ { 0x28c, 0x28c },
+ { 0x28d, 0x28d },
+ { 0x28e, 0x28e },
+ { 0x28f, 0x28f },
+ { 0x290, 0x290 },
+ { 0x291, 0x291 },
+ { 0x1b7, 0x292 }, /* lower */
+ { 0x293, 0x293 },
+ { 0x294, 0x294 },
+ { 0x295, 0x295 },
+ { 0x296, 0x296 },
+ { 0x297, 0x297 },
+ { 0x298, 0x298 },
+ { 0x299, 0x299 },
+ { 0x29a, 0x29a },
+ { 0x29b, 0x29b },
+ { 0x29c, 0x29c },
+ { 0x29d, 0x29d },
+ { 0x29e, 0x29e },
+ { 0x29f, 0x29f },
+ { 0x2a0, 0x2a0 },
+ { 0x2a1, 0x2a1 },
+ { 0x2a2, 0x2a2 },
+ { 0x2a3, 0x2a3 },
+ { 0x2a4, 0x2a4 },
+ { 0x2a5, 0x2a5 },
+ { 0x2a6, 0x2a6 },
+ { 0x2a7, 0x2a7 },
+ { 0x2a8, 0x2a8 },
+ { 0x2a9, 0x2a9 },
+ { 0x2aa, 0x2aa },
+ { 0x2ab, 0x2ab },
+ { 0x2ac, 0x2ac },
+ { 0x2ad, 0x2ad },
+ { 0x2ae, 0x2ae },
+ { 0x2af, 0x2af },
+ { 0x2b0, 0x2b0 },
+ { 0x2b1, 0x2b1 },
+ { 0x2b2, 0x2b2 },
+ { 0x2b3, 0x2b3 },
+ { 0x2b4, 0x2b4 },
+ { 0x2b5, 0x2b5 },
+ { 0x2b6, 0x2b6 },
+ { 0x2b7, 0x2b7 },
+ { 0x2b8, 0x2b8 },
+ { 0x2b9, 0x2b9 },
+ { 0x2ba, 0x2ba },
+ { 0x2bb, 0x2bb },
+ { 0x2bc, 0x2bc },
+ { 0x2bd, 0x2bd },
+ { 0x2be, 0x2be },
+ { 0x2bf, 0x2bf },
+ { 0x2c0, 0x2c0 },
+ { 0x2c1, 0x2c1 },
+ { 0x2c2, 0x2c2 },
+ { 0x2c3, 0x2c3 },
+ { 0x2c4, 0x2c4 },
+ { 0x2c5, 0x2c5 },
+ { 0x2c6, 0x2c6 },
+ { 0x2c7, 0x2c7 },
+ { 0x2c8, 0x2c8 },
+ { 0x2c9, 0x2c9 },
+ { 0x2ca, 0x2ca },
+ { 0x2cb, 0x2cb },
+ { 0x2cc, 0x2cc },
+ { 0x2cd, 0x2cd },
+ { 0x2ce, 0x2ce },
+ { 0x2cf, 0x2cf },
+ { 0x2d0, 0x2d0 },
+ { 0x2d1, 0x2d1 },
+ { 0x2d2, 0x2d2 },
+ { 0x2d3, 0x2d3 },
+ { 0x2d4, 0x2d4 },
+ { 0x2d5, 0x2d5 },
+ { 0x2d6, 0x2d6 },
+ { 0x2d7, 0x2d7 },
+ { 0x2d8, 0x2d8 },
+ { 0x2d9, 0x2d9 },
+ { 0x2da, 0x2da },
+ { 0x2db, 0x2db },
+ { 0x2dc, 0x2dc },
+ { 0x2dd, 0x2dd },
+ { 0x2de, 0x2de },
+ { 0x2df, 0x2df },
+ { 0x2e0, 0x2e0 },
+ { 0x2e1, 0x2e1 },
+ { 0x2e2, 0x2e2 },
+ { 0x2e3, 0x2e3 },
+ { 0x2e4, 0x2e4 },
+ { 0x2e5, 0x2e5 },
+ { 0x2e6, 0x2e6 },
+ { 0x2e7, 0x2e7 },
+ { 0x2e8, 0x2e8 },
+ { 0x2e9, 0x2e9 },
+ { 0x2ea, 0x2ea },
+ { 0x2eb, 0x2eb },
+ { 0x2ec, 0x2ec },
+ { 0x2ed, 0x2ed },
+ { 0x2ee, 0x2ee },
+ { 0x2ef, 0x2ef },
+ { 0x2f0, 0x2f0 },
+ { 0x2f1, 0x2f1 },
+ { 0x2f2, 0x2f2 },
+ { 0x2f3, 0x2f3 },
+ { 0x2f4, 0x2f4 },
+ { 0x2f5, 0x2f5 },
+ { 0x2f6, 0x2f6 },
+ { 0x2f7, 0x2f7 },
+ { 0x2f8, 0x2f8 },
+ { 0x2f9, 0x2f9 },
+ { 0x2fa, 0x2fa },
+ { 0x2fb, 0x2fb },
+ { 0x2fc, 0x2fc },
+ { 0x2fd, 0x2fd },
+ { 0x2fe, 0x2fe },
+ { 0x2ff, 0x2ff },
+};
+
+gli_case_block_t unigen_case_block_0x3[256] = {
+ { 0x300, 0x300 },
+ { 0x301, 0x301 },
+ { 0x302, 0x302 },
+ { 0x303, 0x303 },
+ { 0x304, 0x304 },
+ { 0x305, 0x305 },
+ { 0x306, 0x306 },
+ { 0x307, 0x307 },
+ { 0x308, 0x308 },
+ { 0x309, 0x309 },
+ { 0x30a, 0x30a },
+ { 0x30b, 0x30b },
+ { 0x30c, 0x30c },
+ { 0x30d, 0x30d },
+ { 0x30e, 0x30e },
+ { 0x30f, 0x30f },
+ { 0x310, 0x310 },
+ { 0x311, 0x311 },
+ { 0x312, 0x312 },
+ { 0x313, 0x313 },
+ { 0x314, 0x314 },
+ { 0x315, 0x315 },
+ { 0x316, 0x316 },
+ { 0x317, 0x317 },
+ { 0x318, 0x318 },
+ { 0x319, 0x319 },
+ { 0x31a, 0x31a },
+ { 0x31b, 0x31b },
+ { 0x31c, 0x31c },
+ { 0x31d, 0x31d },
+ { 0x31e, 0x31e },
+ { 0x31f, 0x31f },
+ { 0x320, 0x320 },
+ { 0x321, 0x321 },
+ { 0x322, 0x322 },
+ { 0x323, 0x323 },
+ { 0x324, 0x324 },
+ { 0x325, 0x325 },
+ { 0x326, 0x326 },
+ { 0x327, 0x327 },
+ { 0x328, 0x328 },
+ { 0x329, 0x329 },
+ { 0x32a, 0x32a },
+ { 0x32b, 0x32b },
+ { 0x32c, 0x32c },
+ { 0x32d, 0x32d },
+ { 0x32e, 0x32e },
+ { 0x32f, 0x32f },
+ { 0x330, 0x330 },
+ { 0x331, 0x331 },
+ { 0x332, 0x332 },
+ { 0x333, 0x333 },
+ { 0x334, 0x334 },
+ { 0x335, 0x335 },
+ { 0x336, 0x336 },
+ { 0x337, 0x337 },
+ { 0x338, 0x338 },
+ { 0x339, 0x339 },
+ { 0x33a, 0x33a },
+ { 0x33b, 0x33b },
+ { 0x33c, 0x33c },
+ { 0x33d, 0x33d },
+ { 0x33e, 0x33e },
+ { 0x33f, 0x33f },
+ { 0x340, 0x340 },
+ { 0x341, 0x341 },
+ { 0x342, 0x342 },
+ { 0x343, 0x343 },
+ { 0x344, 0x344 },
+ { 0x399, 0x345 }, /* lower */
+ { 0x346, 0x346 },
+ { 0x347, 0x347 },
+ { 0x348, 0x348 },
+ { 0x349, 0x349 },
+ { 0x34a, 0x34a },
+ { 0x34b, 0x34b },
+ { 0x34c, 0x34c },
+ { 0x34d, 0x34d },
+ { 0x34e, 0x34e },
+ { 0x34f, 0x34f },
+ { 0x350, 0x350 },
+ { 0x351, 0x351 },
+ { 0x352, 0x352 },
+ { 0x353, 0x353 },
+ { 0x354, 0x354 },
+ { 0x355, 0x355 },
+ { 0x356, 0x356 },
+ { 0x357, 0x357 },
+ { 0x358, 0x358 },
+ { 0x359, 0x359 },
+ { 0x35a, 0x35a },
+ { 0x35b, 0x35b },
+ { 0x35c, 0x35c },
+ { 0x35d, 0x35d },
+ { 0x35e, 0x35e },
+ { 0x35f, 0x35f },
+ { 0x360, 0x360 },
+ { 0x361, 0x361 },
+ { 0x362, 0x362 },
+ { 0x363, 0x363 },
+ { 0x364, 0x364 },
+ { 0x365, 0x365 },
+ { 0x366, 0x366 },
+ { 0x367, 0x367 },
+ { 0x368, 0x368 },
+ { 0x369, 0x369 },
+ { 0x36a, 0x36a },
+ { 0x36b, 0x36b },
+ { 0x36c, 0x36c },
+ { 0x36d, 0x36d },
+ { 0x36e, 0x36e },
+ { 0x36f, 0x36f },
+ { 0x370, 0x370 },
+ { 0x371, 0x371 },
+ { 0x372, 0x372 },
+ { 0x373, 0x373 },
+ { 0x374, 0x374 },
+ { 0x375, 0x375 },
+ { 0x376, 0x376 },
+ { 0x377, 0x377 },
+ { 0x378, 0x378 },
+ { 0x379, 0x379 },
+ { 0x37a, 0x37a },
+ { 0x37b, 0x37b },
+ { 0x37c, 0x37c },
+ { 0x37d, 0x37d },
+ { 0x37e, 0x37e },
+ { 0x37f, 0x37f },
+ { 0x380, 0x380 },
+ { 0x381, 0x381 },
+ { 0x382, 0x382 },
+ { 0x383, 0x383 },
+ { 0x384, 0x384 },
+ { 0x385, 0x385 },
+ { 0x386, 0x3ac }, /* upper */
+ { 0x387, 0x387 },
+ { 0x388, 0x3ad }, /* upper */
+ { 0x389, 0x3ae }, /* upper */
+ { 0x38a, 0x3af }, /* upper */
+ { 0x38b, 0x38b },
+ { 0x38c, 0x3cc }, /* upper */
+ { 0x38d, 0x38d },
+ { 0x38e, 0x3cd }, /* upper */
+ { 0x38f, 0x3ce }, /* upper */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x391, 0x3b1 }, /* upper */
+ { 0x392, 0x3b2 }, /* upper */
+ { 0x393, 0x3b3 }, /* upper */
+ { 0x394, 0x3b4 }, /* upper */
+ { 0x395, 0x3b5 }, /* upper */
+ { 0x396, 0x3b6 }, /* upper */
+ { 0x397, 0x3b7 }, /* upper */
+ { 0x398, 0x3b8 }, /* upper */
+ { 0x399, 0x3b9 }, /* upper */
+ { 0x39a, 0x3ba }, /* upper */
+ { 0x39b, 0x3bb }, /* upper */
+ { 0x39c, 0x3bc }, /* upper */
+ { 0x39d, 0x3bd }, /* upper */
+ { 0x39e, 0x3be }, /* upper */
+ { 0x39f, 0x3bf }, /* upper */
+ { 0x3a0, 0x3c0 }, /* upper */
+ { 0x3a1, 0x3c1 }, /* upper */
+ { 0x3a2, 0x3a2 },
+ { 0x3a3, 0x3c3 }, /* upper */
+ { 0x3a4, 0x3c4 }, /* upper */
+ { 0x3a5, 0x3c5 }, /* upper */
+ { 0x3a6, 0x3c6 }, /* upper */
+ { 0x3a7, 0x3c7 }, /* upper */
+ { 0x3a8, 0x3c8 }, /* upper */
+ { 0x3a9, 0x3c9 }, /* upper */
+ { 0x3aa, 0x3ca }, /* upper */
+ { 0x3ab, 0x3cb }, /* upper */
+ { 0x386, 0x3ac }, /* lower */
+ { 0x388, 0x3ad }, /* lower */
+ { 0x389, 0x3ae }, /* lower */
+ { 0x38a, 0x3af }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x391, 0x3b1 }, /* lower */
+ { 0x392, 0x3b2 }, /* lower */
+ { 0x393, 0x3b3 }, /* lower */
+ { 0x394, 0x3b4 }, /* lower */
+ { 0x395, 0x3b5 }, /* lower */
+ { 0x396, 0x3b6 }, /* lower */
+ { 0x397, 0x3b7 }, /* lower */
+ { 0x398, 0x3b8 }, /* lower */
+ { 0x399, 0x3b9 }, /* lower */
+ { 0x39a, 0x3ba }, /* lower */
+ { 0x39b, 0x3bb }, /* lower */
+ { 0x39c, 0x3bc }, /* lower */
+ { 0x39d, 0x3bd }, /* lower */
+ { 0x39e, 0x3be }, /* lower */
+ { 0x39f, 0x3bf }, /* lower */
+ { 0x3a0, 0x3c0 }, /* lower */
+ { 0x3a1, 0x3c1 }, /* lower */
+ { 0x3a3, 0x3c2 }, /* lower */
+ { 0x3a3, 0x3c3 }, /* lower */
+ { 0x3a4, 0x3c4 }, /* lower */
+ { 0x3a5, 0x3c5 }, /* lower */
+ { 0x3a6, 0x3c6 }, /* lower */
+ { 0x3a7, 0x3c7 }, /* lower */
+ { 0x3a8, 0x3c8 }, /* lower */
+ { 0x3a9, 0x3c9 }, /* lower */
+ { 0x3aa, 0x3ca }, /* lower */
+ { 0x3ab, 0x3cb }, /* lower */
+ { 0x38c, 0x3cc }, /* lower */
+ { 0x38e, 0x3cd }, /* lower */
+ { 0x38f, 0x3ce }, /* lower */
+ { 0x3cf, 0x3cf },
+ { 0x392, 0x3d0 }, /* lower */
+ { 0x398, 0x3d1 }, /* lower */
+ { 0x3d2, 0x3d2 },
+ { 0x3d3, 0x3d3 },
+ { 0x3d4, 0x3d4 },
+ { 0x3a6, 0x3d5 }, /* lower */
+ { 0x3a0, 0x3d6 }, /* lower */
+ { 0x3d7, 0x3d7 },
+ { 0x3d8, 0x3d9 }, /* upper */
+ { 0x3d8, 0x3d9 }, /* lower */
+ { 0x3da, 0x3db }, /* upper */
+ { 0x3da, 0x3db }, /* lower */
+ { 0x3dc, 0x3dd }, /* upper */
+ { 0x3dc, 0x3dd }, /* lower */
+ { 0x3de, 0x3df }, /* upper */
+ { 0x3de, 0x3df }, /* lower */
+ { 0x3e0, 0x3e1 }, /* upper */
+ { 0x3e0, 0x3e1 }, /* lower */
+ { 0x3e2, 0x3e3 }, /* upper */
+ { 0x3e2, 0x3e3 }, /* lower */
+ { 0x3e4, 0x3e5 }, /* upper */
+ { 0x3e4, 0x3e5 }, /* lower */
+ { 0x3e6, 0x3e7 }, /* upper */
+ { 0x3e6, 0x3e7 }, /* lower */
+ { 0x3e8, 0x3e9 }, /* upper */
+ { 0x3e8, 0x3e9 }, /* lower */
+ { 0x3ea, 0x3eb }, /* upper */
+ { 0x3ea, 0x3eb }, /* lower */
+ { 0x3ec, 0x3ed }, /* upper */
+ { 0x3ec, 0x3ed }, /* lower */
+ { 0x3ee, 0x3ef }, /* upper */
+ { 0x3ee, 0x3ef }, /* lower */
+ { 0x39a, 0x3f0 }, /* lower */
+ { 0x3a1, 0x3f1 }, /* lower */
+ { 0x3f9, 0x3f2 }, /* lower */
+ { 0x3f3, 0x3f3 },
+ { 0x3f4, 0x3b8 }, /* upper */
+ { 0x395, 0x3f5 }, /* lower */
+ { 0x3f6, 0x3f6 },
+ { 0x3f7, 0x3f8 }, /* upper */
+ { 0x3f7, 0x3f8 }, /* lower */
+ { 0x3f9, 0x3f2 }, /* upper */
+ { 0x3fa, 0x3fb }, /* upper */
+ { 0x3fa, 0x3fb }, /* lower */
+ { 0x3fc, 0x3fc },
+ { 0x3fd, 0x3fd },
+ { 0x3fe, 0x3fe },
+ { 0x3ff, 0x3ff },
+};
+
+gli_case_block_t unigen_case_block_0x4[256] = {
+ { 0x400, 0x450 }, /* upper */
+ { 0x401, 0x451 }, /* upper */
+ { 0x402, 0x452 }, /* upper */
+ { 0x403, 0x453 }, /* upper */
+ { 0x404, 0x454 }, /* upper */
+ { 0x405, 0x455 }, /* upper */
+ { 0x406, 0x456 }, /* upper */
+ { 0x407, 0x457 }, /* upper */
+ { 0x408, 0x458 }, /* upper */
+ { 0x409, 0x459 }, /* upper */
+ { 0x40a, 0x45a }, /* upper */
+ { 0x40b, 0x45b }, /* upper */
+ { 0x40c, 0x45c }, /* upper */
+ { 0x40d, 0x45d }, /* upper */
+ { 0x40e, 0x45e }, /* upper */
+ { 0x40f, 0x45f }, /* upper */
+ { 0x410, 0x430 }, /* upper */
+ { 0x411, 0x431 }, /* upper */
+ { 0x412, 0x432 }, /* upper */
+ { 0x413, 0x433 }, /* upper */
+ { 0x414, 0x434 }, /* upper */
+ { 0x415, 0x435 }, /* upper */
+ { 0x416, 0x436 }, /* upper */
+ { 0x417, 0x437 }, /* upper */
+ { 0x418, 0x438 }, /* upper */
+ { 0x419, 0x439 }, /* upper */
+ { 0x41a, 0x43a }, /* upper */
+ { 0x41b, 0x43b }, /* upper */
+ { 0x41c, 0x43c }, /* upper */
+ { 0x41d, 0x43d }, /* upper */
+ { 0x41e, 0x43e }, /* upper */
+ { 0x41f, 0x43f }, /* upper */
+ { 0x420, 0x440 }, /* upper */
+ { 0x421, 0x441 }, /* upper */
+ { 0x422, 0x442 }, /* upper */
+ { 0x423, 0x443 }, /* upper */
+ { 0x424, 0x444 }, /* upper */
+ { 0x425, 0x445 }, /* upper */
+ { 0x426, 0x446 }, /* upper */
+ { 0x427, 0x447 }, /* upper */
+ { 0x428, 0x448 }, /* upper */
+ { 0x429, 0x449 }, /* upper */
+ { 0x42a, 0x44a }, /* upper */
+ { 0x42b, 0x44b }, /* upper */
+ { 0x42c, 0x44c }, /* upper */
+ { 0x42d, 0x44d }, /* upper */
+ { 0x42e, 0x44e }, /* upper */
+ { 0x42f, 0x44f }, /* upper */
+ { 0x410, 0x430 }, /* lower */
+ { 0x411, 0x431 }, /* lower */
+ { 0x412, 0x432 }, /* lower */
+ { 0x413, 0x433 }, /* lower */
+ { 0x414, 0x434 }, /* lower */
+ { 0x415, 0x435 }, /* lower */
+ { 0x416, 0x436 }, /* lower */
+ { 0x417, 0x437 }, /* lower */
+ { 0x418, 0x438 }, /* lower */
+ { 0x419, 0x439 }, /* lower */
+ { 0x41a, 0x43a }, /* lower */
+ { 0x41b, 0x43b }, /* lower */
+ { 0x41c, 0x43c }, /* lower */
+ { 0x41d, 0x43d }, /* lower */
+ { 0x41e, 0x43e }, /* lower */
+ { 0x41f, 0x43f }, /* lower */
+ { 0x420, 0x440 }, /* lower */
+ { 0x421, 0x441 }, /* lower */
+ { 0x422, 0x442 }, /* lower */
+ { 0x423, 0x443 }, /* lower */
+ { 0x424, 0x444 }, /* lower */
+ { 0x425, 0x445 }, /* lower */
+ { 0x426, 0x446 }, /* lower */
+ { 0x427, 0x447 }, /* lower */
+ { 0x428, 0x448 }, /* lower */
+ { 0x429, 0x449 }, /* lower */
+ { 0x42a, 0x44a }, /* lower */
+ { 0x42b, 0x44b }, /* lower */
+ { 0x42c, 0x44c }, /* lower */
+ { 0x42d, 0x44d }, /* lower */
+ { 0x42e, 0x44e }, /* lower */
+ { 0x42f, 0x44f }, /* lower */
+ { 0x400, 0x450 }, /* lower */
+ { 0x401, 0x451 }, /* lower */
+ { 0x402, 0x452 }, /* lower */
+ { 0x403, 0x453 }, /* lower */
+ { 0x404, 0x454 }, /* lower */
+ { 0x405, 0x455 }, /* lower */
+ { 0x406, 0x456 }, /* lower */
+ { 0x407, 0x457 }, /* lower */
+ { 0x408, 0x458 }, /* lower */
+ { 0x409, 0x459 }, /* lower */
+ { 0x40a, 0x45a }, /* lower */
+ { 0x40b, 0x45b }, /* lower */
+ { 0x40c, 0x45c }, /* lower */
+ { 0x40d, 0x45d }, /* lower */
+ { 0x40e, 0x45e }, /* lower */
+ { 0x40f, 0x45f }, /* lower */
+ { 0x460, 0x461 }, /* upper */
+ { 0x460, 0x461 }, /* lower */
+ { 0x462, 0x463 }, /* upper */
+ { 0x462, 0x463 }, /* lower */
+ { 0x464, 0x465 }, /* upper */
+ { 0x464, 0x465 }, /* lower */
+ { 0x466, 0x467 }, /* upper */
+ { 0x466, 0x467 }, /* lower */
+ { 0x468, 0x469 }, /* upper */
+ { 0x468, 0x469 }, /* lower */
+ { 0x46a, 0x46b }, /* upper */
+ { 0x46a, 0x46b }, /* lower */
+ { 0x46c, 0x46d }, /* upper */
+ { 0x46c, 0x46d }, /* lower */
+ { 0x46e, 0x46f }, /* upper */
+ { 0x46e, 0x46f }, /* lower */
+ { 0x470, 0x471 }, /* upper */
+ { 0x470, 0x471 }, /* lower */
+ { 0x472, 0x473 }, /* upper */
+ { 0x472, 0x473 }, /* lower */
+ { 0x474, 0x475 }, /* upper */
+ { 0x474, 0x475 }, /* lower */
+ { 0x476, 0x477 }, /* upper */
+ { 0x476, 0x477 }, /* lower */
+ { 0x478, 0x479 }, /* upper */
+ { 0x478, 0x479 }, /* lower */
+ { 0x47a, 0x47b }, /* upper */
+ { 0x47a, 0x47b }, /* lower */
+ { 0x47c, 0x47d }, /* upper */
+ { 0x47c, 0x47d }, /* lower */
+ { 0x47e, 0x47f }, /* upper */
+ { 0x47e, 0x47f }, /* lower */
+ { 0x480, 0x481 }, /* upper */
+ { 0x480, 0x481 }, /* lower */
+ { 0x482, 0x482 },
+ { 0x483, 0x483 },
+ { 0x484, 0x484 },
+ { 0x485, 0x485 },
+ { 0x486, 0x486 },
+ { 0x487, 0x487 },
+ { 0x488, 0x488 },
+ { 0x489, 0x489 },
+ { 0x48a, 0x48b }, /* upper */
+ { 0x48a, 0x48b }, /* lower */
+ { 0x48c, 0x48d }, /* upper */
+ { 0x48c, 0x48d }, /* lower */
+ { 0x48e, 0x48f }, /* upper */
+ { 0x48e, 0x48f }, /* lower */
+ { 0x490, 0x491 }, /* upper */
+ { 0x490, 0x491 }, /* lower */
+ { 0x492, 0x493 }, /* upper */
+ { 0x492, 0x493 }, /* lower */
+ { 0x494, 0x495 }, /* upper */
+ { 0x494, 0x495 }, /* lower */
+ { 0x496, 0x497 }, /* upper */
+ { 0x496, 0x497 }, /* lower */
+ { 0x498, 0x499 }, /* upper */
+ { 0x498, 0x499 }, /* lower */
+ { 0x49a, 0x49b }, /* upper */
+ { 0x49a, 0x49b }, /* lower */
+ { 0x49c, 0x49d }, /* upper */
+ { 0x49c, 0x49d }, /* lower */
+ { 0x49e, 0x49f }, /* upper */
+ { 0x49e, 0x49f }, /* lower */
+ { 0x4a0, 0x4a1 }, /* upper */
+ { 0x4a0, 0x4a1 }, /* lower */
+ { 0x4a2, 0x4a3 }, /* upper */
+ { 0x4a2, 0x4a3 }, /* lower */
+ { 0x4a4, 0x4a5 }, /* upper */
+ { 0x4a4, 0x4a5 }, /* lower */
+ { 0x4a6, 0x4a7 }, /* upper */
+ { 0x4a6, 0x4a7 }, /* lower */
+ { 0x4a8, 0x4a9 }, /* upper */
+ { 0x4a8, 0x4a9 }, /* lower */
+ { 0x4aa, 0x4ab }, /* upper */
+ { 0x4aa, 0x4ab }, /* lower */
+ { 0x4ac, 0x4ad }, /* upper */
+ { 0x4ac, 0x4ad }, /* lower */
+ { 0x4ae, 0x4af }, /* upper */
+ { 0x4ae, 0x4af }, /* lower */
+ { 0x4b0, 0x4b1 }, /* upper */
+ { 0x4b0, 0x4b1 }, /* lower */
+ { 0x4b2, 0x4b3 }, /* upper */
+ { 0x4b2, 0x4b3 }, /* lower */
+ { 0x4b4, 0x4b5 }, /* upper */
+ { 0x4b4, 0x4b5 }, /* lower */
+ { 0x4b6, 0x4b7 }, /* upper */
+ { 0x4b6, 0x4b7 }, /* lower */
+ { 0x4b8, 0x4b9 }, /* upper */
+ { 0x4b8, 0x4b9 }, /* lower */
+ { 0x4ba, 0x4bb }, /* upper */
+ { 0x4ba, 0x4bb }, /* lower */
+ { 0x4bc, 0x4bd }, /* upper */
+ { 0x4bc, 0x4bd }, /* lower */
+ { 0x4be, 0x4bf }, /* upper */
+ { 0x4be, 0x4bf }, /* lower */
+ { 0x4c0, 0x4c0 },
+ { 0x4c1, 0x4c2 }, /* upper */
+ { 0x4c1, 0x4c2 }, /* lower */
+ { 0x4c3, 0x4c4 }, /* upper */
+ { 0x4c3, 0x4c4 }, /* lower */
+ { 0x4c5, 0x4c6 }, /* upper */
+ { 0x4c5, 0x4c6 }, /* lower */
+ { 0x4c7, 0x4c8 }, /* upper */
+ { 0x4c7, 0x4c8 }, /* lower */
+ { 0x4c9, 0x4ca }, /* upper */
+ { 0x4c9, 0x4ca }, /* lower */
+ { 0x4cb, 0x4cc }, /* upper */
+ { 0x4cb, 0x4cc }, /* lower */
+ { 0x4cd, 0x4ce }, /* upper */
+ { 0x4cd, 0x4ce }, /* lower */
+ { 0x4cf, 0x4cf },
+ { 0x4d0, 0x4d1 }, /* upper */
+ { 0x4d0, 0x4d1 }, /* lower */
+ { 0x4d2, 0x4d3 }, /* upper */
+ { 0x4d2, 0x4d3 }, /* lower */
+ { 0x4d4, 0x4d5 }, /* upper */
+ { 0x4d4, 0x4d5 }, /* lower */
+ { 0x4d6, 0x4d7 }, /* upper */
+ { 0x4d6, 0x4d7 }, /* lower */
+ { 0x4d8, 0x4d9 }, /* upper */
+ { 0x4d8, 0x4d9 }, /* lower */
+ { 0x4da, 0x4db }, /* upper */
+ { 0x4da, 0x4db }, /* lower */
+ { 0x4dc, 0x4dd }, /* upper */
+ { 0x4dc, 0x4dd }, /* lower */
+ { 0x4de, 0x4df }, /* upper */
+ { 0x4de, 0x4df }, /* lower */
+ { 0x4e0, 0x4e1 }, /* upper */
+ { 0x4e0, 0x4e1 }, /* lower */
+ { 0x4e2, 0x4e3 }, /* upper */
+ { 0x4e2, 0x4e3 }, /* lower */
+ { 0x4e4, 0x4e5 }, /* upper */
+ { 0x4e4, 0x4e5 }, /* lower */
+ { 0x4e6, 0x4e7 }, /* upper */
+ { 0x4e6, 0x4e7 }, /* lower */
+ { 0x4e8, 0x4e9 }, /* upper */
+ { 0x4e8, 0x4e9 }, /* lower */
+ { 0x4ea, 0x4eb }, /* upper */
+ { 0x4ea, 0x4eb }, /* lower */
+ { 0x4ec, 0x4ed }, /* upper */
+ { 0x4ec, 0x4ed }, /* lower */
+ { 0x4ee, 0x4ef }, /* upper */
+ { 0x4ee, 0x4ef }, /* lower */
+ { 0x4f0, 0x4f1 }, /* upper */
+ { 0x4f0, 0x4f1 }, /* lower */
+ { 0x4f2, 0x4f3 }, /* upper */
+ { 0x4f2, 0x4f3 }, /* lower */
+ { 0x4f4, 0x4f5 }, /* upper */
+ { 0x4f4, 0x4f5 }, /* lower */
+ { 0x4f6, 0x4f6 },
+ { 0x4f7, 0x4f7 },
+ { 0x4f8, 0x4f9 }, /* upper */
+ { 0x4f8, 0x4f9 }, /* lower */
+ { 0x4fa, 0x4fa },
+ { 0x4fb, 0x4fb },
+ { 0x4fc, 0x4fc },
+ { 0x4fd, 0x4fd },
+ { 0x4fe, 0x4fe },
+ { 0x4ff, 0x4ff },
+};
+
+gli_case_block_t unigen_case_block_0x5[256] = {
+ { 0x500, 0x501 }, /* upper */
+ { 0x500, 0x501 }, /* lower */
+ { 0x502, 0x503 }, /* upper */
+ { 0x502, 0x503 }, /* lower */
+ { 0x504, 0x505 }, /* upper */
+ { 0x504, 0x505 }, /* lower */
+ { 0x506, 0x507 }, /* upper */
+ { 0x506, 0x507 }, /* lower */
+ { 0x508, 0x509 }, /* upper */
+ { 0x508, 0x509 }, /* lower */
+ { 0x50a, 0x50b }, /* upper */
+ { 0x50a, 0x50b }, /* lower */
+ { 0x50c, 0x50d }, /* upper */
+ { 0x50c, 0x50d }, /* lower */
+ { 0x50e, 0x50f }, /* upper */
+ { 0x50e, 0x50f }, /* lower */
+ { 0x510, 0x510 },
+ { 0x511, 0x511 },
+ { 0x512, 0x512 },
+ { 0x513, 0x513 },
+ { 0x514, 0x514 },
+ { 0x515, 0x515 },
+ { 0x516, 0x516 },
+ { 0x517, 0x517 },
+ { 0x518, 0x518 },
+ { 0x519, 0x519 },
+ { 0x51a, 0x51a },
+ { 0x51b, 0x51b },
+ { 0x51c, 0x51c },
+ { 0x51d, 0x51d },
+ { 0x51e, 0x51e },
+ { 0x51f, 0x51f },
+ { 0x520, 0x520 },
+ { 0x521, 0x521 },
+ { 0x522, 0x522 },
+ { 0x523, 0x523 },
+ { 0x524, 0x524 },
+ { 0x525, 0x525 },
+ { 0x526, 0x526 },
+ { 0x527, 0x527 },
+ { 0x528, 0x528 },
+ { 0x529, 0x529 },
+ { 0x52a, 0x52a },
+ { 0x52b, 0x52b },
+ { 0x52c, 0x52c },
+ { 0x52d, 0x52d },
+ { 0x52e, 0x52e },
+ { 0x52f, 0x52f },
+ { 0x530, 0x530 },
+ { 0x531, 0x561 }, /* upper */
+ { 0x532, 0x562 }, /* upper */
+ { 0x533, 0x563 }, /* upper */
+ { 0x534, 0x564 }, /* upper */
+ { 0x535, 0x565 }, /* upper */
+ { 0x536, 0x566 }, /* upper */
+ { 0x537, 0x567 }, /* upper */
+ { 0x538, 0x568 }, /* upper */
+ { 0x539, 0x569 }, /* upper */
+ { 0x53a, 0x56a }, /* upper */
+ { 0x53b, 0x56b }, /* upper */
+ { 0x53c, 0x56c }, /* upper */
+ { 0x53d, 0x56d }, /* upper */
+ { 0x53e, 0x56e }, /* upper */
+ { 0x53f, 0x56f }, /* upper */
+ { 0x540, 0x570 }, /* upper */
+ { 0x541, 0x571 }, /* upper */
+ { 0x542, 0x572 }, /* upper */
+ { 0x543, 0x573 }, /* upper */
+ { 0x544, 0x574 }, /* upper */
+ { 0x545, 0x575 }, /* upper */
+ { 0x546, 0x576 }, /* upper */
+ { 0x547, 0x577 }, /* upper */
+ { 0x548, 0x578 }, /* upper */
+ { 0x549, 0x579 }, /* upper */
+ { 0x54a, 0x57a }, /* upper */
+ { 0x54b, 0x57b }, /* upper */
+ { 0x54c, 0x57c }, /* upper */
+ { 0x54d, 0x57d }, /* upper */
+ { 0x54e, 0x57e }, /* upper */
+ { 0x54f, 0x57f }, /* upper */
+ { 0x550, 0x580 }, /* upper */
+ { 0x551, 0x581 }, /* upper */
+ { 0x552, 0x582 }, /* upper */
+ { 0x553, 0x583 }, /* upper */
+ { 0x554, 0x584 }, /* upper */
+ { 0x555, 0x585 }, /* upper */
+ { 0x556, 0x586 }, /* upper */
+ { 0x557, 0x557 },
+ { 0x558, 0x558 },
+ { 0x559, 0x559 },
+ { 0x55a, 0x55a },
+ { 0x55b, 0x55b },
+ { 0x55c, 0x55c },
+ { 0x55d, 0x55d },
+ { 0x55e, 0x55e },
+ { 0x55f, 0x55f },
+ { 0x560, 0x560 },
+ { 0x531, 0x561 }, /* lower */
+ { 0x532, 0x562 }, /* lower */
+ { 0x533, 0x563 }, /* lower */
+ { 0x534, 0x564 }, /* lower */
+ { 0x535, 0x565 }, /* lower */
+ { 0x536, 0x566 }, /* lower */
+ { 0x537, 0x567 }, /* lower */
+ { 0x538, 0x568 }, /* lower */
+ { 0x539, 0x569 }, /* lower */
+ { 0x53a, 0x56a }, /* lower */
+ { 0x53b, 0x56b }, /* lower */
+ { 0x53c, 0x56c }, /* lower */
+ { 0x53d, 0x56d }, /* lower */
+ { 0x53e, 0x56e }, /* lower */
+ { 0x53f, 0x56f }, /* lower */
+ { 0x540, 0x570 }, /* lower */
+ { 0x541, 0x571 }, /* lower */
+ { 0x542, 0x572 }, /* lower */
+ { 0x543, 0x573 }, /* lower */
+ { 0x544, 0x574 }, /* lower */
+ { 0x545, 0x575 }, /* lower */
+ { 0x546, 0x576 }, /* lower */
+ { 0x547, 0x577 }, /* lower */
+ { 0x548, 0x578 }, /* lower */
+ { 0x549, 0x579 }, /* lower */
+ { 0x54a, 0x57a }, /* lower */
+ { 0x54b, 0x57b }, /* lower */
+ { 0x54c, 0x57c }, /* lower */
+ { 0x54d, 0x57d }, /* lower */
+ { 0x54e, 0x57e }, /* lower */
+ { 0x54f, 0x57f }, /* lower */
+ { 0x550, 0x580 }, /* lower */
+ { 0x551, 0x581 }, /* lower */
+ { 0x552, 0x582 }, /* lower */
+ { 0x553, 0x583 }, /* lower */
+ { 0x554, 0x584 }, /* lower */
+ { 0x555, 0x585 }, /* lower */
+ { 0x556, 0x586 }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x588, 0x588 },
+ { 0x589, 0x589 },
+ { 0x58a, 0x58a },
+ { 0x58b, 0x58b },
+ { 0x58c, 0x58c },
+ { 0x58d, 0x58d },
+ { 0x58e, 0x58e },
+ { 0x58f, 0x58f },
+ { 0x590, 0x590 },
+ { 0x591, 0x591 },
+ { 0x592, 0x592 },
+ { 0x593, 0x593 },
+ { 0x594, 0x594 },
+ { 0x595, 0x595 },
+ { 0x596, 0x596 },
+ { 0x597, 0x597 },
+ { 0x598, 0x598 },
+ { 0x599, 0x599 },
+ { 0x59a, 0x59a },
+ { 0x59b, 0x59b },
+ { 0x59c, 0x59c },
+ { 0x59d, 0x59d },
+ { 0x59e, 0x59e },
+ { 0x59f, 0x59f },
+ { 0x5a0, 0x5a0 },
+ { 0x5a1, 0x5a1 },
+ { 0x5a2, 0x5a2 },
+ { 0x5a3, 0x5a3 },
+ { 0x5a4, 0x5a4 },
+ { 0x5a5, 0x5a5 },
+ { 0x5a6, 0x5a6 },
+ { 0x5a7, 0x5a7 },
+ { 0x5a8, 0x5a8 },
+ { 0x5a9, 0x5a9 },
+ { 0x5aa, 0x5aa },
+ { 0x5ab, 0x5ab },
+ { 0x5ac, 0x5ac },
+ { 0x5ad, 0x5ad },
+ { 0x5ae, 0x5ae },
+ { 0x5af, 0x5af },
+ { 0x5b0, 0x5b0 },
+ { 0x5b1, 0x5b1 },
+ { 0x5b2, 0x5b2 },
+ { 0x5b3, 0x5b3 },
+ { 0x5b4, 0x5b4 },
+ { 0x5b5, 0x5b5 },
+ { 0x5b6, 0x5b6 },
+ { 0x5b7, 0x5b7 },
+ { 0x5b8, 0x5b8 },
+ { 0x5b9, 0x5b9 },
+ { 0x5ba, 0x5ba },
+ { 0x5bb, 0x5bb },
+ { 0x5bc, 0x5bc },
+ { 0x5bd, 0x5bd },
+ { 0x5be, 0x5be },
+ { 0x5bf, 0x5bf },
+ { 0x5c0, 0x5c0 },
+ { 0x5c1, 0x5c1 },
+ { 0x5c2, 0x5c2 },
+ { 0x5c3, 0x5c3 },
+ { 0x5c4, 0x5c4 },
+ { 0x5c5, 0x5c5 },
+ { 0x5c6, 0x5c6 },
+ { 0x5c7, 0x5c7 },
+ { 0x5c8, 0x5c8 },
+ { 0x5c9, 0x5c9 },
+ { 0x5ca, 0x5ca },
+ { 0x5cb, 0x5cb },
+ { 0x5cc, 0x5cc },
+ { 0x5cd, 0x5cd },
+ { 0x5ce, 0x5ce },
+ { 0x5cf, 0x5cf },
+ { 0x5d0, 0x5d0 },
+ { 0x5d1, 0x5d1 },
+ { 0x5d2, 0x5d2 },
+ { 0x5d3, 0x5d3 },
+ { 0x5d4, 0x5d4 },
+ { 0x5d5, 0x5d5 },
+ { 0x5d6, 0x5d6 },
+ { 0x5d7, 0x5d7 },
+ { 0x5d8, 0x5d8 },
+ { 0x5d9, 0x5d9 },
+ { 0x5da, 0x5da },
+ { 0x5db, 0x5db },
+ { 0x5dc, 0x5dc },
+ { 0x5dd, 0x5dd },
+ { 0x5de, 0x5de },
+ { 0x5df, 0x5df },
+ { 0x5e0, 0x5e0 },
+ { 0x5e1, 0x5e1 },
+ { 0x5e2, 0x5e2 },
+ { 0x5e3, 0x5e3 },
+ { 0x5e4, 0x5e4 },
+ { 0x5e5, 0x5e5 },
+ { 0x5e6, 0x5e6 },
+ { 0x5e7, 0x5e7 },
+ { 0x5e8, 0x5e8 },
+ { 0x5e9, 0x5e9 },
+ { 0x5ea, 0x5ea },
+ { 0x5eb, 0x5eb },
+ { 0x5ec, 0x5ec },
+ { 0x5ed, 0x5ed },
+ { 0x5ee, 0x5ee },
+ { 0x5ef, 0x5ef },
+ { 0x5f0, 0x5f0 },
+ { 0x5f1, 0x5f1 },
+ { 0x5f2, 0x5f2 },
+ { 0x5f3, 0x5f3 },
+ { 0x5f4, 0x5f4 },
+ { 0x5f5, 0x5f5 },
+ { 0x5f6, 0x5f6 },
+ { 0x5f7, 0x5f7 },
+ { 0x5f8, 0x5f8 },
+ { 0x5f9, 0x5f9 },
+ { 0x5fa, 0x5fa },
+ { 0x5fb, 0x5fb },
+ { 0x5fc, 0x5fc },
+ { 0x5fd, 0x5fd },
+ { 0x5fe, 0x5fe },
+ { 0x5ff, 0x5ff },
+};
+
+gli_case_block_t unigen_case_block_0x1e[256] = {
+ { 0x1e00, 0x1e01 }, /* upper */
+ { 0x1e00, 0x1e01 }, /* lower */
+ { 0x1e02, 0x1e03 }, /* upper */
+ { 0x1e02, 0x1e03 }, /* lower */
+ { 0x1e04, 0x1e05 }, /* upper */
+ { 0x1e04, 0x1e05 }, /* lower */
+ { 0x1e06, 0x1e07 }, /* upper */
+ { 0x1e06, 0x1e07 }, /* lower */
+ { 0x1e08, 0x1e09 }, /* upper */
+ { 0x1e08, 0x1e09 }, /* lower */
+ { 0x1e0a, 0x1e0b }, /* upper */
+ { 0x1e0a, 0x1e0b }, /* lower */
+ { 0x1e0c, 0x1e0d }, /* upper */
+ { 0x1e0c, 0x1e0d }, /* lower */
+ { 0x1e0e, 0x1e0f }, /* upper */
+ { 0x1e0e, 0x1e0f }, /* lower */
+ { 0x1e10, 0x1e11 }, /* upper */
+ { 0x1e10, 0x1e11 }, /* lower */
+ { 0x1e12, 0x1e13 }, /* upper */
+ { 0x1e12, 0x1e13 }, /* lower */
+ { 0x1e14, 0x1e15 }, /* upper */
+ { 0x1e14, 0x1e15 }, /* lower */
+ { 0x1e16, 0x1e17 }, /* upper */
+ { 0x1e16, 0x1e17 }, /* lower */
+ { 0x1e18, 0x1e19 }, /* upper */
+ { 0x1e18, 0x1e19 }, /* lower */
+ { 0x1e1a, 0x1e1b }, /* upper */
+ { 0x1e1a, 0x1e1b }, /* lower */
+ { 0x1e1c, 0x1e1d }, /* upper */
+ { 0x1e1c, 0x1e1d }, /* lower */
+ { 0x1e1e, 0x1e1f }, /* upper */
+ { 0x1e1e, 0x1e1f }, /* lower */
+ { 0x1e20, 0x1e21 }, /* upper */
+ { 0x1e20, 0x1e21 }, /* lower */
+ { 0x1e22, 0x1e23 }, /* upper */
+ { 0x1e22, 0x1e23 }, /* lower */
+ { 0x1e24, 0x1e25 }, /* upper */
+ { 0x1e24, 0x1e25 }, /* lower */
+ { 0x1e26, 0x1e27 }, /* upper */
+ { 0x1e26, 0x1e27 }, /* lower */
+ { 0x1e28, 0x1e29 }, /* upper */
+ { 0x1e28, 0x1e29 }, /* lower */
+ { 0x1e2a, 0x1e2b }, /* upper */
+ { 0x1e2a, 0x1e2b }, /* lower */
+ { 0x1e2c, 0x1e2d }, /* upper */
+ { 0x1e2c, 0x1e2d }, /* lower */
+ { 0x1e2e, 0x1e2f }, /* upper */
+ { 0x1e2e, 0x1e2f }, /* lower */
+ { 0x1e30, 0x1e31 }, /* upper */
+ { 0x1e30, 0x1e31 }, /* lower */
+ { 0x1e32, 0x1e33 }, /* upper */
+ { 0x1e32, 0x1e33 }, /* lower */
+ { 0x1e34, 0x1e35 }, /* upper */
+ { 0x1e34, 0x1e35 }, /* lower */
+ { 0x1e36, 0x1e37 }, /* upper */
+ { 0x1e36, 0x1e37 }, /* lower */
+ { 0x1e38, 0x1e39 }, /* upper */
+ { 0x1e38, 0x1e39 }, /* lower */
+ { 0x1e3a, 0x1e3b }, /* upper */
+ { 0x1e3a, 0x1e3b }, /* lower */
+ { 0x1e3c, 0x1e3d }, /* upper */
+ { 0x1e3c, 0x1e3d }, /* lower */
+ { 0x1e3e, 0x1e3f }, /* upper */
+ { 0x1e3e, 0x1e3f }, /* lower */
+ { 0x1e40, 0x1e41 }, /* upper */
+ { 0x1e40, 0x1e41 }, /* lower */
+ { 0x1e42, 0x1e43 }, /* upper */
+ { 0x1e42, 0x1e43 }, /* lower */
+ { 0x1e44, 0x1e45 }, /* upper */
+ { 0x1e44, 0x1e45 }, /* lower */
+ { 0x1e46, 0x1e47 }, /* upper */
+ { 0x1e46, 0x1e47 }, /* lower */
+ { 0x1e48, 0x1e49 }, /* upper */
+ { 0x1e48, 0x1e49 }, /* lower */
+ { 0x1e4a, 0x1e4b }, /* upper */
+ { 0x1e4a, 0x1e4b }, /* lower */
+ { 0x1e4c, 0x1e4d }, /* upper */
+ { 0x1e4c, 0x1e4d }, /* lower */
+ { 0x1e4e, 0x1e4f }, /* upper */
+ { 0x1e4e, 0x1e4f }, /* lower */
+ { 0x1e50, 0x1e51 }, /* upper */
+ { 0x1e50, 0x1e51 }, /* lower */
+ { 0x1e52, 0x1e53 }, /* upper */
+ { 0x1e52, 0x1e53 }, /* lower */
+ { 0x1e54, 0x1e55 }, /* upper */
+ { 0x1e54, 0x1e55 }, /* lower */
+ { 0x1e56, 0x1e57 }, /* upper */
+ { 0x1e56, 0x1e57 }, /* lower */
+ { 0x1e58, 0x1e59 }, /* upper */
+ { 0x1e58, 0x1e59 }, /* lower */
+ { 0x1e5a, 0x1e5b }, /* upper */
+ { 0x1e5a, 0x1e5b }, /* lower */
+ { 0x1e5c, 0x1e5d }, /* upper */
+ { 0x1e5c, 0x1e5d }, /* lower */
+ { 0x1e5e, 0x1e5f }, /* upper */
+ { 0x1e5e, 0x1e5f }, /* lower */
+ { 0x1e60, 0x1e61 }, /* upper */
+ { 0x1e60, 0x1e61 }, /* lower */
+ { 0x1e62, 0x1e63 }, /* upper */
+ { 0x1e62, 0x1e63 }, /* lower */
+ { 0x1e64, 0x1e65 }, /* upper */
+ { 0x1e64, 0x1e65 }, /* lower */
+ { 0x1e66, 0x1e67 }, /* upper */
+ { 0x1e66, 0x1e67 }, /* lower */
+ { 0x1e68, 0x1e69 }, /* upper */
+ { 0x1e68, 0x1e69 }, /* lower */
+ { 0x1e6a, 0x1e6b }, /* upper */
+ { 0x1e6a, 0x1e6b }, /* lower */
+ { 0x1e6c, 0x1e6d }, /* upper */
+ { 0x1e6c, 0x1e6d }, /* lower */
+ { 0x1e6e, 0x1e6f }, /* upper */
+ { 0x1e6e, 0x1e6f }, /* lower */
+ { 0x1e70, 0x1e71 }, /* upper */
+ { 0x1e70, 0x1e71 }, /* lower */
+ { 0x1e72, 0x1e73 }, /* upper */
+ { 0x1e72, 0x1e73 }, /* lower */
+ { 0x1e74, 0x1e75 }, /* upper */
+ { 0x1e74, 0x1e75 }, /* lower */
+ { 0x1e76, 0x1e77 }, /* upper */
+ { 0x1e76, 0x1e77 }, /* lower */
+ { 0x1e78, 0x1e79 }, /* upper */
+ { 0x1e78, 0x1e79 }, /* lower */
+ { 0x1e7a, 0x1e7b }, /* upper */
+ { 0x1e7a, 0x1e7b }, /* lower */
+ { 0x1e7c, 0x1e7d }, /* upper */
+ { 0x1e7c, 0x1e7d }, /* lower */
+ { 0x1e7e, 0x1e7f }, /* upper */
+ { 0x1e7e, 0x1e7f }, /* lower */
+ { 0x1e80, 0x1e81 }, /* upper */
+ { 0x1e80, 0x1e81 }, /* lower */
+ { 0x1e82, 0x1e83 }, /* upper */
+ { 0x1e82, 0x1e83 }, /* lower */
+ { 0x1e84, 0x1e85 }, /* upper */
+ { 0x1e84, 0x1e85 }, /* lower */
+ { 0x1e86, 0x1e87 }, /* upper */
+ { 0x1e86, 0x1e87 }, /* lower */
+ { 0x1e88, 0x1e89 }, /* upper */
+ { 0x1e88, 0x1e89 }, /* lower */
+ { 0x1e8a, 0x1e8b }, /* upper */
+ { 0x1e8a, 0x1e8b }, /* lower */
+ { 0x1e8c, 0x1e8d }, /* upper */
+ { 0x1e8c, 0x1e8d }, /* lower */
+ { 0x1e8e, 0x1e8f }, /* upper */
+ { 0x1e8e, 0x1e8f }, /* lower */
+ { 0x1e90, 0x1e91 }, /* upper */
+ { 0x1e90, 0x1e91 }, /* lower */
+ { 0x1e92, 0x1e93 }, /* upper */
+ { 0x1e92, 0x1e93 }, /* lower */
+ { 0x1e94, 0x1e95 }, /* upper */
+ { 0x1e94, 0x1e95 }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1e60, 0x1e9b }, /* lower */
+ { 0x1e9c, 0x1e9c },
+ { 0x1e9d, 0x1e9d },
+ { 0x1e9e, 0x1e9e },
+ { 0x1e9f, 0x1e9f },
+ { 0x1ea0, 0x1ea1 }, /* upper */
+ { 0x1ea0, 0x1ea1 }, /* lower */
+ { 0x1ea2, 0x1ea3 }, /* upper */
+ { 0x1ea2, 0x1ea3 }, /* lower */
+ { 0x1ea4, 0x1ea5 }, /* upper */
+ { 0x1ea4, 0x1ea5 }, /* lower */
+ { 0x1ea6, 0x1ea7 }, /* upper */
+ { 0x1ea6, 0x1ea7 }, /* lower */
+ { 0x1ea8, 0x1ea9 }, /* upper */
+ { 0x1ea8, 0x1ea9 }, /* lower */
+ { 0x1eaa, 0x1eab }, /* upper */
+ { 0x1eaa, 0x1eab }, /* lower */
+ { 0x1eac, 0x1ead }, /* upper */
+ { 0x1eac, 0x1ead }, /* lower */
+ { 0x1eae, 0x1eaf }, /* upper */
+ { 0x1eae, 0x1eaf }, /* lower */
+ { 0x1eb0, 0x1eb1 }, /* upper */
+ { 0x1eb0, 0x1eb1 }, /* lower */
+ { 0x1eb2, 0x1eb3 }, /* upper */
+ { 0x1eb2, 0x1eb3 }, /* lower */
+ { 0x1eb4, 0x1eb5 }, /* upper */
+ { 0x1eb4, 0x1eb5 }, /* lower */
+ { 0x1eb6, 0x1eb7 }, /* upper */
+ { 0x1eb6, 0x1eb7 }, /* lower */
+ { 0x1eb8, 0x1eb9 }, /* upper */
+ { 0x1eb8, 0x1eb9 }, /* lower */
+ { 0x1eba, 0x1ebb }, /* upper */
+ { 0x1eba, 0x1ebb }, /* lower */
+ { 0x1ebc, 0x1ebd }, /* upper */
+ { 0x1ebc, 0x1ebd }, /* lower */
+ { 0x1ebe, 0x1ebf }, /* upper */
+ { 0x1ebe, 0x1ebf }, /* lower */
+ { 0x1ec0, 0x1ec1 }, /* upper */
+ { 0x1ec0, 0x1ec1 }, /* lower */
+ { 0x1ec2, 0x1ec3 }, /* upper */
+ { 0x1ec2, 0x1ec3 }, /* lower */
+ { 0x1ec4, 0x1ec5 }, /* upper */
+ { 0x1ec4, 0x1ec5 }, /* lower */
+ { 0x1ec6, 0x1ec7 }, /* upper */
+ { 0x1ec6, 0x1ec7 }, /* lower */
+ { 0x1ec8, 0x1ec9 }, /* upper */
+ { 0x1ec8, 0x1ec9 }, /* lower */
+ { 0x1eca, 0x1ecb }, /* upper */
+ { 0x1eca, 0x1ecb }, /* lower */
+ { 0x1ecc, 0x1ecd }, /* upper */
+ { 0x1ecc, 0x1ecd }, /* lower */
+ { 0x1ece, 0x1ecf }, /* upper */
+ { 0x1ece, 0x1ecf }, /* lower */
+ { 0x1ed0, 0x1ed1 }, /* upper */
+ { 0x1ed0, 0x1ed1 }, /* lower */
+ { 0x1ed2, 0x1ed3 }, /* upper */
+ { 0x1ed2, 0x1ed3 }, /* lower */
+ { 0x1ed4, 0x1ed5 }, /* upper */
+ { 0x1ed4, 0x1ed5 }, /* lower */
+ { 0x1ed6, 0x1ed7 }, /* upper */
+ { 0x1ed6, 0x1ed7 }, /* lower */
+ { 0x1ed8, 0x1ed9 }, /* upper */
+ { 0x1ed8, 0x1ed9 }, /* lower */
+ { 0x1eda, 0x1edb }, /* upper */
+ { 0x1eda, 0x1edb }, /* lower */
+ { 0x1edc, 0x1edd }, /* upper */
+ { 0x1edc, 0x1edd }, /* lower */
+ { 0x1ede, 0x1edf }, /* upper */
+ { 0x1ede, 0x1edf }, /* lower */
+ { 0x1ee0, 0x1ee1 }, /* upper */
+ { 0x1ee0, 0x1ee1 }, /* lower */
+ { 0x1ee2, 0x1ee3 }, /* upper */
+ { 0x1ee2, 0x1ee3 }, /* lower */
+ { 0x1ee4, 0x1ee5 }, /* upper */
+ { 0x1ee4, 0x1ee5 }, /* lower */
+ { 0x1ee6, 0x1ee7 }, /* upper */
+ { 0x1ee6, 0x1ee7 }, /* lower */
+ { 0x1ee8, 0x1ee9 }, /* upper */
+ { 0x1ee8, 0x1ee9 }, /* lower */
+ { 0x1eea, 0x1eeb }, /* upper */
+ { 0x1eea, 0x1eeb }, /* lower */
+ { 0x1eec, 0x1eed }, /* upper */
+ { 0x1eec, 0x1eed }, /* lower */
+ { 0x1eee, 0x1eef }, /* upper */
+ { 0x1eee, 0x1eef }, /* lower */
+ { 0x1ef0, 0x1ef1 }, /* upper */
+ { 0x1ef0, 0x1ef1 }, /* lower */
+ { 0x1ef2, 0x1ef3 }, /* upper */
+ { 0x1ef2, 0x1ef3 }, /* lower */
+ { 0x1ef4, 0x1ef5 }, /* upper */
+ { 0x1ef4, 0x1ef5 }, /* lower */
+ { 0x1ef6, 0x1ef7 }, /* upper */
+ { 0x1ef6, 0x1ef7 }, /* lower */
+ { 0x1ef8, 0x1ef9 }, /* upper */
+ { 0x1ef8, 0x1ef9 }, /* lower */
+ { 0x1efa, 0x1efa },
+ { 0x1efb, 0x1efb },
+ { 0x1efc, 0x1efc },
+ { 0x1efd, 0x1efd },
+ { 0x1efe, 0x1efe },
+ { 0x1eff, 0x1eff },
+};
+
+gli_case_block_t unigen_case_block_0x1f[256] = {
+ { 0x1f08, 0x1f00 }, /* lower */
+ { 0x1f09, 0x1f01 }, /* lower */
+ { 0x1f0a, 0x1f02 }, /* lower */
+ { 0x1f0b, 0x1f03 }, /* lower */
+ { 0x1f0c, 0x1f04 }, /* lower */
+ { 0x1f0d, 0x1f05 }, /* lower */
+ { 0x1f0e, 0x1f06 }, /* lower */
+ { 0x1f0f, 0x1f07 }, /* lower */
+ { 0x1f08, 0x1f00 }, /* upper */
+ { 0x1f09, 0x1f01 }, /* upper */
+ { 0x1f0a, 0x1f02 }, /* upper */
+ { 0x1f0b, 0x1f03 }, /* upper */
+ { 0x1f0c, 0x1f04 }, /* upper */
+ { 0x1f0d, 0x1f05 }, /* upper */
+ { 0x1f0e, 0x1f06 }, /* upper */
+ { 0x1f0f, 0x1f07 }, /* upper */
+ { 0x1f18, 0x1f10 }, /* lower */
+ { 0x1f19, 0x1f11 }, /* lower */
+ { 0x1f1a, 0x1f12 }, /* lower */
+ { 0x1f1b, 0x1f13 }, /* lower */
+ { 0x1f1c, 0x1f14 }, /* lower */
+ { 0x1f1d, 0x1f15 }, /* lower */
+ { 0x1f16, 0x1f16 },
+ { 0x1f17, 0x1f17 },
+ { 0x1f18, 0x1f10 }, /* upper */
+ { 0x1f19, 0x1f11 }, /* upper */
+ { 0x1f1a, 0x1f12 }, /* upper */
+ { 0x1f1b, 0x1f13 }, /* upper */
+ { 0x1f1c, 0x1f14 }, /* upper */
+ { 0x1f1d, 0x1f15 }, /* upper */
+ { 0x1f1e, 0x1f1e },
+ { 0x1f1f, 0x1f1f },
+ { 0x1f28, 0x1f20 }, /* lower */
+ { 0x1f29, 0x1f21 }, /* lower */
+ { 0x1f2a, 0x1f22 }, /* lower */
+ { 0x1f2b, 0x1f23 }, /* lower */
+ { 0x1f2c, 0x1f24 }, /* lower */
+ { 0x1f2d, 0x1f25 }, /* lower */
+ { 0x1f2e, 0x1f26 }, /* lower */
+ { 0x1f2f, 0x1f27 }, /* lower */
+ { 0x1f28, 0x1f20 }, /* upper */
+ { 0x1f29, 0x1f21 }, /* upper */
+ { 0x1f2a, 0x1f22 }, /* upper */
+ { 0x1f2b, 0x1f23 }, /* upper */
+ { 0x1f2c, 0x1f24 }, /* upper */
+ { 0x1f2d, 0x1f25 }, /* upper */
+ { 0x1f2e, 0x1f26 }, /* upper */
+ { 0x1f2f, 0x1f27 }, /* upper */
+ { 0x1f38, 0x1f30 }, /* lower */
+ { 0x1f39, 0x1f31 }, /* lower */
+ { 0x1f3a, 0x1f32 }, /* lower */
+ { 0x1f3b, 0x1f33 }, /* lower */
+ { 0x1f3c, 0x1f34 }, /* lower */
+ { 0x1f3d, 0x1f35 }, /* lower */
+ { 0x1f3e, 0x1f36 }, /* lower */
+ { 0x1f3f, 0x1f37 }, /* lower */
+ { 0x1f38, 0x1f30 }, /* upper */
+ { 0x1f39, 0x1f31 }, /* upper */
+ { 0x1f3a, 0x1f32 }, /* upper */
+ { 0x1f3b, 0x1f33 }, /* upper */
+ { 0x1f3c, 0x1f34 }, /* upper */
+ { 0x1f3d, 0x1f35 }, /* upper */
+ { 0x1f3e, 0x1f36 }, /* upper */
+ { 0x1f3f, 0x1f37 }, /* upper */
+ { 0x1f48, 0x1f40 }, /* lower */
+ { 0x1f49, 0x1f41 }, /* lower */
+ { 0x1f4a, 0x1f42 }, /* lower */
+ { 0x1f4b, 0x1f43 }, /* lower */
+ { 0x1f4c, 0x1f44 }, /* lower */
+ { 0x1f4d, 0x1f45 }, /* lower */
+ { 0x1f46, 0x1f46 },
+ { 0x1f47, 0x1f47 },
+ { 0x1f48, 0x1f40 }, /* upper */
+ { 0x1f49, 0x1f41 }, /* upper */
+ { 0x1f4a, 0x1f42 }, /* upper */
+ { 0x1f4b, 0x1f43 }, /* upper */
+ { 0x1f4c, 0x1f44 }, /* upper */
+ { 0x1f4d, 0x1f45 }, /* upper */
+ { 0x1f4e, 0x1f4e },
+ { 0x1f4f, 0x1f4f },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1f59, 0x1f51 }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1f5b, 0x1f53 }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1f5d, 0x1f55 }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1f5f, 0x1f57 }, /* lower */
+ { 0x1f58, 0x1f58 },
+ { 0x1f59, 0x1f51 }, /* upper */
+ { 0x1f5a, 0x1f5a },
+ { 0x1f5b, 0x1f53 }, /* upper */
+ { 0x1f5c, 0x1f5c },
+ { 0x1f5d, 0x1f55 }, /* upper */
+ { 0x1f5e, 0x1f5e },
+ { 0x1f5f, 0x1f57 }, /* upper */
+ { 0x1f68, 0x1f60 }, /* lower */
+ { 0x1f69, 0x1f61 }, /* lower */
+ { 0x1f6a, 0x1f62 }, /* lower */
+ { 0x1f6b, 0x1f63 }, /* lower */
+ { 0x1f6c, 0x1f64 }, /* lower */
+ { 0x1f6d, 0x1f65 }, /* lower */
+ { 0x1f6e, 0x1f66 }, /* lower */
+ { 0x1f6f, 0x1f67 }, /* lower */
+ { 0x1f68, 0x1f60 }, /* upper */
+ { 0x1f69, 0x1f61 }, /* upper */
+ { 0x1f6a, 0x1f62 }, /* upper */
+ { 0x1f6b, 0x1f63 }, /* upper */
+ { 0x1f6c, 0x1f64 }, /* upper */
+ { 0x1f6d, 0x1f65 }, /* upper */
+ { 0x1f6e, 0x1f66 }, /* upper */
+ { 0x1f6f, 0x1f67 }, /* upper */
+ { 0x1fba, 0x1f70 }, /* lower */
+ { 0x1fbb, 0x1f71 }, /* lower */
+ { 0x1fc8, 0x1f72 }, /* lower */
+ { 0x1fc9, 0x1f73 }, /* lower */
+ { 0x1fca, 0x1f74 }, /* lower */
+ { 0x1fcb, 0x1f75 }, /* lower */
+ { 0x1fda, 0x1f76 }, /* lower */
+ { 0x1fdb, 0x1f77 }, /* lower */
+ { 0x1ff8, 0x1f78 }, /* lower */
+ { 0x1ff9, 0x1f79 }, /* lower */
+ { 0x1fea, 0x1f7a }, /* lower */
+ { 0x1feb, 0x1f7b }, /* lower */
+ { 0x1ffa, 0x1f7c }, /* lower */
+ { 0x1ffb, 0x1f7d }, /* lower */
+ { 0x1f7e, 0x1f7e },
+ { 0x1f7f, 0x1f7f },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fb8, 0x1fb0 }, /* lower */
+ { 0x1fb9, 0x1fb1 }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fb5, 0x1fb5 },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fb8, 0x1fb0 }, /* upper */
+ { 0x1fb9, 0x1fb1 }, /* upper */
+ { 0x1fba, 0x1f70 }, /* upper */
+ { 0x1fbb, 0x1f71 }, /* upper */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fbd, 0x1fbd },
+ { 0x399, 0x1fbe }, /* lower */
+ { 0x1fbf, 0x1fbf },
+ { 0x1fc0, 0x1fc0 },
+ { 0x1fc1, 0x1fc1 },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fc5, 0x1fc5 },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fc8, 0x1f72 }, /* upper */
+ { 0x1fc9, 0x1f73 }, /* upper */
+ { 0x1fca, 0x1f74 }, /* upper */
+ { 0x1fcb, 0x1f75 }, /* upper */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fcd, 0x1fcd },
+ { 0x1fce, 0x1fce },
+ { 0x1fcf, 0x1fcf },
+ { 0x1fd8, 0x1fd0 }, /* lower */
+ { 0x1fd9, 0x1fd1 }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fd4, 0x1fd4 },
+ { 0x1fd5, 0x1fd5 },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fd8, 0x1fd0 }, /* upper */
+ { 0x1fd9, 0x1fd1 }, /* upper */
+ { 0x1fda, 0x1f76 }, /* upper */
+ { 0x1fdb, 0x1f77 }, /* upper */
+ { 0x1fdc, 0x1fdc },
+ { 0x1fdd, 0x1fdd },
+ { 0x1fde, 0x1fde },
+ { 0x1fdf, 0x1fdf },
+ { 0x1fe8, 0x1fe0 }, /* lower */
+ { 0x1fe9, 0x1fe1 }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fec, 0x1fe5 }, /* lower */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1fe8, 0x1fe0 }, /* upper */
+ { 0x1fe9, 0x1fe1 }, /* upper */
+ { 0x1fea, 0x1f7a }, /* upper */
+ { 0x1feb, 0x1f7b }, /* upper */
+ { 0x1fec, 0x1fe5 }, /* upper */
+ { 0x1fed, 0x1fed },
+ { 0x1fee, 0x1fee },
+ { 0x1fef, 0x1fef },
+ { 0x1ff0, 0x1ff0 },
+ { 0x1ff1, 0x1ff1 },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1ff5, 0x1ff5 },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1ff8, 0x1f78 }, /* upper */
+ { 0x1ff9, 0x1f79 }, /* upper */
+ { 0x1ffa, 0x1f7c }, /* upper */
+ { 0x1ffb, 0x1f7d }, /* upper */
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0x1ffd, 0x1ffd },
+ { 0x1ffe, 0x1ffe },
+ { 0x1fff, 0x1fff },
+};
+
+gli_case_block_t unigen_case_block_0x21[256] = {
+ { 0x2100, 0x2100 },
+ { 0x2101, 0x2101 },
+ { 0x2102, 0x2102 },
+ { 0x2103, 0x2103 },
+ { 0x2104, 0x2104 },
+ { 0x2105, 0x2105 },
+ { 0x2106, 0x2106 },
+ { 0x2107, 0x2107 },
+ { 0x2108, 0x2108 },
+ { 0x2109, 0x2109 },
+ { 0x210a, 0x210a },
+ { 0x210b, 0x210b },
+ { 0x210c, 0x210c },
+ { 0x210d, 0x210d },
+ { 0x210e, 0x210e },
+ { 0x210f, 0x210f },
+ { 0x2110, 0x2110 },
+ { 0x2111, 0x2111 },
+ { 0x2112, 0x2112 },
+ { 0x2113, 0x2113 },
+ { 0x2114, 0x2114 },
+ { 0x2115, 0x2115 },
+ { 0x2116, 0x2116 },
+ { 0x2117, 0x2117 },
+ { 0x2118, 0x2118 },
+ { 0x2119, 0x2119 },
+ { 0x211a, 0x211a },
+ { 0x211b, 0x211b },
+ { 0x211c, 0x211c },
+ { 0x211d, 0x211d },
+ { 0x211e, 0x211e },
+ { 0x211f, 0x211f },
+ { 0x2120, 0x2120 },
+ { 0x2121, 0x2121 },
+ { 0x2122, 0x2122 },
+ { 0x2123, 0x2123 },
+ { 0x2124, 0x2124 },
+ { 0x2125, 0x2125 },
+ { 0x2126, 0x3c9 }, /* upper */
+ { 0x2127, 0x2127 },
+ { 0x2128, 0x2128 },
+ { 0x2129, 0x2129 },
+ { 0x212a, 0x6b }, /* upper */
+ { 0x212b, 0xe5 }, /* upper */
+ { 0x212c, 0x212c },
+ { 0x212d, 0x212d },
+ { 0x212e, 0x212e },
+ { 0x212f, 0x212f },
+ { 0x2130, 0x2130 },
+ { 0x2131, 0x2131 },
+ { 0x2132, 0x2132 },
+ { 0x2133, 0x2133 },
+ { 0x2134, 0x2134 },
+ { 0x2135, 0x2135 },
+ { 0x2136, 0x2136 },
+ { 0x2137, 0x2137 },
+ { 0x2138, 0x2138 },
+ { 0x2139, 0x2139 },
+ { 0x213a, 0x213a },
+ { 0x213b, 0x213b },
+ { 0x213c, 0x213c },
+ { 0x213d, 0x213d },
+ { 0x213e, 0x213e },
+ { 0x213f, 0x213f },
+ { 0x2140, 0x2140 },
+ { 0x2141, 0x2141 },
+ { 0x2142, 0x2142 },
+ { 0x2143, 0x2143 },
+ { 0x2144, 0x2144 },
+ { 0x2145, 0x2145 },
+ { 0x2146, 0x2146 },
+ { 0x2147, 0x2147 },
+ { 0x2148, 0x2148 },
+ { 0x2149, 0x2149 },
+ { 0x214a, 0x214a },
+ { 0x214b, 0x214b },
+ { 0x214c, 0x214c },
+ { 0x214d, 0x214d },
+ { 0x214e, 0x214e },
+ { 0x214f, 0x214f },
+ { 0x2150, 0x2150 },
+ { 0x2151, 0x2151 },
+ { 0x2152, 0x2152 },
+ { 0x2153, 0x2153 },
+ { 0x2154, 0x2154 },
+ { 0x2155, 0x2155 },
+ { 0x2156, 0x2156 },
+ { 0x2157, 0x2157 },
+ { 0x2158, 0x2158 },
+ { 0x2159, 0x2159 },
+ { 0x215a, 0x215a },
+ { 0x215b, 0x215b },
+ { 0x215c, 0x215c },
+ { 0x215d, 0x215d },
+ { 0x215e, 0x215e },
+ { 0x215f, 0x215f },
+ { 0x2160, 0x2170 }, /* upper */
+ { 0x2161, 0x2171 }, /* upper */
+ { 0x2162, 0x2172 }, /* upper */
+ { 0x2163, 0x2173 }, /* upper */
+ { 0x2164, 0x2174 }, /* upper */
+ { 0x2165, 0x2175 }, /* upper */
+ { 0x2166, 0x2176 }, /* upper */
+ { 0x2167, 0x2177 }, /* upper */
+ { 0x2168, 0x2178 }, /* upper */
+ { 0x2169, 0x2179 }, /* upper */
+ { 0x216a, 0x217a }, /* upper */
+ { 0x216b, 0x217b }, /* upper */
+ { 0x216c, 0x217c }, /* upper */
+ { 0x216d, 0x217d }, /* upper */
+ { 0x216e, 0x217e }, /* upper */
+ { 0x216f, 0x217f }, /* upper */
+ { 0x2160, 0x2170 }, /* lower */
+ { 0x2161, 0x2171 }, /* lower */
+ { 0x2162, 0x2172 }, /* lower */
+ { 0x2163, 0x2173 }, /* lower */
+ { 0x2164, 0x2174 }, /* lower */
+ { 0x2165, 0x2175 }, /* lower */
+ { 0x2166, 0x2176 }, /* lower */
+ { 0x2167, 0x2177 }, /* lower */
+ { 0x2168, 0x2178 }, /* lower */
+ { 0x2169, 0x2179 }, /* lower */
+ { 0x216a, 0x217a }, /* lower */
+ { 0x216b, 0x217b }, /* lower */
+ { 0x216c, 0x217c }, /* lower */
+ { 0x216d, 0x217d }, /* lower */
+ { 0x216e, 0x217e }, /* lower */
+ { 0x216f, 0x217f }, /* lower */
+ { 0x2180, 0x2180 },
+ { 0x2181, 0x2181 },
+ { 0x2182, 0x2182 },
+ { 0x2183, 0x2183 },
+ { 0x2184, 0x2184 },
+ { 0x2185, 0x2185 },
+ { 0x2186, 0x2186 },
+ { 0x2187, 0x2187 },
+ { 0x2188, 0x2188 },
+ { 0x2189, 0x2189 },
+ { 0x218a, 0x218a },
+ { 0x218b, 0x218b },
+ { 0x218c, 0x218c },
+ { 0x218d, 0x218d },
+ { 0x218e, 0x218e },
+ { 0x218f, 0x218f },
+ { 0x2190, 0x2190 },
+ { 0x2191, 0x2191 },
+ { 0x2192, 0x2192 },
+ { 0x2193, 0x2193 },
+ { 0x2194, 0x2194 },
+ { 0x2195, 0x2195 },
+ { 0x2196, 0x2196 },
+ { 0x2197, 0x2197 },
+ { 0x2198, 0x2198 },
+ { 0x2199, 0x2199 },
+ { 0x219a, 0x219a },
+ { 0x219b, 0x219b },
+ { 0x219c, 0x219c },
+ { 0x219d, 0x219d },
+ { 0x219e, 0x219e },
+ { 0x219f, 0x219f },
+ { 0x21a0, 0x21a0 },
+ { 0x21a1, 0x21a1 },
+ { 0x21a2, 0x21a2 },
+ { 0x21a3, 0x21a3 },
+ { 0x21a4, 0x21a4 },
+ { 0x21a5, 0x21a5 },
+ { 0x21a6, 0x21a6 },
+ { 0x21a7, 0x21a7 },
+ { 0x21a8, 0x21a8 },
+ { 0x21a9, 0x21a9 },
+ { 0x21aa, 0x21aa },
+ { 0x21ab, 0x21ab },
+ { 0x21ac, 0x21ac },
+ { 0x21ad, 0x21ad },
+ { 0x21ae, 0x21ae },
+ { 0x21af, 0x21af },
+ { 0x21b0, 0x21b0 },
+ { 0x21b1, 0x21b1 },
+ { 0x21b2, 0x21b2 },
+ { 0x21b3, 0x21b3 },
+ { 0x21b4, 0x21b4 },
+ { 0x21b5, 0x21b5 },
+ { 0x21b6, 0x21b6 },
+ { 0x21b7, 0x21b7 },
+ { 0x21b8, 0x21b8 },
+ { 0x21b9, 0x21b9 },
+ { 0x21ba, 0x21ba },
+ { 0x21bb, 0x21bb },
+ { 0x21bc, 0x21bc },
+ { 0x21bd, 0x21bd },
+ { 0x21be, 0x21be },
+ { 0x21bf, 0x21bf },
+ { 0x21c0, 0x21c0 },
+ { 0x21c1, 0x21c1 },
+ { 0x21c2, 0x21c2 },
+ { 0x21c3, 0x21c3 },
+ { 0x21c4, 0x21c4 },
+ { 0x21c5, 0x21c5 },
+ { 0x21c6, 0x21c6 },
+ { 0x21c7, 0x21c7 },
+ { 0x21c8, 0x21c8 },
+ { 0x21c9, 0x21c9 },
+ { 0x21ca, 0x21ca },
+ { 0x21cb, 0x21cb },
+ { 0x21cc, 0x21cc },
+ { 0x21cd, 0x21cd },
+ { 0x21ce, 0x21ce },
+ { 0x21cf, 0x21cf },
+ { 0x21d0, 0x21d0 },
+ { 0x21d1, 0x21d1 },
+ { 0x21d2, 0x21d2 },
+ { 0x21d3, 0x21d3 },
+ { 0x21d4, 0x21d4 },
+ { 0x21d5, 0x21d5 },
+ { 0x21d6, 0x21d6 },
+ { 0x21d7, 0x21d7 },
+ { 0x21d8, 0x21d8 },
+ { 0x21d9, 0x21d9 },
+ { 0x21da, 0x21da },
+ { 0x21db, 0x21db },
+ { 0x21dc, 0x21dc },
+ { 0x21dd, 0x21dd },
+ { 0x21de, 0x21de },
+ { 0x21df, 0x21df },
+ { 0x21e0, 0x21e0 },
+ { 0x21e1, 0x21e1 },
+ { 0x21e2, 0x21e2 },
+ { 0x21e3, 0x21e3 },
+ { 0x21e4, 0x21e4 },
+ { 0x21e5, 0x21e5 },
+ { 0x21e6, 0x21e6 },
+ { 0x21e7, 0x21e7 },
+ { 0x21e8, 0x21e8 },
+ { 0x21e9, 0x21e9 },
+ { 0x21ea, 0x21ea },
+ { 0x21eb, 0x21eb },
+ { 0x21ec, 0x21ec },
+ { 0x21ed, 0x21ed },
+ { 0x21ee, 0x21ee },
+ { 0x21ef, 0x21ef },
+ { 0x21f0, 0x21f0 },
+ { 0x21f1, 0x21f1 },
+ { 0x21f2, 0x21f2 },
+ { 0x21f3, 0x21f3 },
+ { 0x21f4, 0x21f4 },
+ { 0x21f5, 0x21f5 },
+ { 0x21f6, 0x21f6 },
+ { 0x21f7, 0x21f7 },
+ { 0x21f8, 0x21f8 },
+ { 0x21f9, 0x21f9 },
+ { 0x21fa, 0x21fa },
+ { 0x21fb, 0x21fb },
+ { 0x21fc, 0x21fc },
+ { 0x21fd, 0x21fd },
+ { 0x21fe, 0x21fe },
+ { 0x21ff, 0x21ff },
+};
+
+gli_case_block_t unigen_case_block_0x24[256] = {
+ { 0x2400, 0x2400 },
+ { 0x2401, 0x2401 },
+ { 0x2402, 0x2402 },
+ { 0x2403, 0x2403 },
+ { 0x2404, 0x2404 },
+ { 0x2405, 0x2405 },
+ { 0x2406, 0x2406 },
+ { 0x2407, 0x2407 },
+ { 0x2408, 0x2408 },
+ { 0x2409, 0x2409 },
+ { 0x240a, 0x240a },
+ { 0x240b, 0x240b },
+ { 0x240c, 0x240c },
+ { 0x240d, 0x240d },
+ { 0x240e, 0x240e },
+ { 0x240f, 0x240f },
+ { 0x2410, 0x2410 },
+ { 0x2411, 0x2411 },
+ { 0x2412, 0x2412 },
+ { 0x2413, 0x2413 },
+ { 0x2414, 0x2414 },
+ { 0x2415, 0x2415 },
+ { 0x2416, 0x2416 },
+ { 0x2417, 0x2417 },
+ { 0x2418, 0x2418 },
+ { 0x2419, 0x2419 },
+ { 0x241a, 0x241a },
+ { 0x241b, 0x241b },
+ { 0x241c, 0x241c },
+ { 0x241d, 0x241d },
+ { 0x241e, 0x241e },
+ { 0x241f, 0x241f },
+ { 0x2420, 0x2420 },
+ { 0x2421, 0x2421 },
+ { 0x2422, 0x2422 },
+ { 0x2423, 0x2423 },
+ { 0x2424, 0x2424 },
+ { 0x2425, 0x2425 },
+ { 0x2426, 0x2426 },
+ { 0x2427, 0x2427 },
+ { 0x2428, 0x2428 },
+ { 0x2429, 0x2429 },
+ { 0x242a, 0x242a },
+ { 0x242b, 0x242b },
+ { 0x242c, 0x242c },
+ { 0x242d, 0x242d },
+ { 0x242e, 0x242e },
+ { 0x242f, 0x242f },
+ { 0x2430, 0x2430 },
+ { 0x2431, 0x2431 },
+ { 0x2432, 0x2432 },
+ { 0x2433, 0x2433 },
+ { 0x2434, 0x2434 },
+ { 0x2435, 0x2435 },
+ { 0x2436, 0x2436 },
+ { 0x2437, 0x2437 },
+ { 0x2438, 0x2438 },
+ { 0x2439, 0x2439 },
+ { 0x243a, 0x243a },
+ { 0x243b, 0x243b },
+ { 0x243c, 0x243c },
+ { 0x243d, 0x243d },
+ { 0x243e, 0x243e },
+ { 0x243f, 0x243f },
+ { 0x2440, 0x2440 },
+ { 0x2441, 0x2441 },
+ { 0x2442, 0x2442 },
+ { 0x2443, 0x2443 },
+ { 0x2444, 0x2444 },
+ { 0x2445, 0x2445 },
+ { 0x2446, 0x2446 },
+ { 0x2447, 0x2447 },
+ { 0x2448, 0x2448 },
+ { 0x2449, 0x2449 },
+ { 0x244a, 0x244a },
+ { 0x244b, 0x244b },
+ { 0x244c, 0x244c },
+ { 0x244d, 0x244d },
+ { 0x244e, 0x244e },
+ { 0x244f, 0x244f },
+ { 0x2450, 0x2450 },
+ { 0x2451, 0x2451 },
+ { 0x2452, 0x2452 },
+ { 0x2453, 0x2453 },
+ { 0x2454, 0x2454 },
+ { 0x2455, 0x2455 },
+ { 0x2456, 0x2456 },
+ { 0x2457, 0x2457 },
+ { 0x2458, 0x2458 },
+ { 0x2459, 0x2459 },
+ { 0x245a, 0x245a },
+ { 0x245b, 0x245b },
+ { 0x245c, 0x245c },
+ { 0x245d, 0x245d },
+ { 0x245e, 0x245e },
+ { 0x245f, 0x245f },
+ { 0x2460, 0x2460 },
+ { 0x2461, 0x2461 },
+ { 0x2462, 0x2462 },
+ { 0x2463, 0x2463 },
+ { 0x2464, 0x2464 },
+ { 0x2465, 0x2465 },
+ { 0x2466, 0x2466 },
+ { 0x2467, 0x2467 },
+ { 0x2468, 0x2468 },
+ { 0x2469, 0x2469 },
+ { 0x246a, 0x246a },
+ { 0x246b, 0x246b },
+ { 0x246c, 0x246c },
+ { 0x246d, 0x246d },
+ { 0x246e, 0x246e },
+ { 0x246f, 0x246f },
+ { 0x2470, 0x2470 },
+ { 0x2471, 0x2471 },
+ { 0x2472, 0x2472 },
+ { 0x2473, 0x2473 },
+ { 0x2474, 0x2474 },
+ { 0x2475, 0x2475 },
+ { 0x2476, 0x2476 },
+ { 0x2477, 0x2477 },
+ { 0x2478, 0x2478 },
+ { 0x2479, 0x2479 },
+ { 0x247a, 0x247a },
+ { 0x247b, 0x247b },
+ { 0x247c, 0x247c },
+ { 0x247d, 0x247d },
+ { 0x247e, 0x247e },
+ { 0x247f, 0x247f },
+ { 0x2480, 0x2480 },
+ { 0x2481, 0x2481 },
+ { 0x2482, 0x2482 },
+ { 0x2483, 0x2483 },
+ { 0x2484, 0x2484 },
+ { 0x2485, 0x2485 },
+ { 0x2486, 0x2486 },
+ { 0x2487, 0x2487 },
+ { 0x2488, 0x2488 },
+ { 0x2489, 0x2489 },
+ { 0x248a, 0x248a },
+ { 0x248b, 0x248b },
+ { 0x248c, 0x248c },
+ { 0x248d, 0x248d },
+ { 0x248e, 0x248e },
+ { 0x248f, 0x248f },
+ { 0x2490, 0x2490 },
+ { 0x2491, 0x2491 },
+ { 0x2492, 0x2492 },
+ { 0x2493, 0x2493 },
+ { 0x2494, 0x2494 },
+ { 0x2495, 0x2495 },
+ { 0x2496, 0x2496 },
+ { 0x2497, 0x2497 },
+ { 0x2498, 0x2498 },
+ { 0x2499, 0x2499 },
+ { 0x249a, 0x249a },
+ { 0x249b, 0x249b },
+ { 0x249c, 0x249c },
+ { 0x249d, 0x249d },
+ { 0x249e, 0x249e },
+ { 0x249f, 0x249f },
+ { 0x24a0, 0x24a0 },
+ { 0x24a1, 0x24a1 },
+ { 0x24a2, 0x24a2 },
+ { 0x24a3, 0x24a3 },
+ { 0x24a4, 0x24a4 },
+ { 0x24a5, 0x24a5 },
+ { 0x24a6, 0x24a6 },
+ { 0x24a7, 0x24a7 },
+ { 0x24a8, 0x24a8 },
+ { 0x24a9, 0x24a9 },
+ { 0x24aa, 0x24aa },
+ { 0x24ab, 0x24ab },
+ { 0x24ac, 0x24ac },
+ { 0x24ad, 0x24ad },
+ { 0x24ae, 0x24ae },
+ { 0x24af, 0x24af },
+ { 0x24b0, 0x24b0 },
+ { 0x24b1, 0x24b1 },
+ { 0x24b2, 0x24b2 },
+ { 0x24b3, 0x24b3 },
+ { 0x24b4, 0x24b4 },
+ { 0x24b5, 0x24b5 },
+ { 0x24b6, 0x24d0 }, /* upper */
+ { 0x24b7, 0x24d1 }, /* upper */
+ { 0x24b8, 0x24d2 }, /* upper */
+ { 0x24b9, 0x24d3 }, /* upper */
+ { 0x24ba, 0x24d4 }, /* upper */
+ { 0x24bb, 0x24d5 }, /* upper */
+ { 0x24bc, 0x24d6 }, /* upper */
+ { 0x24bd, 0x24d7 }, /* upper */
+ { 0x24be, 0x24d8 }, /* upper */
+ { 0x24bf, 0x24d9 }, /* upper */
+ { 0x24c0, 0x24da }, /* upper */
+ { 0x24c1, 0x24db }, /* upper */
+ { 0x24c2, 0x24dc }, /* upper */
+ { 0x24c3, 0x24dd }, /* upper */
+ { 0x24c4, 0x24de }, /* upper */
+ { 0x24c5, 0x24df }, /* upper */
+ { 0x24c6, 0x24e0 }, /* upper */
+ { 0x24c7, 0x24e1 }, /* upper */
+ { 0x24c8, 0x24e2 }, /* upper */
+ { 0x24c9, 0x24e3 }, /* upper */
+ { 0x24ca, 0x24e4 }, /* upper */
+ { 0x24cb, 0x24e5 }, /* upper */
+ { 0x24cc, 0x24e6 }, /* upper */
+ { 0x24cd, 0x24e7 }, /* upper */
+ { 0x24ce, 0x24e8 }, /* upper */
+ { 0x24cf, 0x24e9 }, /* upper */
+ { 0x24b6, 0x24d0 }, /* lower */
+ { 0x24b7, 0x24d1 }, /* lower */
+ { 0x24b8, 0x24d2 }, /* lower */
+ { 0x24b9, 0x24d3 }, /* lower */
+ { 0x24ba, 0x24d4 }, /* lower */
+ { 0x24bb, 0x24d5 }, /* lower */
+ { 0x24bc, 0x24d6 }, /* lower */
+ { 0x24bd, 0x24d7 }, /* lower */
+ { 0x24be, 0x24d8 }, /* lower */
+ { 0x24bf, 0x24d9 }, /* lower */
+ { 0x24c0, 0x24da }, /* lower */
+ { 0x24c1, 0x24db }, /* lower */
+ { 0x24c2, 0x24dc }, /* lower */
+ { 0x24c3, 0x24dd }, /* lower */
+ { 0x24c4, 0x24de }, /* lower */
+ { 0x24c5, 0x24df }, /* lower */
+ { 0x24c6, 0x24e0 }, /* lower */
+ { 0x24c7, 0x24e1 }, /* lower */
+ { 0x24c8, 0x24e2 }, /* lower */
+ { 0x24c9, 0x24e3 }, /* lower */
+ { 0x24ca, 0x24e4 }, /* lower */
+ { 0x24cb, 0x24e5 }, /* lower */
+ { 0x24cc, 0x24e6 }, /* lower */
+ { 0x24cd, 0x24e7 }, /* lower */
+ { 0x24ce, 0x24e8 }, /* lower */
+ { 0x24cf, 0x24e9 }, /* lower */
+ { 0x24ea, 0x24ea },
+ { 0x24eb, 0x24eb },
+ { 0x24ec, 0x24ec },
+ { 0x24ed, 0x24ed },
+ { 0x24ee, 0x24ee },
+ { 0x24ef, 0x24ef },
+ { 0x24f0, 0x24f0 },
+ { 0x24f1, 0x24f1 },
+ { 0x24f2, 0x24f2 },
+ { 0x24f3, 0x24f3 },
+ { 0x24f4, 0x24f4 },
+ { 0x24f5, 0x24f5 },
+ { 0x24f6, 0x24f6 },
+ { 0x24f7, 0x24f7 },
+ { 0x24f8, 0x24f8 },
+ { 0x24f9, 0x24f9 },
+ { 0x24fa, 0x24fa },
+ { 0x24fb, 0x24fb },
+ { 0x24fc, 0x24fc },
+ { 0x24fd, 0x24fd },
+ { 0x24fe, 0x24fe },
+ { 0x24ff, 0x24ff },
+};
+
+gli_case_block_t unigen_case_block_0xfb[256] = {
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xfb07, 0xfb07 },
+ { 0xfb08, 0xfb08 },
+ { 0xfb09, 0xfb09 },
+ { 0xfb0a, 0xfb0a },
+ { 0xfb0b, 0xfb0b },
+ { 0xfb0c, 0xfb0c },
+ { 0xfb0d, 0xfb0d },
+ { 0xfb0e, 0xfb0e },
+ { 0xfb0f, 0xfb0f },
+ { 0xfb10, 0xfb10 },
+ { 0xfb11, 0xfb11 },
+ { 0xfb12, 0xfb12 },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xFFFFFFFF, 0xFFFFFFFF },
+ { 0xfb18, 0xfb18 },
+ { 0xfb19, 0xfb19 },
+ { 0xfb1a, 0xfb1a },
+ { 0xfb1b, 0xfb1b },
+ { 0xfb1c, 0xfb1c },
+ { 0xfb1d, 0xfb1d },
+ { 0xfb1e, 0xfb1e },
+ { 0xfb1f, 0xfb1f },
+ { 0xfb20, 0xfb20 },
+ { 0xfb21, 0xfb21 },
+ { 0xfb22, 0xfb22 },
+ { 0xfb23, 0xfb23 },
+ { 0xfb24, 0xfb24 },
+ { 0xfb25, 0xfb25 },
+ { 0xfb26, 0xfb26 },
+ { 0xfb27, 0xfb27 },
+ { 0xfb28, 0xfb28 },
+ { 0xfb29, 0xfb29 },
+ { 0xfb2a, 0xfb2a },
+ { 0xfb2b, 0xfb2b },
+ { 0xfb2c, 0xfb2c },
+ { 0xfb2d, 0xfb2d },
+ { 0xfb2e, 0xfb2e },
+ { 0xfb2f, 0xfb2f },
+ { 0xfb30, 0xfb30 },
+ { 0xfb31, 0xfb31 },
+ { 0xfb32, 0xfb32 },
+ { 0xfb33, 0xfb33 },
+ { 0xfb34, 0xfb34 },
+ { 0xfb35, 0xfb35 },
+ { 0xfb36, 0xfb36 },
+ { 0xfb37, 0xfb37 },
+ { 0xfb38, 0xfb38 },
+ { 0xfb39, 0xfb39 },
+ { 0xfb3a, 0xfb3a },
+ { 0xfb3b, 0xfb3b },
+ { 0xfb3c, 0xfb3c },
+ { 0xfb3d, 0xfb3d },
+ { 0xfb3e, 0xfb3e },
+ { 0xfb3f, 0xfb3f },
+ { 0xfb40, 0xfb40 },
+ { 0xfb41, 0xfb41 },
+ { 0xfb42, 0xfb42 },
+ { 0xfb43, 0xfb43 },
+ { 0xfb44, 0xfb44 },
+ { 0xfb45, 0xfb45 },
+ { 0xfb46, 0xfb46 },
+ { 0xfb47, 0xfb47 },
+ { 0xfb48, 0xfb48 },
+ { 0xfb49, 0xfb49 },
+ { 0xfb4a, 0xfb4a },
+ { 0xfb4b, 0xfb4b },
+ { 0xfb4c, 0xfb4c },
+ { 0xfb4d, 0xfb4d },
+ { 0xfb4e, 0xfb4e },
+ { 0xfb4f, 0xfb4f },
+ { 0xfb50, 0xfb50 },
+ { 0xfb51, 0xfb51 },
+ { 0xfb52, 0xfb52 },
+ { 0xfb53, 0xfb53 },
+ { 0xfb54, 0xfb54 },
+ { 0xfb55, 0xfb55 },
+ { 0xfb56, 0xfb56 },
+ { 0xfb57, 0xfb57 },
+ { 0xfb58, 0xfb58 },
+ { 0xfb59, 0xfb59 },
+ { 0xfb5a, 0xfb5a },
+ { 0xfb5b, 0xfb5b },
+ { 0xfb5c, 0xfb5c },
+ { 0xfb5d, 0xfb5d },
+ { 0xfb5e, 0xfb5e },
+ { 0xfb5f, 0xfb5f },
+ { 0xfb60, 0xfb60 },
+ { 0xfb61, 0xfb61 },
+ { 0xfb62, 0xfb62 },
+ { 0xfb63, 0xfb63 },
+ { 0xfb64, 0xfb64 },
+ { 0xfb65, 0xfb65 },
+ { 0xfb66, 0xfb66 },
+ { 0xfb67, 0xfb67 },
+ { 0xfb68, 0xfb68 },
+ { 0xfb69, 0xfb69 },
+ { 0xfb6a, 0xfb6a },
+ { 0xfb6b, 0xfb6b },
+ { 0xfb6c, 0xfb6c },
+ { 0xfb6d, 0xfb6d },
+ { 0xfb6e, 0xfb6e },
+ { 0xfb6f, 0xfb6f },
+ { 0xfb70, 0xfb70 },
+ { 0xfb71, 0xfb71 },
+ { 0xfb72, 0xfb72 },
+ { 0xfb73, 0xfb73 },
+ { 0xfb74, 0xfb74 },
+ { 0xfb75, 0xfb75 },
+ { 0xfb76, 0xfb76 },
+ { 0xfb77, 0xfb77 },
+ { 0xfb78, 0xfb78 },
+ { 0xfb79, 0xfb79 },
+ { 0xfb7a, 0xfb7a },
+ { 0xfb7b, 0xfb7b },
+ { 0xfb7c, 0xfb7c },
+ { 0xfb7d, 0xfb7d },
+ { 0xfb7e, 0xfb7e },
+ { 0xfb7f, 0xfb7f },
+ { 0xfb80, 0xfb80 },
+ { 0xfb81, 0xfb81 },
+ { 0xfb82, 0xfb82 },
+ { 0xfb83, 0xfb83 },
+ { 0xfb84, 0xfb84 },
+ { 0xfb85, 0xfb85 },
+ { 0xfb86, 0xfb86 },
+ { 0xfb87, 0xfb87 },
+ { 0xfb88, 0xfb88 },
+ { 0xfb89, 0xfb89 },
+ { 0xfb8a, 0xfb8a },
+ { 0xfb8b, 0xfb8b },
+ { 0xfb8c, 0xfb8c },
+ { 0xfb8d, 0xfb8d },
+ { 0xfb8e, 0xfb8e },
+ { 0xfb8f, 0xfb8f },
+ { 0xfb90, 0xfb90 },
+ { 0xfb91, 0xfb91 },
+ { 0xfb92, 0xfb92 },
+ { 0xfb93, 0xfb93 },
+ { 0xfb94, 0xfb94 },
+ { 0xfb95, 0xfb95 },
+ { 0xfb96, 0xfb96 },
+ { 0xfb97, 0xfb97 },
+ { 0xfb98, 0xfb98 },
+ { 0xfb99, 0xfb99 },
+ { 0xfb9a, 0xfb9a },
+ { 0xfb9b, 0xfb9b },
+ { 0xfb9c, 0xfb9c },
+ { 0xfb9d, 0xfb9d },
+ { 0xfb9e, 0xfb9e },
+ { 0xfb9f, 0xfb9f },
+ { 0xfba0, 0xfba0 },
+ { 0xfba1, 0xfba1 },
+ { 0xfba2, 0xfba2 },
+ { 0xfba3, 0xfba3 },
+ { 0xfba4, 0xfba4 },
+ { 0xfba5, 0xfba5 },
+ { 0xfba6, 0xfba6 },
+ { 0xfba7, 0xfba7 },
+ { 0xfba8, 0xfba8 },
+ { 0xfba9, 0xfba9 },
+ { 0xfbaa, 0xfbaa },
+ { 0xfbab, 0xfbab },
+ { 0xfbac, 0xfbac },
+ { 0xfbad, 0xfbad },
+ { 0xfbae, 0xfbae },
+ { 0xfbaf, 0xfbaf },
+ { 0xfbb0, 0xfbb0 },
+ { 0xfbb1, 0xfbb1 },
+ { 0xfbb2, 0xfbb2 },
+ { 0xfbb3, 0xfbb3 },
+ { 0xfbb4, 0xfbb4 },
+ { 0xfbb5, 0xfbb5 },
+ { 0xfbb6, 0xfbb6 },
+ { 0xfbb7, 0xfbb7 },
+ { 0xfbb8, 0xfbb8 },
+ { 0xfbb9, 0xfbb9 },
+ { 0xfbba, 0xfbba },
+ { 0xfbbb, 0xfbbb },
+ { 0xfbbc, 0xfbbc },
+ { 0xfbbd, 0xfbbd },
+ { 0xfbbe, 0xfbbe },
+ { 0xfbbf, 0xfbbf },
+ { 0xfbc0, 0xfbc0 },
+ { 0xfbc1, 0xfbc1 },
+ { 0xfbc2, 0xfbc2 },
+ { 0xfbc3, 0xfbc3 },
+ { 0xfbc4, 0xfbc4 },
+ { 0xfbc5, 0xfbc5 },
+ { 0xfbc6, 0xfbc6 },
+ { 0xfbc7, 0xfbc7 },
+ { 0xfbc8, 0xfbc8 },
+ { 0xfbc9, 0xfbc9 },
+ { 0xfbca, 0xfbca },
+ { 0xfbcb, 0xfbcb },
+ { 0xfbcc, 0xfbcc },
+ { 0xfbcd, 0xfbcd },
+ { 0xfbce, 0xfbce },
+ { 0xfbcf, 0xfbcf },
+ { 0xfbd0, 0xfbd0 },
+ { 0xfbd1, 0xfbd1 },
+ { 0xfbd2, 0xfbd2 },
+ { 0xfbd3, 0xfbd3 },
+ { 0xfbd4, 0xfbd4 },
+ { 0xfbd5, 0xfbd5 },
+ { 0xfbd6, 0xfbd6 },
+ { 0xfbd7, 0xfbd7 },
+ { 0xfbd8, 0xfbd8 },
+ { 0xfbd9, 0xfbd9 },
+ { 0xfbda, 0xfbda },
+ { 0xfbdb, 0xfbdb },
+ { 0xfbdc, 0xfbdc },
+ { 0xfbdd, 0xfbdd },
+ { 0xfbde, 0xfbde },
+ { 0xfbdf, 0xfbdf },
+ { 0xfbe0, 0xfbe0 },
+ { 0xfbe1, 0xfbe1 },
+ { 0xfbe2, 0xfbe2 },
+ { 0xfbe3, 0xfbe3 },
+ { 0xfbe4, 0xfbe4 },
+ { 0xfbe5, 0xfbe5 },
+ { 0xfbe6, 0xfbe6 },
+ { 0xfbe7, 0xfbe7 },
+ { 0xfbe8, 0xfbe8 },
+ { 0xfbe9, 0xfbe9 },
+ { 0xfbea, 0xfbea },
+ { 0xfbeb, 0xfbeb },
+ { 0xfbec, 0xfbec },
+ { 0xfbed, 0xfbed },
+ { 0xfbee, 0xfbee },
+ { 0xfbef, 0xfbef },
+ { 0xfbf0, 0xfbf0 },
+ { 0xfbf1, 0xfbf1 },
+ { 0xfbf2, 0xfbf2 },
+ { 0xfbf3, 0xfbf3 },
+ { 0xfbf4, 0xfbf4 },
+ { 0xfbf5, 0xfbf5 },
+ { 0xfbf6, 0xfbf6 },
+ { 0xfbf7, 0xfbf7 },
+ { 0xfbf8, 0xfbf8 },
+ { 0xfbf9, 0xfbf9 },
+ { 0xfbfa, 0xfbfa },
+ { 0xfbfb, 0xfbfb },
+ { 0xfbfc, 0xfbfc },
+ { 0xfbfd, 0xfbfd },
+ { 0xfbfe, 0xfbfe },
+ { 0xfbff, 0xfbff },
+};
+
+gli_case_block_t unigen_case_block_0xff[256] = {
+ { 0xff00, 0xff00 },
+ { 0xff01, 0xff01 },
+ { 0xff02, 0xff02 },
+ { 0xff03, 0xff03 },
+ { 0xff04, 0xff04 },
+ { 0xff05, 0xff05 },
+ { 0xff06, 0xff06 },
+ { 0xff07, 0xff07 },
+ { 0xff08, 0xff08 },
+ { 0xff09, 0xff09 },
+ { 0xff0a, 0xff0a },
+ { 0xff0b, 0xff0b },
+ { 0xff0c, 0xff0c },
+ { 0xff0d, 0xff0d },
+ { 0xff0e, 0xff0e },
+ { 0xff0f, 0xff0f },
+ { 0xff10, 0xff10 },
+ { 0xff11, 0xff11 },
+ { 0xff12, 0xff12 },
+ { 0xff13, 0xff13 },
+ { 0xff14, 0xff14 },
+ { 0xff15, 0xff15 },
+ { 0xff16, 0xff16 },
+ { 0xff17, 0xff17 },
+ { 0xff18, 0xff18 },
+ { 0xff19, 0xff19 },
+ { 0xff1a, 0xff1a },
+ { 0xff1b, 0xff1b },
+ { 0xff1c, 0xff1c },
+ { 0xff1d, 0xff1d },
+ { 0xff1e, 0xff1e },
+ { 0xff1f, 0xff1f },
+ { 0xff20, 0xff20 },
+ { 0xff21, 0xff41 }, /* upper */
+ { 0xff22, 0xff42 }, /* upper */
+ { 0xff23, 0xff43 }, /* upper */
+ { 0xff24, 0xff44 }, /* upper */
+ { 0xff25, 0xff45 }, /* upper */
+ { 0xff26, 0xff46 }, /* upper */
+ { 0xff27, 0xff47 }, /* upper */
+ { 0xff28, 0xff48 }, /* upper */
+ { 0xff29, 0xff49 }, /* upper */
+ { 0xff2a, 0xff4a }, /* upper */
+ { 0xff2b, 0xff4b }, /* upper */
+ { 0xff2c, 0xff4c }, /* upper */
+ { 0xff2d, 0xff4d }, /* upper */
+ { 0xff2e, 0xff4e }, /* upper */
+ { 0xff2f, 0xff4f }, /* upper */
+ { 0xff30, 0xff50 }, /* upper */
+ { 0xff31, 0xff51 }, /* upper */
+ { 0xff32, 0xff52 }, /* upper */
+ { 0xff33, 0xff53 }, /* upper */
+ { 0xff34, 0xff54 }, /* upper */
+ { 0xff35, 0xff55 }, /* upper */
+ { 0xff36, 0xff56 }, /* upper */
+ { 0xff37, 0xff57 }, /* upper */
+ { 0xff38, 0xff58 }, /* upper */
+ { 0xff39, 0xff59 }, /* upper */
+ { 0xff3a, 0xff5a }, /* upper */
+ { 0xff3b, 0xff3b },
+ { 0xff3c, 0xff3c },
+ { 0xff3d, 0xff3d },
+ { 0xff3e, 0xff3e },
+ { 0xff3f, 0xff3f },
+ { 0xff40, 0xff40 },
+ { 0xff21, 0xff41 }, /* lower */
+ { 0xff22, 0xff42 }, /* lower */
+ { 0xff23, 0xff43 }, /* lower */
+ { 0xff24, 0xff44 }, /* lower */
+ { 0xff25, 0xff45 }, /* lower */
+ { 0xff26, 0xff46 }, /* lower */
+ { 0xff27, 0xff47 }, /* lower */
+ { 0xff28, 0xff48 }, /* lower */
+ { 0xff29, 0xff49 }, /* lower */
+ { 0xff2a, 0xff4a }, /* lower */
+ { 0xff2b, 0xff4b }, /* lower */
+ { 0xff2c, 0xff4c }, /* lower */
+ { 0xff2d, 0xff4d }, /* lower */
+ { 0xff2e, 0xff4e }, /* lower */
+ { 0xff2f, 0xff4f }, /* lower */
+ { 0xff30, 0xff50 }, /* lower */
+ { 0xff31, 0xff51 }, /* lower */
+ { 0xff32, 0xff52 }, /* lower */
+ { 0xff33, 0xff53 }, /* lower */
+ { 0xff34, 0xff54 }, /* lower */
+ { 0xff35, 0xff55 }, /* lower */
+ { 0xff36, 0xff56 }, /* lower */
+ { 0xff37, 0xff57 }, /* lower */
+ { 0xff38, 0xff58 }, /* lower */
+ { 0xff39, 0xff59 }, /* lower */
+ { 0xff3a, 0xff5a }, /* lower */
+ { 0xff5b, 0xff5b },
+ { 0xff5c, 0xff5c },
+ { 0xff5d, 0xff5d },
+ { 0xff5e, 0xff5e },
+ { 0xff5f, 0xff5f },
+ { 0xff60, 0xff60 },
+ { 0xff61, 0xff61 },
+ { 0xff62, 0xff62 },
+ { 0xff63, 0xff63 },
+ { 0xff64, 0xff64 },
+ { 0xff65, 0xff65 },
+ { 0xff66, 0xff66 },
+ { 0xff67, 0xff67 },
+ { 0xff68, 0xff68 },
+ { 0xff69, 0xff69 },
+ { 0xff6a, 0xff6a },
+ { 0xff6b, 0xff6b },
+ { 0xff6c, 0xff6c },
+ { 0xff6d, 0xff6d },
+ { 0xff6e, 0xff6e },
+ { 0xff6f, 0xff6f },
+ { 0xff70, 0xff70 },
+ { 0xff71, 0xff71 },
+ { 0xff72, 0xff72 },
+ { 0xff73, 0xff73 },
+ { 0xff74, 0xff74 },
+ { 0xff75, 0xff75 },
+ { 0xff76, 0xff76 },
+ { 0xff77, 0xff77 },
+ { 0xff78, 0xff78 },
+ { 0xff79, 0xff79 },
+ { 0xff7a, 0xff7a },
+ { 0xff7b, 0xff7b },
+ { 0xff7c, 0xff7c },
+ { 0xff7d, 0xff7d },
+ { 0xff7e, 0xff7e },
+ { 0xff7f, 0xff7f },
+ { 0xff80, 0xff80 },
+ { 0xff81, 0xff81 },
+ { 0xff82, 0xff82 },
+ { 0xff83, 0xff83 },
+ { 0xff84, 0xff84 },
+ { 0xff85, 0xff85 },
+ { 0xff86, 0xff86 },
+ { 0xff87, 0xff87 },
+ { 0xff88, 0xff88 },
+ { 0xff89, 0xff89 },
+ { 0xff8a, 0xff8a },
+ { 0xff8b, 0xff8b },
+ { 0xff8c, 0xff8c },
+ { 0xff8d, 0xff8d },
+ { 0xff8e, 0xff8e },
+ { 0xff8f, 0xff8f },
+ { 0xff90, 0xff90 },
+ { 0xff91, 0xff91 },
+ { 0xff92, 0xff92 },
+ { 0xff93, 0xff93 },
+ { 0xff94, 0xff94 },
+ { 0xff95, 0xff95 },
+ { 0xff96, 0xff96 },
+ { 0xff97, 0xff97 },
+ { 0xff98, 0xff98 },
+ { 0xff99, 0xff99 },
+ { 0xff9a, 0xff9a },
+ { 0xff9b, 0xff9b },
+ { 0xff9c, 0xff9c },
+ { 0xff9d, 0xff9d },
+ { 0xff9e, 0xff9e },
+ { 0xff9f, 0xff9f },
+ { 0xffa0, 0xffa0 },
+ { 0xffa1, 0xffa1 },
+ { 0xffa2, 0xffa2 },
+ { 0xffa3, 0xffa3 },
+ { 0xffa4, 0xffa4 },
+ { 0xffa5, 0xffa5 },
+ { 0xffa6, 0xffa6 },
+ { 0xffa7, 0xffa7 },
+ { 0xffa8, 0xffa8 },
+ { 0xffa9, 0xffa9 },
+ { 0xffaa, 0xffaa },
+ { 0xffab, 0xffab },
+ { 0xffac, 0xffac },
+ { 0xffad, 0xffad },
+ { 0xffae, 0xffae },
+ { 0xffaf, 0xffaf },
+ { 0xffb0, 0xffb0 },
+ { 0xffb1, 0xffb1 },
+ { 0xffb2, 0xffb2 },
+ { 0xffb3, 0xffb3 },
+ { 0xffb4, 0xffb4 },
+ { 0xffb5, 0xffb5 },
+ { 0xffb6, 0xffb6 },
+ { 0xffb7, 0xffb7 },
+ { 0xffb8, 0xffb8 },
+ { 0xffb9, 0xffb9 },
+ { 0xffba, 0xffba },
+ { 0xffbb, 0xffbb },
+ { 0xffbc, 0xffbc },
+ { 0xffbd, 0xffbd },
+ { 0xffbe, 0xffbe },
+ { 0xffbf, 0xffbf },
+ { 0xffc0, 0xffc0 },
+ { 0xffc1, 0xffc1 },
+ { 0xffc2, 0xffc2 },
+ { 0xffc3, 0xffc3 },
+ { 0xffc4, 0xffc4 },
+ { 0xffc5, 0xffc5 },
+ { 0xffc6, 0xffc6 },
+ { 0xffc7, 0xffc7 },
+ { 0xffc8, 0xffc8 },
+ { 0xffc9, 0xffc9 },
+ { 0xffca, 0xffca },
+ { 0xffcb, 0xffcb },
+ { 0xffcc, 0xffcc },
+ { 0xffcd, 0xffcd },
+ { 0xffce, 0xffce },
+ { 0xffcf, 0xffcf },
+ { 0xffd0, 0xffd0 },
+ { 0xffd1, 0xffd1 },
+ { 0xffd2, 0xffd2 },
+ { 0xffd3, 0xffd3 },
+ { 0xffd4, 0xffd4 },
+ { 0xffd5, 0xffd5 },
+ { 0xffd6, 0xffd6 },
+ { 0xffd7, 0xffd7 },
+ { 0xffd8, 0xffd8 },
+ { 0xffd9, 0xffd9 },
+ { 0xffda, 0xffda },
+ { 0xffdb, 0xffdb },
+ { 0xffdc, 0xffdc },
+ { 0xffdd, 0xffdd },
+ { 0xffde, 0xffde },
+ { 0xffdf, 0xffdf },
+ { 0xffe0, 0xffe0 },
+ { 0xffe1, 0xffe1 },
+ { 0xffe2, 0xffe2 },
+ { 0xffe3, 0xffe3 },
+ { 0xffe4, 0xffe4 },
+ { 0xffe5, 0xffe5 },
+ { 0xffe6, 0xffe6 },
+ { 0xffe7, 0xffe7 },
+ { 0xffe8, 0xffe8 },
+ { 0xffe9, 0xffe9 },
+ { 0xffea, 0xffea },
+ { 0xffeb, 0xffeb },
+ { 0xffec, 0xffec },
+ { 0xffed, 0xffed },
+ { 0xffee, 0xffee },
+ { 0xffef, 0xffef },
+ { 0xfff0, 0xfff0 },
+ { 0xfff1, 0xfff1 },
+ { 0xfff2, 0xfff2 },
+ { 0xfff3, 0xfff3 },
+ { 0xfff4, 0xfff4 },
+ { 0xfff5, 0xfff5 },
+ { 0xfff6, 0xfff6 },
+ { 0xfff7, 0xfff7 },
+ { 0xfff8, 0xfff8 },
+ { 0xfff9, 0xfff9 },
+ { 0xfffa, 0xfffa },
+ { 0xfffb, 0xfffb },
+ { 0xfffc, 0xfffc },
+ { 0xfffd, 0xfffd },
+ { 0xfffe, 0xfffe },
+ { 0xffff, 0xffff },
+};
+
+gli_case_block_t unigen_case_block_0x104[256] = {
+ { 0x10400, 0x10428 }, /* upper */
+ { 0x10401, 0x10429 }, /* upper */
+ { 0x10402, 0x1042a }, /* upper */
+ { 0x10403, 0x1042b }, /* upper */
+ { 0x10404, 0x1042c }, /* upper */
+ { 0x10405, 0x1042d }, /* upper */
+ { 0x10406, 0x1042e }, /* upper */
+ { 0x10407, 0x1042f }, /* upper */
+ { 0x10408, 0x10430 }, /* upper */
+ { 0x10409, 0x10431 }, /* upper */
+ { 0x1040a, 0x10432 }, /* upper */
+ { 0x1040b, 0x10433 }, /* upper */
+ { 0x1040c, 0x10434 }, /* upper */
+ { 0x1040d, 0x10435 }, /* upper */
+ { 0x1040e, 0x10436 }, /* upper */
+ { 0x1040f, 0x10437 }, /* upper */
+ { 0x10410, 0x10438 }, /* upper */
+ { 0x10411, 0x10439 }, /* upper */
+ { 0x10412, 0x1043a }, /* upper */
+ { 0x10413, 0x1043b }, /* upper */
+ { 0x10414, 0x1043c }, /* upper */
+ { 0x10415, 0x1043d }, /* upper */
+ { 0x10416, 0x1043e }, /* upper */
+ { 0x10417, 0x1043f }, /* upper */
+ { 0x10418, 0x10440 }, /* upper */
+ { 0x10419, 0x10441 }, /* upper */
+ { 0x1041a, 0x10442 }, /* upper */
+ { 0x1041b, 0x10443 }, /* upper */
+ { 0x1041c, 0x10444 }, /* upper */
+ { 0x1041d, 0x10445 }, /* upper */
+ { 0x1041e, 0x10446 }, /* upper */
+ { 0x1041f, 0x10447 }, /* upper */
+ { 0x10420, 0x10448 }, /* upper */
+ { 0x10421, 0x10449 }, /* upper */
+ { 0x10422, 0x1044a }, /* upper */
+ { 0x10423, 0x1044b }, /* upper */
+ { 0x10424, 0x1044c }, /* upper */
+ { 0x10425, 0x1044d }, /* upper */
+ { 0x10426, 0x1044e }, /* upper */
+ { 0x10427, 0x1044f }, /* upper */
+ { 0x10400, 0x10428 }, /* lower */
+ { 0x10401, 0x10429 }, /* lower */
+ { 0x10402, 0x1042a }, /* lower */
+ { 0x10403, 0x1042b }, /* lower */
+ { 0x10404, 0x1042c }, /* lower */
+ { 0x10405, 0x1042d }, /* lower */
+ { 0x10406, 0x1042e }, /* lower */
+ { 0x10407, 0x1042f }, /* lower */
+ { 0x10408, 0x10430 }, /* lower */
+ { 0x10409, 0x10431 }, /* lower */
+ { 0x1040a, 0x10432 }, /* lower */
+ { 0x1040b, 0x10433 }, /* lower */
+ { 0x1040c, 0x10434 }, /* lower */
+ { 0x1040d, 0x10435 }, /* lower */
+ { 0x1040e, 0x10436 }, /* lower */
+ { 0x1040f, 0x10437 }, /* lower */
+ { 0x10410, 0x10438 }, /* lower */
+ { 0x10411, 0x10439 }, /* lower */
+ { 0x10412, 0x1043a }, /* lower */
+ { 0x10413, 0x1043b }, /* lower */
+ { 0x10414, 0x1043c }, /* lower */
+ { 0x10415, 0x1043d }, /* lower */
+ { 0x10416, 0x1043e }, /* lower */
+ { 0x10417, 0x1043f }, /* lower */
+ { 0x10418, 0x10440 }, /* lower */
+ { 0x10419, 0x10441 }, /* lower */
+ { 0x1041a, 0x10442 }, /* lower */
+ { 0x1041b, 0x10443 }, /* lower */
+ { 0x1041c, 0x10444 }, /* lower */
+ { 0x1041d, 0x10445 }, /* lower */
+ { 0x1041e, 0x10446 }, /* lower */
+ { 0x1041f, 0x10447 }, /* lower */
+ { 0x10420, 0x10448 }, /* lower */
+ { 0x10421, 0x10449 }, /* lower */
+ { 0x10422, 0x1044a }, /* lower */
+ { 0x10423, 0x1044b }, /* lower */
+ { 0x10424, 0x1044c }, /* lower */
+ { 0x10425, 0x1044d }, /* lower */
+ { 0x10426, 0x1044e }, /* lower */
+ { 0x10427, 0x1044f }, /* lower */
+ { 0x10450, 0x10450 },
+ { 0x10451, 0x10451 },
+ { 0x10452, 0x10452 },
+ { 0x10453, 0x10453 },
+ { 0x10454, 0x10454 },
+ { 0x10455, 0x10455 },
+ { 0x10456, 0x10456 },
+ { 0x10457, 0x10457 },
+ { 0x10458, 0x10458 },
+ { 0x10459, 0x10459 },
+ { 0x1045a, 0x1045a },
+ { 0x1045b, 0x1045b },
+ { 0x1045c, 0x1045c },
+ { 0x1045d, 0x1045d },
+ { 0x1045e, 0x1045e },
+ { 0x1045f, 0x1045f },
+ { 0x10460, 0x10460 },
+ { 0x10461, 0x10461 },
+ { 0x10462, 0x10462 },
+ { 0x10463, 0x10463 },
+ { 0x10464, 0x10464 },
+ { 0x10465, 0x10465 },
+ { 0x10466, 0x10466 },
+ { 0x10467, 0x10467 },
+ { 0x10468, 0x10468 },
+ { 0x10469, 0x10469 },
+ { 0x1046a, 0x1046a },
+ { 0x1046b, 0x1046b },
+ { 0x1046c, 0x1046c },
+ { 0x1046d, 0x1046d },
+ { 0x1046e, 0x1046e },
+ { 0x1046f, 0x1046f },
+ { 0x10470, 0x10470 },
+ { 0x10471, 0x10471 },
+ { 0x10472, 0x10472 },
+ { 0x10473, 0x10473 },
+ { 0x10474, 0x10474 },
+ { 0x10475, 0x10475 },
+ { 0x10476, 0x10476 },
+ { 0x10477, 0x10477 },
+ { 0x10478, 0x10478 },
+ { 0x10479, 0x10479 },
+ { 0x1047a, 0x1047a },
+ { 0x1047b, 0x1047b },
+ { 0x1047c, 0x1047c },
+ { 0x1047d, 0x1047d },
+ { 0x1047e, 0x1047e },
+ { 0x1047f, 0x1047f },
+ { 0x10480, 0x10480 },
+ { 0x10481, 0x10481 },
+ { 0x10482, 0x10482 },
+ { 0x10483, 0x10483 },
+ { 0x10484, 0x10484 },
+ { 0x10485, 0x10485 },
+ { 0x10486, 0x10486 },
+ { 0x10487, 0x10487 },
+ { 0x10488, 0x10488 },
+ { 0x10489, 0x10489 },
+ { 0x1048a, 0x1048a },
+ { 0x1048b, 0x1048b },
+ { 0x1048c, 0x1048c },
+ { 0x1048d, 0x1048d },
+ { 0x1048e, 0x1048e },
+ { 0x1048f, 0x1048f },
+ { 0x10490, 0x10490 },
+ { 0x10491, 0x10491 },
+ { 0x10492, 0x10492 },
+ { 0x10493, 0x10493 },
+ { 0x10494, 0x10494 },
+ { 0x10495, 0x10495 },
+ { 0x10496, 0x10496 },
+ { 0x10497, 0x10497 },
+ { 0x10498, 0x10498 },
+ { 0x10499, 0x10499 },
+ { 0x1049a, 0x1049a },
+ { 0x1049b, 0x1049b },
+ { 0x1049c, 0x1049c },
+ { 0x1049d, 0x1049d },
+ { 0x1049e, 0x1049e },
+ { 0x1049f, 0x1049f },
+ { 0x104a0, 0x104a0 },
+ { 0x104a1, 0x104a1 },
+ { 0x104a2, 0x104a2 },
+ { 0x104a3, 0x104a3 },
+ { 0x104a4, 0x104a4 },
+ { 0x104a5, 0x104a5 },
+ { 0x104a6, 0x104a6 },
+ { 0x104a7, 0x104a7 },
+ { 0x104a8, 0x104a8 },
+ { 0x104a9, 0x104a9 },
+ { 0x104aa, 0x104aa },
+ { 0x104ab, 0x104ab },
+ { 0x104ac, 0x104ac },
+ { 0x104ad, 0x104ad },
+ { 0x104ae, 0x104ae },
+ { 0x104af, 0x104af },
+ { 0x104b0, 0x104b0 },
+ { 0x104b1, 0x104b1 },
+ { 0x104b2, 0x104b2 },
+ { 0x104b3, 0x104b3 },
+ { 0x104b4, 0x104b4 },
+ { 0x104b5, 0x104b5 },
+ { 0x104b6, 0x104b6 },
+ { 0x104b7, 0x104b7 },
+ { 0x104b8, 0x104b8 },
+ { 0x104b9, 0x104b9 },
+ { 0x104ba, 0x104ba },
+ { 0x104bb, 0x104bb },
+ { 0x104bc, 0x104bc },
+ { 0x104bd, 0x104bd },
+ { 0x104be, 0x104be },
+ { 0x104bf, 0x104bf },
+ { 0x104c0, 0x104c0 },
+ { 0x104c1, 0x104c1 },
+ { 0x104c2, 0x104c2 },
+ { 0x104c3, 0x104c3 },
+ { 0x104c4, 0x104c4 },
+ { 0x104c5, 0x104c5 },
+ { 0x104c6, 0x104c6 },
+ { 0x104c7, 0x104c7 },
+ { 0x104c8, 0x104c8 },
+ { 0x104c9, 0x104c9 },
+ { 0x104ca, 0x104ca },
+ { 0x104cb, 0x104cb },
+ { 0x104cc, 0x104cc },
+ { 0x104cd, 0x104cd },
+ { 0x104ce, 0x104ce },
+ { 0x104cf, 0x104cf },
+ { 0x104d0, 0x104d0 },
+ { 0x104d1, 0x104d1 },
+ { 0x104d2, 0x104d2 },
+ { 0x104d3, 0x104d3 },
+ { 0x104d4, 0x104d4 },
+ { 0x104d5, 0x104d5 },
+ { 0x104d6, 0x104d6 },
+ { 0x104d7, 0x104d7 },
+ { 0x104d8, 0x104d8 },
+ { 0x104d9, 0x104d9 },
+ { 0x104da, 0x104da },
+ { 0x104db, 0x104db },
+ { 0x104dc, 0x104dc },
+ { 0x104dd, 0x104dd },
+ { 0x104de, 0x104de },
+ { 0x104df, 0x104df },
+ { 0x104e0, 0x104e0 },
+ { 0x104e1, 0x104e1 },
+ { 0x104e2, 0x104e2 },
+ { 0x104e3, 0x104e3 },
+ { 0x104e4, 0x104e4 },
+ { 0x104e5, 0x104e5 },
+ { 0x104e6, 0x104e6 },
+ { 0x104e7, 0x104e7 },
+ { 0x104e8, 0x104e8 },
+ { 0x104e9, 0x104e9 },
+ { 0x104ea, 0x104ea },
+ { 0x104eb, 0x104eb },
+ { 0x104ec, 0x104ec },
+ { 0x104ed, 0x104ed },
+ { 0x104ee, 0x104ee },
+ { 0x104ef, 0x104ef },
+ { 0x104f0, 0x104f0 },
+ { 0x104f1, 0x104f1 },
+ { 0x104f2, 0x104f2 },
+ { 0x104f3, 0x104f3 },
+ { 0x104f4, 0x104f4 },
+ { 0x104f5, 0x104f5 },
+ { 0x104f6, 0x104f6 },
+ { 0x104f7, 0x104f7 },
+ { 0x104f8, 0x104f8 },
+ { 0x104f9, 0x104f9 },
+ { 0x104fa, 0x104fa },
+ { 0x104fb, 0x104fb },
+ { 0x104fc, 0x104fc },
+ { 0x104fd, 0x104fd },
+ { 0x104fe, 0x104fe },
+ { 0x104ff, 0x104ff },
+};
+
+glui32 unigen_special_array[] = {
+ 2, 0x53, 0x53, /* 0xdf upcase */
+ 1, 0xdf, /* 0xdf downcase */
+ 2, 0x53, 0x73, /* 0xdf titlecase */
+ 1, 0x130, /* 0x130 upcase */
+ 2, 0x69, 0x307, /* 0x130 downcase */
+ 1, 0x130, /* 0x130 titlecase */
+ 2, 0x2bc, 0x4e, /* 0x149 upcase */
+ 1, 0x149, /* 0x149 downcase */
+ 2, 0x2bc, 0x4e, /* 0x149 titlecase */
+ 1, 0x1c4, /* 0x1c4 upcase */
+ 1, 0x1c6, /* 0x1c4 downcase */
+ 1, 0x1c5, /* 0x1c4 titlecase */
+ 1, 0x1c4, /* 0x1c5 upcase */
+ 1, 0x1c6, /* 0x1c5 downcase */
+ 1, 0x1c5, /* 0x1c5 titlecase */
+ 1, 0x1c4, /* 0x1c6 upcase */
+ 1, 0x1c6, /* 0x1c6 downcase */
+ 1, 0x1c5, /* 0x1c6 titlecase */
+ 1, 0x1c7, /* 0x1c7 upcase */
+ 1, 0x1c9, /* 0x1c7 downcase */
+ 1, 0x1c8, /* 0x1c7 titlecase */
+ 1, 0x1c7, /* 0x1c8 upcase */
+ 1, 0x1c9, /* 0x1c8 downcase */
+ 1, 0x1c8, /* 0x1c8 titlecase */
+ 1, 0x1c7, /* 0x1c9 upcase */
+ 1, 0x1c9, /* 0x1c9 downcase */
+ 1, 0x1c8, /* 0x1c9 titlecase */
+ 1, 0x1ca, /* 0x1ca upcase */
+ 1, 0x1cc, /* 0x1ca downcase */
+ 1, 0x1cb, /* 0x1ca titlecase */
+ 1, 0x1ca, /* 0x1cb upcase */
+ 1, 0x1cc, /* 0x1cb downcase */
+ 1, 0x1cb, /* 0x1cb titlecase */
+ 1, 0x1ca, /* 0x1cc upcase */
+ 1, 0x1cc, /* 0x1cc downcase */
+ 1, 0x1cb, /* 0x1cc titlecase */
+ 2, 0x4a, 0x30c, /* 0x1f0 upcase */
+ 1, 0x1f0, /* 0x1f0 downcase */
+ 2, 0x4a, 0x30c, /* 0x1f0 titlecase */
+ 1, 0x1f1, /* 0x1f1 upcase */
+ 1, 0x1f3, /* 0x1f1 downcase */
+ 1, 0x1f2, /* 0x1f1 titlecase */
+ 1, 0x1f1, /* 0x1f2 upcase */
+ 1, 0x1f3, /* 0x1f2 downcase */
+ 1, 0x1f2, /* 0x1f2 titlecase */
+ 1, 0x1f1, /* 0x1f3 upcase */
+ 1, 0x1f3, /* 0x1f3 downcase */
+ 1, 0x1f2, /* 0x1f3 titlecase */
+ 3, 0x399, 0x308, 0x301, /* 0x390 upcase */
+ 1, 0x390, /* 0x390 downcase */
+ 3, 0x399, 0x308, 0x301, /* 0x390 titlecase */
+ 3, 0x3a5, 0x308, 0x301, /* 0x3b0 upcase */
+ 1, 0x3b0, /* 0x3b0 downcase */
+ 3, 0x3a5, 0x308, 0x301, /* 0x3b0 titlecase */
+ 2, 0x535, 0x552, /* 0x587 upcase */
+ 1, 0x587, /* 0x587 downcase */
+ 2, 0x535, 0x582, /* 0x587 titlecase */
+ 2, 0x48, 0x331, /* 0x1e96 upcase */
+ 1, 0x1e96, /* 0x1e96 downcase */
+ 2, 0x48, 0x331, /* 0x1e96 titlecase */
+ 2, 0x54, 0x308, /* 0x1e97 upcase */
+ 1, 0x1e97, /* 0x1e97 downcase */
+ 2, 0x54, 0x308, /* 0x1e97 titlecase */
+ 2, 0x57, 0x30a, /* 0x1e98 upcase */
+ 1, 0x1e98, /* 0x1e98 downcase */
+ 2, 0x57, 0x30a, /* 0x1e98 titlecase */
+ 2, 0x59, 0x30a, /* 0x1e99 upcase */
+ 1, 0x1e99, /* 0x1e99 downcase */
+ 2, 0x59, 0x30a, /* 0x1e99 titlecase */
+ 2, 0x41, 0x2be, /* 0x1e9a upcase */
+ 1, 0x1e9a, /* 0x1e9a downcase */
+ 2, 0x41, 0x2be, /* 0x1e9a titlecase */
+ 2, 0x3a5, 0x313, /* 0x1f50 upcase */
+ 1, 0x1f50, /* 0x1f50 downcase */
+ 2, 0x3a5, 0x313, /* 0x1f50 titlecase */
+ 3, 0x3a5, 0x313, 0x300, /* 0x1f52 upcase */
+ 1, 0x1f52, /* 0x1f52 downcase */
+ 3, 0x3a5, 0x313, 0x300, /* 0x1f52 titlecase */
+ 3, 0x3a5, 0x313, 0x301, /* 0x1f54 upcase */
+ 1, 0x1f54, /* 0x1f54 downcase */
+ 3, 0x3a5, 0x313, 0x301, /* 0x1f54 titlecase */
+ 3, 0x3a5, 0x313, 0x342, /* 0x1f56 upcase */
+ 1, 0x1f56, /* 0x1f56 downcase */
+ 3, 0x3a5, 0x313, 0x342, /* 0x1f56 titlecase */
+ 2, 0x1f08, 0x399, /* 0x1f80 upcase */
+ 1, 0x1f80, /* 0x1f80 downcase */
+ 1, 0x1f88, /* 0x1f80 titlecase */
+ 2, 0x1f09, 0x399, /* 0x1f81 upcase */
+ 1, 0x1f81, /* 0x1f81 downcase */
+ 1, 0x1f89, /* 0x1f81 titlecase */
+ 2, 0x1f0a, 0x399, /* 0x1f82 upcase */
+ 1, 0x1f82, /* 0x1f82 downcase */
+ 1, 0x1f8a, /* 0x1f82 titlecase */
+ 2, 0x1f0b, 0x399, /* 0x1f83 upcase */
+ 1, 0x1f83, /* 0x1f83 downcase */
+ 1, 0x1f8b, /* 0x1f83 titlecase */
+ 2, 0x1f0c, 0x399, /* 0x1f84 upcase */
+ 1, 0x1f84, /* 0x1f84 downcase */
+ 1, 0x1f8c, /* 0x1f84 titlecase */
+ 2, 0x1f0d, 0x399, /* 0x1f85 upcase */
+ 1, 0x1f85, /* 0x1f85 downcase */
+ 1, 0x1f8d, /* 0x1f85 titlecase */
+ 2, 0x1f0e, 0x399, /* 0x1f86 upcase */
+ 1, 0x1f86, /* 0x1f86 downcase */
+ 1, 0x1f8e, /* 0x1f86 titlecase */
+ 2, 0x1f0f, 0x399, /* 0x1f87 upcase */
+ 1, 0x1f87, /* 0x1f87 downcase */
+ 1, 0x1f8f, /* 0x1f87 titlecase */
+ 2, 0x1f08, 0x399, /* 0x1f88 upcase */
+ 1, 0x1f80, /* 0x1f88 downcase */
+ 1, 0x1f88, /* 0x1f88 titlecase */
+ 2, 0x1f09, 0x399, /* 0x1f89 upcase */
+ 1, 0x1f81, /* 0x1f89 downcase */
+ 1, 0x1f89, /* 0x1f89 titlecase */
+ 2, 0x1f0a, 0x399, /* 0x1f8a upcase */
+ 1, 0x1f82, /* 0x1f8a downcase */
+ 1, 0x1f8a, /* 0x1f8a titlecase */
+ 2, 0x1f0b, 0x399, /* 0x1f8b upcase */
+ 1, 0x1f83, /* 0x1f8b downcase */
+ 1, 0x1f8b, /* 0x1f8b titlecase */
+ 2, 0x1f0c, 0x399, /* 0x1f8c upcase */
+ 1, 0x1f84, /* 0x1f8c downcase */
+ 1, 0x1f8c, /* 0x1f8c titlecase */
+ 2, 0x1f0d, 0x399, /* 0x1f8d upcase */
+ 1, 0x1f85, /* 0x1f8d downcase */
+ 1, 0x1f8d, /* 0x1f8d titlecase */
+ 2, 0x1f0e, 0x399, /* 0x1f8e upcase */
+ 1, 0x1f86, /* 0x1f8e downcase */
+ 1, 0x1f8e, /* 0x1f8e titlecase */
+ 2, 0x1f0f, 0x399, /* 0x1f8f upcase */
+ 1, 0x1f87, /* 0x1f8f downcase */
+ 1, 0x1f8f, /* 0x1f8f titlecase */
+ 2, 0x1f28, 0x399, /* 0x1f90 upcase */
+ 1, 0x1f90, /* 0x1f90 downcase */
+ 1, 0x1f98, /* 0x1f90 titlecase */
+ 2, 0x1f29, 0x399, /* 0x1f91 upcase */
+ 1, 0x1f91, /* 0x1f91 downcase */
+ 1, 0x1f99, /* 0x1f91 titlecase */
+ 2, 0x1f2a, 0x399, /* 0x1f92 upcase */
+ 1, 0x1f92, /* 0x1f92 downcase */
+ 1, 0x1f9a, /* 0x1f92 titlecase */
+ 2, 0x1f2b, 0x399, /* 0x1f93 upcase */
+ 1, 0x1f93, /* 0x1f93 downcase */
+ 1, 0x1f9b, /* 0x1f93 titlecase */
+ 2, 0x1f2c, 0x399, /* 0x1f94 upcase */
+ 1, 0x1f94, /* 0x1f94 downcase */
+ 1, 0x1f9c, /* 0x1f94 titlecase */
+ 2, 0x1f2d, 0x399, /* 0x1f95 upcase */
+ 1, 0x1f95, /* 0x1f95 downcase */
+ 1, 0x1f9d, /* 0x1f95 titlecase */
+ 2, 0x1f2e, 0x399, /* 0x1f96 upcase */
+ 1, 0x1f96, /* 0x1f96 downcase */
+ 1, 0x1f9e, /* 0x1f96 titlecase */
+ 2, 0x1f2f, 0x399, /* 0x1f97 upcase */
+ 1, 0x1f97, /* 0x1f97 downcase */
+ 1, 0x1f9f, /* 0x1f97 titlecase */
+ 2, 0x1f28, 0x399, /* 0x1f98 upcase */
+ 1, 0x1f90, /* 0x1f98 downcase */
+ 1, 0x1f98, /* 0x1f98 titlecase */
+ 2, 0x1f29, 0x399, /* 0x1f99 upcase */
+ 1, 0x1f91, /* 0x1f99 downcase */
+ 1, 0x1f99, /* 0x1f99 titlecase */
+ 2, 0x1f2a, 0x399, /* 0x1f9a upcase */
+ 1, 0x1f92, /* 0x1f9a downcase */
+ 1, 0x1f9a, /* 0x1f9a titlecase */
+ 2, 0x1f2b, 0x399, /* 0x1f9b upcase */
+ 1, 0x1f93, /* 0x1f9b downcase */
+ 1, 0x1f9b, /* 0x1f9b titlecase */
+ 2, 0x1f2c, 0x399, /* 0x1f9c upcase */
+ 1, 0x1f94, /* 0x1f9c downcase */
+ 1, 0x1f9c, /* 0x1f9c titlecase */
+ 2, 0x1f2d, 0x399, /* 0x1f9d upcase */
+ 1, 0x1f95, /* 0x1f9d downcase */
+ 1, 0x1f9d, /* 0x1f9d titlecase */
+ 2, 0x1f2e, 0x399, /* 0x1f9e upcase */
+ 1, 0x1f96, /* 0x1f9e downcase */
+ 1, 0x1f9e, /* 0x1f9e titlecase */
+ 2, 0x1f2f, 0x399, /* 0x1f9f upcase */
+ 1, 0x1f97, /* 0x1f9f downcase */
+ 1, 0x1f9f, /* 0x1f9f titlecase */
+ 2, 0x1f68, 0x399, /* 0x1fa0 upcase */
+ 1, 0x1fa0, /* 0x1fa0 downcase */
+ 1, 0x1fa8, /* 0x1fa0 titlecase */
+ 2, 0x1f69, 0x399, /* 0x1fa1 upcase */
+ 1, 0x1fa1, /* 0x1fa1 downcase */
+ 1, 0x1fa9, /* 0x1fa1 titlecase */
+ 2, 0x1f6a, 0x399, /* 0x1fa2 upcase */
+ 1, 0x1fa2, /* 0x1fa2 downcase */
+ 1, 0x1faa, /* 0x1fa2 titlecase */
+ 2, 0x1f6b, 0x399, /* 0x1fa3 upcase */
+ 1, 0x1fa3, /* 0x1fa3 downcase */
+ 1, 0x1fab, /* 0x1fa3 titlecase */
+ 2, 0x1f6c, 0x399, /* 0x1fa4 upcase */
+ 1, 0x1fa4, /* 0x1fa4 downcase */
+ 1, 0x1fac, /* 0x1fa4 titlecase */
+ 2, 0x1f6d, 0x399, /* 0x1fa5 upcase */
+ 1, 0x1fa5, /* 0x1fa5 downcase */
+ 1, 0x1fad, /* 0x1fa5 titlecase */
+ 2, 0x1f6e, 0x399, /* 0x1fa6 upcase */
+ 1, 0x1fa6, /* 0x1fa6 downcase */
+ 1, 0x1fae, /* 0x1fa6 titlecase */
+ 2, 0x1f6f, 0x399, /* 0x1fa7 upcase */
+ 1, 0x1fa7, /* 0x1fa7 downcase */
+ 1, 0x1faf, /* 0x1fa7 titlecase */
+ 2, 0x1f68, 0x399, /* 0x1fa8 upcase */
+ 1, 0x1fa0, /* 0x1fa8 downcase */
+ 1, 0x1fa8, /* 0x1fa8 titlecase */
+ 2, 0x1f69, 0x399, /* 0x1fa9 upcase */
+ 1, 0x1fa1, /* 0x1fa9 downcase */
+ 1, 0x1fa9, /* 0x1fa9 titlecase */
+ 2, 0x1f6a, 0x399, /* 0x1faa upcase */
+ 1, 0x1fa2, /* 0x1faa downcase */
+ 1, 0x1faa, /* 0x1faa titlecase */
+ 2, 0x1f6b, 0x399, /* 0x1fab upcase */
+ 1, 0x1fa3, /* 0x1fab downcase */
+ 1, 0x1fab, /* 0x1fab titlecase */
+ 2, 0x1f6c, 0x399, /* 0x1fac upcase */
+ 1, 0x1fa4, /* 0x1fac downcase */
+ 1, 0x1fac, /* 0x1fac titlecase */
+ 2, 0x1f6d, 0x399, /* 0x1fad upcase */
+ 1, 0x1fa5, /* 0x1fad downcase */
+ 1, 0x1fad, /* 0x1fad titlecase */
+ 2, 0x1f6e, 0x399, /* 0x1fae upcase */
+ 1, 0x1fa6, /* 0x1fae downcase */
+ 1, 0x1fae, /* 0x1fae titlecase */
+ 2, 0x1f6f, 0x399, /* 0x1faf upcase */
+ 1, 0x1fa7, /* 0x1faf downcase */
+ 1, 0x1faf, /* 0x1faf titlecase */
+ 2, 0x1fba, 0x399, /* 0x1fb2 upcase */
+ 1, 0x1fb2, /* 0x1fb2 downcase */
+ 2, 0x1fba, 0x345, /* 0x1fb2 titlecase */
+ 2, 0x391, 0x399, /* 0x1fb3 upcase */
+ 1, 0x1fb3, /* 0x1fb3 downcase */
+ 1, 0x1fbc, /* 0x1fb3 titlecase */
+ 2, 0x386, 0x399, /* 0x1fb4 upcase */
+ 1, 0x1fb4, /* 0x1fb4 downcase */
+ 2, 0x386, 0x345, /* 0x1fb4 titlecase */
+ 2, 0x391, 0x342, /* 0x1fb6 upcase */
+ 1, 0x1fb6, /* 0x1fb6 downcase */
+ 2, 0x391, 0x342, /* 0x1fb6 titlecase */
+ 3, 0x391, 0x342, 0x399, /* 0x1fb7 upcase */
+ 1, 0x1fb7, /* 0x1fb7 downcase */
+ 3, 0x391, 0x342, 0x345, /* 0x1fb7 titlecase */
+ 2, 0x391, 0x399, /* 0x1fbc upcase */
+ 1, 0x1fb3, /* 0x1fbc downcase */
+ 1, 0x1fbc, /* 0x1fbc titlecase */
+ 2, 0x1fca, 0x399, /* 0x1fc2 upcase */
+ 1, 0x1fc2, /* 0x1fc2 downcase */
+ 2, 0x1fca, 0x345, /* 0x1fc2 titlecase */
+ 2, 0x397, 0x399, /* 0x1fc3 upcase */
+ 1, 0x1fc3, /* 0x1fc3 downcase */
+ 1, 0x1fcc, /* 0x1fc3 titlecase */
+ 2, 0x389, 0x399, /* 0x1fc4 upcase */
+ 1, 0x1fc4, /* 0x1fc4 downcase */
+ 2, 0x389, 0x345, /* 0x1fc4 titlecase */
+ 2, 0x397, 0x342, /* 0x1fc6 upcase */
+ 1, 0x1fc6, /* 0x1fc6 downcase */
+ 2, 0x397, 0x342, /* 0x1fc6 titlecase */
+ 3, 0x397, 0x342, 0x399, /* 0x1fc7 upcase */
+ 1, 0x1fc7, /* 0x1fc7 downcase */
+ 3, 0x397, 0x342, 0x345, /* 0x1fc7 titlecase */
+ 2, 0x397, 0x399, /* 0x1fcc upcase */
+ 1, 0x1fc3, /* 0x1fcc downcase */
+ 1, 0x1fcc, /* 0x1fcc titlecase */
+ 3, 0x399, 0x308, 0x300, /* 0x1fd2 upcase */
+ 1, 0x1fd2, /* 0x1fd2 downcase */
+ 3, 0x399, 0x308, 0x300, /* 0x1fd2 titlecase */
+ 3, 0x399, 0x308, 0x301, /* 0x1fd3 upcase */
+ 1, 0x1fd3, /* 0x1fd3 downcase */
+ 3, 0x399, 0x308, 0x301, /* 0x1fd3 titlecase */
+ 2, 0x399, 0x342, /* 0x1fd6 upcase */
+ 1, 0x1fd6, /* 0x1fd6 downcase */
+ 2, 0x399, 0x342, /* 0x1fd6 titlecase */
+ 3, 0x399, 0x308, 0x342, /* 0x1fd7 upcase */
+ 1, 0x1fd7, /* 0x1fd7 downcase */
+ 3, 0x399, 0x308, 0x342, /* 0x1fd7 titlecase */
+ 3, 0x3a5, 0x308, 0x300, /* 0x1fe2 upcase */
+ 1, 0x1fe2, /* 0x1fe2 downcase */
+ 3, 0x3a5, 0x308, 0x300, /* 0x1fe2 titlecase */
+ 3, 0x3a5, 0x308, 0x301, /* 0x1fe3 upcase */
+ 1, 0x1fe3, /* 0x1fe3 downcase */
+ 3, 0x3a5, 0x308, 0x301, /* 0x1fe3 titlecase */
+ 2, 0x3a1, 0x313, /* 0x1fe4 upcase */
+ 1, 0x1fe4, /* 0x1fe4 downcase */
+ 2, 0x3a1, 0x313, /* 0x1fe4 titlecase */
+ 2, 0x3a5, 0x342, /* 0x1fe6 upcase */
+ 1, 0x1fe6, /* 0x1fe6 downcase */
+ 2, 0x3a5, 0x342, /* 0x1fe6 titlecase */
+ 3, 0x3a5, 0x308, 0x342, /* 0x1fe7 upcase */
+ 1, 0x1fe7, /* 0x1fe7 downcase */
+ 3, 0x3a5, 0x308, 0x342, /* 0x1fe7 titlecase */
+ 2, 0x1ffa, 0x399, /* 0x1ff2 upcase */
+ 1, 0x1ff2, /* 0x1ff2 downcase */
+ 2, 0x1ffa, 0x345, /* 0x1ff2 titlecase */
+ 2, 0x3a9, 0x399, /* 0x1ff3 upcase */
+ 1, 0x1ff3, /* 0x1ff3 downcase */
+ 1, 0x1ffc, /* 0x1ff3 titlecase */
+ 2, 0x38f, 0x399, /* 0x1ff4 upcase */
+ 1, 0x1ff4, /* 0x1ff4 downcase */
+ 2, 0x38f, 0x345, /* 0x1ff4 titlecase */
+ 2, 0x3a9, 0x342, /* 0x1ff6 upcase */
+ 1, 0x1ff6, /* 0x1ff6 downcase */
+ 2, 0x3a9, 0x342, /* 0x1ff6 titlecase */
+ 3, 0x3a9, 0x342, 0x399, /* 0x1ff7 upcase */
+ 1, 0x1ff7, /* 0x1ff7 downcase */
+ 3, 0x3a9, 0x342, 0x345, /* 0x1ff7 titlecase */
+ 2, 0x3a9, 0x399, /* 0x1ffc upcase */
+ 1, 0x1ff3, /* 0x1ffc downcase */
+ 1, 0x1ffc, /* 0x1ffc titlecase */
+ 2, 0x46, 0x46, /* 0xfb00 upcase */
+ 1, 0xfb00, /* 0xfb00 downcase */
+ 2, 0x46, 0x66, /* 0xfb00 titlecase */
+ 2, 0x46, 0x49, /* 0xfb01 upcase */
+ 1, 0xfb01, /* 0xfb01 downcase */
+ 2, 0x46, 0x69, /* 0xfb01 titlecase */
+ 2, 0x46, 0x4c, /* 0xfb02 upcase */
+ 1, 0xfb02, /* 0xfb02 downcase */
+ 2, 0x46, 0x6c, /* 0xfb02 titlecase */
+ 3, 0x46, 0x46, 0x49, /* 0xfb03 upcase */
+ 1, 0xfb03, /* 0xfb03 downcase */
+ 3, 0x46, 0x66, 0x69, /* 0xfb03 titlecase */
+ 3, 0x46, 0x46, 0x4c, /* 0xfb04 upcase */
+ 1, 0xfb04, /* 0xfb04 downcase */
+ 3, 0x46, 0x66, 0x6c, /* 0xfb04 titlecase */
+ 2, 0x53, 0x54, /* 0xfb05 upcase */
+ 1, 0xfb05, /* 0xfb05 downcase */
+ 2, 0x53, 0x74, /* 0xfb05 titlecase */
+ 2, 0x53, 0x54, /* 0xfb06 upcase */
+ 1, 0xfb06, /* 0xfb06 downcase */
+ 2, 0x53, 0x74, /* 0xfb06 titlecase */
+ 2, 0x544, 0x546, /* 0xfb13 upcase */
+ 1, 0xfb13, /* 0xfb13 downcase */
+ 2, 0x544, 0x576, /* 0xfb13 titlecase */
+ 2, 0x544, 0x535, /* 0xfb14 upcase */
+ 1, 0xfb14, /* 0xfb14 downcase */
+ 2, 0x544, 0x565, /* 0xfb14 titlecase */
+ 2, 0x544, 0x53b, /* 0xfb15 upcase */
+ 1, 0xfb15, /* 0xfb15 downcase */
+ 2, 0x544, 0x56b, /* 0xfb15 titlecase */
+ 2, 0x54e, 0x546, /* 0xfb16 upcase */
+ 1, 0xfb16, /* 0xfb16 downcase */
+ 2, 0x54e, 0x576, /* 0xfb16 titlecase */
+ 2, 0x544, 0x53d, /* 0xfb17 upcase */
+ 1, 0xfb17, /* 0xfb17 downcase */
+ 2, 0x544, 0x56d, /* 0xfb17 titlecase */
+};
+
+gli_case_special_t unigen_special_0xdf = { 0, 3, 5 };
+gli_case_special_t unigen_special_0x130 = { 8, 10, 13 };
+gli_case_special_t unigen_special_0x149 = { 15, 18, 20 };
+gli_case_special_t unigen_special_0x1c4 = { 23, 25, 27 };
+gli_case_special_t unigen_special_0x1c5 = { 29, 31, 33 };
+gli_case_special_t unigen_special_0x1c6 = { 35, 37, 39 };
+gli_case_special_t unigen_special_0x1c7 = { 41, 43, 45 };
+gli_case_special_t unigen_special_0x1c8 = { 47, 49, 51 };
+gli_case_special_t unigen_special_0x1c9 = { 53, 55, 57 };
+gli_case_special_t unigen_special_0x1ca = { 59, 61, 63 };
+gli_case_special_t unigen_special_0x1cb = { 65, 67, 69 };
+gli_case_special_t unigen_special_0x1cc = { 71, 73, 75 };
+gli_case_special_t unigen_special_0x1f0 = { 77, 80, 82 };
+gli_case_special_t unigen_special_0x1f1 = { 85, 87, 89 };
+gli_case_special_t unigen_special_0x1f2 = { 91, 93, 95 };
+gli_case_special_t unigen_special_0x1f3 = { 97, 99, 101 };
+gli_case_special_t unigen_special_0x390 = { 103, 107, 109 };
+gli_case_special_t unigen_special_0x3b0 = { 113, 117, 119 };
+gli_case_special_t unigen_special_0x587 = { 123, 126, 128 };
+gli_case_special_t unigen_special_0x1e96 = { 131, 134, 136 };
+gli_case_special_t unigen_special_0x1e97 = { 139, 142, 144 };
+gli_case_special_t unigen_special_0x1e98 = { 147, 150, 152 };
+gli_case_special_t unigen_special_0x1e99 = { 155, 158, 160 };
+gli_case_special_t unigen_special_0x1e9a = { 163, 166, 168 };
+gli_case_special_t unigen_special_0x1f50 = { 171, 174, 176 };
+gli_case_special_t unigen_special_0x1f52 = { 179, 183, 185 };
+gli_case_special_t unigen_special_0x1f54 = { 189, 193, 195 };
+gli_case_special_t unigen_special_0x1f56 = { 199, 203, 205 };
+gli_case_special_t unigen_special_0x1f80 = { 209, 212, 214 };
+gli_case_special_t unigen_special_0x1f81 = { 216, 219, 221 };
+gli_case_special_t unigen_special_0x1f82 = { 223, 226, 228 };
+gli_case_special_t unigen_special_0x1f83 = { 230, 233, 235 };
+gli_case_special_t unigen_special_0x1f84 = { 237, 240, 242 };
+gli_case_special_t unigen_special_0x1f85 = { 244, 247, 249 };
+gli_case_special_t unigen_special_0x1f86 = { 251, 254, 256 };
+gli_case_special_t unigen_special_0x1f87 = { 258, 261, 263 };
+gli_case_special_t unigen_special_0x1f88 = { 265, 268, 270 };
+gli_case_special_t unigen_special_0x1f89 = { 272, 275, 277 };
+gli_case_special_t unigen_special_0x1f8a = { 279, 282, 284 };
+gli_case_special_t unigen_special_0x1f8b = { 286, 289, 291 };
+gli_case_special_t unigen_special_0x1f8c = { 293, 296, 298 };
+gli_case_special_t unigen_special_0x1f8d = { 300, 303, 305 };
+gli_case_special_t unigen_special_0x1f8e = { 307, 310, 312 };
+gli_case_special_t unigen_special_0x1f8f = { 314, 317, 319 };
+gli_case_special_t unigen_special_0x1f90 = { 321, 324, 326 };
+gli_case_special_t unigen_special_0x1f91 = { 328, 331, 333 };
+gli_case_special_t unigen_special_0x1f92 = { 335, 338, 340 };
+gli_case_special_t unigen_special_0x1f93 = { 342, 345, 347 };
+gli_case_special_t unigen_special_0x1f94 = { 349, 352, 354 };
+gli_case_special_t unigen_special_0x1f95 = { 356, 359, 361 };
+gli_case_special_t unigen_special_0x1f96 = { 363, 366, 368 };
+gli_case_special_t unigen_special_0x1f97 = { 370, 373, 375 };
+gli_case_special_t unigen_special_0x1f98 = { 377, 380, 382 };
+gli_case_special_t unigen_special_0x1f99 = { 384, 387, 389 };
+gli_case_special_t unigen_special_0x1f9a = { 391, 394, 396 };
+gli_case_special_t unigen_special_0x1f9b = { 398, 401, 403 };
+gli_case_special_t unigen_special_0x1f9c = { 405, 408, 410 };
+gli_case_special_t unigen_special_0x1f9d = { 412, 415, 417 };
+gli_case_special_t unigen_special_0x1f9e = { 419, 422, 424 };
+gli_case_special_t unigen_special_0x1f9f = { 426, 429, 431 };
+gli_case_special_t unigen_special_0x1fa0 = { 433, 436, 438 };
+gli_case_special_t unigen_special_0x1fa1 = { 440, 443, 445 };
+gli_case_special_t unigen_special_0x1fa2 = { 447, 450, 452 };
+gli_case_special_t unigen_special_0x1fa3 = { 454, 457, 459 };
+gli_case_special_t unigen_special_0x1fa4 = { 461, 464, 466 };
+gli_case_special_t unigen_special_0x1fa5 = { 468, 471, 473 };
+gli_case_special_t unigen_special_0x1fa6 = { 475, 478, 480 };
+gli_case_special_t unigen_special_0x1fa7 = { 482, 485, 487 };
+gli_case_special_t unigen_special_0x1fa8 = { 489, 492, 494 };
+gli_case_special_t unigen_special_0x1fa9 = { 496, 499, 501 };
+gli_case_special_t unigen_special_0x1faa = { 503, 506, 508 };
+gli_case_special_t unigen_special_0x1fab = { 510, 513, 515 };
+gli_case_special_t unigen_special_0x1fac = { 517, 520, 522 };
+gli_case_special_t unigen_special_0x1fad = { 524, 527, 529 };
+gli_case_special_t unigen_special_0x1fae = { 531, 534, 536 };
+gli_case_special_t unigen_special_0x1faf = { 538, 541, 543 };
+gli_case_special_t unigen_special_0x1fb2 = { 545, 548, 550 };
+gli_case_special_t unigen_special_0x1fb3 = { 553, 556, 558 };
+gli_case_special_t unigen_special_0x1fb4 = { 560, 563, 565 };
+gli_case_special_t unigen_special_0x1fb6 = { 568, 571, 573 };
+gli_case_special_t unigen_special_0x1fb7 = { 576, 580, 582 };
+gli_case_special_t unigen_special_0x1fbc = { 586, 589, 591 };
+gli_case_special_t unigen_special_0x1fc2 = { 593, 596, 598 };
+gli_case_special_t unigen_special_0x1fc3 = { 601, 604, 606 };
+gli_case_special_t unigen_special_0x1fc4 = { 608, 611, 613 };
+gli_case_special_t unigen_special_0x1fc6 = { 616, 619, 621 };
+gli_case_special_t unigen_special_0x1fc7 = { 624, 628, 630 };
+gli_case_special_t unigen_special_0x1fcc = { 634, 637, 639 };
+gli_case_special_t unigen_special_0x1fd2 = { 641, 645, 647 };
+gli_case_special_t unigen_special_0x1fd3 = { 651, 655, 657 };
+gli_case_special_t unigen_special_0x1fd6 = { 661, 664, 666 };
+gli_case_special_t unigen_special_0x1fd7 = { 669, 673, 675 };
+gli_case_special_t unigen_special_0x1fe2 = { 679, 683, 685 };
+gli_case_special_t unigen_special_0x1fe3 = { 689, 693, 695 };
+gli_case_special_t unigen_special_0x1fe4 = { 699, 702, 704 };
+gli_case_special_t unigen_special_0x1fe6 = { 707, 710, 712 };
+gli_case_special_t unigen_special_0x1fe7 = { 715, 719, 721 };
+gli_case_special_t unigen_special_0x1ff2 = { 725, 728, 730 };
+gli_case_special_t unigen_special_0x1ff3 = { 733, 736, 738 };
+gli_case_special_t unigen_special_0x1ff4 = { 740, 743, 745 };
+gli_case_special_t unigen_special_0x1ff6 = { 748, 751, 753 };
+gli_case_special_t unigen_special_0x1ff7 = { 756, 760, 762 };
+gli_case_special_t unigen_special_0x1ffc = { 766, 769, 771 };
+gli_case_special_t unigen_special_0xfb00 = { 773, 776, 778 };
+gli_case_special_t unigen_special_0xfb01 = { 781, 784, 786 };
+gli_case_special_t unigen_special_0xfb02 = { 789, 792, 794 };
+gli_case_special_t unigen_special_0xfb03 = { 797, 801, 803 };
+gli_case_special_t unigen_special_0xfb04 = { 807, 811, 813 };
+gli_case_special_t unigen_special_0xfb05 = { 817, 820, 822 };
+gli_case_special_t unigen_special_0xfb06 = { 825, 828, 830 };
+gli_case_special_t unigen_special_0xfb13 = { 833, 836, 838 };
+gli_case_special_t unigen_special_0xfb14 = { 841, 844, 846 };
+gli_case_special_t unigen_special_0xfb15 = { 849, 852, 854 };
+gli_case_special_t unigen_special_0xfb16 = { 857, 860, 862 };
+gli_case_special_t unigen_special_0xfb17 = { 865, 868, 870 };
+
+#define RETURN_COMBINING_CLASS(ch) \
+switch ((glui32)(ch) >> 8) { \
+case 3: \
+switch (ch) { \
+ case 820: \
+ case 821: \
+ case 822: \
+ case 823: \
+ case 824: \
+ return 1; \
+ case 801: \
+ case 802: \
+ case 807: \
+ case 808: \
+ return 202; \
+ case 795: \
+ return 216; \
+ case 790: \
+ case 791: \
+ case 792: \
+ case 793: \
+ case 796: \
+ case 797: \
+ case 798: \
+ case 799: \
+ case 800: \
+ case 803: \
+ case 804: \
+ case 805: \
+ case 806: \
+ case 809: \
+ case 810: \
+ case 811: \
+ case 812: \
+ case 813: \
+ case 814: \
+ case 815: \
+ case 816: \
+ case 817: \
+ case 818: \
+ case 819: \
+ case 825: \
+ case 826: \
+ case 827: \
+ case 828: \
+ case 839: \
+ case 840: \
+ case 841: \
+ case 845: \
+ case 846: \
+ case 851: \
+ case 852: \
+ case 853: \
+ case 854: \
+ return 220; \
+ case 768: \
+ case 769: \
+ case 770: \
+ case 771: \
+ case 772: \
+ case 773: \
+ case 774: \
+ case 775: \
+ case 776: \
+ case 777: \
+ case 778: \
+ case 779: \
+ case 780: \
+ case 781: \
+ case 782: \
+ case 783: \
+ case 784: \
+ case 785: \
+ case 786: \
+ case 787: \
+ case 788: \
+ case 829: \
+ case 830: \
+ case 831: \
+ case 832: \
+ case 833: \
+ case 834: \
+ case 835: \
+ case 836: \
+ case 838: \
+ case 842: \
+ case 843: \
+ case 844: \
+ case 848: \
+ case 849: \
+ case 850: \
+ case 855: \
+ case 867: \
+ case 868: \
+ case 869: \
+ case 870: \
+ case 871: \
+ case 872: \
+ case 873: \
+ case 874: \
+ case 875: \
+ case 876: \
+ case 877: \
+ case 878: \
+ case 879: \
+ return 230; \
+ case 789: \
+ case 794: \
+ return 232; \
+ case 863: \
+ case 866: \
+ return 233; \
+ case 861: \
+ case 862: \
+ case 864: \
+ case 865: \
+ return 234; \
+ case 837: \
+ return 240; \
+} \
+return 0; \
+case 4: \
+switch (ch) { \
+ case 1155: \
+ case 1156: \
+ case 1157: \
+ case 1158: \
+ return 230; \
+} \
+return 0; \
+case 5: \
+switch (ch) { \
+ case 1456: \
+ return 10; \
+ case 1457: \
+ return 11; \
+ case 1458: \
+ return 12; \
+ case 1459: \
+ return 13; \
+ case 1460: \
+ return 14; \
+ case 1461: \
+ return 15; \
+ case 1462: \
+ return 16; \
+ case 1463: \
+ return 17; \
+ case 1464: \
+ return 18; \
+ case 1465: \
+ return 19; \
+ case 1467: \
+ return 20; \
+ case 1468: \
+ return 21; \
+ case 1469: \
+ return 22; \
+ case 1471: \
+ return 23; \
+ case 1473: \
+ return 24; \
+ case 1474: \
+ return 25; \
+ case 1425: \
+ case 1430: \
+ case 1435: \
+ case 1443: \
+ case 1444: \
+ case 1445: \
+ case 1446: \
+ case 1447: \
+ case 1450: \
+ return 220; \
+ case 1434: \
+ case 1453: \
+ return 222; \
+ case 1454: \
+ return 228; \
+ case 1426: \
+ case 1427: \
+ case 1428: \
+ case 1429: \
+ case 1431: \
+ case 1432: \
+ case 1433: \
+ case 1436: \
+ case 1437: \
+ case 1438: \
+ case 1439: \
+ case 1440: \
+ case 1441: \
+ case 1448: \
+ case 1449: \
+ case 1451: \
+ case 1452: \
+ case 1455: \
+ case 1476: \
+ return 230; \
+} \
+return 0; \
+case 6: \
+switch (ch) { \
+ case 1611: \
+ return 27; \
+ case 1612: \
+ return 28; \
+ case 1613: \
+ return 29; \
+ case 1614: \
+ return 30; \
+ case 1615: \
+ return 31; \
+ case 1616: \
+ return 32; \
+ case 1617: \
+ return 33; \
+ case 1618: \
+ return 34; \
+ case 1648: \
+ return 35; \
+ case 1621: \
+ case 1622: \
+ case 1763: \
+ case 1770: \
+ case 1773: \
+ return 220; \
+ case 1552: \
+ case 1553: \
+ case 1554: \
+ case 1555: \
+ case 1556: \
+ case 1557: \
+ case 1619: \
+ case 1620: \
+ case 1623: \
+ case 1624: \
+ case 1750: \
+ case 1751: \
+ case 1752: \
+ case 1753: \
+ case 1754: \
+ case 1755: \
+ case 1756: \
+ case 1759: \
+ case 1760: \
+ case 1761: \
+ case 1762: \
+ case 1764: \
+ case 1767: \
+ case 1768: \
+ case 1771: \
+ case 1772: \
+ return 230; \
+} \
+return 0; \
+case 7: \
+switch (ch) { \
+ case 1809: \
+ return 36; \
+ case 1841: \
+ case 1844: \
+ case 1847: \
+ case 1848: \
+ case 1849: \
+ case 1851: \
+ case 1852: \
+ case 1854: \
+ case 1858: \
+ case 1860: \
+ case 1862: \
+ case 1864: \
+ return 220; \
+ case 1840: \
+ case 1842: \
+ case 1843: \
+ case 1845: \
+ case 1846: \
+ case 1850: \
+ case 1853: \
+ case 1855: \
+ case 1856: \
+ case 1857: \
+ case 1859: \
+ case 1861: \
+ case 1863: \
+ case 1865: \
+ case 1866: \
+ return 230; \
+} \
+return 0; \
+case 9: \
+switch (ch) { \
+ case 2364: \
+ case 2492: \
+ return 7; \
+ case 2381: \
+ case 2509: \
+ return 9; \
+ case 2386: \
+ return 220; \
+ case 2385: \
+ case 2387: \
+ case 2388: \
+ return 230; \
+} \
+return 0; \
+case 10: \
+switch (ch) { \
+ case 2620: \
+ case 2748: \
+ return 7; \
+ case 2637: \
+ case 2765: \
+ return 9; \
+} \
+return 0; \
+case 11: \
+switch (ch) { \
+ case 2876: \
+ return 7; \
+ case 2893: \
+ case 3021: \
+ return 9; \
+} \
+return 0; \
+case 12: \
+switch (ch) { \
+ case 3260: \
+ return 7; \
+ case 3149: \
+ case 3277: \
+ return 9; \
+ case 3157: \
+ return 84; \
+ case 3158: \
+ return 91; \
+} \
+return 0; \
+case 13: \
+switch (ch) { \
+ case 3405: \
+ case 3530: \
+ return 9; \
+} \
+return 0; \
+case 14: \
+switch (ch) { \
+ case 3642: \
+ return 9; \
+ case 3640: \
+ case 3641: \
+ return 103; \
+ case 3656: \
+ case 3657: \
+ case 3658: \
+ case 3659: \
+ return 107; \
+ case 3768: \
+ case 3769: \
+ return 118; \
+ case 3784: \
+ case 3785: \
+ case 3786: \
+ case 3787: \
+ return 122; \
+} \
+return 0; \
+case 15: \
+switch (ch) { \
+ case 3972: \
+ return 9; \
+ case 3953: \
+ return 129; \
+ case 3954: \
+ case 3962: \
+ case 3963: \
+ case 3964: \
+ case 3965: \
+ case 3968: \
+ return 130; \
+ case 3956: \
+ return 132; \
+ case 3897: \
+ return 216; \
+ case 3864: \
+ case 3865: \
+ case 3893: \
+ case 3895: \
+ case 4038: \
+ return 220; \
+ case 3970: \
+ case 3971: \
+ case 3974: \
+ case 3975: \
+ return 230; \
+} \
+return 0; \
+case 16: \
+switch (ch) { \
+ case 4151: \
+ return 7; \
+ case 4153: \
+ return 9; \
+} \
+return 0; \
+case 23: \
+switch (ch) { \
+ case 5908: \
+ case 5940: \
+ case 6098: \
+ return 9; \
+ case 6109: \
+ return 230; \
+} \
+return 0; \
+case 24: \
+switch (ch) { \
+ case 6313: \
+ return 228; \
+} \
+return 0; \
+case 25: \
+switch (ch) { \
+ case 6459: \
+ return 220; \
+ case 6457: \
+ return 222; \
+ case 6458: \
+ return 230; \
+} \
+return 0; \
+case 32: \
+switch (ch) { \
+ case 8402: \
+ case 8403: \
+ case 8408: \
+ case 8409: \
+ case 8410: \
+ case 8421: \
+ case 8422: \
+ case 8426: \
+ return 1; \
+ case 8424: \
+ return 220; \
+ case 8400: \
+ case 8401: \
+ case 8404: \
+ case 8405: \
+ case 8406: \
+ case 8407: \
+ case 8411: \
+ case 8412: \
+ case 8417: \
+ case 8423: \
+ case 8425: \
+ return 230; \
+} \
+return 0; \
+case 48: \
+switch (ch) { \
+ case 12441: \
+ case 12442: \
+ return 8; \
+ case 12330: \
+ return 218; \
+ case 12333: \
+ return 222; \
+ case 12334: \
+ case 12335: \
+ return 224; \
+ case 12331: \
+ return 228; \
+ case 12332: \
+ return 232; \
+} \
+return 0; \
+case 251: \
+switch (ch) { \
+ case 64286: \
+ return 26; \
+} \
+return 0; \
+case 254: \
+switch (ch) { \
+ case 65056: \
+ case 65057: \
+ case 65058: \
+ case 65059: \
+ return 230; \
+} \
+return 0; \
+case 465: \
+switch (ch) { \
+ case 119143: \
+ case 119144: \
+ case 119145: \
+ return 1; \
+ case 119141: \
+ case 119142: \
+ case 119150: \
+ case 119151: \
+ case 119152: \
+ case 119153: \
+ case 119154: \
+ return 216; \
+ case 119163: \
+ case 119164: \
+ case 119165: \
+ case 119166: \
+ case 119167: \
+ case 119168: \
+ case 119169: \
+ case 119170: \
+ case 119178: \
+ case 119179: \
+ return 220; \
+ case 119149: \
+ return 226; \
+ case 119173: \
+ case 119174: \
+ case 119175: \
+ case 119176: \
+ case 119177: \
+ case 119210: \
+ case 119211: \
+ case 119212: \
+ case 119213: \
+ return 230; \
+} \
+return 0; \
+} \
+return 0;
+
+#define RETURN_COMPOSITION(ch1, ch2) \
+switch ((glui32)(ch1) >> 8) { \
+case 0: \
+switch (ch1) { \
+ case 60: \
+ switch (ch2) { \
+ case 824: return 8814; \
+ } \
+ return 0; \
+ case 61: \
+ switch (ch2) { \
+ case 824: return 8800; \
+ } \
+ return 0; \
+ case 62: \
+ switch (ch2) { \
+ case 824: return 8815; \
+ } \
+ return 0; \
+ case 65: \
+ switch (ch2) { \
+ case 768: return 192; \
+ case 769: return 193; \
+ case 770: return 194; \
+ case 771: return 195; \
+ case 772: return 256; \
+ case 774: return 258; \
+ case 775: return 550; \
+ case 776: return 196; \
+ case 777: return 7842; \
+ case 778: return 197; \
+ case 780: return 461; \
+ case 783: return 512; \
+ case 785: return 514; \
+ case 803: return 7840; \
+ case 805: return 7680; \
+ case 808: return 260; \
+ } \
+ return 0; \
+ case 66: \
+ switch (ch2) { \
+ case 775: return 7682; \
+ case 803: return 7684; \
+ case 817: return 7686; \
+ } \
+ return 0; \
+ case 67: \
+ switch (ch2) { \
+ case 769: return 262; \
+ case 770: return 264; \
+ case 775: return 266; \
+ case 780: return 268; \
+ case 807: return 199; \
+ } \
+ return 0; \
+ case 68: \
+ switch (ch2) { \
+ case 775: return 7690; \
+ case 780: return 270; \
+ case 803: return 7692; \
+ case 807: return 7696; \
+ case 813: return 7698; \
+ case 817: return 7694; \
+ } \
+ return 0; \
+ case 69: \
+ switch (ch2) { \
+ case 768: return 200; \
+ case 769: return 201; \
+ case 770: return 202; \
+ case 771: return 7868; \
+ case 772: return 274; \
+ case 774: return 276; \
+ case 775: return 278; \
+ case 776: return 203; \
+ case 777: return 7866; \
+ case 780: return 282; \
+ case 783: return 516; \
+ case 785: return 518; \
+ case 803: return 7864; \
+ case 807: return 552; \
+ case 808: return 280; \
+ case 813: return 7704; \
+ case 816: return 7706; \
+ } \
+ return 0; \
+ case 70: \
+ switch (ch2) { \
+ case 775: return 7710; \
+ } \
+ return 0; \
+ case 71: \
+ switch (ch2) { \
+ case 769: return 500; \
+ case 770: return 284; \
+ case 772: return 7712; \
+ case 774: return 286; \
+ case 775: return 288; \
+ case 780: return 486; \
+ case 807: return 290; \
+ } \
+ return 0; \
+ case 72: \
+ switch (ch2) { \
+ case 770: return 292; \
+ case 775: return 7714; \
+ case 776: return 7718; \
+ case 780: return 542; \
+ case 803: return 7716; \
+ case 807: return 7720; \
+ case 814: return 7722; \
+ } \
+ return 0; \
+ case 73: \
+ switch (ch2) { \
+ case 768: return 204; \
+ case 769: return 205; \
+ case 770: return 206; \
+ case 771: return 296; \
+ case 772: return 298; \
+ case 774: return 300; \
+ case 775: return 304; \
+ case 776: return 207; \
+ case 777: return 7880; \
+ case 780: return 463; \
+ case 783: return 520; \
+ case 785: return 522; \
+ case 803: return 7882; \
+ case 808: return 302; \
+ case 816: return 7724; \
+ } \
+ return 0; \
+ case 74: \
+ switch (ch2) { \
+ case 770: return 308; \
+ } \
+ return 0; \
+ case 75: \
+ switch (ch2) { \
+ case 769: return 7728; \
+ case 780: return 488; \
+ case 803: return 7730; \
+ case 807: return 310; \
+ case 817: return 7732; \
+ } \
+ return 0; \
+ case 76: \
+ switch (ch2) { \
+ case 769: return 313; \
+ case 780: return 317; \
+ case 803: return 7734; \
+ case 807: return 315; \
+ case 813: return 7740; \
+ case 817: return 7738; \
+ } \
+ return 0; \
+ case 77: \
+ switch (ch2) { \
+ case 769: return 7742; \
+ case 775: return 7744; \
+ case 803: return 7746; \
+ } \
+ return 0; \
+ case 78: \
+ switch (ch2) { \
+ case 768: return 504; \
+ case 769: return 323; \
+ case 771: return 209; \
+ case 775: return 7748; \
+ case 780: return 327; \
+ case 803: return 7750; \
+ case 807: return 325; \
+ case 813: return 7754; \
+ case 817: return 7752; \
+ } \
+ return 0; \
+ case 79: \
+ switch (ch2) { \
+ case 768: return 210; \
+ case 769: return 211; \
+ case 770: return 212; \
+ case 771: return 213; \
+ case 772: return 332; \
+ case 774: return 334; \
+ case 775: return 558; \
+ case 776: return 214; \
+ case 777: return 7886; \
+ case 779: return 336; \
+ case 780: return 465; \
+ case 783: return 524; \
+ case 785: return 526; \
+ case 795: return 416; \
+ case 803: return 7884; \
+ case 808: return 490; \
+ } \
+ return 0; \
+ case 80: \
+ switch (ch2) { \
+ case 769: return 7764; \
+ case 775: return 7766; \
+ } \
+ return 0; \
+ case 82: \
+ switch (ch2) { \
+ case 769: return 340; \
+ case 775: return 7768; \
+ case 780: return 344; \
+ case 783: return 528; \
+ case 785: return 530; \
+ case 803: return 7770; \
+ case 807: return 342; \
+ case 817: return 7774; \
+ } \
+ return 0; \
+ case 83: \
+ switch (ch2) { \
+ case 769: return 346; \
+ case 770: return 348; \
+ case 775: return 7776; \
+ case 780: return 352; \
+ case 803: return 7778; \
+ case 806: return 536; \
+ case 807: return 350; \
+ } \
+ return 0; \
+ case 84: \
+ switch (ch2) { \
+ case 775: return 7786; \
+ case 780: return 356; \
+ case 803: return 7788; \
+ case 806: return 538; \
+ case 807: return 354; \
+ case 813: return 7792; \
+ case 817: return 7790; \
+ } \
+ return 0; \
+ case 85: \
+ switch (ch2) { \
+ case 768: return 217; \
+ case 769: return 218; \
+ case 770: return 219; \
+ case 771: return 360; \
+ case 772: return 362; \
+ case 774: return 364; \
+ case 776: return 220; \
+ case 777: return 7910; \
+ case 778: return 366; \
+ case 779: return 368; \
+ case 780: return 467; \
+ case 783: return 532; \
+ case 785: return 534; \
+ case 795: return 431; \
+ case 803: return 7908; \
+ case 804: return 7794; \
+ case 808: return 370; \
+ case 813: return 7798; \
+ case 816: return 7796; \
+ } \
+ return 0; \
+ case 86: \
+ switch (ch2) { \
+ case 771: return 7804; \
+ case 803: return 7806; \
+ } \
+ return 0; \
+ case 87: \
+ switch (ch2) { \
+ case 768: return 7808; \
+ case 769: return 7810; \
+ case 770: return 372; \
+ case 775: return 7814; \
+ case 776: return 7812; \
+ case 803: return 7816; \
+ } \
+ return 0; \
+ case 88: \
+ switch (ch2) { \
+ case 775: return 7818; \
+ case 776: return 7820; \
+ } \
+ return 0; \
+ case 89: \
+ switch (ch2) { \
+ case 768: return 7922; \
+ case 769: return 221; \
+ case 770: return 374; \
+ case 771: return 7928; \
+ case 772: return 562; \
+ case 775: return 7822; \
+ case 776: return 376; \
+ case 777: return 7926; \
+ case 803: return 7924; \
+ } \
+ return 0; \
+ case 90: \
+ switch (ch2) { \
+ case 769: return 377; \
+ case 770: return 7824; \
+ case 775: return 379; \
+ case 780: return 381; \
+ case 803: return 7826; \
+ case 817: return 7828; \
+ } \
+ return 0; \
+ case 97: \
+ switch (ch2) { \
+ case 768: return 224; \
+ case 769: return 225; \
+ case 770: return 226; \
+ case 771: return 227; \
+ case 772: return 257; \
+ case 774: return 259; \
+ case 775: return 551; \
+ case 776: return 228; \
+ case 777: return 7843; \
+ case 778: return 229; \
+ case 780: return 462; \
+ case 783: return 513; \
+ case 785: return 515; \
+ case 803: return 7841; \
+ case 805: return 7681; \
+ case 808: return 261; \
+ } \
+ return 0; \
+ case 98: \
+ switch (ch2) { \
+ case 775: return 7683; \
+ case 803: return 7685; \
+ case 817: return 7687; \
+ } \
+ return 0; \
+ case 99: \
+ switch (ch2) { \
+ case 769: return 263; \
+ case 770: return 265; \
+ case 775: return 267; \
+ case 780: return 269; \
+ case 807: return 231; \
+ } \
+ return 0; \
+ case 100: \
+ switch (ch2) { \
+ case 775: return 7691; \
+ case 780: return 271; \
+ case 803: return 7693; \
+ case 807: return 7697; \
+ case 813: return 7699; \
+ case 817: return 7695; \
+ } \
+ return 0; \
+ case 101: \
+ switch (ch2) { \
+ case 768: return 232; \
+ case 769: return 233; \
+ case 770: return 234; \
+ case 771: return 7869; \
+ case 772: return 275; \
+ case 774: return 277; \
+ case 775: return 279; \
+ case 776: return 235; \
+ case 777: return 7867; \
+ case 780: return 283; \
+ case 783: return 517; \
+ case 785: return 519; \
+ case 803: return 7865; \
+ case 807: return 553; \
+ case 808: return 281; \
+ case 813: return 7705; \
+ case 816: return 7707; \
+ } \
+ return 0; \
+ case 102: \
+ switch (ch2) { \
+ case 775: return 7711; \
+ } \
+ return 0; \
+ case 103: \
+ switch (ch2) { \
+ case 769: return 501; \
+ case 770: return 285; \
+ case 772: return 7713; \
+ case 774: return 287; \
+ case 775: return 289; \
+ case 780: return 487; \
+ case 807: return 291; \
+ } \
+ return 0; \
+ case 104: \
+ switch (ch2) { \
+ case 770: return 293; \
+ case 775: return 7715; \
+ case 776: return 7719; \
+ case 780: return 543; \
+ case 803: return 7717; \
+ case 807: return 7721; \
+ case 814: return 7723; \
+ case 817: return 7830; \
+ } \
+ return 0; \
+ case 105: \
+ switch (ch2) { \
+ case 768: return 236; \
+ case 769: return 237; \
+ case 770: return 238; \
+ case 771: return 297; \
+ case 772: return 299; \
+ case 774: return 301; \
+ case 776: return 239; \
+ case 777: return 7881; \
+ case 780: return 464; \
+ case 783: return 521; \
+ case 785: return 523; \
+ case 803: return 7883; \
+ case 808: return 303; \
+ case 816: return 7725; \
+ } \
+ return 0; \
+ case 106: \
+ switch (ch2) { \
+ case 770: return 309; \
+ case 780: return 496; \
+ } \
+ return 0; \
+ case 107: \
+ switch (ch2) { \
+ case 769: return 7729; \
+ case 780: return 489; \
+ case 803: return 7731; \
+ case 807: return 311; \
+ case 817: return 7733; \
+ } \
+ return 0; \
+ case 108: \
+ switch (ch2) { \
+ case 769: return 314; \
+ case 780: return 318; \
+ case 803: return 7735; \
+ case 807: return 316; \
+ case 813: return 7741; \
+ case 817: return 7739; \
+ } \
+ return 0; \
+ case 109: \
+ switch (ch2) { \
+ case 769: return 7743; \
+ case 775: return 7745; \
+ case 803: return 7747; \
+ } \
+ return 0; \
+ case 110: \
+ switch (ch2) { \
+ case 768: return 505; \
+ case 769: return 324; \
+ case 771: return 241; \
+ case 775: return 7749; \
+ case 780: return 328; \
+ case 803: return 7751; \
+ case 807: return 326; \
+ case 813: return 7755; \
+ case 817: return 7753; \
+ } \
+ return 0; \
+ case 111: \
+ switch (ch2) { \
+ case 768: return 242; \
+ case 769: return 243; \
+ case 770: return 244; \
+ case 771: return 245; \
+ case 772: return 333; \
+ case 774: return 335; \
+ case 775: return 559; \
+ case 776: return 246; \
+ case 777: return 7887; \
+ case 779: return 337; \
+ case 780: return 466; \
+ case 783: return 525; \
+ case 785: return 527; \
+ case 795: return 417; \
+ case 803: return 7885; \
+ case 808: return 491; \
+ } \
+ return 0; \
+ case 112: \
+ switch (ch2) { \
+ case 769: return 7765; \
+ case 775: return 7767; \
+ } \
+ return 0; \
+ case 114: \
+ switch (ch2) { \
+ case 769: return 341; \
+ case 775: return 7769; \
+ case 780: return 345; \
+ case 783: return 529; \
+ case 785: return 531; \
+ case 803: return 7771; \
+ case 807: return 343; \
+ case 817: return 7775; \
+ } \
+ return 0; \
+ case 115: \
+ switch (ch2) { \
+ case 769: return 347; \
+ case 770: return 349; \
+ case 775: return 7777; \
+ case 780: return 353; \
+ case 803: return 7779; \
+ case 806: return 537; \
+ case 807: return 351; \
+ } \
+ return 0; \
+ case 116: \
+ switch (ch2) { \
+ case 775: return 7787; \
+ case 776: return 7831; \
+ case 780: return 357; \
+ case 803: return 7789; \
+ case 806: return 539; \
+ case 807: return 355; \
+ case 813: return 7793; \
+ case 817: return 7791; \
+ } \
+ return 0; \
+ case 117: \
+ switch (ch2) { \
+ case 768: return 249; \
+ case 769: return 250; \
+ case 770: return 251; \
+ case 771: return 361; \
+ case 772: return 363; \
+ case 774: return 365; \
+ case 776: return 252; \
+ case 777: return 7911; \
+ case 778: return 367; \
+ case 779: return 369; \
+ case 780: return 468; \
+ case 783: return 533; \
+ case 785: return 535; \
+ case 795: return 432; \
+ case 803: return 7909; \
+ case 804: return 7795; \
+ case 808: return 371; \
+ case 813: return 7799; \
+ case 816: return 7797; \
+ } \
+ return 0; \
+ case 118: \
+ switch (ch2) { \
+ case 771: return 7805; \
+ case 803: return 7807; \
+ } \
+ return 0; \
+ case 119: \
+ switch (ch2) { \
+ case 768: return 7809; \
+ case 769: return 7811; \
+ case 770: return 373; \
+ case 775: return 7815; \
+ case 776: return 7813; \
+ case 778: return 7832; \
+ case 803: return 7817; \
+ } \
+ return 0; \
+ case 120: \
+ switch (ch2) { \
+ case 775: return 7819; \
+ case 776: return 7821; \
+ } \
+ return 0; \
+ case 121: \
+ switch (ch2) { \
+ case 768: return 7923; \
+ case 769: return 253; \
+ case 770: return 375; \
+ case 771: return 7929; \
+ case 772: return 563; \
+ case 775: return 7823; \
+ case 776: return 255; \
+ case 777: return 7927; \
+ case 778: return 7833; \
+ case 803: return 7925; \
+ } \
+ return 0; \
+ case 122: \
+ switch (ch2) { \
+ case 769: return 378; \
+ case 770: return 7825; \
+ case 775: return 380; \
+ case 780: return 382; \
+ case 803: return 7827; \
+ case 817: return 7829; \
+ } \
+ return 0; \
+ case 168: \
+ switch (ch2) { \
+ case 768: return 8173; \
+ case 769: return 901; \
+ case 834: return 8129; \
+ } \
+ return 0; \
+ case 194: \
+ switch (ch2) { \
+ case 768: return 7846; \
+ case 769: return 7844; \
+ case 771: return 7850; \
+ case 777: return 7848; \
+ } \
+ return 0; \
+ case 196: \
+ switch (ch2) { \
+ case 772: return 478; \
+ } \
+ return 0; \
+ case 197: \
+ switch (ch2) { \
+ case 769: return 506; \
+ } \
+ return 0; \
+ case 198: \
+ switch (ch2) { \
+ case 769: return 508; \
+ case 772: return 482; \
+ } \
+ return 0; \
+ case 199: \
+ switch (ch2) { \
+ case 769: return 7688; \
+ } \
+ return 0; \
+ case 202: \
+ switch (ch2) { \
+ case 768: return 7872; \
+ case 769: return 7870; \
+ case 771: return 7876; \
+ case 777: return 7874; \
+ } \
+ return 0; \
+ case 207: \
+ switch (ch2) { \
+ case 769: return 7726; \
+ } \
+ return 0; \
+ case 212: \
+ switch (ch2) { \
+ case 768: return 7890; \
+ case 769: return 7888; \
+ case 771: return 7894; \
+ case 777: return 7892; \
+ } \
+ return 0; \
+ case 213: \
+ switch (ch2) { \
+ case 769: return 7756; \
+ case 772: return 556; \
+ case 776: return 7758; \
+ } \
+ return 0; \
+ case 214: \
+ switch (ch2) { \
+ case 772: return 554; \
+ } \
+ return 0; \
+ case 216: \
+ switch (ch2) { \
+ case 769: return 510; \
+ } \
+ return 0; \
+ case 220: \
+ switch (ch2) { \
+ case 768: return 475; \
+ case 769: return 471; \
+ case 772: return 469; \
+ case 780: return 473; \
+ } \
+ return 0; \
+ case 226: \
+ switch (ch2) { \
+ case 768: return 7847; \
+ case 769: return 7845; \
+ case 771: return 7851; \
+ case 777: return 7849; \
+ } \
+ return 0; \
+ case 228: \
+ switch (ch2) { \
+ case 772: return 479; \
+ } \
+ return 0; \
+ case 229: \
+ switch (ch2) { \
+ case 769: return 507; \
+ } \
+ return 0; \
+ case 230: \
+ switch (ch2) { \
+ case 769: return 509; \
+ case 772: return 483; \
+ } \
+ return 0; \
+ case 231: \
+ switch (ch2) { \
+ case 769: return 7689; \
+ } \
+ return 0; \
+ case 234: \
+ switch (ch2) { \
+ case 768: return 7873; \
+ case 769: return 7871; \
+ case 771: return 7877; \
+ case 777: return 7875; \
+ } \
+ return 0; \
+ case 239: \
+ switch (ch2) { \
+ case 769: return 7727; \
+ } \
+ return 0; \
+ case 244: \
+ switch (ch2) { \
+ case 768: return 7891; \
+ case 769: return 7889; \
+ case 771: return 7895; \
+ case 777: return 7893; \
+ } \
+ return 0; \
+ case 245: \
+ switch (ch2) { \
+ case 769: return 7757; \
+ case 772: return 557; \
+ case 776: return 7759; \
+ } \
+ return 0; \
+ case 246: \
+ switch (ch2) { \
+ case 772: return 555; \
+ } \
+ return 0; \
+ case 248: \
+ switch (ch2) { \
+ case 769: return 511; \
+ } \
+ return 0; \
+ case 252: \
+ switch (ch2) { \
+ case 768: return 476; \
+ case 769: return 472; \
+ case 772: return 470; \
+ case 780: return 474; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 1: \
+switch (ch1) { \
+ case 258: \
+ switch (ch2) { \
+ case 768: return 7856; \
+ case 769: return 7854; \
+ case 771: return 7860; \
+ case 777: return 7858; \
+ } \
+ return 0; \
+ case 259: \
+ switch (ch2) { \
+ case 768: return 7857; \
+ case 769: return 7855; \
+ case 771: return 7861; \
+ case 777: return 7859; \
+ } \
+ return 0; \
+ case 274: \
+ switch (ch2) { \
+ case 768: return 7700; \
+ case 769: return 7702; \
+ } \
+ return 0; \
+ case 275: \
+ switch (ch2) { \
+ case 768: return 7701; \
+ case 769: return 7703; \
+ } \
+ return 0; \
+ case 332: \
+ switch (ch2) { \
+ case 768: return 7760; \
+ case 769: return 7762; \
+ } \
+ return 0; \
+ case 333: \
+ switch (ch2) { \
+ case 768: return 7761; \
+ case 769: return 7763; \
+ } \
+ return 0; \
+ case 346: \
+ switch (ch2) { \
+ case 775: return 7780; \
+ } \
+ return 0; \
+ case 347: \
+ switch (ch2) { \
+ case 775: return 7781; \
+ } \
+ return 0; \
+ case 352: \
+ switch (ch2) { \
+ case 775: return 7782; \
+ } \
+ return 0; \
+ case 353: \
+ switch (ch2) { \
+ case 775: return 7783; \
+ } \
+ return 0; \
+ case 360: \
+ switch (ch2) { \
+ case 769: return 7800; \
+ } \
+ return 0; \
+ case 361: \
+ switch (ch2) { \
+ case 769: return 7801; \
+ } \
+ return 0; \
+ case 362: \
+ switch (ch2) { \
+ case 776: return 7802; \
+ } \
+ return 0; \
+ case 363: \
+ switch (ch2) { \
+ case 776: return 7803; \
+ } \
+ return 0; \
+ case 383: \
+ switch (ch2) { \
+ case 775: return 7835; \
+ } \
+ return 0; \
+ case 416: \
+ switch (ch2) { \
+ case 768: return 7900; \
+ case 769: return 7898; \
+ case 771: return 7904; \
+ case 777: return 7902; \
+ case 803: return 7906; \
+ } \
+ return 0; \
+ case 417: \
+ switch (ch2) { \
+ case 768: return 7901; \
+ case 769: return 7899; \
+ case 771: return 7905; \
+ case 777: return 7903; \
+ case 803: return 7907; \
+ } \
+ return 0; \
+ case 431: \
+ switch (ch2) { \
+ case 768: return 7914; \
+ case 769: return 7912; \
+ case 771: return 7918; \
+ case 777: return 7916; \
+ case 803: return 7920; \
+ } \
+ return 0; \
+ case 432: \
+ switch (ch2) { \
+ case 768: return 7915; \
+ case 769: return 7913; \
+ case 771: return 7919; \
+ case 777: return 7917; \
+ case 803: return 7921; \
+ } \
+ return 0; \
+ case 439: \
+ switch (ch2) { \
+ case 780: return 494; \
+ } \
+ return 0; \
+ case 490: \
+ switch (ch2) { \
+ case 772: return 492; \
+ } \
+ return 0; \
+ case 491: \
+ switch (ch2) { \
+ case 772: return 493; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 2: \
+switch (ch1) { \
+ case 550: \
+ switch (ch2) { \
+ case 772: return 480; \
+ } \
+ return 0; \
+ case 551: \
+ switch (ch2) { \
+ case 772: return 481; \
+ } \
+ return 0; \
+ case 552: \
+ switch (ch2) { \
+ case 774: return 7708; \
+ } \
+ return 0; \
+ case 553: \
+ switch (ch2) { \
+ case 774: return 7709; \
+ } \
+ return 0; \
+ case 558: \
+ switch (ch2) { \
+ case 772: return 560; \
+ } \
+ return 0; \
+ case 559: \
+ switch (ch2) { \
+ case 772: return 561; \
+ } \
+ return 0; \
+ case 658: \
+ switch (ch2) { \
+ case 780: return 495; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 3: \
+switch (ch1) { \
+ case 776: \
+ switch (ch2) { \
+ case 769: return 836; \
+ } \
+ return 0; \
+ case 913: \
+ switch (ch2) { \
+ case 768: return 8122; \
+ case 769: return 902; \
+ case 772: return 8121; \
+ case 774: return 8120; \
+ case 787: return 7944; \
+ case 788: return 7945; \
+ case 837: return 8124; \
+ } \
+ return 0; \
+ case 917: \
+ switch (ch2) { \
+ case 768: return 8136; \
+ case 769: return 904; \
+ case 787: return 7960; \
+ case 788: return 7961; \
+ } \
+ return 0; \
+ case 919: \
+ switch (ch2) { \
+ case 768: return 8138; \
+ case 769: return 905; \
+ case 787: return 7976; \
+ case 788: return 7977; \
+ case 837: return 8140; \
+ } \
+ return 0; \
+ case 921: \
+ switch (ch2) { \
+ case 768: return 8154; \
+ case 769: return 906; \
+ case 772: return 8153; \
+ case 774: return 8152; \
+ case 776: return 938; \
+ case 787: return 7992; \
+ case 788: return 7993; \
+ } \
+ return 0; \
+ case 927: \
+ switch (ch2) { \
+ case 768: return 8184; \
+ case 769: return 908; \
+ case 787: return 8008; \
+ case 788: return 8009; \
+ } \
+ return 0; \
+ case 929: \
+ switch (ch2) { \
+ case 788: return 8172; \
+ } \
+ return 0; \
+ case 933: \
+ switch (ch2) { \
+ case 768: return 8170; \
+ case 769: return 910; \
+ case 772: return 8169; \
+ case 774: return 8168; \
+ case 776: return 939; \
+ case 788: return 8025; \
+ } \
+ return 0; \
+ case 937: \
+ switch (ch2) { \
+ case 768: return 8186; \
+ case 769: return 911; \
+ case 787: return 8040; \
+ case 788: return 8041; \
+ case 837: return 8188; \
+ } \
+ return 0; \
+ case 940: \
+ switch (ch2) { \
+ case 837: return 8116; \
+ } \
+ return 0; \
+ case 942: \
+ switch (ch2) { \
+ case 837: return 8132; \
+ } \
+ return 0; \
+ case 945: \
+ switch (ch2) { \
+ case 768: return 8048; \
+ case 769: return 940; \
+ case 772: return 8113; \
+ case 774: return 8112; \
+ case 787: return 7936; \
+ case 788: return 7937; \
+ case 834: return 8118; \
+ case 837: return 8115; \
+ } \
+ return 0; \
+ case 949: \
+ switch (ch2) { \
+ case 768: return 8050; \
+ case 769: return 941; \
+ case 787: return 7952; \
+ case 788: return 7953; \
+ } \
+ return 0; \
+ case 951: \
+ switch (ch2) { \
+ case 768: return 8052; \
+ case 769: return 942; \
+ case 787: return 7968; \
+ case 788: return 7969; \
+ case 834: return 8134; \
+ case 837: return 8131; \
+ } \
+ return 0; \
+ case 953: \
+ switch (ch2) { \
+ case 768: return 8054; \
+ case 769: return 943; \
+ case 772: return 8145; \
+ case 774: return 8144; \
+ case 776: return 970; \
+ case 787: return 7984; \
+ case 788: return 7985; \
+ case 834: return 8150; \
+ } \
+ return 0; \
+ case 959: \
+ switch (ch2) { \
+ case 768: return 8056; \
+ case 769: return 972; \
+ case 787: return 8000; \
+ case 788: return 8001; \
+ } \
+ return 0; \
+ case 961: \
+ switch (ch2) { \
+ case 787: return 8164; \
+ case 788: return 8165; \
+ } \
+ return 0; \
+ case 965: \
+ switch (ch2) { \
+ case 768: return 8058; \
+ case 769: return 973; \
+ case 772: return 8161; \
+ case 774: return 8160; \
+ case 776: return 971; \
+ case 787: return 8016; \
+ case 788: return 8017; \
+ case 834: return 8166; \
+ } \
+ return 0; \
+ case 969: \
+ switch (ch2) { \
+ case 768: return 8060; \
+ case 769: return 974; \
+ case 787: return 8032; \
+ case 788: return 8033; \
+ case 834: return 8182; \
+ case 837: return 8179; \
+ } \
+ return 0; \
+ case 970: \
+ switch (ch2) { \
+ case 768: return 8146; \
+ case 769: return 912; \
+ case 834: return 8151; \
+ } \
+ return 0; \
+ case 971: \
+ switch (ch2) { \
+ case 768: return 8162; \
+ case 769: return 944; \
+ case 834: return 8167; \
+ } \
+ return 0; \
+ case 974: \
+ switch (ch2) { \
+ case 837: return 8180; \
+ } \
+ return 0; \
+ case 978: \
+ switch (ch2) { \
+ case 769: return 979; \
+ case 776: return 980; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 4: \
+switch (ch1) { \
+ case 1030: \
+ switch (ch2) { \
+ case 776: return 1031; \
+ } \
+ return 0; \
+ case 1040: \
+ switch (ch2) { \
+ case 774: return 1232; \
+ case 776: return 1234; \
+ } \
+ return 0; \
+ case 1043: \
+ switch (ch2) { \
+ case 769: return 1027; \
+ } \
+ return 0; \
+ case 1045: \
+ switch (ch2) { \
+ case 768: return 1024; \
+ case 774: return 1238; \
+ case 776: return 1025; \
+ } \
+ return 0; \
+ case 1046: \
+ switch (ch2) { \
+ case 774: return 1217; \
+ case 776: return 1244; \
+ } \
+ return 0; \
+ case 1047: \
+ switch (ch2) { \
+ case 776: return 1246; \
+ } \
+ return 0; \
+ case 1048: \
+ switch (ch2) { \
+ case 768: return 1037; \
+ case 772: return 1250; \
+ case 774: return 1049; \
+ case 776: return 1252; \
+ } \
+ return 0; \
+ case 1050: \
+ switch (ch2) { \
+ case 769: return 1036; \
+ } \
+ return 0; \
+ case 1054: \
+ switch (ch2) { \
+ case 776: return 1254; \
+ } \
+ return 0; \
+ case 1059: \
+ switch (ch2) { \
+ case 772: return 1262; \
+ case 774: return 1038; \
+ case 776: return 1264; \
+ case 779: return 1266; \
+ } \
+ return 0; \
+ case 1063: \
+ switch (ch2) { \
+ case 776: return 1268; \
+ } \
+ return 0; \
+ case 1067: \
+ switch (ch2) { \
+ case 776: return 1272; \
+ } \
+ return 0; \
+ case 1069: \
+ switch (ch2) { \
+ case 776: return 1260; \
+ } \
+ return 0; \
+ case 1072: \
+ switch (ch2) { \
+ case 774: return 1233; \
+ case 776: return 1235; \
+ } \
+ return 0; \
+ case 1075: \
+ switch (ch2) { \
+ case 769: return 1107; \
+ } \
+ return 0; \
+ case 1077: \
+ switch (ch2) { \
+ case 768: return 1104; \
+ case 774: return 1239; \
+ case 776: return 1105; \
+ } \
+ return 0; \
+ case 1078: \
+ switch (ch2) { \
+ case 774: return 1218; \
+ case 776: return 1245; \
+ } \
+ return 0; \
+ case 1079: \
+ switch (ch2) { \
+ case 776: return 1247; \
+ } \
+ return 0; \
+ case 1080: \
+ switch (ch2) { \
+ case 768: return 1117; \
+ case 772: return 1251; \
+ case 774: return 1081; \
+ case 776: return 1253; \
+ } \
+ return 0; \
+ case 1082: \
+ switch (ch2) { \
+ case 769: return 1116; \
+ } \
+ return 0; \
+ case 1086: \
+ switch (ch2) { \
+ case 776: return 1255; \
+ } \
+ return 0; \
+ case 1091: \
+ switch (ch2) { \
+ case 772: return 1263; \
+ case 774: return 1118; \
+ case 776: return 1265; \
+ case 779: return 1267; \
+ } \
+ return 0; \
+ case 1095: \
+ switch (ch2) { \
+ case 776: return 1269; \
+ } \
+ return 0; \
+ case 1099: \
+ switch (ch2) { \
+ case 776: return 1273; \
+ } \
+ return 0; \
+ case 1101: \
+ switch (ch2) { \
+ case 776: return 1261; \
+ } \
+ return 0; \
+ case 1110: \
+ switch (ch2) { \
+ case 776: return 1111; \
+ } \
+ return 0; \
+ case 1140: \
+ switch (ch2) { \
+ case 783: return 1142; \
+ } \
+ return 0; \
+ case 1141: \
+ switch (ch2) { \
+ case 783: return 1143; \
+ } \
+ return 0; \
+ case 1240: \
+ switch (ch2) { \
+ case 776: return 1242; \
+ } \
+ return 0; \
+ case 1241: \
+ switch (ch2) { \
+ case 776: return 1243; \
+ } \
+ return 0; \
+ case 1256: \
+ switch (ch2) { \
+ case 776: return 1258; \
+ } \
+ return 0; \
+ case 1257: \
+ switch (ch2) { \
+ case 776: return 1259; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 5: \
+switch (ch1) { \
+ case 1488: \
+ switch (ch2) { \
+ case 1463: return 64302; \
+ case 1464: return 64303; \
+ case 1468: return 64304; \
+ } \
+ return 0; \
+ case 1489: \
+ switch (ch2) { \
+ case 1468: return 64305; \
+ case 1471: return 64332; \
+ } \
+ return 0; \
+ case 1490: \
+ switch (ch2) { \
+ case 1468: return 64306; \
+ } \
+ return 0; \
+ case 1491: \
+ switch (ch2) { \
+ case 1468: return 64307; \
+ } \
+ return 0; \
+ case 1492: \
+ switch (ch2) { \
+ case 1468: return 64308; \
+ } \
+ return 0; \
+ case 1493: \
+ switch (ch2) { \
+ case 1465: return 64331; \
+ case 1468: return 64309; \
+ } \
+ return 0; \
+ case 1494: \
+ switch (ch2) { \
+ case 1468: return 64310; \
+ } \
+ return 0; \
+ case 1496: \
+ switch (ch2) { \
+ case 1468: return 64312; \
+ } \
+ return 0; \
+ case 1497: \
+ switch (ch2) { \
+ case 1460: return 64285; \
+ case 1468: return 64313; \
+ } \
+ return 0; \
+ case 1498: \
+ switch (ch2) { \
+ case 1468: return 64314; \
+ } \
+ return 0; \
+ case 1499: \
+ switch (ch2) { \
+ case 1468: return 64315; \
+ case 1471: return 64333; \
+ } \
+ return 0; \
+ case 1500: \
+ switch (ch2) { \
+ case 1468: return 64316; \
+ } \
+ return 0; \
+ case 1502: \
+ switch (ch2) { \
+ case 1468: return 64318; \
+ } \
+ return 0; \
+ case 1504: \
+ switch (ch2) { \
+ case 1468: return 64320; \
+ } \
+ return 0; \
+ case 1505: \
+ switch (ch2) { \
+ case 1468: return 64321; \
+ } \
+ return 0; \
+ case 1507: \
+ switch (ch2) { \
+ case 1468: return 64323; \
+ } \
+ return 0; \
+ case 1508: \
+ switch (ch2) { \
+ case 1468: return 64324; \
+ case 1471: return 64334; \
+ } \
+ return 0; \
+ case 1510: \
+ switch (ch2) { \
+ case 1468: return 64326; \
+ } \
+ return 0; \
+ case 1511: \
+ switch (ch2) { \
+ case 1468: return 64327; \
+ } \
+ return 0; \
+ case 1512: \
+ switch (ch2) { \
+ case 1468: return 64328; \
+ } \
+ return 0; \
+ case 1513: \
+ switch (ch2) { \
+ case 1468: return 64329; \
+ case 1473: return 64298; \
+ case 1474: return 64299; \
+ } \
+ return 0; \
+ case 1514: \
+ switch (ch2) { \
+ case 1468: return 64330; \
+ } \
+ return 0; \
+ case 1522: \
+ switch (ch2) { \
+ case 1463: return 64287; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 6: \
+switch (ch1) { \
+ case 1575: \
+ switch (ch2) { \
+ case 1619: return 1570; \
+ case 1620: return 1571; \
+ case 1621: return 1573; \
+ } \
+ return 0; \
+ case 1608: \
+ switch (ch2) { \
+ case 1620: return 1572; \
+ } \
+ return 0; \
+ case 1610: \
+ switch (ch2) { \
+ case 1620: return 1574; \
+ } \
+ return 0; \
+ case 1729: \
+ switch (ch2) { \
+ case 1620: return 1730; \
+ } \
+ return 0; \
+ case 1746: \
+ switch (ch2) { \
+ case 1620: return 1747; \
+ } \
+ return 0; \
+ case 1749: \
+ switch (ch2) { \
+ case 1620: return 1728; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 9: \
+switch (ch1) { \
+ case 2325: \
+ switch (ch2) { \
+ case 2364: return 2392; \
+ } \
+ return 0; \
+ case 2326: \
+ switch (ch2) { \
+ case 2364: return 2393; \
+ } \
+ return 0; \
+ case 2327: \
+ switch (ch2) { \
+ case 2364: return 2394; \
+ } \
+ return 0; \
+ case 2332: \
+ switch (ch2) { \
+ case 2364: return 2395; \
+ } \
+ return 0; \
+ case 2337: \
+ switch (ch2) { \
+ case 2364: return 2396; \
+ } \
+ return 0; \
+ case 2338: \
+ switch (ch2) { \
+ case 2364: return 2397; \
+ } \
+ return 0; \
+ case 2344: \
+ switch (ch2) { \
+ case 2364: return 2345; \
+ } \
+ return 0; \
+ case 2347: \
+ switch (ch2) { \
+ case 2364: return 2398; \
+ } \
+ return 0; \
+ case 2351: \
+ switch (ch2) { \
+ case 2364: return 2399; \
+ } \
+ return 0; \
+ case 2352: \
+ switch (ch2) { \
+ case 2364: return 2353; \
+ } \
+ return 0; \
+ case 2355: \
+ switch (ch2) { \
+ case 2364: return 2356; \
+ } \
+ return 0; \
+ case 2465: \
+ switch (ch2) { \
+ case 2492: return 2524; \
+ } \
+ return 0; \
+ case 2466: \
+ switch (ch2) { \
+ case 2492: return 2525; \
+ } \
+ return 0; \
+ case 2479: \
+ switch (ch2) { \
+ case 2492: return 2527; \
+ } \
+ return 0; \
+ case 2503: \
+ switch (ch2) { \
+ case 2494: return 2507; \
+ case 2519: return 2508; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 10: \
+switch (ch1) { \
+ case 2582: \
+ switch (ch2) { \
+ case 2620: return 2649; \
+ } \
+ return 0; \
+ case 2583: \
+ switch (ch2) { \
+ case 2620: return 2650; \
+ } \
+ return 0; \
+ case 2588: \
+ switch (ch2) { \
+ case 2620: return 2651; \
+ } \
+ return 0; \
+ case 2603: \
+ switch (ch2) { \
+ case 2620: return 2654; \
+ } \
+ return 0; \
+ case 2610: \
+ switch (ch2) { \
+ case 2620: return 2611; \
+ } \
+ return 0; \
+ case 2616: \
+ switch (ch2) { \
+ case 2620: return 2614; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 11: \
+switch (ch1) { \
+ case 2849: \
+ switch (ch2) { \
+ case 2876: return 2908; \
+ } \
+ return 0; \
+ case 2850: \
+ switch (ch2) { \
+ case 2876: return 2909; \
+ } \
+ return 0; \
+ case 2887: \
+ switch (ch2) { \
+ case 2878: return 2891; \
+ case 2902: return 2888; \
+ case 2903: return 2892; \
+ } \
+ return 0; \
+ case 2962: \
+ switch (ch2) { \
+ case 3031: return 2964; \
+ } \
+ return 0; \
+ case 3014: \
+ switch (ch2) { \
+ case 3006: return 3018; \
+ case 3031: return 3020; \
+ } \
+ return 0; \
+ case 3015: \
+ switch (ch2) { \
+ case 3006: return 3019; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 12: \
+switch (ch1) { \
+ case 3142: \
+ switch (ch2) { \
+ case 3158: return 3144; \
+ } \
+ return 0; \
+ case 3263: \
+ switch (ch2) { \
+ case 3285: return 3264; \
+ } \
+ return 0; \
+ case 3270: \
+ switch (ch2) { \
+ case 3266: return 3274; \
+ case 3285: return 3271; \
+ case 3286: return 3272; \
+ } \
+ return 0; \
+ case 3274: \
+ switch (ch2) { \
+ case 3285: return 3275; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 13: \
+switch (ch1) { \
+ case 3398: \
+ switch (ch2) { \
+ case 3390: return 3402; \
+ case 3415: return 3404; \
+ } \
+ return 0; \
+ case 3399: \
+ switch (ch2) { \
+ case 3390: return 3403; \
+ } \
+ return 0; \
+ case 3545: \
+ switch (ch2) { \
+ case 3530: return 3546; \
+ case 3535: return 3548; \
+ case 3551: return 3550; \
+ } \
+ return 0; \
+ case 3548: \
+ switch (ch2) { \
+ case 3530: return 3549; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 15: \
+switch (ch1) { \
+ case 3904: \
+ switch (ch2) { \
+ case 4021: return 3945; \
+ } \
+ return 0; \
+ case 3906: \
+ switch (ch2) { \
+ case 4023: return 3907; \
+ } \
+ return 0; \
+ case 3916: \
+ switch (ch2) { \
+ case 4023: return 3917; \
+ } \
+ return 0; \
+ case 3921: \
+ switch (ch2) { \
+ case 4023: return 3922; \
+ } \
+ return 0; \
+ case 3926: \
+ switch (ch2) { \
+ case 4023: return 3927; \
+ } \
+ return 0; \
+ case 3931: \
+ switch (ch2) { \
+ case 4023: return 3932; \
+ } \
+ return 0; \
+ case 3953: \
+ switch (ch2) { \
+ case 3954: return 3955; \
+ case 3956: return 3957; \
+ case 3968: return 3969; \
+ } \
+ return 0; \
+ case 3984: \
+ switch (ch2) { \
+ case 4021: return 4025; \
+ } \
+ return 0; \
+ case 3986: \
+ switch (ch2) { \
+ case 4023: return 3987; \
+ } \
+ return 0; \
+ case 3996: \
+ switch (ch2) { \
+ case 4023: return 3997; \
+ } \
+ return 0; \
+ case 4001: \
+ switch (ch2) { \
+ case 4023: return 4002; \
+ } \
+ return 0; \
+ case 4006: \
+ switch (ch2) { \
+ case 4023: return 4007; \
+ } \
+ return 0; \
+ case 4011: \
+ switch (ch2) { \
+ case 4023: return 4012; \
+ } \
+ return 0; \
+ case 4018: \
+ switch (ch2) { \
+ case 3968: return 3958; \
+ } \
+ return 0; \
+ case 4019: \
+ switch (ch2) { \
+ case 3968: return 3960; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 16: \
+switch (ch1) { \
+ case 4133: \
+ switch (ch2) { \
+ case 4142: return 4134; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 30: \
+switch (ch1) { \
+ case 7734: \
+ switch (ch2) { \
+ case 772: return 7736; \
+ } \
+ return 0; \
+ case 7735: \
+ switch (ch2) { \
+ case 772: return 7737; \
+ } \
+ return 0; \
+ case 7770: \
+ switch (ch2) { \
+ case 772: return 7772; \
+ } \
+ return 0; \
+ case 7771: \
+ switch (ch2) { \
+ case 772: return 7773; \
+ } \
+ return 0; \
+ case 7778: \
+ switch (ch2) { \
+ case 775: return 7784; \
+ } \
+ return 0; \
+ case 7779: \
+ switch (ch2) { \
+ case 775: return 7785; \
+ } \
+ return 0; \
+ case 7840: \
+ switch (ch2) { \
+ case 770: return 7852; \
+ case 774: return 7862; \
+ } \
+ return 0; \
+ case 7841: \
+ switch (ch2) { \
+ case 770: return 7853; \
+ case 774: return 7863; \
+ } \
+ return 0; \
+ case 7864: \
+ switch (ch2) { \
+ case 770: return 7878; \
+ } \
+ return 0; \
+ case 7865: \
+ switch (ch2) { \
+ case 770: return 7879; \
+ } \
+ return 0; \
+ case 7884: \
+ switch (ch2) { \
+ case 770: return 7896; \
+ } \
+ return 0; \
+ case 7885: \
+ switch (ch2) { \
+ case 770: return 7897; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 31: \
+switch (ch1) { \
+ case 7936: \
+ switch (ch2) { \
+ case 768: return 7938; \
+ case 769: return 7940; \
+ case 834: return 7942; \
+ case 837: return 8064; \
+ } \
+ return 0; \
+ case 7937: \
+ switch (ch2) { \
+ case 768: return 7939; \
+ case 769: return 7941; \
+ case 834: return 7943; \
+ case 837: return 8065; \
+ } \
+ return 0; \
+ case 7938: \
+ switch (ch2) { \
+ case 837: return 8066; \
+ } \
+ return 0; \
+ case 7939: \
+ switch (ch2) { \
+ case 837: return 8067; \
+ } \
+ return 0; \
+ case 7940: \
+ switch (ch2) { \
+ case 837: return 8068; \
+ } \
+ return 0; \
+ case 7941: \
+ switch (ch2) { \
+ case 837: return 8069; \
+ } \
+ return 0; \
+ case 7942: \
+ switch (ch2) { \
+ case 837: return 8070; \
+ } \
+ return 0; \
+ case 7943: \
+ switch (ch2) { \
+ case 837: return 8071; \
+ } \
+ return 0; \
+ case 7944: \
+ switch (ch2) { \
+ case 768: return 7946; \
+ case 769: return 7948; \
+ case 834: return 7950; \
+ case 837: return 8072; \
+ } \
+ return 0; \
+ case 7945: \
+ switch (ch2) { \
+ case 768: return 7947; \
+ case 769: return 7949; \
+ case 834: return 7951; \
+ case 837: return 8073; \
+ } \
+ return 0; \
+ case 7946: \
+ switch (ch2) { \
+ case 837: return 8074; \
+ } \
+ return 0; \
+ case 7947: \
+ switch (ch2) { \
+ case 837: return 8075; \
+ } \
+ return 0; \
+ case 7948: \
+ switch (ch2) { \
+ case 837: return 8076; \
+ } \
+ return 0; \
+ case 7949: \
+ switch (ch2) { \
+ case 837: return 8077; \
+ } \
+ return 0; \
+ case 7950: \
+ switch (ch2) { \
+ case 837: return 8078; \
+ } \
+ return 0; \
+ case 7951: \
+ switch (ch2) { \
+ case 837: return 8079; \
+ } \
+ return 0; \
+ case 7952: \
+ switch (ch2) { \
+ case 768: return 7954; \
+ case 769: return 7956; \
+ } \
+ return 0; \
+ case 7953: \
+ switch (ch2) { \
+ case 768: return 7955; \
+ case 769: return 7957; \
+ } \
+ return 0; \
+ case 7960: \
+ switch (ch2) { \
+ case 768: return 7962; \
+ case 769: return 7964; \
+ } \
+ return 0; \
+ case 7961: \
+ switch (ch2) { \
+ case 768: return 7963; \
+ case 769: return 7965; \
+ } \
+ return 0; \
+ case 7968: \
+ switch (ch2) { \
+ case 768: return 7970; \
+ case 769: return 7972; \
+ case 834: return 7974; \
+ case 837: return 8080; \
+ } \
+ return 0; \
+ case 7969: \
+ switch (ch2) { \
+ case 768: return 7971; \
+ case 769: return 7973; \
+ case 834: return 7975; \
+ case 837: return 8081; \
+ } \
+ return 0; \
+ case 7970: \
+ switch (ch2) { \
+ case 837: return 8082; \
+ } \
+ return 0; \
+ case 7971: \
+ switch (ch2) { \
+ case 837: return 8083; \
+ } \
+ return 0; \
+ case 7972: \
+ switch (ch2) { \
+ case 837: return 8084; \
+ } \
+ return 0; \
+ case 7973: \
+ switch (ch2) { \
+ case 837: return 8085; \
+ } \
+ return 0; \
+ case 7974: \
+ switch (ch2) { \
+ case 837: return 8086; \
+ } \
+ return 0; \
+ case 7975: \
+ switch (ch2) { \
+ case 837: return 8087; \
+ } \
+ return 0; \
+ case 7976: \
+ switch (ch2) { \
+ case 768: return 7978; \
+ case 769: return 7980; \
+ case 834: return 7982; \
+ case 837: return 8088; \
+ } \
+ return 0; \
+ case 7977: \
+ switch (ch2) { \
+ case 768: return 7979; \
+ case 769: return 7981; \
+ case 834: return 7983; \
+ case 837: return 8089; \
+ } \
+ return 0; \
+ case 7978: \
+ switch (ch2) { \
+ case 837: return 8090; \
+ } \
+ return 0; \
+ case 7979: \
+ switch (ch2) { \
+ case 837: return 8091; \
+ } \
+ return 0; \
+ case 7980: \
+ switch (ch2) { \
+ case 837: return 8092; \
+ } \
+ return 0; \
+ case 7981: \
+ switch (ch2) { \
+ case 837: return 8093; \
+ } \
+ return 0; \
+ case 7982: \
+ switch (ch2) { \
+ case 837: return 8094; \
+ } \
+ return 0; \
+ case 7983: \
+ switch (ch2) { \
+ case 837: return 8095; \
+ } \
+ return 0; \
+ case 7984: \
+ switch (ch2) { \
+ case 768: return 7986; \
+ case 769: return 7988; \
+ case 834: return 7990; \
+ } \
+ return 0; \
+ case 7985: \
+ switch (ch2) { \
+ case 768: return 7987; \
+ case 769: return 7989; \
+ case 834: return 7991; \
+ } \
+ return 0; \
+ case 7992: \
+ switch (ch2) { \
+ case 768: return 7994; \
+ case 769: return 7996; \
+ case 834: return 7998; \
+ } \
+ return 0; \
+ case 7993: \
+ switch (ch2) { \
+ case 768: return 7995; \
+ case 769: return 7997; \
+ case 834: return 7999; \
+ } \
+ return 0; \
+ case 8000: \
+ switch (ch2) { \
+ case 768: return 8002; \
+ case 769: return 8004; \
+ } \
+ return 0; \
+ case 8001: \
+ switch (ch2) { \
+ case 768: return 8003; \
+ case 769: return 8005; \
+ } \
+ return 0; \
+ case 8008: \
+ switch (ch2) { \
+ case 768: return 8010; \
+ case 769: return 8012; \
+ } \
+ return 0; \
+ case 8009: \
+ switch (ch2) { \
+ case 768: return 8011; \
+ case 769: return 8013; \
+ } \
+ return 0; \
+ case 8016: \
+ switch (ch2) { \
+ case 768: return 8018; \
+ case 769: return 8020; \
+ case 834: return 8022; \
+ } \
+ return 0; \
+ case 8017: \
+ switch (ch2) { \
+ case 768: return 8019; \
+ case 769: return 8021; \
+ case 834: return 8023; \
+ } \
+ return 0; \
+ case 8025: \
+ switch (ch2) { \
+ case 768: return 8027; \
+ case 769: return 8029; \
+ case 834: return 8031; \
+ } \
+ return 0; \
+ case 8032: \
+ switch (ch2) { \
+ case 768: return 8034; \
+ case 769: return 8036; \
+ case 834: return 8038; \
+ case 837: return 8096; \
+ } \
+ return 0; \
+ case 8033: \
+ switch (ch2) { \
+ case 768: return 8035; \
+ case 769: return 8037; \
+ case 834: return 8039; \
+ case 837: return 8097; \
+ } \
+ return 0; \
+ case 8034: \
+ switch (ch2) { \
+ case 837: return 8098; \
+ } \
+ return 0; \
+ case 8035: \
+ switch (ch2) { \
+ case 837: return 8099; \
+ } \
+ return 0; \
+ case 8036: \
+ switch (ch2) { \
+ case 837: return 8100; \
+ } \
+ return 0; \
+ case 8037: \
+ switch (ch2) { \
+ case 837: return 8101; \
+ } \
+ return 0; \
+ case 8038: \
+ switch (ch2) { \
+ case 837: return 8102; \
+ } \
+ return 0; \
+ case 8039: \
+ switch (ch2) { \
+ case 837: return 8103; \
+ } \
+ return 0; \
+ case 8040: \
+ switch (ch2) { \
+ case 768: return 8042; \
+ case 769: return 8044; \
+ case 834: return 8046; \
+ case 837: return 8104; \
+ } \
+ return 0; \
+ case 8041: \
+ switch (ch2) { \
+ case 768: return 8043; \
+ case 769: return 8045; \
+ case 834: return 8047; \
+ case 837: return 8105; \
+ } \
+ return 0; \
+ case 8042: \
+ switch (ch2) { \
+ case 837: return 8106; \
+ } \
+ return 0; \
+ case 8043: \
+ switch (ch2) { \
+ case 837: return 8107; \
+ } \
+ return 0; \
+ case 8044: \
+ switch (ch2) { \
+ case 837: return 8108; \
+ } \
+ return 0; \
+ case 8045: \
+ switch (ch2) { \
+ case 837: return 8109; \
+ } \
+ return 0; \
+ case 8046: \
+ switch (ch2) { \
+ case 837: return 8110; \
+ } \
+ return 0; \
+ case 8047: \
+ switch (ch2) { \
+ case 837: return 8111; \
+ } \
+ return 0; \
+ case 8048: \
+ switch (ch2) { \
+ case 837: return 8114; \
+ } \
+ return 0; \
+ case 8052: \
+ switch (ch2) { \
+ case 837: return 8130; \
+ } \
+ return 0; \
+ case 8060: \
+ switch (ch2) { \
+ case 837: return 8178; \
+ } \
+ return 0; \
+ case 8118: \
+ switch (ch2) { \
+ case 837: return 8119; \
+ } \
+ return 0; \
+ case 8127: \
+ switch (ch2) { \
+ case 768: return 8141; \
+ case 769: return 8142; \
+ case 834: return 8143; \
+ } \
+ return 0; \
+ case 8134: \
+ switch (ch2) { \
+ case 837: return 8135; \
+ } \
+ return 0; \
+ case 8182: \
+ switch (ch2) { \
+ case 837: return 8183; \
+ } \
+ return 0; \
+ case 8190: \
+ switch (ch2) { \
+ case 768: return 8157; \
+ case 769: return 8158; \
+ case 834: return 8159; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 33: \
+switch (ch1) { \
+ case 8592: \
+ switch (ch2) { \
+ case 824: return 8602; \
+ } \
+ return 0; \
+ case 8594: \
+ switch (ch2) { \
+ case 824: return 8603; \
+ } \
+ return 0; \
+ case 8596: \
+ switch (ch2) { \
+ case 824: return 8622; \
+ } \
+ return 0; \
+ case 8656: \
+ switch (ch2) { \
+ case 824: return 8653; \
+ } \
+ return 0; \
+ case 8658: \
+ switch (ch2) { \
+ case 824: return 8655; \
+ } \
+ return 0; \
+ case 8660: \
+ switch (ch2) { \
+ case 824: return 8654; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 34: \
+switch (ch1) { \
+ case 8707: \
+ switch (ch2) { \
+ case 824: return 8708; \
+ } \
+ return 0; \
+ case 8712: \
+ switch (ch2) { \
+ case 824: return 8713; \
+ } \
+ return 0; \
+ case 8715: \
+ switch (ch2) { \
+ case 824: return 8716; \
+ } \
+ return 0; \
+ case 8739: \
+ switch (ch2) { \
+ case 824: return 8740; \
+ } \
+ return 0; \
+ case 8741: \
+ switch (ch2) { \
+ case 824: return 8742; \
+ } \
+ return 0; \
+ case 8764: \
+ switch (ch2) { \
+ case 824: return 8769; \
+ } \
+ return 0; \
+ case 8771: \
+ switch (ch2) { \
+ case 824: return 8772; \
+ } \
+ return 0; \
+ case 8773: \
+ switch (ch2) { \
+ case 824: return 8775; \
+ } \
+ return 0; \
+ case 8776: \
+ switch (ch2) { \
+ case 824: return 8777; \
+ } \
+ return 0; \
+ case 8781: \
+ switch (ch2) { \
+ case 824: return 8813; \
+ } \
+ return 0; \
+ case 8801: \
+ switch (ch2) { \
+ case 824: return 8802; \
+ } \
+ return 0; \
+ case 8804: \
+ switch (ch2) { \
+ case 824: return 8816; \
+ } \
+ return 0; \
+ case 8805: \
+ switch (ch2) { \
+ case 824: return 8817; \
+ } \
+ return 0; \
+ case 8818: \
+ switch (ch2) { \
+ case 824: return 8820; \
+ } \
+ return 0; \
+ case 8819: \
+ switch (ch2) { \
+ case 824: return 8821; \
+ } \
+ return 0; \
+ case 8822: \
+ switch (ch2) { \
+ case 824: return 8824; \
+ } \
+ return 0; \
+ case 8823: \
+ switch (ch2) { \
+ case 824: return 8825; \
+ } \
+ return 0; \
+ case 8826: \
+ switch (ch2) { \
+ case 824: return 8832; \
+ } \
+ return 0; \
+ case 8827: \
+ switch (ch2) { \
+ case 824: return 8833; \
+ } \
+ return 0; \
+ case 8828: \
+ switch (ch2) { \
+ case 824: return 8928; \
+ } \
+ return 0; \
+ case 8829: \
+ switch (ch2) { \
+ case 824: return 8929; \
+ } \
+ return 0; \
+ case 8834: \
+ switch (ch2) { \
+ case 824: return 8836; \
+ } \
+ return 0; \
+ case 8835: \
+ switch (ch2) { \
+ case 824: return 8837; \
+ } \
+ return 0; \
+ case 8838: \
+ switch (ch2) { \
+ case 824: return 8840; \
+ } \
+ return 0; \
+ case 8839: \
+ switch (ch2) { \
+ case 824: return 8841; \
+ } \
+ return 0; \
+ case 8849: \
+ switch (ch2) { \
+ case 824: return 8930; \
+ } \
+ return 0; \
+ case 8850: \
+ switch (ch2) { \
+ case 824: return 8931; \
+ } \
+ return 0; \
+ case 8866: \
+ switch (ch2) { \
+ case 824: return 8876; \
+ } \
+ return 0; \
+ case 8872: \
+ switch (ch2) { \
+ case 824: return 8877; \
+ } \
+ return 0; \
+ case 8873: \
+ switch (ch2) { \
+ case 824: return 8878; \
+ } \
+ return 0; \
+ case 8875: \
+ switch (ch2) { \
+ case 824: return 8879; \
+ } \
+ return 0; \
+ case 8882: \
+ switch (ch2) { \
+ case 824: return 8938; \
+ } \
+ return 0; \
+ case 8883: \
+ switch (ch2) { \
+ case 824: return 8939; \
+ } \
+ return 0; \
+ case 8884: \
+ switch (ch2) { \
+ case 824: return 8940; \
+ } \
+ return 0; \
+ case 8885: \
+ switch (ch2) { \
+ case 824: return 8941; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 42: \
+switch (ch1) { \
+ case 10973: \
+ switch (ch2) { \
+ case 824: return 10972; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 48: \
+switch (ch1) { \
+ case 12358: \
+ switch (ch2) { \
+ case 12441: return 12436; \
+ } \
+ return 0; \
+ case 12363: \
+ switch (ch2) { \
+ case 12441: return 12364; \
+ } \
+ return 0; \
+ case 12365: \
+ switch (ch2) { \
+ case 12441: return 12366; \
+ } \
+ return 0; \
+ case 12367: \
+ switch (ch2) { \
+ case 12441: return 12368; \
+ } \
+ return 0; \
+ case 12369: \
+ switch (ch2) { \
+ case 12441: return 12370; \
+ } \
+ return 0; \
+ case 12371: \
+ switch (ch2) { \
+ case 12441: return 12372; \
+ } \
+ return 0; \
+ case 12373: \
+ switch (ch2) { \
+ case 12441: return 12374; \
+ } \
+ return 0; \
+ case 12375: \
+ switch (ch2) { \
+ case 12441: return 12376; \
+ } \
+ return 0; \
+ case 12377: \
+ switch (ch2) { \
+ case 12441: return 12378; \
+ } \
+ return 0; \
+ case 12379: \
+ switch (ch2) { \
+ case 12441: return 12380; \
+ } \
+ return 0; \
+ case 12381: \
+ switch (ch2) { \
+ case 12441: return 12382; \
+ } \
+ return 0; \
+ case 12383: \
+ switch (ch2) { \
+ case 12441: return 12384; \
+ } \
+ return 0; \
+ case 12385: \
+ switch (ch2) { \
+ case 12441: return 12386; \
+ } \
+ return 0; \
+ case 12388: \
+ switch (ch2) { \
+ case 12441: return 12389; \
+ } \
+ return 0; \
+ case 12390: \
+ switch (ch2) { \
+ case 12441: return 12391; \
+ } \
+ return 0; \
+ case 12392: \
+ switch (ch2) { \
+ case 12441: return 12393; \
+ } \
+ return 0; \
+ case 12399: \
+ switch (ch2) { \
+ case 12441: return 12400; \
+ case 12442: return 12401; \
+ } \
+ return 0; \
+ case 12402: \
+ switch (ch2) { \
+ case 12441: return 12403; \
+ case 12442: return 12404; \
+ } \
+ return 0; \
+ case 12405: \
+ switch (ch2) { \
+ case 12441: return 12406; \
+ case 12442: return 12407; \
+ } \
+ return 0; \
+ case 12408: \
+ switch (ch2) { \
+ case 12441: return 12409; \
+ case 12442: return 12410; \
+ } \
+ return 0; \
+ case 12411: \
+ switch (ch2) { \
+ case 12441: return 12412; \
+ case 12442: return 12413; \
+ } \
+ return 0; \
+ case 12445: \
+ switch (ch2) { \
+ case 12441: return 12446; \
+ } \
+ return 0; \
+ case 12454: \
+ switch (ch2) { \
+ case 12441: return 12532; \
+ } \
+ return 0; \
+ case 12459: \
+ switch (ch2) { \
+ case 12441: return 12460; \
+ } \
+ return 0; \
+ case 12461: \
+ switch (ch2) { \
+ case 12441: return 12462; \
+ } \
+ return 0; \
+ case 12463: \
+ switch (ch2) { \
+ case 12441: return 12464; \
+ } \
+ return 0; \
+ case 12465: \
+ switch (ch2) { \
+ case 12441: return 12466; \
+ } \
+ return 0; \
+ case 12467: \
+ switch (ch2) { \
+ case 12441: return 12468; \
+ } \
+ return 0; \
+ case 12469: \
+ switch (ch2) { \
+ case 12441: return 12470; \
+ } \
+ return 0; \
+ case 12471: \
+ switch (ch2) { \
+ case 12441: return 12472; \
+ } \
+ return 0; \
+ case 12473: \
+ switch (ch2) { \
+ case 12441: return 12474; \
+ } \
+ return 0; \
+ case 12475: \
+ switch (ch2) { \
+ case 12441: return 12476; \
+ } \
+ return 0; \
+ case 12477: \
+ switch (ch2) { \
+ case 12441: return 12478; \
+ } \
+ return 0; \
+ case 12479: \
+ switch (ch2) { \
+ case 12441: return 12480; \
+ } \
+ return 0; \
+ case 12481: \
+ switch (ch2) { \
+ case 12441: return 12482; \
+ } \
+ return 0; \
+ case 12484: \
+ switch (ch2) { \
+ case 12441: return 12485; \
+ } \
+ return 0; \
+ case 12486: \
+ switch (ch2) { \
+ case 12441: return 12487; \
+ } \
+ return 0; \
+ case 12488: \
+ switch (ch2) { \
+ case 12441: return 12489; \
+ } \
+ return 0; \
+ case 12495: \
+ switch (ch2) { \
+ case 12441: return 12496; \
+ case 12442: return 12497; \
+ } \
+ return 0; \
+ case 12498: \
+ switch (ch2) { \
+ case 12441: return 12499; \
+ case 12442: return 12500; \
+ } \
+ return 0; \
+ case 12501: \
+ switch (ch2) { \
+ case 12441: return 12502; \
+ case 12442: return 12503; \
+ } \
+ return 0; \
+ case 12504: \
+ switch (ch2) { \
+ case 12441: return 12505; \
+ case 12442: return 12506; \
+ } \
+ return 0; \
+ case 12507: \
+ switch (ch2) { \
+ case 12441: return 12508; \
+ case 12442: return 12509; \
+ } \
+ return 0; \
+ case 12527: \
+ switch (ch2) { \
+ case 12441: return 12535; \
+ } \
+ return 0; \
+ case 12528: \
+ switch (ch2) { \
+ case 12441: return 12536; \
+ } \
+ return 0; \
+ case 12529: \
+ switch (ch2) { \
+ case 12441: return 12537; \
+ } \
+ return 0; \
+ case 12530: \
+ switch (ch2) { \
+ case 12441: return 12538; \
+ } \
+ return 0; \
+ case 12541: \
+ switch (ch2) { \
+ case 12441: return 12542; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 251: \
+switch (ch1) { \
+ case 64329: \
+ switch (ch2) { \
+ case 1473: return 64300; \
+ case 1474: return 64301; \
+ } \
+ return 0; \
+} \
+return 0; \
+case 465: \
+switch (ch1) { \
+ case 119127: \
+ switch (ch2) { \
+ case 119141: return 119134; \
+ } \
+ return 0; \
+ case 119128: \
+ switch (ch2) { \
+ case 119141: return 119135; \
+ } \
+ return 0; \
+ case 119135: \
+ switch (ch2) { \
+ case 119150: return 119136; \
+ case 119151: return 119137; \
+ case 119152: return 119138; \
+ case 119153: return 119139; \
+ case 119154: return 119140; \
+ } \
+ return 0; \
+ case 119225: \
+ switch (ch2) { \
+ case 119141: return 119227; \
+ } \
+ return 0; \
+ case 119226: \
+ switch (ch2) { \
+ case 119141: return 119228; \
+ } \
+ return 0; \
+ case 119227: \
+ switch (ch2) { \
+ case 119150: return 119229; \
+ case 119151: return 119231; \
+ } \
+ return 0; \
+ case 119228: \
+ switch (ch2) { \
+ case 119150: return 119230; \
+ case 119151: return 119232; \
+ } \
+ return 0; \
+} \
+return 0; \
+} \
+return 0;
+
+glui32 unigen_decomp_data[3247] = {
+ 0x41, 0x300, 0x41, 0x301, 0x41, 0x302, 0x41, 0x303,
+ 0x41, 0x308, 0x41, 0x30a, 0x43, 0x327, 0x45, 0x300,
+ 0x45, 0x301, 0x45, 0x302, 0x45, 0x308, 0x49, 0x300,
+ 0x49, 0x301, 0x49, 0x302, 0x49, 0x308, 0x4e, 0x303,
+ 0x4f, 0x300, 0x4f, 0x301, 0x4f, 0x302, 0x4f, 0x303,
+ 0x4f, 0x308, 0x55, 0x300, 0x55, 0x301, 0x55, 0x302,
+ 0x55, 0x308, 0x59, 0x301, 0x61, 0x300, 0x61, 0x301,
+ 0x61, 0x302, 0x61, 0x303, 0x61, 0x308, 0x61, 0x30a,
+ 0x63, 0x327, 0x65, 0x300, 0x65, 0x301, 0x65, 0x302,
+ 0x65, 0x308, 0x69, 0x300, 0x69, 0x301, 0x69, 0x302,
+ 0x69, 0x308, 0x6e, 0x303, 0x6f, 0x300, 0x6f, 0x301,
+ 0x6f, 0x302, 0x6f, 0x303, 0x6f, 0x308, 0x75, 0x300,
+ 0x75, 0x301, 0x75, 0x302, 0x75, 0x308, 0x79, 0x301,
+ 0x79, 0x308, 0x41, 0x304, 0x61, 0x304, 0x41, 0x306,
+ 0x61, 0x306, 0x41, 0x328, 0x61, 0x328, 0x43, 0x301,
+ 0x63, 0x301, 0x43, 0x302, 0x63, 0x302, 0x43, 0x307,
+ 0x63, 0x307, 0x43, 0x30c, 0x63, 0x30c, 0x44, 0x30c,
+ 0x64, 0x30c, 0x45, 0x304, 0x65, 0x304, 0x45, 0x306,
+ 0x65, 0x306, 0x45, 0x307, 0x65, 0x307, 0x45, 0x328,
+ 0x65, 0x328, 0x45, 0x30c, 0x65, 0x30c, 0x47, 0x302,
+ 0x67, 0x302, 0x47, 0x306, 0x67, 0x306, 0x47, 0x307,
+ 0x67, 0x307, 0x47, 0x327, 0x67, 0x327, 0x48, 0x302,
+ 0x68, 0x302, 0x49, 0x303, 0x69, 0x303, 0x49, 0x304,
+ 0x69, 0x304, 0x49, 0x306, 0x69, 0x306, 0x49, 0x328,
+ 0x69, 0x328, 0x49, 0x307, 0x4a, 0x302, 0x6a, 0x302,
+ 0x4b, 0x327, 0x6b, 0x327, 0x4c, 0x301, 0x6c, 0x301,
+ 0x4c, 0x327, 0x6c, 0x327, 0x4c, 0x30c, 0x6c, 0x30c,
+ 0x4e, 0x301, 0x6e, 0x301, 0x4e, 0x327, 0x6e, 0x327,
+ 0x4e, 0x30c, 0x6e, 0x30c, 0x4f, 0x304, 0x6f, 0x304,
+ 0x4f, 0x306, 0x6f, 0x306, 0x4f, 0x30b, 0x6f, 0x30b,
+ 0x52, 0x301, 0x72, 0x301, 0x52, 0x327, 0x72, 0x327,
+ 0x52, 0x30c, 0x72, 0x30c, 0x53, 0x301, 0x73, 0x301,
+ 0x53, 0x302, 0x73, 0x302, 0x53, 0x327, 0x73, 0x327,
+ 0x53, 0x30c, 0x73, 0x30c, 0x54, 0x327, 0x74, 0x327,
+ 0x54, 0x30c, 0x74, 0x30c, 0x55, 0x303, 0x75, 0x303,
+ 0x55, 0x304, 0x75, 0x304, 0x55, 0x306, 0x75, 0x306,
+ 0x55, 0x30a, 0x75, 0x30a, 0x55, 0x30b, 0x75, 0x30b,
+ 0x55, 0x328, 0x75, 0x328, 0x57, 0x302, 0x77, 0x302,
+ 0x59, 0x302, 0x79, 0x302, 0x59, 0x308, 0x5a, 0x301,
+ 0x7a, 0x301, 0x5a, 0x307, 0x7a, 0x307, 0x5a, 0x30c,
+ 0x7a, 0x30c, 0x4f, 0x31b, 0x6f, 0x31b, 0x55, 0x31b,
+ 0x75, 0x31b, 0x41, 0x30c, 0x61, 0x30c, 0x49, 0x30c,
+ 0x69, 0x30c, 0x4f, 0x30c, 0x6f, 0x30c, 0x55, 0x30c,
+ 0x75, 0x30c, 0x55, 0x308, 0x304, 0x75, 0x308, 0x304,
+ 0x55, 0x308, 0x301, 0x75, 0x308, 0x301, 0x55, 0x308,
+ 0x30c, 0x75, 0x308, 0x30c, 0x55, 0x308, 0x300, 0x75,
+ 0x308, 0x300, 0x41, 0x308, 0x304, 0x61, 0x308, 0x304,
+ 0x41, 0x307, 0x304, 0x61, 0x307, 0x304, 0xc6, 0x304,
+ 0xe6, 0x304, 0x47, 0x30c, 0x67, 0x30c, 0x4b, 0x30c,
+ 0x6b, 0x30c, 0x4f, 0x328, 0x6f, 0x328, 0x4f, 0x328,
+ 0x304, 0x6f, 0x328, 0x304, 0x1b7, 0x30c, 0x292, 0x30c,
+ 0x6a, 0x30c, 0x47, 0x301, 0x67, 0x301, 0x4e, 0x300,
+ 0x6e, 0x300, 0x41, 0x30a, 0x301, 0x61, 0x30a, 0x301,
+ 0xc6, 0x301, 0xe6, 0x301, 0xd8, 0x301, 0xf8, 0x301,
+ 0x41, 0x30f, 0x61, 0x30f, 0x41, 0x311, 0x61, 0x311,
+ 0x45, 0x30f, 0x65, 0x30f, 0x45, 0x311, 0x65, 0x311,
+ 0x49, 0x30f, 0x69, 0x30f, 0x49, 0x311, 0x69, 0x311,
+ 0x4f, 0x30f, 0x6f, 0x30f, 0x4f, 0x311, 0x6f, 0x311,
+ 0x52, 0x30f, 0x72, 0x30f, 0x52, 0x311, 0x72, 0x311,
+ 0x55, 0x30f, 0x75, 0x30f, 0x55, 0x311, 0x75, 0x311,
+ 0x53, 0x326, 0x73, 0x326, 0x54, 0x326, 0x74, 0x326,
+ 0x48, 0x30c, 0x68, 0x30c, 0x41, 0x307, 0x61, 0x307,
+ 0x45, 0x327, 0x65, 0x327, 0x4f, 0x308, 0x304, 0x6f,
+ 0x308, 0x304, 0x4f, 0x303, 0x304, 0x6f, 0x303, 0x304,
+ 0x4f, 0x307, 0x6f, 0x307, 0x4f, 0x307, 0x304, 0x6f,
+ 0x307, 0x304, 0x59, 0x304, 0x79, 0x304, 0x300, 0x301,
+ 0x313, 0x308, 0x301, 0x2b9, 0x3b, 0xa8, 0x301, 0x391,
+ 0x301, 0xb7, 0x395, 0x301, 0x397, 0x301, 0x399, 0x301,
+ 0x39f, 0x301, 0x3a5, 0x301, 0x3a9, 0x301, 0x3b9, 0x308,
+ 0x301, 0x399, 0x308, 0x3a5, 0x308, 0x3b1, 0x301, 0x3b5,
+ 0x301, 0x3b7, 0x301, 0x3b9, 0x301, 0x3c5, 0x308, 0x301,
+ 0x3b9, 0x308, 0x3c5, 0x308, 0x3bf, 0x301, 0x3c5, 0x301,
+ 0x3c9, 0x301, 0x3d2, 0x301, 0x3d2, 0x308, 0x415, 0x300,
+ 0x415, 0x308, 0x413, 0x301, 0x406, 0x308, 0x41a, 0x301,
+ 0x418, 0x300, 0x423, 0x306, 0x418, 0x306, 0x438, 0x306,
+ 0x435, 0x300, 0x435, 0x308, 0x433, 0x301, 0x456, 0x308,
+ 0x43a, 0x301, 0x438, 0x300, 0x443, 0x306, 0x474, 0x30f,
+ 0x475, 0x30f, 0x416, 0x306, 0x436, 0x306, 0x410, 0x306,
+ 0x430, 0x306, 0x410, 0x308, 0x430, 0x308, 0x415, 0x306,
+ 0x435, 0x306, 0x4d8, 0x308, 0x4d9, 0x308, 0x416, 0x308,
+ 0x436, 0x308, 0x417, 0x308, 0x437, 0x308, 0x418, 0x304,
+ 0x438, 0x304, 0x418, 0x308, 0x438, 0x308, 0x41e, 0x308,
+ 0x43e, 0x308, 0x4e8, 0x308, 0x4e9, 0x308, 0x42d, 0x308,
+ 0x44d, 0x308, 0x423, 0x304, 0x443, 0x304, 0x423, 0x308,
+ 0x443, 0x308, 0x423, 0x30b, 0x443, 0x30b, 0x427, 0x308,
+ 0x447, 0x308, 0x42b, 0x308, 0x44b, 0x308, 0x627, 0x653,
+ 0x627, 0x654, 0x648, 0x654, 0x627, 0x655, 0x64a, 0x654,
+ 0x6d5, 0x654, 0x6c1, 0x654, 0x6d2, 0x654, 0x928, 0x93c,
+ 0x930, 0x93c, 0x933, 0x93c, 0x915, 0x93c, 0x916, 0x93c,
+ 0x917, 0x93c, 0x91c, 0x93c, 0x921, 0x93c, 0x922, 0x93c,
+ 0x92b, 0x93c, 0x92f, 0x93c, 0x9c7, 0x9be, 0x9c7, 0x9d7,
+ 0x9a1, 0x9bc, 0x9a2, 0x9bc, 0x9af, 0x9bc, 0xa32, 0xa3c,
+ 0xa38, 0xa3c, 0xa16, 0xa3c, 0xa17, 0xa3c, 0xa1c, 0xa3c,
+ 0xa2b, 0xa3c, 0xb47, 0xb56, 0xb47, 0xb3e, 0xb47, 0xb57,
+ 0xb21, 0xb3c, 0xb22, 0xb3c, 0xb92, 0xbd7, 0xbc6, 0xbbe,
+ 0xbc7, 0xbbe, 0xbc6, 0xbd7, 0xc46, 0xc56, 0xcbf, 0xcd5,
+ 0xcc6, 0xcd5, 0xcc6, 0xcd6, 0xcc6, 0xcc2, 0xcc6, 0xcc2,
+ 0xcd5, 0xd46, 0xd3e, 0xd47, 0xd3e, 0xd46, 0xd57, 0xdd9,
+ 0xdca, 0xdd9, 0xdcf, 0xdd9, 0xdcf, 0xdca, 0xdd9, 0xddf,
+ 0xf42, 0xfb7, 0xf4c, 0xfb7, 0xf51, 0xfb7, 0xf56, 0xfb7,
+ 0xf5b, 0xfb7, 0xf40, 0xfb5, 0xf71, 0xf72, 0xf71, 0xf74,
+ 0xfb2, 0xf80, 0xfb3, 0xf80, 0xf71, 0xf80, 0xf92, 0xfb7,
+ 0xf9c, 0xfb7, 0xfa1, 0xfb7, 0xfa6, 0xfb7, 0xfab, 0xfb7,
+ 0xf90, 0xfb5, 0x1025, 0x102e, 0x41, 0x325, 0x61, 0x325,
+ 0x42, 0x307, 0x62, 0x307, 0x42, 0x323, 0x62, 0x323,
+ 0x42, 0x331, 0x62, 0x331, 0x43, 0x327, 0x301, 0x63,
+ 0x327, 0x301, 0x44, 0x307, 0x64, 0x307, 0x44, 0x323,
+ 0x64, 0x323, 0x44, 0x331, 0x64, 0x331, 0x44, 0x327,
+ 0x64, 0x327, 0x44, 0x32d, 0x64, 0x32d, 0x45, 0x304,
+ 0x300, 0x65, 0x304, 0x300, 0x45, 0x304, 0x301, 0x65,
+ 0x304, 0x301, 0x45, 0x32d, 0x65, 0x32d, 0x45, 0x330,
+ 0x65, 0x330, 0x45, 0x327, 0x306, 0x65, 0x327, 0x306,
+ 0x46, 0x307, 0x66, 0x307, 0x47, 0x304, 0x67, 0x304,
+ 0x48, 0x307, 0x68, 0x307, 0x48, 0x323, 0x68, 0x323,
+ 0x48, 0x308, 0x68, 0x308, 0x48, 0x327, 0x68, 0x327,
+ 0x48, 0x32e, 0x68, 0x32e, 0x49, 0x330, 0x69, 0x330,
+ 0x49, 0x308, 0x301, 0x69, 0x308, 0x301, 0x4b, 0x301,
+ 0x6b, 0x301, 0x4b, 0x323, 0x6b, 0x323, 0x4b, 0x331,
+ 0x6b, 0x331, 0x4c, 0x323, 0x6c, 0x323, 0x4c, 0x323,
+ 0x304, 0x6c, 0x323, 0x304, 0x4c, 0x331, 0x6c, 0x331,
+ 0x4c, 0x32d, 0x6c, 0x32d, 0x4d, 0x301, 0x6d, 0x301,
+ 0x4d, 0x307, 0x6d, 0x307, 0x4d, 0x323, 0x6d, 0x323,
+ 0x4e, 0x307, 0x6e, 0x307, 0x4e, 0x323, 0x6e, 0x323,
+ 0x4e, 0x331, 0x6e, 0x331, 0x4e, 0x32d, 0x6e, 0x32d,
+ 0x4f, 0x303, 0x301, 0x6f, 0x303, 0x301, 0x4f, 0x303,
+ 0x308, 0x6f, 0x303, 0x308, 0x4f, 0x304, 0x300, 0x6f,
+ 0x304, 0x300, 0x4f, 0x304, 0x301, 0x6f, 0x304, 0x301,
+ 0x50, 0x301, 0x70, 0x301, 0x50, 0x307, 0x70, 0x307,
+ 0x52, 0x307, 0x72, 0x307, 0x52, 0x323, 0x72, 0x323,
+ 0x52, 0x323, 0x304, 0x72, 0x323, 0x304, 0x52, 0x331,
+ 0x72, 0x331, 0x53, 0x307, 0x73, 0x307, 0x53, 0x323,
+ 0x73, 0x323, 0x53, 0x301, 0x307, 0x73, 0x301, 0x307,
+ 0x53, 0x30c, 0x307, 0x73, 0x30c, 0x307, 0x53, 0x323,
+ 0x307, 0x73, 0x323, 0x307, 0x54, 0x307, 0x74, 0x307,
+ 0x54, 0x323, 0x74, 0x323, 0x54, 0x331, 0x74, 0x331,
+ 0x54, 0x32d, 0x74, 0x32d, 0x55, 0x324, 0x75, 0x324,
+ 0x55, 0x330, 0x75, 0x330, 0x55, 0x32d, 0x75, 0x32d,
+ 0x55, 0x303, 0x301, 0x75, 0x303, 0x301, 0x55, 0x304,
+ 0x308, 0x75, 0x304, 0x308, 0x56, 0x303, 0x76, 0x303,
+ 0x56, 0x323, 0x76, 0x323, 0x57, 0x300, 0x77, 0x300,
+ 0x57, 0x301, 0x77, 0x301, 0x57, 0x308, 0x77, 0x308,
+ 0x57, 0x307, 0x77, 0x307, 0x57, 0x323, 0x77, 0x323,
+ 0x58, 0x307, 0x78, 0x307, 0x58, 0x308, 0x78, 0x308,
+ 0x59, 0x307, 0x79, 0x307, 0x5a, 0x302, 0x7a, 0x302,
+ 0x5a, 0x323, 0x7a, 0x323, 0x5a, 0x331, 0x7a, 0x331,
+ 0x68, 0x331, 0x74, 0x308, 0x77, 0x30a, 0x79, 0x30a,
+ 0x17f, 0x307, 0x41, 0x323, 0x61, 0x323, 0x41, 0x309,
+ 0x61, 0x309, 0x41, 0x302, 0x301, 0x61, 0x302, 0x301,
+ 0x41, 0x302, 0x300, 0x61, 0x302, 0x300, 0x41, 0x302,
+ 0x309, 0x61, 0x302, 0x309, 0x41, 0x302, 0x303, 0x61,
+ 0x302, 0x303, 0x41, 0x323, 0x302, 0x61, 0x323, 0x302,
+ 0x41, 0x306, 0x301, 0x61, 0x306, 0x301, 0x41, 0x306,
+ 0x300, 0x61, 0x306, 0x300, 0x41, 0x306, 0x309, 0x61,
+ 0x306, 0x309, 0x41, 0x306, 0x303, 0x61, 0x306, 0x303,
+ 0x41, 0x323, 0x306, 0x61, 0x323, 0x306, 0x45, 0x323,
+ 0x65, 0x323, 0x45, 0x309, 0x65, 0x309, 0x45, 0x303,
+ 0x65, 0x303, 0x45, 0x302, 0x301, 0x65, 0x302, 0x301,
+ 0x45, 0x302, 0x300, 0x65, 0x302, 0x300, 0x45, 0x302,
+ 0x309, 0x65, 0x302, 0x309, 0x45, 0x302, 0x303, 0x65,
+ 0x302, 0x303, 0x45, 0x323, 0x302, 0x65, 0x323, 0x302,
+ 0x49, 0x309, 0x69, 0x309, 0x49, 0x323, 0x69, 0x323,
+ 0x4f, 0x323, 0x6f, 0x323, 0x4f, 0x309, 0x6f, 0x309,
+ 0x4f, 0x302, 0x301, 0x6f, 0x302, 0x301, 0x4f, 0x302,
+ 0x300, 0x6f, 0x302, 0x300, 0x4f, 0x302, 0x309, 0x6f,
+ 0x302, 0x309, 0x4f, 0x302, 0x303, 0x6f, 0x302, 0x303,
+ 0x4f, 0x323, 0x302, 0x6f, 0x323, 0x302, 0x4f, 0x31b,
+ 0x301, 0x6f, 0x31b, 0x301, 0x4f, 0x31b, 0x300, 0x6f,
+ 0x31b, 0x300, 0x4f, 0x31b, 0x309, 0x6f, 0x31b, 0x309,
+ 0x4f, 0x31b, 0x303, 0x6f, 0x31b, 0x303, 0x4f, 0x31b,
+ 0x323, 0x6f, 0x31b, 0x323, 0x55, 0x323, 0x75, 0x323,
+ 0x55, 0x309, 0x75, 0x309, 0x55, 0x31b, 0x301, 0x75,
+ 0x31b, 0x301, 0x55, 0x31b, 0x300, 0x75, 0x31b, 0x300,
+ 0x55, 0x31b, 0x309, 0x75, 0x31b, 0x309, 0x55, 0x31b,
+ 0x303, 0x75, 0x31b, 0x303, 0x55, 0x31b, 0x323, 0x75,
+ 0x31b, 0x323, 0x59, 0x300, 0x79, 0x300, 0x59, 0x323,
+ 0x79, 0x323, 0x59, 0x309, 0x79, 0x309, 0x59, 0x303,
+ 0x79, 0x303, 0x3b1, 0x313, 0x3b1, 0x314, 0x3b1, 0x313,
+ 0x300, 0x3b1, 0x314, 0x300, 0x3b1, 0x313, 0x301, 0x3b1,
+ 0x314, 0x301, 0x3b1, 0x313, 0x342, 0x3b1, 0x314, 0x342,
+ 0x391, 0x313, 0x391, 0x314, 0x391, 0x313, 0x300, 0x391,
+ 0x314, 0x300, 0x391, 0x313, 0x301, 0x391, 0x314, 0x301,
+ 0x391, 0x313, 0x342, 0x391, 0x314, 0x342, 0x3b5, 0x313,
+ 0x3b5, 0x314, 0x3b5, 0x313, 0x300, 0x3b5, 0x314, 0x300,
+ 0x3b5, 0x313, 0x301, 0x3b5, 0x314, 0x301, 0x395, 0x313,
+ 0x395, 0x314, 0x395, 0x313, 0x300, 0x395, 0x314, 0x300,
+ 0x395, 0x313, 0x301, 0x395, 0x314, 0x301, 0x3b7, 0x313,
+ 0x3b7, 0x314, 0x3b7, 0x313, 0x300, 0x3b7, 0x314, 0x300,
+ 0x3b7, 0x313, 0x301, 0x3b7, 0x314, 0x301, 0x3b7, 0x313,
+ 0x342, 0x3b7, 0x314, 0x342, 0x397, 0x313, 0x397, 0x314,
+ 0x397, 0x313, 0x300, 0x397, 0x314, 0x300, 0x397, 0x313,
+ 0x301, 0x397, 0x314, 0x301, 0x397, 0x313, 0x342, 0x397,
+ 0x314, 0x342, 0x3b9, 0x313, 0x3b9, 0x314, 0x3b9, 0x313,
+ 0x300, 0x3b9, 0x314, 0x300, 0x3b9, 0x313, 0x301, 0x3b9,
+ 0x314, 0x301, 0x3b9, 0x313, 0x342, 0x3b9, 0x314, 0x342,
+ 0x399, 0x313, 0x399, 0x314, 0x399, 0x313, 0x300, 0x399,
+ 0x314, 0x300, 0x399, 0x313, 0x301, 0x399, 0x314, 0x301,
+ 0x399, 0x313, 0x342, 0x399, 0x314, 0x342, 0x3bf, 0x313,
+ 0x3bf, 0x314, 0x3bf, 0x313, 0x300, 0x3bf, 0x314, 0x300,
+ 0x3bf, 0x313, 0x301, 0x3bf, 0x314, 0x301, 0x39f, 0x313,
+ 0x39f, 0x314, 0x39f, 0x313, 0x300, 0x39f, 0x314, 0x300,
+ 0x39f, 0x313, 0x301, 0x39f, 0x314, 0x301, 0x3c5, 0x313,
+ 0x3c5, 0x314, 0x3c5, 0x313, 0x300, 0x3c5, 0x314, 0x300,
+ 0x3c5, 0x313, 0x301, 0x3c5, 0x314, 0x301, 0x3c5, 0x313,
+ 0x342, 0x3c5, 0x314, 0x342, 0x3a5, 0x314, 0x3a5, 0x314,
+ 0x300, 0x3a5, 0x314, 0x301, 0x3a5, 0x314, 0x342, 0x3c9,
+ 0x313, 0x3c9, 0x314, 0x3c9, 0x313, 0x300, 0x3c9, 0x314,
+ 0x300, 0x3c9, 0x313, 0x301, 0x3c9, 0x314, 0x301, 0x3c9,
+ 0x313, 0x342, 0x3c9, 0x314, 0x342, 0x3a9, 0x313, 0x3a9,
+ 0x314, 0x3a9, 0x313, 0x300, 0x3a9, 0x314, 0x300, 0x3a9,
+ 0x313, 0x301, 0x3a9, 0x314, 0x301, 0x3a9, 0x313, 0x342,
+ 0x3a9, 0x314, 0x342, 0x3b1, 0x300, 0x3b1, 0x301, 0x3b5,
+ 0x300, 0x3b5, 0x301, 0x3b7, 0x300, 0x3b7, 0x301, 0x3b9,
+ 0x300, 0x3b9, 0x301, 0x3bf, 0x300, 0x3bf, 0x301, 0x3c5,
+ 0x300, 0x3c5, 0x301, 0x3c9, 0x300, 0x3c9, 0x301, 0x3b1,
+ 0x313, 0x345, 0x3b1, 0x314, 0x345, 0x3b1, 0x313, 0x300,
+ 0x345, 0x3b1, 0x314, 0x300, 0x345, 0x3b1, 0x313, 0x301,
+ 0x345, 0x3b1, 0x314, 0x301, 0x345, 0x3b1, 0x313, 0x342,
+ 0x345, 0x3b1, 0x314, 0x342, 0x345, 0x391, 0x313, 0x345,
+ 0x391, 0x314, 0x345, 0x391, 0x313, 0x300, 0x345, 0x391,
+ 0x314, 0x300, 0x345, 0x391, 0x313, 0x301, 0x345, 0x391,
+ 0x314, 0x301, 0x345, 0x391, 0x313, 0x342, 0x345, 0x391,
+ 0x314, 0x342, 0x345, 0x3b7, 0x313, 0x345, 0x3b7, 0x314,
+ 0x345, 0x3b7, 0x313, 0x300, 0x345, 0x3b7, 0x314, 0x300,
+ 0x345, 0x3b7, 0x313, 0x301, 0x345, 0x3b7, 0x314, 0x301,
+ 0x345, 0x3b7, 0x313, 0x342, 0x345, 0x3b7, 0x314, 0x342,
+ 0x345, 0x397, 0x313, 0x345, 0x397, 0x314, 0x345, 0x397,
+ 0x313, 0x300, 0x345, 0x397, 0x314, 0x300, 0x345, 0x397,
+ 0x313, 0x301, 0x345, 0x397, 0x314, 0x301, 0x345, 0x397,
+ 0x313, 0x342, 0x345, 0x397, 0x314, 0x342, 0x345, 0x3c9,
+ 0x313, 0x345, 0x3c9, 0x314, 0x345, 0x3c9, 0x313, 0x300,
+ 0x345, 0x3c9, 0x314, 0x300, 0x345, 0x3c9, 0x313, 0x301,
+ 0x345, 0x3c9, 0x314, 0x301, 0x345, 0x3c9, 0x313, 0x342,
+ 0x345, 0x3c9, 0x314, 0x342, 0x345, 0x3a9, 0x313, 0x345,
+ 0x3a9, 0x314, 0x345, 0x3a9, 0x313, 0x300, 0x345, 0x3a9,
+ 0x314, 0x300, 0x345, 0x3a9, 0x313, 0x301, 0x345, 0x3a9,
+ 0x314, 0x301, 0x345, 0x3a9, 0x313, 0x342, 0x345, 0x3a9,
+ 0x314, 0x342, 0x345, 0x3b1, 0x306, 0x3b1, 0x304, 0x3b1,
+ 0x300, 0x345, 0x3b1, 0x345, 0x3b1, 0x301, 0x345, 0x3b1,
+ 0x342, 0x3b1, 0x342, 0x345, 0x391, 0x306, 0x391, 0x304,
+ 0x391, 0x300, 0x391, 0x301, 0x391, 0x345, 0x3b9, 0xa8,
+ 0x342, 0x3b7, 0x300, 0x345, 0x3b7, 0x345, 0x3b7, 0x301,
+ 0x345, 0x3b7, 0x342, 0x3b7, 0x342, 0x345, 0x395, 0x300,
+ 0x395, 0x301, 0x397, 0x300, 0x397, 0x301, 0x397, 0x345,
+ 0x1fbf, 0x300, 0x1fbf, 0x301, 0x1fbf, 0x342, 0x3b9, 0x306,
+ 0x3b9, 0x304, 0x3b9, 0x308, 0x300, 0x3b9, 0x308, 0x301,
+ 0x3b9, 0x342, 0x3b9, 0x308, 0x342, 0x399, 0x306, 0x399,
+ 0x304, 0x399, 0x300, 0x399, 0x301, 0x1ffe, 0x300, 0x1ffe,
+ 0x301, 0x1ffe, 0x342, 0x3c5, 0x306, 0x3c5, 0x304, 0x3c5,
+ 0x308, 0x300, 0x3c5, 0x308, 0x301, 0x3c1, 0x313, 0x3c1,
+ 0x314, 0x3c5, 0x342, 0x3c5, 0x308, 0x342, 0x3a5, 0x306,
+ 0x3a5, 0x304, 0x3a5, 0x300, 0x3a5, 0x301, 0x3a1, 0x314,
+ 0xa8, 0x300, 0xa8, 0x301, 0x60, 0x3c9, 0x300, 0x345,
+ 0x3c9, 0x345, 0x3c9, 0x301, 0x345, 0x3c9, 0x342, 0x3c9,
+ 0x342, 0x345, 0x39f, 0x300, 0x39f, 0x301, 0x3a9, 0x300,
+ 0x3a9, 0x301, 0x3a9, 0x345, 0xb4, 0x2002, 0x2003, 0x3a9,
+ 0x4b, 0x41, 0x30a, 0x2190, 0x338, 0x2192, 0x338, 0x2194,
+ 0x338, 0x21d0, 0x338, 0x21d4, 0x338, 0x21d2, 0x338, 0x2203,
+ 0x338, 0x2208, 0x338, 0x220b, 0x338, 0x2223, 0x338, 0x2225,
+ 0x338, 0x223c, 0x338, 0x2243, 0x338, 0x2245, 0x338, 0x2248,
+ 0x338, 0x3d, 0x338, 0x2261, 0x338, 0x224d, 0x338, 0x3c,
+ 0x338, 0x3e, 0x338, 0x2264, 0x338, 0x2265, 0x338, 0x2272,
+ 0x338, 0x2273, 0x338, 0x2276, 0x338, 0x2277, 0x338, 0x227a,
+ 0x338, 0x227b, 0x338, 0x2282, 0x338, 0x2283, 0x338, 0x2286,
+ 0x338, 0x2287, 0x338, 0x22a2, 0x338, 0x22a8, 0x338, 0x22a9,
+ 0x338, 0x22ab, 0x338, 0x227c, 0x338, 0x227d, 0x338, 0x2291,
+ 0x338, 0x2292, 0x338, 0x22b2, 0x338, 0x22b3, 0x338, 0x22b4,
+ 0x338, 0x22b5, 0x338, 0x3008, 0x3009, 0x2add, 0x338, 0x304b,
+ 0x3099, 0x304d, 0x3099, 0x304f, 0x3099, 0x3051, 0x3099, 0x3053,
+ 0x3099, 0x3055, 0x3099, 0x3057, 0x3099, 0x3059, 0x3099, 0x305b,
+ 0x3099, 0x305d, 0x3099, 0x305f, 0x3099, 0x3061, 0x3099, 0x3064,
+ 0x3099, 0x3066, 0x3099, 0x3068, 0x3099, 0x306f, 0x3099, 0x306f,
+ 0x309a, 0x3072, 0x3099, 0x3072, 0x309a, 0x3075, 0x3099, 0x3075,
+ 0x309a, 0x3078, 0x3099, 0x3078, 0x309a, 0x307b, 0x3099, 0x307b,
+ 0x309a, 0x3046, 0x3099, 0x309d, 0x3099, 0x30ab, 0x3099, 0x30ad,
+ 0x3099, 0x30af, 0x3099, 0x30b1, 0x3099, 0x30b3, 0x3099, 0x30b5,
+ 0x3099, 0x30b7, 0x3099, 0x30b9, 0x3099, 0x30bb, 0x3099, 0x30bd,
+ 0x3099, 0x30bf, 0x3099, 0x30c1, 0x3099, 0x30c4, 0x3099, 0x30c6,
+ 0x3099, 0x30c8, 0x3099, 0x30cf, 0x3099, 0x30cf, 0x309a, 0x30d2,
+ 0x3099, 0x30d2, 0x309a, 0x30d5, 0x3099, 0x30d5, 0x309a, 0x30d8,
+ 0x3099, 0x30d8, 0x309a, 0x30db, 0x3099, 0x30db, 0x309a, 0x30a6,
+ 0x3099, 0x30ef, 0x3099, 0x30f0, 0x3099, 0x30f1, 0x3099, 0x30f2,
+ 0x3099, 0x30fd, 0x3099, 0x8c48, 0x66f4, 0x8eca, 0x8cc8, 0x6ed1,
+ 0x4e32, 0x53e5, 0x9f9c, 0x9f9c, 0x5951, 0x91d1, 0x5587, 0x5948,
+ 0x61f6, 0x7669, 0x7f85, 0x863f, 0x87ba, 0x88f8, 0x908f, 0x6a02,
+ 0x6d1b, 0x70d9, 0x73de, 0x843d, 0x916a, 0x99f1, 0x4e82, 0x5375,
+ 0x6b04, 0x721b, 0x862d, 0x9e1e, 0x5d50, 0x6feb, 0x85cd, 0x8964,
+ 0x62c9, 0x81d8, 0x881f, 0x5eca, 0x6717, 0x6d6a, 0x72fc, 0x90ce,
+ 0x4f86, 0x51b7, 0x52de, 0x64c4, 0x6ad3, 0x7210, 0x76e7, 0x8001,
+ 0x8606, 0x865c, 0x8def, 0x9732, 0x9b6f, 0x9dfa, 0x788c, 0x797f,
+ 0x7da0, 0x83c9, 0x9304, 0x9e7f, 0x8ad6, 0x58df, 0x5f04, 0x7c60,
+ 0x807e, 0x7262, 0x78ca, 0x8cc2, 0x96f7, 0x58d8, 0x5c62, 0x6a13,
+ 0x6dda, 0x6f0f, 0x7d2f, 0x7e37, 0x964b, 0x52d2, 0x808b, 0x51dc,
+ 0x51cc, 0x7a1c, 0x7dbe, 0x83f1, 0x9675, 0x8b80, 0x62cf, 0x6a02,
+ 0x8afe, 0x4e39, 0x5be7, 0x6012, 0x7387, 0x7570, 0x5317, 0x78fb,
+ 0x4fbf, 0x5fa9, 0x4e0d, 0x6ccc, 0x6578, 0x7d22, 0x53c3, 0x585e,
+ 0x7701, 0x8449, 0x8aaa, 0x6bba, 0x8fb0, 0x6c88, 0x62fe, 0x82e5,
+ 0x63a0, 0x7565, 0x4eae, 0x5169, 0x51c9, 0x6881, 0x7ce7, 0x826f,
+ 0x8ad2, 0x91cf, 0x52f5, 0x5442, 0x5973, 0x5eec, 0x65c5, 0x6ffe,
+ 0x792a, 0x95ad, 0x9a6a, 0x9e97, 0x9ece, 0x529b, 0x66c6, 0x6b77,
+ 0x8f62, 0x5e74, 0x6190, 0x6200, 0x649a, 0x6f23, 0x7149, 0x7489,
+ 0x79ca, 0x7df4, 0x806f, 0x8f26, 0x84ee, 0x9023, 0x934a, 0x5217,
+ 0x52a3, 0x54bd, 0x70c8, 0x88c2, 0x8aaa, 0x5ec9, 0x5ff5, 0x637b,
+ 0x6bae, 0x7c3e, 0x7375, 0x4ee4, 0x56f9, 0x5be7, 0x5dba, 0x601c,
+ 0x73b2, 0x7469, 0x7f9a, 0x8046, 0x9234, 0x96f6, 0x9748, 0x9818,
+ 0x4f8b, 0x79ae, 0x91b4, 0x96b8, 0x60e1, 0x4e86, 0x50da, 0x5bee,
+ 0x5c3f, 0x6599, 0x6a02, 0x71ce, 0x7642, 0x84fc, 0x907c, 0x9f8d,
+ 0x6688, 0x962e, 0x5289, 0x677b, 0x67f3, 0x6d41, 0x6e9c, 0x7409,
+ 0x7559, 0x786b, 0x7d10, 0x985e, 0x516d, 0x622e, 0x9678, 0x502b,
+ 0x5d19, 0x6dea, 0x8f2a, 0x5f8b, 0x6144, 0x6817, 0x7387, 0x9686,
+ 0x5229, 0x540f, 0x5c65, 0x6613, 0x674e, 0x68a8, 0x6ce5, 0x7406,
+ 0x75e2, 0x7f79, 0x88cf, 0x88e1, 0x91cc, 0x96e2, 0x533f, 0x6eba,
+ 0x541d, 0x71d0, 0x7498, 0x85fa, 0x96a3, 0x9c57, 0x9e9f, 0x6797,
+ 0x6dcb, 0x81e8, 0x7acb, 0x7b20, 0x7c92, 0x72c0, 0x7099, 0x8b58,
+ 0x4ec0, 0x8336, 0x523a, 0x5207, 0x5ea6, 0x62d3, 0x7cd6, 0x5b85,
+ 0x6d1e, 0x66b4, 0x8f3b, 0x884c, 0x964d, 0x898b, 0x5ed3, 0x5140,
+ 0x55c0, 0x585a, 0x6674, 0x51de, 0x732a, 0x76ca, 0x793c, 0x795e,
+ 0x7965, 0x798f, 0x9756, 0x7cbe, 0x7fbd, 0x8612, 0x8af8, 0x9038,
+ 0x90fd, 0x98ef, 0x98fc, 0x9928, 0x9db4, 0x4fae, 0x50e7, 0x514d,
+ 0x52c9, 0x52e4, 0x5351, 0x559d, 0x5606, 0x5668, 0x5840, 0x58a8,
+ 0x5c64, 0x5c6e, 0x6094, 0x6168, 0x618e, 0x61f2, 0x654f, 0x65e2,
+ 0x6691, 0x6885, 0x6d77, 0x6e1a, 0x6f22, 0x716e, 0x722b, 0x7422,
+ 0x7891, 0x793e, 0x7949, 0x7948, 0x7950, 0x7956, 0x795d, 0x798d,
+ 0x798e, 0x7a40, 0x7a81, 0x7bc0, 0x7df4, 0x7e09, 0x7e41, 0x7f72,
+ 0x8005, 0x81ed, 0x8279, 0x8279, 0x8457, 0x8910, 0x8996, 0x8b01,
+ 0x8b39, 0x8cd3, 0x8d08, 0x8fb6, 0x9038, 0x96e3, 0x97ff, 0x983b,
+ 0x5d9, 0x5b4, 0x5f2, 0x5b7, 0x5e9, 0x5c1, 0x5e9, 0x5c2,
+ 0x5e9, 0x5bc, 0x5c1, 0x5e9, 0x5bc, 0x5c2, 0x5d0, 0x5b7,
+ 0x5d0, 0x5b8, 0x5d0, 0x5bc, 0x5d1, 0x5bc, 0x5d2, 0x5bc,
+ 0x5d3, 0x5bc, 0x5d4, 0x5bc, 0x5d5, 0x5bc, 0x5d6, 0x5bc,
+ 0x5d8, 0x5bc, 0x5d9, 0x5bc, 0x5da, 0x5bc, 0x5db, 0x5bc,
+ 0x5dc, 0x5bc, 0x5de, 0x5bc, 0x5e0, 0x5bc, 0x5e1, 0x5bc,
+ 0x5e3, 0x5bc, 0x5e4, 0x5bc, 0x5e6, 0x5bc, 0x5e7, 0x5bc,
+ 0x5e8, 0x5bc, 0x5e9, 0x5bc, 0x5ea, 0x5bc, 0x5d5, 0x5b9,
+ 0x5d1, 0x5bf, 0x5db, 0x5bf, 0x5e4, 0x5bf, 0x1d157, 0x1d165,
+ 0x1d158, 0x1d165, 0x1d158, 0x1d165, 0x1d16e, 0x1d158, 0x1d165, 0x1d16f,
+ 0x1d158, 0x1d165, 0x1d170, 0x1d158, 0x1d165, 0x1d171, 0x1d158, 0x1d165,
+ 0x1d172, 0x1d1b9, 0x1d165, 0x1d1ba, 0x1d165, 0x1d1b9, 0x1d165, 0x1d16e,
+ 0x1d1ba, 0x1d165, 0x1d16e, 0x1d1b9, 0x1d165, 0x1d16f, 0x1d1ba, 0x1d165,
+ 0x1d16f, 0x4e3d, 0x4e38, 0x4e41, 0x20122, 0x4f60, 0x4fae, 0x4fbb,
+ 0x5002, 0x507a, 0x5099, 0x50e7, 0x50cf, 0x349e, 0x2063a, 0x514d,
+ 0x5154, 0x5164, 0x5177, 0x2051c, 0x34b9, 0x5167, 0x518d, 0x2054b,
+ 0x5197, 0x51a4, 0x4ecc, 0x51ac, 0x51b5, 0x291df, 0x51f5, 0x5203,
+ 0x34df, 0x523b, 0x5246, 0x5272, 0x5277, 0x3515, 0x52c7, 0x52c9,
+ 0x52e4, 0x52fa, 0x5305, 0x5306, 0x5317, 0x5349, 0x5351, 0x535a,
+ 0x5373, 0x537d, 0x537f, 0x537f, 0x537f, 0x20a2c, 0x7070, 0x53ca,
+ 0x53df, 0x20b63, 0x53eb, 0x53f1, 0x5406, 0x549e, 0x5438, 0x5448,
+ 0x5468, 0x54a2, 0x54f6, 0x5510, 0x5553, 0x5563, 0x5584, 0x5584,
+ 0x5599, 0x55ab, 0x55b3, 0x55c2, 0x5716, 0x5606, 0x5717, 0x5651,
+ 0x5674, 0x5207, 0x58ee, 0x57ce, 0x57f4, 0x580d, 0x578b, 0x5832,
+ 0x5831, 0x58ac, 0x214e4, 0x58f2, 0x58f7, 0x5906, 0x591a, 0x5922,
+ 0x5962, 0x216a8, 0x216ea, 0x59ec, 0x5a1b, 0x5a27, 0x59d8, 0x5a66,
+ 0x36ee, 0x36fc, 0x5b08, 0x5b3e, 0x5b3e, 0x219c8, 0x5bc3, 0x5bd8,
+ 0x5be7, 0x5bf3, 0x21b18, 0x5bff, 0x5c06, 0x5f53, 0x5c22, 0x3781,
+ 0x5c60, 0x5c6e, 0x5cc0, 0x5c8d, 0x21de4, 0x5d43, 0x21de6, 0x5d6e,
+ 0x5d6b, 0x5d7c, 0x5de1, 0x5de2, 0x382f, 0x5dfd, 0x5e28, 0x5e3d,
+ 0x5e69, 0x3862, 0x22183, 0x387c, 0x5eb0, 0x5eb3, 0x5eb6, 0x5eca,
+ 0x2a392, 0x5efe, 0x22331, 0x22331, 0x8201, 0x5f22, 0x5f22, 0x38c7,
+ 0x232b8, 0x261da, 0x5f62, 0x5f6b, 0x38e3, 0x5f9a, 0x5fcd, 0x5fd7,
+ 0x5ff9, 0x6081, 0x393a, 0x391c, 0x6094, 0x226d4, 0x60c7, 0x6148,
+ 0x614c, 0x614e, 0x614c, 0x617a, 0x618e, 0x61b2, 0x61a4, 0x61af,
+ 0x61de, 0x61f2, 0x61f6, 0x6210, 0x621b, 0x625d, 0x62b1, 0x62d4,
+ 0x6350, 0x22b0c, 0x633d, 0x62fc, 0x6368, 0x6383, 0x63e4, 0x22bf1,
+ 0x6422, 0x63c5, 0x63a9, 0x3a2e, 0x6469, 0x647e, 0x649d, 0x6477,
+ 0x3a6c, 0x654f, 0x656c, 0x2300a, 0x65e3, 0x66f8, 0x6649, 0x3b19,
+ 0x6691, 0x3b08, 0x3ae4, 0x5192, 0x5195, 0x6700, 0x669c, 0x80ad,
+ 0x43d9, 0x6717, 0x671b, 0x6721, 0x675e, 0x6753, 0x233c3, 0x3b49,
+ 0x67fa, 0x6785, 0x6852, 0x6885, 0x2346d, 0x688e, 0x681f, 0x6914,
+ 0x3b9d, 0x6942, 0x69a3, 0x69ea, 0x6aa8, 0x236a3, 0x6adb, 0x3c18,
+ 0x6b21, 0x238a7, 0x6b54, 0x3c4e, 0x6b72, 0x6b9f, 0x6bba, 0x6bbb,
+ 0x23a8d, 0x21d0b, 0x23afa, 0x6c4e, 0x23cbc, 0x6cbf, 0x6ccd, 0x6c67,
+ 0x6d16, 0x6d3e, 0x6d77, 0x6d41, 0x6d69, 0x6d78, 0x6d85, 0x23d1e,
+ 0x6d34, 0x6e2f, 0x6e6e, 0x3d33, 0x6ecb, 0x6ec7, 0x23ed1, 0x6df9,
+ 0x6f6e, 0x23f5e, 0x23f8e, 0x6fc6, 0x7039, 0x701e, 0x701b, 0x3d96,
+ 0x704a, 0x707d, 0x7077, 0x70ad, 0x20525, 0x7145, 0x24263, 0x719c,
+ 0x243ab, 0x7228, 0x7235, 0x7250, 0x24608, 0x7280, 0x7295, 0x24735,
+ 0x24814, 0x737a, 0x738b, 0x3eac, 0x73a5, 0x3eb8, 0x3eb8, 0x7447,
+ 0x745c, 0x7471, 0x7485, 0x74ca, 0x3f1b, 0x7524, 0x24c36, 0x753e,
+ 0x24c92, 0x7570, 0x2219f, 0x7610, 0x24fa1, 0x24fb8, 0x25044, 0x3ffc,
+ 0x4008, 0x76f4, 0x250f3, 0x250f2, 0x25119, 0x25133, 0x771e, 0x771f,
+ 0x771f, 0x774a, 0x4039, 0x778b, 0x4046, 0x4096, 0x2541d, 0x784e,
+ 0x788c, 0x78cc, 0x40e3, 0x25626, 0x7956, 0x2569a, 0x256c5, 0x798f,
+ 0x79eb, 0x412f, 0x7a40, 0x7a4a, 0x7a4f, 0x2597c, 0x25aa7, 0x25aa7,
+ 0x7aee, 0x4202, 0x25bab, 0x7bc6, 0x7bc9, 0x4227, 0x25c80, 0x7cd2,
+ 0x42a0, 0x7ce8, 0x7ce3, 0x7d00, 0x25f86, 0x7d63, 0x4301, 0x7dc7,
+ 0x7e02, 0x7e45, 0x4334, 0x26228, 0x26247, 0x4359, 0x262d9, 0x7f7a,
+ 0x2633e, 0x7f95, 0x7ffa, 0x8005, 0x264da, 0x26523, 0x8060, 0x265a8,
+ 0x8070, 0x2335f, 0x43d5, 0x80b2, 0x8103, 0x440b, 0x813e, 0x5ab5,
+ 0x267a7, 0x267b5, 0x23393, 0x2339c, 0x8201, 0x8204, 0x8f9e, 0x446b,
+ 0x8291, 0x828b, 0x829d, 0x52b3, 0x82b1, 0x82b3, 0x82bd, 0x82e6,
+ 0x26b3c, 0x82e5, 0x831d, 0x8363, 0x83ad, 0x8323, 0x83bd, 0x83e7,
+ 0x8457, 0x8353, 0x83ca, 0x83cc, 0x83dc, 0x26c36, 0x26d6b, 0x26cd5,
+ 0x452b, 0x84f1, 0x84f3, 0x8516, 0x273ca, 0x8564, 0x26f2c, 0x455d,
+ 0x4561, 0x26fb1, 0x270d2, 0x456b, 0x8650, 0x865c, 0x8667, 0x8669,
+ 0x86a9, 0x8688, 0x870e, 0x86e2, 0x8779, 0x8728, 0x876b, 0x8786,
+ 0x45d7, 0x87e1, 0x8801, 0x45f9, 0x8860, 0x8863, 0x27667, 0x88d7,
+ 0x88de, 0x4635, 0x88fa, 0x34bb, 0x278ae, 0x27966, 0x46be, 0x46c7,
+ 0x8aa0, 0x8aed, 0x8b8a, 0x8c55, 0x27ca8, 0x8cab, 0x8cc1, 0x8d1b,
+ 0x8d77, 0x27f2f, 0x20804, 0x8dcb, 0x8dbc, 0x8df0, 0x208de, 0x8ed4,
+ 0x8f38, 0x285d2, 0x285ed, 0x9094, 0x90f1, 0x9111, 0x2872e, 0x911b,
+ 0x9238, 0x92d7, 0x92d8, 0x927c, 0x93f9, 0x9415, 0x28bfa, 0x958b,
+ 0x4995, 0x95b7, 0x28d77, 0x49e6, 0x96c3, 0x5db2, 0x9723, 0x29145,
+ 0x2921a, 0x4a6e, 0x4a76, 0x97e0, 0x2940a, 0x4ab2, 0x29496, 0x980b,
+ 0x980b, 0x9829, 0x295b6, 0x98e2, 0x4b33, 0x9929, 0x99a7, 0x99c2,
+ 0x99fe, 0x4bce, 0x29b30, 0x9b12, 0x9c40, 0x9cfd, 0x4cce, 0x4ced,
+ 0x9d67, 0x2a0ce, 0x4cf8, 0x2a105, 0x2a20e, 0x2a291, 0x9ebb, 0x4d56,
+ 0x9ef9, 0x9efe, 0x9f05, 0x9f0f, 0x9f16, 0x9f3b, 0x2a600, };
+
+gli_decomp_block_t unigen_decomp_block_0x0[256] = {
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 0 },
+ { 2, 2 },
+ { 2, 4 },
+ { 2, 6 },
+ { 2, 8 },
+ { 2, 10 },
+ { 0, 0 },
+ { 2, 12 },
+ { 2, 14 },
+ { 2, 16 },
+ { 2, 18 },
+ { 2, 20 },
+ { 2, 22 },
+ { 2, 24 },
+ { 2, 26 },
+ { 2, 28 },
+ { 0, 0 },
+ { 2, 30 },
+ { 2, 32 },
+ { 2, 34 },
+ { 2, 36 },
+ { 2, 38 },
+ { 2, 40 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 42 },
+ { 2, 44 },
+ { 2, 46 },
+ { 2, 48 },
+ { 2, 50 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 52 },
+ { 2, 54 },
+ { 2, 56 },
+ { 2, 58 },
+ { 2, 60 },
+ { 2, 62 },
+ { 0, 0 },
+ { 2, 64 },
+ { 2, 66 },
+ { 2, 68 },
+ { 2, 70 },
+ { 2, 72 },
+ { 2, 74 },
+ { 2, 76 },
+ { 2, 78 },
+ { 2, 80 },
+ { 0, 0 },
+ { 2, 82 },
+ { 2, 84 },
+ { 2, 86 },
+ { 2, 88 },
+ { 2, 90 },
+ { 2, 92 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 94 },
+ { 2, 96 },
+ { 2, 98 },
+ { 2, 100 },
+ { 2, 102 },
+ { 0, 0 },
+ { 2, 104 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x1[256] = {
+ { 2, 106 },
+ { 2, 108 },
+ { 2, 110 },
+ { 2, 112 },
+ { 2, 114 },
+ { 2, 116 },
+ { 2, 118 },
+ { 2, 120 },
+ { 2, 122 },
+ { 2, 124 },
+ { 2, 126 },
+ { 2, 128 },
+ { 2, 130 },
+ { 2, 132 },
+ { 2, 134 },
+ { 2, 136 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 138 },
+ { 2, 140 },
+ { 2, 142 },
+ { 2, 144 },
+ { 2, 146 },
+ { 2, 148 },
+ { 2, 150 },
+ { 2, 152 },
+ { 2, 154 },
+ { 2, 156 },
+ { 2, 158 },
+ { 2, 160 },
+ { 2, 162 },
+ { 2, 164 },
+ { 2, 166 },
+ { 2, 168 },
+ { 2, 170 },
+ { 2, 172 },
+ { 2, 174 },
+ { 2, 176 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 178 },
+ { 2, 180 },
+ { 2, 182 },
+ { 2, 184 },
+ { 2, 186 },
+ { 2, 188 },
+ { 2, 190 },
+ { 2, 192 },
+ { 2, 194 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 196 },
+ { 2, 198 },
+ { 2, 200 },
+ { 2, 202 },
+ { 0, 0 },
+ { 2, 204 },
+ { 2, 206 },
+ { 2, 208 },
+ { 2, 210 },
+ { 2, 212 },
+ { 2, 214 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 216 },
+ { 2, 218 },
+ { 2, 220 },
+ { 2, 222 },
+ { 2, 224 },
+ { 2, 226 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 228 },
+ { 2, 230 },
+ { 2, 232 },
+ { 2, 234 },
+ { 2, 236 },
+ { 2, 238 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 240 },
+ { 2, 242 },
+ { 2, 244 },
+ { 2, 246 },
+ { 2, 248 },
+ { 2, 250 },
+ { 2, 252 },
+ { 2, 254 },
+ { 2, 256 },
+ { 2, 258 },
+ { 2, 260 },
+ { 2, 262 },
+ { 2, 264 },
+ { 2, 266 },
+ { 2, 268 },
+ { 2, 270 },
+ { 2, 272 },
+ { 2, 274 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 276 },
+ { 2, 278 },
+ { 2, 280 },
+ { 2, 282 },
+ { 2, 284 },
+ { 2, 286 },
+ { 2, 288 },
+ { 2, 290 },
+ { 2, 292 },
+ { 2, 294 },
+ { 2, 296 },
+ { 2, 298 },
+ { 2, 300 },
+ { 2, 302 },
+ { 2, 304 },
+ { 2, 306 },
+ { 2, 308 },
+ { 2, 310 },
+ { 2, 312 },
+ { 2, 314 },
+ { 2, 316 },
+ { 2, 318 },
+ { 2, 320 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 322 },
+ { 2, 324 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 326 },
+ { 2, 328 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 330 },
+ { 2, 332 },
+ { 2, 334 },
+ { 2, 336 },
+ { 2, 338 },
+ { 2, 340 },
+ { 2, 342 },
+ { 2, 344 },
+ { 3, 346 },
+ { 3, 349 },
+ { 3, 352 },
+ { 3, 355 },
+ { 3, 358 },
+ { 3, 361 },
+ { 3, 364 },
+ { 3, 367 },
+ { 0, 0 },
+ { 3, 370 },
+ { 3, 373 },
+ { 3, 376 },
+ { 3, 379 },
+ { 2, 382 },
+ { 2, 384 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 386 },
+ { 2, 388 },
+ { 2, 390 },
+ { 2, 392 },
+ { 2, 394 },
+ { 2, 396 },
+ { 3, 398 },
+ { 3, 401 },
+ { 2, 404 },
+ { 2, 406 },
+ { 2, 408 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 410 },
+ { 2, 412 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 414 },
+ { 2, 416 },
+ { 3, 418 },
+ { 3, 421 },
+ { 2, 424 },
+ { 2, 426 },
+ { 2, 428 },
+ { 2, 430 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x2[256] = {
+ { 2, 432 },
+ { 2, 434 },
+ { 2, 436 },
+ { 2, 438 },
+ { 2, 440 },
+ { 2, 442 },
+ { 2, 444 },
+ { 2, 446 },
+ { 2, 448 },
+ { 2, 450 },
+ { 2, 452 },
+ { 2, 454 },
+ { 2, 456 },
+ { 2, 458 },
+ { 2, 460 },
+ { 2, 462 },
+ { 2, 464 },
+ { 2, 466 },
+ { 2, 468 },
+ { 2, 470 },
+ { 2, 472 },
+ { 2, 474 },
+ { 2, 476 },
+ { 2, 478 },
+ { 2, 480 },
+ { 2, 482 },
+ { 2, 484 },
+ { 2, 486 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 488 },
+ { 2, 490 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 492 },
+ { 2, 494 },
+ { 2, 496 },
+ { 2, 498 },
+ { 3, 500 },
+ { 3, 503 },
+ { 3, 506 },
+ { 3, 509 },
+ { 2, 512 },
+ { 2, 514 },
+ { 3, 516 },
+ { 3, 519 },
+ { 2, 522 },
+ { 2, 524 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x3[256] = {
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 1, 526 },
+ { 1, 527 },
+ { 0, 0 },
+ { 1, 528 },
+ { 2, 529 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 1, 531 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 1, 532 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 533 },
+ { 2, 535 },
+ { 1, 537 },
+ { 2, 538 },
+ { 2, 540 },
+ { 2, 542 },
+ { 0, 0 },
+ { 2, 544 },
+ { 0, 0 },
+ { 2, 546 },
+ { 2, 548 },
+ { 3, 550 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 553 },
+ { 2, 555 },
+ { 2, 557 },
+ { 2, 559 },
+ { 2, 561 },
+ { 2, 563 },
+ { 3, 565 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 568 },
+ { 2, 570 },
+ { 2, 572 },
+ { 2, 574 },
+ { 2, 576 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 578 },
+ { 2, 580 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x4[256] = {
+ { 2, 582 },
+ { 2, 584 },
+ { 0, 0 },
+ { 2, 586 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 588 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 590 },
+ { 2, 592 },
+ { 2, 594 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 596 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 598 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 600 },
+ { 2, 602 },
+ { 0, 0 },
+ { 2, 604 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 606 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 608 },
+ { 2, 610 },
+ { 2, 612 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 614 },
+ { 2, 616 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 618 },
+ { 2, 620 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 622 },
+ { 2, 624 },
+ { 2, 626 },
+ { 2, 628 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 630 },
+ { 2, 632 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 634 },
+ { 2, 636 },
+ { 2, 638 },
+ { 2, 640 },
+ { 2, 642 },
+ { 2, 644 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 646 },
+ { 2, 648 },
+ { 2, 650 },
+ { 2, 652 },
+ { 2, 654 },
+ { 2, 656 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 658 },
+ { 2, 660 },
+ { 2, 662 },
+ { 2, 664 },
+ { 2, 666 },
+ { 2, 668 },
+ { 2, 670 },
+ { 2, 672 },
+ { 2, 674 },
+ { 2, 676 },
+ { 2, 678 },
+ { 2, 680 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 682 },
+ { 2, 684 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x1e[256] = {
+ { 2, 828 },
+ { 2, 830 },
+ { 2, 832 },
+ { 2, 834 },
+ { 2, 836 },
+ { 2, 838 },
+ { 2, 840 },
+ { 2, 842 },
+ { 3, 844 },
+ { 3, 847 },
+ { 2, 850 },
+ { 2, 852 },
+ { 2, 854 },
+ { 2, 856 },
+ { 2, 858 },
+ { 2, 860 },
+ { 2, 862 },
+ { 2, 864 },
+ { 2, 866 },
+ { 2, 868 },
+ { 3, 870 },
+ { 3, 873 },
+ { 3, 876 },
+ { 3, 879 },
+ { 2, 882 },
+ { 2, 884 },
+ { 2, 886 },
+ { 2, 888 },
+ { 3, 890 },
+ { 3, 893 },
+ { 2, 896 },
+ { 2, 898 },
+ { 2, 900 },
+ { 2, 902 },
+ { 2, 904 },
+ { 2, 906 },
+ { 2, 908 },
+ { 2, 910 },
+ { 2, 912 },
+ { 2, 914 },
+ { 2, 916 },
+ { 2, 918 },
+ { 2, 920 },
+ { 2, 922 },
+ { 2, 924 },
+ { 2, 926 },
+ { 3, 928 },
+ { 3, 931 },
+ { 2, 934 },
+ { 2, 936 },
+ { 2, 938 },
+ { 2, 940 },
+ { 2, 942 },
+ { 2, 944 },
+ { 2, 946 },
+ { 2, 948 },
+ { 3, 950 },
+ { 3, 953 },
+ { 2, 956 },
+ { 2, 958 },
+ { 2, 960 },
+ { 2, 962 },
+ { 2, 964 },
+ { 2, 966 },
+ { 2, 968 },
+ { 2, 970 },
+ { 2, 972 },
+ { 2, 974 },
+ { 2, 976 },
+ { 2, 978 },
+ { 2, 980 },
+ { 2, 982 },
+ { 2, 984 },
+ { 2, 986 },
+ { 2, 988 },
+ { 2, 990 },
+ { 3, 992 },
+ { 3, 995 },
+ { 3, 998 },
+ { 3, 1001 },
+ { 3, 1004 },
+ { 3, 1007 },
+ { 3, 1010 },
+ { 3, 1013 },
+ { 2, 1016 },
+ { 2, 1018 },
+ { 2, 1020 },
+ { 2, 1022 },
+ { 2, 1024 },
+ { 2, 1026 },
+ { 2, 1028 },
+ { 2, 1030 },
+ { 3, 1032 },
+ { 3, 1035 },
+ { 2, 1038 },
+ { 2, 1040 },
+ { 2, 1042 },
+ { 2, 1044 },
+ { 2, 1046 },
+ { 2, 1048 },
+ { 3, 1050 },
+ { 3, 1053 },
+ { 3, 1056 },
+ { 3, 1059 },
+ { 3, 1062 },
+ { 3, 1065 },
+ { 2, 1068 },
+ { 2, 1070 },
+ { 2, 1072 },
+ { 2, 1074 },
+ { 2, 1076 },
+ { 2, 1078 },
+ { 2, 1080 },
+ { 2, 1082 },
+ { 2, 1084 },
+ { 2, 1086 },
+ { 2, 1088 },
+ { 2, 1090 },
+ { 2, 1092 },
+ { 2, 1094 },
+ { 3, 1096 },
+ { 3, 1099 },
+ { 3, 1102 },
+ { 3, 1105 },
+ { 2, 1108 },
+ { 2, 1110 },
+ { 2, 1112 },
+ { 2, 1114 },
+ { 2, 1116 },
+ { 2, 1118 },
+ { 2, 1120 },
+ { 2, 1122 },
+ { 2, 1124 },
+ { 2, 1126 },
+ { 2, 1128 },
+ { 2, 1130 },
+ { 2, 1132 },
+ { 2, 1134 },
+ { 2, 1136 },
+ { 2, 1138 },
+ { 2, 1140 },
+ { 2, 1142 },
+ { 2, 1144 },
+ { 2, 1146 },
+ { 2, 1148 },
+ { 2, 1150 },
+ { 2, 1152 },
+ { 2, 1154 },
+ { 2, 1156 },
+ { 2, 1158 },
+ { 2, 1160 },
+ { 2, 1162 },
+ { 2, 1164 },
+ { 2, 1166 },
+ { 0, 0 },
+ { 2, 1168 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 1170 },
+ { 2, 1172 },
+ { 2, 1174 },
+ { 2, 1176 },
+ { 3, 1178 },
+ { 3, 1181 },
+ { 3, 1184 },
+ { 3, 1187 },
+ { 3, 1190 },
+ { 3, 1193 },
+ { 3, 1196 },
+ { 3, 1199 },
+ { 3, 1202 },
+ { 3, 1205 },
+ { 3, 1208 },
+ { 3, 1211 },
+ { 3, 1214 },
+ { 3, 1217 },
+ { 3, 1220 },
+ { 3, 1223 },
+ { 3, 1226 },
+ { 3, 1229 },
+ { 3, 1232 },
+ { 3, 1235 },
+ { 2, 1238 },
+ { 2, 1240 },
+ { 2, 1242 },
+ { 2, 1244 },
+ { 2, 1246 },
+ { 2, 1248 },
+ { 3, 1250 },
+ { 3, 1253 },
+ { 3, 1256 },
+ { 3, 1259 },
+ { 3, 1262 },
+ { 3, 1265 },
+ { 3, 1268 },
+ { 3, 1271 },
+ { 3, 1274 },
+ { 3, 1277 },
+ { 2, 1280 },
+ { 2, 1282 },
+ { 2, 1284 },
+ { 2, 1286 },
+ { 2, 1288 },
+ { 2, 1290 },
+ { 2, 1292 },
+ { 2, 1294 },
+ { 3, 1296 },
+ { 3, 1299 },
+ { 3, 1302 },
+ { 3, 1305 },
+ { 3, 1308 },
+ { 3, 1311 },
+ { 3, 1314 },
+ { 3, 1317 },
+ { 3, 1320 },
+ { 3, 1323 },
+ { 3, 1326 },
+ { 3, 1329 },
+ { 3, 1332 },
+ { 3, 1335 },
+ { 3, 1338 },
+ { 3, 1341 },
+ { 3, 1344 },
+ { 3, 1347 },
+ { 3, 1350 },
+ { 3, 1353 },
+ { 2, 1356 },
+ { 2, 1358 },
+ { 2, 1360 },
+ { 2, 1362 },
+ { 3, 1364 },
+ { 3, 1367 },
+ { 3, 1370 },
+ { 3, 1373 },
+ { 3, 1376 },
+ { 3, 1379 },
+ { 3, 1382 },
+ { 3, 1385 },
+ { 3, 1388 },
+ { 3, 1391 },
+ { 2, 1394 },
+ { 2, 1396 },
+ { 2, 1398 },
+ { 2, 1400 },
+ { 2, 1402 },
+ { 2, 1404 },
+ { 2, 1406 },
+ { 2, 1408 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x1f[256] = {
+ { 2, 1410 },
+ { 2, 1412 },
+ { 3, 1414 },
+ { 3, 1417 },
+ { 3, 1420 },
+ { 3, 1423 },
+ { 3, 1426 },
+ { 3, 1429 },
+ { 2, 1432 },
+ { 2, 1434 },
+ { 3, 1436 },
+ { 3, 1439 },
+ { 3, 1442 },
+ { 3, 1445 },
+ { 3, 1448 },
+ { 3, 1451 },
+ { 2, 1454 },
+ { 2, 1456 },
+ { 3, 1458 },
+ { 3, 1461 },
+ { 3, 1464 },
+ { 3, 1467 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 1470 },
+ { 2, 1472 },
+ { 3, 1474 },
+ { 3, 1477 },
+ { 3, 1480 },
+ { 3, 1483 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 1486 },
+ { 2, 1488 },
+ { 3, 1490 },
+ { 3, 1493 },
+ { 3, 1496 },
+ { 3, 1499 },
+ { 3, 1502 },
+ { 3, 1505 },
+ { 2, 1508 },
+ { 2, 1510 },
+ { 3, 1512 },
+ { 3, 1515 },
+ { 3, 1518 },
+ { 3, 1521 },
+ { 3, 1524 },
+ { 3, 1527 },
+ { 2, 1530 },
+ { 2, 1532 },
+ { 3, 1534 },
+ { 3, 1537 },
+ { 3, 1540 },
+ { 3, 1543 },
+ { 3, 1546 },
+ { 3, 1549 },
+ { 2, 1552 },
+ { 2, 1554 },
+ { 3, 1556 },
+ { 3, 1559 },
+ { 3, 1562 },
+ { 3, 1565 },
+ { 3, 1568 },
+ { 3, 1571 },
+ { 2, 1574 },
+ { 2, 1576 },
+ { 3, 1578 },
+ { 3, 1581 },
+ { 3, 1584 },
+ { 3, 1587 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 1590 },
+ { 2, 1592 },
+ { 3, 1594 },
+ { 3, 1597 },
+ { 3, 1600 },
+ { 3, 1603 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 1606 },
+ { 2, 1608 },
+ { 3, 1610 },
+ { 3, 1613 },
+ { 3, 1616 },
+ { 3, 1619 },
+ { 3, 1622 },
+ { 3, 1625 },
+ { 0, 0 },
+ { 2, 1628 },
+ { 0, 0 },
+ { 3, 1630 },
+ { 0, 0 },
+ { 3, 1633 },
+ { 0, 0 },
+ { 3, 1636 },
+ { 2, 1639 },
+ { 2, 1641 },
+ { 3, 1643 },
+ { 3, 1646 },
+ { 3, 1649 },
+ { 3, 1652 },
+ { 3, 1655 },
+ { 3, 1658 },
+ { 2, 1661 },
+ { 2, 1663 },
+ { 3, 1665 },
+ { 3, 1668 },
+ { 3, 1671 },
+ { 3, 1674 },
+ { 3, 1677 },
+ { 3, 1680 },
+ { 2, 1683 },
+ { 2, 1685 },
+ { 2, 1687 },
+ { 2, 1689 },
+ { 2, 1691 },
+ { 2, 1693 },
+ { 2, 1695 },
+ { 2, 1697 },
+ { 2, 1699 },
+ { 2, 1701 },
+ { 2, 1703 },
+ { 2, 1705 },
+ { 2, 1707 },
+ { 2, 1709 },
+ { 0, 0 },
+ { 0, 0 },
+ { 3, 1711 },
+ { 3, 1714 },
+ { 4, 1717 },
+ { 4, 1721 },
+ { 4, 1725 },
+ { 4, 1729 },
+ { 4, 1733 },
+ { 4, 1737 },
+ { 3, 1741 },
+ { 3, 1744 },
+ { 4, 1747 },
+ { 4, 1751 },
+ { 4, 1755 },
+ { 4, 1759 },
+ { 4, 1763 },
+ { 4, 1767 },
+ { 3, 1771 },
+ { 3, 1774 },
+ { 4, 1777 },
+ { 4, 1781 },
+ { 4, 1785 },
+ { 4, 1789 },
+ { 4, 1793 },
+ { 4, 1797 },
+ { 3, 1801 },
+ { 3, 1804 },
+ { 4, 1807 },
+ { 4, 1811 },
+ { 4, 1815 },
+ { 4, 1819 },
+ { 4, 1823 },
+ { 4, 1827 },
+ { 3, 1831 },
+ { 3, 1834 },
+ { 4, 1837 },
+ { 4, 1841 },
+ { 4, 1845 },
+ { 4, 1849 },
+ { 4, 1853 },
+ { 4, 1857 },
+ { 3, 1861 },
+ { 3, 1864 },
+ { 4, 1867 },
+ { 4, 1871 },
+ { 4, 1875 },
+ { 4, 1879 },
+ { 4, 1883 },
+ { 4, 1887 },
+ { 2, 1891 },
+ { 2, 1893 },
+ { 3, 1895 },
+ { 2, 1898 },
+ { 3, 1900 },
+ { 0, 0 },
+ { 2, 1903 },
+ { 3, 1905 },
+ { 2, 1908 },
+ { 2, 1910 },
+ { 2, 1912 },
+ { 2, 1914 },
+ { 2, 1916 },
+ { 0, 0 },
+ { 1, 1918 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 1919 },
+ { 3, 1921 },
+ { 2, 1924 },
+ { 3, 1926 },
+ { 0, 0 },
+ { 2, 1929 },
+ { 3, 1931 },
+ { 2, 1934 },
+ { 2, 1936 },
+ { 2, 1938 },
+ { 2, 1940 },
+ { 2, 1942 },
+ { 2, 1944 },
+ { 2, 1946 },
+ { 2, 1948 },
+ { 2, 1950 },
+ { 2, 1952 },
+ { 3, 1954 },
+ { 3, 1957 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 1960 },
+ { 3, 1962 },
+ { 2, 1965 },
+ { 2, 1967 },
+ { 2, 1969 },
+ { 2, 1971 },
+ { 0, 0 },
+ { 2, 1973 },
+ { 2, 1975 },
+ { 2, 1977 },
+ { 2, 1979 },
+ { 2, 1981 },
+ { 3, 1983 },
+ { 3, 1986 },
+ { 2, 1989 },
+ { 2, 1991 },
+ { 2, 1993 },
+ { 3, 1995 },
+ { 2, 1998 },
+ { 2, 2000 },
+ { 2, 2002 },
+ { 2, 2004 },
+ { 2, 2006 },
+ { 2, 2008 },
+ { 2, 2010 },
+ { 1, 2012 },
+ { 0, 0 },
+ { 0, 0 },
+ { 3, 2013 },
+ { 2, 2016 },
+ { 3, 2018 },
+ { 0, 0 },
+ { 2, 2021 },
+ { 3, 2023 },
+ { 2, 2026 },
+ { 2, 2028 },
+ { 2, 2030 },
+ { 2, 2032 },
+ { 2, 2034 },
+ { 1, 2036 },
+ { 0, 0 },
+ { 0, 0 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x22[256] = {
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2055 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2057 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2059 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2061 },
+ { 0, 0 },
+ { 2, 2063 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2065 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2067 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2069 },
+ { 0, 0 },
+ { 2, 2071 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2073 },
+ { 0, 0 },
+ { 2, 2075 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2077 },
+ { 2, 2079 },
+ { 2, 2081 },
+ { 2, 2083 },
+ { 2, 2085 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2087 },
+ { 2, 2089 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2091 },
+ { 2, 2093 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2095 },
+ { 2, 2097 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2099 },
+ { 2, 2101 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2103 },
+ { 2, 2105 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2107 },
+ { 2, 2109 },
+ { 2, 2111 },
+ { 2, 2113 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2115 },
+ { 2, 2117 },
+ { 2, 2119 },
+ { 2, 2121 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2123 },
+ { 2, 2125 },
+ { 2, 2127 },
+ { 2, 2129 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x30[256] = {
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2135 },
+ { 0, 0 },
+ { 2, 2137 },
+ { 0, 0 },
+ { 2, 2139 },
+ { 0, 0 },
+ { 2, 2141 },
+ { 0, 0 },
+ { 2, 2143 },
+ { 0, 0 },
+ { 2, 2145 },
+ { 0, 0 },
+ { 2, 2147 },
+ { 0, 0 },
+ { 2, 2149 },
+ { 0, 0 },
+ { 2, 2151 },
+ { 0, 0 },
+ { 2, 2153 },
+ { 0, 0 },
+ { 2, 2155 },
+ { 0, 0 },
+ { 2, 2157 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2159 },
+ { 0, 0 },
+ { 2, 2161 },
+ { 0, 0 },
+ { 2, 2163 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2165 },
+ { 2, 2167 },
+ { 0, 0 },
+ { 2, 2169 },
+ { 2, 2171 },
+ { 0, 0 },
+ { 2, 2173 },
+ { 2, 2175 },
+ { 0, 0 },
+ { 2, 2177 },
+ { 2, 2179 },
+ { 0, 0 },
+ { 2, 2181 },
+ { 2, 2183 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2185 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2187 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2189 },
+ { 0, 0 },
+ { 2, 2191 },
+ { 0, 0 },
+ { 2, 2193 },
+ { 0, 0 },
+ { 2, 2195 },
+ { 0, 0 },
+ { 2, 2197 },
+ { 0, 0 },
+ { 2, 2199 },
+ { 0, 0 },
+ { 2, 2201 },
+ { 0, 0 },
+ { 2, 2203 },
+ { 0, 0 },
+ { 2, 2205 },
+ { 0, 0 },
+ { 2, 2207 },
+ { 0, 0 },
+ { 2, 2209 },
+ { 0, 0 },
+ { 2, 2211 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2213 },
+ { 0, 0 },
+ { 2, 2215 },
+ { 0, 0 },
+ { 2, 2217 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2219 },
+ { 2, 2221 },
+ { 0, 0 },
+ { 2, 2223 },
+ { 2, 2225 },
+ { 0, 0 },
+ { 2, 2227 },
+ { 2, 2229 },
+ { 0, 0 },
+ { 2, 2231 },
+ { 2, 2233 },
+ { 0, 0 },
+ { 2, 2235 },
+ { 2, 2237 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2239 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2241 },
+ { 2, 2243 },
+ { 2, 2245 },
+ { 2, 2247 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2249 },
+ { 0, 0 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0xf9[256] = {
+ { 1, 2251 },
+ { 1, 2252 },
+ { 1, 2253 },
+ { 1, 2254 },
+ { 1, 2255 },
+ { 1, 2256 },
+ { 1, 2257 },
+ { 1, 2258 },
+ { 1, 2259 },
+ { 1, 2260 },
+ { 1, 2261 },
+ { 1, 2262 },
+ { 1, 2263 },
+ { 1, 2264 },
+ { 1, 2265 },
+ { 1, 2266 },
+ { 1, 2267 },
+ { 1, 2268 },
+ { 1, 2269 },
+ { 1, 2270 },
+ { 1, 2271 },
+ { 1, 2272 },
+ { 1, 2273 },
+ { 1, 2274 },
+ { 1, 2275 },
+ { 1, 2276 },
+ { 1, 2277 },
+ { 1, 2278 },
+ { 1, 2279 },
+ { 1, 2280 },
+ { 1, 2281 },
+ { 1, 2282 },
+ { 1, 2283 },
+ { 1, 2284 },
+ { 1, 2285 },
+ { 1, 2286 },
+ { 1, 2287 },
+ { 1, 2288 },
+ { 1, 2289 },
+ { 1, 2290 },
+ { 1, 2291 },
+ { 1, 2292 },
+ { 1, 2293 },
+ { 1, 2294 },
+ { 1, 2295 },
+ { 1, 2296 },
+ { 1, 2297 },
+ { 1, 2298 },
+ { 1, 2299 },
+ { 1, 2300 },
+ { 1, 2301 },
+ { 1, 2302 },
+ { 1, 2303 },
+ { 1, 2304 },
+ { 1, 2305 },
+ { 1, 2306 },
+ { 1, 2307 },
+ { 1, 2308 },
+ { 1, 2309 },
+ { 1, 2310 },
+ { 1, 2311 },
+ { 1, 2312 },
+ { 1, 2313 },
+ { 1, 2314 },
+ { 1, 2315 },
+ { 1, 2316 },
+ { 1, 2317 },
+ { 1, 2318 },
+ { 1, 2319 },
+ { 1, 2320 },
+ { 1, 2321 },
+ { 1, 2322 },
+ { 1, 2323 },
+ { 1, 2324 },
+ { 1, 2325 },
+ { 1, 2326 },
+ { 1, 2327 },
+ { 1, 2328 },
+ { 1, 2329 },
+ { 1, 2330 },
+ { 1, 2331 },
+ { 1, 2332 },
+ { 1, 2333 },
+ { 1, 2334 },
+ { 1, 2335 },
+ { 1, 2336 },
+ { 1, 2337 },
+ { 1, 2338 },
+ { 1, 2339 },
+ { 1, 2340 },
+ { 1, 2341 },
+ { 1, 2342 },
+ { 1, 2343 },
+ { 1, 2344 },
+ { 1, 2345 },
+ { 1, 2346 },
+ { 1, 2347 },
+ { 1, 2348 },
+ { 1, 2349 },
+ { 1, 2350 },
+ { 1, 2351 },
+ { 1, 2352 },
+ { 1, 2353 },
+ { 1, 2354 },
+ { 1, 2355 },
+ { 1, 2356 },
+ { 1, 2357 },
+ { 1, 2358 },
+ { 1, 2359 },
+ { 1, 2360 },
+ { 1, 2361 },
+ { 1, 2362 },
+ { 1, 2363 },
+ { 1, 2364 },
+ { 1, 2365 },
+ { 1, 2366 },
+ { 1, 2367 },
+ { 1, 2368 },
+ { 1, 2369 },
+ { 1, 2370 },
+ { 1, 2371 },
+ { 1, 2372 },
+ { 1, 2373 },
+ { 1, 2374 },
+ { 1, 2375 },
+ { 1, 2376 },
+ { 1, 2377 },
+ { 1, 2378 },
+ { 1, 2379 },
+ { 1, 2380 },
+ { 1, 2381 },
+ { 1, 2382 },
+ { 1, 2383 },
+ { 1, 2384 },
+ { 1, 2385 },
+ { 1, 2386 },
+ { 1, 2387 },
+ { 1, 2388 },
+ { 1, 2389 },
+ { 1, 2390 },
+ { 1, 2391 },
+ { 1, 2392 },
+ { 1, 2393 },
+ { 1, 2394 },
+ { 1, 2395 },
+ { 1, 2396 },
+ { 1, 2397 },
+ { 1, 2398 },
+ { 1, 2399 },
+ { 1, 2400 },
+ { 1, 2401 },
+ { 1, 2402 },
+ { 1, 2403 },
+ { 1, 2404 },
+ { 1, 2405 },
+ { 1, 2406 },
+ { 1, 2407 },
+ { 1, 2408 },
+ { 1, 2409 },
+ { 1, 2410 },
+ { 1, 2411 },
+ { 1, 2412 },
+ { 1, 2413 },
+ { 1, 2414 },
+ { 1, 2415 },
+ { 1, 2416 },
+ { 1, 2417 },
+ { 1, 2418 },
+ { 1, 2419 },
+ { 1, 2420 },
+ { 1, 2421 },
+ { 1, 2422 },
+ { 1, 2423 },
+ { 1, 2424 },
+ { 1, 2425 },
+ { 1, 2426 },
+ { 1, 2427 },
+ { 1, 2428 },
+ { 1, 2429 },
+ { 1, 2430 },
+ { 1, 2431 },
+ { 1, 2432 },
+ { 1, 2433 },
+ { 1, 2434 },
+ { 1, 2435 },
+ { 1, 2436 },
+ { 1, 2437 },
+ { 1, 2438 },
+ { 1, 2439 },
+ { 1, 2440 },
+ { 1, 2441 },
+ { 1, 2442 },
+ { 1, 2443 },
+ { 1, 2444 },
+ { 1, 2445 },
+ { 1, 2446 },
+ { 1, 2447 },
+ { 1, 2448 },
+ { 1, 2449 },
+ { 1, 2450 },
+ { 1, 2451 },
+ { 1, 2452 },
+ { 1, 2453 },
+ { 1, 2454 },
+ { 1, 2455 },
+ { 1, 2456 },
+ { 1, 2457 },
+ { 1, 2458 },
+ { 1, 2459 },
+ { 1, 2460 },
+ { 1, 2461 },
+ { 1, 2462 },
+ { 1, 2463 },
+ { 1, 2464 },
+ { 1, 2465 },
+ { 1, 2466 },
+ { 1, 2467 },
+ { 1, 2468 },
+ { 1, 2469 },
+ { 1, 2470 },
+ { 1, 2471 },
+ { 1, 2472 },
+ { 1, 2473 },
+ { 1, 2474 },
+ { 1, 2475 },
+ { 1, 2476 },
+ { 1, 2477 },
+ { 1, 2478 },
+ { 1, 2479 },
+ { 1, 2480 },
+ { 1, 2481 },
+ { 1, 2482 },
+ { 1, 2483 },
+ { 1, 2484 },
+ { 1, 2485 },
+ { 1, 2486 },
+ { 1, 2487 },
+ { 1, 2488 },
+ { 1, 2489 },
+ { 1, 2490 },
+ { 1, 2491 },
+ { 1, 2492 },
+ { 1, 2493 },
+ { 1, 2494 },
+ { 1, 2495 },
+ { 1, 2496 },
+ { 1, 2497 },
+ { 1, 2498 },
+ { 1, 2499 },
+ { 1, 2500 },
+ { 1, 2501 },
+ { 1, 2502 },
+ { 1, 2503 },
+ { 1, 2504 },
+ { 1, 2505 },
+ { 1, 2506 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0xfa[256] = {
+ { 1, 2507 },
+ { 1, 2508 },
+ { 1, 2509 },
+ { 1, 2510 },
+ { 1, 2511 },
+ { 1, 2512 },
+ { 1, 2513 },
+ { 1, 2514 },
+ { 1, 2515 },
+ { 1, 2516 },
+ { 1, 2517 },
+ { 1, 2518 },
+ { 1, 2519 },
+ { 1, 2520 },
+ { 0, 0 },
+ { 0, 0 },
+ { 1, 2521 },
+ { 0, 0 },
+ { 1, 2522 },
+ { 0, 0 },
+ { 0, 0 },
+ { 1, 2523 },
+ { 1, 2524 },
+ { 1, 2525 },
+ { 1, 2526 },
+ { 1, 2527 },
+ { 1, 2528 },
+ { 1, 2529 },
+ { 1, 2530 },
+ { 1, 2531 },
+ { 1, 2532 },
+ { 0, 0 },
+ { 1, 2533 },
+ { 0, 0 },
+ { 1, 2534 },
+ { 0, 0 },
+ { 0, 0 },
+ { 1, 2535 },
+ { 1, 2536 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 1, 2537 },
+ { 1, 2538 },
+ { 1, 2539 },
+ { 1, 2540 },
+ { 0, 0 },
+ { 0, 0 },
+ { 1, 2541 },
+ { 1, 2542 },
+ { 1, 2543 },
+ { 1, 2544 },
+ { 1, 2545 },
+ { 1, 2546 },
+ { 1, 2547 },
+ { 1, 2548 },
+ { 1, 2549 },
+ { 1, 2550 },
+ { 1, 2551 },
+ { 1, 2552 },
+ { 1, 2553 },
+ { 1, 2554 },
+ { 1, 2555 },
+ { 1, 2556 },
+ { 1, 2557 },
+ { 1, 2558 },
+ { 1, 2559 },
+ { 1, 2560 },
+ { 1, 2561 },
+ { 1, 2562 },
+ { 1, 2563 },
+ { 1, 2564 },
+ { 1, 2565 },
+ { 1, 2566 },
+ { 1, 2567 },
+ { 1, 2568 },
+ { 1, 2569 },
+ { 1, 2570 },
+ { 1, 2571 },
+ { 1, 2572 },
+ { 1, 2573 },
+ { 1, 2574 },
+ { 1, 2575 },
+ { 1, 2576 },
+ { 1, 2577 },
+ { 1, 2578 },
+ { 1, 2579 },
+ { 1, 2580 },
+ { 1, 2581 },
+ { 1, 2582 },
+ { 1, 2583 },
+ { 1, 2584 },
+ { 1, 2585 },
+ { 1, 2586 },
+ { 1, 2587 },
+ { 1, 2588 },
+ { 1, 2589 },
+ { 1, 2590 },
+ { 1, 2591 },
+ { 1, 2592 },
+ { 1, 2593 },
+ { 1, 2594 },
+ { 1, 2595 },
+ { 1, 2596 },
+ { 1, 2597 },
+ { 1, 2598 },
+ { 1, 2599 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0xfb[256] = {
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2600 },
+ { 0, 0 },
+ { 2, 2602 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 2, 2604 },
+ { 2, 2606 },
+ { 3, 2608 },
+ { 3, 2611 },
+ { 2, 2614 },
+ { 2, 2616 },
+ { 2, 2618 },
+ { 2, 2620 },
+ { 2, 2622 },
+ { 2, 2624 },
+ { 2, 2626 },
+ { 2, 2628 },
+ { 2, 2630 },
+ { 0, 0 },
+ { 2, 2632 },
+ { 2, 2634 },
+ { 2, 2636 },
+ { 2, 2638 },
+ { 2, 2640 },
+ { 0, 0 },
+ { 2, 2642 },
+ { 0, 0 },
+ { 2, 2644 },
+ { 2, 2646 },
+ { 0, 0 },
+ { 2, 2648 },
+ { 2, 2650 },
+ { 0, 0 },
+ { 2, 2652 },
+ { 2, 2654 },
+ { 2, 2656 },
+ { 2, 2658 },
+ { 2, 2660 },
+ { 2, 2662 },
+ { 2, 2664 },
+ { 2, 2666 },
+ { 2, 2668 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x2f8[256] = {
+ { 1, 2705 },
+ { 1, 2706 },
+ { 1, 2707 },
+ { 1, 2708 },
+ { 1, 2709 },
+ { 1, 2710 },
+ { 1, 2711 },
+ { 1, 2712 },
+ { 1, 2713 },
+ { 1, 2714 },
+ { 1, 2715 },
+ { 1, 2716 },
+ { 1, 2717 },
+ { 1, 2718 },
+ { 1, 2719 },
+ { 1, 2720 },
+ { 1, 2721 },
+ { 1, 2722 },
+ { 1, 2723 },
+ { 1, 2724 },
+ { 1, 2725 },
+ { 1, 2726 },
+ { 1, 2727 },
+ { 1, 2728 },
+ { 1, 2729 },
+ { 1, 2730 },
+ { 1, 2731 },
+ { 1, 2732 },
+ { 1, 2733 },
+ { 1, 2734 },
+ { 1, 2735 },
+ { 1, 2736 },
+ { 1, 2737 },
+ { 1, 2738 },
+ { 1, 2739 },
+ { 1, 2740 },
+ { 1, 2741 },
+ { 1, 2742 },
+ { 1, 2743 },
+ { 1, 2744 },
+ { 1, 2745 },
+ { 1, 2746 },
+ { 1, 2747 },
+ { 1, 2748 },
+ { 1, 2749 },
+ { 1, 2750 },
+ { 1, 2751 },
+ { 1, 2752 },
+ { 1, 2753 },
+ { 1, 2754 },
+ { 1, 2755 },
+ { 1, 2756 },
+ { 1, 2757 },
+ { 1, 2758 },
+ { 1, 2759 },
+ { 1, 2760 },
+ { 1, 2761 },
+ { 1, 2762 },
+ { 1, 2763 },
+ { 1, 2764 },
+ { 1, 2765 },
+ { 1, 2766 },
+ { 1, 2767 },
+ { 1, 2768 },
+ { 1, 2769 },
+ { 1, 2770 },
+ { 1, 2771 },
+ { 1, 2772 },
+ { 1, 2773 },
+ { 1, 2774 },
+ { 1, 2775 },
+ { 1, 2776 },
+ { 1, 2777 },
+ { 1, 2778 },
+ { 1, 2779 },
+ { 1, 2780 },
+ { 1, 2781 },
+ { 1, 2782 },
+ { 1, 2783 },
+ { 1, 2784 },
+ { 1, 2785 },
+ { 1, 2786 },
+ { 1, 2787 },
+ { 1, 2788 },
+ { 1, 2789 },
+ { 1, 2790 },
+ { 1, 2791 },
+ { 1, 2792 },
+ { 1, 2793 },
+ { 1, 2794 },
+ { 1, 2795 },
+ { 1, 2796 },
+ { 1, 2797 },
+ { 1, 2798 },
+ { 1, 2799 },
+ { 1, 2800 },
+ { 1, 2801 },
+ { 1, 2802 },
+ { 1, 2803 },
+ { 1, 2804 },
+ { 1, 2805 },
+ { 1, 2806 },
+ { 1, 2807 },
+ { 1, 2808 },
+ { 1, 2809 },
+ { 1, 2810 },
+ { 1, 2811 },
+ { 1, 2812 },
+ { 1, 2813 },
+ { 1, 2814 },
+ { 1, 2815 },
+ { 1, 2816 },
+ { 1, 2817 },
+ { 1, 2818 },
+ { 1, 2819 },
+ { 1, 2820 },
+ { 1, 2821 },
+ { 1, 2822 },
+ { 1, 2823 },
+ { 1, 2824 },
+ { 1, 2825 },
+ { 1, 2826 },
+ { 1, 2827 },
+ { 1, 2828 },
+ { 1, 2829 },
+ { 1, 2830 },
+ { 1, 2831 },
+ { 1, 2832 },
+ { 1, 2833 },
+ { 1, 2834 },
+ { 1, 2835 },
+ { 1, 2836 },
+ { 1, 2837 },
+ { 1, 2838 },
+ { 1, 2839 },
+ { 1, 2840 },
+ { 1, 2841 },
+ { 1, 2842 },
+ { 1, 2843 },
+ { 1, 2844 },
+ { 1, 2845 },
+ { 1, 2846 },
+ { 1, 2847 },
+ { 1, 2848 },
+ { 1, 2849 },
+ { 1, 2850 },
+ { 1, 2851 },
+ { 1, 2852 },
+ { 1, 2853 },
+ { 1, 2854 },
+ { 1, 2855 },
+ { 1, 2856 },
+ { 1, 2857 },
+ { 1, 2858 },
+ { 1, 2859 },
+ { 1, 2860 },
+ { 1, 2861 },
+ { 1, 2862 },
+ { 1, 2863 },
+ { 1, 2864 },
+ { 1, 2865 },
+ { 1, 2866 },
+ { 1, 2867 },
+ { 1, 2868 },
+ { 1, 2869 },
+ { 1, 2870 },
+ { 1, 2871 },
+ { 1, 2872 },
+ { 1, 2873 },
+ { 1, 2874 },
+ { 1, 2875 },
+ { 1, 2876 },
+ { 1, 2877 },
+ { 1, 2878 },
+ { 1, 2879 },
+ { 1, 2880 },
+ { 1, 2881 },
+ { 1, 2882 },
+ { 1, 2883 },
+ { 1, 2884 },
+ { 1, 2885 },
+ { 1, 2886 },
+ { 1, 2887 },
+ { 1, 2888 },
+ { 1, 2889 },
+ { 1, 2890 },
+ { 1, 2891 },
+ { 1, 2892 },
+ { 1, 2893 },
+ { 1, 2894 },
+ { 1, 2895 },
+ { 1, 2896 },
+ { 1, 2897 },
+ { 1, 2898 },
+ { 1, 2899 },
+ { 1, 2900 },
+ { 1, 2901 },
+ { 1, 2902 },
+ { 1, 2903 },
+ { 1, 2904 },
+ { 1, 2905 },
+ { 1, 2906 },
+ { 1, 2907 },
+ { 1, 2908 },
+ { 1, 2909 },
+ { 1, 2910 },
+ { 1, 2911 },
+ { 1, 2912 },
+ { 1, 2913 },
+ { 1, 2914 },
+ { 1, 2915 },
+ { 1, 2916 },
+ { 1, 2917 },
+ { 1, 2918 },
+ { 1, 2919 },
+ { 1, 2920 },
+ { 1, 2921 },
+ { 1, 2922 },
+ { 1, 2923 },
+ { 1, 2924 },
+ { 1, 2925 },
+ { 1, 2926 },
+ { 1, 2927 },
+ { 1, 2928 },
+ { 1, 2929 },
+ { 1, 2930 },
+ { 1, 2931 },
+ { 1, 2932 },
+ { 1, 2933 },
+ { 1, 2934 },
+ { 1, 2935 },
+ { 1, 2936 },
+ { 1, 2937 },
+ { 1, 2938 },
+ { 1, 2939 },
+ { 1, 2940 },
+ { 1, 2941 },
+ { 1, 2942 },
+ { 1, 2943 },
+ { 1, 2944 },
+ { 1, 2945 },
+ { 1, 2946 },
+ { 1, 2947 },
+ { 1, 2948 },
+ { 1, 2949 },
+ { 1, 2950 },
+ { 1, 2951 },
+ { 1, 2952 },
+ { 1, 2953 },
+ { 1, 2954 },
+ { 1, 2955 },
+ { 1, 2956 },
+ { 1, 2957 },
+ { 1, 2958 },
+ { 1, 2959 },
+ { 1, 2960 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x2f9[256] = {
+ { 1, 2961 },
+ { 1, 2962 },
+ { 1, 2963 },
+ { 1, 2964 },
+ { 1, 2965 },
+ { 1, 2966 },
+ { 1, 2967 },
+ { 1, 2968 },
+ { 1, 2969 },
+ { 1, 2970 },
+ { 1, 2971 },
+ { 1, 2972 },
+ { 1, 2973 },
+ { 1, 2974 },
+ { 1, 2975 },
+ { 1, 2976 },
+ { 1, 2977 },
+ { 1, 2978 },
+ { 1, 2979 },
+ { 1, 2980 },
+ { 1, 2981 },
+ { 1, 2982 },
+ { 1, 2983 },
+ { 1, 2984 },
+ { 1, 2985 },
+ { 1, 2986 },
+ { 1, 2987 },
+ { 1, 2988 },
+ { 1, 2989 },
+ { 1, 2990 },
+ { 1, 2991 },
+ { 1, 2992 },
+ { 1, 2993 },
+ { 1, 2994 },
+ { 1, 2995 },
+ { 1, 2996 },
+ { 1, 2997 },
+ { 1, 2998 },
+ { 1, 2999 },
+ { 1, 3000 },
+ { 1, 3001 },
+ { 1, 3002 },
+ { 1, 3003 },
+ { 1, 3004 },
+ { 1, 3005 },
+ { 1, 3006 },
+ { 1, 3007 },
+ { 1, 3008 },
+ { 1, 3009 },
+ { 1, 3010 },
+ { 1, 3011 },
+ { 1, 3012 },
+ { 1, 3013 },
+ { 1, 3014 },
+ { 1, 3015 },
+ { 1, 3016 },
+ { 1, 3017 },
+ { 1, 3018 },
+ { 1, 3019 },
+ { 1, 3020 },
+ { 1, 3021 },
+ { 1, 3022 },
+ { 1, 3023 },
+ { 1, 3024 },
+ { 1, 3025 },
+ { 1, 3026 },
+ { 1, 3027 },
+ { 1, 3028 },
+ { 1, 3029 },
+ { 1, 3030 },
+ { 1, 3031 },
+ { 1, 3032 },
+ { 1, 3033 },
+ { 1, 3034 },
+ { 1, 3035 },
+ { 1, 3036 },
+ { 1, 3037 },
+ { 1, 3038 },
+ { 1, 3039 },
+ { 1, 3040 },
+ { 1, 3041 },
+ { 1, 3042 },
+ { 1, 3043 },
+ { 1, 3044 },
+ { 1, 3045 },
+ { 1, 3046 },
+ { 1, 3047 },
+ { 1, 3048 },
+ { 1, 3049 },
+ { 1, 3050 },
+ { 1, 3051 },
+ { 1, 3052 },
+ { 1, 3053 },
+ { 1, 3054 },
+ { 1, 3055 },
+ { 1, 3056 },
+ { 1, 3057 },
+ { 1, 3058 },
+ { 1, 3059 },
+ { 1, 3060 },
+ { 1, 3061 },
+ { 1, 3062 },
+ { 1, 3063 },
+ { 1, 3064 },
+ { 1, 3065 },
+ { 1, 3066 },
+ { 1, 3067 },
+ { 1, 3068 },
+ { 1, 3069 },
+ { 1, 3070 },
+ { 1, 3071 },
+ { 1, 3072 },
+ { 1, 3073 },
+ { 1, 3074 },
+ { 1, 3075 },
+ { 1, 3076 },
+ { 1, 3077 },
+ { 1, 3078 },
+ { 1, 3079 },
+ { 1, 3080 },
+ { 1, 3081 },
+ { 1, 3082 },
+ { 1, 3083 },
+ { 1, 3084 },
+ { 1, 3085 },
+ { 1, 3086 },
+ { 1, 3087 },
+ { 1, 3088 },
+ { 1, 3089 },
+ { 1, 3090 },
+ { 1, 3091 },
+ { 1, 3092 },
+ { 1, 3093 },
+ { 1, 3094 },
+ { 1, 3095 },
+ { 1, 3096 },
+ { 1, 3097 },
+ { 1, 3098 },
+ { 1, 3099 },
+ { 1, 3100 },
+ { 1, 3101 },
+ { 1, 3102 },
+ { 1, 3103 },
+ { 1, 3104 },
+ { 1, 3105 },
+ { 1, 3106 },
+ { 1, 3107 },
+ { 1, 3108 },
+ { 1, 3109 },
+ { 1, 3110 },
+ { 1, 3111 },
+ { 1, 3112 },
+ { 1, 3113 },
+ { 1, 3114 },
+ { 1, 3115 },
+ { 1, 3116 },
+ { 1, 3117 },
+ { 1, 3118 },
+ { 1, 3119 },
+ { 1, 3120 },
+ { 1, 3121 },
+ { 1, 3122 },
+ { 1, 3123 },
+ { 1, 3124 },
+ { 1, 3125 },
+ { 1, 3126 },
+ { 1, 3127 },
+ { 1, 3128 },
+ { 1, 3129 },
+ { 1, 3130 },
+ { 1, 3131 },
+ { 1, 3132 },
+ { 1, 3133 },
+ { 1, 3134 },
+ { 1, 3135 },
+ { 1, 3136 },
+ { 1, 3137 },
+ { 1, 3138 },
+ { 1, 3139 },
+ { 1, 3140 },
+ { 1, 3141 },
+ { 1, 3142 },
+ { 1, 3143 },
+ { 1, 3144 },
+ { 1, 3145 },
+ { 1, 3146 },
+ { 1, 3147 },
+ { 1, 3148 },
+ { 1, 3149 },
+ { 1, 3150 },
+ { 1, 3151 },
+ { 1, 3152 },
+ { 1, 3153 },
+ { 1, 3154 },
+ { 1, 3155 },
+ { 1, 3156 },
+ { 1, 3157 },
+ { 1, 3158 },
+ { 1, 3159 },
+ { 1, 3160 },
+ { 1, 3161 },
+ { 1, 3162 },
+ { 1, 3163 },
+ { 1, 3164 },
+ { 1, 3165 },
+ { 1, 3166 },
+ { 1, 3167 },
+ { 1, 3168 },
+ { 1, 3169 },
+ { 1, 3170 },
+ { 1, 3171 },
+ { 1, 3172 },
+ { 1, 3173 },
+ { 1, 3174 },
+ { 1, 3175 },
+ { 1, 3176 },
+ { 1, 3177 },
+ { 1, 3178 },
+ { 1, 3179 },
+ { 1, 3180 },
+ { 1, 3181 },
+ { 1, 3182 },
+ { 1, 3183 },
+ { 1, 3184 },
+ { 1, 3185 },
+ { 1, 3186 },
+ { 1, 3187 },
+ { 1, 3188 },
+ { 1, 3189 },
+ { 1, 3190 },
+ { 1, 3191 },
+ { 1, 3192 },
+ { 1, 3193 },
+ { 1, 3194 },
+ { 1, 3195 },
+ { 1, 3196 },
+ { 1, 3197 },
+ { 1, 3198 },
+ { 1, 3199 },
+ { 1, 3200 },
+ { 1, 3201 },
+ { 1, 3202 },
+ { 1, 3203 },
+ { 1, 3204 },
+ { 1, 3205 },
+ { 1, 3206 },
+ { 1, 3207 },
+ { 1, 3208 },
+ { 1, 3209 },
+ { 1, 3210 },
+ { 1, 3211 },
+ { 1, 3212 },
+ { 1, 3213 },
+ { 1, 3214 },
+ { 1, 3215 },
+ { 1, 3216 },
+};
+
+gli_decomp_block_t unigen_decomp_block_0x2fa[256] = {
+ { 1, 3217 },
+ { 1, 3218 },
+ { 1, 3219 },
+ { 1, 3220 },
+ { 1, 3221 },
+ { 1, 3222 },
+ { 1, 3223 },
+ { 1, 3224 },
+ { 1, 3225 },
+ { 1, 3226 },
+ { 1, 3227 },
+ { 1, 3228 },
+ { 1, 3229 },
+ { 1, 3230 },
+ { 1, 3231 },
+ { 1, 3232 },
+ { 1, 3233 },
+ { 1, 3234 },
+ { 1, 3235 },
+ { 1, 3236 },
+ { 1, 3237 },
+ { 1, 3238 },
+ { 1, 3239 },
+ { 1, 3240 },
+ { 1, 3241 },
+ { 1, 3242 },
+ { 1, 3243 },
+ { 1, 3244 },
+ { 1, 3245 },
+ { 1, 3246 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+ { 0, 0 },
+};
+
+#define GET_DECOMP_BLOCK(ch, blockptr) \
+switch ((glui32)(ch) >> 8) { \
+ case 0x0: \
+ *blockptr = unigen_decomp_block_0x0; \
+ break; \
+ case 0x1: \
+ *blockptr = unigen_decomp_block_0x1; \
+ break; \
+ case 0x2: \
+ *blockptr = unigen_decomp_block_0x2; \
+ break; \
+ case 0x3: \
+ *blockptr = unigen_decomp_block_0x3; \
+ break; \
+ case 0x4: \
+ *blockptr = unigen_decomp_block_0x4; \
+ break; \
+ case 0x1e: \
+ *blockptr = unigen_decomp_block_0x1e; \
+ break; \
+ case 0x1f: \
+ *blockptr = unigen_decomp_block_0x1f; \
+ break; \
+ case 0x22: \
+ *blockptr = unigen_decomp_block_0x22; \
+ break; \
+ case 0x30: \
+ *blockptr = unigen_decomp_block_0x30; \
+ break; \
+ case 0xf9: \
+ *blockptr = unigen_decomp_block_0xf9; \
+ break; \
+ case 0xfa: \
+ *blockptr = unigen_decomp_block_0xfa; \
+ break; \
+ case 0xfb: \
+ *blockptr = unigen_decomp_block_0xfb; \
+ break; \
+ case 0x2f8: \
+ *blockptr = unigen_decomp_block_0x2f8; \
+ break; \
+ case 0x2f9: \
+ *blockptr = unigen_decomp_block_0x2f9; \
+ break; \
+ case 0x2fa: \
+ *blockptr = unigen_decomp_block_0x2fa; \
+ break; \
+ default: \
+ *blockptr = NULL; \
+}
+
+#define GET_DECOMP_SPECIAL(ch, countptr, posptr) \
+switch (ch) { \
+ case 0x622: \
+ *countptr = 2; *posptr = 686; \
+ break; \
+ case 0x623: \
+ *countptr = 2; *posptr = 688; \
+ break; \
+ case 0x624: \
+ *countptr = 2; *posptr = 690; \
+ break; \
+ case 0x625: \
+ *countptr = 2; *posptr = 692; \
+ break; \
+ case 0x626: \
+ *countptr = 2; *posptr = 694; \
+ break; \
+ case 0x6c0: \
+ *countptr = 2; *posptr = 696; \
+ break; \
+ case 0x6c2: \
+ *countptr = 2; *posptr = 698; \
+ break; \
+ case 0x6d3: \
+ *countptr = 2; *posptr = 700; \
+ break; \
+ case 0x929: \
+ *countptr = 2; *posptr = 702; \
+ break; \
+ case 0x931: \
+ *countptr = 2; *posptr = 704; \
+ break; \
+ case 0x934: \
+ *countptr = 2; *posptr = 706; \
+ break; \
+ case 0x958: \
+ *countptr = 2; *posptr = 708; \
+ break; \
+ case 0x959: \
+ *countptr = 2; *posptr = 710; \
+ break; \
+ case 0x95a: \
+ *countptr = 2; *posptr = 712; \
+ break; \
+ case 0x95b: \
+ *countptr = 2; *posptr = 714; \
+ break; \
+ case 0x95c: \
+ *countptr = 2; *posptr = 716; \
+ break; \
+ case 0x95d: \
+ *countptr = 2; *posptr = 718; \
+ break; \
+ case 0x95e: \
+ *countptr = 2; *posptr = 720; \
+ break; \
+ case 0x95f: \
+ *countptr = 2; *posptr = 722; \
+ break; \
+ case 0x9cb: \
+ *countptr = 2; *posptr = 724; \
+ break; \
+ case 0x9cc: \
+ *countptr = 2; *posptr = 726; \
+ break; \
+ case 0x9dc: \
+ *countptr = 2; *posptr = 728; \
+ break; \
+ case 0x9dd: \
+ *countptr = 2; *posptr = 730; \
+ break; \
+ case 0x9df: \
+ *countptr = 2; *posptr = 732; \
+ break; \
+ case 0xa33: \
+ *countptr = 2; *posptr = 734; \
+ break; \
+ case 0xa36: \
+ *countptr = 2; *posptr = 736; \
+ break; \
+ case 0xa59: \
+ *countptr = 2; *posptr = 738; \
+ break; \
+ case 0xa5a: \
+ *countptr = 2; *posptr = 740; \
+ break; \
+ case 0xa5b: \
+ *countptr = 2; *posptr = 742; \
+ break; \
+ case 0xa5e: \
+ *countptr = 2; *posptr = 744; \
+ break; \
+ case 0xb48: \
+ *countptr = 2; *posptr = 746; \
+ break; \
+ case 0xb4b: \
+ *countptr = 2; *posptr = 748; \
+ break; \
+ case 0xb4c: \
+ *countptr = 2; *posptr = 750; \
+ break; \
+ case 0xb5c: \
+ *countptr = 2; *posptr = 752; \
+ break; \
+ case 0xb5d: \
+ *countptr = 2; *posptr = 754; \
+ break; \
+ case 0xb94: \
+ *countptr = 2; *posptr = 756; \
+ break; \
+ case 0xbca: \
+ *countptr = 2; *posptr = 758; \
+ break; \
+ case 0xbcb: \
+ *countptr = 2; *posptr = 760; \
+ break; \
+ case 0xbcc: \
+ *countptr = 2; *posptr = 762; \
+ break; \
+ case 0xc48: \
+ *countptr = 2; *posptr = 764; \
+ break; \
+ case 0xcc0: \
+ *countptr = 2; *posptr = 766; \
+ break; \
+ case 0xcc7: \
+ *countptr = 2; *posptr = 768; \
+ break; \
+ case 0xcc8: \
+ *countptr = 2; *posptr = 770; \
+ break; \
+ case 0xcca: \
+ *countptr = 2; *posptr = 772; \
+ break; \
+ case 0xccb: \
+ *countptr = 3; *posptr = 774; \
+ break; \
+ case 0xd4a: \
+ *countptr = 2; *posptr = 777; \
+ break; \
+ case 0xd4b: \
+ *countptr = 2; *posptr = 779; \
+ break; \
+ case 0xd4c: \
+ *countptr = 2; *posptr = 781; \
+ break; \
+ case 0xdda: \
+ *countptr = 2; *posptr = 783; \
+ break; \
+ case 0xddc: \
+ *countptr = 2; *posptr = 785; \
+ break; \
+ case 0xddd: \
+ *countptr = 3; *posptr = 787; \
+ break; \
+ case 0xdde: \
+ *countptr = 2; *posptr = 790; \
+ break; \
+ case 0xf43: \
+ *countptr = 2; *posptr = 792; \
+ break; \
+ case 0xf4d: \
+ *countptr = 2; *posptr = 794; \
+ break; \
+ case 0xf52: \
+ *countptr = 2; *posptr = 796; \
+ break; \
+ case 0xf57: \
+ *countptr = 2; *posptr = 798; \
+ break; \
+ case 0xf5c: \
+ *countptr = 2; *posptr = 800; \
+ break; \
+ case 0xf69: \
+ *countptr = 2; *posptr = 802; \
+ break; \
+ case 0xf73: \
+ *countptr = 2; *posptr = 804; \
+ break; \
+ case 0xf75: \
+ *countptr = 2; *posptr = 806; \
+ break; \
+ case 0xf76: \
+ *countptr = 2; *posptr = 808; \
+ break; \
+ case 0xf78: \
+ *countptr = 2; *posptr = 810; \
+ break; \
+ case 0xf81: \
+ *countptr = 2; *posptr = 812; \
+ break; \
+ case 0xf93: \
+ *countptr = 2; *posptr = 814; \
+ break; \
+ case 0xf9d: \
+ *countptr = 2; *posptr = 816; \
+ break; \
+ case 0xfa2: \
+ *countptr = 2; *posptr = 818; \
+ break; \
+ case 0xfa7: \
+ *countptr = 2; *posptr = 820; \
+ break; \
+ case 0xfac: \
+ *countptr = 2; *posptr = 822; \
+ break; \
+ case 0xfb9: \
+ *countptr = 2; *posptr = 824; \
+ break; \
+ case 0x1026: \
+ *countptr = 2; *posptr = 826; \
+ break; \
+ case 0x2000: \
+ *countptr = 1; *posptr = 2037; \
+ break; \
+ case 0x2001: \
+ *countptr = 1; *posptr = 2038; \
+ break; \
+ case 0x2126: \
+ *countptr = 1; *posptr = 2039; \
+ break; \
+ case 0x212a: \
+ *countptr = 1; *posptr = 2040; \
+ break; \
+ case 0x212b: \
+ *countptr = 2; *posptr = 2041; \
+ break; \
+ case 0x219a: \
+ *countptr = 2; *posptr = 2043; \
+ break; \
+ case 0x219b: \
+ *countptr = 2; *posptr = 2045; \
+ break; \
+ case 0x21ae: \
+ *countptr = 2; *posptr = 2047; \
+ break; \
+ case 0x21cd: \
+ *countptr = 2; *posptr = 2049; \
+ break; \
+ case 0x21ce: \
+ *countptr = 2; *posptr = 2051; \
+ break; \
+ case 0x21cf: \
+ *countptr = 2; *posptr = 2053; \
+ break; \
+ case 0x2329: \
+ *countptr = 1; *posptr = 2131; \
+ break; \
+ case 0x232a: \
+ *countptr = 1; *posptr = 2132; \
+ break; \
+ case 0x2adc: \
+ *countptr = 2; *posptr = 2133; \
+ break; \
+ case 0x1d15e: \
+ *countptr = 2; *posptr = 2670; \
+ break; \
+ case 0x1d15f: \
+ *countptr = 2; *posptr = 2672; \
+ break; \
+ case 0x1d160: \
+ *countptr = 3; *posptr = 2674; \
+ break; \
+ case 0x1d161: \
+ *countptr = 3; *posptr = 2677; \
+ break; \
+ case 0x1d162: \
+ *countptr = 3; *posptr = 2680; \
+ break; \
+ case 0x1d163: \
+ *countptr = 3; *posptr = 2683; \
+ break; \
+ case 0x1d164: \
+ *countptr = 3; *posptr = 2686; \
+ break; \
+ case 0x1d1bb: \
+ *countptr = 2; *posptr = 2689; \
+ break; \
+ case 0x1d1bc: \
+ *countptr = 2; *posptr = 2691; \
+ break; \
+ case 0x1d1bd: \
+ *countptr = 3; *posptr = 2693; \
+ break; \
+ case 0x1d1be: \
+ *countptr = 3; *posptr = 2696; \
+ break; \
+ case 0x1d1bf: \
+ *countptr = 3; *posptr = 2699; \
+ break; \
+ case 0x1d1c0: \
+ *countptr = 3; *posptr = 2702; \
+ break; \
+ default: \
+ *countptr = 0; \
+}
+
+} // End of namespace Gargoyle
diff --git a/engines/gargoyle/unicode_gen.h b/engines/gargoyle/unicode_gen.h
new file mode 100644
index 0000000000..f621a93d7e
--- /dev/null
+++ b/engines/gargoyle/unicode_gen.h
@@ -0,0 +1,563 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef GARGOYLE_UNICODE_GEN_H
+#define GARGOYLE_UNICODE_GEN_H
+
+#include "gargoyle/glk_types.h"
+
+namespace Gargoyle {
+
+#define GET_CASE_BLOCK(ch, blockptr) \
+switch ((glui32)(ch) >> 8) { \
+case 0x0: \
+ *blockptr = unigen_case_block_0x0; \
+ break; \
+case 0x1: \
+ *blockptr = unigen_case_block_0x1; \
+ break; \
+case 0x2: \
+ *blockptr = unigen_case_block_0x2; \
+ break; \
+case 0x3: \
+ *blockptr = unigen_case_block_0x3; \
+ break; \
+case 0x4: \
+ *blockptr = unigen_case_block_0x4; \
+ break; \
+case 0x5: \
+ *blockptr = unigen_case_block_0x5; \
+ break; \
+case 0x1e: \
+ *blockptr = unigen_case_block_0x1e; \
+ break; \
+case 0x1f: \
+ *blockptr = unigen_case_block_0x1f; \
+ break; \
+case 0x21: \
+ *blockptr = unigen_case_block_0x21; \
+ break; \
+case 0x24: \
+ *blockptr = unigen_case_block_0x24; \
+ break; \
+case 0xfb: \
+ *blockptr = unigen_case_block_0xfb; \
+ break; \
+case 0xff: \
+ *blockptr = unigen_case_block_0xff; \
+ break; \
+case 0x104: \
+ *blockptr = unigen_case_block_0x104; \
+ break; \
+default: \
+ *blockptr = NULL; \
+}
+
+#define GET_CASE_SPECIAL(ch, specptr) \
+switch (ch) { \
+case 0xdf: \
+ *specptr = unigen_special_0xdf; \
+ break; \
+case 0x130: \
+ *specptr = unigen_special_0x130; \
+ break; \
+case 0x149: \
+ *specptr = unigen_special_0x149; \
+ break; \
+case 0x1c4: \
+ *specptr = unigen_special_0x1c4; \
+ break; \
+case 0x1c5: \
+ *specptr = unigen_special_0x1c5; \
+ break; \
+case 0x1c6: \
+ *specptr = unigen_special_0x1c6; \
+ break; \
+case 0x1c7: \
+ *specptr = unigen_special_0x1c7; \
+ break; \
+case 0x1c8: \
+ *specptr = unigen_special_0x1c8; \
+ break; \
+case 0x1c9: \
+ *specptr = unigen_special_0x1c9; \
+ break; \
+case 0x1ca: \
+ *specptr = unigen_special_0x1ca; \
+ break; \
+case 0x1cb: \
+ *specptr = unigen_special_0x1cb; \
+ break; \
+case 0x1cc: \
+ *specptr = unigen_special_0x1cc; \
+ break; \
+case 0x1f0: \
+ *specptr = unigen_special_0x1f0; \
+ break; \
+case 0x1f1: \
+ *specptr = unigen_special_0x1f1; \
+ break; \
+case 0x1f2: \
+ *specptr = unigen_special_0x1f2; \
+ break; \
+case 0x1f3: \
+ *specptr = unigen_special_0x1f3; \
+ break; \
+case 0x390: \
+ *specptr = unigen_special_0x390; \
+ break; \
+case 0x3b0: \
+ *specptr = unigen_special_0x3b0; \
+ break; \
+case 0x587: \
+ *specptr = unigen_special_0x587; \
+ break; \
+case 0x1e96: \
+ *specptr = unigen_special_0x1e96; \
+ break; \
+case 0x1e97: \
+ *specptr = unigen_special_0x1e97; \
+ break; \
+case 0x1e98: \
+ *specptr = unigen_special_0x1e98; \
+ break; \
+case 0x1e99: \
+ *specptr = unigen_special_0x1e99; \
+ break; \
+case 0x1e9a: \
+ *specptr = unigen_special_0x1e9a; \
+ break; \
+case 0x1f50: \
+ *specptr = unigen_special_0x1f50; \
+ break; \
+case 0x1f52: \
+ *specptr = unigen_special_0x1f52; \
+ break; \
+case 0x1f54: \
+ *specptr = unigen_special_0x1f54; \
+ break; \
+case 0x1f56: \
+ *specptr = unigen_special_0x1f56; \
+ break; \
+case 0x1f80: \
+ *specptr = unigen_special_0x1f80; \
+ break; \
+case 0x1f81: \
+ *specptr = unigen_special_0x1f81; \
+ break; \
+case 0x1f82: \
+ *specptr = unigen_special_0x1f82; \
+ break; \
+case 0x1f83: \
+ *specptr = unigen_special_0x1f83; \
+ break; \
+case 0x1f84: \
+ *specptr = unigen_special_0x1f84; \
+ break; \
+case 0x1f85: \
+ *specptr = unigen_special_0x1f85; \
+ break; \
+case 0x1f86: \
+ *specptr = unigen_special_0x1f86; \
+ break; \
+case 0x1f87: \
+ *specptr = unigen_special_0x1f87; \
+ break; \
+case 0x1f88: \
+ *specptr = unigen_special_0x1f88; \
+ break; \
+case 0x1f89: \
+ *specptr = unigen_special_0x1f89; \
+ break; \
+case 0x1f8a: \
+ *specptr = unigen_special_0x1f8a; \
+ break; \
+case 0x1f8b: \
+ *specptr = unigen_special_0x1f8b; \
+ break; \
+case 0x1f8c: \
+ *specptr = unigen_special_0x1f8c; \
+ break; \
+case 0x1f8d: \
+ *specptr = unigen_special_0x1f8d; \
+ break; \
+case 0x1f8e: \
+ *specptr = unigen_special_0x1f8e; \
+ break; \
+case 0x1f8f: \
+ *specptr = unigen_special_0x1f8f; \
+ break; \
+case 0x1f90: \
+ *specptr = unigen_special_0x1f90; \
+ break; \
+case 0x1f91: \
+ *specptr = unigen_special_0x1f91; \
+ break; \
+case 0x1f92: \
+ *specptr = unigen_special_0x1f92; \
+ break; \
+case 0x1f93: \
+ *specptr = unigen_special_0x1f93; \
+ break; \
+case 0x1f94: \
+ *specptr = unigen_special_0x1f94; \
+ break; \
+case 0x1f95: \
+ *specptr = unigen_special_0x1f95; \
+ break; \
+case 0x1f96: \
+ *specptr = unigen_special_0x1f96; \
+ break; \
+case 0x1f97: \
+ *specptr = unigen_special_0x1f97; \
+ break; \
+case 0x1f98: \
+ *specptr = unigen_special_0x1f98; \
+ break; \
+case 0x1f99: \
+ *specptr = unigen_special_0x1f99; \
+ break; \
+case 0x1f9a: \
+ *specptr = unigen_special_0x1f9a; \
+ break; \
+case 0x1f9b: \
+ *specptr = unigen_special_0x1f9b; \
+ break; \
+case 0x1f9c: \
+ *specptr = unigen_special_0x1f9c; \
+ break; \
+case 0x1f9d: \
+ *specptr = unigen_special_0x1f9d; \
+ break; \
+case 0x1f9e: \
+ *specptr = unigen_special_0x1f9e; \
+ break; \
+case 0x1f9f: \
+ *specptr = unigen_special_0x1f9f; \
+ break; \
+case 0x1fa0: \
+ *specptr = unigen_special_0x1fa0; \
+ break; \
+case 0x1fa1: \
+ *specptr = unigen_special_0x1fa1; \
+ break; \
+case 0x1fa2: \
+ *specptr = unigen_special_0x1fa2; \
+ break; \
+case 0x1fa3: \
+ *specptr = unigen_special_0x1fa3; \
+ break; \
+case 0x1fa4: \
+ *specptr = unigen_special_0x1fa4; \
+ break; \
+case 0x1fa5: \
+ *specptr = unigen_special_0x1fa5; \
+ break; \
+case 0x1fa6: \
+ *specptr = unigen_special_0x1fa6; \
+ break; \
+case 0x1fa7: \
+ *specptr = unigen_special_0x1fa7; \
+ break; \
+case 0x1fa8: \
+ *specptr = unigen_special_0x1fa8; \
+ break; \
+case 0x1fa9: \
+ *specptr = unigen_special_0x1fa9; \
+ break; \
+case 0x1faa: \
+ *specptr = unigen_special_0x1faa; \
+ break; \
+case 0x1fab: \
+ *specptr = unigen_special_0x1fab; \
+ break; \
+case 0x1fac: \
+ *specptr = unigen_special_0x1fac; \
+ break; \
+case 0x1fad: \
+ *specptr = unigen_special_0x1fad; \
+ break; \
+case 0x1fae: \
+ *specptr = unigen_special_0x1fae; \
+ break; \
+case 0x1faf: \
+ *specptr = unigen_special_0x1faf; \
+ break; \
+case 0x1fb2: \
+ *specptr = unigen_special_0x1fb2; \
+ break; \
+case 0x1fb3: \
+ *specptr = unigen_special_0x1fb3; \
+ break; \
+case 0x1fb4: \
+ *specptr = unigen_special_0x1fb4; \
+ break; \
+case 0x1fb6: \
+ *specptr = unigen_special_0x1fb6; \
+ break; \
+case 0x1fb7: \
+ *specptr = unigen_special_0x1fb7; \
+ break; \
+case 0x1fbc: \
+ *specptr = unigen_special_0x1fbc; \
+ break; \
+case 0x1fc2: \
+ *specptr = unigen_special_0x1fc2; \
+ break; \
+case 0x1fc3: \
+ *specptr = unigen_special_0x1fc3; \
+ break; \
+case 0x1fc4: \
+ *specptr = unigen_special_0x1fc4; \
+ break; \
+case 0x1fc6: \
+ *specptr = unigen_special_0x1fc6; \
+ break; \
+case 0x1fc7: \
+ *specptr = unigen_special_0x1fc7; \
+ break; \
+case 0x1fcc: \
+ *specptr = unigen_special_0x1fcc; \
+ break; \
+case 0x1fd2: \
+ *specptr = unigen_special_0x1fd2; \
+ break; \
+case 0x1fd3: \
+ *specptr = unigen_special_0x1fd3; \
+ break; \
+case 0x1fd6: \
+ *specptr = unigen_special_0x1fd6; \
+ break; \
+case 0x1fd7: \
+ *specptr = unigen_special_0x1fd7; \
+ break; \
+case 0x1fe2: \
+ *specptr = unigen_special_0x1fe2; \
+ break; \
+case 0x1fe3: \
+ *specptr = unigen_special_0x1fe3; \
+ break; \
+case 0x1fe4: \
+ *specptr = unigen_special_0x1fe4; \
+ break; \
+case 0x1fe6: \
+ *specptr = unigen_special_0x1fe6; \
+ break; \
+case 0x1fe7: \
+ *specptr = unigen_special_0x1fe7; \
+ break; \
+case 0x1ff2: \
+ *specptr = unigen_special_0x1ff2; \
+ break; \
+case 0x1ff3: \
+ *specptr = unigen_special_0x1ff3; \
+ break; \
+case 0x1ff4: \
+ *specptr = unigen_special_0x1ff4; \
+ break; \
+case 0x1ff6: \
+ *specptr = unigen_special_0x1ff6; \
+ break; \
+case 0x1ff7: \
+ *specptr = unigen_special_0x1ff7; \
+ break; \
+case 0x1ffc: \
+ *specptr = unigen_special_0x1ffc; \
+ break; \
+case 0xfb00: \
+ *specptr = unigen_special_0xfb00; \
+ break; \
+case 0xfb01: \
+ *specptr = unigen_special_0xfb01; \
+ break; \
+case 0xfb02: \
+ *specptr = unigen_special_0xfb02; \
+ break; \
+case 0xfb03: \
+ *specptr = unigen_special_0xfb03; \
+ break; \
+case 0xfb04: \
+ *specptr = unigen_special_0xfb04; \
+ break; \
+case 0xfb05: \
+ *specptr = unigen_special_0xfb05; \
+ break; \
+case 0xfb06: \
+ *specptr = unigen_special_0xfb06; \
+ break; \
+case 0xfb13: \
+ *specptr = unigen_special_0xfb13; \
+ break; \
+case 0xfb14: \
+ *specptr = unigen_special_0xfb14; \
+ break; \
+case 0xfb15: \
+ *specptr = unigen_special_0xfb15; \
+ break; \
+case 0xfb16: \
+ *specptr = unigen_special_0xfb16; \
+ break; \
+case 0xfb17: \
+ *specptr = unigen_special_0xfb17; \
+ break; \
+default: \
+ *specptr = NULL; \
+}
+
+typedef glui32 gli_case_block_t[2]; ///< upper, lower
+typedef glui32 gli_case_special_t[3]; ///< upper, lower, title
+typedef glui32 gli_decomp_block_t[2]; ///< count, position
+
+extern gli_case_block_t unigen_case_block_0x0[256];
+extern gli_case_block_t unigen_case_block_0x1[256];
+extern gli_case_block_t unigen_case_block_0x2[256];
+extern gli_case_block_t unigen_case_block_0x3[256];
+extern gli_case_block_t unigen_case_block_0x4[256];
+extern gli_case_block_t unigen_case_block_0x5[256];
+extern gli_case_block_t unigen_case_block_0x1e[256];
+extern gli_case_block_t unigen_case_block_0x1f[256];
+extern gli_case_block_t unigen_case_block_0x21[256];
+extern gli_case_block_t unigen_case_block_0x24[256];
+extern gli_case_block_t unigen_case_block_0xfb[256];
+extern gli_case_block_t unigen_case_block_0xff[256];
+extern gli_case_block_t unigen_case_block_0x104[256];
+
+extern gli_case_special_t unigen_special_0xdf;
+extern gli_case_special_t unigen_special_0x130;
+extern gli_case_special_t unigen_special_0x149;
+extern gli_case_special_t unigen_special_0x1c4;
+extern gli_case_special_t unigen_special_0x1c5;
+extern gli_case_special_t unigen_special_0x1c6;
+extern gli_case_special_t unigen_special_0x1c7;
+extern gli_case_special_t unigen_special_0x1c8;
+extern gli_case_special_t unigen_special_0x1c9;
+extern gli_case_special_t unigen_special_0x1ca;
+extern gli_case_special_t unigen_special_0x1cb;
+extern gli_case_special_t unigen_special_0x1cc;
+extern gli_case_special_t unigen_special_0x1f0;
+extern gli_case_special_t unigen_special_0x1f1;
+extern gli_case_special_t unigen_special_0x1f2;
+extern gli_case_special_t unigen_special_0x1f3;
+extern gli_case_special_t unigen_special_0x390;
+extern gli_case_special_t unigen_special_0x3b0;
+extern gli_case_special_t unigen_special_0x587;
+extern gli_case_special_t unigen_special_0x1e96;
+extern gli_case_special_t unigen_special_0x1e97;
+extern gli_case_special_t unigen_special_0x1e98;
+extern gli_case_special_t unigen_special_0x1e99;
+extern gli_case_special_t unigen_special_0x1e9a;
+extern gli_case_special_t unigen_special_0x1f50;
+extern gli_case_special_t unigen_special_0x1f52;
+extern gli_case_special_t unigen_special_0x1f54;
+extern gli_case_special_t unigen_special_0x1f56;
+extern gli_case_special_t unigen_special_0x1f80;
+extern gli_case_special_t unigen_special_0x1f81;
+extern gli_case_special_t unigen_special_0x1f82;
+extern gli_case_special_t unigen_special_0x1f83;
+extern gli_case_special_t unigen_special_0x1f84;
+extern gli_case_special_t unigen_special_0x1f85;
+extern gli_case_special_t unigen_special_0x1f86;
+extern gli_case_special_t unigen_special_0x1f87;
+extern gli_case_special_t unigen_special_0x1f88;
+extern gli_case_special_t unigen_special_0x1f89;
+extern gli_case_special_t unigen_special_0x1f8a;
+extern gli_case_special_t unigen_special_0x1f8b;
+extern gli_case_special_t unigen_special_0x1f8c;
+extern gli_case_special_t unigen_special_0x1f8d;
+extern gli_case_special_t unigen_special_0x1f8e;
+extern gli_case_special_t unigen_special_0x1f8f;
+extern gli_case_special_t unigen_special_0x1f90;
+extern gli_case_special_t unigen_special_0x1f91;
+extern gli_case_special_t unigen_special_0x1f92;
+extern gli_case_special_t unigen_special_0x1f93;
+extern gli_case_special_t unigen_special_0x1f94;
+extern gli_case_special_t unigen_special_0x1f95;
+extern gli_case_special_t unigen_special_0x1f96;
+extern gli_case_special_t unigen_special_0x1f97;
+extern gli_case_special_t unigen_special_0x1f98;
+extern gli_case_special_t unigen_special_0x1f99;
+extern gli_case_special_t unigen_special_0x1f9a;
+extern gli_case_special_t unigen_special_0x1f9b;
+extern gli_case_special_t unigen_special_0x1f9c;
+extern gli_case_special_t unigen_special_0x1f9d;
+extern gli_case_special_t unigen_special_0x1f9e;
+extern gli_case_special_t unigen_special_0x1f9f;
+extern gli_case_special_t unigen_special_0x1fa0;
+extern gli_case_special_t unigen_special_0x1fa1;
+extern gli_case_special_t unigen_special_0x1fa2;
+extern gli_case_special_t unigen_special_0x1fa3;
+extern gli_case_special_t unigen_special_0x1fa4;
+extern gli_case_special_t unigen_special_0x1fa5;
+extern gli_case_special_t unigen_special_0x1fa6;
+extern gli_case_special_t unigen_special_0x1fa7;
+extern gli_case_special_t unigen_special_0x1fa8;
+extern gli_case_special_t unigen_special_0x1fa9;
+extern gli_case_special_t unigen_special_0x1faa;
+extern gli_case_special_t unigen_special_0x1fab;
+extern gli_case_special_t unigen_special_0x1fac;
+extern gli_case_special_t unigen_special_0x1fad;
+extern gli_case_special_t unigen_special_0x1fae;
+extern gli_case_special_t unigen_special_0x1faf;
+extern gli_case_special_t unigen_special_0x1fb2;
+extern gli_case_special_t unigen_special_0x1fb3;
+extern gli_case_special_t unigen_special_0x1fb4;
+extern gli_case_special_t unigen_special_0x1fb6;
+extern gli_case_special_t unigen_special_0x1fb7;
+extern gli_case_special_t unigen_special_0x1fbc;
+extern gli_case_special_t unigen_special_0x1fc2;
+extern gli_case_special_t unigen_special_0x1fc3;
+extern gli_case_special_t unigen_special_0x1fc4;
+extern gli_case_special_t unigen_special_0x1fc6;
+extern gli_case_special_t unigen_special_0x1fc7;
+extern gli_case_special_t unigen_special_0x1fcc;
+extern gli_case_special_t unigen_special_0x1fd2;
+extern gli_case_special_t unigen_special_0x1fd3;
+extern gli_case_special_t unigen_special_0x1fd6;
+extern gli_case_special_t unigen_special_0x1fd7;
+extern gli_case_special_t unigen_special_0x1fe2;
+extern gli_case_special_t unigen_special_0x1fe3;
+extern gli_case_special_t unigen_special_0x1fe4;
+extern gli_case_special_t unigen_special_0x1fe6;
+extern gli_case_special_t unigen_special_0x1fe7;
+extern gli_case_special_t unigen_special_0x1ff2;
+extern gli_case_special_t unigen_special_0x1ff3;
+extern gli_case_special_t unigen_special_0x1ff4;
+extern gli_case_special_t unigen_special_0x1ff6;
+extern gli_case_special_t unigen_special_0x1ff7;
+extern gli_case_special_t unigen_special_0x1ffc;
+extern gli_case_special_t unigen_special_0xfb00;
+extern gli_case_special_t unigen_special_0xfb01;
+extern gli_case_special_t unigen_special_0xfb02;
+extern gli_case_special_t unigen_special_0xfb03;
+extern gli_case_special_t unigen_special_0xfb04;
+extern gli_case_special_t unigen_special_0xfb05;
+extern gli_case_special_t unigen_special_0xfb06;
+extern gli_case_special_t unigen_special_0xfb13;
+extern gli_case_special_t unigen_special_0xfb14;
+extern gli_case_special_t unigen_special_0xfb15;
+extern gli_case_special_t unigen_special_0xfb16;
+extern gli_case_special_t unigen_special_0xfb17;
+extern glui32 unigen_special_array[];
+
+} // End of namespace Gargoyle
+
+#endif
diff --git a/engines/gargoyle/window_text_buffer.cpp b/engines/gargoyle/window_text_buffer.cpp
index 05705cc454..2cfaebdc00 100644
--- a/engines/gargoyle/window_text_buffer.cpp
+++ b/engines/gargoyle/window_text_buffer.cpp
@@ -24,7 +24,7 @@
#include "gargoyle/conf.h"
#include "gargoyle/gargoyle.h"
#include "gargoyle/screen.h"
-#include "gargoyle/string.h"
+#include "gargoyle/unicode.h"
namespace Gargoyle {