netwerk/dns/nameprepdata.c

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /*
     2  * Copyright (c) 2001,2002 Japan Network Information Center.
     3  * All rights reserved.
     4  *  
     5  * By using this file, you agree to the terms and conditions set forth bellow.
     6  * 
     7  * 			LICENSE TERMS AND CONDITIONS 
     8  * 
     9  * The following License Terms and Conditions apply, unless a different
    10  * license is obtained from Japan Network Information Center ("JPNIC"),
    11  * a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
    12  * Chiyoda-ku, Tokyo 101-0047, Japan.
    13  * 
    14  * 1. Use, Modification and Redistribution (including distribution of any
    15  *    modified or derived work) in source and/or binary forms is permitted
    16  *    under this License Terms and Conditions.
    17  * 
    18  * 2. Redistribution of source code must retain the copyright notices as they
    19  *    appear in each source code file, this License Terms and Conditions.
    20  * 
    21  * 3. Redistribution in binary form must reproduce the Copyright Notice,
    22  *    this License Terms and Conditions, in the documentation and/or other
    23  *    materials provided with the distribution.  For the purposes of binary
    24  *    distribution the "Copyright Notice" refers to the following language:
    25  *    "Copyright (c) 2000-2002 Japan Network Information Center.  All rights reserved."
    26  * 
    27  * 4. The name of JPNIC may not be used to endorse or promote products
    28  *    derived from this Software without specific prior written approval of
    29  *    JPNIC.
    30  * 
    31  * 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
    32  *    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    33  *    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
    34  *    PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL JPNIC BE LIABLE
    35  *    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    36  *    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    37  *    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
    38  *    BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    39  *    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    40  *    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
    41  *    ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    42  */
    44  /*
    45  * Do not edit this file!
    46  * This file is generated from NAMEPREP specification.
    47  */
    49 #define MAP_BITS_0	9
    50 #define MAP_BITS_1	7
    51 #define MAP_BITS_2	5
    53 #define PROH_BITS_0	7
    54 #define PROH_BITS_1	7
    55 #define PROH_BITS_2	7
    57 #define UNAS_BITS_0	7
    58 #define UNAS_BITS_1	7
    59 #define UNAS_BITS_2	7
    61 #define BIDI_BITS_0	9
    62 #define BIDI_BITS_1	7
    63 #define BIDI_BITS_2	5
    66 static const unsigned short nameprep_id11_map_imap[] = {
    67 	  272,   400,   528,   656,   784,   784,   784,   784, 
    68 	  784,   784,   784,   784,   784,   784,   784,   912, 
    69 	 1040,   784,   784,   784,   784,   784,   784,   784, 
    70 	  784,   784,   784,   784,   784,  1168,   784,   784, 
    71 	  784,   784,   784,   784,   784,   784,   784,   784, 
    72 	  784,   784,   784,   784,   784,   784,   784,   784, 
    73 	  784,   784,   784,   784,   784,   784,   784,   784, 
    74 	  784,   784,   784,   784,   784,   784,   784,   784, 
    75 	  784,   784,   784,   784,   784,   784,   784,   784, 
    76 	  784,   784,   784,   784,   784,   784,   784,   784, 
    77 	  784,   784,   784,   784,   784,   784,   784,   784, 
    78 	  784,   784,   784,   784,   784,   784,   784,   784, 
    79 	  784,   784,   784,   784,   784,   784,   784,   784, 
    80 	  784,   784,   784,   784,   784,   784,   784,   784, 
    81 	  784,   784,   784,   784,   784,   784,   784,   784, 
    82 	  784,   784,   784,   784,   784,   784,   784,   784, 
    83 	  784,   784,   784,   784,   784,   784,   784,   784, 
    84 	  784,   784,   784,   784,   784,   784,   784,   784, 
    85 	  784,   784,   784,   784,   784,   784,   784,   784, 
    86 	  784,   784,   784,   784,   784,   784,   784,   784, 
    87 	  784,   784,   784,   784,   784,   784,   784,   784, 
    88 	  784,   784,   784,   784,   784,   784,   784,   784, 
    89 	  784,   784,   784,   784,   784,   784,   784,   784, 
    90 	  784,   784,   784,   784,   784,   784,   784,   784, 
    91 	  784,   784,   784,   784,   784,   784,   784,   784, 
    92 	  784,   784,   784,   784,   784,   784,   784,   784, 
    93 	  784,   784,   784,   784,   784,   784,   784,   784, 
    94 	  784,   784,   784,   784,   784,   784,   784,   784, 
    95 	  784,   784,   784,   784,   784,   784,   784,   784, 
    96 	  784,   784,   784,   784,   784,   784,   784,   784, 
    97 	  784,   784,   784,   784,   784,   784,   784,   784, 
    98 	  784,   784,   784,   784,   784,   784,   784,   784, 
    99 	  784,   784,   784,   784,   784,   784,   784,   784, 
   100 	  784,   784,   784,   784,   784,   784,   784,   784, 
   101 	    0,     0,     1,     0,     0,     2,     3,     0, 
   102 	    4,     5,     6,     7,     8,     9,    10,    11, 
   103 	   12,    13,     0,     0,     0,     0,     0,     0, 
   104 	    0,     0,    14,    15,    16,    17,    18,    19, 
   105 	   20,    21,     0,    22,    23,    24,    25,    26, 
   106 	   27,    28,    29,     0,    30,     0,     0,     0, 
   107 	    0,     0,     0,     0,     0,     0,     0,     0, 
   108 	    0,     0,     0,     0,     0,     0,     0,     0, 
   109 	    0,     0,     0,     0,     0,     0,     0,     0, 
   110 	    0,     0,     0,     0,     0,     0,     0,     0, 
   111 	    0,     0,     0,     0,     0,     0,     0,     0, 
   112 	    0,     0,     0,     0,     0,     0,     0,     0, 
   113 	    0,     0,     0,     0,     0,     0,     0,     0, 
   114 	    0,     0,     0,     0,     0,     0,     0,     0, 
   115 	    0,     0,     0,     0,     0,     0,     0,     0, 
   116 	    0,     0,     0,     0,     0,     0,     0,     0, 
   117 	    0,     0,     0,     0,     0,     0,     0,     0, 
   118 	    0,     0,     0,     0,     0,     0,     0,     0, 
   119 	    0,     0,     0,     0,     0,     0,     0,     0, 
   120 	    0,     0,     0,     0,     0,     0,     0,     0, 
   121 	    0,     0,     0,     0,     0,     0,     0,     0, 
   122 	    0,     0,     0,     0,     0,     0,     0,     0, 
   123 	    0,     0,     0,     0,     0,     0,     0,     0, 
   124 	    0,     0,     0,     0,     0,     0,     0,     0, 
   125 	   31,     0,     0,     0,     0,     0,     0,     0, 
   126 	    0,     0,     0,     0,     0,     0,     0,     0, 
   127 	    0,     0,     0,     0,     0,     0,     0,     0, 
   128 	    0,     0,     0,     0,     0,     0,     0,     0, 
   129 	    0,     0,     0,     0,     0,     0,     0,     0, 
   130 	    0,     0,     0,     0,     0,     0,     0,     0, 
   131 	   32,    33,    34,    35,    36,    37,    38,    39, 
   132 	   40,    41,    42,    43,    44,    45,    46,    47, 
   133 	   48,     0,     0,    49,     0,    50,     0,     0, 
   134 	   51,    52,    53,    54,     0,     0,     0,     0, 
   135 	    0,     0,     0,     0,     0,     0,     0,     0, 
   136 	    0,     0,     0,     0,     0,     0,     0,     0, 
   137 	    0,     0,     0,     0,     0,    55,    56,     0, 
   138 	    0,     0,     0,     0,     0,     0,     0,     0, 
   139 	    0,     0,     0,     0,     0,     0,     0,     0, 
   140 	    0,     0,     0,     0,     0,     0,     0,     0, 
   141 	    0,     0,     0,     0,     0,     0,     0,     0, 
   142 	    0,     0,     0,     0,     0,     0,     0,     0, 
   143 	    0,     0,     0,     0,     0,     0,     0,     0, 
   144 	    0,     0,     0,     0,     0,     0,     0,     0, 
   145 	    0,     0,     0,     0,     0,     0,     0,     0, 
   146 	    0,     0,     0,     0,     0,     0,     0,     0, 
   147 	    0,     0,     0,     0,     0,     0,     0,     0, 
   148 	    0,     0,     0,     0,     0,     0,     0,     0, 
   149 	    0,     0,     0,     0,     0,     0,     0,     0, 
   150 	    0,     0,     0,     0,     0,     0,     0,     0, 
   151 	    0,     0,     0,     0,     0,     0,     0,     0, 
   152 	    0,     0,     0,    57,    58,    59,    60,     0, 
   153 	    0,     0,     0,     0,     0,     0,     0,     0, 
   154 	    0,     0,     0,     0,     0,     0,     0,     0, 
   155 	    0,     0,     0,     0,     0,     0,     0,     0, 
   156 	    0,     0,     0,     0,     0,     0,     0,     0, 
   157 	    0,     0,     0,     0,     0,     0,     0,     0, 
   158 	    0,     0,     0,     0,     0,     0,     0,     0, 
   159 	    0,     0,     0,     0,     0,     0,     0,     0, 
   160 	    0,     0,     0,     0,     0,     0,     0,     0, 
   161 	    0,     0,     0,     0,     0,     0,     0,     0, 
   162 	    0,     0,     0,     0,     0,     0,     0,     0, 
   163 	    0,     0,     0,     0,     0,     0,     0,     0, 
   164 	    0,     0,     0,     0,     0,     0,     0,     0, 
   165 	    0,     0,     0,     0,     0,     0,     0,     0, 
   166 	    0,     0,     0,     0,     0,     0,     0,     0, 
   167 	    0,     0,     0,     0,     0,     0,     0,     0, 
   168 	    0,     0,     0,     0,     0,     0,     0,     0, 
   169 	    0,     0,     0,     0,     0,     0,     0,     0, 
   170 	    0,     0,     0,     0,     0,     0,     0,     0, 
   171 	    0,     0,     0,     0,     0,     0,     0,     0, 
   172 	    0,     0,     0,     0,     0,     0,     0,     0, 
   173 	    0,     0,     0,     0,     0,     0,     0,     0, 
   174 	    0,     0,     0,     0,     0,     0,     0,     0, 
   175 	    0,     0,     0,     0,     0,     0,     0,     0, 
   176 	    0,     0,     0,     0,     0,     0,     0,     0, 
   177 	    0,     0,     0,     0,     0,     0,     0,     0, 
   178 	    0,     0,     0,     0,     0,     0,     0,     0, 
   179 	    0,     0,     0,     0,     0,     0,     0,     0, 
   180 	    0,     0,     0,     0,     0,     0,     0,     0, 
   181 	    0,     0,     0,     0,     0,     0,     0,     0, 
   182 	    0,     0,     0,     0,     0,     0,     0,     0, 
   183 	    0,     0,     0,     0,     0,     0,     0,     0, 
   184 	    0,     0,     0,     0,     0,     0,     0,     0, 
   185 	    0,     0,     0,     0,     0,     0,     0,     0, 
   186 	    0,     0,     0,     0,     0,     0,     0,     0, 
   187 	    0,     0,     0,     0,     0,     0,     0,     0, 
   188 	    0,     0,     0,     0,     0,     0,     0,     0, 
   189 	    0,     0,     0,     0,     0,     0,     0,     0, 
   190 	    0,     0,     0,     0,     0,     0,     0,     0, 
   191 	    0,     0,     0,     0,     0,     0,     0,     0, 
   192 	   61,     0,     0,     0,     0,     0,     0,     0, 
   193 	    0,     0,     0,     0,     0,     0,     0,     0, 
   194 	    0,     0,     0,     0,     0,     0,     0,     0, 
   195 	   62,     0,     0,     0,     0,     0,     0,    63, 
   196 	    0,    64,     0,     0,     0,     0,     0,     0, 
   197 	    0,     0,     0,     0,     0,     0,     0,     0, 
   198 	    0,     0,     0,     0,     0,     0,     0,     0, 
   199 	    0,     0,     0,     0,     0,     0,     0,     0, 
   200 	    0,     0,     0,     0,     0,     0,     0,     0, 
   201 	   65,    66,     0,     0,     0,     0,     0,     0, 
   202 	    0,     0,     0,     0,     0,     0,     0,     0, 
   203 	    0,     0,     0,     0,     0,     0,     0,     0, 
   204 	    0,     0,     0,     0,     0,     0,     0,     0, 
   205 	    0,     0,     0,     0,     0,     0,     0,     0, 
   206 	    0,     0,     0,     0,     0,     0,     0,     0, 
   207 	    0,     0,     0,     0,     0,     0,     0,     0, 
   208 	    0,     0,     0,     0,     0,     0,     0,     0, 
   209 	    0,     0,     0,     0,     0,     0,     0,     0, 
   210 	    0,     0,     0,     0,     0,     0,     0,     0, 
   211 	    0,     0,     0,     0,     0,     0,     0,     0, 
   212 	    0,     0,     0,     0,     0,     0,     0,     0, 
   213 	    0,     0,     0,     0,     0,     0,     0,     0, 
   214 	    0,     0,     0,     0,     0,     0,     0,     0, 
   215 	    0,     0,     0,     0,     0,     0,     0,     0, 
   216 	    0,     0,     0,     0,     0,     0,     0,     0, 
   217 	   67,    68,    69,    70,    71,    72,    73,    74, 
   218 	   75,    76,    77,    78,    79,    67,    68,    69, 
   219 	   70,    80,    81,    73,    74,    82,    83,    84, 
   220 	   85,    86,    87,    88,    89,    90,     0,     0, 
   221 	    0,     0,     0,     0,     0,     0,     0,     0, 
   222 	    0,     0,     0,     0,     0,     0,     0,     0, 
   223 	    0,     0,     0,     0,     0,     0,     0,     0, 
   224 	    0,     0,     0,     0,     0,     0,     0,     0, 
   225 	    0,     0,     0,     0,     0,     0,     0,     0, 
   226 	    0,     0,     0,     0,     0,     0,     0,     0, 
   227 	    0,     0,     0,     0,     0,     0,     0,     0, 
   228 	    0,     0,     0,     0,     0,     0,     0,     0, 
   229 };
   231 static const struct {
   232 	unsigned short tbl[32];
   233 } nameprep_id11_map_table[] = {
   234 	{{
   235 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   236 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   237 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   238 	}},
   239 	{{
   240 	   0,    2,    4,    6,    8,   10,   12,   14,   16,   18,   20, 
   241 	  22,   24,   26,   28,   30,   32,   34,   36,   38,   40,   42, 
   242 	  44,   46,   48,   50,   52,    0,    0,    0,    0,    0, 
   243 	}},
   244 	{{
   245 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   246 	   0,    0,    1,    0,    0,    0,    0,    0,    0,    0,   54, 
   247 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   248 	}},
   249 	{{
   250 	  57,   59,   61,   63,   65,   67,   69,   71,   73,   75,   77, 
   251 	  79,   81,   83,   85,   87,   89,   91,   93,   95,   97,   99, 
   252 	 101,    0,  103,  105,  107,  109,  111,  113,  115,  117, 
   253 	}},
   254 	{{
   255 	 123,    0,  126,    0,  129,    0,  132,    0,  135,    0,  138, 
   256 	   0,  141,    0,  144,    0,  147,    0,  150,    0,  153,    0, 
   257 	 156,    0,  159,    0,  162,    0,  165,    0,  168,    0, 
   258 	}},
   259 	{{
   260 	 171,    0,  174,    0,  177,    0,  180,    0,  183,    0,  186, 
   261 	   0,  189,    0,  192,    0,  195,    0,  202,    0,  205,    0, 
   262 	 208,    0,    0,  211,    0,  214,    0,  217,    0,  220, 
   263 	}},
   264 	{{
   265 	   0,  223,    0,  226,    0,  229,    0,  232,    0,  235,  241, 
   266 	   0,  244,    0,  247,    0,  250,    0,  253,    0,  256,    0, 
   267 	 259,    0,  262,    0,  265,    0,  268,    0,  271,    0, 
   268 	}},
   269 	{{
   270 	 274,    0,  277,    0,  280,    0,  283,    0,  286,    0,  289, 
   271 	   0,  292,    0,  295,    0,  298,    0,  301,    0,  304,    0, 
   272 	 307,    0,  310,  312,    0,  315,    0,  318,    0,   38, 
   273 	}},
   274 	{{
   275 	   0,  321,  324,    0,  327,    0,  330,  333,    0,  336,  339, 
   276 	 342,    0,    0,  345,  348,  351,  354,    0,  357,  360,    0, 
   277 	 363,  366,  369,    0,    0,    0,  372,  375,    0,  378, 
   278 	}},
   279 	{{
   280 	 381,    0,  384,    0,  387,    0,  390,  393,    0,  396,    0, 
   281 	   0,  399,    0,  402,  405,    0,  408,  411,  414,    0,  417, 
   282 	   0,  420,  423,    0,    0,    0,  426,    0,    0,    0, 
   283 	}},
   284 	{{
   285 	   0,    0,    0,    0,  429,  429,    0,  432,  432,    0,  435, 
   286 	 435,    0,  438,    0,  441,    0,  444,    0,  447,    0,  450, 
   287 	   0,  453,    0,  456,    0,  459,    0,    0,  462,    0, 
   288 	}},
   289 	{{
   290 	 465,    0,  468,    0,  471,    0,  474,    0,  477,    0,  480, 
   291 	   0,  483,    0,  486,    0,  489,  496,  496,    0,  499,    0, 
   292 	 502,  505,  508,    0,  511,    0,  514,    0,  517,    0, 
   293 	}},
   294 	{{
   295 	 520,    0,  523,    0,  526,    0,  529,    0,  532,    0,  535, 
   296 	   0,  538,    0,  541,    0,  544,    0,  547,    0,  550,    0, 
   297 	 553,    0,  556,    0,  559,    0,  562,    0,  565,    0, 
   298 	}},
   299 	{{
   300 	 568,    0,  571,    0,  574,    0,  577,    0,  580,    0,  583, 
   301 	   0,  586,    0,  589,    0,  592,    0,  595,    0,    0,    0, 
   302 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   303 	}},
   304 	{{
   305 	   0,    0,    0,    0,    0,  598,    0,    0,    0,    0,    0, 
   306 	   0,    0,    0,    0,    1,    0,    0,    0,    0,    0,    0, 
   307 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   308 	}},
   309 	{{
   310 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   311 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   312 	   0,    0,    0,    0,  601,    0,    0,    0,    0,    0, 
   313 	}},
   314 	{{
   315 	   0,    0,    0,    0,    0,    0,  608,    0,  611,  614,  617, 
   316 	   0,  620,    0,  623,  626,  629,  640,  643,  646,  649,  652, 
   317 	 655,  658,  661,  598,  664,  667,   54,  670,  673,  676, 
   318 	}},
   319 	{{
   320 	 679,  682,    0,  685,  688,  691,  694,  697,  700,  703,  706, 
   321 	 709,    0,    0,    0,    0,  712,    0,    0,    0,    0,    0, 
   322 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   323 	}},
   324 	{{
   325 	   0,    0,  685,    0,    0,    0,    0,    0,    0,    0,    0, 
   326 	   0,    0,    0,    0,    0,  643,  661,  691,  623,  709,  694, 
   327 	 679,    0,  723,    0,  726,    0,  729,    0,  732,    0, 
   328 	}},
   329 	{{
   330 	 735,    0,  738,    0,  741,    0,  744,    0,  747,    0,  750, 
   331 	   0,  753,    0,  756,    0,  664,  682,  685,    0,  661,  652, 
   332 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   333 	}},
   334 	{{
   335 	 759,  762,  765,  768,  771,  774,  777,  780,  783,  786,  789, 
   336 	 792,  795,  798,  801,  804,  807,  810,  813,  816,  819,  822, 
   337 	 825,  828,  831,  834,  837,  840,  843,  846,  849,  852, 
   338 	}},
   339 	{{
   340 	 855,  858,  861,  864,  867,  870,  873,  876,  879,  882,  885, 
   341 	 888,  891,  894,  897,  900,    0,    0,    0,    0,    0,    0, 
   342 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   343 	}},
   344 	{{
   345 	 903,    0,  906,    0,  909,    0,  912,    0,  915,    0,  918, 
   346 	   0,  921,    0,  924,    0,  927,    0,  930,    0,  933,    0, 
   347 	 936,    0,  939,    0,  942,    0,  945,    0,  948,    0, 
   348 	}},
   349 	{{
   350 	 951,    0,    0,    0,    0,    0,    0,    0,    0,    0,  954, 
   351 	   0,  957,    0,  960,    0,  963,    0,  966,    0,  969,    0, 
   352 	 972,    0,  975,    0,  978,    0,  981,    0,  984,    0, 
   353 	}},
   354 	{{
   355 	 987,    0,  990,    0,  993,    0,  996,    0,  999,    0, 1002, 
   356 	   0, 1005,    0, 1008,    0, 1011,    0, 1014,    0, 1017,    0, 
   357 	1020,    0, 1023,    0, 1026,    0, 1029,    0, 1032,    0, 
   358 	}},
   359 	{{
   360 	   0, 1035,    0, 1038,    0, 1041,    0, 1044,    0, 1047,    0, 
   361 	1050,    0, 1053,    0,    0, 1056,    0, 1059,    0, 1062,    0, 
   362 	1065,    0, 1068,    0, 1071,    0, 1074,    0, 1077,    0, 
   363 	}},
   364 	{{
   365 	1080,    0, 1083,    0, 1086,    0, 1089,    0, 1092,    0, 1095, 
   366 	   0, 1098,    0, 1101,    0, 1104,    0, 1107,    0, 1110,    0, 
   367 	   0,    0, 1113,    0,    0,    0,    0,    0,    0,    0, 
   368 	}},
   369 	{{
   370 	1116,    0, 1119,    0, 1122,    0, 1125,    0, 1128,    0, 1131, 
   371 	   0, 1134,    0, 1137,    0,    0,    0,    0,    0,    0,    0, 
   372 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   373 	}},
   374 	{{
   375 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   376 	   0,    0,    0,    0,    0,    0, 1140, 1143, 1146, 1149, 1152, 
   377 	1155, 1158, 1161, 1164, 1167, 1170, 1173, 1176, 1179, 1182, 
   378 	}},
   379 	{{
   380 	1185, 1188, 1191, 1194, 1197, 1200, 1203, 1206, 1209, 1212, 1215, 
   381 	1218, 1221, 1224, 1227, 1230, 1233, 1236, 1239, 1242, 1245, 1248, 
   382 	1251,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   383 	}},
   384 	{{
   385 	   0,    0,    0,    0,    0,    0,    0, 1254,    0,    0,    0, 
   386 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   387 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   388 	}},
   389 	{{
   390 	   0,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0, 
   391 	   1,    1,    1,    0,    0,    0,    0,    0,    0,    0,    0, 
   392 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   393 	}},
   394 	{{
   395 	1261,    0, 1264,    0, 1267,    0, 1270,    0, 1273,    0, 1276, 
   396 	   0, 1279,    0, 1282,    0, 1285,    0, 1288,    0, 1291,    0, 
   397 	1294,    0, 1297,    0, 1300,    0, 1303,    0, 1306,    0, 
   398 	}},
   399 	{{
   400 	1309,    0, 1312,    0, 1315,    0, 1318,    0, 1321,    0, 1324, 
   401 	   0, 1327,    0, 1330,    0, 1333,    0, 1336,    0, 1339,    0, 
   402 	1342,    0, 1345,    0, 1348,    0, 1351,    0, 1354,    0, 
   403 	}},
   404 	{{
   405 	1357,    0, 1360,    0, 1363,    0, 1366,    0, 1369,    0, 1372, 
   406 	   0, 1375,    0, 1378,    0, 1381,    0, 1384,    0, 1387,    0, 
   407 	1390,    0, 1393,    0, 1396,    0, 1399,    0, 1402,    0, 
   408 	}},
   409 	{{
   410 	1405,    0, 1408,    0, 1411,    0, 1414,    0, 1417,    0, 1420, 
   411 	   0, 1423,    0, 1426,    0, 1429,    0, 1432,    0, 1435,    0, 
   412 	1438,    0, 1441,    0, 1444,    0, 1447,    0, 1450,    0, 
   413 	}},
   414 	{{
   415 	1453,    0, 1456,    0, 1459,    0, 1462,    0, 1465,    0, 1468, 
   416 	   0, 1471,    0, 1474,    0, 1477,    0, 1480,    0, 1483,    0, 
   417 	1486, 1493, 1500, 1507, 1514, 1405,    0,    0,    0,    0, 
   418 	}},
   419 	{{
   420 	1521,    0, 1524,    0, 1527,    0, 1530,    0, 1533,    0, 1536, 
   421 	   0, 1539,    0, 1542,    0, 1545,    0, 1548,    0, 1551,    0, 
   422 	1554,    0, 1557,    0, 1560,    0, 1563,    0, 1566,    0, 
   423 	}},
   424 	{{
   425 	1569,    0, 1572,    0, 1575,    0, 1578,    0, 1581,    0, 1584, 
   426 	   0, 1587,    0, 1590,    0, 1593,    0, 1596,    0, 1599,    0, 
   427 	1602,    0, 1605,    0, 1608,    0, 1611,    0, 1614,    0, 
   428 	}},
   429 	{{
   430 	1617,    0, 1620,    0, 1623,    0, 1626,    0, 1629,    0, 1632, 
   431 	   0, 1635,    0, 1638,    0, 1641,    0, 1644,    0, 1647,    0, 
   432 	1650,    0, 1653,    0,    0,    0,    0,    0,    0,    0, 
   433 	}},
   434 	{{
   435 	   0,    0,    0,    0,    0,    0,    0,    0, 1656, 1659, 1662, 
   436 	1665, 1668, 1671, 1674, 1677,    0,    0,    0,    0,    0,    0, 
   437 	   0,    0, 1680, 1683, 1686, 1689, 1692, 1695,    0,    0, 
   438 	}},
   439 	{{
   440 	   0,    0,    0,    0,    0,    0,    0,    0, 1698, 1701, 1704, 
   441 	1707, 1710, 1713, 1716, 1719,    0,    0,    0,    0,    0,    0, 
   442 	   0,    0, 1722, 1725, 1728, 1731, 1734, 1737, 1740, 1743, 
   443 	}},
   444 	{{
   445 	   0,    0,    0,    0,    0,    0,    0,    0, 1746, 1749, 1752, 
   446 	1755, 1758, 1761,    0,    0, 1764,    0, 1771,    0, 1782,    0, 
   447 	1793,    0,    0, 1804,    0, 1807,    0, 1810,    0, 1813, 
   448 	}},
   449 	{{
   450 	   0,    0,    0,    0,    0,    0,    0,    0, 1816, 1819, 1822, 
   451 	1825, 1828, 1831, 1834, 1837,    0,    0,    0,    0,    0,    0, 
   452 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   453 	}},
   454 	{{
   455 	1840, 1847, 1854, 1861, 1868, 1875, 1882, 1889, 1840, 1847, 1854, 
   456 	1861, 1868, 1875, 1882, 1889, 1896, 1903, 1910, 1917, 1924, 1931, 
   457 	1938, 1945, 1896, 1903, 1910, 1917, 1924, 1931, 1938, 1945, 
   458 	}},
   459 	{{
   460 	1952, 1959, 1966, 1973, 1980, 1987, 1994, 2001, 1952, 1959, 1966, 
   461 	1973, 1980, 1987, 1994, 2001,    0,    0, 2008, 2015, 2022,    0, 
   462 	2029, 2036, 2047, 2050, 2053, 2056, 2015,    0,  598,    0, 
   463 	}},
   464 	{{
   465 	   0,    0, 2059, 2066, 2073,    0, 2080, 2087, 2098, 2101, 2104, 
   466 	2107, 2066,    0,    0,    0,    0,    0, 2110,  629,    0,    0, 
   467 	2121, 2128, 2139, 2142, 2145, 2148,    0,    0,    0,    0, 
   468 	}},
   469 	{{
   470 	   0,    0, 2151,  712, 2162,    0, 2169, 2176, 2187, 2190, 2193, 
   471 	2196, 2199,    0,    0,    0,    0,    0, 2202, 2209, 2216,    0, 
   472 	2223, 2230, 2241, 2244, 2247, 2250, 2209,    0,    0,    0, 
   473 	}},
   474 	{{
   475 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   476 	   1,    1,    1,    0,    0,    0,    0,    0,    0,    0,    0, 
   477 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   478 	}},
   479 	{{
   480 	   1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   481 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   482 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   483 	}},
   484 	{{
   485 	   0,    0,    0,    0,    0,    0,    0,    0, 2253,    0,    0, 
   486 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   487 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   488 	}},
   489 	{{
   490 	   0,    0,    6, 2259,    0,    0,    0,  351,    0, 2265,    0, 
   491 	  16,   16,   16,    0,    0,   18,   18,   24,    0,    0,   28, 
   492 	2271,    0,    0,   32,   34,   36,   36,   36,    0,    0, 
   493 	}},
   494 	{{
   495 	2277, 2283, 2293,    0,   52,    0,  703,    0,   52,    0,   22, 
   496 	  67,    4,    6,    0,    0,   10,   12,    0,   26,    0,    0, 
   497 	   0,    0,    0,    0,    0,    0,    0,    0,  646,  679, 
   498 	}},
   499 	{{
   500 	   0,    0,    0,    0,    0,    8,    0,    0,    0,    0,    0, 
   501 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   502 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   503 	}},
   504 	{{
   505 	2299, 2302, 2305, 2308, 2311, 2314, 2317, 2320, 2323, 2326, 2329, 
   506 	2332, 2335, 2338, 2341, 2344,    0,    0,    0,    0,    0,    0, 
   507 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   508 	}},
   509 	{{
   510 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   511 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   512 	2347, 2350, 2353, 2356, 2359, 2362, 2365, 2368, 2371, 2374, 
   513 	}},
   514 	{{
   515 	2377, 2380, 2383, 2386, 2389, 2392, 2395, 2398, 2401, 2404, 2407, 
   516 	2410, 2413, 2416, 2419, 2422,    0,    0,    0,    0,    0,    0, 
   517 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   518 	}},
   519 	{{
   520 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   521 	   0,    0,    0,    0,    0,    0, 2425,    0, 2435,    0, 2441, 
   522 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   523 	}},
   524 	{{
   525 	2447, 2453, 2459, 2465, 2471, 2477, 2483, 2489,    0,    0, 2495, 
   526 	2501, 2507,    0,    0,    0, 2513, 2519, 2529, 2539, 2549,    0, 
   527 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   528 	}},
   529 	{{
   530 	   0,    0,    0,    0,    0,    0,    0,    0,    0, 2447, 2559, 
   531 	2569, 2579,    0,    0,    0,    0,    0,    0,    0, 2589, 2595, 
   532 	2601, 2607, 2613, 2607, 2619, 2625, 2631, 2637, 2643, 2637, 
   533 	}},
   534 	{{
   535 	2649, 2656,    0, 2663,    0,    0, 2669, 2683, 2693, 2699,    0, 
   536 	2705,    0, 2711, 2717,    0,    0,    0,    0,    0,    0,    0, 
   537 	   0, 2723,    0, 2729, 2739,    0, 2745, 2751,    0,    0, 
   538 	}},
   539 	{{
   540 	2757, 2763, 2769, 2775, 2785, 2795, 2795,    0,    0,    0,    0, 
   541 	   0,    0,    0,    0,    0,    0,    0,    0, 2801, 2808, 2815, 
   542 	2822, 2829,    0,    0,    0,    0,    0,    0,    0,    0, 
   543 	}},
   544 	{{
   545 	   1,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
   546 	   1,    1,    1,    1,    1,    0,    0,    0,    0,    0,    0, 
   547 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   548 	}},
   549 	{{
   550 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   551 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   552 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    1, 
   553 	}},
   554 	{{
   555 	   0, 2836, 2839, 2842, 2845, 2848, 2851, 2854, 2857, 2860, 2863, 
   556 	2866, 2869, 2872, 2875, 2878, 2881, 2884, 2887, 2890, 2893, 2896, 
   557 	2899, 2902, 2905, 2908, 2911,    0,    0,    0,    0,    0, 
   558 	}},
   559 	{{
   560 	2914, 2918, 2922, 2926, 2930, 2934, 2938, 2942, 2946, 2950, 2954, 
   561 	2958, 2962, 2966, 2970, 2974, 2978, 2982, 2986, 2990, 2994, 2998, 
   562 	3002, 3006, 3010, 3014, 3018, 3022, 3026, 3030, 3034, 3038, 
   563 	}},
   564 	{{
   565 	3042, 3046, 3050, 3054, 3058, 3062,    0,    0,    0,    0,    0, 
   566 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   567 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   568 	}},
   569 	{{
   570 	   2,    4,    6,    8,   10,   12,   14,   16,   18,   20,   22, 
   571 	  24,   26,   28,   30,   32,   34,   36,   38,   40,   42,   44, 
   572 	  46,   48,   50,   52,    0,    0,    0,    0,    0,    0, 
   573 	}},
   574 	{{
   575 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   576 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    2,    4, 
   577 	   6,    8,   10,   12,   14,   16,   18,   20,   22,   24, 
   578 	}},
   579 	{{
   580 	  26,   28,   30,   32,   34,   36,   38,   40,   42,   44,   46, 
   581 	  48,   50,   52,    0,    0,    0,    0,    0,    0,    0,    0, 
   582 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   583 	}},
   584 	{{
   585 	   0,    0,    0,    0,    0,    0,    0,    0,    2,    4,    6, 
   586 	   8,   10,   12,   14,   16,   18,   20,   22,   24,   26,   28, 
   587 	  30,   32,   34,   36,   38,   40,   42,   44,   46,   48, 
   588 	}},
   589 	{{
   590 	  50,   52,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   591 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   592 	   0,    0,    0,    0,    0,    0,    2,    0,    6,    8, 
   593 	}},
   594 	{{
   595 	   0,    0,   14,    0,    0,   20,   22,    0,    0,   28,   30, 
   596 	  32,   34,    0,   38,   40,   42,   44,   46,   48,   50,   52, 
   597 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   598 	}},
   599 	{{
   600 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   601 	   0,    0,    0,    0,    0,    2,    4,    6,    8,   10,   12, 
   602 	  14,   16,   18,   20,   22,   24,   26,   28,   30,   32, 
   603 	}},
   604 	{{
   605 	  34,   36,   38,   40,   42,   44,   46,   48,   50,   52,    0, 
   606 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   607 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   608 	}},
   609 	{{
   610 	   0,    0,    0,    0,    2,    4,    0,    8,   10,   12,   14, 
   611 	   0,    0,   20,   22,   24,   26,   28,   30,   32,   34,    0, 
   612 	  38,   40,   42,   44,   46,   48,   50,    0,    0,    0, 
   613 	}},
   614 	{{
   615 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   616 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   617 	   0,    0,    2,    4,    0,    8,   10,   12,   14,    0, 
   618 	}},
   619 	{{
   620 	  18,   20,   22,   24,   26,    0,   30,    0,    0,    0,   38, 
   621 	  40,   42,   44,   46,   48,   50,    0,    0,    0,    0,    0, 
   622 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   623 	}},
   624 	{{
   625 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   626 	   0,    2,    4,    6,    8,   10,   12,   14,   16,   18,   20, 
   627 	  22,   24,   26,   28,   30,   32,   34,   36,   38,   40, 
   628 	}},
   629 	{{
   630 	  42,   44,   46,   48,   50,   52,    0,    0,    0,    0,    0, 
   631 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   632 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   633 	}},
   634 	{{
   635 	  50,   52,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   636 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   637 	   0,    0,    0,    0,    0,    0,    2,    4,    6,    8, 
   638 	}},
   639 	{{
   640 	  10,   12,   14,   16,   18,   20,   22,   24,   26,   28,   30, 
   641 	  32,   34,   36,   38,   40,   42,   44,   46,   48,   50,   52, 
   642 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   643 	}},
   644 	{{
   645 	   0,    0,    0,    0,    0,    0,    0,    0,  640,  643,  646, 
   646 	 649,  652,  655,  658,  661,  598,  664,  667,   54,  670,  673, 
   647 	 676,  679,  682,  661,  685,  688,  691,  694,  697,  700, 
   648 	}},
   649 	{{
   650 	 703,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   651 	   0,    0,    0,    0,    0,    0,    0,    0,  685,    0,    0, 
   652 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   653 	}},
   654 	{{
   655 	   0,    0,  640,  643,  646,  649,  652,  655,  658,  661,  598, 
   656 	 664,  667,   54,  670,  673,  676,  679,  682,  661,  685,  688, 
   657 	 691,  694,  697,  700,  703,    0,    0,    0,    0,    0, 
   658 	}},
   659 	{{
   660 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   661 	   0,    0,  685,    0,    0,    0,    0,    0,    0,    0,    0, 
   662 	   0,    0,    0,    0,    0,    0,  640,  643,  646,  649, 
   663 	}},
   664 	{{
   665 	 652,  655,  658,  661,  598,  664,  667,   54,  670,  673,  676, 
   666 	 679,  682,  661,  685,  688,  691,  694,  697,  700,  703,    0, 
   667 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   668 	}},
   669 	{{
   670 	   0,    0,    0,    0,    0,    0,    0,  685,    0,    0,    0, 
   671 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   672 	 640,  643,  646,  649,  652,  655,  658,  661,  598,  664, 
   673 	}},
   674 	{{
   675 	 667,   54,  670,  673,  676,  679,  682,  661,  685,  688,  691, 
   676 	 694,  697,  700,  703,    0,    0,    0,    0,    0,    0,    0, 
   677 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   678 	}},
   679 	{{
   680 	   0,  685,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   681 	   0,    0,    0,    0,    0,  640,  643,  646,  649,  652,  655, 
   682 	 658,  661,  598,  664,  667,   54,  670,  673,  676,  679, 
   683 	}},
   684 	{{
   685 	 682,  661,  685,  688,  691,  694,  697,  700,  703,    0,    0, 
   686 	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0, 
   687 	   0,    0,    0,    0,    0,  685,    0,    0,    0,    0, 
   688 	}},
   689 };
   691 static const unsigned char nameprep_id11_map_data[] = {
   692 	  0,   0,   1,  97,   1,  98,   1,  99,   1, 100,   1, 101, 
   693 	  1, 102,   1, 103,   1, 104,   1, 105,   1, 106,   1, 107, 
   694 	  1, 108,   1, 109,   1, 110,   1, 111,   1, 112,   1, 113, 
   695 	  1, 114,   1, 115,   1, 116,   1, 117,   1, 118,   1, 119, 
   696 	  1, 120,   1, 121,   1, 122,   2, 188,   3,   1, 224,   1, 
   697 	225,   1, 226,   1, 227,   1, 228,   1, 229,   1, 230,   1, 
   698 	231,   1, 232,   1, 233,   1, 234,   1, 235,   1, 236,   1, 
   699 	237,   1, 238,   1, 239,   1, 240,   1, 241,   1, 242,   1, 
   700 	243,   1, 244,   1, 245,   1, 246,   1, 248,   1, 249,   1, 
   701 	250,   1, 251,   1, 252,   1, 253,   1, 254,   5, 115,   0, 
   702 	  0,   0, 115,   2,   1,   1,   2,   3,   1,   2,   5,   1, 
   703 	  2,   7,   1,   2,   9,   1,   2,  11,   1,   2,  13,   1, 
   704 	  2,  15,   1,   2,  17,   1,   2,  19,   1,   2,  21,   1, 
   705 	  2,  23,   1,   2,  25,   1,   2,  27,   1,   2,  29,   1, 
   706 	  2,  31,   1,   2,  33,   1,   2,  35,   1,   2,  37,   1, 
   707 	  2,  39,   1,   2,  41,   1,   2,  43,   1,   2,  45,   1, 
   708 	  2,  47,   1,   6, 105,   0,   0,   0,   7,   3,   2,  51, 
   709 	  1,   2,  53,   1,   2,  55,   1,   2,  58,   1,   2,  60, 
   710 	  1,   2,  62,   1,   2,  64,   1,   2,  66,   1,   2,  68, 
   711 	  1,   2,  70,   1,   2,  72,   1,   5, 188,   2,   0,   0, 
   712 	110,   2,  75,   1,   2,  77,   1,   2,  79,   1,   2,  81, 
   713 	  1,   2,  83,   1,   2,  85,   1,   2,  87,   1,   2,  89, 
   714 	  1,   2,  91,   1,   2,  93,   1,   2,  95,   1,   2,  97, 
   715 	  1,   2,  99,   1,   2, 101,   1,   2, 103,   1,   2, 105, 
   716 	  1,   2, 107,   1,   2, 109,   1,   2, 111,   1,   2, 113, 
   717 	  1,   2, 115,   1,   2, 117,   1,   2, 119,   1,   1, 255, 
   718 	  2, 122,   1,   2, 124,   1,   2, 126,   1,   2,  83,   2, 
   719 	  2, 131,   1,   2, 133,   1,   2,  84,   2,   2, 136,   1, 
   720 	  2,  86,   2,   2,  87,   2,   2, 140,   1,   2, 221,   1, 
   721 	  2,  89,   2,   2,  91,   2,   2, 146,   1,   2,  96,   2, 
   722 	  2,  99,   2,   2, 105,   2,   2, 104,   2,   2, 153,   1, 
   723 	  2, 111,   2,   2, 114,   2,   2, 117,   2,   2, 161,   1, 
   724 	  2, 163,   1,   2, 165,   1,   2, 128,   2,   2, 168,   1, 
   725 	  2, 131,   2,   2, 173,   1,   2, 136,   2,   2, 176,   1, 
   726 	  2, 138,   2,   2, 139,   2,   2, 180,   1,   2, 182,   1, 
   727 	  2, 146,   2,   2, 185,   1,   2, 189,   1,   2, 198,   1, 
   728 	  2, 201,   1,   2, 204,   1,   2, 206,   1,   2, 208,   1, 
   729 	  2, 210,   1,   2, 212,   1,   2, 214,   1,   2, 216,   1, 
   730 	  2, 218,   1,   2, 220,   1,   2, 223,   1,   2, 225,   1, 
   731 	  2, 227,   1,   2, 229,   1,   2, 231,   1,   2, 233,   1, 
   732 	  2, 235,   1,   2, 237,   1,   2, 239,   1,   6, 106,   0, 
   733 	  0,   0,  12,   3,   2, 243,   1,   2, 245,   1,   2, 149, 
   734 	  1,   2, 191,   1,   2, 249,   1,   2, 251,   1,   2, 253, 
   735 	  1,   2, 255,   1,   2,   1,   2,   2,   3,   2,   2,   5, 
   736 	  2,   2,   7,   2,   2,   9,   2,   2,  11,   2,   2,  13, 
   737 	  2,   2,  15,   2,   2,  17,   2,   2,  19,   2,   2,  21, 
   738 	  2,   2,  23,   2,   2,  25,   2,   2,  27,   2,   2,  29, 
   739 	  2,   2,  31,   2,   2, 158,   1,   2,  35,   2,   2,  37, 
   740 	  2,   2,  39,   2,   2,  41,   2,   2,  43,   2,   2,  45, 
   741 	  2,   2,  47,   2,   2,  49,   2,   2,  51,   2,   2, 185, 
   742 	  3,   6,  32,   0,   0,   0, 185,   3,   2, 172,   3,   2, 
   743 	173,   3,   2, 174,   3,   2, 175,   3,   2, 204,   3,   2, 
   744 	205,   3,   2, 206,   3,  10, 185,   3,   0,   0,   8,   3, 
   745 	  0,   0,   1,   3,   2, 177,   3,   2, 178,   3,   2, 179, 
   746 	  3,   2, 180,   3,   2, 181,   3,   2, 182,   3,   2, 183, 
   747 	  3,   2, 184,   3,   2, 186,   3,   2, 187,   3,   2, 189, 
   748 	  3,   2, 190,   3,   2, 191,   3,   2, 192,   3,   2, 193, 
   749 	  3,   2, 195,   3,   2, 196,   3,   2, 197,   3,   2, 198, 
   750 	  3,   2, 199,   3,   2, 200,   3,   2, 201,   3,   2, 202, 
   751 	  3,   2, 203,   3,  10, 197,   3,   0,   0,   8,   3,   0, 
   752 	  0,   1,   3,   2, 217,   3,   2, 219,   3,   2, 221,   3, 
   753 	  2, 223,   3,   2, 225,   3,   2, 227,   3,   2, 229,   3, 
   754 	  2, 231,   3,   2, 233,   3,   2, 235,   3,   2, 237,   3, 
   755 	  2, 239,   3,   2,  80,   4,   2,  81,   4,   2,  82,   4, 
   756 	  2,  83,   4,   2,  84,   4,   2,  85,   4,   2,  86,   4, 
   757 	  2,  87,   4,   2,  88,   4,   2,  89,   4,   2,  90,   4, 
   758 	  2,  91,   4,   2,  92,   4,   2,  93,   4,   2,  94,   4, 
   759 	  2,  95,   4,   2,  48,   4,   2,  49,   4,   2,  50,   4, 
   760 	  2,  51,   4,   2,  52,   4,   2,  53,   4,   2,  54,   4, 
   761 	  2,  55,   4,   2,  56,   4,   2,  57,   4,   2,  58,   4, 
   762 	  2,  59,   4,   2,  60,   4,   2,  61,   4,   2,  62,   4, 
   763 	  2,  63,   4,   2,  64,   4,   2,  65,   4,   2,  66,   4, 
   764 	  2,  67,   4,   2,  68,   4,   2,  69,   4,   2,  70,   4, 
   765 	  2,  71,   4,   2,  72,   4,   2,  73,   4,   2,  74,   4, 
   766 	  2,  75,   4,   2,  76,   4,   2,  77,   4,   2,  78,   4, 
   767 	  2,  79,   4,   2,  97,   4,   2,  99,   4,   2, 101,   4, 
   768 	  2, 103,   4,   2, 105,   4,   2, 107,   4,   2, 109,   4, 
   769 	  2, 111,   4,   2, 113,   4,   2, 115,   4,   2, 117,   4, 
   770 	  2, 119,   4,   2, 121,   4,   2, 123,   4,   2, 125,   4, 
   771 	  2, 127,   4,   2, 129,   4,   2, 139,   4,   2, 141,   4, 
   772 	  2, 143,   4,   2, 145,   4,   2, 147,   4,   2, 149,   4, 
   773 	  2, 151,   4,   2, 153,   4,   2, 155,   4,   2, 157,   4, 
   774 	  2, 159,   4,   2, 161,   4,   2, 163,   4,   2, 165,   4, 
   775 	  2, 167,   4,   2, 169,   4,   2, 171,   4,   2, 173,   4, 
   776 	  2, 175,   4,   2, 177,   4,   2, 179,   4,   2, 181,   4, 
   777 	  2, 183,   4,   2, 185,   4,   2, 187,   4,   2, 189,   4, 
   778 	  2, 191,   4,   2, 194,   4,   2, 196,   4,   2, 198,   4, 
   779 	  2, 200,   4,   2, 202,   4,   2, 204,   4,   2, 206,   4, 
   780 	  2, 209,   4,   2, 211,   4,   2, 213,   4,   2, 215,   4, 
   781 	  2, 217,   4,   2, 219,   4,   2, 221,   4,   2, 223,   4, 
   782 	  2, 225,   4,   2, 227,   4,   2, 229,   4,   2, 231,   4, 
   783 	  2, 233,   4,   2, 235,   4,   2, 237,   4,   2, 239,   4, 
   784 	  2, 241,   4,   2, 243,   4,   2, 245,   4,   2, 249,   4, 
   785 	  2,   1,   5,   2,   3,   5,   2,   5,   5,   2,   7,   5, 
   786 	  2,   9,   5,   2,  11,   5,   2,  13,   5,   2,  15,   5, 
   787 	  2,  97,   5,   2,  98,   5,   2,  99,   5,   2, 100,   5, 
   788 	  2, 101,   5,   2, 102,   5,   2, 103,   5,   2, 104,   5, 
   789 	  2, 105,   5,   2, 106,   5,   2, 107,   5,   2, 108,   5, 
   790 	  2, 109,   5,   2, 110,   5,   2, 111,   5,   2, 112,   5, 
   791 	  2, 113,   5,   2, 114,   5,   2, 115,   5,   2, 116,   5, 
   792 	  2, 117,   5,   2, 118,   5,   2, 119,   5,   2, 120,   5, 
   793 	  2, 121,   5,   2, 122,   5,   2, 123,   5,   2, 124,   5, 
   794 	  2, 125,   5,   2, 126,   5,   2, 127,   5,   2, 128,   5, 
   795 	  2, 129,   5,   2, 130,   5,   2, 131,   5,   2, 132,   5, 
   796 	  2, 133,   5,   2, 134,   5,   6, 101,   5,   0,   0, 130, 
   797 	  5,   2,   1,  30,   2,   3,  30,   2,   5,  30,   2,   7, 
   798 	 30,   2,   9,  30,   2,  11,  30,   2,  13,  30,   2,  15, 
   799 	 30,   2,  17,  30,   2,  19,  30,   2,  21,  30,   2,  23, 
   800 	 30,   2,  25,  30,   2,  27,  30,   2,  29,  30,   2,  31, 
   801 	 30,   2,  33,  30,   2,  35,  30,   2,  37,  30,   2,  39, 
   802 	 30,   2,  41,  30,   2,  43,  30,   2,  45,  30,   2,  47, 
   803 	 30,   2,  49,  30,   2,  51,  30,   2,  53,  30,   2,  55, 
   804 	 30,   2,  57,  30,   2,  59,  30,   2,  61,  30,   2,  63, 
   805 	 30,   2,  65,  30,   2,  67,  30,   2,  69,  30,   2,  71, 
   806 	 30,   2,  73,  30,   2,  75,  30,   2,  77,  30,   2,  79, 
   807 	 30,   2,  81,  30,   2,  83,  30,   2,  85,  30,   2,  87, 
   808 	 30,   2,  89,  30,   2,  91,  30,   2,  93,  30,   2,  95, 
   809 	 30,   2,  97,  30,   2,  99,  30,   2, 101,  30,   2, 103, 
   810 	 30,   2, 105,  30,   2, 107,  30,   2, 109,  30,   2, 111, 
   811 	 30,   2, 113,  30,   2, 115,  30,   2, 117,  30,   2, 119, 
   812 	 30,   2, 121,  30,   2, 123,  30,   2, 125,  30,   2, 127, 
   813 	 30,   2, 129,  30,   2, 131,  30,   2, 133,  30,   2, 135, 
   814 	 30,   2, 137,  30,   2, 139,  30,   2, 141,  30,   2, 143, 
   815 	 30,   2, 145,  30,   2, 147,  30,   2, 149,  30,   6, 104, 
   816 	  0,   0,   0,  49,   3,   6, 116,   0,   0,   0,   8,   3, 
   817 	  6, 119,   0,   0,   0,  10,   3,   6, 121,   0,   0,   0, 
   818 	 10,   3,   6,  97,   0,   0,   0, 190,   2,   2, 161,  30, 
   819 	  2, 163,  30,   2, 165,  30,   2, 167,  30,   2, 169,  30, 
   820 	  2, 171,  30,   2, 173,  30,   2, 175,  30,   2, 177,  30, 
   821 	  2, 179,  30,   2, 181,  30,   2, 183,  30,   2, 185,  30, 
   822 	  2, 187,  30,   2, 189,  30,   2, 191,  30,   2, 193,  30, 
   823 	  2, 195,  30,   2, 197,  30,   2, 199,  30,   2, 201,  30, 
   824 	  2, 203,  30,   2, 205,  30,   2, 207,  30,   2, 209,  30, 
   825 	  2, 211,  30,   2, 213,  30,   2, 215,  30,   2, 217,  30, 
   826 	  2, 219,  30,   2, 221,  30,   2, 223,  30,   2, 225,  30, 
   827 	  2, 227,  30,   2, 229,  30,   2, 231,  30,   2, 233,  30, 
   828 	  2, 235,  30,   2, 237,  30,   2, 239,  30,   2, 241,  30, 
   829 	  2, 243,  30,   2, 245,  30,   2, 247,  30,   2, 249,  30, 
   830 	  2,   0,  31,   2,   1,  31,   2,   2,  31,   2,   3,  31, 
   831 	  2,   4,  31,   2,   5,  31,   2,   6,  31,   2,   7,  31, 
   832 	  2,  16,  31,   2,  17,  31,   2,  18,  31,   2,  19,  31, 
   833 	  2,  20,  31,   2,  21,  31,   2,  32,  31,   2,  33,  31, 
   834 	  2,  34,  31,   2,  35,  31,   2,  36,  31,   2,  37,  31, 
   835 	  2,  38,  31,   2,  39,  31,   2,  48,  31,   2,  49,  31, 
   836 	  2,  50,  31,   2,  51,  31,   2,  52,  31,   2,  53,  31, 
   837 	  2,  54,  31,   2,  55,  31,   2,  64,  31,   2,  65,  31, 
   838 	  2,  66,  31,   2,  67,  31,   2,  68,  31,   2,  69,  31, 
   839 	  6, 197,   3,   0,   0,  19,   3,  10, 197,   3,   0,   0, 
   840 	 19,   3,   0,   0,   0,   3,  10, 197,   3,   0,   0,  19, 
   841 	  3,   0,   0,   1,   3,  10, 197,   3,   0,   0,  19,   3, 
   842 	  0,   0,  66,   3,   2,  81,  31,   2,  83,  31,   2,  85, 
   843 	 31,   2,  87,  31,   2,  96,  31,   2,  97,  31,   2,  98, 
   844 	 31,   2,  99,  31,   2, 100,  31,   2, 101,  31,   2, 102, 
   845 	 31,   2, 103,  31,   6,   0,  31,   0,   0, 185,   3,   6, 
   846 	  1,  31,   0,   0, 185,   3,   6,   2,  31,   0,   0, 185, 
   847 	  3,   6,   3,  31,   0,   0, 185,   3,   6,   4,  31,   0, 
   848 	  0, 185,   3,   6,   5,  31,   0,   0, 185,   3,   6,   6, 
   849 	 31,   0,   0, 185,   3,   6,   7,  31,   0,   0, 185,   3, 
   850 	  6,  32,  31,   0,   0, 185,   3,   6,  33,  31,   0,   0, 
   851 	185,   3,   6,  34,  31,   0,   0, 185,   3,   6,  35,  31, 
   852 	  0,   0, 185,   3,   6,  36,  31,   0,   0, 185,   3,   6, 
   853 	 37,  31,   0,   0, 185,   3,   6,  38,  31,   0,   0, 185, 
   854 	  3,   6,  39,  31,   0,   0, 185,   3,   6,  96,  31,   0, 
   855 	  0, 185,   3,   6,  97,  31,   0,   0, 185,   3,   6,  98, 
   856 	 31,   0,   0, 185,   3,   6,  99,  31,   0,   0, 185,   3, 
   857 	  6, 100,  31,   0,   0, 185,   3,   6, 101,  31,   0,   0, 
   858 	185,   3,   6, 102,  31,   0,   0, 185,   3,   6, 103,  31, 
   859 	  0,   0, 185,   3,   6, 112,  31,   0,   0, 185,   3,   6, 
   860 	177,   3,   0,   0, 185,   3,   6, 172,   3,   0,   0, 185, 
   861 	  3,   6, 177,   3,   0,   0,  66,   3,  10, 177,   3,   0, 
   862 	  0,  66,   3,   0,   0, 185,   3,   2, 176,  31,   2, 177, 
   863 	 31,   2, 112,  31,   2, 113,  31,   6, 116,  31,   0,   0, 
   864 	185,   3,   6, 183,   3,   0,   0, 185,   3,   6, 174,   3, 
   865 	  0,   0, 185,   3,   6, 183,   3,   0,   0,  66,   3,  10, 
   866 	183,   3,   0,   0,  66,   3,   0,   0, 185,   3,   2, 114, 
   867 	 31,   2, 115,  31,   2, 116,  31,   2, 117,  31,  10, 185, 
   868 	  3,   0,   0,   8,   3,   0,   0,   0,   3,   6, 185,   3, 
   869 	  0,   0,  66,   3,  10, 185,   3,   0,   0,   8,   3,   0, 
   870 	  0,  66,   3,   2, 208,  31,   2, 209,  31,   2, 118,  31, 
   871 	  2, 119,  31,  10, 197,   3,   0,   0,   8,   3,   0,   0, 
   872 	  0,   3,   6, 193,   3,   0,   0,  19,   3,   6, 197,   3, 
   873 	  0,   0,  66,   3,  10, 197,   3,   0,   0,   8,   3,   0, 
   874 	  0,  66,   3,   2, 224,  31,   2, 225,  31,   2, 122,  31, 
   875 	  2, 123,  31,   2, 229,  31,   6, 124,  31,   0,   0, 185, 
   876 	  3,   6, 201,   3,   0,   0, 185,   3,   6, 206,   3,   0, 
   877 	  0, 185,   3,   6, 201,   3,   0,   0,  66,   3,  10, 201, 
   878 	  3,   0,   0,  66,   3,   0,   0, 185,   3,   2, 120,  31, 
   879 	  2, 121,  31,   2, 124,  31,   2, 125,  31,   5, 114,   0, 
   880 	  0,   0, 115,   5, 176,   0,   0,   0,  99,   5, 176,   0, 
   881 	  0,   0, 102,   5, 110,   0,   0,   0, 111,   5, 115,   0, 
   882 	  0,   0, 109,   9, 116,   0,   0,   0, 101,   0,   0,   0, 
   883 	108,   5, 116,   0,   0,   0, 109,   2, 112,  33,   2, 113, 
   884 	 33,   2, 114,  33,   2, 115,  33,   2, 116,  33,   2, 117, 
   885 	 33,   2, 118,  33,   2, 119,  33,   2, 120,  33,   2, 121, 
   886 	 33,   2, 122,  33,   2, 123,  33,   2, 124,  33,   2, 125, 
   887 	 33,   2, 126,  33,   2, 127,  33,   2, 208,  36,   2, 209, 
   888 	 36,   2, 210,  36,   2, 211,  36,   2, 212,  36,   2, 213, 
   889 	 36,   2, 214,  36,   2, 215,  36,   2, 216,  36,   2, 217, 
   890 	 36,   2, 218,  36,   2, 219,  36,   2, 220,  36,   2, 221, 
   891 	 36,   2, 222,  36,   2, 223,  36,   2, 224,  36,   2, 225, 
   892 	 36,   2, 226,  36,   2, 227,  36,   2, 228,  36,   2, 229, 
   893 	 36,   2, 230,  36,   2, 231,  36,   2, 232,  36,   2, 233, 
   894 	 36,   9, 104,   0,   0,   0, 112,   0,   0,   0,  97,   5, 
   895 	 97,   0,   0,   0, 117,   5, 111,   0,   0,   0, 118,   5, 
   896 	112,   0,   0,   0,  97,   5, 110,   0,   0,   0,  97,   5, 
   897 	188,   3,   0,   0,  97,   5, 109,   0,   0,   0,  97,   5, 
   898 	107,   0,   0,   0,  97,   5, 107,   0,   0,   0,  98,   5, 
   899 	109,   0,   0,   0,  98,   5, 103,   0,   0,   0,  98,   5, 
   900 	112,   0,   0,   0, 102,   5, 110,   0,   0,   0, 102,   5, 
   901 	188,   3,   0,   0, 102,   5, 104,   0,   0,   0, 122,   9, 
   902 	107,   0,   0,   0, 104,   0,   0,   0, 122,   9, 109,   0, 
   903 	  0,   0, 104,   0,   0,   0, 122,   9, 103,   0,   0,   0, 
   904 	104,   0,   0,   0, 122,   9, 116,   0,   0,   0, 104,   0, 
   905 	  0,   0, 122,   9, 107,   0,   0,   0, 112,   0,   0,   0, 
   906 	 97,   9, 109,   0,   0,   0, 112,   0,   0,   0,  97,   9, 
   907 	103,   0,   0,   0, 112,   0,   0,   0,  97,   5, 112,   0, 
   908 	  0,   0, 118,   5, 110,   0,   0,   0, 118,   5, 188,   3, 
   909 	  0,   0, 118,   5, 109,   0,   0,   0, 118,   5, 107,   0, 
   910 	  0,   0, 118,   5, 112,   0,   0,   0, 119,   5, 110,   0, 
   911 	  0,   0, 119,   5, 188,   3,   0,   0, 119,   5, 109,   0, 
   912 	  0,   0, 119,   5, 107,   0,   0,   0, 119,   6, 107,   0, 
   913 	  0,   0, 201,   3,   6, 109,   0,   0,   0, 201,   3,   5, 
   914 	 98,   0,   0,   0, 113,  13,  99,   0,   0,   0,  21,  34, 
   915 	  0,   0, 107,   0,   0,   0, 103,   9,  99,   0,   0,   0, 
   916 	111,   0,   0,   0,  46,   5, 100,   0,   0,   0,  98,   5, 
   917 	103,   0,   0,   0, 121,   5, 104,   0,   0,   0, 112,   5, 
   918 	107,   0,   0,   0, 107,   5, 107,   0,   0,   0, 109,   5, 
   919 	112,   0,   0,   0, 104,   9, 112,   0,   0,   0, 112,   0, 
   920 	  0,   0, 109,   5, 112,   0,   0,   0, 114,   5, 115,   0, 
   921 	  0,   0, 118,   5, 119,   0,   0,   0,  98,   5, 102,   0, 
   922 	  0,   0, 102,   5, 102,   0,   0,   0, 105,   5, 102,   0, 
   923 	  0,   0, 108,   9, 102,   0,   0,   0, 102,   0,   0,   0, 
   924 	105,   9, 102,   0,   0,   0, 102,   0,   0,   0, 108,   5, 
   925 	115,   0,   0,   0, 116,   6, 116,   5,   0,   0, 118,   5, 
   926 	  6, 116,   5,   0,   0, 101,   5,   6, 116,   5,   0,   0, 
   927 	107,   5,   6, 126,   5,   0,   0, 118,   5,   6, 116,   5, 
   928 	  0,   0, 109,   5,   2,  65, 255,   2,  66, 255,   2,  67, 
   929 	255,   2,  68, 255,   2,  69, 255,   2,  70, 255,   2,  71, 
   930 	255,   2,  72, 255,   2,  73, 255,   2,  74, 255,   2,  75, 
   931 	255,   2,  76, 255,   2,  77, 255,   2,  78, 255,   2,  79, 
   932 	255,   2,  80, 255,   2,  81, 255,   2,  82, 255,   2,  83, 
   933 	255,   2,  84, 255,   2,  85, 255,   2,  86, 255,   2,  87, 
   934 	255,   2,  88, 255,   2,  89, 255,   2,  90, 255,   3,  40, 
   935 	  4,   1,   3,  41,   4,   1,   3,  42,   4,   1,   3,  43, 
   936 	  4,   1,   3,  44,   4,   1,   3,  45,   4,   1,   3,  46, 
   937 	  4,   1,   3,  47,   4,   1,   3,  48,   4,   1,   3,  49, 
   938 	  4,   1,   3,  50,   4,   1,   3,  51,   4,   1,   3,  52, 
   939 	  4,   1,   3,  53,   4,   1,   3,  54,   4,   1,   3,  55, 
   940 	  4,   1,   3,  56,   4,   1,   3,  57,   4,   1,   3,  58, 
   941 	  4,   1,   3,  59,   4,   1,   3,  60,   4,   1,   3,  61, 
   942 	  4,   1,   3,  62,   4,   1,   3,  63,   4,   1,   3,  64, 
   943 	  4,   1,   3,  65,   4,   1,   3,  66,   4,   1,   3,  67, 
   944 	  4,   1,   3,  68,   4,   1,   3,  69,   4,   1,   3,  70, 
   945 	  4,   1,   3,  71,   4,   1,   3,  72,   4,   1,   3,  73, 
   946 	  4,   1,   3,  74,   4,   1,   3,  75,   4,   1,   3,  76, 
   947 	  4,   1,   3,  77,   4,   1, 
   948 };
   950 static const unsigned short nameprep_id11_prohibited_imap[] = {
   951 	   68,   196,   196,   324,   196,   196,   196,   452, 
   952 	  196,   196,   196,   580,   196,   196,   196,   580, 
   953 	  196,   196,   196,   580,   196,   196,   196,   580, 
   954 	  196,   196,   196,   580,   196,   196,   196,   580, 
   955 	  196,   196,   196,   580,   196,   196,   196,   580, 
   956 	  196,   196,   196,   580,   196,   196,   196,   580, 
   957 	  196,   196,   196,   580,   196,   196,   196,   580, 
   958 	  708,   196,   196,   580,   836,   836,   836,   836, 
   959 	  836,   836,   836,   836,     0,     1,     0,     0, 
   960 	    0,     0,     2,     0,     0,     0,     0,     0, 
   961 	    0,     3,     4,     0,     0,     0,     0,     0, 
   962 	    0,     0,     0,     0,     0,     0,     0,     0, 
   963 	    0,     0,     0,     0,     0,     0,     0,     0, 
   964 	    0,     0,     0,     0,     0,     0,     0,     0, 
   965 	    0,     5,     0,     0,     6,     0,     0,     0, 
   966 	    0,     0,     0,     0,     0,     0,     0,     0, 
   967 	    0,     0,     0,     0,     7,     0,     0,     0, 
   968 	    0,     0,     0,     0,     0,     0,     0,     0, 
   969 	    0,     0,     0,     0,     0,     0,     0,     0, 
   970 	    0,     0,     0,     0,     0,     0,     0,     0, 
   971 	    0,     0,     0,     8,     5,     0,     0,     0, 
   972 	    0,     0,     0,     0,     0,     0,     0,     0, 
   973 	    0,     0,     0,     0,     0,     0,     0,     0, 
   974 	    0,     0,     0,     0,     0,     0,     0,     0, 
   975 	    0,     0,     0,     0,     0,     0,     0,     0, 
   976 	    0,     0,     0,     0,     0,     0,     0,     0, 
   977 	    0,     0,     0,     0,     0,     0,     0,     0, 
   978 	    0,     0,     0,     0,     0,     0,     0,     0, 
   979 	    0,     0,     0,     0,     0,     0,     0,     0, 
   980 	    0,     0,     0,     0,     0,     0,     0,     0, 
   981 	    0,     0,     0,     0,     0,     0,     0,     0, 
   982 	    0,     0,     0,     0,     0,     0,     0,     0, 
   983 	    0,     0,     0,     0,     0,     0,     0,     0, 
   984 	    0,     0,     0,     0,     0,     0,     0,     0, 
   985 	    0,     0,     0,     0,     0,     0,     0,     0, 
   986 	    0,     0,     0,     0,     0,     0,     0,     0, 
   987 	    0,     0,     0,     0,     0,     0,     0,     0, 
   988 	    0,     0,     0,     0,     0,     0,     0,     0, 
   989 	    0,     0,     0,     0,     0,     0,     0,     0, 
   990 	    0,     0,     0,     0,     0,     0,     0,     0, 
   991 	    0,     0,     0,     0,     0,     0,     0,     0, 
   992 	    0,     0,     0,     0,     0,     0,     0,     0, 
   993 	    0,     0,     0,     0,     0,     0,     0,     0, 
   994 	    0,     0,     0,     0,     0,     0,     0,     0, 
   995 	    0,     0,     0,     0,     0,     0,     0,     0, 
   996 	    0,     0,     0,     0,     0,     0,     0,     0, 
   997 	    0,     0,     0,     0,     9,     9,     9,     9, 
   998 	    9,     9,     9,     9,     9,     9,     9,     9, 
   999 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1000 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1001 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1002 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1003 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1004 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1005 	    9,     9,     9,     9,     9,     9,     0,     0, 
  1006 	    0,     0,     0,     0,     0,     0,     0,    10, 
  1007 	    0,     0,     0,    11,     0,     0,     0,     0, 
  1008 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1009 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1010 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1011 	    0,     0,     0,     0,     0,     0,    12,     0, 
  1012 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1013 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1014 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1015 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1016 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1017 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1018 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1019 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1020 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1021 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1022 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1023 	    0,     0,     0,    13,     0,     0,     0,     0, 
  1024 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1025 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1026 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1027 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1028 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1029 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1030 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1031 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1032 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1033 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1034 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1035 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1036 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1037 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1038 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1039 	    0,     0,     0,    13,    14,     0,     0,     0, 
  1040 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1041 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1042 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1043 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1044 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1045 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1046 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1047 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1048 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1049 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1050 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1051 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1052 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1053 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1054 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1055 	    0,     0,     0,     0,     9,     9,     9,     9, 
  1056 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1057 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1058 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1059 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1060 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1061 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1062 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1063 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1064 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1065 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1066 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1067 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1068 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1069 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1070 	    9,     9,     9,     9,     9,     9,     9,     9, 
  1071 	    9,     9,     9,     9, 
  1072 };
  1074 static const struct {
  1075 	unsigned char bm[16];
  1076 } nameprep_id11_prohibited_bitmap[] = {
  1077 	{{
  1078 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1079 	}},
  1080 	{{
  1081 	255,255,255,255,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1082 	}},
  1083 	{{
  1084 	  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,
  1085 	}},
  1086 	{{
  1087 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,  0,  0,  0,  0,
  1088 	}},
  1089 	{{
  1090 	  0,128,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1091 	}},
  1092 	{{
  1093 	  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1094 	}},
  1095 	{{
  1096 	  0, 64,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1097 	}},
  1098 	{{
  1099 	255,199,  0,  0,  0,255,  0,  0,  0,  0,  0,128, 14,252,  0,  0,
  1100 	}},
  1101 	{{
  1102 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, 15,
  1103 	}},
  1104 	{{
  1105 	255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  1106 	}},
  1107 	{{
  1108 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,  0,  0,
  1109 	}},
  1110 	{{
  1111 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,254,
  1112 	}},
  1113 	{{
  1114 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,248,  7,
  1115 	}},
  1116 	{{
  1117 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,192,
  1118 	}},
  1119 	{{
  1120 	  2,  0,  0,  0,255,255,255,255,255,255,255,255,255,255,255,255,
  1121 	}},
  1122 };
  1124 static const unsigned short nameprep_id11_unassigned_imap[] = {
  1125 	   68,   196,   324,   452,   580,   708,   708,   836, 
  1126 	  964,   964,  1092,  1220,   708,   708,   708,  1348, 
  1127 	  708,   708,   708,  1348,   708,   708,   708,  1348, 
  1128 	  708,   708,   708,  1348,   708,   708,   708,  1348, 
  1129 	  708,   708,   708,  1348,   708,   708,   708,  1348, 
  1130 	  708,   708,   708,  1348,   708,   708,   708,  1348, 
  1131 	  708,   708,   708,  1348,   708,   708,   708,  1348, 
  1132 	 1476,   708,   708,  1348,   964,   964,   964,   964, 
  1133 	  964,   964,   964,   964,     0,     0,     0,     0, 
  1134 	    1,     2,     3,     4,     0,     5,     6,     7, 
  1135 	    8,     9,    10,    11,    12,    12,    13,    14, 
  1136 	   15,    16,    17,    18,    19,    20,    21,    22, 
  1137 	   23,    24,    25,    26,    27,    28,    29,    30, 
  1138 	   31,    32,    33,    34,    35,     0,     0,     0, 
  1139 	   36,    37,    38,    39,    40,    41,    12,    12, 
  1140 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1141 	    0,    42,    43,    44,    45,    46,    47,    48, 
  1142 	    0,     0,     0,    49,    50,    51,     0,     0, 
  1143 	   52,    53,    54,    55,     0,     0,     0,     0, 
  1144 	    0,     0,    12,    12,    12,    12,    12,    12, 
  1145 	   12,    56,     0,    57,    58,    59,    60,    61, 
  1146 	   62,    63,    64,    65,     0,     0,     0,     0, 
  1147 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1148 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1149 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1150 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1151 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1152 	    0,     0,     0,     0,     0,     0,     0,    66, 
  1153 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1154 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1155 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1156 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1157 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1158 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1159 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1160 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1161 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1162 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1163 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1164 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1165 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1166 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1167 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1168 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1169 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1170 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1171 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1172 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1173 	    0,     0,     0,    67,     0,     0,     0,     0, 
  1174 	    0,     0,     0,     0,     0,    68,    12,    12, 
  1175 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1176 	   12,    12,    12,    12,     0,     0,     0,     0, 
  1177 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1178 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1179 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1180 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1181 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1182 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1183 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1184 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1185 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1186 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1187 	    0,     0,     0,    69,     0,     0,     0,     0, 
  1188 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1189 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1190 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1191 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1192 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1193 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1194 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1195 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1196 	   70,    12,    71,    72,     0,     0,    73,    74, 
  1197 	   75,    76,    35,    77,    12,    12,    12,    12, 
  1198 	   12,    12,    78,    12,    79,    12,    12,    12, 
  1199 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1200 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1201 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1202 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1203 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1204 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1205 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1206 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1207 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1208 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1209 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1210 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1211 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1212 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1213 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1214 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1215 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1216 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1217 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1218 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1219 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1220 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1221 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1222 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1223 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1224 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1225 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1226 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1227 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1228 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1229 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1230 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1231 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1232 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1233 	   12,    12,    12,    12,     0,    80,    81,    82, 
  1234 	   12,    12,    12,    12,    83,    84,    85,     0, 
  1235 	    0,    86,     0,    87,    12,    12,    12,    12, 
  1236 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1237 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1238 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1239 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1240 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1241 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1242 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1243 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1244 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1245 	   12,    12,    12,    88,     0,     0,     0,     0, 
  1246 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1247 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1248 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1249 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1250 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1251 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1252 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1253 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1254 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1255 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1256 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1257 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1258 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1259 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1260 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1261 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1262 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1263 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1264 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1265 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1266 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1267 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1268 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1269 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1270 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1271 	    0,    89,    12,    12,    12,    12,    12,    12, 
  1272 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1273 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1274 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1275 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1276 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1277 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1278 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1279 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1280 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1281 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1282 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1283 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1284 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1285 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1286 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1287 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1288 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1289 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1290 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1291 	   12,    12,    12,    12,     0,     0,     0,     0, 
  1292 	   90,    12,    12,    12,    12,    12,    12,    12, 
  1293 	   12,    12,    12,    88,    12,    12,    12,    12, 
  1294 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1295 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1296 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1297 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1298 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1299 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1300 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1301 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1302 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1303 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1304 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1305 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1306 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1307 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1308 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1309 	   12,    12,    12,    88,    91,    12,    12,    12, 
  1310 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1311 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1312 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1313 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1314 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1315 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1316 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1317 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1318 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1319 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1320 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1321 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1322 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1323 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1324 	   12,    12,    12,    12,    12,    12,    12,    12, 
  1325 	   12,    12,    12,    12, 
  1326 };
  1328 static const struct {
  1329 	unsigned char bm[16];
  1330 } nameprep_id11_unassigned_bitmap[] = {
  1331 	{{
  1332 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1333 	}},
  1334 	{{
  1335 	  0,  0,  0,  0,  2,  0,240,255,255,255,  0,  0,  0,  0,  0,  0,
  1336 	}},
  1337 	{{
  1338 	  0,  0,  0,  0,  0,192,  0,  0,  0,  0,  0,  0,  0,128,255,255,
  1339 	}},
  1340 	{{
  1341 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,207,187,
  1342 	}},
  1343 	{{
  1344 	 15, 40,  0,  0,  4,  0,  0,  0,  0,128,  0,  0,  0,  0,128,255,
  1345 	}},
  1346 	{{
  1347 	128,  0,  0,  0,  0,  0,  0,  0,  0,128,  0,  0,  0,  0,192,252,
  1348 	}},
  1349 	{{
  1350 	  0,  0,255,255,255,255,  1,  0,  0,  0,128,  1,  1,  0,  0,  0,
  1351 	}},
  1352 	{{
  1353 	  0,249,  1,  0,  4,  0,  0,  4,224,255,  0,  0,  0,248,224,255,
  1354 	}},
  1355 	{{
  1356 	255,239,255,119,  1,  0,  0,248,  0,  0,192,255,  0,  0,  0,  0,
  1357 	}},
  1358 	{{
  1359 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,192,  0,128,
  1360 	}},
  1361 	{{
  1362 	  0, 64,  0,  0,  0,224,  0,  0,  0,248,255,255,255,255,255,255,
  1363 	}},
  1364 	{{
  1365 	  0,  0,  0,  0,  0,  0,252,255,255,255,255,255,255,255,255,255,
  1366 	}},
  1367 	{{
  1368 	255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  1369 	}},
  1370 	{{
  1371 	 17,  0,  0,  0,  0,  0,  0, 12,  0,192,224,  0,  0,  0,254,255,
  1372 	}},
  1373 	{{
  1374 	 17, 96,  6,  0,  0,  2, 58, 44, 96,198,127, 79, 48,  0,  0,248,
  1375 	}},
  1376 	{{
  1377 	 27,120,  6,  0,  0,  2,146, 44,120,198,255,161, 63,  0,224,255,
  1378 	}},
  1379 	{{
  1380 	 17, 80,  4,  0,  0,  2, 18, 12, 64,196,254,255, 62,  0,255,255,
  1381 	}},
  1382 	{{
  1383 	 17, 96,  6,  0,  0,  2, 50, 12,112,198, 63, 79, 60,  0,254,255,
  1384 	}},
  1385 	{{
  1386 	 19, 56,194, 41,231, 56, 64, 60, 56,194,127,255,127,  0,248,255,
  1387 	}},
  1388 	{{
  1389 	 17, 32,  2,  0,  0,  2, 16, 60, 32,194,159,255, 60,  0,255,255,
  1390 	}},
  1391 	{{
  1392 	 19, 32,  2,  0,  0,  2, 16, 60, 32,194,159,191, 60,  0,255,255,
  1393 	}},
  1394 	{{
  1395 	 19, 32,  2,  0,  0,  2,  0, 60, 48,194,127,255, 60,  0,255,255,
  1396 	}},
  1397 	{{
  1398 	 19,  0,128,  3,  0,  0,  4,208,128,123,160,  0,255,255,227,255,
  1399 	}},
  1400 	{{
  1401 	  1,  0,  0,  0,  0,  0,  0,120,  0,  0,  0,240,255,255,255,255,
  1402 	}},
  1403 	{{
  1404 	105,218, 15,  1, 81, 19,  0,196,160,192,  0,204,255,255,255,255,
  1405 	}},
  1406 	{{
  1407 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,248,  1,  0,
  1408 	}},
  1409 	{{
  1410 	  0,240,  0,  1,  0,  0,  0, 32,  0, 96,255,255,255,255,255,255,
  1411 	}},
  1412 	{{
  1413 	  0,  0,  0,  0,  4,  9, 56,252,  0,  0,  0,252,255,255,255,255,
  1414 	}},
  1415 	{{
  1416 	255,255,255,255,  0,  0,  0,  0,192,255,  0,  0,  0,  0,  0,246,
  1417 	}},
  1418 	{{
  1419 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,124,  0,  0,  0,  0,
  1420 	}},
  1421 	{{
  1422 	  0,  0,  0,  0,248,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,252,
  1423 	}},
  1424 	{{
  1425 	128,  0,  0,  0,  0,  0,  0,  0,128,194,128,194,  0,  0,  0,  0,
  1426 	}},
  1427 	{{
  1428 	128,194,  0,  0,  0,128,194,128,194,128,128,  0,  0,128,  0,  0,
  1429 	}},
  1430 	{{
  1431 	  0,128,194,128,  0,  0,  0,  0,128,  0,  0,248,  1,  0,  0,224,
  1432 	}},
  1433 	{{
  1434 	255,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,224,255,
  1435 	}},
  1436 	{{
  1437 	  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1438 	}},
  1439 	{{
  1440 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,255,
  1441 	}},
  1442 	{{
  1443 	  0,  0,  0,224,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,254,255,
  1444 	}},
  1445 	{{
  1446 	  0, 32,224,255,  0,  0,128,255,  0,  0,240,255,  0, 32,242,255,
  1447 	}},
  1448 	{{
  1449 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,224,  0,252,255,255,
  1450 	}},
  1451 	{{
  1452 	  0,128,  0,252,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,
  1453 	}},
  1454 	{{
  1455 	  0,  0,  0,  0,  0,252,255,255,255,255,255,255,255,255,255,255,
  1456 	}},
  1457 	{{
  1458 	  0,  0,  0,240,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,252,
  1459 	}},
  1460 	{{
  1461 	  0,  0,192,192,  0,  0,  0,  0,192,192,  0, 85,  0,  0,  0,192,
  1462 	}},
  1463 	{{
  1464 	  0,  0,  0,  0,  0,  0, 32,  0, 32,  0, 48, 16,  0,  0, 35,128,
  1465 	}},
  1466 	{{
  1467 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,120,127,240,  3, 12,  0,
  1468 	}},
  1469 	{{
  1470 	  0,128,255,255,  0,  0,252,255,255,255,  0,  0,  0,248,255,255,
  1471 	}},
  1472 	{{
  1473 	  0,  0,  0,  0,  0,  0,  0, 24,  0,240,  7,  0,  0,  0,  0,  0,
  1474 	}},
  1475 	{{
  1476 	240,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1477 	}},
  1478 	{{
  1479 	  0,  0,  0,  0,  0,  0,  0,  0,  0,128,255,255,255,255,255,255,
  1480 	}},
  1481 	{{
  1482 	  0,  0,  0,  0,128,255,255,255,  0,248,255,255,  0,  0,  0,  0,
  1483 	}},
  1484 	{{
  1485 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,
  1486 	}},
  1487 	{{
  1488 	  0,  0, 48,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,192,
  1489 	}},
  1490 	{{
  1491 	  0,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  1492 	}},
  1493 	{{
  1494 	 33, 12,  0,  0,  0,  1,  0,  0,  0, 80,184,128,  1,  0,  0,  0,
  1495 	}},
  1496 	{{
  1497 	  0,  0,224,  0,  0,  0,  1,128,255,255,  0,  0,  0,240,  0,  0,
  1498 	}},
  1499 	{{
  1500 	  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,240,255,
  1501 	}},
  1502 	{{
  1503 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,192,255,255,255,  0,240,
  1504 	}},
  1505 	{{
  1506 	  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,
  1507 	}},
  1508 	{{
  1509 	  0,  0,128,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1510 	}},
  1511 	{{
  1512 	 31,  0,  0,  0,  0,224,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1513 	}},
  1514 	{{
  1515 	  0,128,  0,  0,  0,  0,  0,255,255,255,255,255,255,255,  0,  0,
  1516 	}},
  1517 	{{
  1518 	  0,  0,  0,224,  0,  0,  0,  0,240,255,  1,  0,  0,  0,  0,112,
  1519 	}},
  1520 	{{
  1521 	  0,  0,  0,  0,  0,  0,  0,  0,  0,240,  0,  0,  0,  0,  0,128,
  1522 	}},
  1523 	{{
  1524 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,  7,
  1525 	}},
  1526 	{{
  1527 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,192,  0,  0,  0,128,
  1528 	}},
  1529 	{{
  1530 	  0,  0,  0,  0,  0,  0,192,255,255,255,255,255,255,255,255,255,
  1531 	}},
  1532 	{{
  1533 	  0,  0,  0,  0,192,255,255,255,255,255,255,255,255,255,255,255,
  1534 	}},
  1535 	{{
  1536 	  0,224,  0,  0,  0,  0,  0,  0,128,255,255,255,255,255,255,255,
  1537 	}},
  1538 	{{
  1539 	  0,  0,  0,  0,240,255,255,255,255,255,255,255,255,255,255,255,
  1540 	}},
  1541 	{{
  1542 	  0,  0,  0,  0,  0,192,  0,  0,  0,  0,  0,  0,  0,248,255,255,
  1543 	}},
  1544 	{{
  1545 	128,255,  7, 31,  0,  0,128,160, 36,  0,  0,  0,  0,  0,  0,  0,
  1546 	}},
  1547 	{{
  1548 	  0,  0,  0,  0,  0,  0,252,255,255,255,  7,  0,  0,  0,  0,  0,
  1549 	}},
  1550 	{{
  1551 	  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,
  1552 	}},
  1553 	{{
  1554 	  0,  0,  3,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,224,
  1555 	}},
  1556 	{{
  1557 	  0,  0,255,255,240,255,  0,  0,128,  1,  8,  0,128,240, 32,  0,
  1558 	}},
  1559 	{{
  1560 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 96,
  1561 	}},
  1562 	{{
  1563 	  0,  0,  0,  0,  0,  0,  0,128,  3,  3,  3,227,128,128,255,  1,
  1564 	}},
  1565 	{{
  1566 	  0,  0,  0,128,240,255,  0,  0,  0,248,255,255,255,255,255,255,
  1567 	}},
  1568 	{{
  1569 	  0,  0,  0,  0,192,  0,  0,  0,  0,192,255,255,255,255,255,255,
  1570 	}},
  1571 	{{
  1572 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,192,255,
  1573 	}},
  1574 	{{
  1575 	  0,  0,  0,  0,128,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1576 	}},
  1577 	{{
  1578 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,192,255,255,255,255,
  1579 	}},
  1580 	{{
  1581 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 32,  0,  0,  0,  0,  0,
  1582 	}},
  1583 	{{
  1584 	  0,  0,  0, 32,155, 33,  0, 20, 18,  0,  0,  0,  0,  0,  0,  0,
  1585 	}},
  1586 	{{
  1587 	 64, 24, 32, 32,  0,  0,  0,132,160,  3,  2,  0,  0,  0,  0,  0,
  1588 	}},
  1589 	{{
  1590 	  0,  0,  0,  0,240,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1591 	}},
  1592 	{{
  1593 	  0,  0,  0,  0,  0,  0,  0,  0,  0, 60,  0,  0,  0,  0,  0,  0,
  1594 	}},
  1595 	{{
  1596 	255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 63,
  1597 	}},
  1598 	{{
  1599 	  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,255,255,255,255,255,
  1600 	}},
  1601 	{{
  1602 	  0,  0,  0,192,255,255,255,255,255,255,255,255,255,255,255,255,
  1603 	}},
  1604 	{{
  1605 	253,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  1606 	}},
  1607 };
  1609 static const unsigned short nameprep_id11_bidi_imap[] = {
  1610 	  272,   400,   528,   656,   784,   912,   912,   912, 
  1611 	  912,  1040,  1168,   912,   912,  1296,   912,  1424, 
  1612 	 1552,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1613 	 1680,  1680,  1680,  1680,  1680,  1808,  1680,  1680, 
  1614 	  912,   912,   912,   912,   912,   912,   912,   912, 
  1615 	  912,   912,  1936,  1680,  1680,  1680,  1680,  2064, 
  1616 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1617 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1618 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1619 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1620 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1621 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1622 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1623 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1624 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1625 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1626 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1627 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1628 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1629 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1630 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1631 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1632 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1633 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1634 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1635 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1636 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1637 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1638 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1639 	 1680,  1680,  1680,  1680,  1680,  1680,  1680,  1680, 
  1640 	  912,   912,   912,   912,   912,   912,   912,   912, 
  1641 	  912,   912,   912,   912,   912,   912,   912,  2192, 
  1642 	  912,   912,   912,   912,   912,   912,   912,   912, 
  1643 	  912,   912,   912,   912,   912,   912,   912,  2192, 
  1644 	    0,     0,     1,     1,     0,     2,     3,     3, 
  1645 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1646 	    4,     5,     6,     4,     4,     7,     8,     9, 
  1647 	    0,     0,     0,    10,    11,    12,    13,    14, 
  1648 	    4,     4,     4,     4,    15,     4,    13,    16, 
  1649 	   17,    18,    19,    20,    21,    22,    23,    24, 
  1650 	   25,    26,    27,    28,    29,    29,    30,    31, 
  1651 	   32,    33,     0,     0,    29,    34,     0,     0, 
  1652 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1653 	   35,    36,    37,    38,    39,    40,    41,    42, 
  1654 	   43,    44,    45,    46,    47,    48,    49,    50, 
  1655 	   39,    51,    41,    52,    53,    54,    55,    56, 
  1656 	   57,    58,    59,    60,    61,    62,    63,    60, 
  1657 	   61,    64,    65,    60,    66,    67,    68,    69, 
  1658 	   20,    70,    71,     0,    72,    73,    74,     0, 
  1659 	   75,    76,    77,    78,    79,    80,    81,     0, 
  1660 	    4,    82,    83,     0,     0,     4,    84,    85, 
  1661 	    4,     4,    86,     4,     4,    87,     4,    88, 
  1662 	   89,     4,    90,     4,    91,    92,    93,    13, 
  1663 	   92,     4,    94,    95,     0,     4,     4,    96, 
  1664 	   20,     4,     4,     4,     4,     4,     4,     4, 
  1665 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1666 	    4,     4,     4,    97,     1,     4,     4,    98, 
  1667 	   99,   100,   101,   102,     4,   103,   104,   105, 
  1668 	  106,     4,     4,    83,     4,   107,     0,     0, 
  1669 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1670 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1671 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1672 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1673 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1674 	    4,     4,     4,     4,   108,     4,     4,    88, 
  1675 	  109,     4,   110,   111,     4,   112,   113,   114, 
  1676 	  115,     0,     0,   116,     0,     0,     0,     0, 
  1677 	  117,   118,   119,     4,   120,     0,     0,     0, 
  1678 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1679 	    0,   121,     4,   122,   123,     0,     0,     0, 
  1680 	    0,     0,     0,     0,   124,     4,     4,   105, 
  1681 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1682 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1683 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1684 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1685 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1686 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1687 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1688 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1689 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1690 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1691 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1692 	  125,   126,    20,     4,   127,    20,     4,   128, 
  1693 	  129,   130,     4,     4,    13,    83,     0,     6, 
  1694 	  131,     4,   120,   132,     4,    98,   133,   134, 
  1695 	    4,     4,     4,   135,     4,     4,   111,   134, 
  1696 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1697 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1698 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1699 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1700 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1701 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1702 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1703 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1704 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1705 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1706 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1707 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1708 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1709 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1710 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1711 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1712 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1713 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1714 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1715 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1716 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1717 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1718 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1719 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1720 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1721 	    4,     4,     4,     4,     4,    14,     0,     0, 
  1722 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1723 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1724 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1725 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1726 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1727 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1728 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1729 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1730 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1731 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1732 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1733 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1734 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1735 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1736 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1737 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1738 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1739 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1740 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1741 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1742 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1743 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1744 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1745 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1746 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1747 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1748 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1749 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1750 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1751 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1752 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1753 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1754 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1755 	    4,     4,     4,     4,     4,   136,     0,     0, 
  1756 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1757 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1758 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1759 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1760 	    4,     4,     4,     4,   137,     0,     0,     0, 
  1761 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1762 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1763 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1764 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1765 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1766 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1767 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1768 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1769 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1770 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1771 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1772 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1773 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1774 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1775 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1776 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1777 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1778 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1779 	    4,     4,     4,     4,     4,   120,     0,     0, 
  1780 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1781 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1782 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1783 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1784 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1785 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1786 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1787 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1788 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1789 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1790 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1791 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1792 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1793 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1794 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1795 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1796 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1797 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1798 	    4,   138,     4,   139,     0,     0,     0,     0, 
  1799 	  140,   141,   142,    29,    29,   143,   144,    29, 
  1800 	   29,    29,    29,    29,    29,    29,    29,    29, 
  1801 	   29,   145,   146,    29,   147,    29,   148,   149, 
  1802 	    0,     0,     0,   150,    29,    29,    29,   151, 
  1803 	    0,     1,     1,   152,     4,   134,   153,     0, 
  1804 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1805 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1806 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1807 	  134,   154,   139,     0,     0,     0,     0,     0, 
  1808 	    4,   155,   156,     0,     0,     0,     0,     0, 
  1809 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1810 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1811 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1812 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1813 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1814 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1815 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1816 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1817 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1818 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1819 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1820 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1821 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1822 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1823 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1824 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1825 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1826 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1827 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1828 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1829 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1830 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1831 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1832 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1833 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1834 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1835 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1836 	    4,     4,     4,     4,     4,     4,     4,    14, 
  1837 	    4,   157,     4,   158,   159,   160,   111,     0, 
  1838 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1839 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1840 	    4,     4,   161,     4,   162,   163,   164,     4, 
  1841 	  165,   166,   167,     4,     4,     4,     4,     4, 
  1842 	    4,     4,     4,     4,     4,   168,     4,     4, 
  1843 	    4,     4,     4,     4,     4,     4,   105,     0, 
  1844 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1845 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1846 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1847 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1848 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1849 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1850 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1851 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1852 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1853 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1854 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1855 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1856 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1857 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1858 	    4,     4,     4,     4,     4,     4,    97,     0, 
  1859 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1860 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1861 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1862 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1863 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1864 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1865 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1866 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1867 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1868 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1869 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1870 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1871 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1872 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1873 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1874 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1875 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1876 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1877 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1878 	  111,     0,     0,     0,     0,     0,     0,     0, 
  1879 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1880 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1881 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1882 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1883 	    0,     0,     0,     0,     0,     0,     0,     0, 
  1884 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1885 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1886 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1887 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1888 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1889 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1890 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1891 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1892 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1893 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1894 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1895 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1896 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1897 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1898 	    4,     4,     4,     4,     4,     4,     4,     4, 
  1899 	    4,     4,     4,     4,     4,     4,     4,   111, 
  1900 };
  1902 static const struct {
  1903 	unsigned char tbl[32];
  1904 } nameprep_id11_bidi_table[] = {
  1905 	{{
  1906 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1907 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1908 	}},
  1909 	{{
  1910 	 0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1911 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0, 
  1912 	}},
  1913 	{{
  1914 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0, 
  1915 	 0,  0,  0,  0,  2,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0, 
  1916 	}},
  1917 	{{
  1918 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1919 	 2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2, 
  1920 	}},
  1921 	{{
  1922 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1923 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1924 	}},
  1925 	{{
  1926 	 2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1927 	 2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1928 	}},
  1929 	{{
  1930 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2, 
  1931 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1932 	}},
  1933 	{{
  1934 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  2, 
  1935 	 2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2,  2, 
  1936 	}},
  1937 	{{
  1938 	 2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2, 
  1939 	 2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1940 	}},
  1941 	{{
  1942 	 2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0, 
  1943 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1944 	}},
  1945 	{{
  1946 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1947 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0, 
  1948 	}},
  1949 	{{
  1950 	 0,  0,  0,  0,  0,  0,  2,  0,  2,  2,  2,  0,  2,  0,  2,  2,  2, 
  1951 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1952 	}},
  1953 	{{
  1954 	 2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1955 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1956 	}},
  1957 	{{
  1958 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2, 
  1959 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1960 	}},
  1961 	{{
  1962 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1963 	 2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1964 	}},
  1965 	{{
  1966 	 2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2, 
  1967 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1968 	}},
  1969 	{{
  1970 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1971 	 2,  2,  2,  2,  2,  0,  0,  2,  2,  0,  0,  0,  0,  0,  0, 
  1972 	}},
  1973 	{{
  1974 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0, 
  1975 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1976 	}},
  1977 	{{
  1978 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1979 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1980 	}},
  1981 	{{
  1982 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1983 	 2,  2,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2,  2,  2,  2, 
  1984 	}},
  1985 	{{
  1986 	 0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1987 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  1988 	}},
  1989 	{{
  1990 	 2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  0,  0,  0,  0,  0,  0,  0, 
  1991 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1992 	}},
  1993 	{{
  1994 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  1995 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, 
  1996 	}},
  1997 	{{
  1998 	 1,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1, 
  1999 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2000 	}},
  2001 	{{
  2002 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  1, 
  2003 	 1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2004 	}},
  2005 	{{
  2006 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2007 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1, 
  2008 	}},
  2009 	{{
  2010 	 0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2011 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0, 
  2012 	}},
  2013 	{{
  2014 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0, 
  2015 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2016 	}},
  2017 	{{
  2018 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  0, 
  2019 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2020 	}},
  2021 	{{
  2022 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2023 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2024 	}},
  2025 	{{
  2026 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2027 	 1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0, 
  2028 	}},
  2029 	{{
  2030 	 0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2031 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0, 
  2032 	}},
  2033 	{{
  2034 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1, 
  2035 	 0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2036 	}},
  2037 	{{
  2038 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0, 
  2039 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2040 	}},
  2041 	{{
  2042 	 1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2043 	 1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2044 	}},
  2045 	{{
  2046 	 0,  0,  0,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2047 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2048 	}},
  2049 	{{
  2050 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2051 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  2,  2,  2, 
  2052 	}},
  2053 	{{
  2054 	 2,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  2,  2,  0,  0,  0,  2, 
  2055 	 0,  0,  0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2, 
  2056 	}},
  2057 	{{
  2058 	 2,  2,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2059 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2060 	}},
  2061 	{{
  2062 	 0,  0,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  2,  2, 
  2063 	 0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2064 	}},
  2065 	{{
  2066 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2, 
  2067 	 0,  2,  0,  0,  0,  2,  2,  2,  2,  0,  0,  0,  0,  2,  2, 
  2068 	}},
  2069 	{{
  2070 	 2,  0,  0,  0,  0,  0,  0,  2,  2,  0,  0,  2,  2,  0,  0,  0,  0, 
  2071 	 0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  2,  2,  0,  2, 
  2072 	}},
  2073 	{{
  2074 	 2,  2,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2075 	 2,  0,  0,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0, 
  2076 	}},
  2077 	{{
  2078 	 0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  2,  2, 
  2079 	 0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2080 	}},
  2081 	{{
  2082 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2, 
  2083 	 0,  2,  2,  0,  2,  2,  0,  2,  2,  0,  0,  0,  0,  2,  2, 
  2084 	}},
  2085 	{{
  2086 	 2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2087 	 0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  2,  2,  0,  2,  0, 
  2088 	}},
  2089 	{{
  2090 	 0,  0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0, 
  2091 	 0,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2092 	}},
  2093 	{{
  2094 	 0,  0,  0,  2,  0,  2,  2,  2,  2,  2,  2,  2,  0,  2,  0,  2,  2, 
  2095 	 2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2096 	}},
  2097 	{{
  2098 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2, 
  2099 	 0,  2,  2,  0,  2,  2,  2,  2,  2,  0,  0,  0,  2,  2,  2, 
  2100 	}},
  2101 	{{
  2102 	 2,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  2,  2,  0,  0,  0,  2, 
  2103 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2104 	}},
  2105 	{{
  2106 	 2,  0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0, 
  2107 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2108 	}},
  2109 	{{
  2110 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2, 
  2111 	 0,  2,  2,  0,  0,  2,  2,  2,  2,  0,  0,  0,  2,  2,  0, 
  2112 	}},
  2113 	{{
  2114 	 2,  2,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2115 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2116 	}},
  2117 	{{
  2118 	 0,  0,  0,  2,  0,  2,  2,  2,  2,  2,  2,  0,  0,  0,  2,  2,  2, 
  2119 	 0,  2,  2,  2,  2,  0,  0,  0,  2,  2,  0,  2,  0,  2,  2, 
  2120 	}},
  2121 	{{
  2122 	 0,  0,  0,  2,  2,  0,  0,  0,  2,  2,  2,  0,  0,  0,  2,  2,  2, 
  2123 	 2,  2,  2,  2,  2,  0,  2,  2,  2,  0,  0,  0,  0,  2,  2, 
  2124 	}},
  2125 	{{
  2126 	 0,  2,  2,  0,  0,  0,  2,  2,  2,  0,  2,  2,  2,  0,  0,  0,  0, 
  2127 	 0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0, 
  2128 	}},
  2129 	{{
  2130 	 0,  0,  0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2131 	 2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2132 	}},
  2133 	{{
  2134 	 0,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2, 
  2135 	 0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2136 	}},
  2137 	{{
  2138 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2, 
  2139 	 2,  2,  2,  0,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0, 
  2140 	}},
  2141 	{{
  2142 	 0,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2143 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2144 	}},
  2145 	{{
  2146 	 2,  2,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0, 
  2147 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2148 	}},
  2149 	{{
  2150 	 0,  0,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2, 
  2151 	 0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2152 	}},
  2153 	{{
  2154 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2, 
  2155 	 2,  2,  2,  0,  2,  2,  2,  2,  2,  0,  0,  0,  0,  2,  0, 
  2156 	}},
  2157 	{{
  2158 	 2,  2,  2,  2,  2,  0,  0,  2,  2,  0,  2,  2,  0,  0,  0,  0,  0, 
  2159 	 0,  0,  0,  0,  2,  2,  0,  0,  0,  0,  0,  0,  0,  2,  0, 
  2160 	}},
  2161 	{{
  2162 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2, 
  2163 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  2,  2, 
  2164 	}},
  2165 	{{
  2166 	 2,  0,  0,  0,  0,  0,  2,  2,  2,  0,  2,  2,  2,  0,  0,  0,  0, 
  2167 	 0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0, 
  2168 	}},
  2169 	{{
  2170 	 0,  0,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2171 	 2,  2,  2,  2,  2,  2,  0,  0,  0,  2,  2,  2,  2,  2,  2, 
  2172 	}},
  2173 	{{
  2174 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2175 	 2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  0,  0, 
  2176 	}},
  2177 	{{
  2178 	 2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2, 
  2179 	 2,  0,  0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2, 
  2180 	}},
  2181 	{{
  2182 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2183 	 0,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2184 	}},
  2185 	{{
  2186 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2187 	 0,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2188 	}},
  2189 	{{
  2190 	 2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2, 
  2191 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0, 
  2192 	}},
  2193 	{{
  2194 	 0,  2,  2,  0,  2,  0,  0,  2,  2,  0,  2,  0,  0,  2,  0,  0,  0, 
  2195 	 0,  0,  0,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2, 
  2196 	}},
  2197 	{{
  2198 	 0,  2,  2,  2,  0,  2,  0,  2,  0,  0,  2,  2,  0,  2,  2,  2,  2, 
  2199 	 0,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0, 
  2200 	}},
  2201 	{{
  2202 	 2,  2,  2,  2,  2,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2, 
  2203 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  2,  2,  0,  0, 
  2204 	}},
  2205 	{{
  2206 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2207 	 2,  2,  2,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2,  2,  2, 
  2208 	}},
  2209 	{{
  2210 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2211 	 2,  2,  2,  2,  0,  2,  0,  2,  0,  0,  0,  0,  0,  2,  2, 
  2212 	}},
  2213 	{{
  2214 	 2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2, 
  2215 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2216 	}},
  2217 	{{
  2218 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0, 
  2219 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2, 
  2220 	}},
  2221 	{{
  2222 	 0,  0,  0,  0,  0,  2,  0,  0,  2,  2,  2,  2,  0,  0,  0,  0,  0, 
  2223 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2224 	}},
  2225 	{{
  2226 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2227 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2, 
  2228 	}},
  2229 	{{
  2230 	 2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  0,  0,  2,  0, 
  2231 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2232 	}},
  2233 	{{
  2234 	 2,  2,  0,  2,  2,  2,  2,  2,  0,  2,  2,  0,  2,  0,  0,  0,  0, 
  2235 	 2,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0, 
  2236 	}},
  2237 	{{
  2238 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2239 	 2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0, 
  2240 	}},
  2241 	{{
  2242 	 2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2, 
  2243 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2244 	}},
  2245 	{{
  2246 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2247 	 2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  2,  0,  0,  0,  0, 
  2248 	}},
  2249 	{{
  2250 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2251 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  2, 
  2252 	}},
  2253 	{{
  2254 	 2,  2,  2,  0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2255 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2256 	}},
  2257 	{{
  2258 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2259 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0, 
  2260 	}},
  2261 	{{
  2262 	 2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2263 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2264 	}},
  2265 	{{
  2266 	 2,  2,  2,  2,  2,  2,  2,  0,  2,  0,  2,  2,  2,  2,  0,  0,  2, 
  2267 	 2,  2,  2,  2,  2,  2,  0,  2,  0,  2,  2,  2,  2,  0,  0, 
  2268 	}},
  2269 	{{
  2270 	 2,  2,  2,  2,  2,  2,  2,  0,  2,  0,  2,  2,  2,  2,  0,  0,  2, 
  2271 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2272 	}},
  2273 	{{
  2274 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2, 
  2275 	 0,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2,  2,  2,  2,  0, 
  2276 	}},
  2277 	{{
  2278 	 2,  0,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2,  2,  2,  2,  0,  2, 
  2279 	 2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2, 
  2280 	}},
  2281 	{{
  2282 	 2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2283 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0, 
  2284 	}},
  2285 	{{
  2286 	 0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2287 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0, 
  2288 	}},
  2289 	{{
  2290 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2291 	 2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2292 	}},
  2293 	{{
  2294 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2295 	 2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2296 	}},
  2297 	{{
  2298 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2299 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2300 	}},
  2301 	{{
  2302 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2, 
  2303 	 2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2304 	}},
  2305 	{{
  2306 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2307 	 2,  0,  0,  0,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2308 	}},
  2309 	{{
  2310 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2311 	 2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2312 	}},
  2313 	{{
  2314 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2, 
  2315 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2316 	}},
  2317 	{{
  2318 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2319 	 2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  2,  2, 
  2320 	}},
  2321 	{{
  2322 	 2,  2,  2,  2,  2,  2,  0,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0, 
  2323 	 0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  0,  2,  0,  0,  0, 
  2324 	}},
  2325 	{{
  2326 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0, 
  2327 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2328 	}},
  2329 	{{
  2330 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2, 
  2331 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0, 
  2332 	}},
  2333 	{{
  2334 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0, 
  2335 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2336 	}},
  2337 	{{
  2338 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2339 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0, 
  2340 	}},
  2341 	{{
  2342 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2343 	 2,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2,  2,  2,  0,  0, 
  2344 	}},
  2345 	{{
  2346 	 2,  2,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2,  2,  2,  0,  0,  2, 
  2347 	 2,  2,  2,  2,  2,  2,  2,  0,  2,  0,  2,  0,  2,  0,  2, 
  2348 	}},
  2349 	{{
  2350 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2351 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0, 
  2352 	}},
  2353 	{{
  2354 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2355 	 2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  0,  2,  0, 
  2356 	}},
  2357 	{{
  2358 	 0,  0,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  2, 
  2359 	 2,  2,  2,  0,  0,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0, 
  2360 	}},
  2361 	{{
  2362 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0, 
  2363 	 0,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0, 
  2364 	}},
  2365 	{{
  2366 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  1,  0, 
  2367 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2368 	}},
  2369 	{{
  2370 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2371 	 2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2, 
  2372 	}},
  2373 	{{
  2374 	 0,  0,  2,  0,  0,  0,  0,  2,  0,  0,  2,  2,  2,  2,  2,  2,  2, 
  2375 	 2,  2,  2,  0,  2,  0,  0,  0,  2,  2,  2,  2,  2,  0,  0, 
  2376 	}},
  2377 	{{
  2378 	 0,  0,  0,  0,  2,  0,  2,  0,  2,  0,  2,  2,  2,  2,  0,  2,  2, 
  2379 	 2,  0,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  2,  2,  2, 
  2380 	}},
  2381 	{{
  2382 	 0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0, 
  2383 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2384 	}},
  2385 	{{
  2386 	 2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2387 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2388 	}},
  2389 	{{
  2390 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2391 	 0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2392 	}},
  2393 	{{
  2394 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2395 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0, 
  2396 	}},
  2397 	{{
  2398 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2399 	 0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2400 	}},
  2401 	{{
  2402 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2403 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  2,  2, 
  2404 	}},
  2405 	{{
  2406 	 0,  0,  0,  0,  0,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2407 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2408 	}},
  2409 	{{
  2410 	 0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0, 
  2411 	 2,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2,  2,  0,  0,  0, 
  2412 	}},
  2413 	{{
  2414 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2415 	 2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  2,  2,  2, 
  2416 	}},
  2417 	{{
  2418 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2419 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2, 
  2420 	}},
  2421 	{{
  2422 	 0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2423 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2424 	}},
  2425 	{{
  2426 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0, 
  2427 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2428 	}},
  2429 	{{
  2430 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2431 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0, 
  2432 	}},
  2433 	{{
  2434 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2435 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  2, 
  2436 	}},
  2437 	{{
  2438 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  2, 
  2439 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2440 	}},
  2441 	{{
  2442 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2443 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0, 
  2444 	}},
  2445 	{{
  2446 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2447 	 2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  2,  2,  2,  2,  2, 
  2448 	}},
  2449 	{{
  2450 	 2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2451 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2452 	}},
  2453 	{{
  2454 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0, 
  2455 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2456 	}},
  2457 	{{
  2458 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  2, 
  2459 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2460 	}},
  2461 	{{
  2462 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0, 
  2463 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2464 	}},
  2465 	{{
  2466 	 2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2467 	 0,  0,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,  1,  0,  1, 
  2468 	}},
  2469 	{{
  2470 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1, 
  2471 	 1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  0,  1,  0, 
  2472 	}},
  2473 	{{
  2474 	 1,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2475 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2476 	}},
  2477 	{{
  2478 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2479 	 1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2480 	}},
  2481 	{{
  2482 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2483 	 0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2484 	}},
  2485 	{{
  2486 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2487 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0, 
  2488 	}},
  2489 	{{
  2490 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1, 
  2491 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2492 	}},
  2493 	{{
  2494 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0, 
  2495 	 0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2496 	}},
  2497 	{{
  2498 	 1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2499 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2500 	}},
  2501 	{{
  2502 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1, 
  2503 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0, 
  2504 	}},
  2505 	{{
  2506 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1, 
  2507 	 1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2508 	}},
  2509 	{{
  2510 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 
  2511 	 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0, 
  2512 	}},
  2513 	{{
  2514 	 0,  0,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2515 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2516 	}},
  2517 	{{
  2518 	 0,  0,  2,  2,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2,  2,  2,  0, 
  2519 	 0,  2,  2,  2,  2,  2,  2,  0,  0,  2,  2,  2,  0,  0,  0, 
  2520 	}},
  2521 	{{
  2522 	 2,  2,  2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2, 
  2523 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2524 	}},
  2525 	{{
  2526 	 2,  2,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2527 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2528 	}},
  2529 	{{
  2530 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0, 
  2531 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2532 	}},
  2533 	{{
  2534 	 2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2, 
  2535 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2536 	}},
  2537 	{{
  2538 	 2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2, 
  2539 	 2,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
  2540 	}},
  2541 	{{
  2542 	 0,  0,  0,  2,  2,  0,  0,  0,  0,  0,  0,  0,  2,  2,  2,  2,  2, 
  2543 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2544 	}},
  2545 	{{
  2546 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  2,  2,  2, 
  2547 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2548 	}},
  2549 	{{
  2550 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2551 	 2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2552 	}},
  2553 	{{
  2554 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2555 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2, 
  2556 	}},
  2557 	{{
  2558 	 0,  0,  2,  0,  0,  2,  2,  0,  0,  2,  2,  2,  2,  0,  2,  2,  2, 
  2559 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  0,  2,  2,  2, 
  2560 	}},
  2561 	{{
  2562 	 2,  0,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2563 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2564 	}},
  2565 	{{
  2566 	 2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  0,  0,  2,  2,  2,  2, 
  2567 	 2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2, 
  2568 	}},
  2569 	{{
  2570 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2571 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  0, 
  2572 	}},
  2573 	{{
  2574 	 2,  2,  2,  2,  2,  0,  2,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2, 
  2575 	 0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2576 	}},
  2577 	{{
  2578 	 2,  2,  2,  2,  0,  0,  0,  0,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2579 	 2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2, 
  2580 	}},
  2581 };
  2583 static const unsigned char nameprep_id11_bidi_data[] = {
  2584 	idn_biditype_others, 
  2585 	idn_biditype_r_al, 
  2586 	idn_biditype_l, 
  2587 };

mercurial