PluginProbe
PDF & Print by BestWebSoft – WordPress Posts and Pages PDF Generator Plugin / trunk
PDF & Print by BestWebSoft – WordPress Posts and Pages PDF Generator Plugin vtrunk
trunk 1.5 1.6 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 All 71 releases
← All changes | mpdf/classes/ucdn.php +2923 -2920 1.8.3trunk View file →
@@ -1,2920 +1,2923 @@
1 -<?php
2 -
3 -/* HarfBuzz ucdn/unicodedata_db.h */
4 -/* HarfBuzz ucdn/ucdn.c */
5 -/* HarfBuzz ucdn/ucdn.h */
6 -
7 -class UCDN {
8 -
9 -const SCRIPT_COMMON = 0;
10 -const SCRIPT_LATIN = 1;
11 -const SCRIPT_GREEK = 2;
12 -const SCRIPT_CYRILLIC = 3;
13 -const SCRIPT_ARMENIAN = 4;
14 -const SCRIPT_HEBREW = 5;
15 -const SCRIPT_ARABIC = 6;
16 -const SCRIPT_SYRIAC = 7;
17 -const SCRIPT_THAANA = 8;
18 -const SCRIPT_DEVANAGARI = 9;
19 -const SCRIPT_BENGALI = 10;
20 -const SCRIPT_GURMUKHI = 11;
21 -const SCRIPT_GUJARATI = 12;
22 -const SCRIPT_ORIYA = 13;
23 -const SCRIPT_TAMIL = 14;
24 -const SCRIPT_TELUGU = 15;
25 -const SCRIPT_KANNADA = 16;
26 -const SCRIPT_MALAYALAM = 17;
27 -const SCRIPT_SINHALA = 18;
28 -const SCRIPT_THAI = 19;
29 -const SCRIPT_LAO = 20;
30 -const SCRIPT_TIBETAN = 21;
31 -const SCRIPT_MYANMAR = 22;
32 -const SCRIPT_GEORGIAN = 23;
33 -const SCRIPT_HANGUL = 24;
34 -const SCRIPT_ETHIOPIC = 25;
35 -const SCRIPT_CHEROKEE = 26;
36 -const SCRIPT_CANADIAN_ABORIGINAL = 27;
37 -const SCRIPT_OGHAM = 28;
38 -const SCRIPT_RUNIC = 29;
39 -const SCRIPT_KHMER = 30;
40 -const SCRIPT_MONGOLIAN = 31;
41 -const SCRIPT_HIRAGANA = 32;
42 -const SCRIPT_KATAKANA = 33;
43 -const SCRIPT_BOPOMOFO = 34;
44 -const SCRIPT_HAN = 35;
45 -const SCRIPT_YI = 36;
46 -const SCRIPT_OLD_ITALIC = 37;
47 -const SCRIPT_GOTHIC = 38;
48 -const SCRIPT_DESERET = 39;
49 -const SCRIPT_INHERITED = 40;
50 -const SCRIPT_TAGALOG = 41;
51 -const SCRIPT_HANUNOO = 42;
52 -const SCRIPT_BUHID = 43;
53 -const SCRIPT_TAGBANWA = 44;
54 -const SCRIPT_LIMBU = 45;
55 -const SCRIPT_TAI_LE = 46;
56 -const SCRIPT_LINEAR_B = 47;
57 -const SCRIPT_UGARITIC = 48;
58 -const SCRIPT_SHAVIAN = 49;
59 -const SCRIPT_OSMANYA = 50;
60 -const SCRIPT_CYPRIOT = 51;
61 -const SCRIPT_BRAILLE = 52;
62 -const SCRIPT_BUGINESE = 53;
63 -const SCRIPT_COPTIC = 54;
64 -const SCRIPT_NEW_TAI_LUE = 55;
65 -const SCRIPT_GLAGOLITIC = 56;
66 -const SCRIPT_TIFINAGH = 57;
67 -const SCRIPT_SYLOTI_NAGRI = 58;
68 -const SCRIPT_OLD_PERSIAN = 59;
69 -const SCRIPT_KHAROSHTHI = 60;
70 -const SCRIPT_BALINESE = 61;
71 -const SCRIPT_CUNEIFORM = 62;
72 -const SCRIPT_PHOENICIAN = 63;
73 -const SCRIPT_PHAGS_PA = 64;
74 -const SCRIPT_NKO = 65;
75 -const SCRIPT_SUNDANESE = 66;
76 -const SCRIPT_LEPCHA = 67;
77 -const SCRIPT_OL_CHIKI = 68;
78 -const SCRIPT_VAI = 69;
79 -const SCRIPT_SAURASHTRA = 70;
80 -const SCRIPT_KAYAH_LI = 71;
81 -const SCRIPT_REJANG = 72;
82 -const SCRIPT_LYCIAN = 73;
83 -const SCRIPT_CARIAN = 74;
84 -const SCRIPT_LYDIAN = 75;
85 -const SCRIPT_CHAM = 76;
86 -const SCRIPT_TAI_THAM = 77;
87 -const SCRIPT_TAI_VIET = 78;
88 -const SCRIPT_AVESTAN = 79;
89 -const SCRIPT_EGYPTIAN_HIEROGLYPHS = 80;
90 -const SCRIPT_SAMARITAN = 81;
91 -const SCRIPT_LISU = 82;
92 -const SCRIPT_BAMUM = 83;
93 -const SCRIPT_JAVANESE = 84;
94 -const SCRIPT_MEETEI_MAYEK = 85;
95 -const SCRIPT_IMPERIAL_ARAMAIC = 86;
96 -const SCRIPT_OLD_SOUTH_ARABIAN = 87;
97 -const SCRIPT_INSCRIPTIONAL_PARTHIAN = 88;
98 -const SCRIPT_INSCRIPTIONAL_PAHLAVI = 89;
99 -const SCRIPT_OLD_TURKIC = 90;
100 -const SCRIPT_KAITHI = 91;
101 -const SCRIPT_BATAK = 92;
102 -const SCRIPT_BRAHMI = 93;
103 -const SCRIPT_MANDAIC = 94;
104 -const SCRIPT_CHAKMA = 95;
105 -const SCRIPT_MEROITIC_CURSIVE = 96;
106 -const SCRIPT_MEROITIC_HIEROGLYPHS = 97;
107 -const SCRIPT_MIAO = 98;
108 -const SCRIPT_SHARADA = 99;
109 -const SCRIPT_SORA_SOMPENG = 100;
110 -const SCRIPT_TAKRI = 101;
111 -const SCRIPT_UNKNOWN = 102;
112 -
113 -
114 -public static function get_ucd_record($code) {
115 - if ($code >= 0x110000)
116 - $index = 0;
117 - else {
118 - $index = self::$index0[$code >> (8)] << 5;
119 - $offset = ($code >> 3) & ((1<<5) - 1);
120 - $index = self::$index1[$index + $offset] << 3;
121 - $offset = $code & ((1<<3) - 1);
122 - $index = self::$index2[$index + $offset];
123 - }
124 - return self::$ucd_records[$index];
125 -}
126 -public static function get_general_category($code) {
127 - $ucd_record = self::get_ucd_record($code);
128 - return $ucd_record[0];
129 -}
130 -public static function get_combining_class($code) {
131 - $ucd_record = self::get_ucd_record($code);
132 - return $ucd_record[1];
133 -}
134 -public static function get_bidi_class($code) {
135 - $ucd_record = self::get_ucd_record($code);
136 - return $ucd_record[2];
137 -}
138 -public static function get_mirrored($code) {
139 - $ucd_record = self::get_ucd_record($code);
140 - return $ucd_record[3];
141 -}
142 -public static function get_east_asian_width($code) {
143 - $ucd_record = self::get_ucd_record($code);
144 - return $ucd_record[4];
145 -}
146 -public static function get_normalization_check($code) {
147 - $ucd_record = self::get_ucd_record($code);
148 - return $ucd_record[5];
149 -}
150 -public static function get_script($code) {
151 - $ucd_record = self::get_ucd_record($code);
152 - return $ucd_record[6];
153 -}
154 -
155 -
156 -// mPDF added
157 -public static $uni_scriptblock = array(
158 - /* SCRIPT_COMMON */ 0 => '',
159 -
160 - /* SCRIPT_LATIN */ 1 => 'latn',
161 - /* SCRIPT_GREEK */ 2 => 'grek',
162 - /* SCRIPT_CYRILLIC */ 3 => 'cyrl',
163 - /* SCRIPT_ARMENIAN */ 4 => 'armn',
164 - /* SCRIPT_HEBREW */ 5 => 'hebr',
165 - /* SCRIPT_ARABIC */ 6 => 'arab',
166 - /* SCRIPT_SYRIAC */ 7 => 'syrc',
167 - /* SCRIPT_THAANA */ 8 => 'thaa',
168 -
169 - /* SCRIPT_DEVANAGARI */ 9 => 'dev2',
170 - /* SCRIPT_BENGALI */ 10 => 'bng2',
171 - /* SCRIPT_GURMUKHI */ 11 => 'gur2',
172 - /* SCRIPT_GUJARATI */ 12 => 'gjr2',
173 - /* SCRIPT_ORIYA */ 13 => 'ory2',
174 - /* SCRIPT_TAMIL */ 14 => 'tml2',
175 - /* SCRIPT_TELUGU */ 15 => 'tel2',
176 - /* SCRIPT_KANNADA */ 16 => 'knd2',
177 - /* SCRIPT_MALAYALAM */ 17 => 'mlm2',
178 -
179 - /* SCRIPT_SINHALA */ 18 => 'sinh',
180 - /* SCRIPT_THAI */ 19 => 'thai',
181 - /* SCRIPT_LAO */ 20 => 'lao ',
182 - /* SCRIPT_TIBETAN */ 21 => 'tibt',
183 - /* SCRIPT_MYANMAR */ 22 => 'mym2',
184 - /* SCRIPT_GEORGIAN */ 23 => 'geor',
185 - /* SCRIPT_HANGUL */ 24 => 'jamo', /* there is also a hang tag, but we want to activate jamo features if present */
186 - /* SCRIPT_ETHIOPIC */ 25 => 'ethi',
187 - /* SCRIPT_CHEROKEE */ 26 => 'cher',
188 - /* SCRIPT_CANADIAN_ABORIGINAL */ 27 => 'cans',
189 - /* SCRIPT_OGHAM */ 28 => 'ogam',
190 - /* SCRIPT_RUNIC */ 29 => 'runr',
191 - /* SCRIPT_KHMER */ 30 => 'khmr',
192 - /* SCRIPT_MONGOLIAN */ 31 => 'mong',
193 - /* SCRIPT_HIRAGANA */ 32 => 'kana',
194 - /* SCRIPT_KATAKANA */ 33 => 'kana',
195 - /* SCRIPT_BOPOMOFO */ 34 => 'bopo',
196 - /* SCRIPT_HAN */ 35 => 'hani',
197 - /* SCRIPT_YI */ 36 => 'yi ',
198 - /* SCRIPT_OLD_ITALIC */ 37 => 'ital',
199 - /* SCRIPT_GOTHIC */ 38 => 'goth',
200 - /* SCRIPT_DESERET */ 39 => 'dsrt',
201 -
202 - /* SCRIPT_INHERITED */ 40 => '',
203 -
204 - /* SCRIPT_TAGALOG */ 41 => 'tglg',
205 - /* SCRIPT_HANUNOO */ 42 => 'hano',
206 - /* SCRIPT_BUHID */ 43 => 'buhd',
207 - /* SCRIPT_TAGBANWA */ 44 => 'tagb',
208 - /* SCRIPT_LIMBU */ 45 => 'limb',
209 - /* SCRIPT_TAI_LE */ 46 => 'tale',
210 - /* SCRIPT_LINEAR_B */ 47 => 'linb',
211 - /* SCRIPT_UGARITIC */ 48 => 'ugar',
212 - /* SCRIPT_SHAVIAN */ 49 => 'shaw',
213 - /* SCRIPT_OSMANYA */ 50 => 'osma',
214 - /* SCRIPT_CYPRIOT */ 51 => 'cprt',
215 - /* SCRIPT_BRAILLE */ 52 => 'brai',
216 - /* SCRIPT_BUGINESE */ 53 => 'bugi',
217 - /* SCRIPT_COPTIC */ 54 => 'copt',
218 - /* SCRIPT_NEW_TAI_LUE */55 => 'talu',
219 - /* SCRIPT_GLAGOLITIC */ 56 => 'glag',
220 - /* SCRIPT_TIFINAGH */ 57 => 'tfng',
221 - /* SCRIPT_SYLOTI_NAGRI */ 58 => 'sylo',
222 - /* SCRIPT_OLD_PERSIAN */ 59 => 'xpeo',
223 - /* SCRIPT_KHAROSHTHI */ 60 => 'khar',
224 - /* SCRIPT_BALINESE */ 61 => 'bali',
225 - /* SCRIPT_CUNEIFORM */ 62 => 'xsux',
226 - /* SCRIPT_PHOENICIAN */ 63 => 'phnx',
227 - /* SCRIPT_PHAGS_PA */ 64 => 'phag',
228 - /* SCRIPT_NKO */ 65 => 'nko ',
229 - /* SCRIPT_SUNDANESE */ 66 => 'sund',
230 - /* SCRIPT_LEPCHA */ 67 => 'lepc',
231 - /* SCRIPT_OL_CHIKI */ 68 => 'olck',
232 - /* SCRIPT_VAI */ 69 => 'vai ',
233 - /* SCRIPT_SAURASHTRA */ 70 => 'saur',
234 - /* SCRIPT_KAYAH_LI */ 71 => 'kali',
235 - /* SCRIPT_REJANG */ 72 => 'rjng',
236 - /* SCRIPT_LYCIAN */ 73 => 'lyci',
237 - /* SCRIPT_CARIAN */ 74 => 'cari',
238 - /* SCRIPT_LYDIAN */ 75 => 'lydi',
239 - /* SCRIPT_CHAM */ 76 => 'cham',
240 - /* SCRIPT_TAI_THAM */ 77 => 'lana',
241 - /* SCRIPT_TAI_VIET */ 78 => 'tavt',
242 - /* SCRIPT_AVESTAN */ 79 => 'avst',
243 - /* SCRIPT_EGYPTIAN_HIEROGLYPHS */ 80 => 'egyp',
244 - /* SCRIPT_SAMARITAN */ 81 => 'samr',
245 - /* SCRIPT_LISU */ 82 => 'lisu',
246 - /* SCRIPT_BAMUM */ 83 => 'bamu',
247 - /* SCRIPT_JAVANESE */ 84 => 'java',
248 - /* SCRIPT_MEETEI_MAYEK */ 85 => 'mtei',
249 - /* SCRIPT_IMPERIAL_ARAMAIC */ 86 => 'armi',
250 - /* SCRIPT_OLD_SOUTH_ARABIAN */ 87 => 'sarb',
251 - /* SCRIPT_INSCRIPTIONAL_PARTHIAN */ 88 => 'prti',
252 - /* SCRIPT_INSCRIPTIONAL_PAHLAVI */ 89 => 'phli',
253 - /* SCRIPT_OLD_TURKIC */ 90 => 'orkh',
254 - /* SCRIPT_KAITHI */ 91 => 'kthi',
255 - /* SCRIPT_BATAK */ 92 => 'batk',
256 - /* SCRIPT_BRAHMI */ 93 => 'brah',
257 - /* SCRIPT_MANDAIC */ 94 => 'mand',
258 - /* SCRIPT_CHAKMA */ 95 => 'cakm',
259 - /* SCRIPT_MEROITIC_CURSIVE */ 96 => 'merc',
260 - /* SCRIPT_MEROITIC_HIEROGLYPHS */ 97 => 'mero',
261 - /* SCRIPT_MIAO */ 98 => 'plrd',
262 - /* SCRIPT_SHARADA */ 99 => 'shrd',
263 - /* SCRIPT_SORA_SOMPENG */100 => 'sora',
264 - /* SCRIPT_TAKRI */ 101 => 'takr',
265 -
266 - /* SCRIPT_UNKNOWN */ 102 => '',
267 -);
268 -
269 -
270 -public static $ot_languages = array(
271 - 'aa' => 'AFR ', /* Afar */
272 - 'ab' => 'ABK ', /* Abkhazian */
273 - 'abq' => 'ABA ', /* Abaza */
274 - 'ada' => 'DNG ', /* Dangme */
275 - 'ady' => 'ADY ', /* Adyghe */
276 - 'af' => 'AFK ', /* Afrikaans */
277 - 'aii' => 'SWA ', /* Swadaya Aramaic */
278 - 'aiw' => 'ARI ', /* Aari */
279 - 'alt' => 'ALT ', /* [Southern] Altai */
280 - 'am' => 'AMH ', /* Amharic */
281 - 'amf' => 'HBN ', /* Hammer-Banna */
282 - 'ar' => 'ARA ', /* Arabic */
283 - 'arn' => 'MAP ', /* Mapudungun */
284 - 'as' => 'ASM ', /* Assamese */
285 - 'ath' => 'ATH ', /* Athapaskan [family] */
286 - 'atv' => 'ALT ', /* [Northern] Altai */
287 - 'av' => 'AVR ', /* Avaric */
288 - 'awa' => 'AWA ', /* Awadhi */
289 - 'ay' => 'AYM ', /* Aymara */
290 - 'az' => 'AZE ', /* Azerbaijani */
291 - 'ba' => 'BSH ', /* Bashkir */
292 - 'bai' => 'BML ', /* Bamileke [family] */
293 - 'bal' => 'BLI ', /* Baluchi */
294 - 'bci' => 'BAU ', /* Baule */
295 - 'bcq' => 'BCH ', /* Bench */
296 - 'be' => 'BEL ', /* Belarussian */
297 - 'bem' => 'BEM ', /* Bemba (Zambia) */
298 - 'ber' => 'BER ', /* Berber [family] */
299 - 'bfq' => 'BAD ', /* Badaga */
300 - 'bft' => 'BLT ', /* Balti */
301 - 'bfy' => 'BAG ', /* Baghelkhandi */
302 - 'bg' => 'BGR ', /* Bulgarian */
303 - 'bhb' => 'BHI ', /* Bhili */
304 - 'bho' => 'BHO ', /* Bhojpuri */
305 - 'bik' => 'BIK ', /* Bikol */
306 - 'bin' => 'EDO ', /* Bini */
307 - 'bjt' => 'BLN ', /* Balanta-Ganja */
308 - 'bla' => 'BKF ', /* Blackfoot */
309 - 'ble' => 'BLN ', /* Balanta-Kentohe */
310 - 'bm' => 'BMB ', /* Bambara */
311 - 'bn' => 'BEN ', /* Bengali */
312 - 'bo' => 'TIB ', /* Tibetan */
313 - 'br' => 'BRE ', /* Breton */
314 - 'bra' => 'BRI ', /* Braj Bhasha */
315 - 'brh' => 'BRH ', /* Brahui */
316 - 'bs' => 'BOS ', /* Bosnian */
317 - 'btb' => 'BTI ', /* Beti (Cameroon) */
318 - 'bxr' => 'RBU ', /* Russian Buriat */
319 - 'byn' => 'BIL ', /* Bilen */
320 - 'ca' => 'CAT ', /* Catalan */
321 - 'ce' => 'CHE ', /* Chechen */
322 - 'ceb' => 'CEB ', /* Cebuano */
323 - 'chp' => 'CHP ', /* Chipewyan */
324 - 'chr' => 'CHR ', /* Cherokee */
325 - 'ckt' => 'CHK ', /* Chukchi */
326 - 'cop' => 'COP ', /* Coptic */
327 - 'cr' => 'CRE ', /* Cree */
328 - 'crh' => 'CRT ', /* Crimean Tatar */
329 - 'crj' => 'ECR ', /* [Southern] East Cree */
330 - 'crl' => 'ECR ', /* [Northern] East Cree */
331 - 'crm' => 'MCR ', /* Moose Cree */
332 - 'crx' => 'CRR ', /* Carrier */
333 - 'cs' => 'CSY ', /* Czech */
334 - 'cu' => 'CSL ', /* Church Slavic */
335 - 'cv' => 'CHU ', /* Chuvash */
336 - 'cwd' => 'DCR ', /* Woods Cree */
337 - 'cy' => 'WEL ', /* Welsh */
338 - 'da' => 'DAN ', /* Danish */
339 - 'dap' => 'NIS ', /* Nisi (India) */
340 - 'dar' => 'DAR ', /* Dargwa */
341 - 'de' => 'DEU ', /* German */
342 - 'din' => 'DNK ', /* Dinka */
343 - 'dje' => 'DJR ', /* Djerma */
344 - 'dng' => 'DUN ', /* Dungan */
345 - 'doi' => 'DGR ', /* Dogri */
346 - 'dsb' => 'LSB ', /* Lower Sorbian */
347 - 'dv' => 'DIV ', /* Dhivehi */
348 - 'dyu' => 'JUL ', /* Jula */
349 - 'dz' => 'DZN ', /* Dzongkha */
350 - 'ee' => 'EWE ', /* Ewe */
351 - 'efi' => 'EFI ', /* Efik */
352 - 'el' => 'ELL ', /* Modern Greek (1453-) */
353 -
354 - 'grc' => 'PGR ', /* Polytonic Greek */
355 -
356 - 'en' => 'ENG ', /* English */
357 - 'eo' => 'NTO ', /* Esperanto */
358 - 'eot' => 'BTI ', /* Beti (Côte d'Ivoire) */
359 - 'es' => 'ESP ', /* Spanish */
360 - 'et' => 'ETI ', /* Estonian */
361 - 'eu' => 'EUQ ', /* Basque */
362 - 'eve' => 'EVN ', /* Even */
363 - 'evn' => 'EVK ', /* Evenki */
364 - 'fa' => 'FAR ', /* Persian */
365 - 'ff' => 'FUL ', /* Fulah */
366 - 'fi' => 'FIN ', /* Finnish */
367 - 'fil' => 'PIL ', /* Filipino */
368 - 'fj' => 'FJI ', /* Fijian */
369 - 'fo' => 'FOS ', /* Faroese */
370 - 'fon' => 'FON ', /* Fon */
371 - 'fr' => 'FRA ', /* French */
372 - 'fur' => 'FRL ', /* Friulian */
373 - 'fy' => 'FRI ', /* Western Frisian */
374 - 'ga' => 'IRI ', /* Irish */
375 - 'gaa' => 'GAD ', /* Ga */
376 - 'gag' => 'GAG ', /* Gagauz */
377 - 'gbm' => 'GAW ', /* Garhwali */
378 - 'gd' => 'GAE ', /* Scottish Gaelic */
379 - 'gez' => 'GEZ ', /* Ge'ez */
380 - 'gl' => 'GAL ', /* Galician */
381 - 'gld' => 'NAN ', /* Nanai */
382 - 'gn' => 'GUA ', /* Guarani */
383 - 'gon' => 'GON ', /* Gondi */
384 - 'grt' => 'GRO ', /* Garo */
385 - 'gru' => 'SOG ', /* Sodo Gurage */
386 - 'gu' => 'GUJ ', /* Gujarati */
387 - 'guk' => 'GMZ ', /* Gumuz */
388 - 'gv' => 'MNX ', /* Manx Gaelic */
389 - 'ha' => 'HAU ', /* Hausa */
390 - 'har' => 'HRI ', /* Harari */
391 - 'haw' => 'HAW ', /* Hawaiin */
392 - 'he' => 'IWR ', /* Hebrew */
393 - 'hi' => 'HIN ', /* Hindi */
394 - 'hil' => 'HIL ', /* Hiligaynon */
395 - 'hnd' => 'HND ', /* [Southern] Hindko */
396 - 'hne' => 'CHH ', /* Chattisgarhi */
397 - 'hno' => 'HND ', /* [Northern] Hindko */
398 - 'hoc' => 'HO ', /* Ho */
399 - 'hoj' => 'HAR ', /* Harauti */
400 - 'hr' => 'HRV ', /* Croatian */
401 - 'hsb' => 'USB ', /* Upper Sorbian */
402 - 'ht' => 'HAI ', /* Haitian */
403 - 'hu' => 'HUN ', /* Hungarian */
404 - 'hy' => 'HYE ', /* Armenian */
405 - 'id' => 'IND ', /* Indonesian */
406 - 'ig' => 'IBO ', /* Igbo */
407 - 'igb' => 'EBI ', /* Ebira */
408 - 'ijo' => 'IJO ', /* Ijo [family] */
409 - 'ilo' => 'ILO ', /* Ilokano */
410 - 'inh' => 'ING ', /* Ingush */
411 - 'is' => 'ISL ', /* Icelandic */
412 - 'it' => 'ITA ', /* Italian */
413 - 'iu' => 'INU ', /* Inuktitut */
414 - 'ja' => 'JAN ', /* Japanese */
415 - 'jv' => 'JAV ', /* Javanese */
416 - 'ka' => 'KAT ', /* Georgian */
417 - 'kaa' => 'KRK ', /* Karakalpak */
418 - 'kam' => 'KMB ', /* Kamba (Kenya) */
419 - 'kar' => 'KRN ', /* Karen [family] */
420 - 'kbd' => 'KAB ', /* Kabardian */
421 - 'kdr' => 'KRM ', /* Karaim */
422 - 'kdt' => 'KUY ', /* Kuy */
423 - 'kex' => 'KKN ', /* Kokni */
424 - 'kfr' => 'KAC ', /* Kachchi */
425 - 'kfy' => 'KMN ', /* Kumaoni */
426 - 'kha' => 'KSI ', /* Khasi */
427 - 'khb' => 'XBD ', /* Tai Lue */
428 - 'khw' => 'KHW ', /* Khowar */
429 - 'ki' => 'KIK ', /* Kikuyu */
430 - 'kjh' => 'KHA ', /* Khakass */
431 - 'kk' => 'KAZ ', /* Kazakh */
432 - 'kl' => 'GRN ', /* Kalaallisut */
433 - 'kln' => 'KAL ', /* Kalenjin */
434 - 'km' => 'KHM ', /* Central Khmer */
435 - 'kmb' => 'MBN ', /* [North] Mbundu */
436 - 'kmw' => 'KMO ', /* Komo (Democratic Republic of Congo) */
437 - 'kn' => 'KAN ', /* Kannada */
438 - 'ko' => 'KOR ', /* Korean */
439 - 'koi' => 'KOP ', /* Komi-Permyak */
440 - 'kok' => 'KOK ', /* Konkani */
441 - 'kpe' => 'KPL ', /* Kpelle */
442 - 'kpv' => 'KOZ ', /* Komi-Zyrian */
443 - 'kpy' => 'KYK ', /* Koryak */
444 - 'kqy' => 'KRT ', /* Koorete */
445 - 'kr' => 'KNR ', /* Kanuri */
446 - 'kri' => 'KRI ', /* Krio */
447 - 'krl' => 'KRL ', /* Karelian */
448 - 'kru' => 'KUU ', /* Kurukh */
449 - 'ks' => 'KSH ', /* Kashmiri */
450 - 'ku' => 'KUR ', /* Kurdish */
451 - 'kum' => 'KUM ', /* Kumyk */
452 - 'kvd' => 'KUI ', /* Kui (Indonesia) */
453 - 'kxc' => 'KMS ', /* Komso */
454 - 'kxu' => 'KUI ', /* Kui (India) */
455 - 'ky' => 'KIR ', /* Kirghiz */
456 - 'la' => 'LAT ', /* Latin */
457 - 'lad' => 'JUD ', /* Ladino */
458 - 'lb' => 'LTZ ', /* Luxembourgish */
459 - 'lbe' => 'LAK ', /* Lak */
460 - 'lbj' => 'LDK ', /* Ladakhi */
461 - 'lez' => 'LEZ ', /* Lezgi */
462 - 'lg' => 'LUG ', /* Luganda */
463 - 'lif' => 'LMB ', /* Limbu */
464 - 'lld' => 'LAD ', /* Ladin */
465 - 'lmn' => 'LAM ', /* Lambani */
466 - 'ln' => 'LIN ', /* Lingala */
467 - 'lo' => 'LAO ', /* Lao */
468 - 'lt' => 'LTH ', /* Lithuanian */
469 - 'lu' => 'LUB ', /* Luba-Katanga */
470 - 'lua' => 'LUB ', /* Luba-Kasai */
471 - 'luo' => 'LUO ', /* Luo (Kenya and Tanzania) */
472 - 'lus' => 'MIZ ', /* Mizo */
473 - 'luy' => 'LUH ', /* Luhya [macrolanguage] */
474 - 'lv' => 'LVI ', /* Latvian */
475 - 'lzz' => 'LAZ ', /* Laz */
476 - 'mai' => 'MTH ', /* Maithili */
477 - 'mdc' => 'MLE ', /* Male (Papua New Guinea) */
478 - 'mdf' => 'MOK ', /* Moksha */
479 - 'mdy' => 'MLE ', /* Male (Ethiopia) */
480 - 'men' => 'MDE ', /* Mende (Sierra Leone) */
481 - 'mg' => 'MLG ', /* Malagasy */
482 - 'mhr' => 'LMA ', /* Low Mari */
483 - 'mi' => 'MRI ', /* Maori */
484 - 'mk' => 'MKD ', /* Macedonian */
485 - 'ml' => 'MLR ', /* Malayalam reformed (MAL is Malayalam Traditional) */
486 - 'mn' => 'MNG ', /* Mongolian */
487 - 'mnc' => 'MCH ', /* Manchu */
488 - 'mni' => 'MNI ', /* Manipuri */
489 - 'mnk' => 'MND ', /* Mandinka */
490 - 'mns' => 'MAN ', /* Mansi */
491 - 'mnw' => 'MON ', /* Mon */
492 - 'mo' => 'MOL ', /* Moldavian */
493 - 'moh' => 'MOH ', /* Mohawk */
494 - 'mpe' => 'MAJ ', /* Majang */
495 - 'mr' => 'MAR ', /* Marathi */
496 - 'mrj' => 'HMA ', /* High Mari */
497 - 'ms' => 'MLY ', /* Malay */
498 - 'mt' => 'MTS ', /* Maltese */
499 - 'mwr' => 'MAW ', /* Marwari */
500 - 'my' => 'BRM ', /* Burmese */
501 - 'mym' => 'MEN ', /* Me'en */
502 - 'myv' => 'ERZ ', /* Erzya */
503 - 'nag' => 'NAG ', /* Naga-Assamese */
504 - 'nb' => 'NOR ', /* Norwegian Bokmål */
505 - 'nco' => 'SIB ', /* Sibe */
506 - 'nd' => 'NDB ', /* [North] Ndebele */
507 - 'ne' => 'NEP ', /* Nepali */
508 - 'new' => 'NEW ', /* Newari */
509 - 'ng' => 'NDG ', /* Ndonga */
510 - 'ngl' => 'LMW ', /* Lomwe */
511 - 'niu' => 'NIU ', /* Niuean */
512 - 'niv' => 'GIL ', /* Gilyak */
513 - 'nl' => 'NLD ', /* Dutch */
514 - 'nn' => 'NYN ', /* Norwegian Nynorsk */
515 - 'no' => 'NOR ', /* Norwegian (deprecated) */
516 - 'nod' => 'NTA ', /* Northern Tai */
517 - 'nog' => 'NOG ', /* Nogai */
518 - 'nqo' => 'NKO ', /* N'Ko */
519 - 'nr' => 'NDB ', /* [South] Ndebele */
520 - 'nsk' => 'NAS ', /* Naskapi */
521 - 'nso' => 'SOT ', /* [Northern] Sotho */
522 - 'ny' => 'CHI ', /* Nyanja */
523 - 'nyn' => 'NKL ', /* Nkole */
524 - 'oc' => 'OCI ', /* Occitan (post 1500) */
525 - 'oj' => 'OJB ', /* Ojibwa */
526 - 'ojs' => 'OCR ', /* Oji-Cree */
527 - 'om' => 'ORO ', /* Oromo */
528 - 'or' => 'ORI ', /* Oriya */
529 - 'os' => 'OSS ', /* Ossetian */
530 - 'pa' => 'PAN ', /* Panjabi */
531 - 'pce' => 'PLG ', /* [Ruching] Palaung */
532 - 'pi' => 'PAL ', /* Pali */
533 - 'pl' => 'PLK ', /* Polish */
534 - 'pll' => 'PLG ', /* [Shwe] Palaung */
535 - 'plp' => 'PAP ', /* Palpa */
536 - 'prs' => 'DRI ', /* Dari */
537 - 'ps' => 'PAS ', /* Pushto */
538 - 'pt' => 'PTG ', /* Portuguese */
539 - 'raj' => 'RAJ ', /* Rajasthani */
540 - 'rbb' => 'PLG ', /* [Rumai] Palaung */
541 - 'ria' => 'RIA ', /* Riang (India) */
542 - 'ril' => 'RIA ', /* Riang (Myanmar) */
543 - 'rki' => 'ARK ', /* Arakanese */
544 - 'rm' => 'RMS ', /* Rhaeto-Romanic */
545 - 'ro' => 'ROM ', /* Romanian */
546 - 'rom' => 'ROY ', /* Romany */
547 - 'ru' => 'RUS ', /* Russian */
548 - 'rue' => 'RSY ', /* Rusyn */
549 - 'rw' => 'RUA ', /* Ruanda */
550 - 'sa' => 'SAN ', /* Sanskrit */
551 - 'sah' => 'YAK ', /* Yakut */
552 - 'sat' => 'SAT ', /* Santali */
553 - 'sck' => 'SAD ', /* Sadri */
554 - 'scs' => 'SLA ', /* [North] Slavey */
555 - 'sd' => 'SND ', /* Sindhi */
556 - 'se' => 'NSM ', /* Northern Sami */
557 - 'seh' => 'SNA ', /* Sena */
558 - 'sel' => 'SEL ', /* Selkup */
559 - 'sg' => 'SGO ', /* Sango */
560 - 'shn' => 'SHN ', /* Shan */
561 - 'si' => 'SNH ', /* Sinhala */
562 - 'sid' => 'SID ', /* Sidamo */
563 - 'sjd' => 'KSM ', /* Kildin Sami */
564 - 'sk' => 'SKY ', /* Slovak */
565 - 'skr' => 'SRK ', /* Seraiki */
566 - 'sl' => 'SLV ', /* Slovenian */
567 - 'sm' => 'SMO ', /* Samoan */
568 - 'sma' => 'SSM ', /* Southern Sami */
569 - 'smj' => 'LSM ', /* Lule Sami */
570 - 'smn' => 'ISM ', /* Inari Sami */
571 - 'sms' => 'SKS ', /* Skolt Sami */
572 - 'snk' => 'SNK ', /* Soninke */
573 - 'so' => 'SML ', /* Somali */
574 - 'sq' => 'SQI ', /* Albanian */
575 - 'sr' => 'SRB ', /* Serbian */
576 - 'srr' => 'SRR ', /* Serer */
577 - 'ss' => 'SWZ ', /* Swazi */
578 - 'st' => 'SOT ', /* [Southern] Sotho */
579 - 'suq' => 'SUR ', /* Suri */
580 - 'sv' => 'SVE ', /* Swedish */
581 - 'sva' => 'SVA ', /* Svan */
582 - 'sw' => 'SWK ', /* Swahili */
583 - 'swb' => 'CMR ', /* Comorian */
584 - 'syr' => 'SYR ', /* Syriac */
585 - 'ta' => 'TAM ', /* Tamil */
586 - 'tab' => 'TAB ', /* Tabasaran */
587 - 'tcy' => 'TUL ', /* Tulu */
588 - 'te' => 'TEL ', /* Telugu */
589 - 'tem' => 'TMN ', /* Temne */
590 - 'tg' => 'TAJ ', /* Tajik */
591 - 'th' => 'THA ', /* Thai */
592 - 'ti' => 'TGY ', /* Tigrinya */
593 - 'tig' => 'TGR ', /* Tigre */
594 - 'tk' => 'TKM ', /* Turkmen */
595 - 'tn' => 'TNA ', /* Tswana */
596 - 'to' => 'TGN ', /* Tonga (Tonga Islands) */
597 - 'tr' => 'TRK ', /* Turkish */
598 - 'tru' => 'TUA ', /* Turoyo Aramaic */
599 - 'ts' => 'TSG ', /* Tsonga */
600 - 'tt' => 'TAT ', /* Tatar */
601 - 'tw' => 'TWI ', /* Twi */
602 - 'ty' => 'THT ', /* Tahitian */
603 - 'tyv' => 'TUV ', /* Tuvin */
604 - 'udm' => 'UDM ', /* Udmurt */
605 - 'ug' => 'UYG ', /* Uighur */
606 - 'uk' => 'UKR ', /* Ukrainian */
607 - 'umb' => 'MBN ', /* [South] Mbundu */
608 - 'unr' => 'MUN ', /* Mundari */
609 - 'ur' => 'URD ', /* Urdu */
610 - 'uz' => 'UZB ', /* Uzbek */
611 - 've' => 'VEN ', /* Venda */
612 - 'vi' => 'VIT ', /* Vietnamese */
613 - 'vmw' => 'MAK ', /* Makua */
614 - 'wbm' => 'WA ', /* Wa */
615 - 'wbr' => 'WAG ', /* Wagdi */
616 - 'wo' => 'WLF ', /* Wolof */
617 - 'xal' => 'KLM ', /* Kalmyk */
618 - 'xh' => 'XHS ', /* Xhosa */
619 - 'xom' => 'KMO ', /* Komo (Sudan) */
620 - 'xsl' => 'SSL ', /* South Slavey */
621 - 'yi' => 'JII ', /* Yiddish */
622 - 'yid' => 'JII ', /* Yiddish */
623 - 'yo' => 'YBA ', /* Yoruba */
624 - 'yso' => 'NIS ', /* Nisi (China) */
625 - 'zne' => 'ZND ', /* Zande */
626 - 'zu' => 'ZUL ', /* Zulu */
627 -
628 - 'zh-cn' => 'ZHS ', /* Chinese (China) */
629 - 'zh-hk' => 'ZHH ', /* Chinese (Hong Kong) */
630 - 'zh-mo' => 'ZHT ', /* Chinese (Macao) */
631 - 'zh-sg' => 'ZHS ', /* Chinese (Singapore) */
632 - 'zh-tw' => 'ZHT ', /* Chinese (Taiwan) */
633 -);
634 -
635 -
636 -
637 -// hb-unicode.h
638 -const UNICODE_GENERAL_CATEGORY_CONTROL = 0; /* Cc */
639 -const UNICODE_GENERAL_CATEGORY_FORMAT = 1; /* Cf */
640 -const UNICODE_GENERAL_CATEGORY_UNASSIGNED = 2; /* Cn */
641 -const UNICODE_GENERAL_CATEGORY_PRIVATE_USE = 3; /* Co */
642 -const UNICODE_GENERAL_CATEGORY_SURROGATE = 4; /* Cs */
643 -const UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER = 5; /* Ll */
644 -const UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER = 6; /* Lm */
645 -const UNICODE_GENERAL_CATEGORY_OTHER_LETTER = 7; /* Lo */
646 -const UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER = 8; /* Lt */
647 -const UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER = 9; /* Lu */
648 -const UNICODE_GENERAL_CATEGORY_SPACING_MARK = 10; /* Mc */
649 -const UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK = 11; /* Me */
650 -const UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK = 12; /* Mn */
651 -const UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER = 13; /* Nd */
652 -const UNICODE_GENERAL_CATEGORY_LETTER_NUMBER = 14; /* Nl */
653 -const UNICODE_GENERAL_CATEGORY_OTHER_NUMBER = 15; /* No */
654 -const UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION = 16; /* Pc */
655 -const UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION = 17; /* Pd */
656 -const UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION = 18; /* Pe */
657 -const UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION = 19; /* Pf */
658 -const UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION = 20; /* Pi */
659 -const UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION = 21; /* Po */
660 -const UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION = 22; /* Ps */
661 -const UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL = 23; /* Sc */
662 -const UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL = 24; /* Sk */
663 -const UNICODE_GENERAL_CATEGORY_MATH_SYMBOL = 25; /* Sm */
664 -const UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL = 26; /* So */
665 -const UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR = 27; /* Zl */
666 -const UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR = 28; /* Zp */
667 -const UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR = 29; /* Zs */
668 -
669 -function general_category_is_mark($gen_cat) {
670 - if ($gen_cat==UNICODE_GENERAL_CATEGORY_SPACING_MARK || $gen_cat==UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK ||
671 - $gen_cat==UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) { return true; }
672 - return false;
673 - // define UNICODE_GENERAL_CATEGORY_IS_MARK(gen_cat)
674 - //if (FLAG(gen_cat) & (FLAG(UNICODE_GENERAL_CATEGORY_SPACING_MARK) | FLAG(UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | FLAG(UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))) { return true; }
675 -}
676 -
677 -
678 -const BIDI_CLASS_L = 0;
679 -const BIDI_CLASS_LRE = 1;
680 -const BIDI_CLASS_LRO = 2;
681 -const BIDI_CLASS_R = 3;
682 -const BIDI_CLASS_AL = 4;
683 -const BIDI_CLASS_RLE = 5;
684 -const BIDI_CLASS_RLO = 6;
685 -const BIDI_CLASS_PDF = 7;
686 -const BIDI_CLASS_EN = 8;
687 -const BIDI_CLASS_ES = 9;
688 -const BIDI_CLASS_ET = 10;
689 -const BIDI_CLASS_AN = 11;
690 -const BIDI_CLASS_CS = 12;
691 -const BIDI_CLASS_NSM = 13;
692 -const BIDI_CLASS_BN = 14;
693 -const BIDI_CLASS_B = 15;
694 -const BIDI_CLASS_S = 16;
695 -const BIDI_CLASS_WS = 17;
696 -const BIDI_CLASS_ON = 18;
697 -
698 -
699 -// UNIDATA_VERSION 6.2.0
700 -/* a list of unique database records */
701 -/* struct {
702 - category;
703 - combining;
704 - bidi_class;
705 - mirrored;
706 - east_asian_width;
707 - normalization_check;
708 - script;
709 -}
710 -*/
711 -private static $ucd_records = array(
712 - array(2, 0, 18, 0, 5, 0, 102),
713 - array(0, 0, 14, 0, 5, 0, 0),
714 - array(0, 0, 16, 0, 5, 0, 0),
715 - array(0, 0, 15, 0, 5, 0, 0),
716 - array(0, 0, 17, 0, 5, 0, 0),
717 - array(29, 0, 17, 0, 3, 0, 0),
718 - array(21, 0, 18, 0, 3, 0, 0),
719 - array(21, 0, 10, 0, 3, 0, 0),
720 - array(23, 0, 10, 0, 3, 0, 0),
721 - array(22, 0, 18, 1, 3, 0, 0),
722 - array(18, 0, 18, 1, 3, 0, 0),
723 - array(25, 0, 9, 0, 3, 0, 0),
724 - array(21, 0, 12, 0, 3, 0, 0),
725 - array(17, 0, 9, 0, 3, 0, 0),
726 - array(13, 0, 8, 0, 3, 0, 0),
727 - array(25, 0, 18, 1, 3, 0, 0),
728 - array(25, 0, 18, 0, 3, 0, 0),
729 - array(9, 0, 0, 0, 3, 0, 1),
730 - array(24, 0, 18, 0, 3, 0, 0),
731 - array(16, 0, 18, 0, 3, 0, 0),
732 - array(5, 0, 0, 0, 3, 0, 1),
733 - array(29, 0, 12, 0, 5, 0, 0),
734 - array(21, 0, 18, 0, 4, 0, 0),
735 - array(23, 0, 10, 0, 4, 0, 0),
736 - array(26, 0, 18, 0, 3, 0, 0),
737 - array(24, 0, 18, 0, 4, 0, 0),
738 - array(26, 0, 18, 0, 5, 0, 0),
739 - array(7, 0, 0, 0, 4, 0, 1),
740 - array(20, 0, 18, 1, 5, 0, 0),
741 - array(1, 0, 14, 0, 4, 0, 0),
742 - array(26, 0, 18, 0, 4, 0, 0),
743 - array(26, 0, 10, 0, 4, 0, 0),
744 - array(25, 0, 10, 0, 4, 0, 0),
745 - array(15, 0, 8, 0, 4, 0, 0),
746 - array(5, 0, 0, 0, 5, 0, 0),
747 - array(19, 0, 18, 1, 5, 0, 0),
748 - array(15, 0, 18, 0, 4, 0, 0),
749 - array(9, 0, 0, 0, 5, 0, 1),
750 - array(9, 0, 0, 0, 4, 0, 1),
751 - array(25, 0, 18, 0, 4, 0, 0),
752 - array(5, 0, 0, 0, 4, 0, 1),
753 - array(5, 0, 0, 0, 5, 0, 1),
754 - array(7, 0, 0, 0, 5, 0, 1),
755 - array(8, 0, 0, 0, 5, 0, 1),
756 - array(6, 0, 0, 0, 5, 0, 1),
757 - array(6, 0, 18, 0, 5, 0, 0),
758 - array(6, 0, 0, 0, 5, 0, 0),
759 - array(24, 0, 18, 0, 5, 0, 0),
760 - array(6, 0, 18, 0, 4, 0, 0),
761 - array(6, 0, 0, 0, 4, 0, 0),
762 - array(24, 0, 18, 0, 5, 0, 34),
763 - array(12, 230, 13, 0, 4, 0, 40),
764 - array(12, 232, 13, 0, 4, 0, 40),
765 - array(12, 220, 13, 0, 4, 0, 40),
766 - array(12, 216, 13, 0, 4, 0, 40),
767 - array(12, 202, 13, 0, 4, 0, 40),
768 - array(12, 1, 13, 0, 4, 0, 40),
769 - array(12, 240, 13, 0, 4, 0, 40),
770 - array(12, 0, 13, 0, 4, 0, 40),
771 - array(12, 233, 13, 0, 4, 0, 40),
772 - array(12, 234, 13, 0, 4, 0, 40),
773 - array(9, 0, 0, 0, 5, 0, 2),
774 - array(5, 0, 0, 0, 5, 0, 2),
775 - array(24, 0, 18, 0, 5, 0, 2),
776 - array(2, 0, 18, 0, 5, 0, 102),
777 - array(6, 0, 0, 0, 5, 0, 2),
778 - array(21, 0, 18, 0, 5, 0, 0),
779 - array(9, 0, 0, 0, 4, 0, 2),
780 - array(5, 0, 0, 0, 4, 0, 2),
781 - array(9, 0, 0, 0, 5, 0, 54),
782 - array(5, 0, 0, 0, 5, 0, 54),
783 - array(25, 0, 18, 0, 5, 0, 2),
784 - array(9, 0, 0, 0, 5, 0, 3),
785 - array(9, 0, 0, 0, 4, 0, 3),
786 - array(5, 0, 0, 0, 4, 0, 3),
787 - array(5, 0, 0, 0, 5, 0, 3),
788 - array(26, 0, 0, 0, 5, 0, 3),
789 - array(12, 230, 13, 0, 5, 0, 3),
790 - array(12, 230, 13, 0, 5, 0, 40),
791 - array(11, 0, 13, 0, 5, 0, 3),
792 - array(9, 0, 0, 0, 5, 0, 4),
793 - array(6, 0, 0, 0, 5, 0, 4),
794 - array(21, 0, 0, 0, 5, 0, 4),
795 - array(5, 0, 0, 0, 5, 0, 4),
796 - array(21, 0, 0, 0, 5, 0, 0),
797 - array(17, 0, 18, 0, 5, 0, 4),
798 - array(23, 0, 10, 0, 5, 0, 4),
799 - array(12, 220, 13, 0, 5, 0, 5),
800 - array(12, 230, 13, 0, 5, 0, 5),
801 - array(12, 222, 13, 0, 5, 0, 5),
802 - array(12, 228, 13, 0, 5, 0, 5),
803 - array(12, 10, 13, 0, 5, 0, 5),
804 - array(12, 11, 13, 0, 5, 0, 5),
805 - array(12, 12, 13, 0, 5, 0, 5),
806 - array(12, 13, 13, 0, 5, 0, 5),
807 - array(12, 14, 13, 0, 5, 0, 5),
808 - array(12, 15, 13, 0, 5, 0, 5),
809 - array(12, 16, 13, 0, 5, 0, 5),
810 - array(12, 17, 13, 0, 5, 0, 5),
811 - array(12, 18, 13, 0, 5, 0, 5),
812 - array(12, 19, 13, 0, 5, 0, 5),
813 - array(12, 20, 13, 0, 5, 0, 5),
814 - array(12, 21, 13, 0, 5, 0, 5),
815 - array(12, 22, 13, 0, 5, 0, 5),
816 - array(17, 0, 3, 0, 5, 0, 5),
817 - array(12, 23, 13, 0, 5, 0, 5),
818 - array(21, 0, 3, 0, 5, 0, 5),
819 - array(12, 24, 13, 0, 5, 0, 5),
820 - array(12, 25, 13, 0, 5, 0, 5),
821 - array(7, 0, 3, 0, 5, 0, 5),
822 - array(1, 0, 11, 0, 5, 0, 6),
823 - array(25, 0, 18, 0, 5, 0, 6),
824 - array(25, 0, 4, 0, 5, 0, 6),
825 - array(21, 0, 10, 0, 5, 0, 6),
826 - array(23, 0, 4, 0, 5, 0, 6),
827 - array(21, 0, 12, 0, 5, 0, 0),
828 - array(21, 0, 4, 0, 5, 0, 6),
829 - array(26, 0, 18, 0, 5, 0, 6),
830 - array(12, 230, 13, 0, 5, 0, 6),
831 - array(12, 30, 13, 0, 5, 0, 6),
832 - array(12, 31, 13, 0, 5, 0, 6),
833 - array(12, 32, 13, 0, 5, 0, 6),
834 - array(21, 0, 4, 0, 5, 0, 0),
835 - array(7, 0, 4, 0, 5, 0, 6),
836 - array(6, 0, 4, 0, 5, 0, 0),
837 - array(12, 27, 13, 0, 5, 0, 40),
838 - array(12, 28, 13, 0, 5, 0, 40),
839 - array(12, 29, 13, 0, 5, 0, 40),
840 - array(12, 30, 13, 0, 5, 0, 40),
841 - array(12, 31, 13, 0, 5, 0, 40),
842 - array(12, 32, 13, 0, 5, 0, 40),
843 - array(12, 33, 13, 0, 5, 0, 40),
844 - array(12, 34, 13, 0, 5, 0, 40),
845 - array(12, 220, 13, 0, 5, 0, 40),
846 - array(12, 220, 13, 0, 5, 0, 6),
847 - array(13, 0, 11, 0, 5, 0, 0),
848 - array(21, 0, 11, 0, 5, 0, 6),
849 - array(12, 35, 13, 0, 5, 0, 40),
850 - array(1, 0, 11, 0, 5, 0, 0),
851 - array(6, 0, 4, 0, 5, 0, 6),
852 - array(13, 0, 8, 0, 5, 0, 6),
853 - array(26, 0, 4, 0, 5, 0, 6),
854 - array(21, 0, 4, 0, 5, 0, 7),
855 - array(1, 0, 4, 0, 5, 0, 7),
856 - array(7, 0, 4, 0, 5, 0, 7),
857 - array(12, 36, 13, 0, 5, 0, 7),
858 - array(12, 230, 13, 0, 5, 0, 7),
859 - array(12, 220, 13, 0, 5, 0, 7),
860 - array(7, 0, 4, 0, 5, 0, 8),
861 - array(12, 0, 13, 0, 5, 0, 8),
862 - array(13, 0, 3, 0, 5, 0, 65),
863 - array(7, 0, 3, 0, 5, 0, 65),
864 - array(12, 230, 13, 0, 5, 0, 65),
865 - array(12, 220, 13, 0, 5, 0, 65),
866 - array(6, 0, 3, 0, 5, 0, 65),
867 - array(26, 0, 18, 0, 5, 0, 65),
868 - array(21, 0, 18, 0, 5, 0, 65),
869 - array(7, 0, 3, 0, 5, 0, 81),
870 - array(12, 230, 13, 0, 5, 0, 81),
871 - array(6, 0, 3, 0, 5, 0, 81),
872 - array(21, 0, 3, 0, 5, 0, 81),
873 - array(7, 0, 3, 0, 5, 0, 94),
874 - array(12, 220, 13, 0, 5, 0, 94),
875 - array(21, 0, 3, 0, 5, 0, 94),
876 - array(12, 27, 13, 0, 5, 0, 6),
877 - array(12, 28, 13, 0, 5, 0, 6),
878 - array(12, 29, 13, 0, 5, 0, 6),
879 - array(12, 0, 13, 0, 5, 0, 9),
880 - array(10, 0, 0, 0, 5, 0, 9),
881 - array(7, 0, 0, 0, 5, 0, 9),
882 - array(12, 7, 13, 0, 5, 0, 9),
883 - array(12, 9, 13, 0, 5, 0, 9),
884 - array(12, 230, 13, 0, 5, 0, 9),
885 - array(13, 0, 0, 0, 5, 0, 9),
886 - array(21, 0, 0, 0, 5, 0, 9),
887 - array(6, 0, 0, 0, 5, 0, 9),
888 - array(12, 0, 13, 0, 5, 0, 10),
889 - array(10, 0, 0, 0, 5, 0, 10),
890 - array(7, 0, 0, 0, 5, 0, 10),
891 - array(12, 7, 13, 0, 5, 0, 10),
892 - array(12, 9, 13, 0, 5, 0, 10),
893 - array(13, 0, 0, 0, 5, 0, 10),
894 - array(23, 0, 10, 0, 5, 0, 10),
895 - array(15, 0, 0, 0, 5, 0, 10),
896 - array(26, 0, 0, 0, 5, 0, 10),
897 - array(12, 0, 13, 0, 5, 0, 11),
898 - array(10, 0, 0, 0, 5, 0, 11),
899 - array(7, 0, 0, 0, 5, 0, 11),
900 - array(12, 7, 13, 0, 5, 0, 11),
901 - array(12, 9, 13, 0, 5, 0, 11),
902 - array(13, 0, 0, 0, 5, 0, 11),
903 - array(12, 0, 13, 0, 5, 0, 12),
904 - array(10, 0, 0, 0, 5, 0, 12),
905 - array(7, 0, 0, 0, 5, 0, 12),
906 - array(12, 7, 13, 0, 5, 0, 12),
907 - array(12, 9, 13, 0, 5, 0, 12),
908 - array(13, 0, 0, 0, 5, 0, 12),
909 - array(21, 0, 0, 0, 5, 0, 12),
910 - array(23, 0, 10, 0, 5, 0, 12),
911 - array(12, 0, 13, 0, 5, 0, 13),
912 - array(10, 0, 0, 0, 5, 0, 13),
913 - array(7, 0, 0, 0, 5, 0, 13),
914 - array(12, 7, 13, 0, 5, 0, 13),
915 - array(12, 9, 13, 0, 5, 0, 13),
916 - array(13, 0, 0, 0, 5, 0, 13),
917 - array(26, 0, 0, 0, 5, 0, 13),
918 - array(15, 0, 0, 0, 5, 0, 13),
919 - array(12, 0, 13, 0, 5, 0, 14),
920 - array(7, 0, 0, 0, 5, 0, 14),
921 - array(10, 0, 0, 0, 5, 0, 14),
922 - array(12, 9, 13, 0, 5, 0, 14),
923 - array(13, 0, 0, 0, 5, 0, 14),
924 - array(15, 0, 0, 0, 5, 0, 14),
925 - array(26, 0, 18, 0, 5, 0, 14),
926 - array(23, 0, 10, 0, 5, 0, 14),
927 - array(10, 0, 0, 0, 5, 0, 15),
928 - array(7, 0, 0, 0, 5, 0, 15),
929 - array(12, 0, 13, 0, 5, 0, 15),
930 - array(12, 9, 13, 0, 5, 0, 15),
931 - array(12, 84, 13, 0, 5, 0, 15),
932 - array(12, 91, 13, 0, 5, 0, 15),
933 - array(13, 0, 0, 0, 5, 0, 15),
934 - array(15, 0, 18, 0, 5, 0, 15),
935 - array(26, 0, 0, 0, 5, 0, 15),
936 - array(10, 0, 0, 0, 5, 0, 16),
937 - array(7, 0, 0, 0, 5, 0, 16),
938 - array(12, 7, 13, 0, 5, 0, 16),
939 - array(12, 0, 0, 0, 5, 0, 16),
940 - array(12, 0, 13, 0, 5, 0, 16),
941 - array(12, 9, 13, 0, 5, 0, 16),
942 - array(13, 0, 0, 0, 5, 0, 16),
943 - array(10, 0, 0, 0, 5, 0, 17),
944 - array(7, 0, 0, 0, 5, 0, 17),
945 - array(12, 0, 13, 0, 5, 0, 17),
946 - array(12, 9, 13, 0, 5, 0, 17),
947 - array(13, 0, 0, 0, 5, 0, 17),
948 - array(15, 0, 0, 0, 5, 0, 17),
949 - array(26, 0, 0, 0, 5, 0, 17),
950 - array(10, 0, 0, 0, 5, 0, 18),
951 - array(7, 0, 0, 0, 5, 0, 18),
952 - array(12, 9, 13, 0, 5, 0, 18),
953 - array(12, 0, 13, 0, 5, 0, 18),
954 - array(21, 0, 0, 0, 5, 0, 18),
955 - array(7, 0, 0, 0, 5, 0, 19),
956 - array(12, 0, 13, 0, 5, 0, 19),
957 - array(12, 103, 13, 0, 5, 0, 19),
958 - array(12, 9, 13, 0, 5, 0, 19),
959 - array(23, 0, 10, 0, 5, 0, 0),
960 - array(6, 0, 0, 0, 5, 0, 19),
961 - array(12, 107, 13, 0, 5, 0, 19),
962 - array(21, 0, 0, 0, 5, 0, 19),
963 - array(13, 0, 0, 0, 5, 0, 19),
964 - array(7, 0, 0, 0, 5, 0, 20),
965 - array(12, 0, 13, 0, 5, 0, 20),
966 - array(12, 118, 13, 0, 5, 0, 20),
967 - array(6, 0, 0, 0, 5, 0, 20),
968 - array(12, 122, 13, 0, 5, 0, 20),
969 - array(13, 0, 0, 0, 5, 0, 20),
970 - array(7, 0, 0, 0, 5, 0, 21),
971 - array(26, 0, 0, 0, 5, 0, 21),
972 - array(21, 0, 0, 0, 5, 0, 21),
973 - array(12, 220, 13, 0, 5, 0, 21),
974 - array(13, 0, 0, 0, 5, 0, 21),
975 - array(15, 0, 0, 0, 5, 0, 21),
976 - array(12, 216, 13, 0, 5, 0, 21),
977 - array(22, 0, 18, 1, 5, 0, 21),
978 - array(18, 0, 18, 1, 5, 0, 21),
979 - array(10, 0, 0, 0, 5, 0, 21),
980 - array(12, 129, 13, 0, 5, 0, 21),
981 - array(12, 130, 13, 0, 5, 0, 21),
982 - array(12, 0, 13, 0, 5, 0, 21),
983 - array(12, 132, 13, 0, 5, 0, 21),
984 - array(12, 230, 13, 0, 5, 0, 21),
985 - array(12, 9, 13, 0, 5, 0, 21),
986 - array(26, 0, 0, 0, 5, 0, 0),
987 - array(7, 0, 0, 0, 5, 0, 22),
988 - array(10, 0, 0, 0, 5, 0, 22),
989 - array(12, 0, 13, 0, 5, 0, 22),
990 - array(12, 7, 13, 0, 5, 0, 22),
991 - array(12, 9, 13, 0, 5, 0, 22),
992 - array(13, 0, 0, 0, 5, 0, 22),
993 - array(21, 0, 0, 0, 5, 0, 22),
994 - array(12, 220, 13, 0, 5, 0, 22),
995 - array(26, 0, 0, 0, 5, 0, 22),
996 - array(9, 0, 0, 0, 5, 0, 23),
997 - array(7, 0, 0, 0, 5, 0, 23),
998 - array(6, 0, 0, 0, 5, 0, 23),
999 - array(7, 0, 0, 0, 2, 0, 24),
1000 - array(7, 0, 0, 0, 5, 0, 24),
1001 - array(7, 0, 0, 0, 5, 0, 25),
1002 - array(12, 230, 13, 0, 5, 0, 25),
1003 - array(21, 0, 0, 0, 5, 0, 25),
1004 - array(15, 0, 0, 0, 5, 0, 25),
1005 - array(26, 0, 18, 0, 5, 0, 25),
1006 - array(7, 0, 0, 0, 5, 0, 26),
1007 - array(17, 0, 18, 0, 5, 0, 27),
1008 - array(7, 0, 0, 0, 5, 0, 27),
1009 - array(21, 0, 0, 0, 5, 0, 27),
1010 - array(29, 0, 17, 0, 5, 0, 28),
1011 - array(7, 0, 0, 0, 5, 0, 28),
1012 - array(22, 0, 18, 1, 5, 0, 28),
1013 - array(18, 0, 18, 1, 5, 0, 28),
1014 - array(7, 0, 0, 0, 5, 0, 29),
1015 - array(14, 0, 0, 0, 5, 0, 29),
1016 - array(7, 0, 0, 0, 5, 0, 41),
1017 - array(12, 0, 13, 0, 5, 0, 41),
1018 - array(12, 9, 13, 0, 5, 0, 41),
1019 - array(7, 0, 0, 0, 5, 0, 42),
1020 - array(12, 0, 13, 0, 5, 0, 42),
1021 - array(12, 9, 13, 0, 5, 0, 42),
1022 - array(7, 0, 0, 0, 5, 0, 43),
1023 - array(12, 0, 13, 0, 5, 0, 43),
1024 - array(7, 0, 0, 0, 5, 0, 44),
1025 - array(12, 0, 13, 0, 5, 0, 44),
1026 - array(7, 0, 0, 0, 5, 0, 30),
1027 - array(12, 0, 13, 0, 5, 0, 30),
1028 - array(10, 0, 0, 0, 5, 0, 30),
1029 - array(12, 9, 13, 0, 5, 0, 30),
1030 - array(21, 0, 0, 0, 5, 0, 30),
1031 - array(6, 0, 0, 0, 5, 0, 30),
1032 - array(23, 0, 10, 0, 5, 0, 30),
1033 - array(12, 230, 13, 0, 5, 0, 30),
1034 - array(13, 0, 0, 0, 5, 0, 30),
1035 - array(15, 0, 18, 0, 5, 0, 30),
1036 - array(21, 0, 18, 0, 5, 0, 31),
1037 - array(17, 0, 18, 0, 5, 0, 31),
1038 - array(12, 0, 13, 0, 5, 0, 31),
1039 - array(29, 0, 17, 0, 5, 0, 31),
1040 - array(13, 0, 0, 0, 5, 0, 31),
1041 - array(7, 0, 0, 0, 5, 0, 31),
1042 - array(6, 0, 0, 0, 5, 0, 31),
1043 - array(12, 228, 13, 0, 5, 0, 31),
1044 - array(7, 0, 0, 0, 5, 0, 45),
1045 - array(12, 0, 13, 0, 5, 0, 45),
1046 - array(10, 0, 0, 0, 5, 0, 45),
1047 - array(12, 222, 13, 0, 5, 0, 45),
1048 - array(12, 230, 13, 0, 5, 0, 45),
1049 - array(12, 220, 13, 0, 5, 0, 45),
1050 - array(26, 0, 18, 0, 5, 0, 45),
1051 - array(21, 0, 18, 0, 5, 0, 45),
1052 - array(13, 0, 0, 0, 5, 0, 45),
1053 - array(7, 0, 0, 0, 5, 0, 46),
1054 - array(7, 0, 0, 0, 5, 0, 55),
1055 - array(10, 0, 0, 0, 5, 0, 55),
1056 - array(13, 0, 0, 0, 5, 0, 55),
1057 - array(15, 0, 0, 0, 5, 0, 55),
1058 - array(26, 0, 18, 0, 5, 0, 55),
1059 - array(26, 0, 18, 0, 5, 0, 30),
1060 - array(7, 0, 0, 0, 5, 0, 53),
1061 - array(12, 230, 13, 0, 5, 0, 53),
1062 - array(12, 220, 13, 0, 5, 0, 53),
1063 - array(10, 0, 0, 0, 5, 0, 53),
1064 - array(21, 0, 0, 0, 5, 0, 53),
1065 - array(7, 0, 0, 0, 5, 0, 77),
1066 - array(10, 0, 0, 0, 5, 0, 77),
1067 - array(12, 0, 13, 0, 5, 0, 77),
1068 - array(12, 9, 13, 0, 5, 0, 77),
1069 - array(12, 230, 13, 0, 5, 0, 77),
1070 - array(12, 220, 13, 0, 5, 0, 77),
1071 - array(13, 0, 0, 0, 5, 0, 77),
1072 - array(21, 0, 0, 0, 5, 0, 77),
1073 - array(6, 0, 0, 0, 5, 0, 77),
1074 - array(12, 0, 13, 0, 5, 0, 61),
1075 - array(10, 0, 0, 0, 5, 0, 61),
1076 - array(7, 0, 0, 0, 5, 0, 61),
1077 - array(12, 7, 13, 0, 5, 0, 61),
1078 - array(10, 9, 0, 0, 5, 0, 61),
1079 - array(13, 0, 0, 0, 5, 0, 61),
1080 - array(21, 0, 0, 0, 5, 0, 61),
1081 - array(26, 0, 0, 0, 5, 0, 61),
1082 - array(12, 230, 13, 0, 5, 0, 61),
1083 - array(12, 220, 13, 0, 5, 0, 61),
1084 - array(12, 0, 13, 0, 5, 0, 66),
1085 - array(10, 0, 0, 0, 5, 0, 66),
1086 - array(7, 0, 0, 0, 5, 0, 66),
1087 - array(10, 9, 0, 0, 5, 0, 66),
1088 - array(12, 9, 13, 0, 5, 0, 66),
1089 - array(13, 0, 0, 0, 5, 0, 66),
1090 - array(7, 0, 0, 0, 5, 0, 92),
1091 - array(12, 7, 13, 0, 5, 0, 92),
1092 - array(10, 0, 0, 0, 5, 0, 92),
1093 - array(12, 0, 13, 0, 5, 0, 92),
1094 - array(10, 9, 0, 0, 5, 0, 92),
1095 - array(21, 0, 0, 0, 5, 0, 92),
1096 - array(7, 0, 0, 0, 5, 0, 67),
1097 - array(10, 0, 0, 0, 5, 0, 67),
1098 - array(12, 0, 13, 0, 5, 0, 67),
1099 - array(12, 7, 13, 0, 5, 0, 67),
1100 - array(21, 0, 0, 0, 5, 0, 67),
1101 - array(13, 0, 0, 0, 5, 0, 67),
1102 - array(13, 0, 0, 0, 5, 0, 68),
1103 - array(7, 0, 0, 0, 5, 0, 68),
1104 - array(6, 0, 0, 0, 5, 0, 68),
1105 - array(21, 0, 0, 0, 5, 0, 68),
1106 - array(21, 0, 0, 0, 5, 0, 66),
1107 - array(12, 1, 13, 0, 5, 0, 40),
1108 - array(10, 0, 0, 0, 5, 0, 0),
1109 - array(7, 0, 0, 0, 5, 0, 0),
1110 - array(6, 0, 0, 0, 5, 0, 3),
1111 - array(12, 234, 13, 0, 5, 0, 40),
1112 - array(12, 214, 13, 0, 5, 0, 40),
1113 - array(12, 202, 13, 0, 5, 0, 40),
1114 - array(12, 233, 13, 0, 5, 0, 40),
1115 - array(8, 0, 0, 0, 5, 0, 2),
1116 - array(29, 0, 17, 0, 5, 0, 0),
1117 - array(1, 0, 14, 0, 5, 0, 0),
1118 - array(1, 0, 14, 0, 5, 0, 40),
1119 - array(1, 0, 0, 0, 5, 0, 0),
1120 - array(1, 0, 3, 0, 5, 0, 0),
1121 - array(17, 0, 18, 0, 4, 0, 0),
1122 - array(17, 0, 18, 0, 5, 0, 0),
1123 - array(20, 0, 18, 0, 4, 0, 0),
1124 - array(19, 0, 18, 0, 4, 0, 0),
1125 - array(22, 0, 18, 0, 5, 0, 0),
1126 - array(20, 0, 18, 0, 5, 0, 0),
1127 - array(27, 0, 17, 0, 5, 0, 0),
1128 - array(28, 0, 15, 0, 5, 0, 0),
1129 - array(1, 0, 1, 0, 5, 0, 0),
1130 - array(1, 0, 5, 0, 5, 0, 0),
1131 - array(1, 0, 7, 0, 5, 0, 0),
1132 - array(1, 0, 2, 0, 5, 0, 0),
1133 - array(1, 0, 6, 0, 5, 0, 0),
1134 - array(21, 0, 10, 0, 4, 0, 0),
1135 - array(21, 0, 10, 0, 5, 0, 0),
1136 - array(16, 0, 18, 0, 5, 0, 0),
1137 - array(25, 0, 12, 0, 5, 0, 0),
1138 - array(22, 0, 18, 1, 5, 0, 0),
1139 - array(18, 0, 18, 1, 5, 0, 0),
1140 - array(25, 0, 18, 0, 5, 0, 0),
1141 - array(15, 0, 8, 0, 5, 0, 0),
1142 - array(25, 0, 9, 0, 5, 0, 0),
1143 - array(6, 0, 0, 0, 4, 0, 1),
1144 - array(23, 0, 10, 0, 1, 0, 0),
1145 - array(11, 0, 13, 0, 5, 0, 40),
1146 - array(9, 0, 0, 0, 5, 0, 0),
1147 - array(5, 0, 0, 0, 4, 0, 0),
1148 - array(26, 0, 10, 0, 5, 0, 0),
1149 - array(25, 0, 18, 1, 5, 0, 0),
1150 - array(15, 0, 18, 0, 5, 0, 0),
1151 - array(14, 0, 0, 0, 4, 0, 1),
1152 - array(14, 0, 0, 0, 5, 0, 1),
1153 - array(25, 0, 18, 1, 4, 0, 0),
1154 - array(25, 0, 10, 0, 5, 0, 0),
1155 - array(22, 0, 18, 1, 2, 0, 0),
1156 - array(18, 0, 18, 1, 2, 0, 0),
1157 - array(26, 0, 0, 0, 4, 0, 0),
1158 - array(26, 0, 0, 0, 5, 0, 52),
1159 - array(9, 0, 0, 0, 5, 0, 56),
1160 - array(5, 0, 0, 0, 5, 0, 56),
1161 - array(26, 0, 18, 0, 5, 0, 54),
1162 - array(12, 230, 13, 0, 5, 0, 54),
1163 - array(21, 0, 18, 0, 5, 0, 54),
1164 - array(15, 0, 18, 0, 5, 0, 54),
1165 - array(5, 0, 0, 0, 5, 0, 23),
1166 - array(7, 0, 0, 0, 5, 0, 57),
1167 - array(6, 0, 0, 0, 5, 0, 57),
1168 - array(21, 0, 0, 0, 5, 0, 57),
1169 - array(12, 9, 13, 0, 5, 0, 57),
1170 - array(26, 0, 18, 0, 2, 0, 35),
1171 - array(26, 0, 18, 0, 2, 0, 0),
1172 - array(29, 0, 17, 0, 0, 0, 0),
1173 - array(21, 0, 18, 0, 2, 0, 0),
1174 - array(6, 0, 0, 0, 2, 0, 35),
1175 - array(7, 0, 0, 0, 2, 0, 0),
1176 - array(14, 0, 0, 0, 2, 0, 35),
1177 - array(17, 0, 18, 0, 2, 0, 0),
1178 - array(22, 0, 18, 0, 2, 0, 0),
1179 - array(18, 0, 18, 0, 2, 0, 0),
1180 - array(12, 218, 13, 0, 2, 0, 40),
1181 - array(12, 228, 13, 0, 2, 0, 40),
1182 - array(12, 232, 13, 0, 2, 0, 40),
1183 - array(12, 222, 13, 0, 2, 0, 40),
1184 - array(10, 224, 0, 0, 2, 0, 24),
1185 - array(6, 0, 0, 0, 2, 0, 0),
1186 - array(7, 0, 0, 0, 2, 0, 32),
1187 - array(12, 8, 13, 0, 2, 0, 40),
1188 - array(24, 0, 18, 0, 2, 0, 0),
1189 - array(6, 0, 0, 0, 2, 0, 32),
1190 - array(7, 0, 0, 0, 2, 0, 33),
1191 - array(6, 0, 0, 0, 2, 0, 33),
1192 - array(7, 0, 0, 0, 2, 0, 34),
1193 - array(26, 0, 0, 0, 2, 0, 0),
1194 - array(15, 0, 0, 0, 2, 0, 0),
1195 - array(26, 0, 0, 0, 2, 0, 24),
1196 - array(26, 0, 18, 0, 2, 0, 24),
1197 - array(15, 0, 0, 0, 4, 0, 0),
1198 - array(15, 0, 18, 0, 2, 0, 0),
1199 - array(26, 0, 0, 0, 2, 0, 33),
1200 - array(7, 0, 0, 0, 2, 0, 35),
1201 - array(2, 0, 18, 0, 2, 0, 35),
1202 - array(2, 0, 18, 0, 2, 0, 102),
1203 - array(7, 0, 0, 0, 2, 0, 36),
1204 - array(6, 0, 0, 0, 2, 0, 36),
1205 - array(26, 0, 18, 0, 2, 0, 36),
1206 - array(7, 0, 0, 0, 5, 0, 82),
1207 - array(6, 0, 0, 0, 5, 0, 82),
1208 - array(21, 0, 0, 0, 5, 0, 82),
1209 - array(7, 0, 0, 0, 5, 0, 69),
1210 - array(6, 0, 0, 0, 5, 0, 69),
1211 - array(21, 0, 18, 0, 5, 0, 69),
1212 - array(13, 0, 0, 0, 5, 0, 69),
1213 - array(7, 0, 0, 0, 5, 0, 3),
1214 - array(21, 0, 18, 0, 5, 0, 3),
1215 - array(6, 0, 18, 0, 5, 0, 3),
1216 - array(7, 0, 0, 0, 5, 0, 83),
1217 - array(14, 0, 0, 0, 5, 0, 83),
1218 - array(12, 230, 13, 0, 5, 0, 83),
1219 - array(21, 0, 0, 0, 5, 0, 83),
1220 - array(24, 0, 0, 0, 5, 0, 0),
1221 - array(7, 0, 0, 0, 5, 0, 58),
1222 - array(12, 0, 13, 0, 5, 0, 58),
1223 - array(12, 9, 13, 0, 5, 0, 58),
1224 - array(10, 0, 0, 0, 5, 0, 58),
1225 - array(26, 0, 18, 0, 5, 0, 58),
1226 - array(15, 0, 0, 0, 5, 0, 0),
1227 - array(7, 0, 0, 0, 5, 0, 64),
1228 - array(21, 0, 18, 0, 5, 0, 64),
1229 - array(10, 0, 0, 0, 5, 0, 70),
1230 - array(7, 0, 0, 0, 5, 0, 70),
1231 - array(12, 9, 13, 0, 5, 0, 70),
1232 - array(21, 0, 0, 0, 5, 0, 70),
1233 - array(13, 0, 0, 0, 5, 0, 70),
1234 - array(13, 0, 0, 0, 5, 0, 71),
1235 - array(7, 0, 0, 0, 5, 0, 71),
1236 - array(12, 0, 13, 0, 5, 0, 71),
1237 - array(12, 220, 13, 0, 5, 0, 71),
1238 - array(21, 0, 0, 0, 5, 0, 71),
1239 - array(7, 0, 0, 0, 5, 0, 72),
1240 - array(12, 0, 13, 0, 5, 0, 72),
1241 - array(10, 0, 0, 0, 5, 0, 72),
1242 - array(10, 9, 0, 0, 5, 0, 72),
1243 - array(21, 0, 0, 0, 5, 0, 72),
1244 - array(12, 0, 13, 0, 5, 0, 84),
1245 - array(10, 0, 0, 0, 5, 0, 84),
1246 - array(7, 0, 0, 0, 5, 0, 84),
1247 - array(12, 7, 13, 0, 5, 0, 84),
1248 - array(10, 9, 0, 0, 5, 0, 84),
1249 - array(21, 0, 0, 0, 5, 0, 84),
1250 - array(6, 0, 0, 0, 5, 0, 84),
1251 - array(13, 0, 0, 0, 5, 0, 84),
1252 - array(7, 0, 0, 0, 5, 0, 76),
1253 - array(12, 0, 13, 0, 5, 0, 76),
1254 - array(10, 0, 0, 0, 5, 0, 76),
1255 - array(13, 0, 0, 0, 5, 0, 76),
1256 - array(21, 0, 0, 0, 5, 0, 76),
1257 - array(6, 0, 0, 0, 5, 0, 22),
1258 - array(7, 0, 0, 0, 5, 0, 78),
1259 - array(12, 230, 13, 0, 5, 0, 78),
1260 - array(12, 220, 13, 0, 5, 0, 78),
1261 - array(6, 0, 0, 0, 5, 0, 78),
1262 - array(21, 0, 0, 0, 5, 0, 78),
1263 - array(7, 0, 0, 0, 5, 0, 85),
1264 - array(10, 0, 0, 0, 5, 0, 85),
1265 - array(12, 0, 13, 0, 5, 0, 85),
1266 - array(21, 0, 0, 0, 5, 0, 85),
1267 - array(6, 0, 0, 0, 5, 0, 85),
1268 - array(12, 9, 13, 0, 5, 0, 85),
1269 - array(13, 0, 0, 0, 5, 0, 85),
1270 - array(2, 0, 18, 0, 2, 0, 24),
1271 - array(4, 0, 0, 0, 5, 0, 102),
1272 - array(3, 0, 0, 0, 4, 0, 102),
1273 - array(2, 0, 18, 0, 4, 0, 102),
1274 - array(12, 26, 13, 0, 5, 0, 5),
1275 - array(25, 0, 9, 0, 5, 0, 5),
1276 - array(24, 0, 4, 0, 5, 0, 6),
1277 - array(18, 0, 18, 0, 5, 0, 0),
1278 - array(16, 0, 18, 0, 2, 0, 0),
1279 - array(21, 0, 12, 0, 2, 0, 0),
1280 - array(21, 0, 10, 0, 2, 0, 0),
1281 - array(25, 0, 9, 0, 2, 0, 0),
1282 - array(17, 0, 9, 0, 2, 0, 0),
1283 - array(25, 0, 18, 1, 2, 0, 0),
1284 - array(25, 0, 18, 0, 2, 0, 0),
1285 - array(23, 0, 10, 0, 2, 0, 0),
1286 - array(21, 0, 18, 0, 0, 0, 0),
1287 - array(21, 0, 10, 0, 0, 0, 0),
1288 - array(23, 0, 10, 0, 0, 0, 0),
1289 - array(22, 0, 18, 1, 0, 0, 0),
1290 - array(18, 0, 18, 1, 0, 0, 0),
1291 - array(25, 0, 9, 0, 0, 0, 0),
1292 - array(21, 0, 12, 0, 0, 0, 0),
1293 - array(17, 0, 9, 0, 0, 0, 0),
1294 - array(13, 0, 8, 0, 0, 0, 0),
1295 - array(25, 0, 18, 1, 0, 0, 0),
1296 - array(25, 0, 18, 0, 0, 0, 0),
1297 - array(9, 0, 0, 0, 0, 0, 1),
1298 - array(24, 0, 18, 0, 0, 0, 0),
1299 - array(16, 0, 18, 0, 0, 0, 0),
1300 - array(5, 0, 0, 0, 0, 0, 1),
1301 - array(21, 0, 18, 0, 1, 0, 0),
1302 - array(22, 0, 18, 1, 1, 0, 0),
1303 - array(18, 0, 18, 1, 1, 0, 0),
1304 - array(7, 0, 0, 0, 1, 0, 33),
1305 - array(6, 0, 0, 0, 1, 0, 0),
1306 - array(7, 0, 0, 0, 1, 0, 24),
1307 - array(26, 0, 18, 0, 0, 0, 0),
1308 - array(26, 0, 18, 0, 1, 0, 0),
1309 - array(25, 0, 18, 0, 1, 0, 0),
1310 - array(1, 0, 18, 0, 5, 0, 0),
1311 - array(7, 0, 0, 0, 5, 0, 47),
1312 - array(14, 0, 18, 0, 5, 0, 2),
1313 - array(15, 0, 18, 0, 5, 0, 2),
1314 - array(26, 0, 18, 0, 5, 0, 2),
1315 - array(7, 0, 0, 0, 5, 0, 73),
1316 - array(7, 0, 0, 0, 5, 0, 74),
1317 - array(7, 0, 0, 0, 5, 0, 37),
1318 - array(15, 0, 0, 0, 5, 0, 37),
1319 - array(7, 0, 0, 0, 5, 0, 38),
1320 - array(14, 0, 0, 0, 5, 0, 38),
1321 - array(7, 0, 0, 0, 5, 0, 48),
1322 - array(21, 0, 0, 0, 5, 0, 48),
1323 - array(7, 0, 0, 0, 5, 0, 59),
1324 - array(21, 0, 0, 0, 5, 0, 59),
1325 - array(14, 0, 0, 0, 5, 0, 59),
1326 - array(9, 0, 0, 0, 5, 0, 39),
1327 - array(5, 0, 0, 0, 5, 0, 39),
1328 - array(7, 0, 0, 0, 5, 0, 49),
1329 - array(7, 0, 0, 0, 5, 0, 50),
1330 - array(13, 0, 0, 0, 5, 0, 50),
1331 - array(7, 0, 3, 0, 5, 0, 51),
1332 - array(7, 0, 3, 0, 5, 0, 86),
1333 - array(21, 0, 3, 0, 5, 0, 86),
1334 - array(15, 0, 3, 0, 5, 0, 86),
1335 - array(7, 0, 3, 0, 5, 0, 63),
1336 - array(15, 0, 3, 0, 5, 0, 63),
1337 - array(21, 0, 18, 0, 5, 0, 63),
1338 - array(7, 0, 3, 0, 5, 0, 75),
1339 - array(21, 0, 3, 0, 5, 0, 75),
1340 - array(7, 0, 3, 0, 5, 0, 97),
1341 - array(7, 0, 3, 0, 5, 0, 96),
1342 - array(7, 0, 3, 0, 5, 0, 60),
1343 - array(12, 0, 13, 0, 5, 0, 60),
1344 - array(12, 220, 13, 0, 5, 0, 60),
1345 - array(12, 230, 13, 0, 5, 0, 60),
1346 - array(12, 1, 13, 0, 5, 0, 60),
1347 - array(12, 9, 13, 0, 5, 0, 60),
1348 - array(15, 0, 3, 0, 5, 0, 60),
1349 - array(21, 0, 3, 0, 5, 0, 60),
1350 - array(7, 0, 3, 0, 5, 0, 87),
1351 - array(15, 0, 3, 0, 5, 0, 87),
1352 - array(21, 0, 3, 0, 5, 0, 87),
1353 - array(7, 0, 3, 0, 5, 0, 79),
1354 - array(21, 0, 18, 0, 5, 0, 79),
1355 - array(7, 0, 3, 0, 5, 0, 88),
1356 - array(15, 0, 3, 0, 5, 0, 88),
1357 - array(7, 0, 3, 0, 5, 0, 89),
1358 - array(15, 0, 3, 0, 5, 0, 89),
1359 - array(7, 0, 3, 0, 5, 0, 90),
1360 - array(15, 0, 11, 0, 5, 0, 6),
1361 - array(10, 0, 0, 0, 5, 0, 93),
1362 - array(12, 0, 13, 0, 5, 0, 93),
1363 - array(7, 0, 0, 0, 5, 0, 93),
1364 - array(12, 9, 13, 0, 5, 0, 93),
1365 - array(21, 0, 0, 0, 5, 0, 93),
1366 - array(15, 0, 18, 0, 5, 0, 93),
1367 - array(13, 0, 0, 0, 5, 0, 93),
1368 - array(12, 0, 13, 0, 5, 0, 91),
1369 - array(10, 0, 0, 0, 5, 0, 91),
1370 - array(7, 0, 0, 0, 5, 0, 91),
1371 - array(12, 9, 13, 0, 5, 0, 91),
1372 - array(12, 7, 13, 0, 5, 0, 91),
1373 - array(21, 0, 0, 0, 5, 0, 91),
1374 - array(1, 0, 0, 0, 5, 0, 91),
1375 - array(7, 0, 0, 0, 5, 0, 100),
1376 - array(13, 0, 0, 0, 5, 0, 100),
1377 - array(12, 230, 13, 0, 5, 0, 95),
1378 - array(7, 0, 0, 0, 5, 0, 95),
1379 - array(12, 0, 13, 0, 5, 0, 95),
1380 - array(10, 0, 0, 0, 5, 0, 95),
1381 - array(12, 9, 13, 0, 5, 0, 95),
1382 - array(13, 0, 0, 0, 5, 0, 95),
1383 - array(21, 0, 0, 0, 5, 0, 95),
1384 - array(12, 0, 13, 0, 5, 0, 99),
1385 - array(10, 0, 0, 0, 5, 0, 99),
1386 - array(7, 0, 0, 0, 5, 0, 99),
1387 - array(10, 9, 0, 0, 5, 0, 99),
1388 - array(21, 0, 0, 0, 5, 0, 99),
1389 - array(13, 0, 0, 0, 5, 0, 99),
1390 - array(7, 0, 0, 0, 5, 0, 101),
1391 - array(12, 0, 13, 0, 5, 0, 101),
1392 - array(10, 0, 0, 0, 5, 0, 101),
1393 - array(10, 9, 0, 0, 5, 0, 101),
1394 - array(12, 7, 13, 0, 5, 0, 101),
1395 - array(13, 0, 0, 0, 5, 0, 101),
1396 - array(7, 0, 0, 0, 5, 0, 62),
1397 - array(14, 0, 0, 0, 5, 0, 62),
1398 - array(21, 0, 0, 0, 5, 0, 62),
1399 - array(7, 0, 0, 0, 5, 0, 80),
1400 - array(7, 0, 0, 0, 5, 0, 98),
1401 - array(10, 0, 0, 0, 5, 0, 98),
1402 - array(12, 0, 13, 0, 5, 0, 98),
1403 - array(6, 0, 0, 0, 5, 0, 98),
1404 - array(10, 216, 0, 0, 5, 0, 0),
1405 - array(10, 226, 0, 0, 5, 0, 0),
1406 - array(12, 230, 13, 0, 5, 0, 2),
1407 - array(25, 0, 0, 0, 5, 0, 0),
1408 - array(13, 0, 8, 0, 5, 0, 0),
1409 - array(26, 0, 0, 0, 2, 0, 32),
1410 -);
1411 -
1412 -/* Mirror unicode characters. Bidirectional Algorithm, at http://www.unicode.org/unicode/reports/tr9/ */
1413 -public static $mirror_pairs = array(
1414 - 40 => 41,
1415 - 41 => 40,
1416 - 60 => 62,
1417 - 62 => 60,
1418 - 91 => 93,
1419 - 93 => 91,
1420 - 123 => 125,
1421 - 125 => 123,
1422 - 171 => 187,
1423 - 187 => 171,
1424 - 3898 => 3899,
1425 - 3899 => 3898,
1426 - 3900 => 3901,
1427 - 3901 => 3900,
1428 - 5787 => 5788,
1429 - 5788 => 5787,
1430 - 8249 => 8250,
1431 - 8250 => 8249,
1432 - 8261 => 8262,
1433 - 8262 => 8261,
1434 - 8317 => 8318,
1435 - 8318 => 8317,
1436 - 8333 => 8334,
1437 - 8334 => 8333,
1438 - 8712 => 8715,
1439 - 8713 => 8716,
1440 - 8714 => 8717,
1441 - 8715 => 8712,
1442 - 8716 => 8713,
1443 - 8717 => 8714,
1444 - 8725 => 10741,
1445 - 8764 => 8765,
1446 - 8765 => 8764,
1447 - 8771 => 8909,
1448 - 8786 => 8787,
1449 - 8787 => 8786,
1450 - 8788 => 8789,
1451 - 8789 => 8788,
1452 - 8804 => 8805,
1453 - 8805 => 8804,
1454 - 8806 => 8807,
1455 - 8807 => 8806,
1456 - 8808 => 8809,
1457 - 8809 => 8808,
1458 - 8810 => 8811,
1459 - 8811 => 8810,
1460 - 8814 => 8815,
1461 - 8815 => 8814,
1462 - 8816 => 8817,
1463 - 8817 => 8816,
1464 - 8818 => 8819,
1465 - 8819 => 8818,
1466 - 8820 => 8821,
1467 - 8821 => 8820,
1468 - 8822 => 8823,
1469 - 8823 => 8822,
1470 - 8824 => 8825,
1471 - 8825 => 8824,
1472 - 8826 => 8827,
1473 - 8827 => 8826,
1474 - 8828 => 8829,
1475 - 8829 => 8828,
1476 - 8830 => 8831,
1477 - 8831 => 8830,
1478 - 8832 => 8833,
1479 - 8833 => 8832,
1480 - 8834 => 8835,
1481 - 8835 => 8834,
1482 - 8836 => 8837,
1483 - 8837 => 8836,
1484 - 8838 => 8839,
1485 - 8839 => 8838,
1486 - 8840 => 8841,
1487 - 8841 => 8840,
1488 - 8842 => 8843,
1489 - 8843 => 8842,
1490 - 8847 => 8848,
1491 - 8848 => 8847,
1492 - 8849 => 8850,
1493 - 8850 => 8849,
1494 - 8856 => 10680,
1495 - 8866 => 8867,
1496 - 8867 => 8866,
1497 - 8870 => 10974,
1498 - 8872 => 10980,
1499 - 8873 => 10979,
1500 - 8875 => 10981,
1501 - 8880 => 8881,
1502 - 8881 => 8880,
1503 - 8882 => 8883,
1504 - 8883 => 8882,
1505 - 8884 => 8885,
1506 - 8885 => 8884,
1507 - 8886 => 8887,
1508 - 8887 => 8886,
1509 - 8905 => 8906,
1510 - 8906 => 8905,
1511 - 8907 => 8908,
1512 - 8908 => 8907,
1513 - 8909 => 8771,
1514 - 8912 => 8913,
1515 - 8913 => 8912,
1516 - 8918 => 8919,
1517 - 8919 => 8918,
1518 - 8920 => 8921,
1519 - 8921 => 8920,
1520 - 8922 => 8923,
1521 - 8923 => 8922,
1522 - 8924 => 8925,
1523 - 8925 => 8924,
1524 - 8926 => 8927,
1525 - 8927 => 8926,
1526 - 8928 => 8929,
1527 - 8929 => 8928,
1528 - 8930 => 8931,
1529 - 8931 => 8930,
1530 - 8932 => 8933,
1531 - 8933 => 8932,
1532 - 8934 => 8935,
1533 - 8935 => 8934,
1534 - 8936 => 8937,
1535 - 8937 => 8936,
1536 - 8938 => 8939,
1537 - 8939 => 8938,
1538 - 8940 => 8941,
1539 - 8941 => 8940,
1540 - 8944 => 8945,
1541 - 8945 => 8944,
1542 - 8946 => 8954,
1543 - 8947 => 8955,
1544 - 8948 => 8956,
1545 - 8950 => 8957,
1546 - 8951 => 8958,
1547 - 8954 => 8946,
1548 - 8955 => 8947,
1549 - 8956 => 8948,
1550 - 8957 => 8950,
1551 - 8958 => 8951,
1552 - 8968 => 8969,
1553 - 8969 => 8968,
1554 - 8970 => 8971,
1555 - 8971 => 8970,
1556 - 9001 => 9002,
1557 - 9002 => 9001,
1558 - 10088 => 10089,
1559 - 10089 => 10088,
1560 - 10090 => 10091,
1561 - 10091 => 10090,
1562 - 10092 => 10093,
1563 - 10093 => 10092,
1564 - 10094 => 10095,
1565 - 10095 => 10094,
1566 - 10096 => 10097,
1567 - 10097 => 10096,
1568 - 10098 => 10099,
1569 - 10099 => 10098,
1570 - 10100 => 10101,
1571 - 10101 => 10100,
1572 - 10179 => 10180,
1573 - 10180 => 10179,
1574 - 10181 => 10182,
1575 - 10182 => 10181,
1576 - 10184 => 10185,
1577 - 10185 => 10184,
1578 - 10187 => 10189,
1579 - 10189 => 10187,
1580 - 10197 => 10198,
1581 - 10198 => 10197,
1582 - 10205 => 10206,
1583 - 10206 => 10205,
1584 - 10210 => 10211,
1585 - 10211 => 10210,
1586 - 10212 => 10213,
1587 - 10213 => 10212,
1588 - 10214 => 10215,
1589 - 10215 => 10214,
1590 - 10216 => 10217,
1591 - 10217 => 10216,
1592 - 10218 => 10219,
1593 - 10219 => 10218,
1594 - 10220 => 10221,
1595 - 10221 => 10220,
1596 - 10222 => 10223,
1597 - 10223 => 10222,
1598 - 10627 => 10628,
1599 - 10628 => 10627,
1600 - 10629 => 10630,
1601 - 10630 => 10629,
1602 - 10631 => 10632,
1603 - 10632 => 10631,
1604 - 10633 => 10634,
1605 - 10634 => 10633,
1606 - 10635 => 10636,
1607 - 10636 => 10635,
1608 - 10637 => 10640,
1609 - 10638 => 10639,
1610 - 10639 => 10638,
1611 - 10640 => 10637,
1612 - 10641 => 10642,
1613 - 10642 => 10641,
1614 - 10643 => 10644,
1615 - 10644 => 10643,
1616 - 10645 => 10646,
1617 - 10646 => 10645,
1618 - 10647 => 10648,
1619 - 10648 => 10647,
1620 - 10680 => 8856,
1621 - 10688 => 10689,
1622 - 10689 => 10688,
1623 - 10692 => 10693,
1624 - 10693 => 10692,
1625 - 10703 => 10704,
1626 - 10704 => 10703,
1627 - 10705 => 10706,
1628 - 10706 => 10705,
1629 - 10708 => 10709,
1630 - 10709 => 10708,
1631 - 10712 => 10713,
1632 - 10713 => 10712,
1633 - 10714 => 10715,
1634 - 10715 => 10714,
1635 - 10741 => 8725,
1636 - 10744 => 10745,
1637 - 10745 => 10744,
1638 - 10748 => 10749,
1639 - 10749 => 10748,
1640 - 10795 => 10796,
1641 - 10796 => 10795,
1642 - 10797 => 10798,
1643 - 10798 => 10797,
1644 - 10804 => 10805,
1645 - 10805 => 10804,
1646 - 10812 => 10813,
1647 - 10813 => 10812,
1648 - 10852 => 10853,
1649 - 10853 => 10852,
1650 - 10873 => 10874,
1651 - 10874 => 10873,
1652 - 10877 => 10878,
1653 - 10878 => 10877,
1654 - 10879 => 10880,
1655 - 10880 => 10879,
1656 - 10881 => 10882,
1657 - 10882 => 10881,
1658 - 10883 => 10884,
1659 - 10884 => 10883,
1660 - 10891 => 10892,
1661 - 10892 => 10891,
1662 - 10897 => 10898,
1663 - 10898 => 10897,
1664 - 10899 => 10900,
1665 - 10900 => 10899,
1666 - 10901 => 10902,
1667 - 10902 => 10901,
1668 - 10903 => 10904,
1669 - 10904 => 10903,
1670 - 10905 => 10906,
1671 - 10906 => 10905,
1672 - 10907 => 10908,
1673 - 10908 => 10907,
1674 - 10913 => 10914,
1675 - 10914 => 10913,
1676 - 10918 => 10919,
1677 - 10919 => 10918,
1678 - 10920 => 10921,
1679 - 10921 => 10920,
1680 - 10922 => 10923,
1681 - 10923 => 10922,
1682 - 10924 => 10925,
1683 - 10925 => 10924,
1684 - 10927 => 10928,
1685 - 10928 => 10927,
1686 - 10931 => 10932,
1687 - 10932 => 10931,
1688 - 10939 => 10940,
1689 - 10940 => 10939,
1690 - 10941 => 10942,
1691 - 10942 => 10941,
1692 - 10943 => 10944,
1693 - 10944 => 10943,
1694 - 10945 => 10946,
1695 - 10946 => 10945,
1696 - 10947 => 10948,
1697 - 10948 => 10947,
1698 - 10949 => 10950,
1699 - 10950 => 10949,
1700 - 10957 => 10958,
1701 - 10958 => 10957,
1702 - 10959 => 10960,
1703 - 10960 => 10959,
1704 - 10961 => 10962,
1705 - 10962 => 10961,
1706 - 10963 => 10964,
1707 - 10964 => 10963,
1708 - 10965 => 10966,
1709 - 10966 => 10965,
1710 - 10974 => 8870,
1711 - 10979 => 8873,
1712 - 10980 => 8872,
1713 - 10981 => 8875,
1714 - 10988 => 10989,
1715 - 10989 => 10988,
1716 - 10999 => 11000,
1717 - 11000 => 10999,
1718 - 11001 => 11002,
1719 - 11002 => 11001,
1720 - 11778 => 11779,
1721 - 11779 => 11778,
1722 - 11780 => 11781,
1723 - 11781 => 11780,
1724 - 11785 => 11786,
1725 - 11786 => 11785,
1726 - 11788 => 11789,
1727 - 11789 => 11788,
1728 - 11804 => 11805,
1729 - 11805 => 11804,
1730 - 11808 => 11809,
1731 - 11809 => 11808,
1732 - 11810 => 11811,
1733 - 11811 => 11810,
1734 - 11812 => 11813,
1735 - 11813 => 11812,
1736 - 11814 => 11815,
1737 - 11815 => 11814,
1738 - 11816 => 11817,
1739 - 11817 => 11816,
1740 - 12296 => 12297,
1741 - 12297 => 12296,
1742 - 12298 => 12299,
1743 - 12299 => 12298,
1744 - 12300 => 12301,
1745 - 12301 => 12300,
1746 - 12302 => 12303,
1747 - 12303 => 12302,
1748 - 12304 => 12305,
1749 - 12305 => 12304,
1750 - 12308 => 12309,
1751 - 12309 => 12308,
1752 - 12310 => 12311,
1753 - 12311 => 12310,
1754 - 12312 => 12313,
1755 - 12313 => 12312,
1756 - 12314 => 12315,
1757 - 12315 => 12314,
1758 - 65113 => 65114,
1759 - 65114 => 65113,
1760 - 65115 => 65116,
1761 - 65116 => 65115,
1762 - 65117 => 65118,
1763 - 65118 => 65117,
1764 - 65124 => 65125,
1765 - 65125 => 65124,
1766 - 65288 => 65289,
1767 - 65289 => 65288,
1768 - 65308 => 65310,
1769 - 65310 => 65308,
1770 - 65339 => 65341,
1771 - 65341 => 65339,
1772 - 65371 => 65373,
1773 - 65373 => 65371,
1774 - 65375 => 65376,
1775 - 65376 => 65375,
1776 - 65378 => 65379,
1777 - 65379 => 65378,
1778 -);
1779 -
1780 -
1781 -/* index tables for the database records */
1782 -private static $index0 = array(
1783 - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1784 - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1785 - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 53, 53, 53,
1786 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1787 - 53, 53, 54, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1788 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1789 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1790 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1791 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 55, 56, 57, 57, 57, 58,
1792 - 59, 60, 61, 62, 63, 64, 65, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1793 - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1794 - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 69, 70, 70,
1795 - 71, 69, 70, 70, 72, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
1796 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 76, 77, 78, 79, 80, 81,
1797 - 82, 83, 84, 85, 86, 87, 70, 70, 70, 88, 89, 90, 91, 92, 70, 93, 70, 94,
1798 - 95, 70, 70, 70, 70, 96, 70, 70, 70, 70, 70, 70, 70, 70, 70, 97, 97, 97,
1799 - 98, 99, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 100, 100, 100, 100,
1800 - 101, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1801 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1802 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 102, 102,
1803 - 103, 70, 70, 70, 70, 104, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1804 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1805 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1806 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 105, 70,
1807 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1808 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 106, 107, 108, 109, 110,
1809 - 111, 112, 113, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1810 - 70, 70, 70, 70, 70, 70, 70, 70, 114, 70, 115, 116, 117, 118, 119, 120,
1811 - 121, 122, 70, 70, 70, 70, 70, 70, 70, 70, 52, 53, 53, 53, 53, 53, 53, 53,
1812 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1813 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1814 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1815 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1816 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1817 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1818 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1819 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1820 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 123, 52, 53, 53,
1821 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 124, 125, 126, 126,
1822 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1823 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1824 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1825 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1826 - 126, 126, 126, 126, 126, 76, 76, 127, 126, 126, 126, 126, 128, 126, 126,
1827 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1828 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1829 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1830 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1831 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1832 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1833 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1834 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1835 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1836 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1837 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1838 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1839 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1840 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1841 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1842 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1843 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1844 - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1845 - 126, 128, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1846 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1847 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1848 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1849 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1850 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1851 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1852 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1853 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1854 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1855 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1856 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1857 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1858 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1859 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1860 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1861 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1862 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1863 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1864 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1865 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1866 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1867 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1868 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1869 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1870 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1871 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1872 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1873 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1874 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1875 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1876 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1877 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1878 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1879 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1880 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1881 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1882 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1883 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1884 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1885 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1886 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1887 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1888 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1889 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1890 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1891 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1892 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1893 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1894 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1895 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1896 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1897 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1898 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1899 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1900 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1901 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1902 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1903 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1904 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1905 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1906 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1907 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1908 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1909 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1910 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1911 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1912 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1913 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1914 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1915 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1916 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1917 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1918 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1919 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1920 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1921 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1922 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1923 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1924 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1925 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1926 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1927 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1928 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1929 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1930 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1931 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1932 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1933 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1934 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1935 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1936 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1937 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1938 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1939 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1940 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1941 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1942 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1943 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1944 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1945 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1946 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1947 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1948 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1949 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1950 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1951 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1952 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1953 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1954 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1955 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1956 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1957 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1958 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1959 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1960 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1961 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1962 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1963 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1964 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1965 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1966 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1967 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1968 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1969 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1970 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1971 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1972 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1973 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1974 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1975 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1976 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1977 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1978 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1979 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1980 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1981 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1982 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1983 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1984 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1985 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1986 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1987 - 70, 70, 70, 70, 70, 70, 129, 130, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1988 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1989 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1990 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1991 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1992 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1993 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1994 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1995 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1996 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1997 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1998 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1999 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2000 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2001 - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 73, 74, 74, 74, 74, 74, 74, 74,
2002 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2003 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2004 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2005 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2006 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2007 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2008 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2009 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2010 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2011 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2012 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2013 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2014 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2015 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 131, 73, 74, 74, 74,
2016 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2017 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2018 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2019 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2020 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2021 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2022 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2023 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2024 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2025 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2026 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2027 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2028 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2029 - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 131,
2030 -);
2031 -
2032 -private static $index1 = array(
2033 - 0, 1, 0, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 0, 0, 0, 14, 15,
2034 - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 29, 31, 32,
2035 - 33, 34, 35, 27, 30, 29, 27, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2036 - 47, 48, 27, 27, 49, 27, 27, 27, 27, 27, 27, 27, 50, 51, 52, 27, 53, 54,
2037 - 53, 54, 54, 54, 54, 54, 55, 54, 54, 54, 56, 57, 58, 59, 60, 61, 62, 63,
2038 - 64, 64, 65, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 65, 77, 78,
2039 - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2040 - 97, 97, 97, 97, 98, 98, 98, 98, 99, 100, 101, 101, 101, 101, 102, 103,
2041 - 101, 101, 101, 101, 101, 101, 104, 105, 101, 101, 101, 101, 101, 101,
2042 - 101, 101, 101, 101, 101, 106, 107, 108, 108, 108, 109, 110, 111, 112,
2043 - 112, 112, 112, 113, 114, 115, 116, 117, 118, 119, 120, 106, 121, 121,
2044 - 121, 122, 123, 106, 124, 125, 126, 127, 128, 128, 128, 128, 129, 130,
2045 - 131, 132, 133, 134, 135, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2046 - 128, 128, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 145, 145,
2047 - 146, 147, 148, 149, 128, 128, 128, 128, 128, 128, 150, 150, 150, 150,
2048 - 151, 152, 153, 106, 154, 155, 156, 156, 156, 157, 158, 159, 160, 160,
2049 - 161, 162, 163, 164, 165, 166, 167, 167, 167, 168, 106, 106, 106, 106,
2050 - 106, 106, 106, 106, 169, 170, 106, 106, 106, 106, 106, 106, 171, 172,
2051 - 173, 174, 175, 176, 176, 176, 176, 176, 176, 177, 178, 179, 180, 176,
2052 - 181, 182, 183, 184, 185, 186, 187, 188, 188, 189, 190, 191, 192, 193,
2053 - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 203, 204, 205, 206,
2054 - 207, 208, 209, 210, 211, 212, 213, 106, 214, 215, 216, 217, 217, 218,
2055 - 219, 220, 221, 222, 223, 106, 224, 225, 226, 106, 227, 228, 229, 230,
2056 - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 106, 241, 242,
2057 - 243, 244, 245, 242, 246, 247, 248, 249, 250, 106, 251, 252, 253, 254,
2058 - 255, 256, 257, 258, 258, 257, 259, 260, 261, 262, 263, 264, 265, 266,
2059 - 106, 267, 268, 269, 270, 271, 271, 270, 272, 273, 274, 275, 276, 277,
2060 - 278, 279, 280, 106, 281, 282, 283, 284, 284, 284, 284, 285, 286, 287,
2061 - 288, 106, 289, 290, 291, 292, 293, 294, 295, 296, 294, 294, 297, 298,
2062 - 295, 299, 300, 301, 106, 106, 302, 106, 303, 304, 304, 304, 304, 304,
2063 - 305, 306, 307, 308, 309, 310, 106, 106, 106, 106, 311, 312, 313, 314,
2064 - 315, 316, 317, 318, 319, 320, 321, 322, 106, 106, 106, 106, 323, 324,
2065 - 325, 326, 327, 328, 329, 330, 331, 332, 331, 331, 331, 333, 334, 335,
2066 - 336, 337, 338, 339, 338, 338, 338, 340, 341, 342, 343, 344, 106, 106,
2067 - 106, 106, 345, 345, 345, 345, 345, 346, 347, 348, 349, 350, 351, 352,
2068 - 353, 354, 355, 345, 356, 357, 349, 358, 359, 359, 359, 359, 360, 361,
2069 - 362, 362, 362, 362, 362, 363, 364, 364, 364, 364, 364, 364, 364, 364,
2070 - 364, 364, 364, 364, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
2071 - 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 366, 366, 366, 366,
2072 - 366, 366, 366, 366, 366, 367, 368, 367, 366, 366, 366, 366, 366, 367,
2073 - 366, 366, 366, 366, 367, 368, 367, 366, 368, 366, 366, 366, 366, 366,
2074 - 366, 366, 367, 366, 366, 366, 366, 366, 366, 366, 366, 369, 370, 371,
2075 - 372, 373, 366, 366, 374, 375, 376, 376, 376, 376, 376, 376, 376, 376,
2076 - 376, 376, 377, 106, 378, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2077 - 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2078 - 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2079 - 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2080 - 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2081 - 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 380, 379, 379,
2082 - 381, 382, 382, 383, 384, 384, 384, 384, 384, 384, 384, 384, 384, 385,
2083 - 386, 106, 387, 388, 389, 106, 390, 390, 391, 106, 392, 392, 393, 106,
2084 - 394, 395, 396, 106, 397, 397, 397, 397, 397, 397, 398, 399, 400, 401,
2085 - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 412, 412, 412,
2086 - 413, 412, 412, 412, 412, 412, 412, 106, 412, 412, 412, 412, 412, 414,
2087 - 379, 379, 379, 379, 379, 379, 379, 379, 415, 106, 416, 416, 416, 417,
2088 - 418, 419, 420, 421, 422, 423, 424, 424, 424, 425, 426, 106, 427, 427,
2089 - 427, 427, 427, 428, 429, 429, 430, 431, 432, 433, 434, 434, 434, 434,
2090 - 435, 435, 436, 437, 438, 438, 438, 438, 438, 438, 439, 440, 441, 442,
2091 - 443, 444, 445, 446, 445, 446, 447, 448, 106, 106, 106, 106, 106, 106,
2092 - 106, 106, 106, 106, 449, 450, 450, 450, 450, 450, 451, 452, 453, 454,
2093 - 455, 456, 457, 458, 459, 460, 461, 462, 462, 462, 463, 464, 465, 466,
2094 - 467, 467, 467, 467, 468, 469, 470, 471, 472, 472, 472, 472, 473, 474,
2095 - 475, 476, 477, 478, 479, 480, 481, 481, 481, 482, 106, 106, 106, 106,
2096 - 106, 106, 106, 106, 483, 106, 484, 485, 486, 487, 488, 106, 54, 54, 54,
2097 - 54, 489, 490, 56, 56, 56, 56, 56, 491, 492, 493, 54, 494, 54, 54, 54,
2098 - 495, 56, 56, 56, 496, 497, 498, 499, 500, 501, 106, 106, 502, 27, 27, 27,
2099 - 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 503, 504, 27,
2100 - 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 505, 506, 507, 508, 505, 506,
2101 - 505, 506, 507, 508, 505, 509, 505, 506, 505, 507, 505, 510, 505, 510,
2102 - 505, 510, 511, 512, 513, 514, 515, 516, 505, 517, 518, 519, 520, 521,
2103 - 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
2104 - 536, 537, 56, 538, 539, 540, 539, 541, 106, 106, 542, 543, 544, 545, 546,
2105 - 106, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
2106 - 560, 559, 561, 562, 563, 564, 565, 566, 567, 568, 569, 568, 570, 571,
2107 - 568, 572, 568, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
2108 - 584, 585, 586, 587, 588, 583, 583, 589, 590, 591, 592, 593, 583, 583,
2109 - 594, 574, 595, 596, 583, 583, 597, 583, 583, 568, 598, 599, 568, 600,
2110 - 601, 602, 603, 603, 603, 603, 603, 603, 603, 603, 604, 568, 568, 605,
2111 - 606, 574, 574, 607, 568, 568, 568, 568, 573, 608, 568, 609, 106, 568,
2112 - 568, 568, 568, 610, 106, 106, 106, 568, 611, 106, 106, 612, 612, 612,
2113 - 612, 612, 613, 613, 614, 615, 615, 615, 615, 615, 615, 615, 615, 615,
2114 - 616, 612, 612, 617, 617, 617, 617, 617, 617, 617, 617, 617, 618, 617,
2115 - 617, 617, 617, 618, 568, 617, 617, 619, 568, 620, 569, 621, 622, 623,
2116 - 624, 569, 568, 619, 572, 568, 574, 625, 626, 622, 627, 568, 568, 568,
2117 - 568, 628, 568, 568, 568, 629, 630, 568, 568, 568, 568, 568, 631, 568,
2118 - 632, 568, 631, 633, 634, 617, 617, 635, 617, 617, 617, 636, 568, 568,
2119 - 568, 568, 568, 568, 637, 568, 568, 572, 568, 568, 638, 639, 612, 640,
2120 - 640, 641, 568, 568, 568, 568, 568, 642, 643, 644, 645, 646, 647, 574,
2121 - 574, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648,
2122 - 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648,
2123 - 648, 648, 648, 648, 648, 574, 574, 574, 574, 574, 574, 574, 574, 574,
2124 - 574, 574, 574, 574, 574, 574, 574, 649, 650, 650, 651, 583, 583, 574,
2125 - 652, 597, 653, 654, 655, 656, 657, 658, 659, 574, 660, 583, 661, 662,
2126 - 663, 664, 645, 574, 574, 586, 652, 664, 665, 666, 667, 583, 583, 583,
2127 - 583, 668, 669, 583, 583, 583, 583, 670, 671, 672, 645, 673, 674, 568,
2128 - 568, 568, 568, 568, 568, 574, 574, 675, 676, 677, 678, 106, 106, 106,
2129 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2130 - 106, 106, 106, 679, 679, 679, 679, 679, 680, 681, 681, 681, 681, 681,
2131 - 682, 683, 684, 685, 686, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
2132 - 687, 688, 689, 690, 691, 691, 691, 691, 692, 693, 694, 694, 694, 694,
2133 - 694, 694, 694, 695, 696, 697, 366, 366, 368, 106, 368, 368, 368, 368,
2134 - 368, 368, 368, 368, 698, 698, 698, 698, 699, 700, 701, 702, 703, 704,
2135 - 529, 705, 106, 106, 106, 106, 106, 106, 106, 106, 706, 706, 706, 707,
2136 - 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 708, 106, 706, 706,
2137 - 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,
2138 - 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 709, 106, 106, 106,
2139 - 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 721, 721,
2140 - 721, 721, 721, 721, 721, 721, 722, 723, 724, 725, 725, 725, 725, 725,
2141 - 725, 725, 725, 725, 725, 726, 727, 728, 728, 728, 728, 729, 730, 364,
2142 - 364, 364, 364, 364, 364, 364, 364, 364, 364, 731, 732, 733, 728, 728,
2143 - 728, 734, 710, 710, 710, 710, 711, 106, 725, 725, 735, 735, 735, 736,
2144 - 737, 738, 733, 733, 733, 739, 740, 741, 735, 735, 735, 742, 737, 738,
2145 - 733, 733, 733, 733, 743, 741, 733, 744, 745, 745, 745, 745, 745, 746,
2146 - 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 733, 733, 733,
2147 - 747, 748, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 749,
2148 - 733, 733, 733, 747, 750, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2149 - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2150 - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2151 - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2152 - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2153 - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2154 - 751, 751, 751, 751, 751, 751, 752, 753, 568, 568, 568, 568, 568, 568,
2155 - 568, 568, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2156 - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 754,
2157 - 753, 753, 753, 753, 753, 753, 755, 755, 756, 755, 755, 755, 755, 755,
2158 - 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2159 - 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2160 - 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2161 - 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2162 - 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2163 - 755, 755, 755, 757, 758, 758, 758, 758, 758, 758, 759, 106, 760, 760,
2164 - 760, 760, 760, 761, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
2165 - 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
2166 - 762, 762, 762, 762, 762, 762, 762, 762, 762, 763, 762, 762, 764, 765,
2167 - 106, 106, 101, 101, 101, 101, 101, 766, 767, 768, 101, 101, 101, 769,
2168 - 770, 770, 770, 770, 770, 770, 770, 770, 771, 772, 773, 106, 64, 64, 774,
2169 - 775, 776, 27, 777, 27, 27, 27, 27, 27, 27, 27, 778, 779, 27, 780, 781,
2170 - 106, 27, 782, 106, 106, 106, 106, 106, 106, 106, 106, 106, 783, 784, 785,
2171 - 786, 786, 787, 788, 789, 790, 791, 791, 791, 791, 791, 791, 792, 106,
2172 - 793, 794, 794, 794, 794, 794, 795, 796, 797, 798, 799, 800, 801, 801,
2173 - 802, 803, 804, 805, 806, 806, 807, 808, 809, 809, 810, 811, 812, 813,
2174 - 364, 364, 364, 814, 815, 816, 816, 816, 816, 816, 817, 818, 819, 820,
2175 - 821, 822, 106, 106, 106, 106, 823, 823, 823, 823, 823, 824, 825, 106,
2176 - 826, 827, 828, 829, 345, 345, 830, 831, 832, 832, 832, 832, 832, 832,
2177 - 833, 834, 835, 106, 106, 836, 837, 838, 839, 106, 840, 840, 840, 106,
2178 - 368, 368, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2179 - 106, 106, 106, 106, 106, 106, 837, 837, 837, 837, 841, 842, 843, 844,
2180 - 845, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2181 - 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2182 - 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2183 - 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2184 - 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2185 - 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2186 - 847, 106, 365, 365, 848, 849, 365, 365, 365, 365, 365, 850, 851, 106,
2187 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2188 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2189 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2190 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2191 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2192 - 106, 106, 106, 106, 106, 106, 106, 852, 851, 106, 106, 106, 106, 106,
2193 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 852, 106, 106, 106, 106,
2194 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2195 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 852,
2196 - 853, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2197 - 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2198 - 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2199 - 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2200 - 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2201 - 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2202 - 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 855, 856, 856,
2203 - 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2204 - 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2205 - 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2206 - 856, 857, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2207 - 856, 858, 753, 753, 753, 753, 859, 106, 860, 861, 121, 862, 863, 864,
2208 - 865, 121, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2209 - 866, 867, 868, 106, 869, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2210 - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2211 - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2212 - 128, 128, 128, 128, 128, 128, 128, 870, 106, 106, 128, 128, 128, 128,
2213 - 128, 128, 128, 128, 871, 128, 128, 128, 128, 128, 128, 106, 106, 106,
2214 - 106, 106, 128, 872, 873, 873, 874, 875, 501, 106, 876, 877, 878, 879,
2215 - 880, 881, 882, 883, 884, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2216 - 128, 128, 128, 128, 128, 128, 128, 885, 886, 887, 888, 889, 890, 891,
2217 - 891, 892, 893, 894, 894, 895, 896, 897, 898, 897, 897, 897, 897, 899,
2218 - 900, 900, 900, 901, 902, 902, 902, 903, 904, 905, 106, 906, 907, 908,
2219 - 907, 907, 909, 907, 907, 910, 907, 911, 907, 911, 106, 106, 106, 106,
2220 - 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907,
2221 - 907, 912, 913, 914, 914, 914, 914, 914, 915, 603, 916, 916, 916, 916,
2222 - 916, 916, 917, 918, 919, 920, 568, 609, 106, 106, 106, 106, 106, 106,
2223 - 603, 603, 603, 603, 603, 921, 106, 106, 106, 106, 106, 106, 106, 106,
2224 - 106, 106, 106, 106, 106, 106, 106, 106, 922, 922, 922, 923, 924, 924,
2225 - 924, 924, 924, 924, 925, 106, 106, 106, 106, 106, 926, 926, 926, 927,
2226 - 928, 106, 929, 929, 930, 931, 106, 106, 106, 106, 106, 106, 932, 932,
2227 - 932, 933, 934, 934, 934, 934, 935, 934, 936, 106, 106, 106, 106, 106,
2228 - 937, 937, 937, 937, 937, 938, 938, 938, 938, 938, 939, 939, 939, 939,
2229 - 939, 939, 940, 940, 940, 941, 942, 943, 106, 106, 106, 106, 106, 106,
2230 - 106, 106, 106, 106, 944, 945, 946, 946, 946, 946, 947, 948, 949, 949,
2231 - 950, 951, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2232 - 106, 106, 106, 106, 106, 106, 106, 106, 952, 952, 953, 954, 955, 955,
2233 - 955, 956, 106, 106, 106, 106, 106, 106, 106, 106, 957, 957, 957, 957,
2234 - 958, 958, 958, 959, 106, 106, 106, 106, 106, 106, 106, 106, 960, 961,
2235 - 962, 963, 964, 964, 965, 966, 967, 106, 968, 969, 970, 970, 970, 971,
2236 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2237 - 106, 106, 972, 972, 972, 972, 972, 972, 973, 974, 975, 975, 976, 977,
2238 - 978, 978, 979, 980, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2239 - 106, 106, 106, 106, 106, 106, 981, 981, 981, 981, 981, 981, 981, 981,
2240 - 981, 982, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2241 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2242 - 106, 106, 106, 106, 106, 106, 106, 106, 983, 983, 983, 984, 106, 106,
2243 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2244 - 985, 986, 986, 986, 986, 986, 986, 987, 988, 989, 990, 991, 992, 993,
2245 - 106, 106, 994, 995, 995, 995, 995, 995, 996, 997, 998, 106, 999, 999,
2246 - 999, 1000, 1001, 1002, 1003, 1004, 1004, 1004, 1005, 1006, 1007, 1008,
2247 - 1009, 106, 106, 106, 106, 106, 106, 106, 1010, 1011, 1011, 1011, 1011,
2248 - 1011, 1012, 1013, 1014, 1015, 1016, 1017, 106, 106, 106, 106, 106, 106,
2249 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2250 - 1018, 1018, 1018, 1018, 1018, 1019, 1020, 106, 1021, 1022, 106, 106, 106,
2251 - 106, 106, 106, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2252 - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2253 - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2254 - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2255 - 1024, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2256 - 106, 106, 106, 106, 106, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
2257 - 1025, 1025, 1025, 1025, 1026, 106, 1027, 106, 106, 106, 106, 106, 106,
2258 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 1028, 1028, 1028,
2259 - 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
2260 - 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
2261 - 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1029, 106,
2262 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2263 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 770, 770, 770,
2264 - 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
2265 - 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
2266 - 770, 770, 770, 770, 770, 770, 770, 770, 1030, 106, 106, 106, 106, 106,
2267 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2268 - 106, 106, 106, 106, 106, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031,
2269 - 1032, 106, 1033, 1034, 1034, 1034, 1034, 1035, 106, 1036, 1037, 1038,
2270 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 1039, 106,
2271 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2272 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2273 - 106, 106, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
2274 - 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
2275 - 603, 603, 603, 603, 1040, 106, 603, 603, 603, 603, 1041, 1042, 603, 603,
2276 - 603, 603, 603, 603, 1043, 1044, 1045, 1046, 1047, 1048, 603, 603, 603,
2277 - 1049, 603, 603, 603, 603, 603, 1040, 106, 106, 106, 106, 919, 919, 919,
2278 - 919, 919, 919, 919, 919, 1050, 106, 106, 106, 106, 106, 106, 106, 106,
2279 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2280 - 106, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 610, 106, 914,
2281 - 914, 1051, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2282 - 106, 106, 106, 106, 106, 1052, 1052, 1052, 1053, 1054, 1054, 1055, 1052,
2283 - 1052, 1056, 1057, 1054, 1054, 1052, 1052, 1052, 1053, 1054, 1054, 1058,
2284 - 1059, 1060, 1056, 1061, 1062, 1054, 1052, 1052, 1052, 1053, 1054, 1054,
2285 - 1063, 1064, 1065, 1066, 1054, 1054, 1054, 1067, 1068, 1069, 1070, 1054,
2286 - 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052, 1052, 1053,
2287 - 1054, 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052, 1052,
2288 - 1053, 1054, 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052,
2289 - 1052, 1053, 1054, 1054, 1071, 1052, 1052, 1052, 1072, 1054, 1054, 1073,
2290 - 1074, 1052, 1052, 1075, 1054, 1054, 1076, 1055, 1052, 1052, 1077, 1054,
2291 - 1054, 1078, 1079, 1052, 1052, 1080, 1054, 1054, 1054, 1081, 1052, 1052,
2292 - 1052, 1072, 1054, 1054, 1073, 1082, 1083, 1083, 1083, 1083, 1083, 1083,
2293 - 1084, 128, 128, 128, 1085, 1086, 1087, 1088, 1089, 1090, 1085, 1091,
2294 - 1085, 1087, 1087, 1092, 128, 1093, 128, 1094, 1095, 1093, 128, 1094, 106,
2295 - 106, 106, 106, 106, 106, 1096, 106, 568, 568, 568, 568, 568, 609, 568,
2296 - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 609, 106, 568,
2297 - 610, 636, 610, 636, 568, 636, 568, 106, 106, 106, 106, 613, 1097, 615,
2298 - 615, 615, 1098, 615, 615, 615, 615, 615, 615, 615, 1099, 615, 615, 615,
2299 - 615, 615, 1100, 106, 106, 106, 106, 106, 106, 106, 106, 1101, 603, 603,
2300 - 603, 1102, 106, 733, 733, 733, 733, 733, 1103, 733, 1104, 1105, 106, 106,
2301 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2302 - 106, 106, 106, 106, 106, 568, 568, 568, 568, 1106, 106, 1107, 568, 568,
2303 - 568, 568, 568, 568, 568, 568, 1108, 568, 568, 609, 106, 568, 568, 568,
2304 - 568, 1109, 611, 106, 106, 568, 568, 1106, 106, 568, 568, 568, 568, 568,
2305 - 568, 568, 610, 1110, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
2306 - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 1111, 568,
2307 - 568, 568, 568, 568, 568, 568, 1112, 609, 106, 568, 568, 568, 106, 106,
2308 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2309 - 106, 106, 1113, 568, 568, 568, 568, 568, 568, 568, 568, 1114, 568, 106,
2310 - 106, 106, 106, 106, 106, 568, 568, 568, 568, 568, 568, 568, 568, 1112,
2311 - 106, 106, 106, 106, 106, 106, 106, 568, 568, 568, 568, 568, 568, 568,
2312 - 568, 568, 568, 568, 568, 568, 568, 609, 106, 106, 106, 106, 106, 106,
2313 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 751, 751, 751,
2314 - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2315 - 751, 751, 751, 751, 751, 751, 751, 751, 751, 1115, 753, 753, 753, 753,
2316 - 753, 751, 751, 751, 751, 751, 751, 754, 753, 750, 751, 751, 751, 751,
2317 - 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2318 - 751, 751, 751, 751, 751, 751, 751, 751, 752, 753, 753, 753, 753, 753,
2319 - 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2320 - 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2321 - 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2322 - 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 856,
2323 - 856, 856, 857, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2324 - 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2325 - 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2326 - 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2327 - 753, 753, 753, 753, 753, 753, 1116, 1117, 106, 106, 106, 1118, 1118,
2328 - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 106, 106,
2329 - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2330 - 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873,
2331 - 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873,
2332 - 873, 873, 106, 106, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2333 - 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2334 - 854, 854, 854, 854, 854, 854, 854, 1119,
2335 -);
2336 -
2337 -private static $index2 = array(
2338 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 4, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 2,
2339 - 5, 6, 6, 7, 8, 7, 6, 6, 9, 10, 6, 11, 12, 13, 12, 12, 14, 14, 14, 14, 14,
2340 - 14, 14, 14, 14, 14, 12, 6, 15, 16, 15, 6, 6, 17, 17, 17, 17, 17, 17, 17,
2341 - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 6, 10, 18, 19, 18, 20, 20,
2342 - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 9, 16,
2343 - 10, 16, 1, 1, 1, 1, 1, 1, 3, 1, 1, 21, 22, 8, 8, 23, 8, 24, 22, 25, 26,
2344 - 27, 28, 16, 29, 30, 18, 31, 32, 33, 33, 25, 34, 22, 22, 25, 33, 27, 35,
2345 - 36, 36, 36, 22, 37, 37, 37, 37, 37, 37, 38, 37, 37, 37, 37, 37, 37, 37,
2346 - 37, 37, 38, 37, 37, 37, 37, 37, 37, 39, 38, 37, 37, 37, 37, 37, 38, 40,
2347 - 40, 40, 41, 41, 41, 41, 40, 41, 40, 40, 40, 41, 40, 40, 41, 41, 40, 41,
2348 - 40, 40, 41, 41, 41, 39, 40, 40, 40, 41, 40, 41, 40, 41, 37, 40, 37, 41,
2349 - 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 37, 40, 37, 40, 37, 41,
2350 - 37, 41, 37, 41, 37, 40, 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 38, 40,
2351 - 37, 40, 38, 40, 37, 41, 37, 41, 40, 37, 41, 37, 41, 37, 41, 38, 40, 38,
2352 - 40, 37, 40, 37, 41, 37, 40, 40, 38, 40, 37, 40, 37, 41, 37, 41, 38, 40,
2353 - 37, 41, 37, 41, 37, 37, 41, 37, 41, 37, 41, 41, 41, 37, 37, 41, 37, 41,
2354 - 37, 37, 41, 37, 37, 37, 41, 41, 37, 37, 37, 37, 41, 37, 37, 41, 37, 37,
2355 - 37, 41, 41, 41, 37, 37, 41, 37, 37, 41, 37, 41, 37, 41, 37, 37, 41, 37,
2356 - 41, 41, 37, 41, 37, 37, 41, 37, 37, 37, 41, 37, 41, 37, 37, 41, 41, 42,
2357 - 37, 41, 41, 41, 42, 42, 42, 42, 37, 43, 41, 37, 43, 41, 37, 43, 41, 37,
2358 - 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 41, 37, 41,
2359 - 41, 37, 43, 41, 37, 41, 37, 37, 37, 41, 37, 41, 41, 41, 41, 41, 41, 41,
2360 - 37, 37, 41, 37, 37, 41, 41, 37, 41, 37, 37, 37, 37, 41, 41, 40, 41, 41,
2361 - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 41,
2362 - 41, 41, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 46, 46, 46, 46, 46,
2363 - 46, 46, 47, 47, 25, 47, 45, 48, 45, 48, 48, 48, 45, 48, 45, 45, 49, 46,
2364 - 47, 47, 47, 47, 47, 47, 25, 25, 25, 25, 47, 25, 47, 25, 44, 44, 44, 44,
2365 - 44, 47, 47, 47, 47, 47, 50, 50, 45, 47, 46, 47, 47, 47, 47, 47, 47, 47,
2366 - 47, 47, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 53, 53,
2367 - 53, 53, 52, 54, 53, 53, 53, 53, 53, 55, 55, 53, 53, 53, 53, 55, 55, 53,
2368 - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 56, 56, 56, 56, 56, 53, 53, 53,
2369 - 53, 51, 51, 51, 51, 51, 51, 51, 51, 57, 51, 53, 53, 53, 51, 51, 51, 53,
2370 - 53, 58, 51, 51, 51, 53, 53, 53, 53, 51, 52, 53, 53, 51, 59, 60, 60, 59,
2371 - 60, 60, 59, 51, 51, 51, 51, 51, 61, 62, 61, 62, 45, 63, 61, 62, 64, 64,
2372 - 65, 62, 62, 62, 66, 64, 64, 64, 64, 64, 63, 47, 61, 66, 61, 61, 61, 64,
2373 - 61, 64, 61, 61, 62, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
2374 - 67, 67, 67, 67, 64, 67, 67, 67, 67, 67, 67, 67, 61, 61, 62, 62, 62, 62,
2375 - 62, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
2376 - 62, 68, 68, 68, 68, 68, 68, 68, 62, 62, 62, 62, 62, 61, 62, 62, 61, 61,
2377 - 61, 62, 62, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 69, 70, 69, 70,
2378 - 69, 70, 69, 70, 69, 70, 69, 70, 69, 70, 62, 62, 62, 62, 61, 62, 71, 61,
2379 - 62, 61, 61, 62, 62, 61, 61, 61, 72, 73, 72, 72, 72, 72, 72, 72, 72, 72,
2380 - 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74,
2381 - 74, 74, 74, 74, 75, 74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
2382 - 75, 75, 72, 75, 72, 75, 72, 75, 72, 75, 72, 75, 76, 77, 77, 78, 78, 77,
2383 - 79, 79, 72, 75, 72, 75, 72, 75, 72, 72, 75, 72, 75, 72, 75, 72, 75, 72,
2384 - 75, 72, 75, 72, 75, 75, 64, 64, 64, 64, 64, 64, 64, 64, 64, 80, 80, 80,
2385 - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
2386 - 80, 64, 64, 81, 82, 82, 82, 82, 82, 82, 64, 83, 83, 83, 83, 83, 83, 83,
2387 - 83, 83, 83, 83, 83, 83, 83, 83, 64, 84, 85, 64, 64, 64, 64, 86, 64, 87,
2388 - 88, 88, 88, 88, 87, 88, 88, 88, 89, 87, 88, 88, 88, 88, 88, 88, 87, 87,
2389 - 87, 87, 87, 87, 88, 88, 87, 88, 88, 89, 90, 88, 91, 92, 93, 94, 95, 96,
2390 - 97, 98, 99, 100, 100, 101, 102, 103, 104, 105, 106, 107, 108, 106, 88,
2391 - 87, 106, 99, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 64,
2392 - 64, 64, 64, 64, 109, 109, 109, 106, 106, 64, 64, 64, 110, 110, 110, 110,
2393 - 110, 64, 111, 111, 112, 113, 113, 114, 115, 116, 117, 117, 118, 118, 118,
2394 - 118, 118, 118, 118, 118, 119, 120, 121, 122, 64, 64, 116, 122, 123, 123,
2395 - 123, 123, 123, 123, 123, 123, 124, 123, 123, 123, 123, 123, 123, 123,
2396 - 123, 123, 123, 125, 126, 127, 128, 129, 130, 131, 132, 78, 78, 133, 134,
2397 - 118, 118, 118, 118, 118, 134, 118, 118, 134, 135, 135, 135, 135, 135,
2398 - 135, 135, 135, 135, 135, 113, 136, 136, 116, 123, 123, 137, 123, 123,
2399 - 123, 123, 123, 123, 123, 123, 123, 123, 123, 116, 123, 118, 118, 118,
2400 - 118, 118, 118, 118, 138, 117, 118, 118, 118, 118, 134, 118, 139, 139,
2401 - 118, 118, 117, 134, 118, 118, 134, 123, 123, 140, 140, 140, 140, 140,
2402 - 140, 140, 140, 140, 140, 123, 123, 123, 141, 141, 123, 142, 142, 142,
2403 - 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 64, 143, 144, 145,
2404 - 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2405 - 146, 147, 146, 146, 147, 146, 146, 147, 147, 147, 146, 147, 147, 146,
2406 - 147, 146, 146, 146, 147, 146, 147, 146, 147, 146, 147, 146, 146, 64, 64,
2407 - 144, 144, 144, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
2408 - 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2409 - 148, 64, 64, 64, 64, 64, 64, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2410 - 150, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
2411 - 151, 151, 151, 151, 152, 152, 152, 152, 152, 152, 152, 153, 152, 154,
2412 - 154, 155, 156, 156, 156, 154, 64, 64, 64, 64, 64, 157, 157, 157, 157,
2413 - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158,
2414 - 159, 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 158, 158, 158,
2415 - 159, 158, 158, 158, 158, 158, 64, 64, 160, 160, 160, 160, 160, 160, 160,
2416 - 160, 160, 160, 160, 160, 160, 160, 160, 64, 161, 161, 161, 161, 161, 161,
2417 - 161, 161, 161, 162, 162, 162, 64, 64, 163, 64, 123, 64, 123, 123, 123,
2418 - 123, 123, 123, 123, 123, 123, 123, 123, 64, 64, 64, 64, 64, 64, 64, 118,
2419 - 118, 134, 118, 118, 134, 118, 118, 118, 134, 134, 134, 164, 165, 166,
2420 - 118, 118, 118, 134, 118, 118, 134, 134, 118, 118, 118, 118, 64, 167, 167,
2421 - 167, 168, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
2422 - 169, 169, 167, 168, 170, 169, 168, 168, 168, 167, 167, 167, 167, 167,
2423 - 167, 167, 167, 168, 168, 168, 168, 171, 168, 168, 169, 78, 133, 172, 172,
2424 - 167, 167, 167, 169, 169, 167, 167, 84, 84, 173, 173, 173, 173, 173, 173,
2425 - 173, 173, 173, 173, 174, 175, 169, 169, 169, 169, 169, 169, 64, 169, 169,
2426 - 169, 169, 169, 169, 169, 64, 176, 177, 177, 64, 178, 178, 178, 178, 178,
2427 - 178, 178, 178, 64, 64, 178, 178, 64, 64, 178, 178, 178, 178, 178, 178,
2428 - 178, 178, 178, 178, 178, 178, 178, 178, 64, 178, 178, 178, 178, 178, 178,
2429 - 178, 64, 178, 64, 64, 64, 178, 178, 178, 178, 64, 64, 179, 178, 177, 177,
2430 - 177, 176, 176, 176, 176, 64, 64, 177, 177, 64, 64, 177, 177, 180, 178,
2431 - 64, 64, 64, 64, 64, 64, 64, 64, 177, 64, 64, 64, 64, 178, 178, 64, 178,
2432 - 178, 178, 176, 176, 64, 64, 181, 181, 181, 181, 181, 181, 181, 181, 181,
2433 - 181, 178, 178, 182, 182, 183, 183, 183, 183, 183, 183, 184, 182, 64, 64,
2434 - 64, 64, 64, 185, 185, 186, 64, 187, 187, 187, 187, 187, 187, 64, 64, 64,
2435 - 64, 187, 187, 64, 64, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2436 - 187, 187, 187, 187, 64, 187, 187, 187, 187, 187, 187, 187, 64, 187, 187,
2437 - 64, 187, 187, 64, 187, 187, 64, 64, 188, 64, 186, 186, 186, 185, 185, 64,
2438 - 64, 64, 64, 185, 185, 64, 64, 185, 185, 189, 64, 64, 64, 185, 64, 64, 64,
2439 - 64, 64, 64, 64, 187, 187, 187, 187, 64, 187, 64, 64, 64, 64, 64, 64, 64,
2440 - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 185, 185, 187, 187,
2441 - 187, 185, 64, 64, 64, 191, 191, 192, 64, 193, 193, 193, 193, 193, 193,
2442 - 193, 193, 193, 64, 193, 193, 193, 64, 193, 193, 193, 193, 193, 193, 193,
2443 - 193, 193, 193, 193, 193, 193, 193, 64, 193, 193, 193, 193, 193, 193, 193,
2444 - 64, 193, 193, 64, 193, 193, 193, 193, 193, 64, 64, 194, 193, 192, 192,
2445 - 192, 191, 191, 191, 191, 191, 64, 191, 191, 192, 64, 192, 192, 195, 64,
2446 - 64, 193, 64, 64, 64, 64, 64, 64, 64, 193, 193, 191, 191, 64, 64, 196,
2447 - 196, 196, 196, 196, 196, 196, 196, 196, 196, 197, 198, 64, 64, 64, 64,
2448 - 64, 64, 64, 199, 200, 200, 64, 201, 201, 201, 201, 201, 201, 201, 201,
2449 - 64, 64, 201, 201, 64, 64, 201, 201, 201, 201, 201, 201, 201, 201, 201,
2450 - 201, 201, 201, 201, 201, 64, 201, 201, 201, 201, 201, 201, 201, 64, 201,
2451 - 201, 64, 201, 201, 201, 201, 201, 64, 64, 202, 201, 200, 199, 200, 199,
2452 - 199, 199, 199, 64, 64, 200, 200, 64, 64, 200, 200, 203, 64, 64, 64, 64,
2453 - 64, 64, 64, 64, 199, 200, 64, 64, 64, 64, 201, 201, 64, 201, 201, 201,
2454 - 199, 199, 64, 64, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 205,
2455 - 201, 206, 206, 206, 206, 206, 206, 64, 64, 207, 208, 64, 208, 208, 208,
2456 - 208, 208, 208, 64, 64, 64, 208, 208, 208, 64, 208, 208, 208, 208, 64, 64,
2457 - 64, 208, 208, 64, 208, 64, 208, 208, 64, 64, 64, 208, 208, 64, 64, 64,
2458 - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 64, 64, 64, 64, 209,
2459 - 209, 207, 209, 209, 64, 64, 64, 209, 209, 209, 64, 209, 209, 209, 210,
2460 - 64, 64, 208, 64, 64, 64, 64, 64, 64, 209, 64, 64, 64, 64, 64, 64, 211,
2461 - 211, 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, 213, 213,
2462 - 213, 213, 213, 213, 214, 213, 64, 64, 64, 64, 64, 64, 215, 215, 215, 64,
2463 - 216, 216, 216, 216, 216, 216, 216, 216, 64, 216, 216, 216, 64, 216, 216,
2464 - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
2465 - 216, 216, 64, 216, 216, 216, 216, 216, 64, 64, 64, 216, 217, 217, 217,
2466 - 215, 215, 215, 215, 64, 217, 217, 217, 64, 217, 217, 217, 218, 64, 64,
2467 - 64, 64, 64, 64, 64, 219, 220, 64, 216, 216, 64, 64, 64, 64, 64, 64, 216,
2468 - 216, 217, 217, 64, 64, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
2469 - 222, 222, 222, 222, 222, 222, 222, 223, 64, 64, 224, 224, 64, 225, 225,
2470 - 225, 225, 225, 225, 225, 225, 64, 225, 225, 225, 64, 225, 225, 225, 225,
2471 - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 64,
2472 - 225, 225, 225, 225, 225, 64, 64, 226, 225, 224, 227, 224, 224, 224, 224,
2473 - 224, 64, 227, 224, 224, 64, 224, 224, 228, 229, 64, 64, 64, 64, 64, 64,
2474 - 64, 224, 224, 64, 64, 64, 64, 64, 64, 64, 225, 64, 225, 225, 228, 228,
2475 - 64, 64, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 64, 225, 225,
2476 - 64, 64, 64, 64, 64, 64, 64, 231, 231, 64, 232, 232, 232, 232, 232, 232,
2477 - 232, 232, 64, 232, 232, 232, 64, 232, 232, 232, 232, 232, 232, 232, 232,
2478 - 232, 232, 232, 232, 232, 232, 232, 232, 232, 64, 64, 232, 231, 231, 231,
2479 - 233, 233, 233, 233, 64, 231, 231, 231, 64, 231, 231, 231, 234, 232, 64,
2480 - 64, 64, 64, 64, 64, 64, 64, 231, 232, 232, 233, 233, 64, 64, 235, 235,
2481 - 235, 235, 235, 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, 236, 64,
2482 - 64, 64, 237, 232, 232, 232, 232, 232, 232, 64, 64, 238, 238, 64, 239,
2483 - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
2484 - 239, 239, 239, 64, 64, 64, 239, 239, 239, 239, 239, 239, 239, 239, 64,
2485 - 239, 239, 239, 239, 239, 239, 239, 239, 239, 64, 239, 64, 64, 64, 64,
2486 - 240, 64, 64, 64, 64, 238, 238, 238, 241, 241, 241, 64, 241, 64, 238, 238,
2487 - 238, 238, 238, 238, 238, 238, 64, 64, 238, 238, 242, 64, 64, 64, 64, 243,
2488 - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
2489 - 243, 244, 243, 243, 244, 244, 244, 244, 245, 245, 246, 64, 64, 64, 64,
2490 - 247, 243, 243, 243, 243, 243, 243, 248, 244, 249, 249, 249, 249, 244,
2491 - 244, 244, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 250,
2492 - 250, 64, 64, 64, 64, 64, 252, 252, 64, 252, 64, 64, 252, 252, 64, 252,
2493 - 64, 64, 252, 64, 64, 64, 64, 64, 64, 252, 252, 252, 252, 64, 252, 252,
2494 - 252, 252, 252, 252, 252, 64, 252, 252, 252, 64, 252, 64, 252, 64, 64,
2495 - 252, 252, 64, 252, 252, 252, 252, 253, 252, 252, 253, 253, 253, 253, 254,
2496 - 254, 64, 253, 253, 252, 64, 64, 252, 252, 252, 252, 252, 64, 255, 64,
2497 - 256, 256, 256, 256, 253, 253, 64, 64, 257, 257, 257, 257, 257, 257, 257,
2498 - 257, 257, 257, 64, 64, 252, 252, 252, 252, 258, 259, 259, 259, 260, 260,
2499 - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 259,
2500 - 260, 259, 259, 259, 261, 261, 259, 259, 259, 259, 259, 259, 262, 262,
2501 - 262, 262, 262, 262, 262, 262, 262, 262, 263, 263, 263, 263, 263, 263,
2502 - 263, 263, 263, 263, 259, 261, 259, 261, 259, 264, 265, 266, 265, 266,
2503 - 267, 267, 258, 258, 258, 258, 258, 258, 258, 258, 64, 258, 258, 258, 258,
2504 - 258, 258, 258, 258, 258, 258, 258, 258, 64, 64, 64, 64, 268, 269, 270,
2505 - 271, 270, 270, 270, 270, 270, 269, 269, 269, 269, 270, 267, 269, 270,
2506 - 272, 272, 273, 260, 272, 272, 258, 258, 258, 258, 258, 270, 270, 270,
2507 - 270, 270, 270, 270, 270, 270, 270, 270, 64, 270, 270, 270, 270, 270, 270,
2508 - 270, 270, 270, 270, 270, 270, 64, 259, 259, 259, 259, 259, 259, 259, 259,
2509 - 261, 259, 259, 259, 259, 259, 259, 64, 259, 259, 260, 260, 260, 260, 260,
2510 - 274, 274, 274, 274, 260, 260, 64, 64, 64, 64, 64, 275, 275, 275, 275,
2511 - 275, 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, 277, 277, 276,
2512 - 277, 277, 277, 277, 277, 278, 276, 279, 279, 276, 276, 277, 277, 275,
2513 - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, 281, 281, 281,
2514 - 281, 281, 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, 275, 275,
2515 - 275, 275, 277, 277, 277, 275, 276, 276, 276, 275, 275, 276, 276, 276,
2516 - 276, 276, 276, 276, 275, 275, 275, 277, 277, 277, 277, 275, 275, 275,
2517 - 275, 275, 277, 276, 276, 277, 277, 276, 276, 276, 276, 276, 276, 282,
2518 - 275, 276, 280, 280, 276, 276, 276, 277, 283, 283, 284, 284, 284, 284,
2519 - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 64, 284, 64, 64, 64,
2520 - 64, 64, 284, 64, 64, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
2521 - 285, 84, 286, 285, 285, 285, 287, 287, 287, 287, 287, 287, 287, 287, 288,
2522 - 288, 288, 288, 288, 288, 288, 288, 289, 289, 289, 289, 289, 289, 289,
2523 - 289, 289, 64, 289, 289, 289, 289, 64, 64, 289, 289, 289, 289, 289, 289,
2524 - 289, 64, 289, 289, 289, 64, 64, 290, 290, 290, 291, 291, 291, 291, 291,
2525 - 291, 291, 291, 291, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
2526 - 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 64, 64, 64, 293, 293,
2527 - 293, 293, 293, 293, 293, 293, 293, 293, 64, 64, 64, 64, 64, 64, 294, 294,
2528 - 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 64, 64, 64, 295,
2529 - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
2530 - 296, 296, 296, 296, 296, 296, 297, 297, 296, 298, 299, 299, 299, 299,
2531 - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
2532 - 300, 301, 64, 64, 64, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
2533 - 302, 84, 84, 84, 303, 303, 303, 64, 64, 64, 64, 64, 64, 64, 304, 304,
2534 - 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 64, 304, 304, 304,
2535 - 304, 305, 305, 306, 64, 64, 64, 307, 307, 307, 307, 307, 307, 307, 307,
2536 - 307, 307, 308, 308, 309, 84, 84, 64, 310, 310, 310, 310, 310, 310, 310,
2537 - 310, 310, 310, 311, 311, 64, 64, 64, 64, 312, 312, 312, 312, 312, 312,
2538 - 312, 312, 312, 312, 312, 312, 312, 64, 312, 312, 312, 64, 313, 313, 64,
2539 - 64, 64, 64, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
2540 - 315, 315, 316, 315, 315, 315, 315, 315, 315, 315, 316, 316, 316, 316,
2541 - 316, 316, 316, 316, 315, 316, 316, 315, 315, 315, 315, 315, 315, 315,
2542 - 315, 315, 317, 315, 318, 318, 318, 319, 318, 318, 318, 320, 314, 321, 64,
2543 - 64, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 64, 64, 64, 64, 64,
2544 - 64, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 64, 64, 64, 64, 64,
2545 - 64, 324, 324, 66, 66, 324, 66, 325, 324, 324, 324, 324, 326, 326, 326,
2546 - 327, 64, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 64, 64, 64,
2547 - 64, 64, 64, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 330,
2548 - 329, 329, 329, 329, 329, 331, 329, 64, 64, 64, 64, 64, 296, 296, 296,
2549 - 296, 296, 296, 64, 64, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
2550 - 332, 332, 332, 64, 64, 64, 333, 333, 333, 334, 334, 334, 334, 333, 333,
2551 - 334, 334, 334, 64, 64, 64, 64, 334, 334, 333, 334, 334, 334, 334, 334,
2552 - 334, 335, 336, 337, 64, 64, 64, 64, 338, 64, 64, 64, 339, 339, 340, 340,
2553 - 340, 340, 340, 340, 340, 340, 340, 340, 341, 341, 341, 341, 341, 341,
2554 - 341, 341, 341, 341, 341, 341, 341, 341, 64, 64, 341, 341, 341, 341, 341,
2555 - 64, 64, 64, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
2556 - 64, 64, 64, 64, 343, 343, 343, 343, 343, 343, 343, 343, 343, 342, 342,
2557 - 342, 342, 342, 342, 342, 343, 343, 64, 64, 64, 64, 64, 64, 344, 344, 344,
2558 - 344, 344, 344, 344, 344, 344, 344, 345, 64, 64, 64, 346, 346, 347, 347,
2559 - 347, 347, 347, 347, 347, 347, 348, 348, 348, 348, 348, 348, 348, 348,
2560 - 348, 348, 348, 348, 348, 348, 348, 349, 350, 351, 351, 351, 64, 64, 352,
2561 - 352, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
2562 - 354, 355, 354, 355, 355, 355, 355, 355, 355, 355, 64, 356, 354, 355, 354,
2563 - 354, 355, 355, 355, 355, 355, 355, 355, 355, 354, 354, 354, 354, 354,
2564 - 354, 355, 355, 357, 357, 357, 357, 357, 357, 357, 357, 64, 64, 358, 359,
2565 - 359, 359, 359, 359, 359, 359, 359, 359, 359, 64, 64, 64, 64, 64, 64, 360,
2566 - 360, 360, 360, 360, 360, 360, 361, 360, 360, 360, 360, 360, 360, 64, 64,
2567 - 362, 362, 362, 362, 363, 364, 364, 364, 364, 364, 364, 364, 364, 364,
2568 - 364, 364, 364, 364, 364, 364, 365, 363, 362, 362, 362, 362, 362, 363,
2569 - 362, 363, 363, 363, 363, 363, 362, 363, 366, 364, 364, 364, 364, 364,
2570 - 364, 364, 64, 64, 64, 64, 367, 367, 367, 367, 367, 367, 367, 367, 367,
2571 - 367, 368, 368, 368, 368, 368, 368, 368, 369, 369, 369, 369, 369, 369,
2572 - 369, 369, 369, 369, 370, 371, 370, 370, 370, 370, 370, 370, 370, 369,
2573 - 369, 369, 369, 369, 369, 369, 369, 369, 64, 64, 64, 372, 372, 373, 374,
2574 - 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 373,
2575 - 372, 372, 372, 372, 373, 373, 372, 372, 375, 376, 373, 373, 374, 374,
2576 - 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 374, 374, 374, 374,
2577 - 374, 374, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
2578 - 378, 378, 379, 380, 381, 381, 380, 380, 380, 381, 380, 381, 381, 381,
2579 - 382, 382, 64, 64, 64, 64, 64, 64, 64, 64, 383, 383, 383, 383, 384, 384,
2580 - 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 385, 385, 385, 385,
2581 - 385, 385, 385, 385, 386, 386, 386, 386, 386, 386, 386, 386, 385, 385,
2582 - 386, 387, 64, 64, 64, 388, 388, 388, 388, 388, 389, 389, 389, 389, 389,
2583 - 389, 389, 389, 389, 389, 64, 64, 64, 384, 384, 384, 390, 390, 390, 390,
2584 - 390, 390, 390, 390, 390, 390, 391, 391, 391, 391, 391, 391, 391, 391,
2585 - 391, 391, 391, 391, 391, 391, 392, 392, 392, 392, 392, 392, 393, 393,
2586 - 394, 394, 394, 394, 394, 394, 394, 394, 78, 78, 78, 84, 395, 133, 133,
2587 - 133, 133, 133, 78, 78, 133, 133, 133, 133, 78, 396, 395, 395, 395, 395,
2588 - 395, 395, 395, 397, 397, 397, 397, 133, 397, 397, 397, 397, 396, 396, 78,
2589 - 397, 397, 64, 41, 41, 41, 41, 41, 41, 62, 62, 62, 62, 62, 75, 44, 44, 44,
2590 - 44, 44, 44, 44, 44, 44, 65, 65, 65, 65, 65, 44, 44, 44, 44, 65, 65, 65,
2591 - 65, 65, 41, 41, 41, 41, 41, 398, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
2592 - 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 65, 78, 78, 133, 78, 78,
2593 - 78, 78, 78, 78, 78, 133, 78, 78, 399, 400, 133, 401, 78, 78, 78, 78, 78,
2594 - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 64,
2595 - 64, 64, 64, 64, 402, 133, 78, 133, 37, 41, 37, 41, 37, 41, 41, 41, 41,
2596 - 41, 41, 41, 41, 41, 37, 41, 62, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61,
2597 - 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 64, 64, 61, 61, 61, 61, 61,
2598 - 61, 64, 64, 64, 61, 64, 61, 64, 61, 64, 61, 403, 403, 403, 403, 403, 403,
2599 - 403, 403, 62, 62, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403, 63, 62,
2600 - 63, 63, 63, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403, 63, 63, 63, 62,
2601 - 62, 62, 62, 64, 64, 62, 62, 61, 61, 61, 61, 64, 63, 63, 63, 61, 61, 61,
2602 - 61, 61, 63, 63, 63, 64, 64, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403,
2603 - 63, 63, 64, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 405,
2604 - 406, 406, 407, 408, 409, 410, 410, 409, 409, 409, 22, 66, 411, 412, 413,
2605 - 414, 411, 412, 413, 414, 22, 22, 22, 66, 22, 22, 22, 22, 415, 416, 417,
2606 - 418, 419, 420, 421, 21, 422, 423, 422, 422, 423, 22, 66, 66, 66, 28, 35,
2607 - 22, 66, 66, 22, 424, 424, 66, 66, 66, 425, 426, 427, 66, 66, 66, 66, 66,
2608 - 66, 66, 66, 66, 66, 66, 428, 66, 424, 66, 66, 66, 66, 66, 66, 66, 66, 66,
2609 - 66, 404, 405, 405, 405, 405, 405, 64, 64, 64, 64, 64, 405, 405, 405, 405,
2610 - 405, 405, 429, 44, 64, 64, 33, 429, 429, 429, 429, 429, 430, 430, 428,
2611 - 426, 427, 431, 429, 33, 33, 33, 33, 429, 429, 429, 429, 429, 430, 430,
2612 - 428, 426, 427, 64, 44, 44, 44, 44, 44, 64, 64, 64, 247, 247, 247, 247,
2613 - 247, 247, 247, 247, 247, 432, 247, 247, 23, 247, 247, 247, 247, 247, 247,
2614 - 64, 64, 64, 64, 64, 78, 78, 395, 395, 78, 78, 78, 78, 395, 395, 395, 78,
2615 - 78, 433, 433, 433, 433, 78, 433, 433, 433, 395, 395, 78, 133, 78, 395,
2616 - 395, 133, 133, 133, 133, 78, 64, 64, 64, 64, 64, 64, 64, 26, 26, 434, 30,
2617 - 26, 30, 26, 434, 26, 30, 34, 434, 434, 434, 34, 34, 434, 434, 434, 435,
2618 - 26, 434, 30, 26, 428, 434, 434, 434, 434, 434, 26, 26, 26, 30, 30, 26,
2619 - 434, 26, 67, 26, 434, 26, 37, 38, 434, 434, 436, 34, 434, 434, 37, 434,
2620 - 34, 397, 397, 397, 397, 34, 26, 26, 34, 34, 434, 434, 437, 428, 428, 428,
2621 - 428, 434, 34, 34, 34, 34, 26, 428, 26, 26, 41, 274, 438, 438, 438, 36,
2622 - 36, 438, 438, 438, 438, 438, 438, 36, 36, 36, 36, 438, 439, 439, 439,
2623 - 439, 439, 439, 439, 439, 439, 439, 439, 439, 440, 440, 440, 440, 439,
2624 - 439, 440, 440, 440, 440, 440, 440, 440, 440, 440, 37, 41, 440, 440, 440,
2625 - 440, 36, 64, 64, 64, 64, 64, 64, 39, 39, 39, 39, 39, 30, 30, 30, 30, 30,
2626 - 428, 428, 26, 26, 26, 26, 428, 26, 26, 428, 26, 26, 428, 26, 26, 26, 26,
2627 - 26, 26, 26, 428, 26, 26, 26, 26, 26, 26, 26, 26, 26, 30, 30, 26, 26, 26,
2628 - 26, 26, 26, 26, 26, 26, 26, 26, 26, 428, 428, 26, 26, 39, 26, 39, 26, 26,
2629 - 26, 26, 26, 26, 26, 26, 26, 26, 30, 26, 26, 26, 26, 428, 428, 428, 428,
2630 - 428, 428, 428, 428, 428, 428, 428, 428, 39, 437, 441, 441, 437, 428, 428,
2631 - 39, 441, 437, 437, 441, 437, 437, 428, 39, 428, 441, 430, 442, 428, 441,
2632 - 437, 428, 428, 428, 441, 437, 437, 441, 39, 441, 441, 437, 437, 39, 437,
2633 - 39, 437, 39, 39, 39, 39, 441, 441, 437, 441, 437, 437, 437, 437, 437, 39,
2634 - 39, 39, 39, 428, 437, 428, 437, 441, 441, 437, 437, 437, 437, 437, 437,
2635 - 437, 437, 437, 437, 441, 437, 437, 437, 441, 428, 428, 428, 428, 428,
2636 - 441, 437, 437, 437, 428, 428, 428, 428, 428, 428, 428, 428, 428, 437,
2637 - 441, 39, 437, 428, 441, 441, 441, 441, 437, 437, 441, 441, 428, 428, 441,
2638 - 441, 437, 437, 441, 441, 437, 437, 441, 441, 437, 437, 437, 437, 437,
2639 - 428, 428, 437, 437, 437, 437, 428, 428, 39, 428, 428, 437, 39, 428, 428,
2640 - 428, 428, 428, 428, 428, 428, 437, 437, 428, 39, 437, 437, 437, 428, 428,
2641 - 428, 428, 428, 437, 441, 428, 437, 437, 437, 437, 437, 428, 428, 437,
2642 - 437, 428, 428, 428, 428, 437, 437, 437, 437, 437, 437, 437, 437, 428,
2643 - 428, 437, 437, 437, 437, 26, 26, 26, 26, 26, 26, 30, 26, 26, 26, 26, 26,
2644 - 437, 437, 26, 26, 26, 26, 26, 26, 26, 443, 444, 26, 26, 26, 26, 26, 26,
2645 - 26, 26, 26, 26, 26, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
2646 - 274, 274, 274, 26, 428, 26, 26, 26, 26, 26, 26, 26, 26, 274, 26, 26, 26,
2647 - 26, 26, 428, 428, 428, 428, 428, 428, 428, 428, 428, 26, 26, 26, 26, 428,
2648 - 428, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 64, 64, 64, 64, 26, 26, 26,
2649 - 26, 26, 26, 26, 64, 26, 26, 26, 64, 64, 64, 64, 64, 36, 36, 36, 36, 36,
2650 - 36, 36, 36, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 445, 445,
2651 - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 438, 36, 36,
2652 - 36, 36, 36, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 26, 26, 26,
2653 - 26, 26, 26, 30, 30, 30, 30, 26, 26, 30, 30, 26, 30, 30, 30, 30, 30, 26,
2654 - 26, 30, 30, 26, 26, 30, 39, 26, 26, 26, 26, 30, 30, 26, 26, 30, 39, 26,
2655 - 26, 26, 26, 30, 30, 30, 26, 26, 30, 26, 26, 30, 30, 26, 26, 26, 26, 26,
2656 - 30, 30, 26, 26, 30, 26, 26, 26, 26, 30, 30, 26, 26, 26, 26, 30, 26, 30,
2657 - 26, 30, 26, 30, 26, 26, 26, 26, 26, 30, 30, 26, 30, 30, 30, 26, 30, 30,
2658 - 30, 30, 26, 30, 30, 26, 39, 26, 26, 26, 26, 26, 26, 30, 30, 26, 26, 26,
2659 - 26, 274, 26, 26, 26, 26, 26, 26, 26, 30, 30, 30, 30, 30, 30, 30, 30, 30,
2660 - 30, 26, 30, 30, 30, 26, 30, 26, 26, 26, 26, 64, 26, 26, 26, 26, 26, 26,
2661 - 26, 26, 26, 26, 26, 26, 30, 26, 26, 426, 427, 426, 427, 426, 427, 426,
2662 - 427, 426, 427, 426, 427, 426, 427, 36, 36, 438, 438, 438, 438, 438, 438,
2663 - 438, 438, 438, 438, 438, 438, 26, 26, 26, 26, 437, 428, 428, 437, 437,
2664 - 426, 427, 428, 437, 437, 428, 437, 437, 437, 428, 428, 428, 428, 428,
2665 - 437, 437, 437, 437, 428, 428, 428, 428, 428, 437, 437, 437, 428, 428,
2666 - 428, 437, 437, 437, 437, 9, 10, 9, 10, 9, 10, 9, 10, 426, 427, 446, 446,
2667 - 446, 446, 446, 446, 446, 446, 428, 428, 428, 426, 427, 9, 10, 426, 427,
2668 - 426, 427, 426, 427, 426, 427, 426, 427, 428, 428, 437, 437, 437, 437,
2669 - 437, 437, 428, 428, 428, 428, 428, 428, 428, 428, 437, 428, 428, 428,
2670 - 428, 437, 437, 437, 437, 437, 428, 437, 437, 428, 428, 426, 427, 426,
2671 - 427, 437, 428, 428, 428, 428, 437, 428, 437, 437, 437, 428, 428, 437,
2672 - 437, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 437, 437, 437,
2673 - 437, 437, 437, 428, 428, 426, 427, 428, 428, 428, 428, 437, 437, 437,
2674 - 437, 437, 437, 437, 437, 437, 437, 437, 428, 437, 437, 437, 437, 428,
2675 - 428, 437, 428, 437, 428, 428, 437, 428, 437, 437, 437, 437, 428, 428,
2676 - 428, 428, 428, 437, 437, 428, 428, 428, 428, 437, 437, 437, 437, 428,
2677 - 437, 437, 428, 428, 437, 437, 428, 428, 428, 428, 437, 437, 437, 437,
2678 - 437, 437, 437, 437, 437, 437, 437, 428, 428, 437, 437, 437, 437, 437,
2679 - 437, 437, 437, 428, 437, 437, 437, 437, 437, 437, 437, 437, 428, 428,
2680 - 428, 428, 428, 437, 428, 437, 428, 428, 428, 437, 437, 437, 437, 437,
2681 - 428, 428, 428, 428, 437, 428, 428, 428, 437, 437, 437, 437, 437, 428,
2682 - 437, 428, 428, 428, 428, 428, 428, 428, 26, 26, 428, 428, 428, 428, 428,
2683 - 428, 64, 64, 64, 26, 26, 26, 26, 26, 30, 30, 30, 30, 30, 64, 64, 64, 64,
2684 - 64, 64, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
2685 - 447, 447, 64, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
2686 - 448, 448, 448, 64, 37, 41, 37, 37, 37, 41, 41, 37, 41, 37, 41, 37, 41,
2687 - 37, 37, 37, 37, 41, 37, 41, 41, 37, 41, 41, 41, 41, 41, 41, 44, 44, 37,
2688 - 37, 69, 70, 69, 70, 70, 449, 449, 449, 449, 449, 449, 69, 70, 69, 70,
2689 - 450, 450, 450, 69, 70, 64, 64, 64, 64, 64, 451, 451, 451, 451, 452, 451,
2690 - 451, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453,
2691 - 453, 64, 453, 64, 64, 64, 64, 64, 453, 64, 64, 454, 454, 454, 454, 454,
2692 - 454, 454, 454, 64, 64, 64, 64, 64, 64, 64, 455, 456, 64, 64, 64, 64, 64,
2693 - 64, 64, 64, 64, 64, 64, 64, 64, 64, 457, 77, 77, 77, 77, 77, 77, 77, 77,
2694 - 66, 66, 28, 35, 28, 35, 66, 66, 66, 28, 35, 66, 28, 35, 66, 66, 66, 66,
2695 - 66, 66, 66, 66, 66, 410, 66, 66, 410, 66, 28, 35, 66, 66, 28, 35, 426,
2696 - 427, 426, 427, 426, 427, 426, 427, 66, 66, 66, 66, 66, 45, 66, 66, 410,
2697 - 410, 64, 64, 64, 64, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
2698 - 64, 458, 458, 458, 458, 458, 458, 458, 458, 458, 64, 64, 64, 64, 458,
2699 - 458, 458, 458, 458, 458, 64, 64, 459, 459, 459, 459, 459, 459, 459, 459,
2700 - 459, 459, 459, 459, 64, 64, 64, 64, 460, 461, 461, 461, 459, 462, 463,
2701 - 464, 443, 444, 443, 444, 443, 444, 443, 444, 443, 444, 459, 459, 443,
2702 - 444, 443, 444, 443, 444, 443, 444, 465, 466, 467, 467, 459, 464, 464,
2703 - 464, 464, 464, 464, 464, 464, 464, 468, 469, 470, 471, 472, 472, 465,
2704 - 473, 473, 473, 473, 473, 459, 459, 464, 464, 464, 462, 463, 461, 459, 26,
2705 - 64, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
2706 - 474, 474, 474, 474, 474, 474, 474, 474, 64, 64, 475, 475, 476, 476, 477,
2707 - 477, 474, 465, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
2708 - 478, 478, 478, 478, 478, 478, 478, 461, 473, 479, 479, 478, 64, 64, 64,
2709 - 64, 64, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
2710 - 480, 480, 480, 480, 64, 64, 64, 287, 287, 287, 287, 287, 287, 287, 287,
2711 - 287, 287, 287, 287, 287, 287, 64, 481, 481, 482, 482, 482, 482, 481, 481,
2712 - 481, 481, 481, 481, 481, 481, 481, 481, 480, 480, 480, 64, 64, 64, 64,
2713 - 64, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 484,
2714 - 484, 64, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 481, 481, 481,
2715 - 481, 481, 481, 485, 485, 485, 485, 485, 485, 485, 485, 459, 486, 486,
2716 - 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 483,
2717 - 483, 483, 483, 484, 484, 484, 481, 481, 486, 486, 486, 486, 486, 486,
2718 - 486, 481, 481, 481, 481, 459, 459, 459, 459, 487, 487, 487, 487, 487,
2719 - 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 64, 481, 481, 481, 481,
2720 - 481, 481, 481, 459, 459, 459, 459, 481, 481, 481, 481, 481, 481, 481,
2721 - 481, 481, 481, 481, 459, 459, 488, 489, 489, 489, 489, 489, 489, 489,
2722 - 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 488,
2723 - 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 489, 489, 489, 489,
2724 - 488, 490, 490, 490, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491,
2725 - 491, 491, 491, 492, 491, 491, 491, 491, 491, 491, 491, 64, 64, 64, 493,
2726 - 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 64,
2727 - 494, 494, 494, 494, 494, 494, 494, 494, 495, 495, 495, 495, 495, 495,
2728 - 496, 496, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497,
2729 - 498, 499, 499, 499, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
2730 - 497, 497, 64, 64, 64, 64, 72, 75, 72, 75, 72, 75, 501, 77, 79, 79, 79,
2731 - 502, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 502, 503, 64, 64, 64, 64,
2732 - 64, 64, 64, 77, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
2733 - 504, 504, 504, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 506,
2734 - 506, 507, 507, 507, 507, 507, 507, 47, 47, 47, 47, 47, 47, 47, 45, 45,
2735 - 45, 45, 45, 45, 45, 45, 45, 47, 47, 37, 41, 37, 41, 37, 41, 41, 41, 37,
2736 - 41, 37, 41, 37, 41, 44, 41, 41, 41, 41, 41, 41, 41, 41, 37, 41, 37, 41,
2737 - 37, 37, 41, 45, 508, 508, 37, 41, 37, 41, 64, 37, 41, 37, 41, 64, 64, 64,
2738 - 64, 37, 41, 37, 64, 64, 64, 64, 64, 44, 44, 41, 42, 42, 42, 42, 42, 509,
2739 - 509, 510, 509, 509, 509, 511, 509, 509, 509, 509, 510, 509, 509, 509,
2740 - 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 512, 512,
2741 - 510, 510, 512, 513, 513, 513, 513, 64, 64, 64, 64, 514, 514, 514, 514,
2742 - 514, 514, 274, 274, 247, 436, 64, 64, 64, 64, 64, 64, 515, 515, 515, 515,
2743 - 515, 515, 515, 515, 515, 515, 515, 515, 516, 516, 516, 516, 517, 517,
2744 - 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518,
2745 - 518, 518, 518, 518, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
2746 - 517, 517, 517, 517, 517, 517, 519, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2747 - 520, 520, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 64, 64, 64,
2748 - 64, 64, 64, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 169, 169,
2749 - 169, 169, 169, 169, 174, 174, 174, 169, 64, 64, 64, 64, 522, 522, 522,
2750 - 522, 522, 522, 522, 522, 522, 522, 523, 523, 523, 523, 523, 523, 523,
2751 - 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 524,
2752 - 524, 524, 524, 524, 525, 525, 525, 526, 526, 527, 527, 527, 527, 527,
2753 - 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 528, 528, 528, 528,
2754 - 528, 528, 528, 528, 528, 528, 528, 529, 530, 64, 64, 64, 64, 64, 64, 64,
2755 - 64, 64, 64, 64, 531, 287, 287, 287, 287, 287, 64, 64, 64, 532, 532, 532,
2756 - 533, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
2757 - 534, 534, 535, 533, 533, 532, 532, 532, 532, 533, 533, 532, 533, 533,
2758 - 533, 536, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
2759 - 537, 64, 538, 539, 539, 539, 539, 539, 539, 539, 539, 539, 539, 64, 64,
2760 - 64, 64, 537, 537, 540, 540, 540, 540, 540, 540, 540, 540, 540, 541, 541,
2761 - 541, 541, 541, 541, 542, 542, 541, 541, 542, 542, 541, 541, 64, 540, 540,
2762 - 540, 541, 540, 540, 540, 540, 540, 540, 540, 540, 541, 542, 64, 64, 543,
2763 - 543, 543, 543, 543, 543, 543, 543, 543, 543, 64, 64, 544, 544, 544, 544,
2764 - 545, 275, 275, 275, 275, 275, 275, 283, 283, 283, 275, 276, 64, 64, 64,
2765 - 64, 546, 546, 546, 546, 546, 546, 546, 546, 547, 546, 547, 547, 548, 546,
2766 - 546, 547, 547, 546, 546, 546, 546, 546, 547, 547, 546, 547, 546, 64, 64,
2767 - 64, 64, 64, 64, 64, 64, 546, 546, 549, 550, 550, 551, 551, 551, 551, 551,
2768 - 551, 551, 551, 551, 551, 551, 552, 553, 553, 552, 552, 554, 554, 551,
2769 - 555, 555, 552, 556, 64, 64, 289, 289, 289, 289, 289, 289, 64, 551, 551,
2770 - 551, 552, 552, 553, 552, 552, 553, 552, 552, 554, 552, 556, 64, 64, 557,
2771 - 557, 557, 557, 557, 557, 557, 557, 557, 557, 64, 64, 64, 64, 64, 64, 287,
2772 - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
2773 - 558, 558, 558, 558, 287, 64, 64, 64, 64, 288, 288, 288, 288, 288, 288,
2774 - 288, 64, 64, 64, 64, 288, 288, 288, 288, 288, 288, 288, 288, 288, 64, 64,
2775 - 64, 64, 559, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 559,
2776 - 560, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
2777 - 561, 561, 561, 561, 561, 561, 561, 561, 561, 560, 488, 488, 488, 488,
2778 - 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 490, 490, 488, 488,
2779 - 490, 490, 490, 490, 490, 490, 41, 41, 41, 41, 41, 41, 41, 64, 64, 64, 64,
2780 - 83, 83, 83, 83, 83, 64, 64, 64, 64, 64, 109, 562, 109, 109, 563, 109,
2781 - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 64, 109, 109,
2782 - 109, 109, 109, 64, 109, 64, 109, 109, 64, 109, 109, 64, 109, 109, 123,
2783 - 123, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
2784 - 564, 564, 564, 64, 64, 64, 64, 64, 64, 64, 64, 64, 123, 123, 123, 123,
2785 - 123, 123, 123, 123, 123, 123, 123, 413, 565, 64, 64, 123, 123, 123, 123,
2786 - 123, 123, 123, 123, 123, 123, 114, 26, 64, 64, 58, 58, 58, 58, 58, 58,
2787 - 58, 58, 461, 461, 461, 461, 461, 461, 461, 466, 467, 461, 64, 64, 64, 64,
2788 - 64, 64, 461, 465, 465, 566, 566, 466, 467, 466, 467, 466, 467, 466, 467,
2789 - 466, 467, 466, 467, 466, 467, 466, 467, 461, 461, 466, 467, 461, 461,
2790 - 461, 461, 566, 566, 566, 567, 461, 567, 64, 461, 567, 461, 461, 465, 443,
2791 - 444, 443, 444, 443, 444, 568, 461, 461, 569, 570, 571, 571, 572, 64, 461,
2792 - 573, 568, 461, 64, 64, 64, 64, 123, 123, 123, 123, 123, 64, 123, 123,
2793 - 123, 123, 123, 123, 123, 64, 64, 405, 64, 574, 574, 575, 576, 575, 574,
2794 - 574, 577, 578, 574, 579, 580, 581, 580, 580, 582, 582, 582, 582, 582,
2795 - 582, 582, 582, 582, 582, 580, 574, 583, 584, 583, 574, 574, 585, 585,
2796 - 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
2797 - 585, 585, 577, 574, 578, 586, 587, 586, 588, 588, 588, 588, 588, 588,
2798 - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 577, 584,
2799 - 578, 584, 577, 578, 589, 590, 591, 589, 589, 592, 592, 592, 592, 592,
2800 - 592, 592, 592, 592, 592, 593, 592, 592, 592, 592, 592, 592, 592, 592,
2801 - 592, 592, 592, 592, 592, 593, 593, 594, 594, 594, 594, 594, 594, 594,
2802 - 594, 594, 594, 594, 594, 594, 594, 594, 64, 64, 64, 594, 594, 594, 594,
2803 - 594, 594, 64, 64, 594, 594, 594, 64, 64, 64, 576, 576, 584, 586, 595,
2804 - 576, 576, 64, 596, 597, 597, 597, 597, 596, 596, 64, 64, 598, 598, 598,
2805 - 26, 30, 64, 64, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
2806 - 599, 64, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 64, 599, 599,
2807 - 599, 64, 599, 599, 64, 599, 599, 599, 599, 599, 599, 599, 64, 64, 599,
2808 - 599, 599, 64, 64, 64, 64, 64, 84, 66, 84, 64, 64, 64, 64, 514, 514, 514,
2809 - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 64, 64, 64, 274, 600,
2810 - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 601, 601,
2811 - 601, 601, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
2812 - 602, 602, 602, 602, 602, 601, 64, 64, 64, 64, 64, 274, 274, 274, 274,
2813 - 274, 133, 64, 64, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
2814 - 603, 603, 64, 64, 64, 604, 604, 604, 604, 604, 604, 604, 604, 604, 64,
2815 - 64, 64, 64, 64, 64, 64, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605,
2816 - 605, 605, 605, 605, 605, 64, 606, 606, 606, 606, 64, 64, 64, 64, 607,
2817 - 607, 607, 607, 607, 607, 607, 607, 607, 608, 607, 607, 607, 607, 607,
2818 - 607, 607, 607, 608, 64, 64, 64, 64, 64, 609, 609, 609, 609, 609, 609,
2819 - 609, 609, 609, 609, 609, 609, 609, 609, 64, 610, 611, 611, 611, 611, 611,
2820 - 611, 611, 611, 611, 611, 611, 611, 64, 64, 64, 64, 612, 613, 613, 613,
2821 - 613, 613, 64, 64, 614, 614, 614, 614, 614, 614, 614, 614, 615, 615, 615,
2822 - 615, 615, 615, 615, 615, 616, 616, 616, 616, 616, 616, 616, 616, 617,
2823 - 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 64, 64,
2824 - 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, 64, 64, 64, 64, 64, 64,
2825 - 619, 619, 619, 619, 619, 619, 64, 64, 619, 64, 619, 619, 619, 619, 619,
2826 - 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619,
2827 - 619, 64, 619, 619, 64, 64, 64, 619, 64, 64, 619, 620, 620, 620, 620, 620,
2828 - 620, 620, 620, 620, 620, 620, 620, 620, 620, 64, 621, 622, 622, 622, 622,
2829 - 622, 622, 622, 622, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
2830 - 623, 623, 623, 623, 624, 624, 624, 624, 624, 624, 64, 64, 64, 625, 626,
2831 - 626, 626, 626, 626, 626, 626, 626, 626, 626, 64, 64, 64, 64, 64, 627,
2832 - 628, 628, 628, 628, 628, 628, 628, 628, 629, 629, 629, 629, 629, 629,
2833 - 629, 629, 64, 64, 64, 64, 64, 64, 629, 629, 630, 631, 631, 631, 64, 631,
2834 - 631, 64, 64, 64, 64, 64, 631, 632, 631, 633, 630, 630, 630, 630, 64, 630,
2835 - 630, 630, 64, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
2836 - 630, 630, 630, 630, 630, 630, 630, 64, 64, 64, 64, 633, 634, 632, 64, 64,
2837 - 64, 64, 635, 636, 636, 636, 636, 636, 636, 636, 636, 637, 637, 637, 637,
2838 - 637, 637, 637, 637, 637, 64, 64, 64, 64, 64, 64, 64, 638, 638, 638, 638,
2839 - 638, 638, 638, 638, 638, 638, 638, 638, 638, 639, 639, 640, 641, 641,
2840 - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 64, 64, 64,
2841 - 642, 642, 642, 642, 642, 642, 642, 643, 643, 643, 643, 643, 643, 643,
2842 - 643, 643, 643, 643, 643, 643, 643, 64, 64, 644, 644, 644, 644, 644, 644,
2843 - 644, 644, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 64, 64,
2844 - 64, 64, 64, 646, 646, 646, 646, 646, 646, 646, 646, 647, 647, 647, 647,
2845 - 647, 647, 647, 647, 647, 64, 64, 64, 64, 64, 64, 64, 648, 648, 648, 648,
2846 - 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 64, 649, 650, 649,
2847 - 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 650,
2848 - 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 652,
2849 - 653, 653, 653, 653, 653, 653, 653, 64, 64, 64, 64, 654, 654, 654, 654,
2850 - 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654,
2851 - 654, 654, 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, 656, 656,
2852 - 657, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658,
2853 - 657, 657, 657, 656, 656, 656, 656, 657, 657, 659, 660, 661, 661, 662,
2854 - 661, 661, 661, 661, 64, 64, 64, 64, 64, 64, 663, 663, 663, 663, 663, 663,
2855 - 663, 663, 663, 64, 64, 64, 64, 64, 64, 64, 664, 664, 664, 664, 664, 664,
2856 - 664, 664, 664, 664, 64, 64, 64, 64, 64, 64, 665, 665, 665, 666, 666, 666,
2857 - 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666,
2858 - 666, 666, 666, 667, 667, 667, 667, 667, 668, 667, 667, 667, 667, 667,
2859 - 667, 669, 669, 64, 670, 670, 670, 670, 670, 670, 670, 670, 670, 670, 671,
2860 - 671, 671, 671, 64, 64, 64, 64, 672, 672, 673, 674, 674, 674, 674, 674,
2861 - 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 673, 673, 673,
2862 - 672, 672, 672, 672, 672, 672, 672, 672, 672, 673, 675, 674, 674, 674,
2863 - 674, 676, 676, 676, 676, 64, 64, 64, 64, 64, 64, 64, 677, 677, 677, 677,
2864 - 677, 677, 677, 677, 677, 677, 64, 64, 64, 64, 64, 64, 678, 678, 678, 678,
2865 - 678, 678, 678, 678, 678, 678, 678, 679, 680, 679, 680, 680, 679, 679,
2866 - 679, 679, 679, 679, 681, 682, 683, 683, 683, 683, 683, 683, 683, 683,
2867 - 683, 683, 64, 64, 64, 64, 64, 64, 684, 684, 684, 684, 684, 684, 684, 684,
2868 - 684, 684, 684, 684, 684, 684, 684, 64, 685, 685, 685, 685, 685, 685, 685,
2869 - 685, 685, 685, 685, 64, 64, 64, 64, 64, 686, 686, 686, 686, 64, 64, 64,
2870 - 64, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687,
2871 - 687, 64, 504, 64, 64, 64, 64, 64, 64, 64, 688, 688, 688, 688, 688, 688,
2872 - 688, 688, 688, 688, 688, 688, 688, 64, 64, 64, 688, 689, 689, 689, 689,
2873 - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689,
2874 - 689, 689, 689, 689, 64, 64, 64, 64, 64, 64, 64, 64, 690, 690, 690, 690,
2875 - 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 478,
2876 - 474, 64, 64, 64, 64, 64, 64, 274, 274, 274, 274, 274, 274, 64, 64, 274,
2877 - 274, 274, 274, 274, 274, 274, 64, 64, 274, 274, 274, 274, 274, 274, 274,
2878 - 274, 274, 274, 274, 274, 692, 692, 395, 395, 395, 274, 274, 274, 693,
2879 - 692, 692, 692, 692, 692, 405, 405, 405, 405, 405, 405, 405, 405, 133,
2880 - 133, 133, 133, 133, 133, 133, 133, 274, 274, 78, 78, 78, 78, 78, 133,
2881 - 133, 274, 274, 274, 274, 274, 274, 78, 78, 78, 78, 274, 274, 602, 602,
2882 - 694, 694, 694, 602, 64, 64, 514, 514, 64, 64, 64, 64, 64, 64, 434, 434,
2883 - 434, 434, 434, 434, 434, 434, 434, 434, 34, 34, 34, 34, 34, 34, 34, 34,
2884 - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434, 434, 434,
2885 - 434, 434, 434, 434, 34, 34, 34, 34, 34, 34, 34, 64, 34, 34, 34, 34, 34,
2886 - 34, 434, 64, 434, 434, 64, 64, 434, 64, 64, 434, 434, 64, 64, 434, 434,
2887 - 434, 434, 64, 434, 434, 34, 34, 64, 34, 64, 34, 34, 34, 34, 34, 34, 34,
2888 - 64, 34, 34, 34, 34, 34, 34, 34, 434, 434, 64, 434, 434, 434, 434, 64, 64,
2889 - 434, 434, 434, 434, 434, 434, 434, 434, 64, 434, 434, 434, 434, 434, 434,
2890 - 434, 64, 34, 34, 434, 434, 64, 434, 434, 434, 434, 64, 434, 434, 434,
2891 - 434, 434, 64, 434, 64, 64, 64, 434, 434, 434, 434, 434, 434, 434, 64, 34,
2892 - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 64, 64, 434, 695, 34, 34, 34,
2893 - 34, 34, 34, 34, 34, 34, 437, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434,
2894 - 434, 434, 434, 434, 434, 695, 34, 34, 34, 34, 34, 34, 34, 34, 34, 437,
2895 - 34, 34, 434, 434, 434, 434, 434, 695, 34, 34, 34, 34, 34, 34, 34, 34, 34,
2896 - 437, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434, 434, 434, 434, 434, 434,
2897 - 695, 34, 437, 34, 34, 34, 34, 34, 34, 34, 34, 434, 34, 64, 64, 696, 696,
2898 - 696, 696, 696, 696, 696, 696, 696, 696, 123, 123, 123, 123, 64, 123, 123,
2899 - 123, 64, 123, 123, 64, 123, 64, 64, 123, 64, 123, 123, 123, 123, 123,
2900 - 123, 123, 123, 123, 123, 64, 123, 123, 123, 123, 64, 123, 64, 123, 64,
2901 - 64, 64, 64, 64, 64, 123, 64, 64, 64, 64, 123, 64, 123, 64, 123, 64, 123,
2902 - 123, 123, 64, 123, 64, 123, 64, 123, 64, 123, 64, 123, 123, 123, 123, 64,
2903 - 123, 64, 123, 123, 64, 123, 123, 123, 123, 123, 123, 123, 123, 123, 64,
2904 - 64, 64, 64, 64, 123, 123, 123, 64, 123, 123, 123, 111, 111, 64, 64, 64,
2905 - 64, 64, 64, 33, 33, 33, 64, 64, 64, 64, 64, 445, 445, 445, 445, 445, 445,
2906 - 274, 64, 445, 445, 26, 26, 64, 64, 64, 64, 445, 445, 445, 64, 64, 64, 64,
2907 - 64, 64, 64, 64, 64, 64, 64, 274, 274, 697, 481, 481, 64, 64, 64, 64, 64,
2908 - 481, 481, 481, 64, 64, 64, 64, 64, 481, 64, 64, 64, 64, 64, 64, 64, 481,
2909 - 481, 64, 64, 64, 64, 64, 64, 26, 64, 64, 64, 64, 64, 64, 64, 26, 26, 26,
2910 - 26, 26, 26, 64, 26, 26, 26, 26, 26, 26, 64, 64, 64, 26, 26, 26, 26, 26,
2911 - 64, 26, 26, 26, 64, 26, 26, 26, 26, 26, 26, 64, 26, 26, 26, 26, 64, 64,
2912 - 64, 26, 26, 26, 26, 26, 26, 64, 64, 64, 64, 64, 26, 26, 26, 26, 26, 26,
2913 - 64, 64, 64, 64, 26, 26, 26, 489, 489, 489, 489, 489, 489, 488, 490, 490,
2914 - 490, 490, 490, 490, 490, 64, 64, 64, 405, 64, 64, 64, 64, 64, 64, 405,
2915 - 405, 405, 405, 405, 405, 405, 405, 561, 561, 561, 561, 561, 560, 64, 64,
2916 -);
2917 -
2918 -}
2919 -
2920 -?>
1 +<?php
2 +
3 +/* HarfBuzz ucdn/unicodedata_db.h */
4 +/* HarfBuzz ucdn/ucdn.c */
5 +/* HarfBuzz ucdn/ucdn.h */
6 +
7 +class UCDN
8 +{
9 +
10 + const SCRIPT_COMMON = 0;
11 + const SCRIPT_LATIN = 1;
12 + const SCRIPT_GREEK = 2;
13 + const SCRIPT_CYRILLIC = 3;
14 + const SCRIPT_ARMENIAN = 4;
15 + const SCRIPT_HEBREW = 5;
16 + const SCRIPT_ARABIC = 6;
17 + const SCRIPT_SYRIAC = 7;
18 + const SCRIPT_THAANA = 8;
19 + const SCRIPT_DEVANAGARI = 9;
20 + const SCRIPT_BENGALI = 10;
21 + const SCRIPT_GURMUKHI = 11;
22 + const SCRIPT_GUJARATI = 12;
23 + const SCRIPT_ORIYA = 13;
24 + const SCRIPT_TAMIL = 14;
25 + const SCRIPT_TELUGU = 15;
26 + const SCRIPT_KANNADA = 16;
27 + const SCRIPT_MALAYALAM = 17;
28 + const SCRIPT_SINHALA = 18;
29 + const SCRIPT_THAI = 19;
30 + const SCRIPT_LAO = 20;
31 + const SCRIPT_TIBETAN = 21;
32 + const SCRIPT_MYANMAR = 22;
33 + const SCRIPT_GEORGIAN = 23;
34 + const SCRIPT_HANGUL = 24;
35 + const SCRIPT_ETHIOPIC = 25;
36 + const SCRIPT_CHEROKEE = 26;
37 + const SCRIPT_CANADIAN_ABORIGINAL = 27;
38 + const SCRIPT_OGHAM = 28;
39 + const SCRIPT_RUNIC = 29;
40 + const SCRIPT_KHMER = 30;
41 + const SCRIPT_MONGOLIAN = 31;
42 + const SCRIPT_HIRAGANA = 32;
43 + const SCRIPT_KATAKANA = 33;
44 + const SCRIPT_BOPOMOFO = 34;
45 + const SCRIPT_HAN = 35;
46 + const SCRIPT_YI = 36;
47 + const SCRIPT_OLD_ITALIC = 37;
48 + const SCRIPT_GOTHIC = 38;
49 + const SCRIPT_DESERET = 39;
50 + const SCRIPT_INHERITED = 40;
51 + const SCRIPT_TAGALOG = 41;
52 + const SCRIPT_HANUNOO = 42;
53 + const SCRIPT_BUHID = 43;
54 + const SCRIPT_TAGBANWA = 44;
55 + const SCRIPT_LIMBU = 45;
56 + const SCRIPT_TAI_LE = 46;
57 + const SCRIPT_LINEAR_B = 47;
58 + const SCRIPT_UGARITIC = 48;
59 + const SCRIPT_SHAVIAN = 49;
60 + const SCRIPT_OSMANYA = 50;
61 + const SCRIPT_CYPRIOT = 51;
62 + const SCRIPT_BRAILLE = 52;
63 + const SCRIPT_BUGINESE = 53;
64 + const SCRIPT_COPTIC = 54;
65 + const SCRIPT_NEW_TAI_LUE = 55;
66 + const SCRIPT_GLAGOLITIC = 56;
67 + const SCRIPT_TIFINAGH = 57;
68 + const SCRIPT_SYLOTI_NAGRI = 58;
69 + const SCRIPT_OLD_PERSIAN = 59;
70 + const SCRIPT_KHAROSHTHI = 60;
71 + const SCRIPT_BALINESE = 61;
72 + const SCRIPT_CUNEIFORM = 62;
73 + const SCRIPT_PHOENICIAN = 63;
74 + const SCRIPT_PHAGS_PA = 64;
75 + const SCRIPT_NKO = 65;
76 + const SCRIPT_SUNDANESE = 66;
77 + const SCRIPT_LEPCHA = 67;
78 + const SCRIPT_OL_CHIKI = 68;
79 + const SCRIPT_VAI = 69;
80 + const SCRIPT_SAURASHTRA = 70;
81 + const SCRIPT_KAYAH_LI = 71;
82 + const SCRIPT_REJANG = 72;
83 + const SCRIPT_LYCIAN = 73;
84 + const SCRIPT_CARIAN = 74;
85 + const SCRIPT_LYDIAN = 75;
86 + const SCRIPT_CHAM = 76;
87 + const SCRIPT_TAI_THAM = 77;
88 + const SCRIPT_TAI_VIET = 78;
89 + const SCRIPT_AVESTAN = 79;
90 + const SCRIPT_EGYPTIAN_HIEROGLYPHS = 80;
91 + const SCRIPT_SAMARITAN = 81;
92 + const SCRIPT_LISU = 82;
93 + const SCRIPT_BAMUM = 83;
94 + const SCRIPT_JAVANESE = 84;
95 + const SCRIPT_MEETEI_MAYEK = 85;
96 + const SCRIPT_IMPERIAL_ARAMAIC = 86;
97 + const SCRIPT_OLD_SOUTH_ARABIAN = 87;
98 + const SCRIPT_INSCRIPTIONAL_PARTHIAN = 88;
99 + const SCRIPT_INSCRIPTIONAL_PAHLAVI = 89;
100 + const SCRIPT_OLD_TURKIC = 90;
101 + const SCRIPT_KAITHI = 91;
102 + const SCRIPT_BATAK = 92;
103 + const SCRIPT_BRAHMI = 93;
104 + const SCRIPT_MANDAIC = 94;
105 + const SCRIPT_CHAKMA = 95;
106 + const SCRIPT_MEROITIC_CURSIVE = 96;
107 + const SCRIPT_MEROITIC_HIEROGLYPHS = 97;
108 + const SCRIPT_MIAO = 98;
109 + const SCRIPT_SHARADA = 99;
110 + const SCRIPT_SORA_SOMPENG = 100;
111 + const SCRIPT_TAKRI = 101;
112 + const SCRIPT_UNKNOWN = 102;
113 +
114 + public static function get_ucd_record($code)
115 + {
116 + if ($code >= 0x110000)
117 + $index = 0;
118 + else {
119 + $index = self::$index0[$code >> (8)] << 5;
120 + $offset = ($code >> 3) & ((1 << 5) - 1);
121 + $index = self::$index1[$index + $offset] << 3;
122 + $offset = $code & ((1 << 3) - 1);
123 + $index = self::$index2[$index + $offset];
124 + }
125 + return self::$ucd_records[$index];
126 + }
127 +
128 + public static function get_general_category($code)
129 + {
130 + $ucd_record = self::get_ucd_record($code);
131 + return $ucd_record[0];
132 + }
133 +
134 + public static function get_combining_class($code)
135 + {
136 + $ucd_record = self::get_ucd_record($code);
137 + return $ucd_record[1];
138 + }
139 +
140 + public static function get_bidi_class($code)
141 + {
142 + $ucd_record = self::get_ucd_record($code);
143 + return $ucd_record[2];
144 + }
145 +
146 + public static function get_mirrored($code)
147 + {
148 + $ucd_record = self::get_ucd_record($code);
149 + return $ucd_record[3];
150 + }
151 +
152 + public static function get_east_asian_width($code)
153 + {
154 + $ucd_record = self::get_ucd_record($code);
155 + return $ucd_record[4];
156 + }
157 +
158 + public static function get_normalization_check($code)
159 + {
160 + $ucd_record = self::get_ucd_record($code);
161 + return $ucd_record[5];
162 + }
163 +
164 + public static function get_script($code)
165 + {
166 + $ucd_record = self::get_ucd_record($code);
167 + return $ucd_record[6];
168 + }
169 +
170 + // mPDF added
171 + public static $uni_scriptblock = array(
172 + /* SCRIPT_COMMON */ 0 => '',
173 + /* SCRIPT_LATIN */ 1 => 'latn',
174 + /* SCRIPT_GREEK */ 2 => 'grek',
175 + /* SCRIPT_CYRILLIC */ 3 => 'cyrl',
176 + /* SCRIPT_ARMENIAN */ 4 => 'armn',
177 + /* SCRIPT_HEBREW */ 5 => 'hebr',
178 + /* SCRIPT_ARABIC */ 6 => 'arab',
179 + /* SCRIPT_SYRIAC */ 7 => 'syrc',
180 + /* SCRIPT_THAANA */ 8 => 'thaa',
181 + /* SCRIPT_DEVANAGARI */ 9 => 'dev2',
182 + /* SCRIPT_BENGALI */ 10 => 'bng2',
183 + /* SCRIPT_GURMUKHI */ 11 => 'gur2',
184 + /* SCRIPT_GUJARATI */ 12 => 'gjr2',
185 + /* SCRIPT_ORIYA */ 13 => 'ory2',
186 + /* SCRIPT_TAMIL */ 14 => 'tml2',
187 + /* SCRIPT_TELUGU */ 15 => 'tel2',
188 + /* SCRIPT_KANNADA */ 16 => 'knd2',
189 + /* SCRIPT_MALAYALAM */ 17 => 'mlm2',
190 + /* SCRIPT_SINHALA */ 18 => 'sinh',
191 + /* SCRIPT_THAI */ 19 => 'thai',
192 + /* SCRIPT_LAO */ 20 => 'lao ',
193 + /* SCRIPT_TIBETAN */ 21 => 'tibt',
194 + /* SCRIPT_MYANMAR */ 22 => 'mym2',
195 + /* SCRIPT_GEORGIAN */ 23 => 'geor',
196 + /* SCRIPT_HANGUL */ 24 => 'jamo', /* there is also a hang tag, but we want to activate jamo features if present */
197 + /* SCRIPT_ETHIOPIC */ 25 => 'ethi',
198 + /* SCRIPT_CHEROKEE */ 26 => 'cher',
199 + /* SCRIPT_CANADIAN_ABORIGINAL */ 27 => 'cans',
200 + /* SCRIPT_OGHAM */ 28 => 'ogam',
201 + /* SCRIPT_RUNIC */ 29 => 'runr',
202 + /* SCRIPT_KHMER */ 30 => 'khmr',
203 + /* SCRIPT_MONGOLIAN */ 31 => 'mong',
204 + /* SCRIPT_HIRAGANA */ 32 => 'kana',
205 + /* SCRIPT_KATAKANA */ 33 => 'kana',
206 + /* SCRIPT_BOPOMOFO */ 34 => 'bopo',
207 + /* SCRIPT_HAN */ 35 => 'hani',
208 + /* SCRIPT_YI */ 36 => 'yi ',
209 + /* SCRIPT_OLD_ITALIC */ 37 => 'ital',
210 + /* SCRIPT_GOTHIC */ 38 => 'goth',
211 + /* SCRIPT_DESERET */ 39 => 'dsrt',
212 + /* SCRIPT_INHERITED */ 40 => '',
213 + /* SCRIPT_TAGALOG */ 41 => 'tglg',
214 + /* SCRIPT_HANUNOO */ 42 => 'hano',
215 + /* SCRIPT_BUHID */ 43 => 'buhd',
216 + /* SCRIPT_TAGBANWA */ 44 => 'tagb',
217 + /* SCRIPT_LIMBU */ 45 => 'limb',
218 + /* SCRIPT_TAI_LE */ 46 => 'tale',
219 + /* SCRIPT_LINEAR_B */ 47 => 'linb',
220 + /* SCRIPT_UGARITIC */ 48 => 'ugar',
221 + /* SCRIPT_SHAVIAN */ 49 => 'shaw',
222 + /* SCRIPT_OSMANYA */ 50 => 'osma',
223 + /* SCRIPT_CYPRIOT */ 51 => 'cprt',
224 + /* SCRIPT_BRAILLE */ 52 => 'brai',
225 + /* SCRIPT_BUGINESE */ 53 => 'bugi',
226 + /* SCRIPT_COPTIC */ 54 => 'copt',
227 + /* SCRIPT_NEW_TAI_LUE */ 55 => 'talu',
228 + /* SCRIPT_GLAGOLITIC */ 56 => 'glag',
229 + /* SCRIPT_TIFINAGH */ 57 => 'tfng',
230 + /* SCRIPT_SYLOTI_NAGRI */ 58 => 'sylo',
231 + /* SCRIPT_OLD_PERSIAN */ 59 => 'xpeo',
232 + /* SCRIPT_KHAROSHTHI */ 60 => 'khar',
233 + /* SCRIPT_BALINESE */ 61 => 'bali',
234 + /* SCRIPT_CUNEIFORM */ 62 => 'xsux',
235 + /* SCRIPT_PHOENICIAN */ 63 => 'phnx',
236 + /* SCRIPT_PHAGS_PA */ 64 => 'phag',
237 + /* SCRIPT_NKO */ 65 => 'nko ',
238 + /* SCRIPT_SUNDANESE */ 66 => 'sund',
239 + /* SCRIPT_LEPCHA */ 67 => 'lepc',
240 + /* SCRIPT_OL_CHIKI */ 68 => 'olck',
241 + /* SCRIPT_VAI */ 69 => 'vai ',
242 + /* SCRIPT_SAURASHTRA */ 70 => 'saur',
243 + /* SCRIPT_KAYAH_LI */ 71 => 'kali',
244 + /* SCRIPT_REJANG */ 72 => 'rjng',
245 + /* SCRIPT_LYCIAN */ 73 => 'lyci',
246 + /* SCRIPT_CARIAN */ 74 => 'cari',
247 + /* SCRIPT_LYDIAN */ 75 => 'lydi',
248 + /* SCRIPT_CHAM */ 76 => 'cham',
249 + /* SCRIPT_TAI_THAM */ 77 => 'lana',
250 + /* SCRIPT_TAI_VIET */ 78 => 'tavt',
251 + /* SCRIPT_AVESTAN */ 79 => 'avst',
252 + /* SCRIPT_EGYPTIAN_HIEROGLYPHS */ 80 => 'egyp',
253 + /* SCRIPT_SAMARITAN */ 81 => 'samr',
254 + /* SCRIPT_LISU */ 82 => 'lisu',
255 + /* SCRIPT_BAMUM */ 83 => 'bamu',
256 + /* SCRIPT_JAVANESE */ 84 => 'java',
257 + /* SCRIPT_MEETEI_MAYEK */ 85 => 'mtei',
258 + /* SCRIPT_IMPERIAL_ARAMAIC */ 86 => 'armi',
259 + /* SCRIPT_OLD_SOUTH_ARABIAN */ 87 => 'sarb',
260 + /* SCRIPT_INSCRIPTIONAL_PARTHIAN */ 88 => 'prti',
261 + /* SCRIPT_INSCRIPTIONAL_PAHLAVI */ 89 => 'phli',
262 + /* SCRIPT_OLD_TURKIC */ 90 => 'orkh',
263 + /* SCRIPT_KAITHI */ 91 => 'kthi',
264 + /* SCRIPT_BATAK */ 92 => 'batk',
265 + /* SCRIPT_BRAHMI */ 93 => 'brah',
266 + /* SCRIPT_MANDAIC */ 94 => 'mand',
267 + /* SCRIPT_CHAKMA */ 95 => 'cakm',
268 + /* SCRIPT_MEROITIC_CURSIVE */ 96 => 'merc',
269 + /* SCRIPT_MEROITIC_HIEROGLYPHS */ 97 => 'mero',
270 + /* SCRIPT_MIAO */ 98 => 'plrd',
271 + /* SCRIPT_SHARADA */ 99 => 'shrd',
272 + /* SCRIPT_SORA_SOMPENG */ 100 => 'sora',
273 + /* SCRIPT_TAKRI */ 101 => 'takr',
274 + /* SCRIPT_UNKNOWN */ 102 => '',
275 + );
276 +
277 + public static $ot_languages = array(
278 + 'aa' => 'AFR ', /* Afar */
279 + 'ab' => 'ABK ', /* Abkhazian */
280 + 'abq' => 'ABA ', /* Abaza */
281 + 'ada' => 'DNG ', /* Dangme */
282 + 'ady' => 'ADY ', /* Adyghe */
283 + 'af' => 'AFK ', /* Afrikaans */
284 + 'aii' => 'SWA ', /* Swadaya Aramaic */
285 + 'aiw' => 'ARI ', /* Aari */
286 + 'alt' => 'ALT ', /* [Southern] Altai */
287 + 'am' => 'AMH ', /* Amharic */
288 + 'amf' => 'HBN ', /* Hammer-Banna */
289 + 'ar' => 'ARA ', /* Arabic */
290 + 'arn' => 'MAP ', /* Mapudungun */
291 + 'as' => 'ASM ', /* Assamese */
292 + 'ath' => 'ATH ', /* Athapaskan [family] */
293 + 'atv' => 'ALT ', /* [Northern] Altai */
294 + 'av' => 'AVR ', /* Avaric */
295 + 'awa' => 'AWA ', /* Awadhi */
296 + 'ay' => 'AYM ', /* Aymara */
297 + 'az' => 'AZE ', /* Azerbaijani */
298 + 'ba' => 'BSH ', /* Bashkir */
299 + 'bai' => 'BML ', /* Bamileke [family] */
300 + 'bal' => 'BLI ', /* Baluchi */
301 + 'bci' => 'BAU ', /* Baule */
302 + 'bcq' => 'BCH ', /* Bench */
303 + 'be' => 'BEL ', /* Belarussian */
304 + 'bem' => 'BEM ', /* Bemba (Zambia) */
305 + 'ber' => 'BER ', /* Berber [family] */
306 + 'bfq' => 'BAD ', /* Badaga */
307 + 'bft' => 'BLT ', /* Balti */
308 + 'bfy' => 'BAG ', /* Baghelkhandi */
309 + 'bg' => 'BGR ', /* Bulgarian */
310 + 'bhb' => 'BHI ', /* Bhili */
311 + 'bho' => 'BHO ', /* Bhojpuri */
312 + 'bik' => 'BIK ', /* Bikol */
313 + 'bin' => 'EDO ', /* Bini */
314 + 'bjt' => 'BLN ', /* Balanta-Ganja */
315 + 'bla' => 'BKF ', /* Blackfoot */
316 + 'ble' => 'BLN ', /* Balanta-Kentohe */
317 + 'bm' => 'BMB ', /* Bambara */
318 + 'bn' => 'BEN ', /* Bengali */
319 + 'bo' => 'TIB ', /* Tibetan */
320 + 'br' => 'BRE ', /* Breton */
321 + 'bra' => 'BRI ', /* Braj Bhasha */
322 + 'brh' => 'BRH ', /* Brahui */
323 + 'bs' => 'BOS ', /* Bosnian */
324 + 'btb' => 'BTI ', /* Beti (Cameroon) */
325 + 'bxr' => 'RBU ', /* Russian Buriat */
326 + 'byn' => 'BIL ', /* Bilen */
327 + 'ca' => 'CAT ', /* Catalan */
328 + 'ce' => 'CHE ', /* Chechen */
329 + 'ceb' => 'CEB ', /* Cebuano */
330 + 'chp' => 'CHP ', /* Chipewyan */
331 + 'chr' => 'CHR ', /* Cherokee */
332 + 'ckt' => 'CHK ', /* Chukchi */
333 + 'cop' => 'COP ', /* Coptic */
334 + 'cr' => 'CRE ', /* Cree */
335 + 'crh' => 'CRT ', /* Crimean Tatar */
336 + 'crj' => 'ECR ', /* [Southern] East Cree */
337 + 'crl' => 'ECR ', /* [Northern] East Cree */
338 + 'crm' => 'MCR ', /* Moose Cree */
339 + 'crx' => 'CRR ', /* Carrier */
340 + 'cs' => 'CSY ', /* Czech */
341 + 'cu' => 'CSL ', /* Church Slavic */
342 + 'cv' => 'CHU ', /* Chuvash */
343 + 'cwd' => 'DCR ', /* Woods Cree */
344 + 'cy' => 'WEL ', /* Welsh */
345 + 'da' => 'DAN ', /* Danish */
346 + 'dap' => 'NIS ', /* Nisi (India) */
347 + 'dar' => 'DAR ', /* Dargwa */
348 + 'de' => 'DEU ', /* German */
349 + 'din' => 'DNK ', /* Dinka */
350 + 'dje' => 'DJR ', /* Djerma */
351 + 'dng' => 'DUN ', /* Dungan */
352 + 'doi' => 'DGR ', /* Dogri */
353 + 'dsb' => 'LSB ', /* Lower Sorbian */
354 + 'dv' => 'DIV ', /* Dhivehi */
355 + 'dyu' => 'JUL ', /* Jula */
356 + 'dz' => 'DZN ', /* Dzongkha */
357 + 'ee' => 'EWE ', /* Ewe */
358 + 'efi' => 'EFI ', /* Efik */
359 + 'el' => 'ELL ', /* Modern Greek (1453-) */
360 + 'grc' => 'PGR ', /* Polytonic Greek */
361 + 'en' => 'ENG ', /* English */
362 + 'eo' => 'NTO ', /* Esperanto */
363 + 'eot' => 'BTI ', /* Beti (Côte d'Ivoire) */
364 + 'es' => 'ESP ', /* Spanish */
365 + 'et' => 'ETI ', /* Estonian */
366 + 'eu' => 'EUQ ', /* Basque */
367 + 'eve' => 'EVN ', /* Even */
368 + 'evn' => 'EVK ', /* Evenki */
369 + 'fa' => 'FAR ', /* Persian */
370 + 'ff' => 'FUL ', /* Fulah */
371 + 'fi' => 'FIN ', /* Finnish */
372 + 'fil' => 'PIL ', /* Filipino */
373 + 'fj' => 'FJI ', /* Fijian */
374 + 'fo' => 'FOS ', /* Faroese */
375 + 'fon' => 'FON ', /* Fon */
376 + 'fr' => 'FRA ', /* French */
377 + 'fur' => 'FRL ', /* Friulian */
378 + 'fy' => 'FRI ', /* Western Frisian */
379 + 'ga' => 'IRI ', /* Irish */
380 + 'gaa' => 'GAD ', /* Ga */
381 + 'gag' => 'GAG ', /* Gagauz */
382 + 'gbm' => 'GAW ', /* Garhwali */
383 + 'gd' => 'GAE ', /* Scottish Gaelic */
384 + 'gez' => 'GEZ ', /* Ge'ez */
385 + 'gl' => 'GAL ', /* Galician */
386 + 'gld' => 'NAN ', /* Nanai */
387 + 'gn' => 'GUA ', /* Guarani */
388 + 'gon' => 'GON ', /* Gondi */
389 + 'grt' => 'GRO ', /* Garo */
390 + 'gru' => 'SOG ', /* Sodo Gurage */
391 + 'gu' => 'GUJ ', /* Gujarati */
392 + 'guk' => 'GMZ ', /* Gumuz */
393 + 'gv' => 'MNX ', /* Manx Gaelic */
394 + 'ha' => 'HAU ', /* Hausa */
395 + 'har' => 'HRI ', /* Harari */
396 + 'haw' => 'HAW ', /* Hawaiin */
397 + 'he' => 'IWR ', /* Hebrew */
398 + 'hi' => 'HIN ', /* Hindi */
399 + 'hil' => 'HIL ', /* Hiligaynon */
400 + 'hnd' => 'HND ', /* [Southern] Hindko */
401 + 'hne' => 'CHH ', /* Chattisgarhi */
402 + 'hno' => 'HND ', /* [Northern] Hindko */
403 + 'hoc' => 'HO ', /* Ho */
404 + 'hoj' => 'HAR ', /* Harauti */
405 + 'hr' => 'HRV ', /* Croatian */
406 + 'hsb' => 'USB ', /* Upper Sorbian */
407 + 'ht' => 'HAI ', /* Haitian */
408 + 'hu' => 'HUN ', /* Hungarian */
409 + 'hy' => 'HYE ', /* Armenian */
410 + 'id' => 'IND ', /* Indonesian */
411 + 'ig' => 'IBO ', /* Igbo */
412 + 'igb' => 'EBI ', /* Ebira */
413 + 'ijo' => 'IJO ', /* Ijo [family] */
414 + 'ilo' => 'ILO ', /* Ilokano */
415 + 'inh' => 'ING ', /* Ingush */
416 + 'is' => 'ISL ', /* Icelandic */
417 + 'it' => 'ITA ', /* Italian */
418 + 'iu' => 'INU ', /* Inuktitut */
419 + 'ja' => 'JAN ', /* Japanese */
420 + 'jv' => 'JAV ', /* Javanese */
421 + 'ka' => 'KAT ', /* Georgian */
422 + 'kaa' => 'KRK ', /* Karakalpak */
423 + 'kam' => 'KMB ', /* Kamba (Kenya) */
424 + 'kar' => 'KRN ', /* Karen [family] */
425 + 'kbd' => 'KAB ', /* Kabardian */
426 + 'kdr' => 'KRM ', /* Karaim */
427 + 'kdt' => 'KUY ', /* Kuy */
428 + 'kex' => 'KKN ', /* Kokni */
429 + 'kfr' => 'KAC ', /* Kachchi */
430 + 'kfy' => 'KMN ', /* Kumaoni */
431 + 'kha' => 'KSI ', /* Khasi */
432 + 'khb' => 'XBD ', /* Tai Lue */
433 + 'khw' => 'KHW ', /* Khowar */
434 + 'ki' => 'KIK ', /* Kikuyu */
435 + 'kjh' => 'KHA ', /* Khakass */
436 + 'kk' => 'KAZ ', /* Kazakh */
437 + 'kl' => 'GRN ', /* Kalaallisut */
438 + 'kln' => 'KAL ', /* Kalenjin */
439 + 'km' => 'KHM ', /* Central Khmer */
440 + 'kmb' => 'MBN ', /* [North] Mbundu */
441 + 'kmw' => 'KMO ', /* Komo (Democratic Republic of Congo) */
442 + 'kn' => 'KAN ', /* Kannada */
443 + 'ko' => 'KOR ', /* Korean */
444 + 'koi' => 'KOP ', /* Komi-Permyak */
445 + 'kok' => 'KOK ', /* Konkani */
446 + 'kpe' => 'KPL ', /* Kpelle */
447 + 'kpv' => 'KOZ ', /* Komi-Zyrian */
448 + 'kpy' => 'KYK ', /* Koryak */
449 + 'kqy' => 'KRT ', /* Koorete */
450 + 'kr' => 'KNR ', /* Kanuri */
451 + 'kri' => 'KRI ', /* Krio */
452 + 'krl' => 'KRL ', /* Karelian */
453 + 'kru' => 'KUU ', /* Kurukh */
454 + 'ks' => 'KSH ', /* Kashmiri */
455 + 'ku' => 'KUR ', /* Kurdish */
456 + 'kum' => 'KUM ', /* Kumyk */
457 + 'kvd' => 'KUI ', /* Kui (Indonesia) */
458 + 'kxc' => 'KMS ', /* Komso */
459 + 'kxu' => 'KUI ', /* Kui (India) */
460 + 'ky' => 'KIR ', /* Kirghiz */
461 + 'la' => 'LAT ', /* Latin */
462 + 'lad' => 'JUD ', /* Ladino */
463 + 'lb' => 'LTZ ', /* Luxembourgish */
464 + 'lbe' => 'LAK ', /* Lak */
465 + 'lbj' => 'LDK ', /* Ladakhi */
466 + 'lez' => 'LEZ ', /* Lezgi */
467 + 'lg' => 'LUG ', /* Luganda */
468 + 'lif' => 'LMB ', /* Limbu */
469 + 'lld' => 'LAD ', /* Ladin */
470 + 'lmn' => 'LAM ', /* Lambani */
471 + 'ln' => 'LIN ', /* Lingala */
472 + 'lo' => 'LAO ', /* Lao */
473 + 'lt' => 'LTH ', /* Lithuanian */
474 + 'lu' => 'LUB ', /* Luba-Katanga */
475 + 'lua' => 'LUB ', /* Luba-Kasai */
476 + 'luo' => 'LUO ', /* Luo (Kenya and Tanzania) */
477 + 'lus' => 'MIZ ', /* Mizo */
478 + 'luy' => 'LUH ', /* Luhya [macrolanguage] */
479 + 'lv' => 'LVI ', /* Latvian */
480 + 'lzz' => 'LAZ ', /* Laz */
481 + 'mai' => 'MTH ', /* Maithili */
482 + 'mdc' => 'MLE ', /* Male (Papua New Guinea) */
483 + 'mdf' => 'MOK ', /* Moksha */
484 + 'mdy' => 'MLE ', /* Male (Ethiopia) */
485 + 'men' => 'MDE ', /* Mende (Sierra Leone) */
486 + 'mg' => 'MLG ', /* Malagasy */
487 + 'mhr' => 'LMA ', /* Low Mari */
488 + 'mi' => 'MRI ', /* Maori */
489 + 'mk' => 'MKD ', /* Macedonian */
490 + 'ml' => 'MLR ', /* Malayalam reformed (MAL is Malayalam Traditional) */
491 + 'mn' => 'MNG ', /* Mongolian */
492 + 'mnc' => 'MCH ', /* Manchu */
493 + 'mni' => 'MNI ', /* Manipuri */
494 + 'mnk' => 'MND ', /* Mandinka */
495 + 'mns' => 'MAN ', /* Mansi */
496 + 'mnw' => 'MON ', /* Mon */
497 + 'mo' => 'MOL ', /* Moldavian */
498 + 'moh' => 'MOH ', /* Mohawk */
499 + 'mpe' => 'MAJ ', /* Majang */
500 + 'mr' => 'MAR ', /* Marathi */
501 + 'mrj' => 'HMA ', /* High Mari */
502 + 'ms' => 'MLY ', /* Malay */
503 + 'mt' => 'MTS ', /* Maltese */
504 + 'mwr' => 'MAW ', /* Marwari */
505 + 'my' => 'BRM ', /* Burmese */
506 + 'mym' => 'MEN ', /* Me'en */
507 + 'myv' => 'ERZ ', /* Erzya */
508 + 'nag' => 'NAG ', /* Naga-Assamese */
509 + 'nb' => 'NOR ', /* Norwegian Bokmål */
510 + 'nco' => 'SIB ', /* Sibe */
511 + 'nd' => 'NDB ', /* [North] Ndebele */
512 + 'ne' => 'NEP ', /* Nepali */
513 + 'new' => 'NEW ', /* Newari */
514 + 'ng' => 'NDG ', /* Ndonga */
515 + 'ngl' => 'LMW ', /* Lomwe */
516 + 'niu' => 'NIU ', /* Niuean */
517 + 'niv' => 'GIL ', /* Gilyak */
518 + 'nl' => 'NLD ', /* Dutch */
519 + 'nn' => 'NYN ', /* Norwegian Nynorsk */
520 + 'no' => 'NOR ', /* Norwegian (deprecated) */
521 + 'nod' => 'NTA ', /* Northern Tai */
522 + 'nog' => 'NOG ', /* Nogai */
523 + 'nqo' => 'NKO ', /* N'Ko */
524 + 'nr' => 'NDB ', /* [South] Ndebele */
525 + 'nsk' => 'NAS ', /* Naskapi */
526 + 'nso' => 'SOT ', /* [Northern] Sotho */
527 + 'ny' => 'CHI ', /* Nyanja */
528 + 'nyn' => 'NKL ', /* Nkole */
529 + 'oc' => 'OCI ', /* Occitan (post 1500) */
530 + 'oj' => 'OJB ', /* Ojibwa */
531 + 'ojs' => 'OCR ', /* Oji-Cree */
532 + 'om' => 'ORO ', /* Oromo */
533 + 'or' => 'ORI ', /* Oriya */
534 + 'os' => 'OSS ', /* Ossetian */
535 + 'pa' => 'PAN ', /* Panjabi */
536 + 'pce' => 'PLG ', /* [Ruching] Palaung */
537 + 'pi' => 'PAL ', /* Pali */
538 + 'pl' => 'PLK ', /* Polish */
539 + 'pll' => 'PLG ', /* [Shwe] Palaung */
540 + 'plp' => 'PAP ', /* Palpa */
541 + 'prs' => 'DRI ', /* Dari */
542 + 'ps' => 'PAS ', /* Pushto */
543 + 'pt' => 'PTG ', /* Portuguese */
544 + 'raj' => 'RAJ ', /* Rajasthani */
545 + 'rbb' => 'PLG ', /* [Rumai] Palaung */
546 + 'ria' => 'RIA ', /* Riang (India) */
547 + 'ril' => 'RIA ', /* Riang (Myanmar) */
548 + 'rki' => 'ARK ', /* Arakanese */
549 + 'rm' => 'RMS ', /* Rhaeto-Romanic */
550 + 'ro' => 'ROM ', /* Romanian */
551 + 'rom' => 'ROY ', /* Romany */
552 + 'ru' => 'RUS ', /* Russian */
553 + 'rue' => 'RSY ', /* Rusyn */
554 + 'rw' => 'RUA ', /* Ruanda */
555 + 'sa' => 'SAN ', /* Sanskrit */
556 + 'sah' => 'YAK ', /* Yakut */
557 + 'sat' => 'SAT ', /* Santali */
558 + 'sck' => 'SAD ', /* Sadri */
559 + 'scs' => 'SLA ', /* [North] Slavey */
560 + 'sd' => 'SND ', /* Sindhi */
561 + 'se' => 'NSM ', /* Northern Sami */
562 + 'seh' => 'SNA ', /* Sena */
563 + 'sel' => 'SEL ', /* Selkup */
564 + 'sg' => 'SGO ', /* Sango */
565 + 'shn' => 'SHN ', /* Shan */
566 + 'si' => 'SNH ', /* Sinhala */
567 + 'sid' => 'SID ', /* Sidamo */
568 + 'sjd' => 'KSM ', /* Kildin Sami */
569 + 'sk' => 'SKY ', /* Slovak */
570 + 'skr' => 'SRK ', /* Seraiki */
571 + 'sl' => 'SLV ', /* Slovenian */
572 + 'sm' => 'SMO ', /* Samoan */
573 + 'sma' => 'SSM ', /* Southern Sami */
574 + 'smj' => 'LSM ', /* Lule Sami */
575 + 'smn' => 'ISM ', /* Inari Sami */
576 + 'sms' => 'SKS ', /* Skolt Sami */
577 + 'snk' => 'SNK ', /* Soninke */
578 + 'so' => 'SML ', /* Somali */
579 + 'sq' => 'SQI ', /* Albanian */
580 + 'sr' => 'SRB ', /* Serbian */
581 + 'srr' => 'SRR ', /* Serer */
582 + 'ss' => 'SWZ ', /* Swazi */
583 + 'st' => 'SOT ', /* [Southern] Sotho */
584 + 'suq' => 'SUR ', /* Suri */
585 + 'sv' => 'SVE ', /* Swedish */
586 + 'sva' => 'SVA ', /* Svan */
587 + 'sw' => 'SWK ', /* Swahili */
588 + 'swb' => 'CMR ', /* Comorian */
589 + 'syr' => 'SYR ', /* Syriac */
590 + 'ta' => 'TAM ', /* Tamil */
591 + 'tab' => 'TAB ', /* Tabasaran */
592 + 'tcy' => 'TUL ', /* Tulu */
593 + 'te' => 'TEL ', /* Telugu */
594 + 'tem' => 'TMN ', /* Temne */
595 + 'tg' => 'TAJ ', /* Tajik */
596 + 'th' => 'THA ', /* Thai */
597 + 'ti' => 'TGY ', /* Tigrinya */
598 + 'tig' => 'TGR ', /* Tigre */
599 + 'tk' => 'TKM ', /* Turkmen */
600 + 'tn' => 'TNA ', /* Tswana */
601 + 'to' => 'TGN ', /* Tonga (Tonga Islands) */
602 + 'tr' => 'TRK ', /* Turkish */
603 + 'tru' => 'TUA ', /* Turoyo Aramaic */
604 + 'ts' => 'TSG ', /* Tsonga */
605 + 'tt' => 'TAT ', /* Tatar */
606 + 'tw' => 'TWI ', /* Twi */
607 + 'ty' => 'THT ', /* Tahitian */
608 + 'tyv' => 'TUV ', /* Tuvin */
609 + 'udm' => 'UDM ', /* Udmurt */
610 + 'ug' => 'UYG ', /* Uighur */
611 + 'uk' => 'UKR ', /* Ukrainian */
612 + 'umb' => 'MBN ', /* [South] Mbundu */
613 + 'unr' => 'MUN ', /* Mundari */
614 + 'ur' => 'URD ', /* Urdu */
615 + 'uz' => 'UZB ', /* Uzbek */
616 + 've' => 'VEN ', /* Venda */
617 + 'vi' => 'VIT ', /* Vietnamese */
618 + 'vmw' => 'MAK ', /* Makua */
619 + 'wbm' => 'WA ', /* Wa */
620 + 'wbr' => 'WAG ', /* Wagdi */
621 + 'wo' => 'WLF ', /* Wolof */
622 + 'xal' => 'KLM ', /* Kalmyk */
623 + 'xh' => 'XHS ', /* Xhosa */
624 + 'xom' => 'KMO ', /* Komo (Sudan) */
625 + 'xsl' => 'SSL ', /* South Slavey */
626 + 'yi' => 'JII ', /* Yiddish */
627 + 'yid' => 'JII ', /* Yiddish */
628 + 'yo' => 'YBA ', /* Yoruba */
629 + 'yso' => 'NIS ', /* Nisi (China) */
630 + 'zne' => 'ZND ', /* Zande */
631 + 'zu' => 'ZUL ', /* Zulu */
632 + 'zh-cn' => 'ZHS ', /* Chinese (China) */
633 + 'zh-hk' => 'ZHH ', /* Chinese (Hong Kong) */
634 + 'zh-mo' => 'ZHT ', /* Chinese (Macao) */
635 + 'zh-sg' => 'ZHS ', /* Chinese (Singapore) */
636 + 'zh-tw' => 'ZHT ', /* Chinese (Taiwan) */
637 + );
638 +
639 + // hb-unicode.h
640 + const UNICODE_GENERAL_CATEGORY_CONTROL = 0; /* Cc */
641 + const UNICODE_GENERAL_CATEGORY_FORMAT = 1; /* Cf */
642 + const UNICODE_GENERAL_CATEGORY_UNASSIGNED = 2; /* Cn */
643 + const UNICODE_GENERAL_CATEGORY_PRIVATE_USE = 3; /* Co */
644 + const UNICODE_GENERAL_CATEGORY_SURROGATE = 4; /* Cs */
645 + const UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER = 5; /* Ll */
646 + const UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER = 6; /* Lm */
647 + const UNICODE_GENERAL_CATEGORY_OTHER_LETTER = 7; /* Lo */
648 + const UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER = 8; /* Lt */
649 + const UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER = 9; /* Lu */
650 + const UNICODE_GENERAL_CATEGORY_SPACING_MARK = 10; /* Mc */
651 + const UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK = 11; /* Me */
652 + const UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK = 12; /* Mn */
653 + const UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER = 13; /* Nd */
654 + const UNICODE_GENERAL_CATEGORY_LETTER_NUMBER = 14; /* Nl */
655 + const UNICODE_GENERAL_CATEGORY_OTHER_NUMBER = 15; /* No */
656 + const UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION = 16; /* Pc */
657 + const UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION = 17; /* Pd */
658 + const UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION = 18; /* Pe */
659 + const UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION = 19; /* Pf */
660 + const UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION = 20; /* Pi */
661 + const UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION = 21; /* Po */
662 + const UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION = 22; /* Ps */
663 + const UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL = 23; /* Sc */
664 + const UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL = 24; /* Sk */
665 + const UNICODE_GENERAL_CATEGORY_MATH_SYMBOL = 25; /* Sm */
666 + const UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL = 26; /* So */
667 + const UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR = 27; /* Zl */
668 + const UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR = 28; /* Zp */
669 + const UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR = 29; /* Zs */
670 +
671 + function general_category_is_mark($gen_cat)
672 + {
673 + if ($gen_cat == UNICODE_GENERAL_CATEGORY_SPACING_MARK || $gen_cat == UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK ||
674 + $gen_cat == UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) {
675 + return true;
676 + }
677 + return false;
678 + // define UNICODE_GENERAL_CATEGORY_IS_MARK(gen_cat)
679 + //if (FLAG(gen_cat) & (FLAG(UNICODE_GENERAL_CATEGORY_SPACING_MARK) | FLAG(UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | FLAG(UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))) { return true; }
680 + }
681 +
682 + const BIDI_CLASS_L = 0;
683 + const BIDI_CLASS_LRE = 1;
684 + const BIDI_CLASS_LRO = 2;
685 + const BIDI_CLASS_R = 3;
686 + const BIDI_CLASS_AL = 4;
687 + const BIDI_CLASS_RLE = 5;
688 + const BIDI_CLASS_RLO = 6;
689 + const BIDI_CLASS_PDF = 7;
690 + const BIDI_CLASS_EN = 8;
691 + const BIDI_CLASS_ES = 9;
692 + const BIDI_CLASS_ET = 10;
693 + const BIDI_CLASS_AN = 11;
694 + const BIDI_CLASS_CS = 12;
695 + const BIDI_CLASS_NSM = 13;
696 + const BIDI_CLASS_BN = 14;
697 + const BIDI_CLASS_B = 15;
698 + const BIDI_CLASS_S = 16;
699 + const BIDI_CLASS_WS = 17;
700 + const BIDI_CLASS_ON = 18;
701 +
702 + // UNIDATA_VERSION 6.2.0
703 + /* a list of unique database records */
704 + /* struct {
705 + category;
706 + combining;
707 + bidi_class;
708 + mirrored;
709 + east_asian_width;
710 + normalization_check;
711 + script;
712 + }
713 + */
714 + private static $ucd_records = array(
715 + array(2, 0, 18, 0, 5, 0, 102),
716 + array(0, 0, 14, 0, 5, 0, 0),
717 + array(0, 0, 16, 0, 5, 0, 0),
718 + array(0, 0, 15, 0, 5, 0, 0),
719 + array(0, 0, 17, 0, 5, 0, 0),
720 + array(29, 0, 17, 0, 3, 0, 0),
721 + array(21, 0, 18, 0, 3, 0, 0),
722 + array(21, 0, 10, 0, 3, 0, 0),
723 + array(23, 0, 10, 0, 3, 0, 0),
724 + array(22, 0, 18, 1, 3, 0, 0),
725 + array(18, 0, 18, 1, 3, 0, 0),
726 + array(25, 0, 9, 0, 3, 0, 0),
727 + array(21, 0, 12, 0, 3, 0, 0),
728 + array(17, 0, 9, 0, 3, 0, 0),
729 + array(13, 0, 8, 0, 3, 0, 0),
730 + array(25, 0, 18, 1, 3, 0, 0),
731 + array(25, 0, 18, 0, 3, 0, 0),
732 + array(9, 0, 0, 0, 3, 0, 1),
733 + array(24, 0, 18, 0, 3, 0, 0),
734 + array(16, 0, 18, 0, 3, 0, 0),
735 + array(5, 0, 0, 0, 3, 0, 1),
736 + array(29, 0, 12, 0, 5, 0, 0),
737 + array(21, 0, 18, 0, 4, 0, 0),
738 + array(23, 0, 10, 0, 4, 0, 0),
739 + array(26, 0, 18, 0, 3, 0, 0),
740 + array(24, 0, 18, 0, 4, 0, 0),
741 + array(26, 0, 18, 0, 5, 0, 0),
742 + array(7, 0, 0, 0, 4, 0, 1),
743 + array(20, 0, 18, 1, 5, 0, 0),
744 + array(1, 0, 14, 0, 4, 0, 0),
745 + array(26, 0, 18, 0, 4, 0, 0),
746 + array(26, 0, 10, 0, 4, 0, 0),
747 + array(25, 0, 10, 0, 4, 0, 0),
748 + array(15, 0, 8, 0, 4, 0, 0),
749 + array(5, 0, 0, 0, 5, 0, 0),
750 + array(19, 0, 18, 1, 5, 0, 0),
751 + array(15, 0, 18, 0, 4, 0, 0),
752 + array(9, 0, 0, 0, 5, 0, 1),
753 + array(9, 0, 0, 0, 4, 0, 1),
754 + array(25, 0, 18, 0, 4, 0, 0),
755 + array(5, 0, 0, 0, 4, 0, 1),
756 + array(5, 0, 0, 0, 5, 0, 1),
757 + array(7, 0, 0, 0, 5, 0, 1),
758 + array(8, 0, 0, 0, 5, 0, 1),
759 + array(6, 0, 0, 0, 5, 0, 1),
760 + array(6, 0, 18, 0, 5, 0, 0),
761 + array(6, 0, 0, 0, 5, 0, 0),
762 + array(24, 0, 18, 0, 5, 0, 0),
763 + array(6, 0, 18, 0, 4, 0, 0),
764 + array(6, 0, 0, 0, 4, 0, 0),
765 + array(24, 0, 18, 0, 5, 0, 34),
766 + array(12, 230, 13, 0, 4, 0, 40),
767 + array(12, 232, 13, 0, 4, 0, 40),
768 + array(12, 220, 13, 0, 4, 0, 40),
769 + array(12, 216, 13, 0, 4, 0, 40),
770 + array(12, 202, 13, 0, 4, 0, 40),
771 + array(12, 1, 13, 0, 4, 0, 40),
772 + array(12, 240, 13, 0, 4, 0, 40),
773 + array(12, 0, 13, 0, 4, 0, 40),
774 + array(12, 233, 13, 0, 4, 0, 40),
775 + array(12, 234, 13, 0, 4, 0, 40),
776 + array(9, 0, 0, 0, 5, 0, 2),
777 + array(5, 0, 0, 0, 5, 0, 2),
778 + array(24, 0, 18, 0, 5, 0, 2),
779 + array(2, 0, 18, 0, 5, 0, 102),
780 + array(6, 0, 0, 0, 5, 0, 2),
781 + array(21, 0, 18, 0, 5, 0, 0),
782 + array(9, 0, 0, 0, 4, 0, 2),
783 + array(5, 0, 0, 0, 4, 0, 2),
784 + array(9, 0, 0, 0, 5, 0, 54),
785 + array(5, 0, 0, 0, 5, 0, 54),
786 + array(25, 0, 18, 0, 5, 0, 2),
787 + array(9, 0, 0, 0, 5, 0, 3),
788 + array(9, 0, 0, 0, 4, 0, 3),
789 + array(5, 0, 0, 0, 4, 0, 3),
790 + array(5, 0, 0, 0, 5, 0, 3),
791 + array(26, 0, 0, 0, 5, 0, 3),
792 + array(12, 230, 13, 0, 5, 0, 3),
793 + array(12, 230, 13, 0, 5, 0, 40),
794 + array(11, 0, 13, 0, 5, 0, 3),
795 + array(9, 0, 0, 0, 5, 0, 4),
796 + array(6, 0, 0, 0, 5, 0, 4),
797 + array(21, 0, 0, 0, 5, 0, 4),
798 + array(5, 0, 0, 0, 5, 0, 4),
799 + array(21, 0, 0, 0, 5, 0, 0),
800 + array(17, 0, 18, 0, 5, 0, 4),
801 + array(23, 0, 10, 0, 5, 0, 4),
802 + array(12, 220, 13, 0, 5, 0, 5),
803 + array(12, 230, 13, 0, 5, 0, 5),
804 + array(12, 222, 13, 0, 5, 0, 5),
805 + array(12, 228, 13, 0, 5, 0, 5),
806 + array(12, 10, 13, 0, 5, 0, 5),
807 + array(12, 11, 13, 0, 5, 0, 5),
808 + array(12, 12, 13, 0, 5, 0, 5),
809 + array(12, 13, 13, 0, 5, 0, 5),
810 + array(12, 14, 13, 0, 5, 0, 5),
811 + array(12, 15, 13, 0, 5, 0, 5),
812 + array(12, 16, 13, 0, 5, 0, 5),
813 + array(12, 17, 13, 0, 5, 0, 5),
814 + array(12, 18, 13, 0, 5, 0, 5),
815 + array(12, 19, 13, 0, 5, 0, 5),
816 + array(12, 20, 13, 0, 5, 0, 5),
817 + array(12, 21, 13, 0, 5, 0, 5),
818 + array(12, 22, 13, 0, 5, 0, 5),
819 + array(17, 0, 3, 0, 5, 0, 5),
820 + array(12, 23, 13, 0, 5, 0, 5),
821 + array(21, 0, 3, 0, 5, 0, 5),
822 + array(12, 24, 13, 0, 5, 0, 5),
823 + array(12, 25, 13, 0, 5, 0, 5),
824 + array(7, 0, 3, 0, 5, 0, 5),
825 + array(1, 0, 11, 0, 5, 0, 6),
826 + array(25, 0, 18, 0, 5, 0, 6),
827 + array(25, 0, 4, 0, 5, 0, 6),
828 + array(21, 0, 10, 0, 5, 0, 6),
829 + array(23, 0, 4, 0, 5, 0, 6),
830 + array(21, 0, 12, 0, 5, 0, 0),
831 + array(21, 0, 4, 0, 5, 0, 6),
832 + array(26, 0, 18, 0, 5, 0, 6),
833 + array(12, 230, 13, 0, 5, 0, 6),
834 + array(12, 30, 13, 0, 5, 0, 6),
835 + array(12, 31, 13, 0, 5, 0, 6),
836 + array(12, 32, 13, 0, 5, 0, 6),
837 + array(21, 0, 4, 0, 5, 0, 0),
838 + array(7, 0, 4, 0, 5, 0, 6),
839 + array(6, 0, 4, 0, 5, 0, 0),
840 + array(12, 27, 13, 0, 5, 0, 40),
841 + array(12, 28, 13, 0, 5, 0, 40),
842 + array(12, 29, 13, 0, 5, 0, 40),
843 + array(12, 30, 13, 0, 5, 0, 40),
844 + array(12, 31, 13, 0, 5, 0, 40),
845 + array(12, 32, 13, 0, 5, 0, 40),
846 + array(12, 33, 13, 0, 5, 0, 40),
847 + array(12, 34, 13, 0, 5, 0, 40),
848 + array(12, 220, 13, 0, 5, 0, 40),
849 + array(12, 220, 13, 0, 5, 0, 6),
850 + array(13, 0, 11, 0, 5, 0, 0),
851 + array(21, 0, 11, 0, 5, 0, 6),
852 + array(12, 35, 13, 0, 5, 0, 40),
853 + array(1, 0, 11, 0, 5, 0, 0),
854 + array(6, 0, 4, 0, 5, 0, 6),
855 + array(13, 0, 8, 0, 5, 0, 6),
856 + array(26, 0, 4, 0, 5, 0, 6),
857 + array(21, 0, 4, 0, 5, 0, 7),
858 + array(1, 0, 4, 0, 5, 0, 7),
859 + array(7, 0, 4, 0, 5, 0, 7),
860 + array(12, 36, 13, 0, 5, 0, 7),
861 + array(12, 230, 13, 0, 5, 0, 7),
862 + array(12, 220, 13, 0, 5, 0, 7),
863 + array(7, 0, 4, 0, 5, 0, 8),
864 + array(12, 0, 13, 0, 5, 0, 8),
865 + array(13, 0, 3, 0, 5, 0, 65),
866 + array(7, 0, 3, 0, 5, 0, 65),
867 + array(12, 230, 13, 0, 5, 0, 65),
868 + array(12, 220, 13, 0, 5, 0, 65),
869 + array(6, 0, 3, 0, 5, 0, 65),
870 + array(26, 0, 18, 0, 5, 0, 65),
871 + array(21, 0, 18, 0, 5, 0, 65),
872 + array(7, 0, 3, 0, 5, 0, 81),
873 + array(12, 230, 13, 0, 5, 0, 81),
874 + array(6, 0, 3, 0, 5, 0, 81),
875 + array(21, 0, 3, 0, 5, 0, 81),
876 + array(7, 0, 3, 0, 5, 0, 94),
877 + array(12, 220, 13, 0, 5, 0, 94),
878 + array(21, 0, 3, 0, 5, 0, 94),
879 + array(12, 27, 13, 0, 5, 0, 6),
880 + array(12, 28, 13, 0, 5, 0, 6),
881 + array(12, 29, 13, 0, 5, 0, 6),
882 + array(12, 0, 13, 0, 5, 0, 9),
883 + array(10, 0, 0, 0, 5, 0, 9),
884 + array(7, 0, 0, 0, 5, 0, 9),
885 + array(12, 7, 13, 0, 5, 0, 9),
886 + array(12, 9, 13, 0, 5, 0, 9),
887 + array(12, 230, 13, 0, 5, 0, 9),
888 + array(13, 0, 0, 0, 5, 0, 9),
889 + array(21, 0, 0, 0, 5, 0, 9),
890 + array(6, 0, 0, 0, 5, 0, 9),
891 + array(12, 0, 13, 0, 5, 0, 10),
892 + array(10, 0, 0, 0, 5, 0, 10),
893 + array(7, 0, 0, 0, 5, 0, 10),
894 + array(12, 7, 13, 0, 5, 0, 10),
895 + array(12, 9, 13, 0, 5, 0, 10),
896 + array(13, 0, 0, 0, 5, 0, 10),
897 + array(23, 0, 10, 0, 5, 0, 10),
898 + array(15, 0, 0, 0, 5, 0, 10),
899 + array(26, 0, 0, 0, 5, 0, 10),
900 + array(12, 0, 13, 0, 5, 0, 11),
901 + array(10, 0, 0, 0, 5, 0, 11),
902 + array(7, 0, 0, 0, 5, 0, 11),
903 + array(12, 7, 13, 0, 5, 0, 11),
904 + array(12, 9, 13, 0, 5, 0, 11),
905 + array(13, 0, 0, 0, 5, 0, 11),
906 + array(12, 0, 13, 0, 5, 0, 12),
907 + array(10, 0, 0, 0, 5, 0, 12),
908 + array(7, 0, 0, 0, 5, 0, 12),
909 + array(12, 7, 13, 0, 5, 0, 12),
910 + array(12, 9, 13, 0, 5, 0, 12),
911 + array(13, 0, 0, 0, 5, 0, 12),
912 + array(21, 0, 0, 0, 5, 0, 12),
913 + array(23, 0, 10, 0, 5, 0, 12),
914 + array(12, 0, 13, 0, 5, 0, 13),
915 + array(10, 0, 0, 0, 5, 0, 13),
916 + array(7, 0, 0, 0, 5, 0, 13),
917 + array(12, 7, 13, 0, 5, 0, 13),
918 + array(12, 9, 13, 0, 5, 0, 13),
919 + array(13, 0, 0, 0, 5, 0, 13),
920 + array(26, 0, 0, 0, 5, 0, 13),
921 + array(15, 0, 0, 0, 5, 0, 13),
922 + array(12, 0, 13, 0, 5, 0, 14),
923 + array(7, 0, 0, 0, 5, 0, 14),
924 + array(10, 0, 0, 0, 5, 0, 14),
925 + array(12, 9, 13, 0, 5, 0, 14),
926 + array(13, 0, 0, 0, 5, 0, 14),
927 + array(15, 0, 0, 0, 5, 0, 14),
928 + array(26, 0, 18, 0, 5, 0, 14),
929 + array(23, 0, 10, 0, 5, 0, 14),
930 + array(10, 0, 0, 0, 5, 0, 15),
931 + array(7, 0, 0, 0, 5, 0, 15),
932 + array(12, 0, 13, 0, 5, 0, 15),
933 + array(12, 9, 13, 0, 5, 0, 15),
934 + array(12, 84, 13, 0, 5, 0, 15),
935 + array(12, 91, 13, 0, 5, 0, 15),
936 + array(13, 0, 0, 0, 5, 0, 15),
937 + array(15, 0, 18, 0, 5, 0, 15),
938 + array(26, 0, 0, 0, 5, 0, 15),
939 + array(10, 0, 0, 0, 5, 0, 16),
940 + array(7, 0, 0, 0, 5, 0, 16),
941 + array(12, 7, 13, 0, 5, 0, 16),
942 + array(12, 0, 0, 0, 5, 0, 16),
943 + array(12, 0, 13, 0, 5, 0, 16),
944 + array(12, 9, 13, 0, 5, 0, 16),
945 + array(13, 0, 0, 0, 5, 0, 16),
946 + array(10, 0, 0, 0, 5, 0, 17),
947 + array(7, 0, 0, 0, 5, 0, 17),
948 + array(12, 0, 13, 0, 5, 0, 17),
949 + array(12, 9, 13, 0, 5, 0, 17),
950 + array(13, 0, 0, 0, 5, 0, 17),
951 + array(15, 0, 0, 0, 5, 0, 17),
952 + array(26, 0, 0, 0, 5, 0, 17),
953 + array(10, 0, 0, 0, 5, 0, 18),
954 + array(7, 0, 0, 0, 5, 0, 18),
955 + array(12, 9, 13, 0, 5, 0, 18),
956 + array(12, 0, 13, 0, 5, 0, 18),
957 + array(21, 0, 0, 0, 5, 0, 18),
958 + array(7, 0, 0, 0, 5, 0, 19),
959 + array(12, 0, 13, 0, 5, 0, 19),
960 + array(12, 103, 13, 0, 5, 0, 19),
961 + array(12, 9, 13, 0, 5, 0, 19),
962 + array(23, 0, 10, 0, 5, 0, 0),
963 + array(6, 0, 0, 0, 5, 0, 19),
964 + array(12, 107, 13, 0, 5, 0, 19),
965 + array(21, 0, 0, 0, 5, 0, 19),
966 + array(13, 0, 0, 0, 5, 0, 19),
967 + array(7, 0, 0, 0, 5, 0, 20),
968 + array(12, 0, 13, 0, 5, 0, 20),
969 + array(12, 118, 13, 0, 5, 0, 20),
970 + array(6, 0, 0, 0, 5, 0, 20),
971 + array(12, 122, 13, 0, 5, 0, 20),
972 + array(13, 0, 0, 0, 5, 0, 20),
973 + array(7, 0, 0, 0, 5, 0, 21),
974 + array(26, 0, 0, 0, 5, 0, 21),
975 + array(21, 0, 0, 0, 5, 0, 21),
976 + array(12, 220, 13, 0, 5, 0, 21),
977 + array(13, 0, 0, 0, 5, 0, 21),
978 + array(15, 0, 0, 0, 5, 0, 21),
979 + array(12, 216, 13, 0, 5, 0, 21),
980 + array(22, 0, 18, 1, 5, 0, 21),
981 + array(18, 0, 18, 1, 5, 0, 21),
982 + array(10, 0, 0, 0, 5, 0, 21),
983 + array(12, 129, 13, 0, 5, 0, 21),
984 + array(12, 130, 13, 0, 5, 0, 21),
985 + array(12, 0, 13, 0, 5, 0, 21),
986 + array(12, 132, 13, 0, 5, 0, 21),
987 + array(12, 230, 13, 0, 5, 0, 21),
988 + array(12, 9, 13, 0, 5, 0, 21),
989 + array(26, 0, 0, 0, 5, 0, 0),
990 + array(7, 0, 0, 0, 5, 0, 22),
991 + array(10, 0, 0, 0, 5, 0, 22),
992 + array(12, 0, 13, 0, 5, 0, 22),
993 + array(12, 7, 13, 0, 5, 0, 22),
994 + array(12, 9, 13, 0, 5, 0, 22),
995 + array(13, 0, 0, 0, 5, 0, 22),
996 + array(21, 0, 0, 0, 5, 0, 22),
997 + array(12, 220, 13, 0, 5, 0, 22),
998 + array(26, 0, 0, 0, 5, 0, 22),
999 + array(9, 0, 0, 0, 5, 0, 23),
1000 + array(7, 0, 0, 0, 5, 0, 23),
1001 + array(6, 0, 0, 0, 5, 0, 23),
1002 + array(7, 0, 0, 0, 2, 0, 24),
1003 + array(7, 0, 0, 0, 5, 0, 24),
1004 + array(7, 0, 0, 0, 5, 0, 25),
1005 + array(12, 230, 13, 0, 5, 0, 25),
1006 + array(21, 0, 0, 0, 5, 0, 25),
1007 + array(15, 0, 0, 0, 5, 0, 25),
1008 + array(26, 0, 18, 0, 5, 0, 25),
1009 + array(7, 0, 0, 0, 5, 0, 26),
1010 + array(17, 0, 18, 0, 5, 0, 27),
1011 + array(7, 0, 0, 0, 5, 0, 27),
1012 + array(21, 0, 0, 0, 5, 0, 27),
1013 + array(29, 0, 17, 0, 5, 0, 28),
1014 + array(7, 0, 0, 0, 5, 0, 28),
1015 + array(22, 0, 18, 1, 5, 0, 28),
1016 + array(18, 0, 18, 1, 5, 0, 28),
1017 + array(7, 0, 0, 0, 5, 0, 29),
1018 + array(14, 0, 0, 0, 5, 0, 29),
1019 + array(7, 0, 0, 0, 5, 0, 41),
1020 + array(12, 0, 13, 0, 5, 0, 41),
1021 + array(12, 9, 13, 0, 5, 0, 41),
1022 + array(7, 0, 0, 0, 5, 0, 42),
1023 + array(12, 0, 13, 0, 5, 0, 42),
1024 + array(12, 9, 13, 0, 5, 0, 42),
1025 + array(7, 0, 0, 0, 5, 0, 43),
1026 + array(12, 0, 13, 0, 5, 0, 43),
1027 + array(7, 0, 0, 0, 5, 0, 44),
1028 + array(12, 0, 13, 0, 5, 0, 44),
1029 + array(7, 0, 0, 0, 5, 0, 30),
1030 + array(12, 0, 13, 0, 5, 0, 30),
1031 + array(10, 0, 0, 0, 5, 0, 30),
1032 + array(12, 9, 13, 0, 5, 0, 30),
1033 + array(21, 0, 0, 0, 5, 0, 30),
1034 + array(6, 0, 0, 0, 5, 0, 30),
1035 + array(23, 0, 10, 0, 5, 0, 30),
1036 + array(12, 230, 13, 0, 5, 0, 30),
1037 + array(13, 0, 0, 0, 5, 0, 30),
1038 + array(15, 0, 18, 0, 5, 0, 30),
1039 + array(21, 0, 18, 0, 5, 0, 31),
1040 + array(17, 0, 18, 0, 5, 0, 31),
1041 + array(12, 0, 13, 0, 5, 0, 31),
1042 + array(29, 0, 17, 0, 5, 0, 31),
1043 + array(13, 0, 0, 0, 5, 0, 31),
1044 + array(7, 0, 0, 0, 5, 0, 31),
1045 + array(6, 0, 0, 0, 5, 0, 31),
1046 + array(12, 228, 13, 0, 5, 0, 31),
1047 + array(7, 0, 0, 0, 5, 0, 45),
1048 + array(12, 0, 13, 0, 5, 0, 45),
1049 + array(10, 0, 0, 0, 5, 0, 45),
1050 + array(12, 222, 13, 0, 5, 0, 45),
1051 + array(12, 230, 13, 0, 5, 0, 45),
1052 + array(12, 220, 13, 0, 5, 0, 45),
1053 + array(26, 0, 18, 0, 5, 0, 45),
1054 + array(21, 0, 18, 0, 5, 0, 45),
1055 + array(13, 0, 0, 0, 5, 0, 45),
1056 + array(7, 0, 0, 0, 5, 0, 46),
1057 + array(7, 0, 0, 0, 5, 0, 55),
1058 + array(10, 0, 0, 0, 5, 0, 55),
1059 + array(13, 0, 0, 0, 5, 0, 55),
1060 + array(15, 0, 0, 0, 5, 0, 55),
1061 + array(26, 0, 18, 0, 5, 0, 55),
1062 + array(26, 0, 18, 0, 5, 0, 30),
1063 + array(7, 0, 0, 0, 5, 0, 53),
1064 + array(12, 230, 13, 0, 5, 0, 53),
1065 + array(12, 220, 13, 0, 5, 0, 53),
1066 + array(10, 0, 0, 0, 5, 0, 53),
1067 + array(21, 0, 0, 0, 5, 0, 53),
1068 + array(7, 0, 0, 0, 5, 0, 77),
1069 + array(10, 0, 0, 0, 5, 0, 77),
1070 + array(12, 0, 13, 0, 5, 0, 77),
1071 + array(12, 9, 13, 0, 5, 0, 77),
1072 + array(12, 230, 13, 0, 5, 0, 77),
1073 + array(12, 220, 13, 0, 5, 0, 77),
1074 + array(13, 0, 0, 0, 5, 0, 77),
1075 + array(21, 0, 0, 0, 5, 0, 77),
1076 + array(6, 0, 0, 0, 5, 0, 77),
1077 + array(12, 0, 13, 0, 5, 0, 61),
1078 + array(10, 0, 0, 0, 5, 0, 61),
1079 + array(7, 0, 0, 0, 5, 0, 61),
1080 + array(12, 7, 13, 0, 5, 0, 61),
1081 + array(10, 9, 0, 0, 5, 0, 61),
1082 + array(13, 0, 0, 0, 5, 0, 61),
1083 + array(21, 0, 0, 0, 5, 0, 61),
1084 + array(26, 0, 0, 0, 5, 0, 61),
1085 + array(12, 230, 13, 0, 5, 0, 61),
1086 + array(12, 220, 13, 0, 5, 0, 61),
1087 + array(12, 0, 13, 0, 5, 0, 66),
1088 + array(10, 0, 0, 0, 5, 0, 66),
1089 + array(7, 0, 0, 0, 5, 0, 66),
1090 + array(10, 9, 0, 0, 5, 0, 66),
1091 + array(12, 9, 13, 0, 5, 0, 66),
1092 + array(13, 0, 0, 0, 5, 0, 66),
1093 + array(7, 0, 0, 0, 5, 0, 92),
1094 + array(12, 7, 13, 0, 5, 0, 92),
1095 + array(10, 0, 0, 0, 5, 0, 92),
1096 + array(12, 0, 13, 0, 5, 0, 92),
1097 + array(10, 9, 0, 0, 5, 0, 92),
1098 + array(21, 0, 0, 0, 5, 0, 92),
1099 + array(7, 0, 0, 0, 5, 0, 67),
1100 + array(10, 0, 0, 0, 5, 0, 67),
1101 + array(12, 0, 13, 0, 5, 0, 67),
1102 + array(12, 7, 13, 0, 5, 0, 67),
1103 + array(21, 0, 0, 0, 5, 0, 67),
1104 + array(13, 0, 0, 0, 5, 0, 67),
1105 + array(13, 0, 0, 0, 5, 0, 68),
1106 + array(7, 0, 0, 0, 5, 0, 68),
1107 + array(6, 0, 0, 0, 5, 0, 68),
1108 + array(21, 0, 0, 0, 5, 0, 68),
1109 + array(21, 0, 0, 0, 5, 0, 66),
1110 + array(12, 1, 13, 0, 5, 0, 40),
1111 + array(10, 0, 0, 0, 5, 0, 0),
1112 + array(7, 0, 0, 0, 5, 0, 0),
1113 + array(6, 0, 0, 0, 5, 0, 3),
1114 + array(12, 234, 13, 0, 5, 0, 40),
1115 + array(12, 214, 13, 0, 5, 0, 40),
1116 + array(12, 202, 13, 0, 5, 0, 40),
1117 + array(12, 233, 13, 0, 5, 0, 40),
1118 + array(8, 0, 0, 0, 5, 0, 2),
1119 + array(29, 0, 17, 0, 5, 0, 0),
1120 + array(1, 0, 14, 0, 5, 0, 0),
1121 + array(1, 0, 14, 0, 5, 0, 40),
1122 + array(1, 0, 0, 0, 5, 0, 0),
1123 + array(1, 0, 3, 0, 5, 0, 0),
1124 + array(17, 0, 18, 0, 4, 0, 0),
1125 + array(17, 0, 18, 0, 5, 0, 0),
1126 + array(20, 0, 18, 0, 4, 0, 0),
1127 + array(19, 0, 18, 0, 4, 0, 0),
1128 + array(22, 0, 18, 0, 5, 0, 0),
1129 + array(20, 0, 18, 0, 5, 0, 0),
1130 + array(27, 0, 17, 0, 5, 0, 0),
1131 + array(28, 0, 15, 0, 5, 0, 0),
1132 + array(1, 0, 1, 0, 5, 0, 0),
1133 + array(1, 0, 5, 0, 5, 0, 0),
1134 + array(1, 0, 7, 0, 5, 0, 0),
1135 + array(1, 0, 2, 0, 5, 0, 0),
1136 + array(1, 0, 6, 0, 5, 0, 0),
1137 + array(21, 0, 10, 0, 4, 0, 0),
1138 + array(21, 0, 10, 0, 5, 0, 0),
1139 + array(16, 0, 18, 0, 5, 0, 0),
1140 + array(25, 0, 12, 0, 5, 0, 0),
1141 + array(22, 0, 18, 1, 5, 0, 0),
1142 + array(18, 0, 18, 1, 5, 0, 0),
1143 + array(25, 0, 18, 0, 5, 0, 0),
1144 + array(15, 0, 8, 0, 5, 0, 0),
1145 + array(25, 0, 9, 0, 5, 0, 0),
1146 + array(6, 0, 0, 0, 4, 0, 1),
1147 + array(23, 0, 10, 0, 1, 0, 0),
1148 + array(11, 0, 13, 0, 5, 0, 40),
1149 + array(9, 0, 0, 0, 5, 0, 0),
1150 + array(5, 0, 0, 0, 4, 0, 0),
1151 + array(26, 0, 10, 0, 5, 0, 0),
1152 + array(25, 0, 18, 1, 5, 0, 0),
1153 + array(15, 0, 18, 0, 5, 0, 0),
1154 + array(14, 0, 0, 0, 4, 0, 1),
1155 + array(14, 0, 0, 0, 5, 0, 1),
1156 + array(25, 0, 18, 1, 4, 0, 0),
1157 + array(25, 0, 10, 0, 5, 0, 0),
1158 + array(22, 0, 18, 1, 2, 0, 0),
1159 + array(18, 0, 18, 1, 2, 0, 0),
1160 + array(26, 0, 0, 0, 4, 0, 0),
1161 + array(26, 0, 0, 0, 5, 0, 52),
1162 + array(9, 0, 0, 0, 5, 0, 56),
1163 + array(5, 0, 0, 0, 5, 0, 56),
1164 + array(26, 0, 18, 0, 5, 0, 54),
1165 + array(12, 230, 13, 0, 5, 0, 54),
1166 + array(21, 0, 18, 0, 5, 0, 54),
1167 + array(15, 0, 18, 0, 5, 0, 54),
1168 + array(5, 0, 0, 0, 5, 0, 23),
1169 + array(7, 0, 0, 0, 5, 0, 57),
1170 + array(6, 0, 0, 0, 5, 0, 57),
1171 + array(21, 0, 0, 0, 5, 0, 57),
1172 + array(12, 9, 13, 0, 5, 0, 57),
1173 + array(26, 0, 18, 0, 2, 0, 35),
1174 + array(26, 0, 18, 0, 2, 0, 0),
1175 + array(29, 0, 17, 0, 0, 0, 0),
1176 + array(21, 0, 18, 0, 2, 0, 0),
1177 + array(6, 0, 0, 0, 2, 0, 35),
1178 + array(7, 0, 0, 0, 2, 0, 0),
1179 + array(14, 0, 0, 0, 2, 0, 35),
1180 + array(17, 0, 18, 0, 2, 0, 0),
1181 + array(22, 0, 18, 0, 2, 0, 0),
1182 + array(18, 0, 18, 0, 2, 0, 0),
1183 + array(12, 218, 13, 0, 2, 0, 40),
1184 + array(12, 228, 13, 0, 2, 0, 40),
1185 + array(12, 232, 13, 0, 2, 0, 40),
1186 + array(12, 222, 13, 0, 2, 0, 40),
1187 + array(10, 224, 0, 0, 2, 0, 24),
1188 + array(6, 0, 0, 0, 2, 0, 0),
1189 + array(7, 0, 0, 0, 2, 0, 32),
1190 + array(12, 8, 13, 0, 2, 0, 40),
1191 + array(24, 0, 18, 0, 2, 0, 0),
1192 + array(6, 0, 0, 0, 2, 0, 32),
1193 + array(7, 0, 0, 0, 2, 0, 33),
1194 + array(6, 0, 0, 0, 2, 0, 33),
1195 + array(7, 0, 0, 0, 2, 0, 34),
1196 + array(26, 0, 0, 0, 2, 0, 0),
1197 + array(15, 0, 0, 0, 2, 0, 0),
1198 + array(26, 0, 0, 0, 2, 0, 24),
1199 + array(26, 0, 18, 0, 2, 0, 24),
1200 + array(15, 0, 0, 0, 4, 0, 0),
1201 + array(15, 0, 18, 0, 2, 0, 0),
1202 + array(26, 0, 0, 0, 2, 0, 33),
1203 + array(7, 0, 0, 0, 2, 0, 35),
1204 + array(2, 0, 18, 0, 2, 0, 35),
1205 + array(2, 0, 18, 0, 2, 0, 102),
1206 + array(7, 0, 0, 0, 2, 0, 36),
1207 + array(6, 0, 0, 0, 2, 0, 36),
1208 + array(26, 0, 18, 0, 2, 0, 36),
1209 + array(7, 0, 0, 0, 5, 0, 82),
1210 + array(6, 0, 0, 0, 5, 0, 82),
1211 + array(21, 0, 0, 0, 5, 0, 82),
1212 + array(7, 0, 0, 0, 5, 0, 69),
1213 + array(6, 0, 0, 0, 5, 0, 69),
1214 + array(21, 0, 18, 0, 5, 0, 69),
1215 + array(13, 0, 0, 0, 5, 0, 69),
1216 + array(7, 0, 0, 0, 5, 0, 3),
1217 + array(21, 0, 18, 0, 5, 0, 3),
1218 + array(6, 0, 18, 0, 5, 0, 3),
1219 + array(7, 0, 0, 0, 5, 0, 83),
1220 + array(14, 0, 0, 0, 5, 0, 83),
1221 + array(12, 230, 13, 0, 5, 0, 83),
1222 + array(21, 0, 0, 0, 5, 0, 83),
1223 + array(24, 0, 0, 0, 5, 0, 0),
1224 + array(7, 0, 0, 0, 5, 0, 58),
1225 + array(12, 0, 13, 0, 5, 0, 58),
1226 + array(12, 9, 13, 0, 5, 0, 58),
1227 + array(10, 0, 0, 0, 5, 0, 58),
1228 + array(26, 0, 18, 0, 5, 0, 58),
1229 + array(15, 0, 0, 0, 5, 0, 0),
1230 + array(7, 0, 0, 0, 5, 0, 64),
1231 + array(21, 0, 18, 0, 5, 0, 64),
1232 + array(10, 0, 0, 0, 5, 0, 70),
1233 + array(7, 0, 0, 0, 5, 0, 70),
1234 + array(12, 9, 13, 0, 5, 0, 70),
1235 + array(21, 0, 0, 0, 5, 0, 70),
1236 + array(13, 0, 0, 0, 5, 0, 70),
1237 + array(13, 0, 0, 0, 5, 0, 71),
1238 + array(7, 0, 0, 0, 5, 0, 71),
1239 + array(12, 0, 13, 0, 5, 0, 71),
1240 + array(12, 220, 13, 0, 5, 0, 71),
1241 + array(21, 0, 0, 0, 5, 0, 71),
1242 + array(7, 0, 0, 0, 5, 0, 72),
1243 + array(12, 0, 13, 0, 5, 0, 72),
1244 + array(10, 0, 0, 0, 5, 0, 72),
1245 + array(10, 9, 0, 0, 5, 0, 72),
1246 + array(21, 0, 0, 0, 5, 0, 72),
1247 + array(12, 0, 13, 0, 5, 0, 84),
1248 + array(10, 0, 0, 0, 5, 0, 84),
1249 + array(7, 0, 0, 0, 5, 0, 84),
1250 + array(12, 7, 13, 0, 5, 0, 84),
1251 + array(10, 9, 0, 0, 5, 0, 84),
1252 + array(21, 0, 0, 0, 5, 0, 84),
1253 + array(6, 0, 0, 0, 5, 0, 84),
1254 + array(13, 0, 0, 0, 5, 0, 84),
1255 + array(7, 0, 0, 0, 5, 0, 76),
1256 + array(12, 0, 13, 0, 5, 0, 76),
1257 + array(10, 0, 0, 0, 5, 0, 76),
1258 + array(13, 0, 0, 0, 5, 0, 76),
1259 + array(21, 0, 0, 0, 5, 0, 76),
1260 + array(6, 0, 0, 0, 5, 0, 22),
1261 + array(7, 0, 0, 0, 5, 0, 78),
1262 + array(12, 230, 13, 0, 5, 0, 78),
1263 + array(12, 220, 13, 0, 5, 0, 78),
1264 + array(6, 0, 0, 0, 5, 0, 78),
1265 + array(21, 0, 0, 0, 5, 0, 78),
1266 + array(7, 0, 0, 0, 5, 0, 85),
1267 + array(10, 0, 0, 0, 5, 0, 85),
1268 + array(12, 0, 13, 0, 5, 0, 85),
1269 + array(21, 0, 0, 0, 5, 0, 85),
1270 + array(6, 0, 0, 0, 5, 0, 85),
1271 + array(12, 9, 13, 0, 5, 0, 85),
1272 + array(13, 0, 0, 0, 5, 0, 85),
1273 + array(2, 0, 18, 0, 2, 0, 24),
1274 + array(4, 0, 0, 0, 5, 0, 102),
1275 + array(3, 0, 0, 0, 4, 0, 102),
1276 + array(2, 0, 18, 0, 4, 0, 102),
1277 + array(12, 26, 13, 0, 5, 0, 5),
1278 + array(25, 0, 9, 0, 5, 0, 5),
1279 + array(24, 0, 4, 0, 5, 0, 6),
1280 + array(18, 0, 18, 0, 5, 0, 0),
1281 + array(16, 0, 18, 0, 2, 0, 0),
1282 + array(21, 0, 12, 0, 2, 0, 0),
1283 + array(21, 0, 10, 0, 2, 0, 0),
1284 + array(25, 0, 9, 0, 2, 0, 0),
1285 + array(17, 0, 9, 0, 2, 0, 0),
1286 + array(25, 0, 18, 1, 2, 0, 0),
1287 + array(25, 0, 18, 0, 2, 0, 0),
1288 + array(23, 0, 10, 0, 2, 0, 0),
1289 + array(21, 0, 18, 0, 0, 0, 0),
1290 + array(21, 0, 10, 0, 0, 0, 0),
1291 + array(23, 0, 10, 0, 0, 0, 0),
1292 + array(22, 0, 18, 1, 0, 0, 0),
1293 + array(18, 0, 18, 1, 0, 0, 0),
1294 + array(25, 0, 9, 0, 0, 0, 0),
1295 + array(21, 0, 12, 0, 0, 0, 0),
1296 + array(17, 0, 9, 0, 0, 0, 0),
1297 + array(13, 0, 8, 0, 0, 0, 0),
1298 + array(25, 0, 18, 1, 0, 0, 0),
1299 + array(25, 0, 18, 0, 0, 0, 0),
1300 + array(9, 0, 0, 0, 0, 0, 1),
1301 + array(24, 0, 18, 0, 0, 0, 0),
1302 + array(16, 0, 18, 0, 0, 0, 0),
1303 + array(5, 0, 0, 0, 0, 0, 1),
1304 + array(21, 0, 18, 0, 1, 0, 0),
1305 + array(22, 0, 18, 1, 1, 0, 0),
1306 + array(18, 0, 18, 1, 1, 0, 0),
1307 + array(7, 0, 0, 0, 1, 0, 33),
1308 + array(6, 0, 0, 0, 1, 0, 0),
1309 + array(7, 0, 0, 0, 1, 0, 24),
1310 + array(26, 0, 18, 0, 0, 0, 0),
1311 + array(26, 0, 18, 0, 1, 0, 0),
1312 + array(25, 0, 18, 0, 1, 0, 0),
1313 + array(1, 0, 18, 0, 5, 0, 0),
1314 + array(7, 0, 0, 0, 5, 0, 47),
1315 + array(14, 0, 18, 0, 5, 0, 2),
1316 + array(15, 0, 18, 0, 5, 0, 2),
1317 + array(26, 0, 18, 0, 5, 0, 2),
1318 + array(7, 0, 0, 0, 5, 0, 73),
1319 + array(7, 0, 0, 0, 5, 0, 74),
1320 + array(7, 0, 0, 0, 5, 0, 37),
1321 + array(15, 0, 0, 0, 5, 0, 37),
1322 + array(7, 0, 0, 0, 5, 0, 38),
1323 + array(14, 0, 0, 0, 5, 0, 38),
1324 + array(7, 0, 0, 0, 5, 0, 48),
1325 + array(21, 0, 0, 0, 5, 0, 48),
1326 + array(7, 0, 0, 0, 5, 0, 59),
1327 + array(21, 0, 0, 0, 5, 0, 59),
1328 + array(14, 0, 0, 0, 5, 0, 59),
1329 + array(9, 0, 0, 0, 5, 0, 39),
1330 + array(5, 0, 0, 0, 5, 0, 39),
1331 + array(7, 0, 0, 0, 5, 0, 49),
1332 + array(7, 0, 0, 0, 5, 0, 50),
1333 + array(13, 0, 0, 0, 5, 0, 50),
1334 + array(7, 0, 3, 0, 5, 0, 51),
1335 + array(7, 0, 3, 0, 5, 0, 86),
1336 + array(21, 0, 3, 0, 5, 0, 86),
1337 + array(15, 0, 3, 0, 5, 0, 86),
1338 + array(7, 0, 3, 0, 5, 0, 63),
1339 + array(15, 0, 3, 0, 5, 0, 63),
1340 + array(21, 0, 18, 0, 5, 0, 63),
1341 + array(7, 0, 3, 0, 5, 0, 75),
1342 + array(21, 0, 3, 0, 5, 0, 75),
1343 + array(7, 0, 3, 0, 5, 0, 97),
1344 + array(7, 0, 3, 0, 5, 0, 96),
1345 + array(7, 0, 3, 0, 5, 0, 60),
1346 + array(12, 0, 13, 0, 5, 0, 60),
1347 + array(12, 220, 13, 0, 5, 0, 60),
1348 + array(12, 230, 13, 0, 5, 0, 60),
1349 + array(12, 1, 13, 0, 5, 0, 60),
1350 + array(12, 9, 13, 0, 5, 0, 60),
1351 + array(15, 0, 3, 0, 5, 0, 60),
1352 + array(21, 0, 3, 0, 5, 0, 60),
1353 + array(7, 0, 3, 0, 5, 0, 87),
1354 + array(15, 0, 3, 0, 5, 0, 87),
1355 + array(21, 0, 3, 0, 5, 0, 87),
1356 + array(7, 0, 3, 0, 5, 0, 79),
1357 + array(21, 0, 18, 0, 5, 0, 79),
1358 + array(7, 0, 3, 0, 5, 0, 88),
1359 + array(15, 0, 3, 0, 5, 0, 88),
1360 + array(7, 0, 3, 0, 5, 0, 89),
1361 + array(15, 0, 3, 0, 5, 0, 89),
1362 + array(7, 0, 3, 0, 5, 0, 90),
1363 + array(15, 0, 11, 0, 5, 0, 6),
1364 + array(10, 0, 0, 0, 5, 0, 93),
1365 + array(12, 0, 13, 0, 5, 0, 93),
1366 + array(7, 0, 0, 0, 5, 0, 93),
1367 + array(12, 9, 13, 0, 5, 0, 93),
1368 + array(21, 0, 0, 0, 5, 0, 93),
1369 + array(15, 0, 18, 0, 5, 0, 93),
1370 + array(13, 0, 0, 0, 5, 0, 93),
1371 + array(12, 0, 13, 0, 5, 0, 91),
1372 + array(10, 0, 0, 0, 5, 0, 91),
1373 + array(7, 0, 0, 0, 5, 0, 91),
1374 + array(12, 9, 13, 0, 5, 0, 91),
1375 + array(12, 7, 13, 0, 5, 0, 91),
1376 + array(21, 0, 0, 0, 5, 0, 91),
1377 + array(1, 0, 0, 0, 5, 0, 91),
1378 + array(7, 0, 0, 0, 5, 0, 100),
1379 + array(13, 0, 0, 0, 5, 0, 100),
1380 + array(12, 230, 13, 0, 5, 0, 95),
1381 + array(7, 0, 0, 0, 5, 0, 95),
1382 + array(12, 0, 13, 0, 5, 0, 95),
1383 + array(10, 0, 0, 0, 5, 0, 95),
1384 + array(12, 9, 13, 0, 5, 0, 95),
1385 + array(13, 0, 0, 0, 5, 0, 95),
1386 + array(21, 0, 0, 0, 5, 0, 95),
1387 + array(12, 0, 13, 0, 5, 0, 99),
1388 + array(10, 0, 0, 0, 5, 0, 99),
1389 + array(7, 0, 0, 0, 5, 0, 99),
1390 + array(10, 9, 0, 0, 5, 0, 99),
1391 + array(21, 0, 0, 0, 5, 0, 99),
1392 + array(13, 0, 0, 0, 5, 0, 99),
1393 + array(7, 0, 0, 0, 5, 0, 101),
1394 + array(12, 0, 13, 0, 5, 0, 101),
1395 + array(10, 0, 0, 0, 5, 0, 101),
1396 + array(10, 9, 0, 0, 5, 0, 101),
1397 + array(12, 7, 13, 0, 5, 0, 101),
1398 + array(13, 0, 0, 0, 5, 0, 101),
1399 + array(7, 0, 0, 0, 5, 0, 62),
1400 + array(14, 0, 0, 0, 5, 0, 62),
1401 + array(21, 0, 0, 0, 5, 0, 62),
1402 + array(7, 0, 0, 0, 5, 0, 80),
1403 + array(7, 0, 0, 0, 5, 0, 98),
1404 + array(10, 0, 0, 0, 5, 0, 98),
1405 + array(12, 0, 13, 0, 5, 0, 98),
1406 + array(6, 0, 0, 0, 5, 0, 98),
1407 + array(10, 216, 0, 0, 5, 0, 0),
1408 + array(10, 226, 0, 0, 5, 0, 0),
1409 + array(12, 230, 13, 0, 5, 0, 2),
1410 + array(25, 0, 0, 0, 5, 0, 0),
1411 + array(13, 0, 8, 0, 5, 0, 0),
1412 + array(26, 0, 0, 0, 2, 0, 32),
1413 + );
1414 +
1415 + /* Mirror unicode characters. Bidirectional Algorithm, at http://www.unicode.org/unicode/reports/tr9/ */
1416 +
1417 + public static $mirror_pairs = array(
1418 + 40 => 41,
1419 + 41 => 40,
1420 + 60 => 62,
1421 + 62 => 60,
1422 + 91 => 93,
1423 + 93 => 91,
1424 + 123 => 125,
1425 + 125 => 123,
1426 + 171 => 187,
1427 + 187 => 171,
1428 + 3898 => 3899,
1429 + 3899 => 3898,
1430 + 3900 => 3901,
1431 + 3901 => 3900,
1432 + 5787 => 5788,
1433 + 5788 => 5787,
1434 + 8249 => 8250,
1435 + 8250 => 8249,
1436 + 8261 => 8262,
1437 + 8262 => 8261,
1438 + 8317 => 8318,
1439 + 8318 => 8317,
1440 + 8333 => 8334,
1441 + 8334 => 8333,
1442 + 8712 => 8715,
1443 + 8713 => 8716,
1444 + 8714 => 8717,
1445 + 8715 => 8712,
1446 + 8716 => 8713,
1447 + 8717 => 8714,
1448 + 8725 => 10741,
1449 + 8764 => 8765,
1450 + 8765 => 8764,
1451 + 8771 => 8909,
1452 + 8786 => 8787,
1453 + 8787 => 8786,
1454 + 8788 => 8789,
1455 + 8789 => 8788,
1456 + 8804 => 8805,
1457 + 8805 => 8804,
1458 + 8806 => 8807,
1459 + 8807 => 8806,
1460 + 8808 => 8809,
1461 + 8809 => 8808,
1462 + 8810 => 8811,
1463 + 8811 => 8810,
1464 + 8814 => 8815,
1465 + 8815 => 8814,
1466 + 8816 => 8817,
1467 + 8817 => 8816,
1468 + 8818 => 8819,
1469 + 8819 => 8818,
1470 + 8820 => 8821,
1471 + 8821 => 8820,
1472 + 8822 => 8823,
1473 + 8823 => 8822,
1474 + 8824 => 8825,
1475 + 8825 => 8824,
1476 + 8826 => 8827,
1477 + 8827 => 8826,
1478 + 8828 => 8829,
1479 + 8829 => 8828,
1480 + 8830 => 8831,
1481 + 8831 => 8830,
1482 + 8832 => 8833,
1483 + 8833 => 8832,
1484 + 8834 => 8835,
1485 + 8835 => 8834,
1486 + 8836 => 8837,
1487 + 8837 => 8836,
1488 + 8838 => 8839,
1489 + 8839 => 8838,
1490 + 8840 => 8841,
1491 + 8841 => 8840,
1492 + 8842 => 8843,
1493 + 8843 => 8842,
1494 + 8847 => 8848,
1495 + 8848 => 8847,
1496 + 8849 => 8850,
1497 + 8850 => 8849,
1498 + 8856 => 10680,
1499 + 8866 => 8867,
1500 + 8867 => 8866,
1501 + 8870 => 10974,
1502 + 8872 => 10980,
1503 + 8873 => 10979,
1504 + 8875 => 10981,
1505 + 8880 => 8881,
1506 + 8881 => 8880,
1507 + 8882 => 8883,
1508 + 8883 => 8882,
1509 + 8884 => 8885,
1510 + 8885 => 8884,
1511 + 8886 => 8887,
1512 + 8887 => 8886,
1513 + 8905 => 8906,
1514 + 8906 => 8905,
1515 + 8907 => 8908,
1516 + 8908 => 8907,
1517 + 8909 => 8771,
1518 + 8912 => 8913,
1519 + 8913 => 8912,
1520 + 8918 => 8919,
1521 + 8919 => 8918,
1522 + 8920 => 8921,
1523 + 8921 => 8920,
1524 + 8922 => 8923,
1525 + 8923 => 8922,
1526 + 8924 => 8925,
1527 + 8925 => 8924,
1528 + 8926 => 8927,
1529 + 8927 => 8926,
1530 + 8928 => 8929,
1531 + 8929 => 8928,
1532 + 8930 => 8931,
1533 + 8931 => 8930,
1534 + 8932 => 8933,
1535 + 8933 => 8932,
1536 + 8934 => 8935,
1537 + 8935 => 8934,
1538 + 8936 => 8937,
1539 + 8937 => 8936,
1540 + 8938 => 8939,
1541 + 8939 => 8938,
1542 + 8940 => 8941,
1543 + 8941 => 8940,
1544 + 8944 => 8945,
1545 + 8945 => 8944,
1546 + 8946 => 8954,
1547 + 8947 => 8955,
1548 + 8948 => 8956,
1549 + 8950 => 8957,
1550 + 8951 => 8958,
1551 + 8954 => 8946,
1552 + 8955 => 8947,
1553 + 8956 => 8948,
1554 + 8957 => 8950,
1555 + 8958 => 8951,
1556 + 8968 => 8969,
1557 + 8969 => 8968,
1558 + 8970 => 8971,
1559 + 8971 => 8970,
1560 + 9001 => 9002,
1561 + 9002 => 9001,
1562 + 10088 => 10089,
1563 + 10089 => 10088,
1564 + 10090 => 10091,
1565 + 10091 => 10090,
1566 + 10092 => 10093,
1567 + 10093 => 10092,
1568 + 10094 => 10095,
1569 + 10095 => 10094,
1570 + 10096 => 10097,
1571 + 10097 => 10096,
1572 + 10098 => 10099,
1573 + 10099 => 10098,
1574 + 10100 => 10101,
1575 + 10101 => 10100,
1576 + 10179 => 10180,
1577 + 10180 => 10179,
1578 + 10181 => 10182,
1579 + 10182 => 10181,
1580 + 10184 => 10185,
1581 + 10185 => 10184,
1582 + 10187 => 10189,
1583 + 10189 => 10187,
1584 + 10197 => 10198,
1585 + 10198 => 10197,
1586 + 10205 => 10206,
1587 + 10206 => 10205,
1588 + 10210 => 10211,
1589 + 10211 => 10210,
1590 + 10212 => 10213,
1591 + 10213 => 10212,
1592 + 10214 => 10215,
1593 + 10215 => 10214,
1594 + 10216 => 10217,
1595 + 10217 => 10216,
1596 + 10218 => 10219,
1597 + 10219 => 10218,
1598 + 10220 => 10221,
1599 + 10221 => 10220,
1600 + 10222 => 10223,
1601 + 10223 => 10222,
1602 + 10627 => 10628,
1603 + 10628 => 10627,
1604 + 10629 => 10630,
1605 + 10630 => 10629,
1606 + 10631 => 10632,
1607 + 10632 => 10631,
1608 + 10633 => 10634,
1609 + 10634 => 10633,
1610 + 10635 => 10636,
1611 + 10636 => 10635,
1612 + 10637 => 10640,
1613 + 10638 => 10639,
1614 + 10639 => 10638,
1615 + 10640 => 10637,
1616 + 10641 => 10642,
1617 + 10642 => 10641,
1618 + 10643 => 10644,
1619 + 10644 => 10643,
1620 + 10645 => 10646,
1621 + 10646 => 10645,
1622 + 10647 => 10648,
1623 + 10648 => 10647,
1624 + 10680 => 8856,
1625 + 10688 => 10689,
1626 + 10689 => 10688,
1627 + 10692 => 10693,
1628 + 10693 => 10692,
1629 + 10703 => 10704,
1630 + 10704 => 10703,
1631 + 10705 => 10706,
1632 + 10706 => 10705,
1633 + 10708 => 10709,
1634 + 10709 => 10708,
1635 + 10712 => 10713,
1636 + 10713 => 10712,
1637 + 10714 => 10715,
1638 + 10715 => 10714,
1639 + 10741 => 8725,
1640 + 10744 => 10745,
1641 + 10745 => 10744,
1642 + 10748 => 10749,
1643 + 10749 => 10748,
1644 + 10795 => 10796,
1645 + 10796 => 10795,
1646 + 10797 => 10798,
1647 + 10798 => 10797,
1648 + 10804 => 10805,
1649 + 10805 => 10804,
1650 + 10812 => 10813,
1651 + 10813 => 10812,
1652 + 10852 => 10853,
1653 + 10853 => 10852,
1654 + 10873 => 10874,
1655 + 10874 => 10873,
1656 + 10877 => 10878,
1657 + 10878 => 10877,
1658 + 10879 => 10880,
1659 + 10880 => 10879,
1660 + 10881 => 10882,
1661 + 10882 => 10881,
1662 + 10883 => 10884,
1663 + 10884 => 10883,
1664 + 10891 => 10892,
1665 + 10892 => 10891,
1666 + 10897 => 10898,
1667 + 10898 => 10897,
1668 + 10899 => 10900,
1669 + 10900 => 10899,
1670 + 10901 => 10902,
1671 + 10902 => 10901,
1672 + 10903 => 10904,
1673 + 10904 => 10903,
1674 + 10905 => 10906,
1675 + 10906 => 10905,
1676 + 10907 => 10908,
1677 + 10908 => 10907,
1678 + 10913 => 10914,
1679 + 10914 => 10913,
1680 + 10918 => 10919,
1681 + 10919 => 10918,
1682 + 10920 => 10921,
1683 + 10921 => 10920,
1684 + 10922 => 10923,
1685 + 10923 => 10922,
1686 + 10924 => 10925,
1687 + 10925 => 10924,
1688 + 10927 => 10928,
1689 + 10928 => 10927,
1690 + 10931 => 10932,
1691 + 10932 => 10931,
1692 + 10939 => 10940,
1693 + 10940 => 10939,
1694 + 10941 => 10942,
1695 + 10942 => 10941,
1696 + 10943 => 10944,
1697 + 10944 => 10943,
1698 + 10945 => 10946,
1699 + 10946 => 10945,
1700 + 10947 => 10948,
1701 + 10948 => 10947,
1702 + 10949 => 10950,
1703 + 10950 => 10949,
1704 + 10957 => 10958,
1705 + 10958 => 10957,
1706 + 10959 => 10960,
1707 + 10960 => 10959,
1708 + 10961 => 10962,
1709 + 10962 => 10961,
1710 + 10963 => 10964,
1711 + 10964 => 10963,
1712 + 10965 => 10966,
1713 + 10966 => 10965,
1714 + 10974 => 8870,
1715 + 10979 => 8873,
1716 + 10980 => 8872,
1717 + 10981 => 8875,
1718 + 10988 => 10989,
1719 + 10989 => 10988,
1720 + 10999 => 11000,
1721 + 11000 => 10999,
1722 + 11001 => 11002,
1723 + 11002 => 11001,
1724 + 11778 => 11779,
1725 + 11779 => 11778,
1726 + 11780 => 11781,
1727 + 11781 => 11780,
1728 + 11785 => 11786,
1729 + 11786 => 11785,
1730 + 11788 => 11789,
1731 + 11789 => 11788,
1732 + 11804 => 11805,
1733 + 11805 => 11804,
1734 + 11808 => 11809,
1735 + 11809 => 11808,
1736 + 11810 => 11811,
1737 + 11811 => 11810,
1738 + 11812 => 11813,
1739 + 11813 => 11812,
1740 + 11814 => 11815,
1741 + 11815 => 11814,
1742 + 11816 => 11817,
1743 + 11817 => 11816,
1744 + 12296 => 12297,
1745 + 12297 => 12296,
1746 + 12298 => 12299,
1747 + 12299 => 12298,
1748 + 12300 => 12301,
1749 + 12301 => 12300,
1750 + 12302 => 12303,
1751 + 12303 => 12302,
1752 + 12304 => 12305,
1753 + 12305 => 12304,
1754 + 12308 => 12309,
1755 + 12309 => 12308,
1756 + 12310 => 12311,
1757 + 12311 => 12310,
1758 + 12312 => 12313,
1759 + 12313 => 12312,
1760 + 12314 => 12315,
1761 + 12315 => 12314,
1762 + 65113 => 65114,
1763 + 65114 => 65113,
1764 + 65115 => 65116,
1765 + 65116 => 65115,
1766 + 65117 => 65118,
1767 + 65118 => 65117,
1768 + 65124 => 65125,
1769 + 65125 => 65124,
1770 + 65288 => 65289,
1771 + 65289 => 65288,
1772 + 65308 => 65310,
1773 + 65310 => 65308,
1774 + 65339 => 65341,
1775 + 65341 => 65339,
1776 + 65371 => 65373,
1777 + 65373 => 65371,
1778 + 65375 => 65376,
1779 + 65376 => 65375,
1780 + 65378 => 65379,
1781 + 65379 => 65378,
1782 + );
1783 +
1784 +
1785 + /* index tables for the database records */
1786 +
1787 + private static $index0 = array(
1788 + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1789 + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1790 + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 53, 53, 53,
1791 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1792 + 53, 53, 54, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1793 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1794 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1795 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1796 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 55, 56, 57, 57, 57, 58,
1797 + 59, 60, 61, 62, 63, 64, 65, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1798 + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1799 + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 69, 70, 70,
1800 + 71, 69, 70, 70, 72, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
1801 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 76, 77, 78, 79, 80, 81,
1802 + 82, 83, 84, 85, 86, 87, 70, 70, 70, 88, 89, 90, 91, 92, 70, 93, 70, 94,
1803 + 95, 70, 70, 70, 70, 96, 70, 70, 70, 70, 70, 70, 70, 70, 70, 97, 97, 97,
1804 + 98, 99, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 100, 100, 100, 100,
1805 + 101, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1806 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1807 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 102, 102,
1808 + 103, 70, 70, 70, 70, 104, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1809 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1810 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1811 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 105, 70,
1812 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1813 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 106, 107, 108, 109, 110,
1814 + 111, 112, 113, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1815 + 70, 70, 70, 70, 70, 70, 70, 70, 114, 70, 115, 116, 117, 118, 119, 120,
1816 + 121, 122, 70, 70, 70, 70, 70, 70, 70, 70, 52, 53, 53, 53, 53, 53, 53, 53,
1817 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1818 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1819 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1820 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1821 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1822 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1823 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1824 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1825 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 123, 52, 53, 53,
1826 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 124, 125, 126, 126,
1827 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1828 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1829 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1830 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1831 + 126, 126, 126, 126, 126, 76, 76, 127, 126, 126, 126, 126, 128, 126, 126,
1832 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1833 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1834 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1835 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1836 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1837 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1838 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1839 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1840 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1841 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1842 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1843 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1844 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1845 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1846 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1847 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1848 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1849 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1850 + 126, 128, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1851 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1852 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1853 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1854 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1855 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1856 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1857 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1858 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1859 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1860 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1861 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1862 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1863 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1864 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1865 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1866 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1867 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1868 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1869 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1870 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1871 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1872 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1873 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1874 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1875 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1876 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1877 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1878 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1879 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1880 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1881 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1882 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1883 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1884 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1885 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1886 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1887 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1888 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1889 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1890 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1891 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1892 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1893 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1894 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1895 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1896 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1897 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1898 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1899 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1900 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1901 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1902 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1903 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1904 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1905 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1906 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1907 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1908 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1909 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1910 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1911 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1912 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1913 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1914 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1915 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1916 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1917 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1918 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1919 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1920 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1921 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1922 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1923 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1924 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1925 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1926 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1927 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1928 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1929 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1930 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1931 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1932 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1933 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1934 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1935 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1936 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1937 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1938 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1939 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1940 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1941 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1942 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1943 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1944 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1945 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1946 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1947 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1948 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1949 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1950 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1951 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1952 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1953 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1954 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1955 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1956 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1957 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1958 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1959 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1960 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1961 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1962 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1963 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1964 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1965 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1966 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1967 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1968 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1969 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1970 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1971 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1972 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1973 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1974 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1975 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1976 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1977 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1978 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1979 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1980 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1981 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1982 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1983 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1984 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1985 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1986 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1987 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1988 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1989 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1990 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1991 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1992 + 70, 70, 70, 70, 70, 70, 129, 130, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1993 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1994 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1995 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1996 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1997 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1998 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1999 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2000 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2001 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2002 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2003 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2004 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2005 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
2006 + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 73, 74, 74, 74, 74, 74, 74, 74,
2007 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2008 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2009 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2010 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2011 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2012 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2013 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2014 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2015 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2016 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2017 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2018 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2019 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2020 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 131, 73, 74, 74, 74,
2021 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2022 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2023 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2024 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2025 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2026 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2027 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2028 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2029 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2030 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2031 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2032 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2033 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2034 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 131,
2035 + );
2036 +
2037 + private static $index1 = array(
2038 + 0, 1, 0, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 0, 0, 0, 14, 15,
2039 + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 29, 31, 32,
2040 + 33, 34, 35, 27, 30, 29, 27, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2041 + 47, 48, 27, 27, 49, 27, 27, 27, 27, 27, 27, 27, 50, 51, 52, 27, 53, 54,
2042 + 53, 54, 54, 54, 54, 54, 55, 54, 54, 54, 56, 57, 58, 59, 60, 61, 62, 63,
2043 + 64, 64, 65, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 65, 77, 78,
2044 + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2045 + 97, 97, 97, 97, 98, 98, 98, 98, 99, 100, 101, 101, 101, 101, 102, 103,
2046 + 101, 101, 101, 101, 101, 101, 104, 105, 101, 101, 101, 101, 101, 101,
2047 + 101, 101, 101, 101, 101, 106, 107, 108, 108, 108, 109, 110, 111, 112,
2048 + 112, 112, 112, 113, 114, 115, 116, 117, 118, 119, 120, 106, 121, 121,
2049 + 121, 122, 123, 106, 124, 125, 126, 127, 128, 128, 128, 128, 129, 130,
2050 + 131, 132, 133, 134, 135, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2051 + 128, 128, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 145, 145,
2052 + 146, 147, 148, 149, 128, 128, 128, 128, 128, 128, 150, 150, 150, 150,
2053 + 151, 152, 153, 106, 154, 155, 156, 156, 156, 157, 158, 159, 160, 160,
2054 + 161, 162, 163, 164, 165, 166, 167, 167, 167, 168, 106, 106, 106, 106,
2055 + 106, 106, 106, 106, 169, 170, 106, 106, 106, 106, 106, 106, 171, 172,
2056 + 173, 174, 175, 176, 176, 176, 176, 176, 176, 177, 178, 179, 180, 176,
2057 + 181, 182, 183, 184, 185, 186, 187, 188, 188, 189, 190, 191, 192, 193,
2058 + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 203, 204, 205, 206,
2059 + 207, 208, 209, 210, 211, 212, 213, 106, 214, 215, 216, 217, 217, 218,
2060 + 219, 220, 221, 222, 223, 106, 224, 225, 226, 106, 227, 228, 229, 230,
2061 + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 106, 241, 242,
2062 + 243, 244, 245, 242, 246, 247, 248, 249, 250, 106, 251, 252, 253, 254,
2063 + 255, 256, 257, 258, 258, 257, 259, 260, 261, 262, 263, 264, 265, 266,
2064 + 106, 267, 268, 269, 270, 271, 271, 270, 272, 273, 274, 275, 276, 277,
2065 + 278, 279, 280, 106, 281, 282, 283, 284, 284, 284, 284, 285, 286, 287,
2066 + 288, 106, 289, 290, 291, 292, 293, 294, 295, 296, 294, 294, 297, 298,
2067 + 295, 299, 300, 301, 106, 106, 302, 106, 303, 304, 304, 304, 304, 304,
2068 + 305, 306, 307, 308, 309, 310, 106, 106, 106, 106, 311, 312, 313, 314,
2069 + 315, 316, 317, 318, 319, 320, 321, 322, 106, 106, 106, 106, 323, 324,
2070 + 325, 326, 327, 328, 329, 330, 331, 332, 331, 331, 331, 333, 334, 335,
2071 + 336, 337, 338, 339, 338, 338, 338, 340, 341, 342, 343, 344, 106, 106,
2072 + 106, 106, 345, 345, 345, 345, 345, 346, 347, 348, 349, 350, 351, 352,
2073 + 353, 354, 355, 345, 356, 357, 349, 358, 359, 359, 359, 359, 360, 361,
2074 + 362, 362, 362, 362, 362, 363, 364, 364, 364, 364, 364, 364, 364, 364,
2075 + 364, 364, 364, 364, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
2076 + 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 366, 366, 366, 366,
2077 + 366, 366, 366, 366, 366, 367, 368, 367, 366, 366, 366, 366, 366, 367,
2078 + 366, 366, 366, 366, 367, 368, 367, 366, 368, 366, 366, 366, 366, 366,
2079 + 366, 366, 367, 366, 366, 366, 366, 366, 366, 366, 366, 369, 370, 371,
2080 + 372, 373, 366, 366, 374, 375, 376, 376, 376, 376, 376, 376, 376, 376,
2081 + 376, 376, 377, 106, 378, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2082 + 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2083 + 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2084 + 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2085 + 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
2086 + 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 380, 379, 379,
2087 + 381, 382, 382, 383, 384, 384, 384, 384, 384, 384, 384, 384, 384, 385,
2088 + 386, 106, 387, 388, 389, 106, 390, 390, 391, 106, 392, 392, 393, 106,
2089 + 394, 395, 396, 106, 397, 397, 397, 397, 397, 397, 398, 399, 400, 401,
2090 + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 412, 412, 412,
2091 + 413, 412, 412, 412, 412, 412, 412, 106, 412, 412, 412, 412, 412, 414,
2092 + 379, 379, 379, 379, 379, 379, 379, 379, 415, 106, 416, 416, 416, 417,
2093 + 418, 419, 420, 421, 422, 423, 424, 424, 424, 425, 426, 106, 427, 427,
2094 + 427, 427, 427, 428, 429, 429, 430, 431, 432, 433, 434, 434, 434, 434,
2095 + 435, 435, 436, 437, 438, 438, 438, 438, 438, 438, 439, 440, 441, 442,
2096 + 443, 444, 445, 446, 445, 446, 447, 448, 106, 106, 106, 106, 106, 106,
2097 + 106, 106, 106, 106, 449, 450, 450, 450, 450, 450, 451, 452, 453, 454,
2098 + 455, 456, 457, 458, 459, 460, 461, 462, 462, 462, 463, 464, 465, 466,
2099 + 467, 467, 467, 467, 468, 469, 470, 471, 472, 472, 472, 472, 473, 474,
2100 + 475, 476, 477, 478, 479, 480, 481, 481, 481, 482, 106, 106, 106, 106,
2101 + 106, 106, 106, 106, 483, 106, 484, 485, 486, 487, 488, 106, 54, 54, 54,
2102 + 54, 489, 490, 56, 56, 56, 56, 56, 491, 492, 493, 54, 494, 54, 54, 54,
2103 + 495, 56, 56, 56, 496, 497, 498, 499, 500, 501, 106, 106, 502, 27, 27, 27,
2104 + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 503, 504, 27,
2105 + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 505, 506, 507, 508, 505, 506,
2106 + 505, 506, 507, 508, 505, 509, 505, 506, 505, 507, 505, 510, 505, 510,
2107 + 505, 510, 511, 512, 513, 514, 515, 516, 505, 517, 518, 519, 520, 521,
2108 + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
2109 + 536, 537, 56, 538, 539, 540, 539, 541, 106, 106, 542, 543, 544, 545, 546,
2110 + 106, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
2111 + 560, 559, 561, 562, 563, 564, 565, 566, 567, 568, 569, 568, 570, 571,
2112 + 568, 572, 568, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
2113 + 584, 585, 586, 587, 588, 583, 583, 589, 590, 591, 592, 593, 583, 583,
2114 + 594, 574, 595, 596, 583, 583, 597, 583, 583, 568, 598, 599, 568, 600,
2115 + 601, 602, 603, 603, 603, 603, 603, 603, 603, 603, 604, 568, 568, 605,
2116 + 606, 574, 574, 607, 568, 568, 568, 568, 573, 608, 568, 609, 106, 568,
2117 + 568, 568, 568, 610, 106, 106, 106, 568, 611, 106, 106, 612, 612, 612,
2118 + 612, 612, 613, 613, 614, 615, 615, 615, 615, 615, 615, 615, 615, 615,
2119 + 616, 612, 612, 617, 617, 617, 617, 617, 617, 617, 617, 617, 618, 617,
2120 + 617, 617, 617, 618, 568, 617, 617, 619, 568, 620, 569, 621, 622, 623,
2121 + 624, 569, 568, 619, 572, 568, 574, 625, 626, 622, 627, 568, 568, 568,
2122 + 568, 628, 568, 568, 568, 629, 630, 568, 568, 568, 568, 568, 631, 568,
2123 + 632, 568, 631, 633, 634, 617, 617, 635, 617, 617, 617, 636, 568, 568,
2124 + 568, 568, 568, 568, 637, 568, 568, 572, 568, 568, 638, 639, 612, 640,
2125 + 640, 641, 568, 568, 568, 568, 568, 642, 643, 644, 645, 646, 647, 574,
2126 + 574, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648,
2127 + 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648,
2128 + 648, 648, 648, 648, 648, 574, 574, 574, 574, 574, 574, 574, 574, 574,
2129 + 574, 574, 574, 574, 574, 574, 574, 649, 650, 650, 651, 583, 583, 574,
2130 + 652, 597, 653, 654, 655, 656, 657, 658, 659, 574, 660, 583, 661, 662,
2131 + 663, 664, 645, 574, 574, 586, 652, 664, 665, 666, 667, 583, 583, 583,
2132 + 583, 668, 669, 583, 583, 583, 583, 670, 671, 672, 645, 673, 674, 568,
2133 + 568, 568, 568, 568, 568, 574, 574, 675, 676, 677, 678, 106, 106, 106,
2134 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2135 + 106, 106, 106, 679, 679, 679, 679, 679, 680, 681, 681, 681, 681, 681,
2136 + 682, 683, 684, 685, 686, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
2137 + 687, 688, 689, 690, 691, 691, 691, 691, 692, 693, 694, 694, 694, 694,
2138 + 694, 694, 694, 695, 696, 697, 366, 366, 368, 106, 368, 368, 368, 368,
2139 + 368, 368, 368, 368, 698, 698, 698, 698, 699, 700, 701, 702, 703, 704,
2140 + 529, 705, 106, 106, 106, 106, 106, 106, 106, 106, 706, 706, 706, 707,
2141 + 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 708, 106, 706, 706,
2142 + 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,
2143 + 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 709, 106, 106, 106,
2144 + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 721, 721,
2145 + 721, 721, 721, 721, 721, 721, 722, 723, 724, 725, 725, 725, 725, 725,
2146 + 725, 725, 725, 725, 725, 726, 727, 728, 728, 728, 728, 729, 730, 364,
2147 + 364, 364, 364, 364, 364, 364, 364, 364, 364, 731, 732, 733, 728, 728,
2148 + 728, 734, 710, 710, 710, 710, 711, 106, 725, 725, 735, 735, 735, 736,
2149 + 737, 738, 733, 733, 733, 739, 740, 741, 735, 735, 735, 742, 737, 738,
2150 + 733, 733, 733, 733, 743, 741, 733, 744, 745, 745, 745, 745, 745, 746,
2151 + 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 733, 733, 733,
2152 + 747, 748, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 749,
2153 + 733, 733, 733, 747, 750, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2154 + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2155 + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2156 + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2157 + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2158 + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2159 + 751, 751, 751, 751, 751, 751, 752, 753, 568, 568, 568, 568, 568, 568,
2160 + 568, 568, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2161 + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 754,
2162 + 753, 753, 753, 753, 753, 753, 755, 755, 756, 755, 755, 755, 755, 755,
2163 + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2164 + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2165 + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2166 + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2167 + 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
2168 + 755, 755, 755, 757, 758, 758, 758, 758, 758, 758, 759, 106, 760, 760,
2169 + 760, 760, 760, 761, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
2170 + 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
2171 + 762, 762, 762, 762, 762, 762, 762, 762, 762, 763, 762, 762, 764, 765,
2172 + 106, 106, 101, 101, 101, 101, 101, 766, 767, 768, 101, 101, 101, 769,
2173 + 770, 770, 770, 770, 770, 770, 770, 770, 771, 772, 773, 106, 64, 64, 774,
2174 + 775, 776, 27, 777, 27, 27, 27, 27, 27, 27, 27, 778, 779, 27, 780, 781,
2175 + 106, 27, 782, 106, 106, 106, 106, 106, 106, 106, 106, 106, 783, 784, 785,
2176 + 786, 786, 787, 788, 789, 790, 791, 791, 791, 791, 791, 791, 792, 106,
2177 + 793, 794, 794, 794, 794, 794, 795, 796, 797, 798, 799, 800, 801, 801,
2178 + 802, 803, 804, 805, 806, 806, 807, 808, 809, 809, 810, 811, 812, 813,
2179 + 364, 364, 364, 814, 815, 816, 816, 816, 816, 816, 817, 818, 819, 820,
2180 + 821, 822, 106, 106, 106, 106, 823, 823, 823, 823, 823, 824, 825, 106,
2181 + 826, 827, 828, 829, 345, 345, 830, 831, 832, 832, 832, 832, 832, 832,
2182 + 833, 834, 835, 106, 106, 836, 837, 838, 839, 106, 840, 840, 840, 106,
2183 + 368, 368, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2184 + 106, 106, 106, 106, 106, 106, 837, 837, 837, 837, 841, 842, 843, 844,
2185 + 845, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2186 + 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2187 + 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2188 + 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2189 + 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2190 + 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
2191 + 847, 106, 365, 365, 848, 849, 365, 365, 365, 365, 365, 850, 851, 106,
2192 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2193 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2194 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2195 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2196 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2197 + 106, 106, 106, 106, 106, 106, 106, 852, 851, 106, 106, 106, 106, 106,
2198 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 852, 106, 106, 106, 106,
2199 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2200 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 852,
2201 + 853, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2202 + 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2203 + 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2204 + 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2205 + 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2206 + 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2207 + 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 855, 856, 856,
2208 + 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2209 + 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2210 + 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2211 + 856, 857, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
2212 + 856, 858, 753, 753, 753, 753, 859, 106, 860, 861, 121, 862, 863, 864,
2213 + 865, 121, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2214 + 866, 867, 868, 106, 869, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2215 + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2216 + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2217 + 128, 128, 128, 128, 128, 128, 128, 870, 106, 106, 128, 128, 128, 128,
2218 + 128, 128, 128, 128, 871, 128, 128, 128, 128, 128, 128, 106, 106, 106,
2219 + 106, 106, 128, 872, 873, 873, 874, 875, 501, 106, 876, 877, 878, 879,
2220 + 880, 881, 882, 883, 884, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2221 + 128, 128, 128, 128, 128, 128, 128, 885, 886, 887, 888, 889, 890, 891,
2222 + 891, 892, 893, 894, 894, 895, 896, 897, 898, 897, 897, 897, 897, 899,
2223 + 900, 900, 900, 901, 902, 902, 902, 903, 904, 905, 106, 906, 907, 908,
2224 + 907, 907, 909, 907, 907, 910, 907, 911, 907, 911, 106, 106, 106, 106,
2225 + 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907,
2226 + 907, 912, 913, 914, 914, 914, 914, 914, 915, 603, 916, 916, 916, 916,
2227 + 916, 916, 917, 918, 919, 920, 568, 609, 106, 106, 106, 106, 106, 106,
2228 + 603, 603, 603, 603, 603, 921, 106, 106, 106, 106, 106, 106, 106, 106,
2229 + 106, 106, 106, 106, 106, 106, 106, 106, 922, 922, 922, 923, 924, 924,
2230 + 924, 924, 924, 924, 925, 106, 106, 106, 106, 106, 926, 926, 926, 927,
2231 + 928, 106, 929, 929, 930, 931, 106, 106, 106, 106, 106, 106, 932, 932,
2232 + 932, 933, 934, 934, 934, 934, 935, 934, 936, 106, 106, 106, 106, 106,
2233 + 937, 937, 937, 937, 937, 938, 938, 938, 938, 938, 939, 939, 939, 939,
2234 + 939, 939, 940, 940, 940, 941, 942, 943, 106, 106, 106, 106, 106, 106,
2235 + 106, 106, 106, 106, 944, 945, 946, 946, 946, 946, 947, 948, 949, 949,
2236 + 950, 951, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2237 + 106, 106, 106, 106, 106, 106, 106, 106, 952, 952, 953, 954, 955, 955,
2238 + 955, 956, 106, 106, 106, 106, 106, 106, 106, 106, 957, 957, 957, 957,
2239 + 958, 958, 958, 959, 106, 106, 106, 106, 106, 106, 106, 106, 960, 961,
2240 + 962, 963, 964, 964, 965, 966, 967, 106, 968, 969, 970, 970, 970, 971,
2241 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2242 + 106, 106, 972, 972, 972, 972, 972, 972, 973, 974, 975, 975, 976, 977,
2243 + 978, 978, 979, 980, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2244 + 106, 106, 106, 106, 106, 106, 981, 981, 981, 981, 981, 981, 981, 981,
2245 + 981, 982, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2246 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2247 + 106, 106, 106, 106, 106, 106, 106, 106, 983, 983, 983, 984, 106, 106,
2248 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2249 + 985, 986, 986, 986, 986, 986, 986, 987, 988, 989, 990, 991, 992, 993,
2250 + 106, 106, 994, 995, 995, 995, 995, 995, 996, 997, 998, 106, 999, 999,
2251 + 999, 1000, 1001, 1002, 1003, 1004, 1004, 1004, 1005, 1006, 1007, 1008,
2252 + 1009, 106, 106, 106, 106, 106, 106, 106, 1010, 1011, 1011, 1011, 1011,
2253 + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 106, 106, 106, 106, 106, 106,
2254 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2255 + 1018, 1018, 1018, 1018, 1018, 1019, 1020, 106, 1021, 1022, 106, 106, 106,
2256 + 106, 106, 106, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2257 + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2258 + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2259 + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
2260 + 1024, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2261 + 106, 106, 106, 106, 106, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
2262 + 1025, 1025, 1025, 1025, 1026, 106, 1027, 106, 106, 106, 106, 106, 106,
2263 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 1028, 1028, 1028,
2264 + 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
2265 + 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
2266 + 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1029, 106,
2267 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2268 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 770, 770, 770,
2269 + 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
2270 + 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
2271 + 770, 770, 770, 770, 770, 770, 770, 770, 1030, 106, 106, 106, 106, 106,
2272 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2273 + 106, 106, 106, 106, 106, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031,
2274 + 1032, 106, 1033, 1034, 1034, 1034, 1034, 1035, 106, 1036, 1037, 1038,
2275 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 1039, 106,
2276 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2277 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2278 + 106, 106, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
2279 + 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
2280 + 603, 603, 603, 603, 1040, 106, 603, 603, 603, 603, 1041, 1042, 603, 603,
2281 + 603, 603, 603, 603, 1043, 1044, 1045, 1046, 1047, 1048, 603, 603, 603,
2282 + 1049, 603, 603, 603, 603, 603, 1040, 106, 106, 106, 106, 919, 919, 919,
2283 + 919, 919, 919, 919, 919, 1050, 106, 106, 106, 106, 106, 106, 106, 106,
2284 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2285 + 106, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 610, 106, 914,
2286 + 914, 1051, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2287 + 106, 106, 106, 106, 106, 1052, 1052, 1052, 1053, 1054, 1054, 1055, 1052,
2288 + 1052, 1056, 1057, 1054, 1054, 1052, 1052, 1052, 1053, 1054, 1054, 1058,
2289 + 1059, 1060, 1056, 1061, 1062, 1054, 1052, 1052, 1052, 1053, 1054, 1054,
2290 + 1063, 1064, 1065, 1066, 1054, 1054, 1054, 1067, 1068, 1069, 1070, 1054,
2291 + 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052, 1052, 1053,
2292 + 1054, 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052, 1052,
2293 + 1053, 1054, 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052,
2294 + 1052, 1053, 1054, 1054, 1071, 1052, 1052, 1052, 1072, 1054, 1054, 1073,
2295 + 1074, 1052, 1052, 1075, 1054, 1054, 1076, 1055, 1052, 1052, 1077, 1054,
2296 + 1054, 1078, 1079, 1052, 1052, 1080, 1054, 1054, 1054, 1081, 1052, 1052,
2297 + 1052, 1072, 1054, 1054, 1073, 1082, 1083, 1083, 1083, 1083, 1083, 1083,
2298 + 1084, 128, 128, 128, 1085, 1086, 1087, 1088, 1089, 1090, 1085, 1091,
2299 + 1085, 1087, 1087, 1092, 128, 1093, 128, 1094, 1095, 1093, 128, 1094, 106,
2300 + 106, 106, 106, 106, 106, 1096, 106, 568, 568, 568, 568, 568, 609, 568,
2301 + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 609, 106, 568,
2302 + 610, 636, 610, 636, 568, 636, 568, 106, 106, 106, 106, 613, 1097, 615,
2303 + 615, 615, 1098, 615, 615, 615, 615, 615, 615, 615, 1099, 615, 615, 615,
2304 + 615, 615, 1100, 106, 106, 106, 106, 106, 106, 106, 106, 1101, 603, 603,
2305 + 603, 1102, 106, 733, 733, 733, 733, 733, 1103, 733, 1104, 1105, 106, 106,
2306 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2307 + 106, 106, 106, 106, 106, 568, 568, 568, 568, 1106, 106, 1107, 568, 568,
2308 + 568, 568, 568, 568, 568, 568, 1108, 568, 568, 609, 106, 568, 568, 568,
2309 + 568, 1109, 611, 106, 106, 568, 568, 1106, 106, 568, 568, 568, 568, 568,
2310 + 568, 568, 610, 1110, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
2311 + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 1111, 568,
2312 + 568, 568, 568, 568, 568, 568, 1112, 609, 106, 568, 568, 568, 106, 106,
2313 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2314 + 106, 106, 1113, 568, 568, 568, 568, 568, 568, 568, 568, 1114, 568, 106,
2315 + 106, 106, 106, 106, 106, 568, 568, 568, 568, 568, 568, 568, 568, 1112,
2316 + 106, 106, 106, 106, 106, 106, 106, 568, 568, 568, 568, 568, 568, 568,
2317 + 568, 568, 568, 568, 568, 568, 568, 609, 106, 106, 106, 106, 106, 106,
2318 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 751, 751, 751,
2319 + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2320 + 751, 751, 751, 751, 751, 751, 751, 751, 751, 1115, 753, 753, 753, 753,
2321 + 753, 751, 751, 751, 751, 751, 751, 754, 753, 750, 751, 751, 751, 751,
2322 + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
2323 + 751, 751, 751, 751, 751, 751, 751, 751, 752, 753, 753, 753, 753, 753,
2324 + 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2325 + 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2326 + 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2327 + 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 856,
2328 + 856, 856, 857, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2329 + 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2330 + 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2331 + 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
2332 + 753, 753, 753, 753, 753, 753, 1116, 1117, 106, 106, 106, 1118, 1118,
2333 + 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 106, 106,
2334 + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
2335 + 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873,
2336 + 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873,
2337 + 873, 873, 106, 106, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2338 + 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
2339 + 854, 854, 854, 854, 854, 854, 854, 1119,
2340 + );
2341 +
2342 + private static $index2 = array(
2343 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 4, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 2,
2344 + 5, 6, 6, 7, 8, 7, 6, 6, 9, 10, 6, 11, 12, 13, 12, 12, 14, 14, 14, 14, 14,
2345 + 14, 14, 14, 14, 14, 12, 6, 15, 16, 15, 6, 6, 17, 17, 17, 17, 17, 17, 17,
2346 + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 6, 10, 18, 19, 18, 20, 20,
2347 + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 9, 16,
2348 + 10, 16, 1, 1, 1, 1, 1, 1, 3, 1, 1, 21, 22, 8, 8, 23, 8, 24, 22, 25, 26,
2349 + 27, 28, 16, 29, 30, 18, 31, 32, 33, 33, 25, 34, 22, 22, 25, 33, 27, 35,
2350 + 36, 36, 36, 22, 37, 37, 37, 37, 37, 37, 38, 37, 37, 37, 37, 37, 37, 37,
2351 + 37, 37, 38, 37, 37, 37, 37, 37, 37, 39, 38, 37, 37, 37, 37, 37, 38, 40,
2352 + 40, 40, 41, 41, 41, 41, 40, 41, 40, 40, 40, 41, 40, 40, 41, 41, 40, 41,
2353 + 40, 40, 41, 41, 41, 39, 40, 40, 40, 41, 40, 41, 40, 41, 37, 40, 37, 41,
2354 + 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 37, 40, 37, 40, 37, 41,
2355 + 37, 41, 37, 41, 37, 40, 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 38, 40,
2356 + 37, 40, 38, 40, 37, 41, 37, 41, 40, 37, 41, 37, 41, 37, 41, 38, 40, 38,
2357 + 40, 37, 40, 37, 41, 37, 40, 40, 38, 40, 37, 40, 37, 41, 37, 41, 38, 40,
2358 + 37, 41, 37, 41, 37, 37, 41, 37, 41, 37, 41, 41, 41, 37, 37, 41, 37, 41,
2359 + 37, 37, 41, 37, 37, 37, 41, 41, 37, 37, 37, 37, 41, 37, 37, 41, 37, 37,
2360 + 37, 41, 41, 41, 37, 37, 41, 37, 37, 41, 37, 41, 37, 41, 37, 37, 41, 37,
2361 + 41, 41, 37, 41, 37, 37, 41, 37, 37, 37, 41, 37, 41, 37, 37, 41, 41, 42,
2362 + 37, 41, 41, 41, 42, 42, 42, 42, 37, 43, 41, 37, 43, 41, 37, 43, 41, 37,
2363 + 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 41, 37, 41,
2364 + 41, 37, 43, 41, 37, 41, 37, 37, 37, 41, 37, 41, 41, 41, 41, 41, 41, 41,
2365 + 37, 37, 41, 37, 37, 41, 41, 37, 41, 37, 37, 37, 37, 41, 41, 40, 41, 41,
2366 + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 41,
2367 + 41, 41, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 46, 46, 46, 46, 46,
2368 + 46, 46, 47, 47, 25, 47, 45, 48, 45, 48, 48, 48, 45, 48, 45, 45, 49, 46,
2369 + 47, 47, 47, 47, 47, 47, 25, 25, 25, 25, 47, 25, 47, 25, 44, 44, 44, 44,
2370 + 44, 47, 47, 47, 47, 47, 50, 50, 45, 47, 46, 47, 47, 47, 47, 47, 47, 47,
2371 + 47, 47, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 53, 53,
2372 + 53, 53, 52, 54, 53, 53, 53, 53, 53, 55, 55, 53, 53, 53, 53, 55, 55, 53,
2373 + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 56, 56, 56, 56, 56, 53, 53, 53,
2374 + 53, 51, 51, 51, 51, 51, 51, 51, 51, 57, 51, 53, 53, 53, 51, 51, 51, 53,
2375 + 53, 58, 51, 51, 51, 53, 53, 53, 53, 51, 52, 53, 53, 51, 59, 60, 60, 59,
2376 + 60, 60, 59, 51, 51, 51, 51, 51, 61, 62, 61, 62, 45, 63, 61, 62, 64, 64,
2377 + 65, 62, 62, 62, 66, 64, 64, 64, 64, 64, 63, 47, 61, 66, 61, 61, 61, 64,
2378 + 61, 64, 61, 61, 62, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
2379 + 67, 67, 67, 67, 64, 67, 67, 67, 67, 67, 67, 67, 61, 61, 62, 62, 62, 62,
2380 + 62, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
2381 + 62, 68, 68, 68, 68, 68, 68, 68, 62, 62, 62, 62, 62, 61, 62, 62, 61, 61,
2382 + 61, 62, 62, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 69, 70, 69, 70,
2383 + 69, 70, 69, 70, 69, 70, 69, 70, 69, 70, 62, 62, 62, 62, 61, 62, 71, 61,
2384 + 62, 61, 61, 62, 62, 61, 61, 61, 72, 73, 72, 72, 72, 72, 72, 72, 72, 72,
2385 + 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74,
2386 + 74, 74, 74, 74, 75, 74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
2387 + 75, 75, 72, 75, 72, 75, 72, 75, 72, 75, 72, 75, 76, 77, 77, 78, 78, 77,
2388 + 79, 79, 72, 75, 72, 75, 72, 75, 72, 72, 75, 72, 75, 72, 75, 72, 75, 72,
2389 + 75, 72, 75, 72, 75, 75, 64, 64, 64, 64, 64, 64, 64, 64, 64, 80, 80, 80,
2390 + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
2391 + 80, 64, 64, 81, 82, 82, 82, 82, 82, 82, 64, 83, 83, 83, 83, 83, 83, 83,
2392 + 83, 83, 83, 83, 83, 83, 83, 83, 64, 84, 85, 64, 64, 64, 64, 86, 64, 87,
2393 + 88, 88, 88, 88, 87, 88, 88, 88, 89, 87, 88, 88, 88, 88, 88, 88, 87, 87,
2394 + 87, 87, 87, 87, 88, 88, 87, 88, 88, 89, 90, 88, 91, 92, 93, 94, 95, 96,
2395 + 97, 98, 99, 100, 100, 101, 102, 103, 104, 105, 106, 107, 108, 106, 88,
2396 + 87, 106, 99, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 64,
2397 + 64, 64, 64, 64, 109, 109, 109, 106, 106, 64, 64, 64, 110, 110, 110, 110,
2398 + 110, 64, 111, 111, 112, 113, 113, 114, 115, 116, 117, 117, 118, 118, 118,
2399 + 118, 118, 118, 118, 118, 119, 120, 121, 122, 64, 64, 116, 122, 123, 123,
2400 + 123, 123, 123, 123, 123, 123, 124, 123, 123, 123, 123, 123, 123, 123,
2401 + 123, 123, 123, 125, 126, 127, 128, 129, 130, 131, 132, 78, 78, 133, 134,
2402 + 118, 118, 118, 118, 118, 134, 118, 118, 134, 135, 135, 135, 135, 135,
2403 + 135, 135, 135, 135, 135, 113, 136, 136, 116, 123, 123, 137, 123, 123,
2404 + 123, 123, 123, 123, 123, 123, 123, 123, 123, 116, 123, 118, 118, 118,
2405 + 118, 118, 118, 118, 138, 117, 118, 118, 118, 118, 134, 118, 139, 139,
2406 + 118, 118, 117, 134, 118, 118, 134, 123, 123, 140, 140, 140, 140, 140,
2407 + 140, 140, 140, 140, 140, 123, 123, 123, 141, 141, 123, 142, 142, 142,
2408 + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 64, 143, 144, 145,
2409 + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2410 + 146, 147, 146, 146, 147, 146, 146, 147, 147, 147, 146, 147, 147, 146,
2411 + 147, 146, 146, 146, 147, 146, 147, 146, 147, 146, 147, 146, 146, 64, 64,
2412 + 144, 144, 144, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
2413 + 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2414 + 148, 64, 64, 64, 64, 64, 64, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2415 + 150, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
2416 + 151, 151, 151, 151, 152, 152, 152, 152, 152, 152, 152, 153, 152, 154,
2417 + 154, 155, 156, 156, 156, 154, 64, 64, 64, 64, 64, 157, 157, 157, 157,
2418 + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158,
2419 + 159, 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 158, 158, 158,
2420 + 159, 158, 158, 158, 158, 158, 64, 64, 160, 160, 160, 160, 160, 160, 160,
2421 + 160, 160, 160, 160, 160, 160, 160, 160, 64, 161, 161, 161, 161, 161, 161,
2422 + 161, 161, 161, 162, 162, 162, 64, 64, 163, 64, 123, 64, 123, 123, 123,
2423 + 123, 123, 123, 123, 123, 123, 123, 123, 64, 64, 64, 64, 64, 64, 64, 118,
2424 + 118, 134, 118, 118, 134, 118, 118, 118, 134, 134, 134, 164, 165, 166,
2425 + 118, 118, 118, 134, 118, 118, 134, 134, 118, 118, 118, 118, 64, 167, 167,
2426 + 167, 168, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
2427 + 169, 169, 167, 168, 170, 169, 168, 168, 168, 167, 167, 167, 167, 167,
2428 + 167, 167, 167, 168, 168, 168, 168, 171, 168, 168, 169, 78, 133, 172, 172,
2429 + 167, 167, 167, 169, 169, 167, 167, 84, 84, 173, 173, 173, 173, 173, 173,
2430 + 173, 173, 173, 173, 174, 175, 169, 169, 169, 169, 169, 169, 64, 169, 169,
2431 + 169, 169, 169, 169, 169, 64, 176, 177, 177, 64, 178, 178, 178, 178, 178,
2432 + 178, 178, 178, 64, 64, 178, 178, 64, 64, 178, 178, 178, 178, 178, 178,
2433 + 178, 178, 178, 178, 178, 178, 178, 178, 64, 178, 178, 178, 178, 178, 178,
2434 + 178, 64, 178, 64, 64, 64, 178, 178, 178, 178, 64, 64, 179, 178, 177, 177,
2435 + 177, 176, 176, 176, 176, 64, 64, 177, 177, 64, 64, 177, 177, 180, 178,
2436 + 64, 64, 64, 64, 64, 64, 64, 64, 177, 64, 64, 64, 64, 178, 178, 64, 178,
2437 + 178, 178, 176, 176, 64, 64, 181, 181, 181, 181, 181, 181, 181, 181, 181,
2438 + 181, 178, 178, 182, 182, 183, 183, 183, 183, 183, 183, 184, 182, 64, 64,
2439 + 64, 64, 64, 185, 185, 186, 64, 187, 187, 187, 187, 187, 187, 64, 64, 64,
2440 + 64, 187, 187, 64, 64, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2441 + 187, 187, 187, 187, 64, 187, 187, 187, 187, 187, 187, 187, 64, 187, 187,
2442 + 64, 187, 187, 64, 187, 187, 64, 64, 188, 64, 186, 186, 186, 185, 185, 64,
2443 + 64, 64, 64, 185, 185, 64, 64, 185, 185, 189, 64, 64, 64, 185, 64, 64, 64,
2444 + 64, 64, 64, 64, 187, 187, 187, 187, 64, 187, 64, 64, 64, 64, 64, 64, 64,
2445 + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 185, 185, 187, 187,
2446 + 187, 185, 64, 64, 64, 191, 191, 192, 64, 193, 193, 193, 193, 193, 193,
2447 + 193, 193, 193, 64, 193, 193, 193, 64, 193, 193, 193, 193, 193, 193, 193,
2448 + 193, 193, 193, 193, 193, 193, 193, 64, 193, 193, 193, 193, 193, 193, 193,
2449 + 64, 193, 193, 64, 193, 193, 193, 193, 193, 64, 64, 194, 193, 192, 192,
2450 + 192, 191, 191, 191, 191, 191, 64, 191, 191, 192, 64, 192, 192, 195, 64,
2451 + 64, 193, 64, 64, 64, 64, 64, 64, 64, 193, 193, 191, 191, 64, 64, 196,
2452 + 196, 196, 196, 196, 196, 196, 196, 196, 196, 197, 198, 64, 64, 64, 64,
2453 + 64, 64, 64, 199, 200, 200, 64, 201, 201, 201, 201, 201, 201, 201, 201,
2454 + 64, 64, 201, 201, 64, 64, 201, 201, 201, 201, 201, 201, 201, 201, 201,
2455 + 201, 201, 201, 201, 201, 64, 201, 201, 201, 201, 201, 201, 201, 64, 201,
2456 + 201, 64, 201, 201, 201, 201, 201, 64, 64, 202, 201, 200, 199, 200, 199,
2457 + 199, 199, 199, 64, 64, 200, 200, 64, 64, 200, 200, 203, 64, 64, 64, 64,
2458 + 64, 64, 64, 64, 199, 200, 64, 64, 64, 64, 201, 201, 64, 201, 201, 201,
2459 + 199, 199, 64, 64, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 205,
2460 + 201, 206, 206, 206, 206, 206, 206, 64, 64, 207, 208, 64, 208, 208, 208,
2461 + 208, 208, 208, 64, 64, 64, 208, 208, 208, 64, 208, 208, 208, 208, 64, 64,
2462 + 64, 208, 208, 64, 208, 64, 208, 208, 64, 64, 64, 208, 208, 64, 64, 64,
2463 + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 64, 64, 64, 64, 209,
2464 + 209, 207, 209, 209, 64, 64, 64, 209, 209, 209, 64, 209, 209, 209, 210,
2465 + 64, 64, 208, 64, 64, 64, 64, 64, 64, 209, 64, 64, 64, 64, 64, 64, 211,
2466 + 211, 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, 213, 213,
2467 + 213, 213, 213, 213, 214, 213, 64, 64, 64, 64, 64, 64, 215, 215, 215, 64,
2468 + 216, 216, 216, 216, 216, 216, 216, 216, 64, 216, 216, 216, 64, 216, 216,
2469 + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
2470 + 216, 216, 64, 216, 216, 216, 216, 216, 64, 64, 64, 216, 217, 217, 217,
2471 + 215, 215, 215, 215, 64, 217, 217, 217, 64, 217, 217, 217, 218, 64, 64,
2472 + 64, 64, 64, 64, 64, 219, 220, 64, 216, 216, 64, 64, 64, 64, 64, 64, 216,
2473 + 216, 217, 217, 64, 64, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
2474 + 222, 222, 222, 222, 222, 222, 222, 223, 64, 64, 224, 224, 64, 225, 225,
2475 + 225, 225, 225, 225, 225, 225, 64, 225, 225, 225, 64, 225, 225, 225, 225,
2476 + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 64,
2477 + 225, 225, 225, 225, 225, 64, 64, 226, 225, 224, 227, 224, 224, 224, 224,
2478 + 224, 64, 227, 224, 224, 64, 224, 224, 228, 229, 64, 64, 64, 64, 64, 64,
2479 + 64, 224, 224, 64, 64, 64, 64, 64, 64, 64, 225, 64, 225, 225, 228, 228,
2480 + 64, 64, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 64, 225, 225,
2481 + 64, 64, 64, 64, 64, 64, 64, 231, 231, 64, 232, 232, 232, 232, 232, 232,
2482 + 232, 232, 64, 232, 232, 232, 64, 232, 232, 232, 232, 232, 232, 232, 232,
2483 + 232, 232, 232, 232, 232, 232, 232, 232, 232, 64, 64, 232, 231, 231, 231,
2484 + 233, 233, 233, 233, 64, 231, 231, 231, 64, 231, 231, 231, 234, 232, 64,
2485 + 64, 64, 64, 64, 64, 64, 64, 231, 232, 232, 233, 233, 64, 64, 235, 235,
2486 + 235, 235, 235, 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, 236, 64,
2487 + 64, 64, 237, 232, 232, 232, 232, 232, 232, 64, 64, 238, 238, 64, 239,
2488 + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
2489 + 239, 239, 239, 64, 64, 64, 239, 239, 239, 239, 239, 239, 239, 239, 64,
2490 + 239, 239, 239, 239, 239, 239, 239, 239, 239, 64, 239, 64, 64, 64, 64,
2491 + 240, 64, 64, 64, 64, 238, 238, 238, 241, 241, 241, 64, 241, 64, 238, 238,
2492 + 238, 238, 238, 238, 238, 238, 64, 64, 238, 238, 242, 64, 64, 64, 64, 243,
2493 + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
2494 + 243, 244, 243, 243, 244, 244, 244, 244, 245, 245, 246, 64, 64, 64, 64,
2495 + 247, 243, 243, 243, 243, 243, 243, 248, 244, 249, 249, 249, 249, 244,
2496 + 244, 244, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 250,
2497 + 250, 64, 64, 64, 64, 64, 252, 252, 64, 252, 64, 64, 252, 252, 64, 252,
2498 + 64, 64, 252, 64, 64, 64, 64, 64, 64, 252, 252, 252, 252, 64, 252, 252,
2499 + 252, 252, 252, 252, 252, 64, 252, 252, 252, 64, 252, 64, 252, 64, 64,
2500 + 252, 252, 64, 252, 252, 252, 252, 253, 252, 252, 253, 253, 253, 253, 254,
2501 + 254, 64, 253, 253, 252, 64, 64, 252, 252, 252, 252, 252, 64, 255, 64,
2502 + 256, 256, 256, 256, 253, 253, 64, 64, 257, 257, 257, 257, 257, 257, 257,
2503 + 257, 257, 257, 64, 64, 252, 252, 252, 252, 258, 259, 259, 259, 260, 260,
2504 + 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 259,
2505 + 260, 259, 259, 259, 261, 261, 259, 259, 259, 259, 259, 259, 262, 262,
2506 + 262, 262, 262, 262, 262, 262, 262, 262, 263, 263, 263, 263, 263, 263,
2507 + 263, 263, 263, 263, 259, 261, 259, 261, 259, 264, 265, 266, 265, 266,
2508 + 267, 267, 258, 258, 258, 258, 258, 258, 258, 258, 64, 258, 258, 258, 258,
2509 + 258, 258, 258, 258, 258, 258, 258, 258, 64, 64, 64, 64, 268, 269, 270,
2510 + 271, 270, 270, 270, 270, 270, 269, 269, 269, 269, 270, 267, 269, 270,
2511 + 272, 272, 273, 260, 272, 272, 258, 258, 258, 258, 258, 270, 270, 270,
2512 + 270, 270, 270, 270, 270, 270, 270, 270, 64, 270, 270, 270, 270, 270, 270,
2513 + 270, 270, 270, 270, 270, 270, 64, 259, 259, 259, 259, 259, 259, 259, 259,
2514 + 261, 259, 259, 259, 259, 259, 259, 64, 259, 259, 260, 260, 260, 260, 260,
2515 + 274, 274, 274, 274, 260, 260, 64, 64, 64, 64, 64, 275, 275, 275, 275,
2516 + 275, 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, 277, 277, 276,
2517 + 277, 277, 277, 277, 277, 278, 276, 279, 279, 276, 276, 277, 277, 275,
2518 + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, 281, 281, 281,
2519 + 281, 281, 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, 275, 275,
2520 + 275, 275, 277, 277, 277, 275, 276, 276, 276, 275, 275, 276, 276, 276,
2521 + 276, 276, 276, 276, 275, 275, 275, 277, 277, 277, 277, 275, 275, 275,
2522 + 275, 275, 277, 276, 276, 277, 277, 276, 276, 276, 276, 276, 276, 282,
2523 + 275, 276, 280, 280, 276, 276, 276, 277, 283, 283, 284, 284, 284, 284,
2524 + 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 64, 284, 64, 64, 64,
2525 + 64, 64, 284, 64, 64, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
2526 + 285, 84, 286, 285, 285, 285, 287, 287, 287, 287, 287, 287, 287, 287, 288,
2527 + 288, 288, 288, 288, 288, 288, 288, 289, 289, 289, 289, 289, 289, 289,
2528 + 289, 289, 64, 289, 289, 289, 289, 64, 64, 289, 289, 289, 289, 289, 289,
2529 + 289, 64, 289, 289, 289, 64, 64, 290, 290, 290, 291, 291, 291, 291, 291,
2530 + 291, 291, 291, 291, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
2531 + 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 64, 64, 64, 293, 293,
2532 + 293, 293, 293, 293, 293, 293, 293, 293, 64, 64, 64, 64, 64, 64, 294, 294,
2533 + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 64, 64, 64, 295,
2534 + 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
2535 + 296, 296, 296, 296, 296, 296, 297, 297, 296, 298, 299, 299, 299, 299,
2536 + 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
2537 + 300, 301, 64, 64, 64, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
2538 + 302, 84, 84, 84, 303, 303, 303, 64, 64, 64, 64, 64, 64, 64, 304, 304,
2539 + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 64, 304, 304, 304,
2540 + 304, 305, 305, 306, 64, 64, 64, 307, 307, 307, 307, 307, 307, 307, 307,
2541 + 307, 307, 308, 308, 309, 84, 84, 64, 310, 310, 310, 310, 310, 310, 310,
2542 + 310, 310, 310, 311, 311, 64, 64, 64, 64, 312, 312, 312, 312, 312, 312,
2543 + 312, 312, 312, 312, 312, 312, 312, 64, 312, 312, 312, 64, 313, 313, 64,
2544 + 64, 64, 64, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
2545 + 315, 315, 316, 315, 315, 315, 315, 315, 315, 315, 316, 316, 316, 316,
2546 + 316, 316, 316, 316, 315, 316, 316, 315, 315, 315, 315, 315, 315, 315,
2547 + 315, 315, 317, 315, 318, 318, 318, 319, 318, 318, 318, 320, 314, 321, 64,
2548 + 64, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 64, 64, 64, 64, 64,
2549 + 64, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 64, 64, 64, 64, 64,
2550 + 64, 324, 324, 66, 66, 324, 66, 325, 324, 324, 324, 324, 326, 326, 326,
2551 + 327, 64, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 64, 64, 64,
2552 + 64, 64, 64, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 330,
2553 + 329, 329, 329, 329, 329, 331, 329, 64, 64, 64, 64, 64, 296, 296, 296,
2554 + 296, 296, 296, 64, 64, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
2555 + 332, 332, 332, 64, 64, 64, 333, 333, 333, 334, 334, 334, 334, 333, 333,
2556 + 334, 334, 334, 64, 64, 64, 64, 334, 334, 333, 334, 334, 334, 334, 334,
2557 + 334, 335, 336, 337, 64, 64, 64, 64, 338, 64, 64, 64, 339, 339, 340, 340,
2558 + 340, 340, 340, 340, 340, 340, 340, 340, 341, 341, 341, 341, 341, 341,
2559 + 341, 341, 341, 341, 341, 341, 341, 341, 64, 64, 341, 341, 341, 341, 341,
2560 + 64, 64, 64, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
2561 + 64, 64, 64, 64, 343, 343, 343, 343, 343, 343, 343, 343, 343, 342, 342,
2562 + 342, 342, 342, 342, 342, 343, 343, 64, 64, 64, 64, 64, 64, 344, 344, 344,
2563 + 344, 344, 344, 344, 344, 344, 344, 345, 64, 64, 64, 346, 346, 347, 347,
2564 + 347, 347, 347, 347, 347, 347, 348, 348, 348, 348, 348, 348, 348, 348,
2565 + 348, 348, 348, 348, 348, 348, 348, 349, 350, 351, 351, 351, 64, 64, 352,
2566 + 352, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
2567 + 354, 355, 354, 355, 355, 355, 355, 355, 355, 355, 64, 356, 354, 355, 354,
2568 + 354, 355, 355, 355, 355, 355, 355, 355, 355, 354, 354, 354, 354, 354,
2569 + 354, 355, 355, 357, 357, 357, 357, 357, 357, 357, 357, 64, 64, 358, 359,
2570 + 359, 359, 359, 359, 359, 359, 359, 359, 359, 64, 64, 64, 64, 64, 64, 360,
2571 + 360, 360, 360, 360, 360, 360, 361, 360, 360, 360, 360, 360, 360, 64, 64,
2572 + 362, 362, 362, 362, 363, 364, 364, 364, 364, 364, 364, 364, 364, 364,
2573 + 364, 364, 364, 364, 364, 364, 365, 363, 362, 362, 362, 362, 362, 363,
2574 + 362, 363, 363, 363, 363, 363, 362, 363, 366, 364, 364, 364, 364, 364,
2575 + 364, 364, 64, 64, 64, 64, 367, 367, 367, 367, 367, 367, 367, 367, 367,
2576 + 367, 368, 368, 368, 368, 368, 368, 368, 369, 369, 369, 369, 369, 369,
2577 + 369, 369, 369, 369, 370, 371, 370, 370, 370, 370, 370, 370, 370, 369,
2578 + 369, 369, 369, 369, 369, 369, 369, 369, 64, 64, 64, 372, 372, 373, 374,
2579 + 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 373,
2580 + 372, 372, 372, 372, 373, 373, 372, 372, 375, 376, 373, 373, 374, 374,
2581 + 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 374, 374, 374, 374,
2582 + 374, 374, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
2583 + 378, 378, 379, 380, 381, 381, 380, 380, 380, 381, 380, 381, 381, 381,
2584 + 382, 382, 64, 64, 64, 64, 64, 64, 64, 64, 383, 383, 383, 383, 384, 384,
2585 + 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 385, 385, 385, 385,
2586 + 385, 385, 385, 385, 386, 386, 386, 386, 386, 386, 386, 386, 385, 385,
2587 + 386, 387, 64, 64, 64, 388, 388, 388, 388, 388, 389, 389, 389, 389, 389,
2588 + 389, 389, 389, 389, 389, 64, 64, 64, 384, 384, 384, 390, 390, 390, 390,
2589 + 390, 390, 390, 390, 390, 390, 391, 391, 391, 391, 391, 391, 391, 391,
2590 + 391, 391, 391, 391, 391, 391, 392, 392, 392, 392, 392, 392, 393, 393,
2591 + 394, 394, 394, 394, 394, 394, 394, 394, 78, 78, 78, 84, 395, 133, 133,
2592 + 133, 133, 133, 78, 78, 133, 133, 133, 133, 78, 396, 395, 395, 395, 395,
2593 + 395, 395, 395, 397, 397, 397, 397, 133, 397, 397, 397, 397, 396, 396, 78,
2594 + 397, 397, 64, 41, 41, 41, 41, 41, 41, 62, 62, 62, 62, 62, 75, 44, 44, 44,
2595 + 44, 44, 44, 44, 44, 44, 65, 65, 65, 65, 65, 44, 44, 44, 44, 65, 65, 65,
2596 + 65, 65, 41, 41, 41, 41, 41, 398, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
2597 + 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 65, 78, 78, 133, 78, 78,
2598 + 78, 78, 78, 78, 78, 133, 78, 78, 399, 400, 133, 401, 78, 78, 78, 78, 78,
2599 + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 64,
2600 + 64, 64, 64, 64, 402, 133, 78, 133, 37, 41, 37, 41, 37, 41, 41, 41, 41,
2601 + 41, 41, 41, 41, 41, 37, 41, 62, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61,
2602 + 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 64, 64, 61, 61, 61, 61, 61,
2603 + 61, 64, 64, 64, 61, 64, 61, 64, 61, 64, 61, 403, 403, 403, 403, 403, 403,
2604 + 403, 403, 62, 62, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403, 63, 62,
2605 + 63, 63, 63, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403, 63, 63, 63, 62,
2606 + 62, 62, 62, 64, 64, 62, 62, 61, 61, 61, 61, 64, 63, 63, 63, 61, 61, 61,
2607 + 61, 61, 63, 63, 63, 64, 64, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403,
2608 + 63, 63, 64, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 405,
2609 + 406, 406, 407, 408, 409, 410, 410, 409, 409, 409, 22, 66, 411, 412, 413,
2610 + 414, 411, 412, 413, 414, 22, 22, 22, 66, 22, 22, 22, 22, 415, 416, 417,
2611 + 418, 419, 420, 421, 21, 422, 423, 422, 422, 423, 22, 66, 66, 66, 28, 35,
2612 + 22, 66, 66, 22, 424, 424, 66, 66, 66, 425, 426, 427, 66, 66, 66, 66, 66,
2613 + 66, 66, 66, 66, 66, 66, 428, 66, 424, 66, 66, 66, 66, 66, 66, 66, 66, 66,
2614 + 66, 404, 405, 405, 405, 405, 405, 64, 64, 64, 64, 64, 405, 405, 405, 405,
2615 + 405, 405, 429, 44, 64, 64, 33, 429, 429, 429, 429, 429, 430, 430, 428,
2616 + 426, 427, 431, 429, 33, 33, 33, 33, 429, 429, 429, 429, 429, 430, 430,
2617 + 428, 426, 427, 64, 44, 44, 44, 44, 44, 64, 64, 64, 247, 247, 247, 247,
2618 + 247, 247, 247, 247, 247, 432, 247, 247, 23, 247, 247, 247, 247, 247, 247,
2619 + 64, 64, 64, 64, 64, 78, 78, 395, 395, 78, 78, 78, 78, 395, 395, 395, 78,
2620 + 78, 433, 433, 433, 433, 78, 433, 433, 433, 395, 395, 78, 133, 78, 395,
2621 + 395, 133, 133, 133, 133, 78, 64, 64, 64, 64, 64, 64, 64, 26, 26, 434, 30,
2622 + 26, 30, 26, 434, 26, 30, 34, 434, 434, 434, 34, 34, 434, 434, 434, 435,
2623 + 26, 434, 30, 26, 428, 434, 434, 434, 434, 434, 26, 26, 26, 30, 30, 26,
2624 + 434, 26, 67, 26, 434, 26, 37, 38, 434, 434, 436, 34, 434, 434, 37, 434,
2625 + 34, 397, 397, 397, 397, 34, 26, 26, 34, 34, 434, 434, 437, 428, 428, 428,
2626 + 428, 434, 34, 34, 34, 34, 26, 428, 26, 26, 41, 274, 438, 438, 438, 36,
2627 + 36, 438, 438, 438, 438, 438, 438, 36, 36, 36, 36, 438, 439, 439, 439,
2628 + 439, 439, 439, 439, 439, 439, 439, 439, 439, 440, 440, 440, 440, 439,
2629 + 439, 440, 440, 440, 440, 440, 440, 440, 440, 440, 37, 41, 440, 440, 440,
2630 + 440, 36, 64, 64, 64, 64, 64, 64, 39, 39, 39, 39, 39, 30, 30, 30, 30, 30,
2631 + 428, 428, 26, 26, 26, 26, 428, 26, 26, 428, 26, 26, 428, 26, 26, 26, 26,
2632 + 26, 26, 26, 428, 26, 26, 26, 26, 26, 26, 26, 26, 26, 30, 30, 26, 26, 26,
2633 + 26, 26, 26, 26, 26, 26, 26, 26, 26, 428, 428, 26, 26, 39, 26, 39, 26, 26,
2634 + 26, 26, 26, 26, 26, 26, 26, 26, 30, 26, 26, 26, 26, 428, 428, 428, 428,
2635 + 428, 428, 428, 428, 428, 428, 428, 428, 39, 437, 441, 441, 437, 428, 428,
2636 + 39, 441, 437, 437, 441, 437, 437, 428, 39, 428, 441, 430, 442, 428, 441,
2637 + 437, 428, 428, 428, 441, 437, 437, 441, 39, 441, 441, 437, 437, 39, 437,
2638 + 39, 437, 39, 39, 39, 39, 441, 441, 437, 441, 437, 437, 437, 437, 437, 39,
2639 + 39, 39, 39, 428, 437, 428, 437, 441, 441, 437, 437, 437, 437, 437, 437,
2640 + 437, 437, 437, 437, 441, 437, 437, 437, 441, 428, 428, 428, 428, 428,
2641 + 441, 437, 437, 437, 428, 428, 428, 428, 428, 428, 428, 428, 428, 437,
2642 + 441, 39, 437, 428, 441, 441, 441, 441, 437, 437, 441, 441, 428, 428, 441,
2643 + 441, 437, 437, 441, 441, 437, 437, 441, 441, 437, 437, 437, 437, 437,
2644 + 428, 428, 437, 437, 437, 437, 428, 428, 39, 428, 428, 437, 39, 428, 428,
2645 + 428, 428, 428, 428, 428, 428, 437, 437, 428, 39, 437, 437, 437, 428, 428,
2646 + 428, 428, 428, 437, 441, 428, 437, 437, 437, 437, 437, 428, 428, 437,
2647 + 437, 428, 428, 428, 428, 437, 437, 437, 437, 437, 437, 437, 437, 428,
2648 + 428, 437, 437, 437, 437, 26, 26, 26, 26, 26, 26, 30, 26, 26, 26, 26, 26,
2649 + 437, 437, 26, 26, 26, 26, 26, 26, 26, 443, 444, 26, 26, 26, 26, 26, 26,
2650 + 26, 26, 26, 26, 26, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
2651 + 274, 274, 274, 26, 428, 26, 26, 26, 26, 26, 26, 26, 26, 274, 26, 26, 26,
2652 + 26, 26, 428, 428, 428, 428, 428, 428, 428, 428, 428, 26, 26, 26, 26, 428,
2653 + 428, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 64, 64, 64, 64, 26, 26, 26,
2654 + 26, 26, 26, 26, 64, 26, 26, 26, 64, 64, 64, 64, 64, 36, 36, 36, 36, 36,
2655 + 36, 36, 36, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 445, 445,
2656 + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 438, 36, 36,
2657 + 36, 36, 36, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 26, 26, 26,
2658 + 26, 26, 26, 30, 30, 30, 30, 26, 26, 30, 30, 26, 30, 30, 30, 30, 30, 26,
2659 + 26, 30, 30, 26, 26, 30, 39, 26, 26, 26, 26, 30, 30, 26, 26, 30, 39, 26,
2660 + 26, 26, 26, 30, 30, 30, 26, 26, 30, 26, 26, 30, 30, 26, 26, 26, 26, 26,
2661 + 30, 30, 26, 26, 30, 26, 26, 26, 26, 30, 30, 26, 26, 26, 26, 30, 26, 30,
2662 + 26, 30, 26, 30, 26, 26, 26, 26, 26, 30, 30, 26, 30, 30, 30, 26, 30, 30,
2663 + 30, 30, 26, 30, 30, 26, 39, 26, 26, 26, 26, 26, 26, 30, 30, 26, 26, 26,
2664 + 26, 274, 26, 26, 26, 26, 26, 26, 26, 30, 30, 30, 30, 30, 30, 30, 30, 30,
2665 + 30, 26, 30, 30, 30, 26, 30, 26, 26, 26, 26, 64, 26, 26, 26, 26, 26, 26,
2666 + 26, 26, 26, 26, 26, 26, 30, 26, 26, 426, 427, 426, 427, 426, 427, 426,
2667 + 427, 426, 427, 426, 427, 426, 427, 36, 36, 438, 438, 438, 438, 438, 438,
2668 + 438, 438, 438, 438, 438, 438, 26, 26, 26, 26, 437, 428, 428, 437, 437,
2669 + 426, 427, 428, 437, 437, 428, 437, 437, 437, 428, 428, 428, 428, 428,
2670 + 437, 437, 437, 437, 428, 428, 428, 428, 428, 437, 437, 437, 428, 428,
2671 + 428, 437, 437, 437, 437, 9, 10, 9, 10, 9, 10, 9, 10, 426, 427, 446, 446,
2672 + 446, 446, 446, 446, 446, 446, 428, 428, 428, 426, 427, 9, 10, 426, 427,
2673 + 426, 427, 426, 427, 426, 427, 426, 427, 428, 428, 437, 437, 437, 437,
2674 + 437, 437, 428, 428, 428, 428, 428, 428, 428, 428, 437, 428, 428, 428,
2675 + 428, 437, 437, 437, 437, 437, 428, 437, 437, 428, 428, 426, 427, 426,
2676 + 427, 437, 428, 428, 428, 428, 437, 428, 437, 437, 437, 428, 428, 437,
2677 + 437, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 437, 437, 437,
2678 + 437, 437, 437, 428, 428, 426, 427, 428, 428, 428, 428, 437, 437, 437,
2679 + 437, 437, 437, 437, 437, 437, 437, 437, 428, 437, 437, 437, 437, 428,
2680 + 428, 437, 428, 437, 428, 428, 437, 428, 437, 437, 437, 437, 428, 428,
2681 + 428, 428, 428, 437, 437, 428, 428, 428, 428, 437, 437, 437, 437, 428,
2682 + 437, 437, 428, 428, 437, 437, 428, 428, 428, 428, 437, 437, 437, 437,
2683 + 437, 437, 437, 437, 437, 437, 437, 428, 428, 437, 437, 437, 437, 437,
2684 + 437, 437, 437, 428, 437, 437, 437, 437, 437, 437, 437, 437, 428, 428,
2685 + 428, 428, 428, 437, 428, 437, 428, 428, 428, 437, 437, 437, 437, 437,
2686 + 428, 428, 428, 428, 437, 428, 428, 428, 437, 437, 437, 437, 437, 428,
2687 + 437, 428, 428, 428, 428, 428, 428, 428, 26, 26, 428, 428, 428, 428, 428,
2688 + 428, 64, 64, 64, 26, 26, 26, 26, 26, 30, 30, 30, 30, 30, 64, 64, 64, 64,
2689 + 64, 64, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
2690 + 447, 447, 64, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
2691 + 448, 448, 448, 64, 37, 41, 37, 37, 37, 41, 41, 37, 41, 37, 41, 37, 41,
2692 + 37, 37, 37, 37, 41, 37, 41, 41, 37, 41, 41, 41, 41, 41, 41, 44, 44, 37,
2693 + 37, 69, 70, 69, 70, 70, 449, 449, 449, 449, 449, 449, 69, 70, 69, 70,
2694 + 450, 450, 450, 69, 70, 64, 64, 64, 64, 64, 451, 451, 451, 451, 452, 451,
2695 + 451, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453,
2696 + 453, 64, 453, 64, 64, 64, 64, 64, 453, 64, 64, 454, 454, 454, 454, 454,
2697 + 454, 454, 454, 64, 64, 64, 64, 64, 64, 64, 455, 456, 64, 64, 64, 64, 64,
2698 + 64, 64, 64, 64, 64, 64, 64, 64, 64, 457, 77, 77, 77, 77, 77, 77, 77, 77,
2699 + 66, 66, 28, 35, 28, 35, 66, 66, 66, 28, 35, 66, 28, 35, 66, 66, 66, 66,
2700 + 66, 66, 66, 66, 66, 410, 66, 66, 410, 66, 28, 35, 66, 66, 28, 35, 426,
2701 + 427, 426, 427, 426, 427, 426, 427, 66, 66, 66, 66, 66, 45, 66, 66, 410,
2702 + 410, 64, 64, 64, 64, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
2703 + 64, 458, 458, 458, 458, 458, 458, 458, 458, 458, 64, 64, 64, 64, 458,
2704 + 458, 458, 458, 458, 458, 64, 64, 459, 459, 459, 459, 459, 459, 459, 459,
2705 + 459, 459, 459, 459, 64, 64, 64, 64, 460, 461, 461, 461, 459, 462, 463,
2706 + 464, 443, 444, 443, 444, 443, 444, 443, 444, 443, 444, 459, 459, 443,
2707 + 444, 443, 444, 443, 444, 443, 444, 465, 466, 467, 467, 459, 464, 464,
2708 + 464, 464, 464, 464, 464, 464, 464, 468, 469, 470, 471, 472, 472, 465,
2709 + 473, 473, 473, 473, 473, 459, 459, 464, 464, 464, 462, 463, 461, 459, 26,
2710 + 64, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
2711 + 474, 474, 474, 474, 474, 474, 474, 474, 64, 64, 475, 475, 476, 476, 477,
2712 + 477, 474, 465, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
2713 + 478, 478, 478, 478, 478, 478, 478, 461, 473, 479, 479, 478, 64, 64, 64,
2714 + 64, 64, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
2715 + 480, 480, 480, 480, 64, 64, 64, 287, 287, 287, 287, 287, 287, 287, 287,
2716 + 287, 287, 287, 287, 287, 287, 64, 481, 481, 482, 482, 482, 482, 481, 481,
2717 + 481, 481, 481, 481, 481, 481, 481, 481, 480, 480, 480, 64, 64, 64, 64,
2718 + 64, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 484,
2719 + 484, 64, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 481, 481, 481,
2720 + 481, 481, 481, 485, 485, 485, 485, 485, 485, 485, 485, 459, 486, 486,
2721 + 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 483,
2722 + 483, 483, 483, 484, 484, 484, 481, 481, 486, 486, 486, 486, 486, 486,
2723 + 486, 481, 481, 481, 481, 459, 459, 459, 459, 487, 487, 487, 487, 487,
2724 + 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 64, 481, 481, 481, 481,
2725 + 481, 481, 481, 459, 459, 459, 459, 481, 481, 481, 481, 481, 481, 481,
2726 + 481, 481, 481, 481, 459, 459, 488, 489, 489, 489, 489, 489, 489, 489,
2727 + 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 488,
2728 + 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 489, 489, 489, 489,
2729 + 488, 490, 490, 490, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491,
2730 + 491, 491, 491, 492, 491, 491, 491, 491, 491, 491, 491, 64, 64, 64, 493,
2731 + 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 64,
2732 + 494, 494, 494, 494, 494, 494, 494, 494, 495, 495, 495, 495, 495, 495,
2733 + 496, 496, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497,
2734 + 498, 499, 499, 499, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
2735 + 497, 497, 64, 64, 64, 64, 72, 75, 72, 75, 72, 75, 501, 77, 79, 79, 79,
2736 + 502, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 502, 503, 64, 64, 64, 64,
2737 + 64, 64, 64, 77, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
2738 + 504, 504, 504, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 506,
2739 + 506, 507, 507, 507, 507, 507, 507, 47, 47, 47, 47, 47, 47, 47, 45, 45,
2740 + 45, 45, 45, 45, 45, 45, 45, 47, 47, 37, 41, 37, 41, 37, 41, 41, 41, 37,
2741 + 41, 37, 41, 37, 41, 44, 41, 41, 41, 41, 41, 41, 41, 41, 37, 41, 37, 41,
2742 + 37, 37, 41, 45, 508, 508, 37, 41, 37, 41, 64, 37, 41, 37, 41, 64, 64, 64,
2743 + 64, 37, 41, 37, 64, 64, 64, 64, 64, 44, 44, 41, 42, 42, 42, 42, 42, 509,
2744 + 509, 510, 509, 509, 509, 511, 509, 509, 509, 509, 510, 509, 509, 509,
2745 + 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 512, 512,
2746 + 510, 510, 512, 513, 513, 513, 513, 64, 64, 64, 64, 514, 514, 514, 514,
2747 + 514, 514, 274, 274, 247, 436, 64, 64, 64, 64, 64, 64, 515, 515, 515, 515,
2748 + 515, 515, 515, 515, 515, 515, 515, 515, 516, 516, 516, 516, 517, 517,
2749 + 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518,
2750 + 518, 518, 518, 518, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
2751 + 517, 517, 517, 517, 517, 517, 519, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2752 + 520, 520, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 64, 64, 64,
2753 + 64, 64, 64, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 169, 169,
2754 + 169, 169, 169, 169, 174, 174, 174, 169, 64, 64, 64, 64, 522, 522, 522,
2755 + 522, 522, 522, 522, 522, 522, 522, 523, 523, 523, 523, 523, 523, 523,
2756 + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 524,
2757 + 524, 524, 524, 524, 525, 525, 525, 526, 526, 527, 527, 527, 527, 527,
2758 + 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 528, 528, 528, 528,
2759 + 528, 528, 528, 528, 528, 528, 528, 529, 530, 64, 64, 64, 64, 64, 64, 64,
2760 + 64, 64, 64, 64, 531, 287, 287, 287, 287, 287, 64, 64, 64, 532, 532, 532,
2761 + 533, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
2762 + 534, 534, 535, 533, 533, 532, 532, 532, 532, 533, 533, 532, 533, 533,
2763 + 533, 536, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
2764 + 537, 64, 538, 539, 539, 539, 539, 539, 539, 539, 539, 539, 539, 64, 64,
2765 + 64, 64, 537, 537, 540, 540, 540, 540, 540, 540, 540, 540, 540, 541, 541,
2766 + 541, 541, 541, 541, 542, 542, 541, 541, 542, 542, 541, 541, 64, 540, 540,
2767 + 540, 541, 540, 540, 540, 540, 540, 540, 540, 540, 541, 542, 64, 64, 543,
2768 + 543, 543, 543, 543, 543, 543, 543, 543, 543, 64, 64, 544, 544, 544, 544,
2769 + 545, 275, 275, 275, 275, 275, 275, 283, 283, 283, 275, 276, 64, 64, 64,
2770 + 64, 546, 546, 546, 546, 546, 546, 546, 546, 547, 546, 547, 547, 548, 546,
2771 + 546, 547, 547, 546, 546, 546, 546, 546, 547, 547, 546, 547, 546, 64, 64,
2772 + 64, 64, 64, 64, 64, 64, 546, 546, 549, 550, 550, 551, 551, 551, 551, 551,
2773 + 551, 551, 551, 551, 551, 551, 552, 553, 553, 552, 552, 554, 554, 551,
2774 + 555, 555, 552, 556, 64, 64, 289, 289, 289, 289, 289, 289, 64, 551, 551,
2775 + 551, 552, 552, 553, 552, 552, 553, 552, 552, 554, 552, 556, 64, 64, 557,
2776 + 557, 557, 557, 557, 557, 557, 557, 557, 557, 64, 64, 64, 64, 64, 64, 287,
2777 + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
2778 + 558, 558, 558, 558, 287, 64, 64, 64, 64, 288, 288, 288, 288, 288, 288,
2779 + 288, 64, 64, 64, 64, 288, 288, 288, 288, 288, 288, 288, 288, 288, 64, 64,
2780 + 64, 64, 559, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 559,
2781 + 560, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
2782 + 561, 561, 561, 561, 561, 561, 561, 561, 561, 560, 488, 488, 488, 488,
2783 + 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 490, 490, 488, 488,
2784 + 490, 490, 490, 490, 490, 490, 41, 41, 41, 41, 41, 41, 41, 64, 64, 64, 64,
2785 + 83, 83, 83, 83, 83, 64, 64, 64, 64, 64, 109, 562, 109, 109, 563, 109,
2786 + 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 64, 109, 109,
2787 + 109, 109, 109, 64, 109, 64, 109, 109, 64, 109, 109, 64, 109, 109, 123,
2788 + 123, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
2789 + 564, 564, 564, 64, 64, 64, 64, 64, 64, 64, 64, 64, 123, 123, 123, 123,
2790 + 123, 123, 123, 123, 123, 123, 123, 413, 565, 64, 64, 123, 123, 123, 123,
2791 + 123, 123, 123, 123, 123, 123, 114, 26, 64, 64, 58, 58, 58, 58, 58, 58,
2792 + 58, 58, 461, 461, 461, 461, 461, 461, 461, 466, 467, 461, 64, 64, 64, 64,
2793 + 64, 64, 461, 465, 465, 566, 566, 466, 467, 466, 467, 466, 467, 466, 467,
2794 + 466, 467, 466, 467, 466, 467, 466, 467, 461, 461, 466, 467, 461, 461,
2795 + 461, 461, 566, 566, 566, 567, 461, 567, 64, 461, 567, 461, 461, 465, 443,
2796 + 444, 443, 444, 443, 444, 568, 461, 461, 569, 570, 571, 571, 572, 64, 461,
2797 + 573, 568, 461, 64, 64, 64, 64, 123, 123, 123, 123, 123, 64, 123, 123,
2798 + 123, 123, 123, 123, 123, 64, 64, 405, 64, 574, 574, 575, 576, 575, 574,
2799 + 574, 577, 578, 574, 579, 580, 581, 580, 580, 582, 582, 582, 582, 582,
2800 + 582, 582, 582, 582, 582, 580, 574, 583, 584, 583, 574, 574, 585, 585,
2801 + 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
2802 + 585, 585, 577, 574, 578, 586, 587, 586, 588, 588, 588, 588, 588, 588,
2803 + 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 577, 584,
2804 + 578, 584, 577, 578, 589, 590, 591, 589, 589, 592, 592, 592, 592, 592,
2805 + 592, 592, 592, 592, 592, 593, 592, 592, 592, 592, 592, 592, 592, 592,
2806 + 592, 592, 592, 592, 592, 593, 593, 594, 594, 594, 594, 594, 594, 594,
2807 + 594, 594, 594, 594, 594, 594, 594, 594, 64, 64, 64, 594, 594, 594, 594,
2808 + 594, 594, 64, 64, 594, 594, 594, 64, 64, 64, 576, 576, 584, 586, 595,
2809 + 576, 576, 64, 596, 597, 597, 597, 597, 596, 596, 64, 64, 598, 598, 598,
2810 + 26, 30, 64, 64, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
2811 + 599, 64, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 64, 599, 599,
2812 + 599, 64, 599, 599, 64, 599, 599, 599, 599, 599, 599, 599, 64, 64, 599,
2813 + 599, 599, 64, 64, 64, 64, 64, 84, 66, 84, 64, 64, 64, 64, 514, 514, 514,
2814 + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 64, 64, 64, 274, 600,
2815 + 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 601, 601,
2816 + 601, 601, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
2817 + 602, 602, 602, 602, 602, 601, 64, 64, 64, 64, 64, 274, 274, 274, 274,
2818 + 274, 133, 64, 64, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
2819 + 603, 603, 64, 64, 64, 604, 604, 604, 604, 604, 604, 604, 604, 604, 64,
2820 + 64, 64, 64, 64, 64, 64, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605,
2821 + 605, 605, 605, 605, 605, 64, 606, 606, 606, 606, 64, 64, 64, 64, 607,
2822 + 607, 607, 607, 607, 607, 607, 607, 607, 608, 607, 607, 607, 607, 607,
2823 + 607, 607, 607, 608, 64, 64, 64, 64, 64, 609, 609, 609, 609, 609, 609,
2824 + 609, 609, 609, 609, 609, 609, 609, 609, 64, 610, 611, 611, 611, 611, 611,
2825 + 611, 611, 611, 611, 611, 611, 611, 64, 64, 64, 64, 612, 613, 613, 613,
2826 + 613, 613, 64, 64, 614, 614, 614, 614, 614, 614, 614, 614, 615, 615, 615,
2827 + 615, 615, 615, 615, 615, 616, 616, 616, 616, 616, 616, 616, 616, 617,
2828 + 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 64, 64,
2829 + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, 64, 64, 64, 64, 64, 64,
2830 + 619, 619, 619, 619, 619, 619, 64, 64, 619, 64, 619, 619, 619, 619, 619,
2831 + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619,
2832 + 619, 64, 619, 619, 64, 64, 64, 619, 64, 64, 619, 620, 620, 620, 620, 620,
2833 + 620, 620, 620, 620, 620, 620, 620, 620, 620, 64, 621, 622, 622, 622, 622,
2834 + 622, 622, 622, 622, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
2835 + 623, 623, 623, 623, 624, 624, 624, 624, 624, 624, 64, 64, 64, 625, 626,
2836 + 626, 626, 626, 626, 626, 626, 626, 626, 626, 64, 64, 64, 64, 64, 627,
2837 + 628, 628, 628, 628, 628, 628, 628, 628, 629, 629, 629, 629, 629, 629,
2838 + 629, 629, 64, 64, 64, 64, 64, 64, 629, 629, 630, 631, 631, 631, 64, 631,
2839 + 631, 64, 64, 64, 64, 64, 631, 632, 631, 633, 630, 630, 630, 630, 64, 630,
2840 + 630, 630, 64, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
2841 + 630, 630, 630, 630, 630, 630, 630, 64, 64, 64, 64, 633, 634, 632, 64, 64,
2842 + 64, 64, 635, 636, 636, 636, 636, 636, 636, 636, 636, 637, 637, 637, 637,
2843 + 637, 637, 637, 637, 637, 64, 64, 64, 64, 64, 64, 64, 638, 638, 638, 638,
2844 + 638, 638, 638, 638, 638, 638, 638, 638, 638, 639, 639, 640, 641, 641,
2845 + 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 64, 64, 64,
2846 + 642, 642, 642, 642, 642, 642, 642, 643, 643, 643, 643, 643, 643, 643,
2847 + 643, 643, 643, 643, 643, 643, 643, 64, 64, 644, 644, 644, 644, 644, 644,
2848 + 644, 644, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 64, 64,
2849 + 64, 64, 64, 646, 646, 646, 646, 646, 646, 646, 646, 647, 647, 647, 647,
2850 + 647, 647, 647, 647, 647, 64, 64, 64, 64, 64, 64, 64, 648, 648, 648, 648,
2851 + 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 64, 649, 650, 649,
2852 + 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 650,
2853 + 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 652,
2854 + 653, 653, 653, 653, 653, 653, 653, 64, 64, 64, 64, 654, 654, 654, 654,
2855 + 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654,
2856 + 654, 654, 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, 656, 656,
2857 + 657, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658,
2858 + 657, 657, 657, 656, 656, 656, 656, 657, 657, 659, 660, 661, 661, 662,
2859 + 661, 661, 661, 661, 64, 64, 64, 64, 64, 64, 663, 663, 663, 663, 663, 663,
2860 + 663, 663, 663, 64, 64, 64, 64, 64, 64, 64, 664, 664, 664, 664, 664, 664,
2861 + 664, 664, 664, 664, 64, 64, 64, 64, 64, 64, 665, 665, 665, 666, 666, 666,
2862 + 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666,
2863 + 666, 666, 666, 667, 667, 667, 667, 667, 668, 667, 667, 667, 667, 667,
2864 + 667, 669, 669, 64, 670, 670, 670, 670, 670, 670, 670, 670, 670, 670, 671,
2865 + 671, 671, 671, 64, 64, 64, 64, 672, 672, 673, 674, 674, 674, 674, 674,
2866 + 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 673, 673, 673,
2867 + 672, 672, 672, 672, 672, 672, 672, 672, 672, 673, 675, 674, 674, 674,
2868 + 674, 676, 676, 676, 676, 64, 64, 64, 64, 64, 64, 64, 677, 677, 677, 677,
2869 + 677, 677, 677, 677, 677, 677, 64, 64, 64, 64, 64, 64, 678, 678, 678, 678,
2870 + 678, 678, 678, 678, 678, 678, 678, 679, 680, 679, 680, 680, 679, 679,
2871 + 679, 679, 679, 679, 681, 682, 683, 683, 683, 683, 683, 683, 683, 683,
2872 + 683, 683, 64, 64, 64, 64, 64, 64, 684, 684, 684, 684, 684, 684, 684, 684,
2873 + 684, 684, 684, 684, 684, 684, 684, 64, 685, 685, 685, 685, 685, 685, 685,
2874 + 685, 685, 685, 685, 64, 64, 64, 64, 64, 686, 686, 686, 686, 64, 64, 64,
2875 + 64, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687,
2876 + 687, 64, 504, 64, 64, 64, 64, 64, 64, 64, 688, 688, 688, 688, 688, 688,
2877 + 688, 688, 688, 688, 688, 688, 688, 64, 64, 64, 688, 689, 689, 689, 689,
2878 + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689,
2879 + 689, 689, 689, 689, 64, 64, 64, 64, 64, 64, 64, 64, 690, 690, 690, 690,
2880 + 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 478,
2881 + 474, 64, 64, 64, 64, 64, 64, 274, 274, 274, 274, 274, 274, 64, 64, 274,
2882 + 274, 274, 274, 274, 274, 274, 64, 64, 274, 274, 274, 274, 274, 274, 274,
2883 + 274, 274, 274, 274, 274, 692, 692, 395, 395, 395, 274, 274, 274, 693,
2884 + 692, 692, 692, 692, 692, 405, 405, 405, 405, 405, 405, 405, 405, 133,
2885 + 133, 133, 133, 133, 133, 133, 133, 274, 274, 78, 78, 78, 78, 78, 133,
2886 + 133, 274, 274, 274, 274, 274, 274, 78, 78, 78, 78, 274, 274, 602, 602,
2887 + 694, 694, 694, 602, 64, 64, 514, 514, 64, 64, 64, 64, 64, 64, 434, 434,
2888 + 434, 434, 434, 434, 434, 434, 434, 434, 34, 34, 34, 34, 34, 34, 34, 34,
2889 + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434, 434, 434,
2890 + 434, 434, 434, 434, 34, 34, 34, 34, 34, 34, 34, 64, 34, 34, 34, 34, 34,
2891 + 34, 434, 64, 434, 434, 64, 64, 434, 64, 64, 434, 434, 64, 64, 434, 434,
2892 + 434, 434, 64, 434, 434, 34, 34, 64, 34, 64, 34, 34, 34, 34, 34, 34, 34,
2893 + 64, 34, 34, 34, 34, 34, 34, 34, 434, 434, 64, 434, 434, 434, 434, 64, 64,
2894 + 434, 434, 434, 434, 434, 434, 434, 434, 64, 434, 434, 434, 434, 434, 434,
2895 + 434, 64, 34, 34, 434, 434, 64, 434, 434, 434, 434, 64, 434, 434, 434,
2896 + 434, 434, 64, 434, 64, 64, 64, 434, 434, 434, 434, 434, 434, 434, 64, 34,
2897 + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 64, 64, 434, 695, 34, 34, 34,
2898 + 34, 34, 34, 34, 34, 34, 437, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434,
2899 + 434, 434, 434, 434, 434, 695, 34, 34, 34, 34, 34, 34, 34, 34, 34, 437,
2900 + 34, 34, 434, 434, 434, 434, 434, 695, 34, 34, 34, 34, 34, 34, 34, 34, 34,
2901 + 437, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434, 434, 434, 434, 434, 434,
2902 + 695, 34, 437, 34, 34, 34, 34, 34, 34, 34, 34, 434, 34, 64, 64, 696, 696,
2903 + 696, 696, 696, 696, 696, 696, 696, 696, 123, 123, 123, 123, 64, 123, 123,
2904 + 123, 64, 123, 123, 64, 123, 64, 64, 123, 64, 123, 123, 123, 123, 123,
2905 + 123, 123, 123, 123, 123, 64, 123, 123, 123, 123, 64, 123, 64, 123, 64,
2906 + 64, 64, 64, 64, 64, 123, 64, 64, 64, 64, 123, 64, 123, 64, 123, 64, 123,
2907 + 123, 123, 64, 123, 64, 123, 64, 123, 64, 123, 64, 123, 123, 123, 123, 64,
2908 + 123, 64, 123, 123, 64, 123, 123, 123, 123, 123, 123, 123, 123, 123, 64,
2909 + 64, 64, 64, 64, 123, 123, 123, 64, 123, 123, 123, 111, 111, 64, 64, 64,
2910 + 64, 64, 64, 33, 33, 33, 64, 64, 64, 64, 64, 445, 445, 445, 445, 445, 445,
2911 + 274, 64, 445, 445, 26, 26, 64, 64, 64, 64, 445, 445, 445, 64, 64, 64, 64,
2912 + 64, 64, 64, 64, 64, 64, 64, 274, 274, 697, 481, 481, 64, 64, 64, 64, 64,
2913 + 481, 481, 481, 64, 64, 64, 64, 64, 481, 64, 64, 64, 64, 64, 64, 64, 481,
2914 + 481, 64, 64, 64, 64, 64, 64, 26, 64, 64, 64, 64, 64, 64, 64, 26, 26, 26,
2915 + 26, 26, 26, 64, 26, 26, 26, 26, 26, 26, 64, 64, 64, 26, 26, 26, 26, 26,
2916 + 64, 26, 26, 26, 64, 26, 26, 26, 26, 26, 26, 64, 26, 26, 26, 26, 64, 64,
2917 + 64, 26, 26, 26, 26, 26, 26, 64, 64, 64, 64, 64, 26, 26, 26, 26, 26, 26,
2918 + 64, 64, 64, 64, 26, 26, 26, 489, 489, 489, 489, 489, 489, 488, 490, 490,
2919 + 490, 490, 490, 490, 490, 64, 64, 64, 405, 64, 64, 64, 64, 64, 64, 405,
2920 + 405, 405, 405, 405, 405, 405, 405, 561, 561, 561, 561, 561, 560, 64, 64,
2921 + );
2922 +
2923 +}