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