OSDN Git Service

* add support for UTF-8-MAC
authorNARUSE, Yui <naruse@users.sourceforge.jp>
Tue, 5 Jul 2005 21:39:00 +0000 (21:39 +0000)
committerNARUSE, Yui <naruse@users.sourceforge.jp>
Tue, 5 Jul 2005 21:39:00 +0000 (21:39 +0000)
* --internal-unicode option (use Unicode as internal encoding)
  limtation: in this mode, cannot use --hiragana option and so on

nkf.c
utf8tbl.c

diff --git a/nkf.c b/nkf.c
index e9c9ce2..b36ebf3 100644 (file)
--- a/nkf.c
+++ b/nkf.c
@@ -39,9 +39,9 @@
 **        E-Mail: furukawa@tcp-ip.or.jp
 **    \e$B$^$G8fO"Mm$r$*4j$$$7$^$9!#\e(B
 ***********************************************************************/
-/* $Id: nkf.c,v 1.69 2005/06/27 16:05:59 naruse Exp $ */
+/* $Id: nkf.c,v 1.70 2005/07/05 12:39:00 naruse Exp $ */
 #define NKF_VERSION "2.0.5"
-#define NKF_RELEASE_DATE "2005-06-28"
+#define NKF_RELEASE_DATE "2005-07-05"
 #include "config.h"
 
 static char *CopyRight =
@@ -105,6 +105,11 @@ static char *CopyRight =
 #ifdef PERL_XS
 #undef OVERWRITE
 #endif
+#if defined( UTF8_OUTPUT_ENABLE ) || defined( UTF8_INPUT_ENABLE )
+#define UNICODE_ENABLE
+#else
+#undef UNICODE_NORMALIZATION
+#endif
 
 #ifndef PERL_XS
 #include <stdio.h>
@@ -246,7 +251,7 @@ static char *CopyRight =
 #define         GETA2   0x2e
 
 
-#if defined( UTF8_OUTPUT_ENABLE ) || defined( UTF8_INPUT_ENABLE )
+#ifdef UNICODE_ENABLE
 #define sizeof_euc_utf8 94
 #define sizeof_euc_to_utf8_1byte 94
 #define sizeof_euc_to_utf8_2bytes 94
@@ -389,17 +394,21 @@ static int             x0201_f = TRUE;         /* Assume JISX0201 kana */
 static int             x0201_f = NO_X0201;     /* Assume NO JISX0201 */
 #endif
 static int             iso2022jp_f = FALSE;    /* convert ISO-2022-JP */
+#ifdef UNICODE_ENABLE
+static int             internal_unicode_f = FALSE;   /* Internal Unicode Processing */
+#endif
 #ifdef UTF8_OUTPUT_ENABLE
 static int             unicode_bom_f= 0;   /* Output Unicode BOM */
 static int             w_oconv16_LE = 0;   /* utf-16 little endian */
 static int             ms_ucs_map_f = FALSE;   /* Microsoft UCS Mapping Compatible */
 #endif
 
-
-#ifdef NUMCHAR_OPTION
-
-#define CLASS_MASK  0x0f000000
-#define CLASS_UTF16 0x01000000
+#ifdef UNICODE_NORMALIZATION
+static int nfc_f = FALSE;
+static int (*i_nfc_getc)PROTO((FILE *)) = std_getc; /* input of ugetc */
+static int (*i_nfc_ungetc)PROTO((int c ,FILE *f)) = std_ungetc;
+STATIC int nfc_getc PROTO((FILE *f));
+STATIC int nfc_ungetc PROTO((int c,FILE *f));
 #endif
 
 #ifdef INPUT_OPTION
@@ -414,7 +423,11 @@ static int (*i_ugetc)PROTO((FILE *)) = std_getc; /* input of ugetc */
 static int (*i_uungetc)PROTO((int c ,FILE *f)) = std_ungetc;
 STATIC int url_getc PROTO((FILE *f));
 STATIC int url_ungetc PROTO((int c,FILE *f));
+#endif
 
+#ifdef NUMCHAR_OPTION
+#define CLASS_MASK  0x0f000000
+#define CLASS_UTF16 0x01000000
 static int numchar_f = FALSE;
 static int (*i_ngetc)PROTO((FILE *)) = std_getc; /* input of ugetc */
 static int (*i_nungetc)PROTO((int c ,FILE *f)) = std_ungetc;
@@ -926,6 +939,9 @@ struct {
 #ifdef X0212_ENABLE
     {"x0212", ""},
 #endif
+#ifdef UNICODE_ENABLE
+    {"internal-unicode", ""},
+#endif
 #ifdef UTF8_OUTPUT_ENABLE
     {"utf8", "w"},
     {"utf16", "w16"},
@@ -935,6 +951,9 @@ struct {
     {"utf8-input", "W"},
     {"utf16-input", "W16"},
 #endif
+#ifdef UNICODE_NORMALIZATION
+    {"utf8mac-input", ""},
+#endif
 #ifdef OVERWRITE
     {"overwrite", ""},
 #endif
@@ -1070,12 +1089,25 @@ options(cp)
                       return;
                   }
 #endif
+#ifdef UNICODE_ENABLE
+                if (strcmp(long_option[i].name, "internal-unicode") == 0){
+                    internal_unicode_f = TRUE;
+                    continue;
+                }
+#endif
 #ifdef UTF8_OUTPUT_ENABLE
                 if (strcmp(long_option[i].name, "ms-ucs-map") == 0){
                     ms_ucs_map_f = TRUE;
                     continue;
                 }
 #endif
+#ifdef UNICODE_NORMALIZATION
+               if (strcmp(long_option[i].name, "utf8mac-input") == 0){
+                   input_f = UTF8_INPUT;
+                   nfc_f = TRUE;
+                   continue;
+               }
+#endif
                 if (strcmp(long_option[i].name, "prefix=") == 0){
                     if (*p == '=' && ' ' < p[1] && p[1] < 128){
                         for (i = 2; ' ' < p[i] && p[i] < 128; i++){
@@ -1849,6 +1881,12 @@ module_connection()
         i_nungetc = i_ungetc; i_ungetc= numchar_ungetc;
     }
 #endif
+#ifdef UNICODE_NORMALIZATION
+    if (nfc_f && input_f == UTF8_INPUT){
+        i_nfc_getc = i_getc; i_getc = nfc_getc;
+        i_nfc_ungetc = i_ungetc; i_ungetc= nfc_ungetc;
+    }
+#endif
     if (mime_f && mimebuf_f==FIXED_MIME) {
        i_mgetc = i_getc; i_getc = mime_getc;
        i_mungetc = i_ungetc; i_ungetc = mime_ungetc;
@@ -2480,7 +2518,30 @@ w_iconv(c2, c1, c0)
     int    c2,
                     c1, c0;
 {
-    int ret = w2e_conv(c2, c1, c0, &c2, &c1);
+    int ret = 0;
+    unsigned short val = 0;
+    
+    if (c0 == 0){
+       if (c2 < 0x80 || (c2 & 0xc0) == 0xdf) /* 0x00-0x7f 0xc0-0xdf */
+           ; /* 1 or 2ytes */
+       else if ((c2 & 0xf0) == 0xe0) /* 0xe0-0xef */
+           return -1; /* 3bytes */
+       /*else if (0xf0 <= c2)
+           return 0; /* 4,5,6bytes */
+       else if ((c2 & 0xc0) == 0x80) /* 0x80-0xbf */
+           return 0; /* trail byte */
+       else return 0;
+    }
+    if (c2 == EOF);
+    else if (c2 == 0xef && c1 == 0xbb && c0 == 0xbf)
+       return 0; /* throw BOM */
+    else if (internal_unicode_f && (output_conv == w_oconv || output_conv == w_oconv16)){
+       val = ww16_conv(c2, c1, c0);
+       c2 = (val >> 8) & 0xff;
+       c1 = val & 0xff;
+    } else {
+       ret = w2e_conv(c2, c1, c0, &c2, &c1);
+    }
     if (ret == 0){
         (*oconv)(c2, c1);
     }
@@ -2566,7 +2627,7 @@ int
 w_iconv16(c2, c1, c0)
     int    c2, c1,c0;
 {
-    int ret;
+    int ret = 0;
 
     if (c2==0376 && c1==0377){
        utf16_mode = UTF16BE_INPUT;
@@ -2583,7 +2644,8 @@ w_iconv16(c2, c1, c0)
        (*oconv)(c2, c1);
        return 0;
     }
-    ret = w16e_conv(((c2<<8)&0xff00) + c1, &c2, &c1);
+    if (internal_unicode_f && (output_conv == w_oconv || output_conv == w_oconv16));
+    else ret = w16e_conv(((c2<<8)&0xff00) + c1, &c2, &c1);
     if (ret) return ret;
     (*oconv)(c2, c1);
     return 0;
@@ -2668,6 +2730,7 @@ w_oconv(c2, c1)
                     c1;
 {
     int c0;
+    unsigned short val;
     if (c2 == EOF) {
         (*o_putc)(EOF);
         return;
@@ -2699,9 +2762,10 @@ w_oconv(c2, c1)
        output_mode = ISO8859_1;
         (*o_putc)(c1 | 0x080);
     } else {
-        unsigned short val;
         output_mode = UTF8;
-        val = e2w_conv(c2, c1);
+       if (internal_unicode_f && (iconv == w_iconv || iconv == w_iconv16))
+           val = ((c2<<8)&0xff00) + c1;
+       else val = e2w_conv(c2, c1);
         if (val){
             w16w_conv(val, &c2, &c1, &c0);
             (*o_putc)(c2);
@@ -2734,7 +2798,8 @@ w_oconv16(c2, c1)
        unicode_bom_f=1;
     }
 
-    if (c2 == ISO8859_1) {
+    if (internal_unicode_f && (iconv == w_iconv || iconv == w_iconv16)){
+    } else if (c2 == ISO8859_1) {
         c2 = 0;
         c1 |= 0x80;
 #ifdef NUMCHAR_OPTION
@@ -3862,6 +3927,57 @@ numchar_ungetc(c, f)
 }
 #endif
 
+#ifdef UNICODE_NORMALIZATION
+
+/* Normalization Form C */
+int
+nfc_getc(f)
+     FILE *f;
+{
+    int (*g)() = i_nfc_getc;
+    int (*u)() = i_nfc_ungetc;
+    int i=0, j, k=1, lower, upper;
+    int buf[9];
+    int *array = NULL;
+    extern struct normalization_pair normalization_table[];
+    
+    buf[i] = (*g)(f);
+    while (k > 0 && ((buf[i] & 0xc0) != 0x80)){
+       lower=0, upper=NORMALIZATION_TABLE_LENGTH-1;
+       while (upper >= lower) {
+           j = (lower+upper) / 2;
+           array = normalization_table[j].nfd;
+           for (k=0; k < NORMALIZATION_TABLE_NFD_LENGTH && array[k]; k++){
+               if (array[k] != buf[k]){
+                   array[k] < buf[k] ? (lower = j + 1) : (upper = j - 1);
+                   k = 0;
+                   break;
+               } else if (k >= i)
+                   buf[++i] = (*g)(f);
+           }
+           if (k > 0){
+               array = normalization_table[j].nfc;
+               for (i=0; i < NORMALIZATION_TABLE_NFC_LENGTH && array[i]; i++)
+                   buf[i] = array[i];
+               i--;
+               break;
+           }
+       }
+       while (i > 0)
+           (*u)(buf[i--], f);
+    }
+    return buf[0];
+}
+
+int
+nfc_ungetc(c, f)
+     int c;
+     FILE *f;
+{
+    return (*i_nfc_ungetc)(c, f);
+}
+#endif /* UNICODE_NORMALIZATION */
+
 
 int 
 mime_getc(f)
@@ -4597,11 +4713,17 @@ reinit()
      x0201_f = NO_X0201;
 #endif
     iso2022jp_f = FALSE;
+#ifdef UNICODE_ENABLE
+    internal_unicode_f = TRUE;
+#endif
 #ifdef UTF8_OUTPUT_ENABLE
     unicode_bom_f = 0;
     w_oconv16_LE = 0;
     ms_ucs_map_f = FALSE;
 #endif
+#ifdef UNICODE_NORMALIZATION
+    nfc_f = FALSE;
+#endif
 #ifdef INPUT_OPTION
     cap_f = FALSE;
     url_f = FALSE;
index 5b6c09a..1160f24 100644 (file)
--- a/utf8tbl.c
+++ b/utf8tbl.c
@@ -6271,6 +6271,957 @@ unsigned short ** utf8_to_euc_3bytes[] = {
  utf8_to_euc_E8, utf8_to_euc_E9,              0,              0,
               0,              0,              0, utf8_to_euc_EF,
 };
+
+#ifdef UNICODE_NORMALIZATION
+
+/* Normalization Table by Apple */
+   /* http://developer.apple.com/technotes/tn/tn1150table.html */
+
+struct normalization_pair normalization_table[] = {
+    {{0xcd,0xbe},      {0x3b}},
+    {{0xc3,0x80},      {0x41,0xcc,0x80,0x00}},
+    {{0xc3,0x81},      {0x41,0xcc,0x81}},
+    {{0xc3,0x82},      {0x41,0xcc,0x82}},
+    {{0xe1,0xba,0xa6}, {0x41,0xcc,0x82,0xcc,0x80}},
+    {{0xe1,0xba,0xa4}, {0x41,0xcc,0x82,0xcc,0x81}},
+    {{0xe1,0xba,0xaa}, {0x41,0xcc,0x82,0xcc,0x83}},
+    {{0xe1,0xba,0xa8}, {0x41,0xcc,0x82,0xcc,0x89}},
+    {{0xc3,0x83},      {0x41,0xcc,0x83}},
+    {{0xc4,0x80},      {0x41,0xcc,0x84}},
+    {{0xc4,0x82},      {0x41,0xcc,0x86}},
+    {{0xe1,0xba,0xb0}, {0x41,0xcc,0x86,0xcc,0x80}},
+    {{0xe1,0xba,0xae}, {0x41,0xcc,0x86,0xcc,0x81}},
+    {{0xe1,0xba,0xb4}, {0x41,0xcc,0x86,0xcc,0x83}},
+    {{0xe1,0xba,0xb2}, {0x41,0xcc,0x86,0xcc,0x89}},
+    {{0xc7,0xa0},      {0x41,0xcc,0x87,0xcc,0x84}},
+    {{0xc3,0x84},      {0x41,0xcc,0x88}},
+    {{0xc7,0x9e},      {0x41,0xcc,0x88,0xcc,0x84}},
+    {{0xe1,0xba,0xa2}, {0x41,0xcc,0x89}},
+    {{0xc3,0x85},      {0x41,0xcc,0x8a}},
+    {{0xc7,0xba},      {0x41,0xcc,0x8a,0xcc,0x81}},
+    {{0xc7,0x8d},      {0x41,0xcc,0x8c}},
+    {{0xc8,0x80},      {0x41,0xcc,0x8f}},
+    {{0xc8,0x82},      {0x41,0xcc,0x91}},
+    {{0xe1,0xba,0xa0}, {0x41,0xcc,0xa3}},
+    {{0xe1,0xba,0xac}, {0x41,0xcc,0xa3,0xcc,0x82}},
+    {{0xe1,0xba,0xb6}, {0x41,0xcc,0xa3,0xcc,0x86}},
+    {{0xe1,0xb8,0x80}, {0x41,0xcc,0xa5}},
+    {{0xc4,0x84},      {0x41,0xcc,0xa8}},
+    {{0xe1,0xb8,0x82}, {0x42,0xcc,0x87}},
+    {{0xe1,0xb8,0x84}, {0x42,0xcc,0xa3}},
+    {{0xe1,0xb8,0x86}, {0x42,0xcc,0xb1}},
+    {{0xc4,0x86},      {0x43,0xcc,0x81}},
+    {{0xc4,0x88},      {0x43,0xcc,0x82}},
+    {{0xc4,0x8a},      {0x43,0xcc,0x87}},
+    {{0xc4,0x8c},      {0x43,0xcc,0x8c}},
+    {{0xc3,0x87},      {0x43,0xcc,0xa7}},
+    {{0xe1,0xb8,0x88}, {0x43,0xcc,0xa7,0xcc,0x81}},
+    {{0xe1,0xb8,0x8a}, {0x44,0xcc,0x87}},
+    {{0xc4,0x8e},      {0x44,0xcc,0x8c}},
+    {{0xe1,0xb8,0x8c}, {0x44,0xcc,0xa3}},
+    {{0xe1,0xb8,0x90}, {0x44,0xcc,0xa7}},
+    {{0xe1,0xb8,0x92}, {0x44,0xcc,0xad}},
+    {{0xe1,0xb8,0x8e}, {0x44,0xcc,0xb1}},
+    {{0xc3,0x88},      {0x45,0xcc,0x80}},
+    {{0xc3,0x89},      {0x45,0xcc,0x81}},
+    {{0xc3,0x8a},      {0x45,0xcc,0x82}},
+    {{0xe1,0xbb,0x80}, {0x45,0xcc,0x82,0xcc,0x80}},
+    {{0xe1,0xba,0xbe}, {0x45,0xcc,0x82,0xcc,0x81}},
+    {{0xe1,0xbb,0x84}, {0x45,0xcc,0x82,0xcc,0x83}},
+    {{0xe1,0xbb,0x82}, {0x45,0xcc,0x82,0xcc,0x89}},
+    {{0xe1,0xba,0xbc}, {0x45,0xcc,0x83}},
+    {{0xc4,0x92},      {0x45,0xcc,0x84}},
+    {{0xe1,0xb8,0x94}, {0x45,0xcc,0x84,0xcc,0x80}},
+    {{0xe1,0xb8,0x96}, {0x45,0xcc,0x84,0xcc,0x81}},
+    {{0xc4,0x94},      {0x45,0xcc,0x86}},
+    {{0xc4,0x96},      {0x45,0xcc,0x87}},
+    {{0xc3,0x8b},      {0x45,0xcc,0x88}},
+    {{0xe1,0xba,0xba}, {0x45,0xcc,0x89}},
+    {{0xc4,0x9a},      {0x45,0xcc,0x8c}},
+    {{0xc8,0x84},      {0x45,0xcc,0x8f}},
+    {{0xc8,0x86},      {0x45,0xcc,0x91}},
+    {{0xe1,0xba,0xb8}, {0x45,0xcc,0xa3}},
+    {{0xe1,0xbb,0x86}, {0x45,0xcc,0xa3,0xcc,0x82}},
+    {{0xe1,0xb8,0x9c}, {0x45,0xcc,0xa7,0xcc,0x86}},
+    {{0xc4,0x98},      {0x45,0xcc,0xa8}},
+    {{0xe1,0xb8,0x98}, {0x45,0xcc,0xad}},
+    {{0xe1,0xb8,0x9a}, {0x45,0xcc,0xb0}},
+    {{0xe1,0xb8,0x9e}, {0x46,0xcc,0x87}},
+    {{0xc7,0xb4},      {0x47,0xcc,0x81}},
+    {{0xc4,0x9c},      {0x47,0xcc,0x82}},
+    {{0xe1,0xb8,0xa0}, {0x47,0xcc,0x84}},
+    {{0xc4,0x9e},      {0x47,0xcc,0x86}},
+    {{0xc4,0xa0},      {0x47,0xcc,0x87}},
+    {{0xc7,0xa6},      {0x47,0xcc,0x8c}},
+    {{0xc4,0xa2},      {0x47,0xcc,0xa7}},
+    {{0xc4,0xa4},      {0x48,0xcc,0x82}},
+    {{0xe1,0xb8,0xa2}, {0x48,0xcc,0x87}},
+    {{0xe1,0xb8,0xa6}, {0x48,0xcc,0x88}},
+    {{0xe1,0xb8,0xa4}, {0x48,0xcc,0xa3}},
+    {{0xe1,0xb8,0xa8}, {0x48,0xcc,0xa7}},
+    {{0xe1,0xb8,0xaa}, {0x48,0xcc,0xae}},
+    {{0xc3,0x8c},      {0x49,0xcc,0x80}},
+    {{0xc3,0x8d},      {0x49,0xcc,0x81}},
+    {{0xc3,0x8e},      {0x49,0xcc,0x82}},
+    {{0xc4,0xa8},      {0x49,0xcc,0x83}},
+    {{0xc4,0xaa},      {0x49,0xcc,0x84}},
+    {{0xc4,0xac},      {0x49,0xcc,0x86}},
+    {{0xc4,0xb0},      {0x49,0xcc,0x87}},
+    {{0xc3,0x8f},      {0x49,0xcc,0x88}},
+    {{0xe1,0xb8,0xae}, {0x49,0xcc,0x88,0xcc,0x81}},
+    {{0xe1,0xbb,0x88}, {0x49,0xcc,0x89}},
+    {{0xc7,0x8f},      {0x49,0xcc,0x8c}},
+    {{0xc8,0x88},      {0x49,0xcc,0x8f}},
+    {{0xc8,0x8a},      {0x49,0xcc,0x91}},
+    {{0xe1,0xbb,0x8a}, {0x49,0xcc,0xa3}},
+    {{0xc4,0xae},      {0x49,0xcc,0xa8}},
+    {{0xe1,0xb8,0xac}, {0x49,0xcc,0xb0}},
+    {{0xc4,0xb4},      {0x4a,0xcc,0x82}},
+    {{0xe1,0xb8,0xb0}, {0x4b,0xcc,0x81}},
+    {{0xc7,0xa8},      {0x4b,0xcc,0x8c}},
+    {{0xe1,0xb8,0xb2}, {0x4b,0xcc,0xa3}},
+    {{0xc4,0xb6},      {0x4b,0xcc,0xa7}},
+    {{0xe1,0xb8,0xb4}, {0x4b,0xcc,0xb1}},
+    {{0xc4,0xb9},      {0x4c,0xcc,0x81}},
+    {{0xc4,0xbd},      {0x4c,0xcc,0x8c}},
+    {{0xe1,0xb8,0xb6}, {0x4c,0xcc,0xa3}},
+    {{0xe1,0xb8,0xb8}, {0x4c,0xcc,0xa3,0xcc,0x84}},
+    {{0xc4,0xbb},      {0x4c,0xcc,0xa7}},
+    {{0xe1,0xb8,0xbc}, {0x4c,0xcc,0xad}},
+    {{0xe1,0xb8,0xba}, {0x4c,0xcc,0xb1}},
+    {{0xe1,0xb8,0xbe}, {0x4d,0xcc,0x81}},
+    {{0xe1,0xb9,0x80}, {0x4d,0xcc,0x87}},
+    {{0xe1,0xb9,0x82}, {0x4d,0xcc,0xa3}},
+    {{0xc5,0x83},      {0x4e,0xcc,0x81}},
+    {{0xc3,0x91},      {0x4e,0xcc,0x83}},
+    {{0xe1,0xb9,0x84}, {0x4e,0xcc,0x87}},
+    {{0xc5,0x87},      {0x4e,0xcc,0x8c}},
+    {{0xe1,0xb9,0x86}, {0x4e,0xcc,0xa3}},
+    {{0xc5,0x85},      {0x4e,0xcc,0xa7}},
+    {{0xe1,0xb9,0x8a}, {0x4e,0xcc,0xad}},
+    {{0xe1,0xb9,0x88}, {0x4e,0xcc,0xb1}},
+    {{0xc3,0x92},      {0x4f,0xcc,0x80}},
+    {{0xc3,0x93},      {0x4f,0xcc,0x81}},
+    {{0xc3,0x94},      {0x4f,0xcc,0x82}},
+    {{0xe1,0xbb,0x92}, {0x4f,0xcc,0x82,0xcc,0x80}},
+    {{0xe1,0xbb,0x90}, {0x4f,0xcc,0x82,0xcc,0x81}},
+    {{0xe1,0xbb,0x96}, {0x4f,0xcc,0x82,0xcc,0x83}},
+    {{0xe1,0xbb,0x94}, {0x4f,0xcc,0x82,0xcc,0x89}},
+    {{0xc3,0x95},      {0x4f,0xcc,0x83}},
+    {{0xe1,0xb9,0x8c}, {0x4f,0xcc,0x83,0xcc,0x81}},
+    {{0xe1,0xb9,0x8e}, {0x4f,0xcc,0x83,0xcc,0x88}},
+    {{0xc5,0x8c},      {0x4f,0xcc,0x84}},
+    {{0xe1,0xb9,0x90}, {0x4f,0xcc,0x84,0xcc,0x80}},
+    {{0xe1,0xb9,0x92}, {0x4f,0xcc,0x84,0xcc,0x81}},
+    {{0xc5,0x8e},      {0x4f,0xcc,0x86}},
+    {{0xc3,0x96},      {0x4f,0xcc,0x88}},
+    {{0xe1,0xbb,0x8e}, {0x4f,0xcc,0x89}},
+    {{0xc5,0x90},      {0x4f,0xcc,0x8b}},
+    {{0xc7,0x91},      {0x4f,0xcc,0x8c}},
+    {{0xc8,0x8c},      {0x4f,0xcc,0x8f}},
+    {{0xc8,0x8e},      {0x4f,0xcc,0x91}},
+    {{0xc6,0xa0},      {0x4f,0xcc,0x9b}},
+    {{0xe1,0xbb,0x9c}, {0x4f,0xcc,0x9b,0xcc,0x80}},
+    {{0xe1,0xbb,0x9a}, {0x4f,0xcc,0x9b,0xcc,0x81}},
+    {{0xe1,0xbb,0xa0}, {0x4f,0xcc,0x9b,0xcc,0x83}},
+    {{0xe1,0xbb,0x9e}, {0x4f,0xcc,0x9b,0xcc,0x89}},
+    {{0xe1,0xbb,0xa2}, {0x4f,0xcc,0x9b,0xcc,0xa3}},
+    {{0xe1,0xbb,0x8c}, {0x4f,0xcc,0xa3}},
+    {{0xe1,0xbb,0x98}, {0x4f,0xcc,0xa3,0xcc,0x82}},
+    {{0xc7,0xaa},      {0x4f,0xcc,0xa8}},
+    {{0xc7,0xac},      {0x4f,0xcc,0xa8,0xcc,0x84}},
+    {{0xe1,0xb9,0x94}, {0x50,0xcc,0x81}},
+    {{0xe1,0xb9,0x96}, {0x50,0xcc,0x87}},
+    {{0xc5,0x94},      {0x52,0xcc,0x81}},
+    {{0xe1,0xb9,0x98}, {0x52,0xcc,0x87}},
+    {{0xc5,0x98},      {0x52,0xcc,0x8c}},
+    {{0xc8,0x90},      {0x52,0xcc,0x8f}},
+    {{0xc8,0x92},      {0x52,0xcc,0x91}},
+    {{0xe1,0xb9,0x9a}, {0x52,0xcc,0xa3}},
+    {{0xe1,0xb9,0x9c}, {0x52,0xcc,0xa3,0xcc,0x84}},
+    {{0xc5,0x96},      {0x52,0xcc,0xa7}},
+    {{0xe1,0xb9,0x9e}, {0x52,0xcc,0xb1}},
+    {{0xc5,0x9a},      {0x53,0xcc,0x81}},
+    {{0xe1,0xb9,0xa4}, {0x53,0xcc,0x81,0xcc,0x87}},
+    {{0xc5,0x9c},      {0x53,0xcc,0x82}},
+    {{0xe1,0xb9,0xa0}, {0x53,0xcc,0x87}},
+    {{0xc5,0xa0},      {0x53,0xcc,0x8c}},
+    {{0xe1,0xb9,0xa6}, {0x53,0xcc,0x8c,0xcc,0x87}},
+    {{0xe1,0xb9,0xa2}, {0x53,0xcc,0xa3}},
+    {{0xe1,0xb9,0xa8}, {0x53,0xcc,0xa3,0xcc,0x87}},
+    {{0xc5,0x9e},      {0x53,0xcc,0xa7}},
+    {{0xe1,0xb9,0xaa}, {0x54,0xcc,0x87}},
+    {{0xc5,0xa4},      {0x54,0xcc,0x8c}},
+    {{0xe1,0xb9,0xac}, {0x54,0xcc,0xa3}},
+    {{0xc5,0xa2},      {0x54,0xcc,0xa7}},
+    {{0xe1,0xb9,0xb0}, {0x54,0xcc,0xad}},
+    {{0xe1,0xb9,0xae}, {0x54,0xcc,0xb1}},
+    {{0xc3,0x99},      {0x55,0xcc,0x80}},
+    {{0xc3,0x9a},      {0x55,0xcc,0x81}},
+    {{0xc3,0x9b},      {0x55,0xcc,0x82}},
+    {{0xc5,0xa8},      {0x55,0xcc,0x83}},
+    {{0xe1,0xb9,0xb8}, {0x55,0xcc,0x83,0xcc,0x81}},
+    {{0xc5,0xaa},      {0x55,0xcc,0x84}},
+    {{0xe1,0xb9,0xba}, {0x55,0xcc,0x84,0xcc,0x88}},
+    {{0xc5,0xac},      {0x55,0xcc,0x86}},
+    {{0xc3,0x9c},      {0x55,0xcc,0x88}},
+    {{0xc7,0x9b},      {0x55,0xcc,0x88,0xcc,0x80}},
+    {{0xc7,0x97},      {0x55,0xcc,0x88,0xcc,0x81}},
+    {{0xc7,0x95},      {0x55,0xcc,0x88,0xcc,0x84}},
+    {{0xc7,0x99},      {0x55,0xcc,0x88,0xcc,0x8c}},
+    {{0xe1,0xbb,0xa6}, {0x55,0xcc,0x89}},
+    {{0xc5,0xae},      {0x55,0xcc,0x8a}},
+    {{0xc5,0xb0},      {0x55,0xcc,0x8b}},
+    {{0xc7,0x93},      {0x55,0xcc,0x8c}},
+    {{0xc8,0x94},      {0x55,0xcc,0x8f}},
+    {{0xc8,0x96},      {0x55,0xcc,0x91}},
+    {{0xc6,0xaf},      {0x55,0xcc,0x9b}},
+    {{0xe1,0xbb,0xaa}, {0x55,0xcc,0x9b,0xcc,0x80}},
+    {{0xe1,0xbb,0xa8}, {0x55,0xcc,0x9b,0xcc,0x81}},
+    {{0xe1,0xbb,0xae}, {0x55,0xcc,0x9b,0xcc,0x83}},
+    {{0xe1,0xbb,0xac}, {0x55,0xcc,0x9b,0xcc,0x89}},
+    {{0xe1,0xbb,0xb0}, {0x55,0xcc,0x9b,0xcc,0xa3}},
+    {{0xe1,0xbb,0xa4}, {0x55,0xcc,0xa3}},
+    {{0xe1,0xb9,0xb2}, {0x55,0xcc,0xa4}},
+    {{0xc5,0xb2},      {0x55,0xcc,0xa8}},
+    {{0xe1,0xb9,0xb6}, {0x55,0xcc,0xad}},
+    {{0xe1,0xb9,0xb4}, {0x55,0xcc,0xb0}},
+    {{0xe1,0xb9,0xbc}, {0x56,0xcc,0x83}},
+    {{0xe1,0xb9,0xbe}, {0x56,0xcc,0xa3}},
+    {{0xe1,0xba,0x80}, {0x57,0xcc,0x80}},
+    {{0xe1,0xba,0x82}, {0x57,0xcc,0x81}},
+    {{0xc5,0xb4},      {0x57,0xcc,0x82}},
+    {{0xe1,0xba,0x86}, {0x57,0xcc,0x87}},
+    {{0xe1,0xba,0x84}, {0x57,0xcc,0x88}},
+    {{0xe1,0xba,0x88}, {0x57,0xcc,0xa3}},
+    {{0xe1,0xba,0x8a}, {0x58,0xcc,0x87}},
+    {{0xe1,0xba,0x8c}, {0x58,0xcc,0x88}},
+    {{0xe1,0xbb,0xb2}, {0x59,0xcc,0x80}},
+    {{0xc3,0x9d},      {0x59,0xcc,0x81}},
+    {{0xc5,0xb6},      {0x59,0xcc,0x82}},
+    {{0xe1,0xbb,0xb8}, {0x59,0xcc,0x83}},
+    {{0xe1,0xba,0x8e}, {0x59,0xcc,0x87}},
+    {{0xc5,0xb8},      {0x59,0xcc,0x88}},
+    {{0xe1,0xbb,0xb6}, {0x59,0xcc,0x89}},
+    {{0xe1,0xbb,0xb4}, {0x59,0xcc,0xa3}},
+    {{0xc5,0xb9},      {0x5a,0xcc,0x81}},
+    {{0xe1,0xba,0x90}, {0x5a,0xcc,0x82}},
+    {{0xc5,0xbb},      {0x5a,0xcc,0x87}},
+    {{0xc5,0xbd},      {0x5a,0xcc,0x8c}},
+    {{0xe1,0xba,0x92}, {0x5a,0xcc,0xa3}},
+    {{0xe1,0xba,0x94}, {0x5a,0xcc,0xb1}},
+    {{0xe1,0xbf,0xaf}, {0x60}},
+    {{0xc3,0xa0},      {0x61,0xcc,0x80}},
+    {{0xc3,0xa1},      {0x61,0xcc,0x81}},
+    {{0xc3,0xa2},      {0x61,0xcc,0x82}},
+    {{0xe1,0xba,0xa7}, {0x61,0xcc,0x82,0xcc,0x80}},
+    {{0xe1,0xba,0xa5}, {0x61,0xcc,0x82,0xcc,0x81}},
+    {{0xe1,0xba,0xab}, {0x61,0xcc,0x82,0xcc,0x83}},
+    {{0xe1,0xba,0xa9}, {0x61,0xcc,0x82,0xcc,0x89}},
+    {{0xc3,0xa3},      {0x61,0xcc,0x83}},
+    {{0xc4,0x81},      {0x61,0xcc,0x84}},
+    {{0xc4,0x83},      {0x61,0xcc,0x86}},
+    {{0xe1,0xba,0xb1}, {0x61,0xcc,0x86,0xcc,0x80}},
+    {{0xe1,0xba,0xaf}, {0x61,0xcc,0x86,0xcc,0x81}},
+    {{0xe1,0xba,0xb5}, {0x61,0xcc,0x86,0xcc,0x83}},
+    {{0xe1,0xba,0xb3}, {0x61,0xcc,0x86,0xcc,0x89}},
+    {{0xc7,0xa1},      {0x61,0xcc,0x87,0xcc,0x84}},
+    {{0xc3,0xa4},      {0x61,0xcc,0x88}},
+    {{0xc7,0x9f},      {0x61,0xcc,0x88,0xcc,0x84}},
+    {{0xe1,0xba,0xa3}, {0x61,0xcc,0x89}},
+    {{0xc3,0xa5},      {0x61,0xcc,0x8a}},
+    {{0xc7,0xbb},      {0x61,0xcc,0x8a,0xcc,0x81}},
+    {{0xc7,0x8e},      {0x61,0xcc,0x8c}},
+    {{0xc8,0x81},      {0x61,0xcc,0x8f}},
+    {{0xc8,0x83},      {0x61,0xcc,0x91}},
+    {{0xe1,0xba,0xa1}, {0x61,0xcc,0xa3}},
+    {{0xe1,0xba,0xad}, {0x61,0xcc,0xa3,0xcc,0x82}},
+    {{0xe1,0xba,0xb7}, {0x61,0xcc,0xa3,0xcc,0x86}},
+    {{0xe1,0xb8,0x81}, {0x61,0xcc,0xa5}},
+    {{0xc4,0x85},      {0x61,0xcc,0xa8}},
+    {{0xe1,0xb8,0x83}, {0x62,0xcc,0x87}},
+    {{0xe1,0xb8,0x85}, {0x62,0xcc,0xa3}},
+    {{0xe1,0xb8,0x87}, {0x62,0xcc,0xb1}},
+    {{0xc4,0x87},      {0x63,0xcc,0x81}},
+    {{0xc4,0x89},      {0x63,0xcc,0x82}},
+    {{0xc4,0x8b},      {0x63,0xcc,0x87}},
+    {{0xc4,0x8d},      {0x63,0xcc,0x8c}},
+    {{0xc3,0xa7},      {0x63,0xcc,0xa7}},
+    {{0xe1,0xb8,0x89}, {0x63,0xcc,0xa7,0xcc,0x81}},
+    {{0xe1,0xb8,0x8b}, {0x64,0xcc,0x87}},
+    {{0xc4,0x8f},      {0x64,0xcc,0x8c}},
+    {{0xe1,0xb8,0x8d}, {0x64,0xcc,0xa3}},
+    {{0xe1,0xb8,0x91}, {0x64,0xcc,0xa7}},
+    {{0xe1,0xb8,0x93}, {0x64,0xcc,0xad}},
+    {{0xe1,0xb8,0x8f}, {0x64,0xcc,0xb1}},
+    {{0xc3,0xa8},      {0x65,0xcc,0x80}},
+    {{0xc3,0xa9},      {0x65,0xcc,0x81}},
+    {{0xc3,0xaa},      {0x65,0xcc,0x82}},
+    {{0xe1,0xbb,0x81}, {0x65,0xcc,0x82,0xcc,0x80}},
+    {{0xe1,0xba,0xbf}, {0x65,0xcc,0x82,0xcc,0x81}},
+    {{0xe1,0xbb,0x85}, {0x65,0xcc,0x82,0xcc,0x83}},
+    {{0xe1,0xbb,0x83}, {0x65,0xcc,0x82,0xcc,0x89}},
+    {{0xe1,0xba,0xbd}, {0x65,0xcc,0x83}},
+    {{0xc4,0x93},      {0x65,0xcc,0x84}},
+    {{0xe1,0xb8,0x95}, {0x65,0xcc,0x84,0xcc,0x80}},
+    {{0xe1,0xb8,0x97}, {0x65,0xcc,0x84,0xcc,0x81}},
+    {{0xc4,0x95},      {0x65,0xcc,0x86}},
+    {{0xc4,0x97},      {0x65,0xcc,0x87}},
+    {{0xc3,0xab},      {0x65,0xcc,0x88}},
+    {{0xe1,0xba,0xbb}, {0x65,0xcc,0x89}},
+    {{0xc4,0x9b},      {0x65,0xcc,0x8c}},
+    {{0xc8,0x85},      {0x65,0xcc,0x8f}},
+    {{0xc8,0x87},      {0x65,0xcc,0x91}},
+    {{0xe1,0xba,0xb9}, {0x65,0xcc,0xa3}},
+    {{0xe1,0xbb,0x87}, {0x65,0xcc,0xa3,0xcc,0x82}},
+    {{0xe1,0xb8,0x9d}, {0x65,0xcc,0xa7,0xcc,0x86}},
+    {{0xc4,0x99},      {0x65,0xcc,0xa8}},
+    {{0xe1,0xb8,0x99}, {0x65,0xcc,0xad}},
+    {{0xe1,0xb8,0x9b}, {0x65,0xcc,0xb0}},
+    {{0xe1,0xb8,0x9f}, {0x66,0xcc,0x87}},
+    {{0xc7,0xb5},      {0x67,0xcc,0x81}},
+    {{0xc4,0x9d},      {0x67,0xcc,0x82}},
+    {{0xe1,0xb8,0xa1}, {0x67,0xcc,0x84}},
+    {{0xc4,0x9f},      {0x67,0xcc,0x86}},
+    {{0xc4,0xa1},      {0x67,0xcc,0x87}},
+    {{0xc7,0xa7},      {0x67,0xcc,0x8c}},
+    {{0xc4,0xa3},      {0x67,0xcc,0xa7}},
+    {{0xc4,0xa5},      {0x68,0xcc,0x82}},
+    {{0xe1,0xb8,0xa3}, {0x68,0xcc,0x87}},
+    {{0xe1,0xb8,0xa7}, {0x68,0xcc,0x88}},
+    {{0xe1,0xb8,0xa5}, {0x68,0xcc,0xa3}},
+    {{0xe1,0xb8,0xa9}, {0x68,0xcc,0xa7}},
+    {{0xe1,0xb8,0xab}, {0x68,0xcc,0xae}},
+    {{0xe1,0xba,0x96}, {0x68,0xcc,0xb1}},
+    {{0xc3,0xac},      {0x69,0xcc,0x80}},
+    {{0xc3,0xad},      {0x69,0xcc,0x81}},
+    {{0xc3,0xae},      {0x69,0xcc,0x82}},
+    {{0xc4,0xa9},      {0x69,0xcc,0x83}},
+    {{0xc4,0xab},      {0x69,0xcc,0x84}},
+    {{0xc4,0xad},      {0x69,0xcc,0x86}},
+    {{0xc3,0xaf},      {0x69,0xcc,0x88}},
+    {{0xe1,0xb8,0xaf}, {0x69,0xcc,0x88,0xcc,0x81}},
+    {{0xe1,0xbb,0x89}, {0x69,0xcc,0x89}},
+    {{0xc7,0x90},      {0x69,0xcc,0x8c}},
+    {{0xc8,0x89},      {0x69,0xcc,0x8f}},
+    {{0xc8,0x8b},      {0x69,0xcc,0x91}},
+    {{0xe1,0xbb,0x8b}, {0x69,0xcc,0xa3}},
+    {{0xc4,0xaf},      {0x69,0xcc,0xa8}},
+    {{0xe1,0xb8,0xad}, {0x69,0xcc,0xb0}},
+    {{0xc4,0xb5},      {0x6a,0xcc,0x82}},
+    {{0xc7,0xb0},      {0x6a,0xcc,0x8c}},
+    {{0xe1,0xb8,0xb1}, {0x6b,0xcc,0x81}},
+    {{0xc7,0xa9},      {0x6b,0xcc,0x8c}},
+    {{0xe1,0xb8,0xb3}, {0x6b,0xcc,0xa3}},
+    {{0xc4,0xb7},      {0x6b,0xcc,0xa7}},
+    {{0xe1,0xb8,0xb5}, {0x6b,0xcc,0xb1}},
+    {{0xc4,0xba},      {0x6c,0xcc,0x81}},
+    {{0xc4,0xbe},      {0x6c,0xcc,0x8c}},
+    {{0xe1,0xb8,0xb7}, {0x6c,0xcc,0xa3}},
+    {{0xe1,0xb8,0xb9}, {0x6c,0xcc,0xa3,0xcc,0x84}},
+    {{0xc4,0xbc},      {0x6c,0xcc,0xa7}},
+    {{0xe1,0xb8,0xbd}, {0x6c,0xcc,0xad}},
+    {{0xe1,0xb8,0xbb}, {0x6c,0xcc,0xb1}},
+    {{0xe1,0xb8,0xbf}, {0x6d,0xcc,0x81}},
+    {{0xe1,0xb9,0x81}, {0x6d,0xcc,0x87}},
+    {{0xe1,0xb9,0x83}, {0x6d,0xcc,0xa3}},
+    {{0xc5,0x84},      {0x6e,0xcc,0x81}},
+    {{0xc3,0xb1},      {0x6e,0xcc,0x83}},
+    {{0xe1,0xb9,0x85}, {0x6e,0xcc,0x87}},
+    {{0xc5,0x88},      {0x6e,0xcc,0x8c}},
+    {{0xe1,0xb9,0x87}, {0x6e,0xcc,0xa3}},
+    {{0xc5,0x86},      {0x6e,0xcc,0xa7}},
+    {{0xe1,0xb9,0x8b}, {0x6e,0xcc,0xad}},
+    {{0xe1,0xb9,0x89}, {0x6e,0xcc,0xb1}},
+    {{0xc3,0xb2},      {0x6f,0xcc,0x80}},
+    {{0xc3,0xb3},      {0x6f,0xcc,0x81}},
+    {{0xc3,0xb4},      {0x6f,0xcc,0x82}},
+    {{0xe1,0xbb,0x93}, {0x6f,0xcc,0x82,0xcc,0x80}},
+    {{0xe1,0xbb,0x91}, {0x6f,0xcc,0x82,0xcc,0x81}},
+    {{0xe1,0xbb,0x97}, {0x6f,0xcc,0x82,0xcc,0x83}},
+    {{0xe1,0xbb,0x95}, {0x6f,0xcc,0x82,0xcc,0x89}},
+    {{0xc3,0xb5},      {0x6f,0xcc,0x83}},
+    {{0xe1,0xb9,0x8d}, {0x6f,0xcc,0x83,0xcc,0x81}},
+    {{0xe1,0xb9,0x8f}, {0x6f,0xcc,0x83,0xcc,0x88}},
+    {{0xc5,0x8d},      {0x6f,0xcc,0x84}},
+    {{0xe1,0xb9,0x91}, {0x6f,0xcc,0x84,0xcc,0x80}},
+    {{0xe1,0xb9,0x93}, {0x6f,0xcc,0x84,0xcc,0x81}},
+    {{0xc5,0x8f},      {0x6f,0xcc,0x86}},
+    {{0xc3,0xb6},      {0x6f,0xcc,0x88}},
+    {{0xe1,0xbb,0x8f}, {0x6f,0xcc,0x89}},
+    {{0xc5,0x91},      {0x6f,0xcc,0x8b}},
+    {{0xc7,0x92},      {0x6f,0xcc,0x8c}},
+    {{0xc8,0x8d},      {0x6f,0xcc,0x8f}},
+    {{0xc8,0x8f},      {0x6f,0xcc,0x91}},
+    {{0xc6,0xa1},      {0x6f,0xcc,0x9b}},
+    {{0xe1,0xbb,0x9d}, {0x6f,0xcc,0x9b,0xcc,0x80}},
+    {{0xe1,0xbb,0x9b}, {0x6f,0xcc,0x9b,0xcc,0x81}},
+    {{0xe1,0xbb,0xa1}, {0x6f,0xcc,0x9b,0xcc,0x83}},
+    {{0xe1,0xbb,0x9f}, {0x6f,0xcc,0x9b,0xcc,0x89}},
+    {{0xe1,0xbb,0xa3}, {0x6f,0xcc,0x9b,0xcc,0xa3}},
+    {{0xe1,0xbb,0x8d}, {0x6f,0xcc,0xa3}},
+    {{0xe1,0xbb,0x99}, {0x6f,0xcc,0xa3,0xcc,0x82}},
+    {{0xc7,0xab},      {0x6f,0xcc,0xa8}},
+    {{0xc7,0xad},      {0x6f,0xcc,0xa8,0xcc,0x84}},
+    {{0xe1,0xb9,0x95}, {0x70,0xcc,0x81}},
+    {{0xe1,0xb9,0x97}, {0x70,0xcc,0x87}},
+    {{0xc5,0x95},      {0x72,0xcc,0x81}},
+    {{0xe1,0xb9,0x99}, {0x72,0xcc,0x87}},
+    {{0xc5,0x99},      {0x72,0xcc,0x8c}},
+    {{0xc8,0x91},      {0x72,0xcc,0x8f}},
+    {{0xc8,0x93},      {0x72,0xcc,0x91}},
+    {{0xe1,0xb9,0x9b}, {0x72,0xcc,0xa3}},
+    {{0xe1,0xb9,0x9d}, {0x72,0xcc,0xa3,0xcc,0x84}},
+    {{0xc5,0x97},      {0x72,0xcc,0xa7}},
+    {{0xe1,0xb9,0x9f}, {0x72,0xcc,0xb1}},
+    {{0xc5,0x9b},      {0x73,0xcc,0x81}},
+    {{0xe1,0xb9,0xa5}, {0x73,0xcc,0x81,0xcc,0x87}},
+    {{0xc5,0x9d},      {0x73,0xcc,0x82}},
+    {{0xe1,0xb9,0xa1}, {0x73,0xcc,0x87}},
+    {{0xc5,0xa1},      {0x73,0xcc,0x8c}},
+    {{0xe1,0xb9,0xa7}, {0x73,0xcc,0x8c,0xcc,0x87}},
+    {{0xe1,0xb9,0xa3}, {0x73,0xcc,0xa3}},
+    {{0xe1,0xb9,0xa9}, {0x73,0xcc,0xa3,0xcc,0x87}},
+    {{0xc5,0x9f},      {0x73,0xcc,0xa7}},
+    {{0xe1,0xb9,0xab}, {0x74,0xcc,0x87}},
+    {{0xe1,0xba,0x97}, {0x74,0xcc,0x88}},
+    {{0xc5,0xa5},      {0x74,0xcc,0x8c}},
+    {{0xe1,0xb9,0xad}, {0x74,0xcc,0xa3}},
+    {{0xc5,0xa3},      {0x74,0xcc,0xa7}},
+    {{0xe1,0xb9,0xb1}, {0x74,0xcc,0xad}},
+    {{0xe1,0xb9,0xaf}, {0x74,0xcc,0xb1}},
+    {{0xc3,0xb9},      {0x75,0xcc,0x80}},
+    {{0xc3,0xba},      {0x75,0xcc,0x81}},
+    {{0xc3,0xbb},      {0x75,0xcc,0x82}},
+    {{0xc5,0xa9},      {0x75,0xcc,0x83}},
+    {{0xe1,0xb9,0xb9}, {0x75,0xcc,0x83,0xcc,0x81}},
+    {{0xc5,0xab},      {0x75,0xcc,0x84}},
+    {{0xe1,0xb9,0xbb}, {0x75,0xcc,0x84,0xcc,0x88}},
+    {{0xc5,0xad},      {0x75,0xcc,0x86}},
+    {{0xc3,0xbc},      {0x75,0xcc,0x88}},
+    {{0xc7,0x9c},      {0x75,0xcc,0x88,0xcc,0x80}},
+    {{0xc7,0x98},      {0x75,0xcc,0x88,0xcc,0x81}},
+    {{0xc7,0x96},      {0x75,0xcc,0x88,0xcc,0x84}},
+    {{0xc7,0x9a},      {0x75,0xcc,0x88,0xcc,0x8c}},
+    {{0xe1,0xbb,0xa7}, {0x75,0xcc,0x89}},
+    {{0xc5,0xaf},      {0x75,0xcc,0x8a}},
+    {{0xc5,0xb1},      {0x75,0xcc,0x8b}},
+    {{0xc7,0x94},      {0x75,0xcc,0x8c}},
+    {{0xc8,0x95},      {0x75,0xcc,0x8f}},
+    {{0xc8,0x97},      {0x75,0xcc,0x91}},
+    {{0xc6,0xb0},      {0x75,0xcc,0x9b}},
+    {{0xe1,0xbb,0xab}, {0x75,0xcc,0x9b,0xcc,0x80}},
+    {{0xe1,0xbb,0xa9}, {0x75,0xcc,0x9b,0xcc,0x81}},
+    {{0xe1,0xbb,0xaf}, {0x75,0xcc,0x9b,0xcc,0x83}},
+    {{0xe1,0xbb,0xad}, {0x75,0xcc,0x9b,0xcc,0x89}},
+    {{0xe1,0xbb,0xb1}, {0x75,0xcc,0x9b,0xcc,0xa3}},
+    {{0xe1,0xbb,0xa5}, {0x75,0xcc,0xa3}},
+    {{0xe1,0xb9,0xb3}, {0x75,0xcc,0xa4}},
+    {{0xc5,0xb3},      {0x75,0xcc,0xa8}},
+    {{0xe1,0xb9,0xb7}, {0x75,0xcc,0xad}},
+    {{0xe1,0xb9,0xb5}, {0x75,0xcc,0xb0}},
+    {{0xe1,0xb9,0xbd}, {0x76,0xcc,0x83}},
+    {{0xe1,0xb9,0xbf}, {0x76,0xcc,0xa3}},
+    {{0xe1,0xba,0x81}, {0x77,0xcc,0x80}},
+    {{0xe1,0xba,0x83}, {0x77,0xcc,0x81}},
+    {{0xc5,0xb5},      {0x77,0xcc,0x82}},
+    {{0xe1,0xba,0x87}, {0x77,0xcc,0x87}},
+    {{0xe1,0xba,0x85}, {0x77,0xcc,0x88}},
+    {{0xe1,0xba,0x98}, {0x77,0xcc,0x8a}},
+    {{0xe1,0xba,0x89}, {0x77,0xcc,0xa3}},
+    {{0xe1,0xba,0x8b}, {0x78,0xcc,0x87}},
+    {{0xe1,0xba,0x8d}, {0x78,0xcc,0x88}},
+    {{0xe1,0xbb,0xb3}, {0x79,0xcc,0x80}},
+    {{0xc3,0xbd},      {0x79,0xcc,0x81}},
+    {{0xc5,0xb7},      {0x79,0xcc,0x82}},
+    {{0xe1,0xbb,0xb9}, {0x79,0xcc,0x83}},
+    {{0xe1,0xba,0x8f}, {0x79,0xcc,0x87}},
+    {{0xc3,0xbf},      {0x79,0xcc,0x88}},
+    {{0xe1,0xbb,0xb7}, {0x79,0xcc,0x89}},
+    {{0xe1,0xba,0x99}, {0x79,0xcc,0x8a}},
+    {{0xe1,0xbb,0xb5}, {0x79,0xcc,0xa3}},
+    {{0xc5,0xba},      {0x7a,0xcc,0x81}},
+    {{0xe1,0xba,0x91}, {0x7a,0xcc,0x82}},
+    {{0xc5,0xbc},      {0x7a,0xcc,0x87}},
+    {{0xc5,0xbe},      {0x7a,0xcc,0x8c}},
+    {{0xe1,0xba,0x93}, {0x7a,0xcc,0xa3}},
+    {{0xe1,0xba,0x95}, {0x7a,0xcc,0xb1}},
+    {{0xe1,0xbf,0xad}, {0xc2,0xa8,0xcc,0x80}},
+    {{0xe1,0xbf,0xae}, {0xc2,0xa8,0xcc,0x81}},
+    {{0xce,0x85},      {0xc2,0xa8,0xcc,0x8d}},
+    {{0xe1,0xbf,0x81}, {0xc2,0xa8,0xcd,0x82}},
+    {{0xe1,0xbf,0xbd}, {0xc2,0xb4}},
+    {{0xce,0x87},      {0xc2,0xb7}},
+    {{0xd3,0x94},      {0xc3,0x86}},
+    {{0xc7,0xbc},      {0xc3,0x86,0xcc,0x81}},
+    {{0xc7,0xa2},      {0xc3,0x86,0xcc,0x84}},
+    {{0xc7,0xbe},      {0xc3,0x98,0xcc,0x81}},
+    {{0xd3,0x95},      {0xc3,0xa6}},
+    {{0xc7,0xbd},      {0xc3,0xa6,0xcc,0x81}},
+    {{0xc7,0xa3},      {0xc3,0xa6,0xcc,0x84}},
+    {{0xc7,0xbf},      {0xc3,0xb8,0xcc,0x81}},
+    {{0xe1,0xba,0x9b}, {0xc5,0xbf,0xcc,0x87}},
+    {{0xd3,0x98},      {0xc6,0x8f}},
+    {{0xd3,0x9a},      {0xc6,0x8f,0xcc,0x88}},
+    {{0xd3,0xa8},      {0xc6,0x9f}},
+    {{0xd3,0xaa},      {0xc6,0x9f,0xcc,0x88}},
+    {{0xd3,0xa0},      {0xc6,0xb7}},
+    {{0xc7,0xae},      {0xc6,0xb7,0xcc,0x8c}},
+    {{0xd3,0x99},      {0xc9,0x99}},
+    {{0xd3,0x9b},      {0xc9,0x99,0xcc,0x88}},
+    {{0xd3,0xa9},      {0xc9,0xb5}},
+    {{0xd3,0xab},      {0xc9,0xb5,0xcc,0x88}},
+    {{0xd3,0xa1},      {0xca,0x92}},
+    {{0xc7,0xaf},      {0xca,0x92,0xcc,0x8c}},
+    {{0xcd,0xb4},      {0xca,0xb9}},
+    {{0xcd,0x80},      {0xcc,0x80}},
+    {{0xcd,0x81},      {0xcc,0x81}},
+    {{0xcc,0x90},      {0xcc,0x86,0xcc,0x87}},
+    {{0xcd,0x84},      {0xcc,0x88,0xcc,0x8d}},
+    {{0xcd,0x83},      {0xcc,0x93}},
+    {{0xe1,0xbe,0xba}, {0xce,0x91,0xcc,0x80}},
+    {{0xe1,0xbe,0xbb}, {0xce,0x91,0xcc,0x81}},
+    {{0xe1,0xbe,0xb9}, {0xce,0x91,0xcc,0x84}},
+    {{0xe1,0xbe,0xb8}, {0xce,0x91,0xcc,0x86}},
+    {{0xce,0x86},      {0xce,0x91,0xcc,0x8d}},
+    {{0xe1,0xbc,0x88}, {0xce,0x91,0xcc,0x93}},
+    {{0xe1,0xbc,0x8a}, {0xce,0x91,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbc,0x8c}, {0xce,0x91,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbc,0x8e}, {0xce,0x91,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbc,0x89}, {0xce,0x91,0xcc,0x94}},
+    {{0xe1,0xbc,0x8b}, {0xce,0x91,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbc,0x8d}, {0xce,0x91,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbc,0x8f}, {0xce,0x91,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbe,0xbc}, {0xce,0x91,0xcd,0x85}},
+    {{0xe1,0xbe,0x88}, {0xce,0x91,0xcd,0x85,0xcc,0x93}},
+    {{0xe1,0xbe,0x8a}, {0xce,0x91,0xcd,0x85,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbe,0x8c}, {0xce,0x91,0xcd,0x85,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbe,0x8e}, {0xce,0x91,0xcd,0x85,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbe,0x89}, {0xce,0x91,0xcd,0x85,0xcc,0x94}},
+    {{0xe1,0xbe,0x8b}, {0xce,0x91,0xcd,0x85,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbe,0x8d}, {0xce,0x91,0xcd,0x85,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbe,0x8f}, {0xce,0x91,0xcd,0x85,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0x88}, {0xce,0x95,0xcc,0x80}},
+    {{0xe1,0xbf,0x89}, {0xce,0x95,0xcc,0x81}},
+    {{0xce,0x88},      {0xce,0x95,0xcc,0x8d}},
+    {{0xe1,0xbc,0x98}, {0xce,0x95,0xcc,0x93}},
+    {{0xe1,0xbc,0x9a}, {0xce,0x95,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbc,0x9c}, {0xce,0x95,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbc,0x99}, {0xce,0x95,0xcc,0x94}},
+    {{0xe1,0xbc,0x9b}, {0xce,0x95,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbc,0x9d}, {0xce,0x95,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbf,0x8a}, {0xce,0x97,0xcc,0x80}},
+    {{0xe1,0xbf,0x8b}, {0xce,0x97,0xcc,0x81}},
+    {{0xce,0x89},      {0xce,0x97,0xcc,0x8d}},
+    {{0xe1,0xbc,0xa8}, {0xce,0x97,0xcc,0x93}},
+    {{0xe1,0xbc,0xaa}, {0xce,0x97,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbc,0xac}, {0xce,0x97,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbc,0xae}, {0xce,0x97,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbc,0xa9}, {0xce,0x97,0xcc,0x94}},
+    {{0xe1,0xbc,0xab}, {0xce,0x97,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbc,0xad}, {0xce,0x97,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbc,0xaf}, {0xce,0x97,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0x8c}, {0xce,0x97,0xcd,0x85}},
+    {{0xe1,0xbe,0x98}, {0xce,0x97,0xcd,0x85,0xcc,0x93}},
+    {{0xe1,0xbe,0x9a}, {0xce,0x97,0xcd,0x85,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbe,0x9c}, {0xce,0x97,0xcd,0x85,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbe,0x9e}, {0xce,0x97,0xcd,0x85,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbe,0x99}, {0xce,0x97,0xcd,0x85,0xcc,0x94}},
+    {{0xe1,0xbe,0x9b}, {0xce,0x97,0xcd,0x85,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbe,0x9d}, {0xce,0x97,0xcd,0x85,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbe,0x9f}, {0xce,0x97,0xcd,0x85,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0x9a}, {0xce,0x99,0xcc,0x80}},
+    {{0xe1,0xbf,0x9b}, {0xce,0x99,0xcc,0x81}},
+    {{0xe1,0xbf,0x99}, {0xce,0x99,0xcc,0x84}},
+    {{0xe1,0xbf,0x98}, {0xce,0x99,0xcc,0x86}},
+    {{0xce,0xaa},      {0xce,0x99,0xcc,0x88}},
+    {{0xce,0x8a},      {0xce,0x99,0xcc,0x8d}},
+    {{0xe1,0xbc,0xb8}, {0xce,0x99,0xcc,0x93}},
+    {{0xe1,0xbc,0xba}, {0xce,0x99,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbc,0xbc}, {0xce,0x99,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbc,0xbe}, {0xce,0x99,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbc,0xb9}, {0xce,0x99,0xcc,0x94}},
+    {{0xe1,0xbc,0xbb}, {0xce,0x99,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbc,0xbd}, {0xce,0x99,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbc,0xbf}, {0xce,0x99,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0xb8}, {0xce,0x9f,0xcc,0x80}},
+    {{0xe1,0xbf,0xb9}, {0xce,0x9f,0xcc,0x81}},
+    {{0xce,0x8c},      {0xce,0x9f,0xcc,0x8d}},
+    {{0xe1,0xbd,0x88}, {0xce,0x9f,0xcc,0x93}},
+    {{0xe1,0xbd,0x8a}, {0xce,0x9f,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbd,0x8c}, {0xce,0x9f,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbd,0x89}, {0xce,0x9f,0xcc,0x94}},
+    {{0xe1,0xbd,0x8b}, {0xce,0x9f,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbd,0x8d}, {0xce,0x9f,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbf,0xac}, {0xce,0xa1,0xcc,0x94}},
+    {{0xe1,0xbf,0xaa}, {0xce,0xa5,0xcc,0x80}},
+    {{0xe1,0xbf,0xab}, {0xce,0xa5,0xcc,0x81}},
+    {{0xe1,0xbf,0xa9}, {0xce,0xa5,0xcc,0x84}},
+    {{0xe1,0xbf,0xa8}, {0xce,0xa5,0xcc,0x86}},
+    {{0xce,0xab},      {0xce,0xa5,0xcc,0x88}},
+    {{0xce,0x8e},      {0xce,0xa5,0xcc,0x8d}},
+    {{0xe1,0xbd,0x99}, {0xce,0xa5,0xcc,0x94}},
+    {{0xe1,0xbd,0x9b}, {0xce,0xa5,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbd,0x9d}, {0xce,0xa5,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbd,0x9f}, {0xce,0xa5,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0xba}, {0xce,0xa9,0xcc,0x80}},
+    {{0xe1,0xbf,0xbb}, {0xce,0xa9,0xcc,0x81}},
+    {{0xce,0x8f},      {0xce,0xa9,0xcc,0x8d}},
+    {{0xe1,0xbd,0xa8}, {0xce,0xa9,0xcc,0x93}},
+    {{0xe1,0xbd,0xaa}, {0xce,0xa9,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbd,0xac}, {0xce,0xa9,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbd,0xae}, {0xce,0xa9,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbd,0xa9}, {0xce,0xa9,0xcc,0x94}},
+    {{0xe1,0xbd,0xab}, {0xce,0xa9,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbd,0xad}, {0xce,0xa9,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbd,0xaf}, {0xce,0xa9,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0xbc}, {0xce,0xa9,0xcd,0x85}},
+    {{0xe1,0xbe,0xa8}, {0xce,0xa9,0xcd,0x85,0xcc,0x93}},
+    {{0xe1,0xbe,0xaa}, {0xce,0xa9,0xcd,0x85,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbe,0xac}, {0xce,0xa9,0xcd,0x85,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbe,0xae}, {0xce,0xa9,0xcd,0x85,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbe,0xa9}, {0xce,0xa9,0xcd,0x85,0xcc,0x94}},
+    {{0xe1,0xbe,0xab}, {0xce,0xa9,0xcd,0x85,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbe,0xad}, {0xce,0xa9,0xcd,0x85,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbe,0xaf}, {0xce,0xa9,0xcd,0x85,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbd,0xb0}, {0xce,0xb1,0xcc,0x80}},
+    {{0xe1,0xbd,0xb1}, {0xce,0xb1,0xcc,0x81}},
+    {{0xe1,0xbe,0xb1}, {0xce,0xb1,0xcc,0x84}},
+    {{0xe1,0xbe,0xb0}, {0xce,0xb1,0xcc,0x86}},
+    {{0xce,0xac},      {0xce,0xb1,0xcc,0x8d}},
+    {{0xe1,0xbc,0x80}, {0xce,0xb1,0xcc,0x93}},
+    {{0xe1,0xbc,0x82}, {0xce,0xb1,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbc,0x84}, {0xce,0xb1,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbc,0x86}, {0xce,0xb1,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbc,0x81}, {0xce,0xb1,0xcc,0x94}},
+    {{0xe1,0xbc,0x83}, {0xce,0xb1,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbc,0x85}, {0xce,0xb1,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbc,0x87}, {0xce,0xb1,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbe,0xb6}, {0xce,0xb1,0xcd,0x82}},
+    {{0xe1,0xbe,0xb3}, {0xce,0xb1,0xcd,0x85}},
+    {{0xe1,0xbe,0xb2}, {0xce,0xb1,0xcd,0x85,0xcc,0x80}},
+    {{0xe1,0xbe,0xb4}, {0xce,0xb1,0xcd,0x85,0xcc,0x81}},
+    {{0xe1,0xbe,0x80}, {0xce,0xb1,0xcd,0x85,0xcc,0x93}},
+    {{0xe1,0xbe,0x82}, {0xce,0xb1,0xcd,0x85,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbe,0x84}, {0xce,0xb1,0xcd,0x85,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbe,0x86}, {0xce,0xb1,0xcd,0x85,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbe,0x81}, {0xce,0xb1,0xcd,0x85,0xcc,0x94}},
+    {{0xe1,0xbe,0x83}, {0xce,0xb1,0xcd,0x85,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbe,0x85}, {0xce,0xb1,0xcd,0x85,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbe,0x87}, {0xce,0xb1,0xcd,0x85,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbe,0xb7}, {0xce,0xb1,0xcd,0x85,0xcd,0x82}},
+    {{0xe1,0xbd,0xb2}, {0xce,0xb5,0xcc,0x80}},
+    {{0xe1,0xbd,0xb3}, {0xce,0xb5,0xcc,0x81}},
+    {{0xce,0xad},      {0xce,0xb5,0xcc,0x8d}},
+    {{0xe1,0xbc,0x90}, {0xce,0xb5,0xcc,0x93}},
+    {{0xe1,0xbc,0x92}, {0xce,0xb5,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbc,0x94}, {0xce,0xb5,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbc,0x91}, {0xce,0xb5,0xcc,0x94}},
+    {{0xe1,0xbc,0x93}, {0xce,0xb5,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbc,0x95}, {0xce,0xb5,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbd,0xb4}, {0xce,0xb7,0xcc,0x80}},
+    {{0xe1,0xbd,0xb5}, {0xce,0xb7,0xcc,0x81}},
+    {{0xce,0xae},      {0xce,0xb7,0xcc,0x8d}},
+    {{0xe1,0xbc,0xa0}, {0xce,0xb7,0xcc,0x93}},
+    {{0xe1,0xbc,0xa2}, {0xce,0xb7,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbc,0xa4}, {0xce,0xb7,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbc,0xa6}, {0xce,0xb7,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbc,0xa1}, {0xce,0xb7,0xcc,0x94}},
+    {{0xe1,0xbc,0xa3}, {0xce,0xb7,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbc,0xa5}, {0xce,0xb7,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbc,0xa7}, {0xce,0xb7,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0x86}, {0xce,0xb7,0xcd,0x82}},
+    {{0xe1,0xbf,0x83}, {0xce,0xb7,0xcd,0x85}},
+    {{0xe1,0xbf,0x82}, {0xce,0xb7,0xcd,0x85,0xcc,0x80}},
+    {{0xe1,0xbf,0x84}, {0xce,0xb7,0xcd,0x85,0xcc,0x81}},
+    {{0xe1,0xbe,0x90}, {0xce,0xb7,0xcd,0x85,0xcc,0x93}},
+    {{0xe1,0xbe,0x92}, {0xce,0xb7,0xcd,0x85,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbe,0x94}, {0xce,0xb7,0xcd,0x85,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbe,0x96}, {0xce,0xb7,0xcd,0x85,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbe,0x91}, {0xce,0xb7,0xcd,0x85,0xcc,0x94}},
+    {{0xe1,0xbe,0x93}, {0xce,0xb7,0xcd,0x85,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbe,0x95}, {0xce,0xb7,0xcd,0x85,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbe,0x97}, {0xce,0xb7,0xcd,0x85,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0x87}, {0xce,0xb7,0xcd,0x85,0xcd,0x82}},
+    {{0xe1,0xbe,0xbe}, {0xce,0xb9}},
+    {{0xe1,0xbd,0xb6}, {0xce,0xb9,0xcc,0x80}},
+    {{0xe1,0xbd,0xb7}, {0xce,0xb9,0xcc,0x81}},
+    {{0xe1,0xbf,0x91}, {0xce,0xb9,0xcc,0x84}},
+    {{0xe1,0xbf,0x90}, {0xce,0xb9,0xcc,0x86}},
+    {{0xcf,0x8a},      {0xce,0xb9,0xcc,0x88}},
+    {{0xe1,0xbf,0x92}, {0xce,0xb9,0xcc,0x88,0xcc,0x80}},
+    {{0xe1,0xbf,0x93}, {0xce,0xb9,0xcc,0x88,0xcc,0x81}},
+    {{0xce,0x90},      {0xce,0xb9,0xcc,0x88,0xcc,0x8d}},
+    {{0xe1,0xbf,0x97}, {0xce,0xb9,0xcc,0x88,0xcd,0x82}},
+    {{0xce,0xaf},      {0xce,0xb9,0xcc,0x8d}},
+    {{0xe1,0xbc,0xb0}, {0xce,0xb9,0xcc,0x93}},
+    {{0xe1,0xbc,0xb2}, {0xce,0xb9,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbc,0xb4}, {0xce,0xb9,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbc,0xb6}, {0xce,0xb9,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbc,0xb1}, {0xce,0xb9,0xcc,0x94}},
+    {{0xe1,0xbc,0xb3}, {0xce,0xb9,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbc,0xb5}, {0xce,0xb9,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbc,0xb7}, {0xce,0xb9,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0x96}, {0xce,0xb9,0xcd,0x82}},
+    {{0xe1,0xbd,0xb8}, {0xce,0xbf,0xcc,0x80}},
+    {{0xe1,0xbd,0xb9}, {0xce,0xbf,0xcc,0x81}},
+    {{0xcf,0x8c},      {0xce,0xbf,0xcc,0x8d}},
+    {{0xe1,0xbd,0x80}, {0xce,0xbf,0xcc,0x93}},
+    {{0xe1,0xbd,0x82}, {0xce,0xbf,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbd,0x84}, {0xce,0xbf,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbd,0x81}, {0xce,0xbf,0xcc,0x94}},
+    {{0xe1,0xbd,0x83}, {0xce,0xbf,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbd,0x85}, {0xce,0xbf,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbf,0xb4}, {0xce,0xbf,0xcd,0x85,0xcc,0x81}},
+    {{0xe1,0xbf,0xa4}, {0xcf,0x81,0xcc,0x93}},
+    {{0xe1,0xbf,0xa5}, {0xcf,0x81,0xcc,0x94}},
+    {{0xe1,0xbd,0xba}, {0xcf,0x85,0xcc,0x80}},
+    {{0xe1,0xbd,0xbb}, {0xcf,0x85,0xcc,0x81}},
+    {{0xe1,0xbf,0xa1}, {0xcf,0x85,0xcc,0x84}},
+    {{0xe1,0xbf,0xa0}, {0xcf,0x85,0xcc,0x86}},
+    {{0xcf,0x8b},      {0xcf,0x85,0xcc,0x88}},
+    {{0xe1,0xbf,0xa2}, {0xcf,0x85,0xcc,0x88,0xcc,0x80}},
+    {{0xe1,0xbf,0xa3}, {0xcf,0x85,0xcc,0x88,0xcc,0x81}},
+    {{0xce,0xb0},      {0xcf,0x85,0xcc,0x88,0xcc,0x8d}},
+    {{0xe1,0xbf,0xa7}, {0xcf,0x85,0xcc,0x88,0xcd,0x82}},
+    {{0xcf,0x8d},      {0xcf,0x85,0xcc,0x8d}},
+    {{0xe1,0xbd,0x90}, {0xcf,0x85,0xcc,0x93}},
+    {{0xe1,0xbd,0x92}, {0xcf,0x85,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbd,0x94}, {0xcf,0x85,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbd,0x96}, {0xcf,0x85,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbd,0x91}, {0xcf,0x85,0xcc,0x94}},
+    {{0xe1,0xbd,0x93}, {0xcf,0x85,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbd,0x95}, {0xcf,0x85,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbd,0x97}, {0xcf,0x85,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0xa6}, {0xcf,0x85,0xcd,0x82}},
+    {{0xe1,0xbd,0xbc}, {0xcf,0x89,0xcc,0x80}},
+    {{0xe1,0xbd,0xbd}, {0xcf,0x89,0xcc,0x81}},
+    {{0xcf,0x8e},      {0xcf,0x89,0xcc,0x8d}},
+    {{0xe1,0xbd,0xa0}, {0xcf,0x89,0xcc,0x93}},
+    {{0xe1,0xbd,0xa2}, {0xcf,0x89,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbd,0xa4}, {0xcf,0x89,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbd,0xa6}, {0xcf,0x89,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbd,0xa1}, {0xcf,0x89,0xcc,0x94}},
+    {{0xe1,0xbd,0xa3}, {0xcf,0x89,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbd,0xa5}, {0xcf,0x89,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbd,0xa7}, {0xcf,0x89,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0xb6}, {0xcf,0x89,0xcd,0x82}},
+    {{0xe1,0xbf,0xb3}, {0xcf,0x89,0xcd,0x85}},
+    {{0xe1,0xbf,0xb2}, {0xcf,0x89,0xcd,0x85,0xcc,0x80}},
+    {{0xe1,0xbe,0xa0}, {0xcf,0x89,0xcd,0x85,0xcc,0x93}},
+    {{0xe1,0xbe,0xa2}, {0xcf,0x89,0xcd,0x85,0xcc,0x93,0xcc,0x80}},
+    {{0xe1,0xbe,0xa4}, {0xcf,0x89,0xcd,0x85,0xcc,0x93,0xcc,0x81}},
+    {{0xe1,0xbe,0xa6}, {0xcf,0x89,0xcd,0x85,0xcc,0x93,0xcd,0x82}},
+    {{0xe1,0xbe,0xa1}, {0xcf,0x89,0xcd,0x85,0xcc,0x94}},
+    {{0xe1,0xbe,0xa3}, {0xcf,0x89,0xcd,0x85,0xcc,0x94,0xcc,0x80}},
+    {{0xe1,0xbe,0xa5}, {0xcf,0x89,0xcd,0x85,0xcc,0x94,0xcc,0x81}},
+    {{0xe1,0xbe,0xa7}, {0xcf,0x89,0xcd,0x85,0xcc,0x94,0xcd,0x82}},
+    {{0xe1,0xbf,0xb7}, {0xcf,0x89,0xcd,0x85,0xcd,0x82}},
+    {{0xcf,0x94},      {0xcf,0x92,0xcc,0x88}},
+    {{0xcf,0x93},      {0xcf,0x92,0xcc,0x8d}},
+    {{0xd0,0x87},      {0xd0,0x86,0xcc,0x88}},
+    {{0xd3,0x90},      {0xd0,0x90,0xcc,0x86}},
+    {{0xd3,0x92},      {0xd0,0x90,0xcc,0x88}},
+    {{0xd0,0x83},      {0xd0,0x93,0xcc,0x81}},
+    {{0xd3,0x96},      {0xd0,0x95,0xcc,0x86}},
+    {{0xd0,0x81},      {0xd0,0x95,0xcc,0x88}},
+    {{0xd3,0x81},      {0xd0,0x96,0xcc,0x86}},
+    {{0xd3,0x9c},      {0xd0,0x96,0xcc,0x88}},
+    {{0xd3,0x9e},      {0xd0,0x97,0xcc,0x88}},
+    {{0xd3,0xa2},      {0xd0,0x98,0xcc,0x84}},
+    {{0xd0,0x99},      {0xd0,0x98,0xcc,0x86}},
+    {{0xd3,0xa4},      {0xd0,0x98,0xcc,0x88}},
+    {{0xd0,0x8c},      {0xd0,0x9a,0xcc,0x81}},
+    {{0xd3,0xa6},      {0xd0,0x9e,0xcc,0x88}},
+    {{0xd3,0xae},      {0xd0,0xa3,0xcc,0x84}},
+    {{0xd0,0x8e},      {0xd0,0xa3,0xcc,0x86}},
+    {{0xd3,0xb0},      {0xd0,0xa3,0xcc,0x88}},
+    {{0xd3,0xb2},      {0xd0,0xa3,0xcc,0x8b}},
+    {{0xd3,0xb4},      {0xd0,0xa7,0xcc,0x88}},
+    {{0xd3,0xb8},      {0xd0,0xab,0xcc,0x88}},
+    {{0xd3,0x91},      {0xd0,0xb0,0xcc,0x86}},
+    {{0xd3,0x93},      {0xd0,0xb0,0xcc,0x88}},
+    {{0xd1,0x93},      {0xd0,0xb3,0xcc,0x81}},
+    {{0xd3,0x97},      {0xd0,0xb5,0xcc,0x86}},
+    {{0xd1,0x91},      {0xd0,0xb5,0xcc,0x88}},
+    {{0xd3,0x82},      {0xd0,0xb6,0xcc,0x86}},
+    {{0xd3,0x9d},      {0xd0,0xb6,0xcc,0x88}},
+    {{0xd3,0x9f},      {0xd0,0xb7,0xcc,0x88}},
+    {{0xd3,0xa3},      {0xd0,0xb8,0xcc,0x84}},
+    {{0xd0,0xb9},      {0xd0,0xb8,0xcc,0x86}},
+    {{0xd3,0xa5},      {0xd0,0xb8,0xcc,0x88}},
+    {{0xd1,0x9c},      {0xd0,0xba,0xcc,0x81}},
+    {{0xd3,0xa7},      {0xd0,0xbe,0xcc,0x88}},
+    {{0xd3,0xaf},      {0xd1,0x83,0xcc,0x84}},
+    {{0xd1,0x9e},      {0xd1,0x83,0xcc,0x86}},
+    {{0xd3,0xb1},      {0xd1,0x83,0xcc,0x88}},
+    {{0xd3,0xb3},      {0xd1,0x83,0xcc,0x8b}},
+    {{0xd3,0xb5},      {0xd1,0x87,0xcc,0x88}},
+    {{0xd3,0xb9},      {0xd1,0x8b,0xcc,0x88}},
+    {{0xd1,0x97},      {0xd1,0x96,0xcc,0x88}},
+    {{0xd1,0xb6},      {0xd1,0xb4,0xcc,0x8f}},
+    {{0xd1,0xb7},      {0xd1,0xb5,0xcc,0x8f}},
+    {{0xef,0xac,0xae}, {0xd7,0x90,0xd6,0xb7}},
+    {{0xef,0xac,0xaf}, {0xd7,0x90,0xd6,0xb8}},
+    {{0xef,0xac,0xb0}, {0xd7,0x90,0xd6,0xbc}},
+    {{0xef,0xac,0xb1}, {0xd7,0x91,0xd6,0xbc}},
+    {{0xef,0xad,0x8c}, {0xd7,0x91,0xd6,0xbf}},
+    {{0xef,0xac,0xb2}, {0xd7,0x92,0xd6,0xbc}},
+    {{0xef,0xac,0xb3}, {0xd7,0x93,0xd6,0xbc}},
+    {{0xef,0xac,0xb4}, {0xd7,0x94,0xd6,0xbc}},
+    {{0xef,0xad,0x8b}, {0xd7,0x95,0xd6,0xb9}},
+    {{0xef,0xac,0xb5}, {0xd7,0x95,0xd6,0xbc}},
+    {{0xef,0xac,0xb6}, {0xd7,0x96,0xd6,0xbc}},
+    {{0xef,0xac,0xb8}, {0xd7,0x98,0xd6,0xbc}},
+    {{0xef,0xac,0xb9}, {0xd7,0x99,0xd6,0xbc}},
+    {{0xef,0xac,0xba}, {0xd7,0x9a,0xd6,0xbc}},
+    {{0xef,0xac,0xbb}, {0xd7,0x9b,0xd6,0xbc}},
+    {{0xef,0xad,0x8d}, {0xd7,0x9b,0xd6,0xbf}},
+    {{0xef,0xac,0xbc}, {0xd7,0x9c,0xd6,0xbc}},
+    {{0xef,0xac,0xbe}, {0xd7,0x9e,0xd6,0xbc}},
+    {{0xef,0xad,0x80}, {0xd7,0xa0,0xd6,0xbc}},
+    {{0xef,0xad,0x81}, {0xd7,0xa1,0xd6,0xbc}},
+    {{0xef,0xad,0x83}, {0xd7,0xa3,0xd6,0xbc}},
+    {{0xef,0xad,0x84}, {0xd7,0xa4,0xd6,0xbc}},
+    {{0xef,0xad,0x8e}, {0xd7,0xa4,0xd6,0xbf}},
+    {{0xef,0xad,0x86}, {0xd7,0xa6,0xd6,0xbc}},
+    {{0xef,0xad,0x87}, {0xd7,0xa7,0xd6,0xbc}},
+    {{0xef,0xad,0x88}, {0xd7,0xa8,0xd6,0xbc}},
+    {{0xef,0xad,0x89}, {0xd7,0xa9,0xd6,0xbc}},
+    {{0xef,0xac,0xac}, {0xd7,0xa9,0xd6,0xbc,0xd7,0x81}},
+    {{0xef,0xac,0xad}, {0xd7,0xa9,0xd6,0xbc,0xd7,0x82}},
+    {{0xef,0xac,0xaa}, {0xd7,0xa9,0xd7,0x81}},
+    {{0xef,0xac,0xab}, {0xd7,0xa9,0xd7,0x82}},
+    {{0xef,0xad,0x8a}, {0xd7,0xaa,0xd6,0xbc}},
+    {{0xef,0xac,0x9f}, {0xd7,0xb2,0xd6,0xb7}},
+    {{0xe0,0xa5,0x98}, {0xe0,0xa4,0x95,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa5,0x99}, {0xe0,0xa4,0x96,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa5,0x9a}, {0xe0,0xa4,0x97,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa5,0x9b}, {0xe0,0xa4,0x9c,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa5,0x9c}, {0xe0,0xa4,0xa1,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa5,0x9d}, {0xe0,0xa4,0xa2,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa4,0xa9}, {0xe0,0xa4,0xa8,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa5,0x9e}, {0xe0,0xa4,0xab,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa5,0x9f}, {0xe0,0xa4,0xaf,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa4,0xb1}, {0xe0,0xa4,0xb0,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa4,0xb4}, {0xe0,0xa4,0xb3,0xe0,0xa4,0xbc}},
+    {{0xe0,0xa7,0x9c}, {0xe0,0xa6,0xa1,0xe0,0xa6,0xbc}},
+    {{0xe0,0xa7,0x9d}, {0xe0,0xa6,0xa2,0xe0,0xa6,0xbc}},
+    {{0xe0,0xa6,0xb0}, {0xe0,0xa6,0xac,0xe0,0xa6,0xbc}},
+    {{0xe0,0xa7,0x9f}, {0xe0,0xa6,0xaf,0xe0,0xa6,0xbc}},
+    {{0xe0,0xa7,0x8b}, {0xe0,0xa7,0x87,0xe0,0xa6,0xbe}},
+    {{0xe0,0xa7,0x8c}, {0xe0,0xa7,0x87,0xe0,0xa7,0x97}},
+    {{0xe0,0xa9,0x99}, {0xe0,0xa8,0x96,0xe0,0xa8,0xbc}},
+    {{0xe0,0xa9,0x9a}, {0xe0,0xa8,0x97,0xe0,0xa8,0xbc}},
+    {{0xe0,0xa9,0x9b}, {0xe0,0xa8,0x9c,0xe0,0xa8,0xbc}},
+    {{0xe0,0xa9,0x9c}, {0xe0,0xa8,0xa1,0xe0,0xa8,0xbc}},
+    {{0xe0,0xa9,0x9e}, {0xe0,0xa8,0xab,0xe0,0xa8,0xbc}},
+    {{0xe0,0xad,0x9c}, {0xe0,0xac,0xa1,0xe0,0xac,0xbc}},
+    {{0xe0,0xad,0x9d}, {0xe0,0xac,0xa2,0xe0,0xac,0xbc}},
+    {{0xe0,0xad,0x9f}, {0xe0,0xac,0xaf,0xe0,0xac,0xbc}},
+    {{0xe0,0xad,0x8b}, {0xe0,0xad,0x87,0xe0,0xac,0xbe}},
+    {{0xe0,0xad,0x88}, {0xe0,0xad,0x87,0xe0,0xad,0x96}},
+    {{0xe0,0xad,0x8c}, {0xe0,0xad,0x87,0xe0,0xad,0x97}},
+    {{0xe0,0xae,0x94}, {0xe0,0xae,0x92,0xe0,0xaf,0x97}},
+    {{0xe0,0xaf,0x8a}, {0xe0,0xaf,0x86,0xe0,0xae,0xbe}},
+    {{0xe0,0xaf,0x8c}, {0xe0,0xaf,0x86,0xe0,0xaf,0x97}},
+    {{0xe0,0xaf,0x8b}, {0xe0,0xaf,0x87,0xe0,0xae,0xbe}},
+    {{0xe0,0xb1,0x88}, {0xe0,0xb1,0x86,0xe0,0xb1,0x96}},
+    {{0xe0,0xb3,0x80}, {0xe0,0xb2,0xbf,0xe0,0xb3,0x95}},
+    {{0xe0,0xb3,0x8a}, {0xe0,0xb3,0x86,0xe0,0xb3,0x82}},
+    {{0xe0,0xb3,0x8b}, {0xe0,0xb3,0x86,0xe0,0xb3,0x82,0xe0,0xb3,0x95}},
+    {{0xe0,0xb3,0x87}, {0xe0,0xb3,0x86,0xe0,0xb3,0x95}},
+    {{0xe0,0xb3,0x88}, {0xe0,0xb3,0x86,0xe0,0xb3,0x96}},
+    {{0xe0,0xb5,0x8a}, {0xe0,0xb5,0x86,0xe0,0xb4,0xbe}},
+    {{0xe0,0xb5,0x8c}, {0xe0,0xb5,0x86,0xe0,0xb5,0x97}},
+    {{0xe0,0xb5,0x8b}, {0xe0,0xb5,0x87,0xe0,0xb4,0xbe}},
+    {{0xe0,0xb8,0xb3}, {0xe0,0xb9,0x8d,0xe0,0xb8,0xb2}},
+    {{0xe0,0xba,0xb3}, {0xe0,0xbb,0x8d,0xe0,0xba,0xb2}},
+    {{0xe0,0xbd,0xa9}, {0xe0,0xbd,0x80,0xe0,0xbe,0xb5}},
+    {{0xe0,0xbd,0x83}, {0xe0,0xbd,0x82,0xe0,0xbe,0xb7}},
+    {{0xe0,0xbd,0x8d}, {0xe0,0xbd,0x8c,0xe0,0xbe,0xb7}},
+    {{0xe0,0xbd,0x92}, {0xe0,0xbd,0x91,0xe0,0xbe,0xb7}},
+    {{0xe0,0xbd,0x97}, {0xe0,0xbd,0x96,0xe0,0xbe,0xb7}},
+    {{0xe0,0xbd,0x9c}, {0xe0,0xbd,0x9b,0xe0,0xbe,0xb7}},
+    {{0xe0,0xbd,0xb3}, {0xe0,0xbd,0xb2,0xe0,0xbd,0xb1}},
+    {{0xe0,0xbd,0xb5}, {0xe0,0xbd,0xb4,0xe0,0xbd,0xb1}},
+    {{0xe0,0xbe,0x81}, {0xe0,0xbe,0x80,0xe0,0xbd,0xb1}},
+    {{0xe0,0xbe,0xb9}, {0xe0,0xbe,0x90,0xe0,0xbe,0xb5}},
+    {{0xe0,0xbe,0x93}, {0xe0,0xbe,0x92,0xe0,0xbe,0xb7}},
+    {{0xe0,0xbe,0x9d}, {0xe0,0xbe,0x9c,0xe0,0xbe,0xb7}},
+    {{0xe0,0xbe,0xa2}, {0xe0,0xbe,0xa1,0xe0,0xbe,0xb7}},
+    {{0xe0,0xbe,0xa7}, {0xe0,0xbe,0xa6,0xe0,0xbe,0xb7}},
+    {{0xe0,0xbe,0xac}, {0xe0,0xbe,0xab,0xe0,0xbe,0xb7}},
+    {{0xe0,0xbd,0xb6}, {0xe0,0xbe,0xb2,0xe0,0xbe,0x80}},
+    {{0xe0,0xbd,0xb7}, {0xe0,0xbe,0xb2,0xe0,0xbe,0x80,0xe0,0xbd,0xb1}},
+    {{0xe0,0xbd,0xb8}, {0xe0,0xbe,0xb3,0xe0,0xbe,0x80}},
+    {{0xe0,0xbd,0xb9}, {0xe0,0xbe,0xb3,0xe0,0xbe,0x80,0xe0,0xbd,0xb1}},
+    {{0xe1,0xbf,0x8d}, {0xe1,0xbe,0xbf,0xcc,0x80}},
+    {{0xe1,0xbf,0x8e}, {0xe1,0xbe,0xbf,0xcc,0x81}},
+    {{0xe1,0xbf,0x8f}, {0xe1,0xbe,0xbf,0xcd,0x82}},
+    {{0xe1,0xbf,0x9d}, {0xe1,0xbf,0xbe,0xcc,0x80}},
+    {{0xe1,0xbf,0x9e}, {0xe1,0xbf,0xbe,0xcc,0x81}},
+    {{0xe1,0xbf,0x9f}, {0xe1,0xbf,0xbe,0xcd,0x82}},
+    {{0xe3,0x82,0x94}, {0xe3,0x81,0x86,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0x8c}, {0xe3,0x81,0x8b,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0x8e}, {0xe3,0x81,0x8d,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0x90}, {0xe3,0x81,0x8f,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0x92}, {0xe3,0x81,0x91,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0x94}, {0xe3,0x81,0x93,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0x96}, {0xe3,0x81,0x95,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0x98}, {0xe3,0x81,0x97,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0x9a}, {0xe3,0x81,0x99,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0x9c}, {0xe3,0x81,0x9b,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0x9e}, {0xe3,0x81,0x9d,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xa0}, {0xe3,0x81,0x9f,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xa2}, {0xe3,0x81,0xa1,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xa5}, {0xe3,0x81,0xa4,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xa7}, {0xe3,0x81,0xa6,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xa9}, {0xe3,0x81,0xa8,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xb0}, {0xe3,0x81,0xaf,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xb1}, {0xe3,0x81,0xaf,0xe3,0x82,0x9a}},
+    {{0xe3,0x81,0xb3}, {0xe3,0x81,0xb2,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xb4}, {0xe3,0x81,0xb2,0xe3,0x82,0x9a}},
+    {{0xe3,0x81,0xb6}, {0xe3,0x81,0xb5,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xb7}, {0xe3,0x81,0xb5,0xe3,0x82,0x9a}},
+    {{0xe3,0x81,0xb9}, {0xe3,0x81,0xb8,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xba}, {0xe3,0x81,0xb8,0xe3,0x82,0x9a}},
+    {{0xe3,0x81,0xbc}, {0xe3,0x81,0xbb,0xe3,0x82,0x99}},
+    {{0xe3,0x81,0xbd}, {0xe3,0x81,0xbb,0xe3,0x82,0x9a}},
+    {{0xe3,0x82,0x9e}, {0xe3,0x82,0x9d,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0xb4}, {0xe3,0x82,0xa6,0xe3,0x82,0x99}},
+    {{0xe3,0x82,0xac}, {0xe3,0x82,0xab,0xe3,0x82,0x99}},
+    {{0xe3,0x82,0xae}, {0xe3,0x82,0xad,0xe3,0x82,0x99}},
+    {{0xe3,0x82,0xb0}, {0xe3,0x82,0xaf,0xe3,0x82,0x99}},
+    {{0xe3,0x82,0xb2}, {0xe3,0x82,0xb1,0xe3,0x82,0x99}},
+    {{0xe3,0x82,0xb4}, {0xe3,0x82,0xb3,0xe3,0x82,0x99}},
+    {{0xe3,0x82,0xb6}, {0xe3,0x82,0xb5,0xe3,0x82,0x99}},
+    {{0xe3,0x82,0xb8}, {0xe3,0x82,0xb7,0xe3,0x82,0x99}},
+    {{0xe3,0x82,0xba}, {0xe3,0x82,0xb9,0xe3,0x82,0x99}},
+    {{0xe3,0x82,0xbc}, {0xe3,0x82,0xbb,0xe3,0x82,0x99}},
+    {{0xe3,0x82,0xbe}, {0xe3,0x82,0xbd,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x80}, {0xe3,0x82,0xbf,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x82}, {0xe3,0x83,0x81,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x85}, {0xe3,0x83,0x84,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x87}, {0xe3,0x83,0x86,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x89}, {0xe3,0x83,0x88,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x90}, {0xe3,0x83,0x8f,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x91}, {0xe3,0x83,0x8f,0xe3,0x82,0x9a}},
+    {{0xe3,0x83,0x93}, {0xe3,0x83,0x92,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x94}, {0xe3,0x83,0x92,0xe3,0x82,0x9a}},
+    {{0xe3,0x83,0x96}, {0xe3,0x83,0x95,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x97}, {0xe3,0x83,0x95,0xe3,0x82,0x9a}},
+    {{0xe3,0x83,0x99}, {0xe3,0x83,0x98,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x9a}, {0xe3,0x83,0x98,0xe3,0x82,0x9a}},
+    {{0xe3,0x83,0x9c}, {0xe3,0x83,0x9b,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0x9d}, {0xe3,0x83,0x9b,0xe3,0x82,0x9a}},
+    {{0xe3,0x83,0xb7}, {0xe3,0x83,0xaf,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0xb8}, {0xe3,0x83,0xb0,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0xb9}, {0xe3,0x83,0xb1,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0xba}, {0xe3,0x83,0xb2,0xe3,0x82,0x99}},
+    {{0xe3,0x83,0xbe}, {0xe3,0x83,0xbd,0xe3,0x82,0x99}},
+};
+#endif /* UNICODE_NORMALIZATION */
 #endif /* UTF8_INPUT_ENABLE */
 
 #ifdef SHIFTJIS_CP932