netwerk/dns/nameprepdata.c

Wed, 31 Dec 2014 06:55:46 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:55:46 +0100
changeset 1
ca08bd8f51b2
permissions
-rw-r--r--

Added tag TORBROWSER_REPLICA for changeset 6474c204b198

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

mercurial