Created
November 2, 2024 18:54
-
-
Save guest271314/a446ae5f2bb770e246351cb57c6efbc8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export class FACharacterClasses { | |
static unicodeCategories = [ | |
[ | |
65, | |
90, | |
192, | |
214, | |
216, | |
222, | |
256, | |
256, | |
258, | |
258, | |
260, | |
260, | |
262, | |
262, | |
264, | |
264, | |
266, | |
266, | |
268, | |
268, | |
270, | |
270, | |
272, | |
272, | |
274, | |
274, | |
276, | |
276, | |
278, | |
278, | |
280, | |
280, | |
282, | |
282, | |
284, | |
284, | |
286, | |
286, | |
288, | |
288, | |
290, | |
290, | |
292, | |
292, | |
294, | |
294, | |
296, | |
296, | |
298, | |
298, | |
300, | |
300, | |
302, | |
302, | |
304, | |
304, | |
306, | |
306, | |
308, | |
308, | |
310, | |
310, | |
313, | |
313, | |
315, | |
315, | |
317, | |
317, | |
319, | |
319, | |
321, | |
321, | |
323, | |
323, | |
325, | |
325, | |
327, | |
327, | |
330, | |
330, | |
332, | |
332, | |
334, | |
334, | |
336, | |
336, | |
338, | |
338, | |
340, | |
340, | |
342, | |
342, | |
344, | |
344, | |
346, | |
346, | |
348, | |
348, | |
350, | |
350, | |
352, | |
352, | |
354, | |
354, | |
356, | |
356, | |
358, | |
358, | |
360, | |
360, | |
362, | |
362, | |
364, | |
364, | |
366, | |
366, | |
368, | |
368, | |
370, | |
370, | |
372, | |
372, | |
374, | |
374, | |
376, | |
377, | |
379, | |
379, | |
381, | |
381, | |
385, | |
386, | |
388, | |
388, | |
390, | |
391, | |
393, | |
395, | |
398, | |
401, | |
403, | |
404, | |
406, | |
408, | |
412, | |
413, | |
415, | |
416, | |
418, | |
418, | |
420, | |
420, | |
422, | |
423, | |
425, | |
425, | |
428, | |
428, | |
430, | |
431, | |
433, | |
435, | |
437, | |
437, | |
439, | |
440, | |
444, | |
444, | |
452, | |
452, | |
455, | |
455, | |
458, | |
458, | |
461, | |
461, | |
463, | |
463, | |
465, | |
465, | |
467, | |
467, | |
469, | |
469, | |
471, | |
471, | |
473, | |
473, | |
475, | |
475, | |
478, | |
478, | |
480, | |
480, | |
482, | |
482, | |
484, | |
484, | |
486, | |
486, | |
488, | |
488, | |
490, | |
490, | |
492, | |
492, | |
494, | |
494, | |
497, | |
497, | |
500, | |
500, | |
502, | |
504, | |
506, | |
506, | |
508, | |
508, | |
510, | |
510, | |
512, | |
512, | |
514, | |
514, | |
516, | |
516, | |
518, | |
518, | |
520, | |
520, | |
522, | |
522, | |
524, | |
524, | |
526, | |
526, | |
528, | |
528, | |
530, | |
530, | |
532, | |
532, | |
534, | |
534, | |
536, | |
536, | |
538, | |
538, | |
540, | |
540, | |
542, | |
542, | |
544, | |
544, | |
546, | |
546, | |
548, | |
548, | |
550, | |
550, | |
552, | |
552, | |
554, | |
554, | |
556, | |
556, | |
558, | |
558, | |
560, | |
560, | |
562, | |
562, | |
570, | |
571, | |
573, | |
574, | |
577, | |
577, | |
579, | |
582, | |
584, | |
584, | |
586, | |
586, | |
588, | |
588, | |
590, | |
590, | |
880, | |
880, | |
882, | |
882, | |
886, | |
886, | |
895, | |
895, | |
902, | |
902, | |
904, | |
906, | |
908, | |
908, | |
910, | |
911, | |
913, | |
929, | |
931, | |
939, | |
975, | |
975, | |
978, | |
980, | |
984, | |
984, | |
986, | |
986, | |
988, | |
988, | |
990, | |
990, | |
992, | |
992, | |
994, | |
994, | |
996, | |
996, | |
998, | |
998, | |
1000, | |
1000, | |
1002, | |
1002, | |
1004, | |
1004, | |
1006, | |
1006, | |
1012, | |
1012, | |
1015, | |
1015, | |
1017, | |
1018, | |
1021, | |
1071, | |
1120, | |
1120, | |
1122, | |
1122, | |
1124, | |
1124, | |
1126, | |
1126, | |
1128, | |
1128, | |
1130, | |
1130, | |
1132, | |
1132, | |
1134, | |
1134, | |
1136, | |
1136, | |
1138, | |
1138, | |
1140, | |
1140, | |
1142, | |
1142, | |
1144, | |
1144, | |
1146, | |
1146, | |
1148, | |
1148, | |
1150, | |
1150, | |
1152, | |
1152, | |
1162, | |
1162, | |
1164, | |
1164, | |
1166, | |
1166, | |
1168, | |
1168, | |
1170, | |
1170, | |
1172, | |
1172, | |
1174, | |
1174, | |
1176, | |
1176, | |
1178, | |
1178, | |
1180, | |
1180, | |
1182, | |
1182, | |
1184, | |
1184, | |
1186, | |
1186, | |
1188, | |
1188, | |
1190, | |
1190, | |
1192, | |
1192, | |
1194, | |
1194, | |
1196, | |
1196, | |
1198, | |
1198, | |
1200, | |
1200, | |
1202, | |
1202, | |
1204, | |
1204, | |
1206, | |
1206, | |
1208, | |
1208, | |
1210, | |
1210, | |
1212, | |
1212, | |
1214, | |
1214, | |
1216, | |
1217, | |
1219, | |
1219, | |
1221, | |
1221, | |
1223, | |
1223, | |
1225, | |
1225, | |
1227, | |
1227, | |
1229, | |
1229, | |
1232, | |
1232, | |
1234, | |
1234, | |
1236, | |
1236, | |
1238, | |
1238, | |
1240, | |
1240, | |
1242, | |
1242, | |
1244, | |
1244, | |
1246, | |
1246, | |
1248, | |
1248, | |
1250, | |
1250, | |
1252, | |
1252, | |
1254, | |
1254, | |
1256, | |
1256, | |
1258, | |
1258, | |
1260, | |
1260, | |
1262, | |
1262, | |
1264, | |
1264, | |
1266, | |
1266, | |
1268, | |
1268, | |
1270, | |
1270, | |
1272, | |
1272, | |
1274, | |
1274, | |
1276, | |
1276, | |
1278, | |
1278, | |
1280, | |
1280, | |
1282, | |
1282, | |
1284, | |
1284, | |
1286, | |
1286, | |
1288, | |
1288, | |
1290, | |
1290, | |
1292, | |
1292, | |
1294, | |
1294, | |
1296, | |
1296, | |
1298, | |
1298, | |
1300, | |
1300, | |
1302, | |
1302, | |
1304, | |
1304, | |
1306, | |
1306, | |
1308, | |
1308, | |
1310, | |
1310, | |
1312, | |
1312, | |
1314, | |
1314, | |
1316, | |
1316, | |
1318, | |
1318, | |
1320, | |
1320, | |
1322, | |
1322, | |
1324, | |
1324, | |
1326, | |
1326, | |
1329, | |
1366, | |
4256, | |
4293, | |
4295, | |
4295, | |
4301, | |
4301, | |
5024, | |
5109, | |
7680, | |
7680, | |
7682, | |
7682, | |
7684, | |
7684, | |
7686, | |
7686, | |
7688, | |
7688, | |
7690, | |
7690, | |
7692, | |
7692, | |
7694, | |
7694, | |
7696, | |
7696, | |
7698, | |
7698, | |
7700, | |
7700, | |
7702, | |
7702, | |
7704, | |
7704, | |
7706, | |
7706, | |
7708, | |
7708, | |
7710, | |
7710, | |
7712, | |
7712, | |
7714, | |
7714, | |
7716, | |
7716, | |
7718, | |
7718, | |
7720, | |
7720, | |
7722, | |
7722, | |
7724, | |
7724, | |
7726, | |
7726, | |
7728, | |
7728, | |
7730, | |
7730, | |
7732, | |
7732, | |
7734, | |
7734, | |
7736, | |
7736, | |
7738, | |
7738, | |
7740, | |
7740, | |
7742, | |
7742, | |
7744, | |
7744, | |
7746, | |
7746, | |
7748, | |
7748, | |
7750, | |
7750, | |
7752, | |
7752, | |
7754, | |
7754, | |
7756, | |
7756, | |
7758, | |
7758, | |
7760, | |
7760, | |
7762, | |
7762, | |
7764, | |
7764, | |
7766, | |
7766, | |
7768, | |
7768, | |
7770, | |
7770, | |
7772, | |
7772, | |
7774, | |
7774, | |
7776, | |
7776, | |
7778, | |
7778, | |
7780, | |
7780, | |
7782, | |
7782, | |
7784, | |
7784, | |
7786, | |
7786, | |
7788, | |
7788, | |
7790, | |
7790, | |
7792, | |
7792, | |
7794, | |
7794, | |
7796, | |
7796, | |
7798, | |
7798, | |
7800, | |
7800, | |
7802, | |
7802, | |
7804, | |
7804, | |
7806, | |
7806, | |
7808, | |
7808, | |
7810, | |
7810, | |
7812, | |
7812, | |
7814, | |
7814, | |
7816, | |
7816, | |
7818, | |
7818, | |
7820, | |
7820, | |
7822, | |
7822, | |
7824, | |
7824, | |
7826, | |
7826, | |
7828, | |
7828, | |
7838, | |
7838, | |
7840, | |
7840, | |
7842, | |
7842, | |
7844, | |
7844, | |
7846, | |
7846, | |
7848, | |
7848, | |
7850, | |
7850, | |
7852, | |
7852, | |
7854, | |
7854, | |
7856, | |
7856, | |
7858, | |
7858, | |
7860, | |
7860, | |
7862, | |
7862, | |
7864, | |
7864, | |
7866, | |
7866, | |
7868, | |
7868, | |
7870, | |
7870, | |
7872, | |
7872, | |
7874, | |
7874, | |
7876, | |
7876, | |
7878, | |
7878, | |
7880, | |
7880, | |
7882, | |
7882, | |
7884, | |
7884, | |
7886, | |
7886, | |
7888, | |
7888, | |
7890, | |
7890, | |
7892, | |
7892, | |
7894, | |
7894, | |
7896, | |
7896, | |
7898, | |
7898, | |
7900, | |
7900, | |
7902, | |
7902, | |
7904, | |
7904, | |
7906, | |
7906, | |
7908, | |
7908, | |
7910, | |
7910, | |
7912, | |
7912, | |
7914, | |
7914, | |
7916, | |
7916, | |
7918, | |
7918, | |
7920, | |
7920, | |
7922, | |
7922, | |
7924, | |
7924, | |
7926, | |
7926, | |
7928, | |
7928, | |
7930, | |
7930, | |
7932, | |
7932, | |
7934, | |
7934, | |
7944, | |
7951, | |
7960, | |
7965, | |
7976, | |
7983, | |
7992, | |
7999, | |
8008, | |
8013, | |
8025, | |
8025, | |
8027, | |
8027, | |
8029, | |
8029, | |
8031, | |
8031, | |
8040, | |
8047, | |
8120, | |
8123, | |
8136, | |
8139, | |
8152, | |
8155, | |
8168, | |
8172, | |
8184, | |
8187, | |
8450, | |
8450, | |
8455, | |
8455, | |
8459, | |
8461, | |
8464, | |
8466, | |
8469, | |
8469, | |
8473, | |
8477, | |
8484, | |
8484, | |
8486, | |
8486, | |
8488, | |
8488, | |
8490, | |
8493, | |
8496, | |
8499, | |
8510, | |
8511, | |
8517, | |
8517, | |
8579, | |
8579, | |
11264, | |
11310, | |
11360, | |
11360, | |
11362, | |
11364, | |
11367, | |
11367, | |
11369, | |
11369, | |
11371, | |
11371, | |
11373, | |
11376, | |
11378, | |
11378, | |
11381, | |
11381, | |
11390, | |
11392, | |
11394, | |
11394, | |
11396, | |
11396, | |
11398, | |
11398, | |
11400, | |
11400, | |
11402, | |
11402, | |
11404, | |
11404, | |
11406, | |
11406, | |
11408, | |
11408, | |
11410, | |
11410, | |
11412, | |
11412, | |
11414, | |
11414, | |
11416, | |
11416, | |
11418, | |
11418, | |
11420, | |
11420, | |
11422, | |
11422, | |
11424, | |
11424, | |
11426, | |
11426, | |
11428, | |
11428, | |
11430, | |
11430, | |
11432, | |
11432, | |
11434, | |
11434, | |
11436, | |
11436, | |
11438, | |
11438, | |
11440, | |
11440, | |
11442, | |
11442, | |
11444, | |
11444, | |
11446, | |
11446, | |
11448, | |
11448, | |
11450, | |
11450, | |
11452, | |
11452, | |
11454, | |
11454, | |
11456, | |
11456, | |
11458, | |
11458, | |
11460, | |
11460, | |
11462, | |
11462, | |
11464, | |
11464, | |
11466, | |
11466, | |
11468, | |
11468, | |
11470, | |
11470, | |
11472, | |
11472, | |
11474, | |
11474, | |
11476, | |
11476, | |
11478, | |
11478, | |
11480, | |
11480, | |
11482, | |
11482, | |
11484, | |
11484, | |
11486, | |
11486, | |
11488, | |
11488, | |
11490, | |
11490, | |
11499, | |
11499, | |
11501, | |
11501, | |
11506, | |
11506, | |
42560, | |
42560, | |
42562, | |
42562, | |
42564, | |
42564, | |
42566, | |
42566, | |
42568, | |
42568, | |
42570, | |
42570, | |
42572, | |
42572, | |
42574, | |
42574, | |
42576, | |
42576, | |
42578, | |
42578, | |
42580, | |
42580, | |
42582, | |
42582, | |
42584, | |
42584, | |
42586, | |
42586, | |
42588, | |
42588, | |
42590, | |
42590, | |
42592, | |
42592, | |
42594, | |
42594, | |
42596, | |
42596, | |
42598, | |
42598, | |
42600, | |
42600, | |
42602, | |
42602, | |
42604, | |
42604, | |
42624, | |
42624, | |
42626, | |
42626, | |
42628, | |
42628, | |
42630, | |
42630, | |
42632, | |
42632, | |
42634, | |
42634, | |
42636, | |
42636, | |
42638, | |
42638, | |
42640, | |
42640, | |
42642, | |
42642, | |
42644, | |
42644, | |
42646, | |
42646, | |
42648, | |
42648, | |
42650, | |
42650, | |
42786, | |
42786, | |
42788, | |
42788, | |
42790, | |
42790, | |
42792, | |
42792, | |
42794, | |
42794, | |
42796, | |
42796, | |
42798, | |
42798, | |
42802, | |
42802, | |
42804, | |
42804, | |
42806, | |
42806, | |
42808, | |
42808, | |
42810, | |
42810, | |
42812, | |
42812, | |
42814, | |
42814, | |
42816, | |
42816, | |
42818, | |
42818, | |
42820, | |
42820, | |
42822, | |
42822, | |
42824, | |
42824, | |
42826, | |
42826, | |
42828, | |
42828, | |
42830, | |
42830, | |
42832, | |
42832, | |
42834, | |
42834, | |
42836, | |
42836, | |
42838, | |
42838, | |
42840, | |
42840, | |
42842, | |
42842, | |
42844, | |
42844, | |
42846, | |
42846, | |
42848, | |
42848, | |
42850, | |
42850, | |
42852, | |
42852, | |
42854, | |
42854, | |
42856, | |
42856, | |
42858, | |
42858, | |
42860, | |
42860, | |
42862, | |
42862, | |
42873, | |
42873, | |
42875, | |
42875, | |
42877, | |
42878, | |
42880, | |
42880, | |
42882, | |
42882, | |
42884, | |
42884, | |
42886, | |
42886, | |
42891, | |
42891, | |
42893, | |
42893, | |
42896, | |
42896, | |
42898, | |
42898, | |
42902, | |
42902, | |
42904, | |
42904, | |
42906, | |
42906, | |
42908, | |
42908, | |
42910, | |
42910, | |
42912, | |
42912, | |
42914, | |
42914, | |
42916, | |
42916, | |
42918, | |
42918, | |
42920, | |
42920, | |
42922, | |
42925, | |
42928, | |
42932, | |
42934, | |
42934, | |
65313, | |
65338, | |
66560, | |
66599, | |
68736, | |
68786, | |
71840, | |
71871, | |
119808, | |
119833, | |
119860, | |
119885, | |
119912, | |
119937, | |
119964, | |
119964, | |
119966, | |
119967, | |
119970, | |
119970, | |
119973, | |
119974, | |
119977, | |
119980, | |
119982, | |
119989, | |
120016, | |
120041, | |
120068, | |
120069, | |
120071, | |
120074, | |
120077, | |
120084, | |
120086, | |
120092, | |
120120, | |
120121, | |
120123, | |
120126, | |
120128, | |
120132, | |
120134, | |
120134, | |
120138, | |
120144, | |
120172, | |
120197, | |
120224, | |
120249, | |
120276, | |
120301, | |
120328, | |
120353, | |
120380, | |
120405, | |
120432, | |
120457, | |
120488, | |
120512, | |
120546, | |
120570, | |
120604, | |
120628, | |
120662, | |
120686, | |
120720, | |
120744, | |
120778, | |
120778 | |
], | |
[ | |
97, | |
122, | |
170, | |
170, | |
181, | |
181, | |
186, | |
186, | |
223, | |
246, | |
248, | |
255, | |
257, | |
257, | |
259, | |
259, | |
261, | |
261, | |
263, | |
263, | |
265, | |
265, | |
267, | |
267, | |
269, | |
269, | |
271, | |
271, | |
273, | |
273, | |
275, | |
275, | |
277, | |
277, | |
279, | |
279, | |
281, | |
281, | |
283, | |
283, | |
285, | |
285, | |
287, | |
287, | |
289, | |
289, | |
291, | |
291, | |
293, | |
293, | |
295, | |
295, | |
297, | |
297, | |
299, | |
299, | |
301, | |
301, | |
303, | |
303, | |
305, | |
305, | |
307, | |
307, | |
309, | |
309, | |
311, | |
312, | |
314, | |
314, | |
316, | |
316, | |
318, | |
318, | |
320, | |
320, | |
322, | |
322, | |
324, | |
324, | |
326, | |
326, | |
328, | |
329, | |
331, | |
331, | |
333, | |
333, | |
335, | |
335, | |
337, | |
337, | |
339, | |
339, | |
341, | |
341, | |
343, | |
343, | |
345, | |
345, | |
347, | |
347, | |
349, | |
349, | |
351, | |
351, | |
353, | |
353, | |
355, | |
355, | |
357, | |
357, | |
359, | |
359, | |
361, | |
361, | |
363, | |
363, | |
365, | |
365, | |
367, | |
367, | |
369, | |
369, | |
371, | |
371, | |
373, | |
373, | |
375, | |
375, | |
378, | |
378, | |
380, | |
380, | |
382, | |
384, | |
387, | |
387, | |
389, | |
389, | |
392, | |
392, | |
396, | |
397, | |
402, | |
402, | |
405, | |
405, | |
409, | |
411, | |
414, | |
414, | |
417, | |
417, | |
419, | |
419, | |
421, | |
421, | |
424, | |
424, | |
426, | |
427, | |
429, | |
429, | |
432, | |
432, | |
436, | |
436, | |
438, | |
438, | |
441, | |
442, | |
445, | |
447, | |
454, | |
454, | |
457, | |
457, | |
460, | |
460, | |
462, | |
462, | |
464, | |
464, | |
466, | |
466, | |
468, | |
468, | |
470, | |
470, | |
472, | |
472, | |
474, | |
474, | |
476, | |
477, | |
479, | |
479, | |
481, | |
481, | |
483, | |
483, | |
485, | |
485, | |
487, | |
487, | |
489, | |
489, | |
491, | |
491, | |
493, | |
493, | |
495, | |
496, | |
499, | |
499, | |
501, | |
501, | |
505, | |
505, | |
507, | |
507, | |
509, | |
509, | |
511, | |
511, | |
513, | |
513, | |
515, | |
515, | |
517, | |
517, | |
519, | |
519, | |
521, | |
521, | |
523, | |
523, | |
525, | |
525, | |
527, | |
527, | |
529, | |
529, | |
531, | |
531, | |
533, | |
533, | |
535, | |
535, | |
537, | |
537, | |
539, | |
539, | |
541, | |
541, | |
543, | |
543, | |
545, | |
545, | |
547, | |
547, | |
549, | |
549, | |
551, | |
551, | |
553, | |
553, | |
555, | |
555, | |
557, | |
557, | |
559, | |
559, | |
561, | |
561, | |
563, | |
569, | |
572, | |
572, | |
575, | |
576, | |
578, | |
578, | |
583, | |
583, | |
585, | |
585, | |
587, | |
587, | |
589, | |
589, | |
591, | |
659, | |
661, | |
687, | |
881, | |
881, | |
883, | |
883, | |
887, | |
887, | |
891, | |
893, | |
912, | |
912, | |
940, | |
974, | |
976, | |
977, | |
981, | |
983, | |
985, | |
985, | |
987, | |
987, | |
989, | |
989, | |
991, | |
991, | |
993, | |
993, | |
995, | |
995, | |
997, | |
997, | |
999, | |
999, | |
1001, | |
1001, | |
1003, | |
1003, | |
1005, | |
1005, | |
1007, | |
1011, | |
1013, | |
1013, | |
1016, | |
1016, | |
1019, | |
1020, | |
1072, | |
1119, | |
1121, | |
1121, | |
1123, | |
1123, | |
1125, | |
1125, | |
1127, | |
1127, | |
1129, | |
1129, | |
1131, | |
1131, | |
1133, | |
1133, | |
1135, | |
1135, | |
1137, | |
1137, | |
1139, | |
1139, | |
1141, | |
1141, | |
1143, | |
1143, | |
1145, | |
1145, | |
1147, | |
1147, | |
1149, | |
1149, | |
1151, | |
1151, | |
1153, | |
1153, | |
1163, | |
1163, | |
1165, | |
1165, | |
1167, | |
1167, | |
1169, | |
1169, | |
1171, | |
1171, | |
1173, | |
1173, | |
1175, | |
1175, | |
1177, | |
1177, | |
1179, | |
1179, | |
1181, | |
1181, | |
1183, | |
1183, | |
1185, | |
1185, | |
1187, | |
1187, | |
1189, | |
1189, | |
1191, | |
1191, | |
1193, | |
1193, | |
1195, | |
1195, | |
1197, | |
1197, | |
1199, | |
1199, | |
1201, | |
1201, | |
1203, | |
1203, | |
1205, | |
1205, | |
1207, | |
1207, | |
1209, | |
1209, | |
1211, | |
1211, | |
1213, | |
1213, | |
1215, | |
1215, | |
1218, | |
1218, | |
1220, | |
1220, | |
1222, | |
1222, | |
1224, | |
1224, | |
1226, | |
1226, | |
1228, | |
1228, | |
1230, | |
1231, | |
1233, | |
1233, | |
1235, | |
1235, | |
1237, | |
1237, | |
1239, | |
1239, | |
1241, | |
1241, | |
1243, | |
1243, | |
1245, | |
1245, | |
1247, | |
1247, | |
1249, | |
1249, | |
1251, | |
1251, | |
1253, | |
1253, | |
1255, | |
1255, | |
1257, | |
1257, | |
1259, | |
1259, | |
1261, | |
1261, | |
1263, | |
1263, | |
1265, | |
1265, | |
1267, | |
1267, | |
1269, | |
1269, | |
1271, | |
1271, | |
1273, | |
1273, | |
1275, | |
1275, | |
1277, | |
1277, | |
1279, | |
1279, | |
1281, | |
1281, | |
1283, | |
1283, | |
1285, | |
1285, | |
1287, | |
1287, | |
1289, | |
1289, | |
1291, | |
1291, | |
1293, | |
1293, | |
1295, | |
1295, | |
1297, | |
1297, | |
1299, | |
1299, | |
1301, | |
1301, | |
1303, | |
1303, | |
1305, | |
1305, | |
1307, | |
1307, | |
1309, | |
1309, | |
1311, | |
1311, | |
1313, | |
1313, | |
1315, | |
1315, | |
1317, | |
1317, | |
1319, | |
1319, | |
1321, | |
1321, | |
1323, | |
1323, | |
1325, | |
1325, | |
1327, | |
1327, | |
1377, | |
1415, | |
5112, | |
5117, | |
7424, | |
7467, | |
7531, | |
7543, | |
7545, | |
7578, | |
7681, | |
7681, | |
7683, | |
7683, | |
7685, | |
7685, | |
7687, | |
7687, | |
7689, | |
7689, | |
7691, | |
7691, | |
7693, | |
7693, | |
7695, | |
7695, | |
7697, | |
7697, | |
7699, | |
7699, | |
7701, | |
7701, | |
7703, | |
7703, | |
7705, | |
7705, | |
7707, | |
7707, | |
7709, | |
7709, | |
7711, | |
7711, | |
7713, | |
7713, | |
7715, | |
7715, | |
7717, | |
7717, | |
7719, | |
7719, | |
7721, | |
7721, | |
7723, | |
7723, | |
7725, | |
7725, | |
7727, | |
7727, | |
7729, | |
7729, | |
7731, | |
7731, | |
7733, | |
7733, | |
7735, | |
7735, | |
7737, | |
7737, | |
7739, | |
7739, | |
7741, | |
7741, | |
7743, | |
7743, | |
7745, | |
7745, | |
7747, | |
7747, | |
7749, | |
7749, | |
7751, | |
7751, | |
7753, | |
7753, | |
7755, | |
7755, | |
7757, | |
7757, | |
7759, | |
7759, | |
7761, | |
7761, | |
7763, | |
7763, | |
7765, | |
7765, | |
7767, | |
7767, | |
7769, | |
7769, | |
7771, | |
7771, | |
7773, | |
7773, | |
7775, | |
7775, | |
7777, | |
7777, | |
7779, | |
7779, | |
7781, | |
7781, | |
7783, | |
7783, | |
7785, | |
7785, | |
7787, | |
7787, | |
7789, | |
7789, | |
7791, | |
7791, | |
7793, | |
7793, | |
7795, | |
7795, | |
7797, | |
7797, | |
7799, | |
7799, | |
7801, | |
7801, | |
7803, | |
7803, | |
7805, | |
7805, | |
7807, | |
7807, | |
7809, | |
7809, | |
7811, | |
7811, | |
7813, | |
7813, | |
7815, | |
7815, | |
7817, | |
7817, | |
7819, | |
7819, | |
7821, | |
7821, | |
7823, | |
7823, | |
7825, | |
7825, | |
7827, | |
7827, | |
7829, | |
7837, | |
7839, | |
7839, | |
7841, | |
7841, | |
7843, | |
7843, | |
7845, | |
7845, | |
7847, | |
7847, | |
7849, | |
7849, | |
7851, | |
7851, | |
7853, | |
7853, | |
7855, | |
7855, | |
7857, | |
7857, | |
7859, | |
7859, | |
7861, | |
7861, | |
7863, | |
7863, | |
7865, | |
7865, | |
7867, | |
7867, | |
7869, | |
7869, | |
7871, | |
7871, | |
7873, | |
7873, | |
7875, | |
7875, | |
7877, | |
7877, | |
7879, | |
7879, | |
7881, | |
7881, | |
7883, | |
7883, | |
7885, | |
7885, | |
7887, | |
7887, | |
7889, | |
7889, | |
7891, | |
7891, | |
7893, | |
7893, | |
7895, | |
7895, | |
7897, | |
7897, | |
7899, | |
7899, | |
7901, | |
7901, | |
7903, | |
7903, | |
7905, | |
7905, | |
7907, | |
7907, | |
7909, | |
7909, | |
7911, | |
7911, | |
7913, | |
7913, | |
7915, | |
7915, | |
7917, | |
7917, | |
7919, | |
7919, | |
7921, | |
7921, | |
7923, | |
7923, | |
7925, | |
7925, | |
7927, | |
7927, | |
7929, | |
7929, | |
7931, | |
7931, | |
7933, | |
7933, | |
7935, | |
7943, | |
7952, | |
7957, | |
7968, | |
7975, | |
7984, | |
7991, | |
8000, | |
8005, | |
8016, | |
8023, | |
8032, | |
8039, | |
8048, | |
8061, | |
8064, | |
8071, | |
8080, | |
8087, | |
8096, | |
8103, | |
8112, | |
8116, | |
8118, | |
8119, | |
8126, | |
8126, | |
8130, | |
8132, | |
8134, | |
8135, | |
8144, | |
8147, | |
8150, | |
8151, | |
8160, | |
8167, | |
8178, | |
8180, | |
8182, | |
8183, | |
8458, | |
8458, | |
8462, | |
8463, | |
8467, | |
8467, | |
8495, | |
8495, | |
8500, | |
8500, | |
8505, | |
8505, | |
8508, | |
8509, | |
8518, | |
8521, | |
8526, | |
8526, | |
8580, | |
8580, | |
11312, | |
11358, | |
11361, | |
11361, | |
11365, | |
11366, | |
11368, | |
11368, | |
11370, | |
11370, | |
11372, | |
11372, | |
11377, | |
11377, | |
11379, | |
11380, | |
11382, | |
11387, | |
11393, | |
11393, | |
11395, | |
11395, | |
11397, | |
11397, | |
11399, | |
11399, | |
11401, | |
11401, | |
11403, | |
11403, | |
11405, | |
11405, | |
11407, | |
11407, | |
11409, | |
11409, | |
11411, | |
11411, | |
11413, | |
11413, | |
11415, | |
11415, | |
11417, | |
11417, | |
11419, | |
11419, | |
11421, | |
11421, | |
11423, | |
11423, | |
11425, | |
11425, | |
11427, | |
11427, | |
11429, | |
11429, | |
11431, | |
11431, | |
11433, | |
11433, | |
11435, | |
11435, | |
11437, | |
11437, | |
11439, | |
11439, | |
11441, | |
11441, | |
11443, | |
11443, | |
11445, | |
11445, | |
11447, | |
11447, | |
11449, | |
11449, | |
11451, | |
11451, | |
11453, | |
11453, | |
11455, | |
11455, | |
11457, | |
11457, | |
11459, | |
11459, | |
11461, | |
11461, | |
11463, | |
11463, | |
11465, | |
11465, | |
11467, | |
11467, | |
11469, | |
11469, | |
11471, | |
11471, | |
11473, | |
11473, | |
11475, | |
11475, | |
11477, | |
11477, | |
11479, | |
11479, | |
11481, | |
11481, | |
11483, | |
11483, | |
11485, | |
11485, | |
11487, | |
11487, | |
11489, | |
11489, | |
11491, | |
11492, | |
11500, | |
11500, | |
11502, | |
11502, | |
11507, | |
11507, | |
11520, | |
11557, | |
11559, | |
11559, | |
11565, | |
11565, | |
42561, | |
42561, | |
42563, | |
42563, | |
42565, | |
42565, | |
42567, | |
42567, | |
42569, | |
42569, | |
42571, | |
42571, | |
42573, | |
42573, | |
42575, | |
42575, | |
42577, | |
42577, | |
42579, | |
42579, | |
42581, | |
42581, | |
42583, | |
42583, | |
42585, | |
42585, | |
42587, | |
42587, | |
42589, | |
42589, | |
42591, | |
42591, | |
42593, | |
42593, | |
42595, | |
42595, | |
42597, | |
42597, | |
42599, | |
42599, | |
42601, | |
42601, | |
42603, | |
42603, | |
42605, | |
42605, | |
42625, | |
42625, | |
42627, | |
42627, | |
42629, | |
42629, | |
42631, | |
42631, | |
42633, | |
42633, | |
42635, | |
42635, | |
42637, | |
42637, | |
42639, | |
42639, | |
42641, | |
42641, | |
42643, | |
42643, | |
42645, | |
42645, | |
42647, | |
42647, | |
42649, | |
42649, | |
42651, | |
42651, | |
42787, | |
42787, | |
42789, | |
42789, | |
42791, | |
42791, | |
42793, | |
42793, | |
42795, | |
42795, | |
42797, | |
42797, | |
42799, | |
42801, | |
42803, | |
42803, | |
42805, | |
42805, | |
42807, | |
42807, | |
42809, | |
42809, | |
42811, | |
42811, | |
42813, | |
42813, | |
42815, | |
42815, | |
42817, | |
42817, | |
42819, | |
42819, | |
42821, | |
42821, | |
42823, | |
42823, | |
42825, | |
42825, | |
42827, | |
42827, | |
42829, | |
42829, | |
42831, | |
42831, | |
42833, | |
42833, | |
42835, | |
42835, | |
42837, | |
42837, | |
42839, | |
42839, | |
42841, | |
42841, | |
42843, | |
42843, | |
42845, | |
42845, | |
42847, | |
42847, | |
42849, | |
42849, | |
42851, | |
42851, | |
42853, | |
42853, | |
42855, | |
42855, | |
42857, | |
42857, | |
42859, | |
42859, | |
42861, | |
42861, | |
42863, | |
42863, | |
42865, | |
42872, | |
42874, | |
42874, | |
42876, | |
42876, | |
42879, | |
42879, | |
42881, | |
42881, | |
42883, | |
42883, | |
42885, | |
42885, | |
42887, | |
42887, | |
42892, | |
42892, | |
42894, | |
42894, | |
42897, | |
42897, | |
42899, | |
42901, | |
42903, | |
42903, | |
42905, | |
42905, | |
42907, | |
42907, | |
42909, | |
42909, | |
42911, | |
42911, | |
42913, | |
42913, | |
42915, | |
42915, | |
42917, | |
42917, | |
42919, | |
42919, | |
42921, | |
42921, | |
42933, | |
42933, | |
42935, | |
42935, | |
43002, | |
43002, | |
43824, | |
43866, | |
43872, | |
43877, | |
43888, | |
43967, | |
64256, | |
64262, | |
64275, | |
64279, | |
65345, | |
65370, | |
66600, | |
66639, | |
68800, | |
68850, | |
71872, | |
71903, | |
119834, | |
119859, | |
119886, | |
119892, | |
119894, | |
119911, | |
119938, | |
119963, | |
119990, | |
119993, | |
119995, | |
119995, | |
119997, | |
120003, | |
120005, | |
120015, | |
120042, | |
120067, | |
120094, | |
120119, | |
120146, | |
120171, | |
120198, | |
120223, | |
120250, | |
120275, | |
120302, | |
120327, | |
120354, | |
120379, | |
120406, | |
120431, | |
120458, | |
120485, | |
120514, | |
120538, | |
120540, | |
120545, | |
120572, | |
120596, | |
120598, | |
120603, | |
120630, | |
120654, | |
120656, | |
120661, | |
120688, | |
120712, | |
120714, | |
120719, | |
120746, | |
120770, | |
120772, | |
120777, | |
120779, | |
120779 | |
], | |
[ | |
453, | |
453, | |
456, | |
456, | |
459, | |
459, | |
498, | |
498, | |
8072, | |
8079, | |
8088, | |
8095, | |
8104, | |
8111, | |
8124, | |
8124, | |
8140, | |
8140, | |
8188, | |
8188 | |
], | |
[ | |
688, | |
705, | |
710, | |
721, | |
736, | |
740, | |
748, | |
748, | |
750, | |
750, | |
884, | |
884, | |
890, | |
890, | |
1369, | |
1369, | |
1600, | |
1600, | |
1765, | |
1766, | |
2036, | |
2037, | |
2042, | |
2042, | |
2074, | |
2074, | |
2084, | |
2084, | |
2088, | |
2088, | |
2417, | |
2417, | |
3654, | |
3654, | |
3782, | |
3782, | |
4348, | |
4348, | |
6103, | |
6103, | |
6211, | |
6211, | |
6823, | |
6823, | |
7288, | |
7293, | |
7468, | |
7530, | |
7544, | |
7544, | |
7579, | |
7615, | |
8305, | |
8305, | |
8319, | |
8319, | |
8336, | |
8348, | |
11388, | |
11389, | |
11631, | |
11631, | |
11823, | |
11823, | |
12293, | |
12293, | |
12337, | |
12341, | |
12347, | |
12347, | |
12445, | |
12446, | |
12540, | |
12542, | |
40981, | |
40981, | |
42232, | |
42237, | |
42508, | |
42508, | |
42623, | |
42623, | |
42652, | |
42653, | |
42775, | |
42783, | |
42864, | |
42864, | |
42888, | |
42888, | |
43000, | |
43001, | |
43471, | |
43471, | |
43494, | |
43494, | |
43632, | |
43632, | |
43741, | |
43741, | |
43763, | |
43764, | |
43868, | |
43871, | |
65392, | |
65392, | |
65438, | |
65439, | |
92992, | |
92995, | |
94099, | |
94111 | |
], | |
[ | |
443, | |
443, | |
448, | |
451, | |
660, | |
660, | |
1488, | |
1514, | |
1520, | |
1522, | |
1568, | |
1599, | |
1601, | |
1610, | |
1646, | |
1647, | |
1649, | |
1747, | |
1749, | |
1749, | |
1774, | |
1775, | |
1786, | |
1788, | |
1791, | |
1791, | |
1808, | |
1808, | |
1810, | |
1839, | |
1869, | |
1957, | |
1969, | |
1969, | |
1994, | |
2026, | |
2048, | |
2069, | |
2112, | |
2136, | |
2208, | |
2228, | |
2308, | |
2361, | |
2365, | |
2365, | |
2384, | |
2384, | |
2392, | |
2401, | |
2418, | |
2432, | |
2437, | |
2444, | |
2447, | |
2448, | |
2451, | |
2472, | |
2474, | |
2480, | |
2482, | |
2482, | |
2486, | |
2489, | |
2493, | |
2493, | |
2510, | |
2510, | |
2524, | |
2525, | |
2527, | |
2529, | |
2544, | |
2545, | |
2565, | |
2570, | |
2575, | |
2576, | |
2579, | |
2600, | |
2602, | |
2608, | |
2610, | |
2611, | |
2613, | |
2614, | |
2616, | |
2617, | |
2649, | |
2652, | |
2654, | |
2654, | |
2674, | |
2676, | |
2693, | |
2701, | |
2703, | |
2705, | |
2707, | |
2728, | |
2730, | |
2736, | |
2738, | |
2739, | |
2741, | |
2745, | |
2749, | |
2749, | |
2768, | |
2768, | |
2784, | |
2785, | |
2809, | |
2809, | |
2821, | |
2828, | |
2831, | |
2832, | |
2835, | |
2856, | |
2858, | |
2864, | |
2866, | |
2867, | |
2869, | |
2873, | |
2877, | |
2877, | |
2908, | |
2909, | |
2911, | |
2913, | |
2929, | |
2929, | |
2947, | |
2947, | |
2949, | |
2954, | |
2958, | |
2960, | |
2962, | |
2965, | |
2969, | |
2970, | |
2972, | |
2972, | |
2974, | |
2975, | |
2979, | |
2980, | |
2984, | |
2986, | |
2990, | |
3001, | |
3024, | |
3024, | |
3077, | |
3084, | |
3086, | |
3088, | |
3090, | |
3112, | |
3114, | |
3129, | |
3133, | |
3133, | |
3160, | |
3162, | |
3168, | |
3169, | |
3205, | |
3212, | |
3214, | |
3216, | |
3218, | |
3240, | |
3242, | |
3251, | |
3253, | |
3257, | |
3261, | |
3261, | |
3294, | |
3294, | |
3296, | |
3297, | |
3313, | |
3314, | |
3333, | |
3340, | |
3342, | |
3344, | |
3346, | |
3386, | |
3389, | |
3389, | |
3406, | |
3406, | |
3423, | |
3425, | |
3450, | |
3455, | |
3461, | |
3478, | |
3482, | |
3505, | |
3507, | |
3515, | |
3517, | |
3517, | |
3520, | |
3526, | |
3585, | |
3632, | |
3634, | |
3635, | |
3648, | |
3653, | |
3713, | |
3714, | |
3716, | |
3716, | |
3719, | |
3720, | |
3722, | |
3722, | |
3725, | |
3725, | |
3732, | |
3735, | |
3737, | |
3743, | |
3745, | |
3747, | |
3749, | |
3749, | |
3751, | |
3751, | |
3754, | |
3755, | |
3757, | |
3760, | |
3762, | |
3763, | |
3773, | |
3773, | |
3776, | |
3780, | |
3804, | |
3807, | |
3840, | |
3840, | |
3904, | |
3911, | |
3913, | |
3948, | |
3976, | |
3980, | |
4096, | |
4138, | |
4159, | |
4159, | |
4176, | |
4181, | |
4186, | |
4189, | |
4193, | |
4193, | |
4197, | |
4198, | |
4206, | |
4208, | |
4213, | |
4225, | |
4238, | |
4238, | |
4304, | |
4346, | |
4349, | |
4680, | |
4682, | |
4685, | |
4688, | |
4694, | |
4696, | |
4696, | |
4698, | |
4701, | |
4704, | |
4744, | |
4746, | |
4749, | |
4752, | |
4784, | |
4786, | |
4789, | |
4792, | |
4798, | |
4800, | |
4800, | |
4802, | |
4805, | |
4808, | |
4822, | |
4824, | |
4880, | |
4882, | |
4885, | |
4888, | |
4954, | |
4992, | |
5007, | |
5121, | |
5740, | |
5743, | |
5759, | |
5761, | |
5786, | |
5792, | |
5866, | |
5873, | |
5880, | |
5888, | |
5900, | |
5902, | |
5905, | |
5920, | |
5937, | |
5952, | |
5969, | |
5984, | |
5996, | |
5998, | |
6000, | |
6016, | |
6067, | |
6108, | |
6108, | |
6176, | |
6210, | |
6212, | |
6263, | |
6272, | |
6312, | |
6314, | |
6314, | |
6320, | |
6389, | |
6400, | |
6430, | |
6480, | |
6509, | |
6512, | |
6516, | |
6528, | |
6571, | |
6576, | |
6601, | |
6656, | |
6678, | |
6688, | |
6740, | |
6917, | |
6963, | |
6981, | |
6987, | |
7043, | |
7072, | |
7086, | |
7087, | |
7098, | |
7141, | |
7168, | |
7203, | |
7245, | |
7247, | |
7258, | |
7287, | |
7401, | |
7404, | |
7406, | |
7409, | |
7413, | |
7414, | |
8501, | |
8504, | |
11568, | |
11623, | |
11648, | |
11670, | |
11680, | |
11686, | |
11688, | |
11694, | |
11696, | |
11702, | |
11704, | |
11710, | |
11712, | |
11718, | |
11720, | |
11726, | |
11728, | |
11734, | |
11736, | |
11742, | |
12294, | |
12294, | |
12348, | |
12348, | |
12353, | |
12438, | |
12447, | |
12447, | |
12449, | |
12538, | |
12543, | |
12543, | |
12549, | |
12589, | |
12593, | |
12686, | |
12704, | |
12730, | |
12784, | |
12799, | |
13312, | |
19893, | |
19968, | |
40917, | |
40960, | |
40980, | |
40982, | |
42124, | |
42192, | |
42231, | |
42240, | |
42507, | |
42512, | |
42527, | |
42538, | |
42539, | |
42606, | |
42606, | |
42656, | |
42725, | |
42895, | |
42895, | |
42999, | |
42999, | |
43003, | |
43009, | |
43011, | |
43013, | |
43015, | |
43018, | |
43020, | |
43042, | |
43072, | |
43123, | |
43138, | |
43187, | |
43250, | |
43255, | |
43259, | |
43259, | |
43261, | |
43261, | |
43274, | |
43301, | |
43312, | |
43334, | |
43360, | |
43388, | |
43396, | |
43442, | |
43488, | |
43492, | |
43495, | |
43503, | |
43514, | |
43518, | |
43520, | |
43560, | |
43584, | |
43586, | |
43588, | |
43595, | |
43616, | |
43631, | |
43633, | |
43638, | |
43642, | |
43642, | |
43646, | |
43695, | |
43697, | |
43697, | |
43701, | |
43702, | |
43705, | |
43709, | |
43712, | |
43712, | |
43714, | |
43714, | |
43739, | |
43740, | |
43744, | |
43754, | |
43762, | |
43762, | |
43777, | |
43782, | |
43785, | |
43790, | |
43793, | |
43798, | |
43808, | |
43814, | |
43816, | |
43822, | |
43968, | |
44002, | |
44032, | |
55203, | |
55216, | |
55238, | |
55243, | |
55291, | |
63744, | |
64109, | |
64112, | |
64217, | |
64285, | |
64285, | |
64287, | |
64296, | |
64298, | |
64310, | |
64312, | |
64316, | |
64318, | |
64318, | |
64320, | |
64321, | |
64323, | |
64324, | |
64326, | |
64433, | |
64467, | |
64829, | |
64848, | |
64911, | |
64914, | |
64967, | |
65008, | |
65019, | |
65136, | |
65140, | |
65142, | |
65276, | |
65382, | |
65391, | |
65393, | |
65437, | |
65440, | |
65470, | |
65474, | |
65479, | |
65482, | |
65487, | |
65490, | |
65495, | |
65498, | |
65500, | |
65536, | |
65547, | |
65549, | |
65574, | |
65576, | |
65594, | |
65596, | |
65597, | |
65599, | |
65613, | |
65616, | |
65629, | |
65664, | |
65786, | |
66176, | |
66204, | |
66208, | |
66256, | |
66304, | |
66335, | |
66352, | |
66368, | |
66370, | |
66377, | |
66384, | |
66421, | |
66432, | |
66461, | |
66464, | |
66499, | |
66504, | |
66511, | |
66640, | |
66717, | |
66816, | |
66855, | |
66864, | |
66915, | |
67072, | |
67382, | |
67392, | |
67413, | |
67424, | |
67431, | |
67584, | |
67589, | |
67592, | |
67592, | |
67594, | |
67637, | |
67639, | |
67640, | |
67644, | |
67644, | |
67647, | |
67669, | |
67680, | |
67702, | |
67712, | |
67742, | |
67808, | |
67826, | |
67828, | |
67829, | |
67840, | |
67861, | |
67872, | |
67897, | |
67968, | |
68023, | |
68030, | |
68031, | |
68096, | |
68096, | |
68112, | |
68115, | |
68117, | |
68119, | |
68121, | |
68147, | |
68192, | |
68220, | |
68224, | |
68252, | |
68288, | |
68295, | |
68297, | |
68324, | |
68352, | |
68405, | |
68416, | |
68437, | |
68448, | |
68466, | |
68480, | |
68497, | |
68608, | |
68680, | |
69635, | |
69687, | |
69763, | |
69807, | |
69840, | |
69864, | |
69891, | |
69926, | |
69968, | |
70002, | |
70006, | |
70006, | |
70019, | |
70066, | |
70081, | |
70084, | |
70106, | |
70106, | |
70108, | |
70108, | |
70144, | |
70161, | |
70163, | |
70187, | |
70272, | |
70278, | |
70280, | |
70280, | |
70282, | |
70285, | |
70287, | |
70301, | |
70303, | |
70312, | |
70320, | |
70366, | |
70405, | |
70412, | |
70415, | |
70416, | |
70419, | |
70440, | |
70442, | |
70448, | |
70450, | |
70451, | |
70453, | |
70457, | |
70461, | |
70461, | |
70480, | |
70480, | |
70493, | |
70497, | |
70784, | |
70831, | |
70852, | |
70853, | |
70855, | |
70855, | |
71040, | |
71086, | |
71128, | |
71131, | |
71168, | |
71215, | |
71236, | |
71236, | |
71296, | |
71338, | |
71424, | |
71449, | |
71935, | |
71935, | |
72384, | |
72440, | |
73728, | |
74649, | |
74880, | |
75075, | |
77824, | |
78894, | |
82944, | |
83526, | |
92160, | |
92728, | |
92736, | |
92766, | |
92880, | |
92909, | |
92928, | |
92975, | |
93027, | |
93047, | |
93053, | |
93071, | |
93952, | |
94020, | |
94032, | |
94032, | |
110592, | |
110593, | |
113664, | |
113770, | |
113776, | |
113788, | |
113792, | |
113800, | |
113808, | |
113817, | |
124928, | |
125124, | |
126464, | |
126467, | |
126469, | |
126495, | |
126497, | |
126498, | |
126500, | |
126500, | |
126503, | |
126503, | |
126505, | |
126514, | |
126516, | |
126519, | |
126521, | |
126521, | |
126523, | |
126523, | |
126530, | |
126530, | |
126535, | |
126535, | |
126537, | |
126537, | |
126539, | |
126539, | |
126541, | |
126543, | |
126545, | |
126546, | |
126548, | |
126548, | |
126551, | |
126551, | |
126553, | |
126553, | |
126555, | |
126555, | |
126557, | |
126557, | |
126559, | |
126559, | |
126561, | |
126562, | |
126564, | |
126564, | |
126567, | |
126570, | |
126572, | |
126578, | |
126580, | |
126583, | |
126585, | |
126588, | |
126590, | |
126590, | |
126592, | |
126601, | |
126603, | |
126619, | |
126625, | |
126627, | |
126629, | |
126633, | |
126635, | |
126651, | |
131072, | |
173782, | |
173824, | |
177972, | |
177984, | |
178205, | |
178208, | |
183969, | |
194560, | |
195101 | |
], | |
[ | |
768, | |
879, | |
1155, | |
1159, | |
1425, | |
1469, | |
1471, | |
1471, | |
1473, | |
1474, | |
1476, | |
1477, | |
1479, | |
1479, | |
1552, | |
1562, | |
1611, | |
1631, | |
1648, | |
1648, | |
1750, | |
1756, | |
1759, | |
1764, | |
1767, | |
1768, | |
1770, | |
1773, | |
1809, | |
1809, | |
1840, | |
1866, | |
1958, | |
1968, | |
2027, | |
2035, | |
2070, | |
2073, | |
2075, | |
2083, | |
2085, | |
2087, | |
2089, | |
2093, | |
2137, | |
2139, | |
2275, | |
2306, | |
2362, | |
2362, | |
2364, | |
2364, | |
2369, | |
2376, | |
2381, | |
2381, | |
2385, | |
2391, | |
2402, | |
2403, | |
2433, | |
2433, | |
2492, | |
2492, | |
2497, | |
2500, | |
2509, | |
2509, | |
2530, | |
2531, | |
2561, | |
2562, | |
2620, | |
2620, | |
2625, | |
2626, | |
2631, | |
2632, | |
2635, | |
2637, | |
2641, | |
2641, | |
2672, | |
2673, | |
2677, | |
2677, | |
2689, | |
2690, | |
2748, | |
2748, | |
2753, | |
2757, | |
2759, | |
2760, | |
2765, | |
2765, | |
2786, | |
2787, | |
2817, | |
2817, | |
2876, | |
2876, | |
2879, | |
2879, | |
2881, | |
2884, | |
2893, | |
2893, | |
2902, | |
2902, | |
2914, | |
2915, | |
2946, | |
2946, | |
3008, | |
3008, | |
3021, | |
3021, | |
3072, | |
3072, | |
3134, | |
3136, | |
3142, | |
3144, | |
3146, | |
3149, | |
3157, | |
3158, | |
3170, | |
3171, | |
3201, | |
3201, | |
3260, | |
3260, | |
3263, | |
3263, | |
3270, | |
3270, | |
3276, | |
3277, | |
3298, | |
3299, | |
3329, | |
3329, | |
3393, | |
3396, | |
3405, | |
3405, | |
3426, | |
3427, | |
3530, | |
3530, | |
3538, | |
3540, | |
3542, | |
3542, | |
3633, | |
3633, | |
3636, | |
3642, | |
3655, | |
3662, | |
3761, | |
3761, | |
3764, | |
3769, | |
3771, | |
3772, | |
3784, | |
3789, | |
3864, | |
3865, | |
3893, | |
3893, | |
3895, | |
3895, | |
3897, | |
3897, | |
3953, | |
3966, | |
3968, | |
3972, | |
3974, | |
3975, | |
3981, | |
3991, | |
3993, | |
4028, | |
4038, | |
4038, | |
4141, | |
4144, | |
4146, | |
4151, | |
4153, | |
4154, | |
4157, | |
4158, | |
4184, | |
4185, | |
4190, | |
4192, | |
4209, | |
4212, | |
4226, | |
4226, | |
4229, | |
4230, | |
4237, | |
4237, | |
4253, | |
4253, | |
4957, | |
4959, | |
5906, | |
5908, | |
5938, | |
5940, | |
5970, | |
5971, | |
6002, | |
6003, | |
6068, | |
6069, | |
6071, | |
6077, | |
6086, | |
6086, | |
6089, | |
6099, | |
6109, | |
6109, | |
6155, | |
6157, | |
6313, | |
6313, | |
6432, | |
6434, | |
6439, | |
6440, | |
6450, | |
6450, | |
6457, | |
6459, | |
6679, | |
6680, | |
6683, | |
6683, | |
6742, | |
6742, | |
6744, | |
6750, | |
6752, | |
6752, | |
6754, | |
6754, | |
6757, | |
6764, | |
6771, | |
6780, | |
6783, | |
6783, | |
6832, | |
6845, | |
6912, | |
6915, | |
6964, | |
6964, | |
6966, | |
6970, | |
6972, | |
6972, | |
6978, | |
6978, | |
7019, | |
7027, | |
7040, | |
7041, | |
7074, | |
7077, | |
7080, | |
7081, | |
7083, | |
7085, | |
7142, | |
7142, | |
7144, | |
7145, | |
7149, | |
7149, | |
7151, | |
7153, | |
7212, | |
7219, | |
7222, | |
7223, | |
7376, | |
7378, | |
7380, | |
7392, | |
7394, | |
7400, | |
7405, | |
7405, | |
7412, | |
7412, | |
7416, | |
7417, | |
7616, | |
7669, | |
7676, | |
7679, | |
8400, | |
8412, | |
8417, | |
8417, | |
8421, | |
8432, | |
11503, | |
11505, | |
11647, | |
11647, | |
11744, | |
11775, | |
12330, | |
12333, | |
12441, | |
12442, | |
42607, | |
42607, | |
42612, | |
42621, | |
42654, | |
42655, | |
42736, | |
42737, | |
43010, | |
43010, | |
43014, | |
43014, | |
43019, | |
43019, | |
43045, | |
43046, | |
43204, | |
43204, | |
43232, | |
43249, | |
43302, | |
43309, | |
43335, | |
43345, | |
43392, | |
43394, | |
43443, | |
43443, | |
43446, | |
43449, | |
43452, | |
43452, | |
43493, | |
43493, | |
43561, | |
43566, | |
43569, | |
43570, | |
43573, | |
43574, | |
43587, | |
43587, | |
43596, | |
43596, | |
43644, | |
43644, | |
43696, | |
43696, | |
43698, | |
43700, | |
43703, | |
43704, | |
43710, | |
43711, | |
43713, | |
43713, | |
43756, | |
43757, | |
43766, | |
43766, | |
44005, | |
44005, | |
44008, | |
44008, | |
44013, | |
44013, | |
64286, | |
64286, | |
65024, | |
65039, | |
65056, | |
65071, | |
66045, | |
66045, | |
66272, | |
66272, | |
66422, | |
66426, | |
68097, | |
68099, | |
68101, | |
68102, | |
68108, | |
68111, | |
68152, | |
68154, | |
68159, | |
68159, | |
68325, | |
68326, | |
69633, | |
69633, | |
69688, | |
69702, | |
69759, | |
69761, | |
69811, | |
69814, | |
69817, | |
69818, | |
69888, | |
69890, | |
69927, | |
69931, | |
69933, | |
69940, | |
70003, | |
70003, | |
70016, | |
70017, | |
70070, | |
70078, | |
70090, | |
70092, | |
70191, | |
70193, | |
70196, | |
70196, | |
70198, | |
70199, | |
70367, | |
70367, | |
70371, | |
70378, | |
70400, | |
70401, | |
70460, | |
70460, | |
70464, | |
70464, | |
70502, | |
70508, | |
70512, | |
70516, | |
70835, | |
70840, | |
70842, | |
70842, | |
70847, | |
70848, | |
70850, | |
70851, | |
71090, | |
71093, | |
71100, | |
71101, | |
71103, | |
71104, | |
71132, | |
71133, | |
71219, | |
71226, | |
71229, | |
71229, | |
71231, | |
71232, | |
71339, | |
71339, | |
71341, | |
71341, | |
71344, | |
71349, | |
71351, | |
71351, | |
71453, | |
71455, | |
71458, | |
71461, | |
71463, | |
71467, | |
92912, | |
92916, | |
92976, | |
92982, | |
94095, | |
94098, | |
113821, | |
113822, | |
119143, | |
119145, | |
119163, | |
119170, | |
119173, | |
119179, | |
119210, | |
119213, | |
119362, | |
119364, | |
121344, | |
121398, | |
121403, | |
121452, | |
121461, | |
121461, | |
121476, | |
121476, | |
121499, | |
121503, | |
121505, | |
121519, | |
125136, | |
125142, | |
917760, | |
917999 | |
], | |
[ | |
2307, | |
2307, | |
2363, | |
2363, | |
2366, | |
2368, | |
2377, | |
2380, | |
2382, | |
2383, | |
2434, | |
2435, | |
2494, | |
2496, | |
2503, | |
2504, | |
2507, | |
2508, | |
2519, | |
2519, | |
2563, | |
2563, | |
2622, | |
2624, | |
2691, | |
2691, | |
2750, | |
2752, | |
2761, | |
2761, | |
2763, | |
2764, | |
2818, | |
2819, | |
2878, | |
2878, | |
2880, | |
2880, | |
2887, | |
2888, | |
2891, | |
2892, | |
2903, | |
2903, | |
3006, | |
3007, | |
3009, | |
3010, | |
3014, | |
3016, | |
3018, | |
3020, | |
3031, | |
3031, | |
3073, | |
3075, | |
3137, | |
3140, | |
3202, | |
3203, | |
3262, | |
3262, | |
3264, | |
3268, | |
3271, | |
3272, | |
3274, | |
3275, | |
3285, | |
3286, | |
3330, | |
3331, | |
3390, | |
3392, | |
3398, | |
3400, | |
3402, | |
3404, | |
3415, | |
3415, | |
3458, | |
3459, | |
3535, | |
3537, | |
3544, | |
3551, | |
3570, | |
3571, | |
3902, | |
3903, | |
3967, | |
3967, | |
4139, | |
4140, | |
4145, | |
4145, | |
4152, | |
4152, | |
4155, | |
4156, | |
4182, | |
4183, | |
4194, | |
4196, | |
4199, | |
4205, | |
4227, | |
4228, | |
4231, | |
4236, | |
4239, | |
4239, | |
4250, | |
4252, | |
6070, | |
6070, | |
6078, | |
6085, | |
6087, | |
6088, | |
6435, | |
6438, | |
6441, | |
6443, | |
6448, | |
6449, | |
6451, | |
6456, | |
6681, | |
6682, | |
6741, | |
6741, | |
6743, | |
6743, | |
6753, | |
6753, | |
6755, | |
6756, | |
6765, | |
6770, | |
6916, | |
6916, | |
6965, | |
6965, | |
6971, | |
6971, | |
6973, | |
6977, | |
6979, | |
6980, | |
7042, | |
7042, | |
7073, | |
7073, | |
7078, | |
7079, | |
7082, | |
7082, | |
7143, | |
7143, | |
7146, | |
7148, | |
7150, | |
7150, | |
7154, | |
7155, | |
7204, | |
7211, | |
7220, | |
7221, | |
7393, | |
7393, | |
7410, | |
7411, | |
12334, | |
12335, | |
43043, | |
43044, | |
43047, | |
43047, | |
43136, | |
43137, | |
43188, | |
43203, | |
43346, | |
43347, | |
43395, | |
43395, | |
43444, | |
43445, | |
43450, | |
43451, | |
43453, | |
43456, | |
43567, | |
43568, | |
43571, | |
43572, | |
43597, | |
43597, | |
43643, | |
43643, | |
43645, | |
43645, | |
43755, | |
43755, | |
43758, | |
43759, | |
43765, | |
43765, | |
44003, | |
44004, | |
44006, | |
44007, | |
44009, | |
44010, | |
44012, | |
44012, | |
69632, | |
69632, | |
69634, | |
69634, | |
69762, | |
69762, | |
69808, | |
69810, | |
69815, | |
69816, | |
69932, | |
69932, | |
70018, | |
70018, | |
70067, | |
70069, | |
70079, | |
70080, | |
70188, | |
70190, | |
70194, | |
70195, | |
70197, | |
70197, | |
70368, | |
70370, | |
70402, | |
70403, | |
70462, | |
70463, | |
70465, | |
70468, | |
70471, | |
70472, | |
70475, | |
70477, | |
70487, | |
70487, | |
70498, | |
70499, | |
70832, | |
70834, | |
70841, | |
70841, | |
70843, | |
70846, | |
70849, | |
70849, | |
71087, | |
71089, | |
71096, | |
71099, | |
71102, | |
71102, | |
71216, | |
71218, | |
71227, | |
71228, | |
71230, | |
71230, | |
71340, | |
71340, | |
71342, | |
71343, | |
71350, | |
71350, | |
71456, | |
71457, | |
71462, | |
71462, | |
94033, | |
94078, | |
119141, | |
119142, | |
119149, | |
119154 | |
], | |
[ | |
1160, | |
1161, | |
6846, | |
6846, | |
8413, | |
8416, | |
8418, | |
8420, | |
42608, | |
42610 | |
], | |
[ | |
48, | |
57, | |
1632, | |
1641, | |
1776, | |
1785, | |
1984, | |
1993, | |
2406, | |
2415, | |
2534, | |
2543, | |
2662, | |
2671, | |
2790, | |
2799, | |
2918, | |
2927, | |
3046, | |
3055, | |
3174, | |
3183, | |
3302, | |
3311, | |
3430, | |
3439, | |
3558, | |
3567, | |
3664, | |
3673, | |
3792, | |
3801, | |
3872, | |
3881, | |
4160, | |
4169, | |
4240, | |
4249, | |
6112, | |
6121, | |
6160, | |
6169, | |
6470, | |
6479, | |
6608, | |
6617, | |
6784, | |
6793, | |
6800, | |
6809, | |
6992, | |
7001, | |
7088, | |
7097, | |
7232, | |
7241, | |
7248, | |
7257, | |
42528, | |
42537, | |
43216, | |
43225, | |
43264, | |
43273, | |
43472, | |
43481, | |
43504, | |
43513, | |
43600, | |
43609, | |
44016, | |
44025, | |
65296, | |
65305, | |
66720, | |
66729, | |
69734, | |
69743, | |
69872, | |
69881, | |
69942, | |
69951, | |
70096, | |
70105, | |
70384, | |
70393, | |
70864, | |
70873, | |
71248, | |
71257, | |
71360, | |
71369, | |
71472, | |
71481, | |
71904, | |
71913, | |
92768, | |
92777, | |
93008, | |
93017, | |
120782, | |
120831 | |
], | |
[ | |
5870, | |
5872, | |
8544, | |
8578, | |
8581, | |
8584, | |
12295, | |
12295, | |
12321, | |
12329, | |
12344, | |
12346, | |
42726, | |
42735, | |
65856, | |
65908, | |
66369, | |
66369, | |
66378, | |
66378, | |
66513, | |
66517, | |
74752, | |
74862 | |
], | |
[ | |
178, | |
179, | |
185, | |
185, | |
188, | |
190, | |
2548, | |
2553, | |
2930, | |
2935, | |
3056, | |
3058, | |
3192, | |
3198, | |
3440, | |
3445, | |
3882, | |
3891, | |
4969, | |
4988, | |
6128, | |
6137, | |
6618, | |
6618, | |
8304, | |
8304, | |
8308, | |
8313, | |
8320, | |
8329, | |
8528, | |
8543, | |
8585, | |
8585, | |
9312, | |
9371, | |
9450, | |
9471, | |
10102, | |
10131, | |
11517, | |
11517, | |
12690, | |
12693, | |
12832, | |
12841, | |
12872, | |
12879, | |
12881, | |
12895, | |
12928, | |
12937, | |
12977, | |
12991, | |
43056, | |
43061, | |
65799, | |
65843, | |
65909, | |
65912, | |
65930, | |
65931, | |
66273, | |
66299, | |
66336, | |
66339, | |
67672, | |
67679, | |
67705, | |
67711, | |
67751, | |
67759, | |
67835, | |
67839, | |
67862, | |
67867, | |
68028, | |
68029, | |
68032, | |
68047, | |
68050, | |
68095, | |
68160, | |
68167, | |
68221, | |
68222, | |
68253, | |
68255, | |
68331, | |
68335, | |
68440, | |
68447, | |
68472, | |
68479, | |
68521, | |
68527, | |
68858, | |
68863, | |
69216, | |
69246, | |
69714, | |
69733, | |
70113, | |
70132, | |
71482, | |
71483, | |
71914, | |
71922, | |
93019, | |
93025, | |
119648, | |
119665, | |
125127, | |
125135, | |
127232, | |
127244 | |
], | |
[ | |
32, | |
32, | |
160, | |
160, | |
5760, | |
5760, | |
8192, | |
8202, | |
8239, | |
8239, | |
8287, | |
8287, | |
12288, | |
12288 | |
], | |
[ | |
8232, | |
8232 | |
], | |
[ | |
8233, | |
8233 | |
], | |
[ | |
0, | |
31, | |
127, | |
159 | |
], | |
[ | |
1536, | |
1541, | |
1564, | |
1564, | |
1757, | |
1757, | |
1807, | |
1807, | |
6158, | |
6158, | |
8203, | |
8207, | |
8234, | |
8238, | |
8288, | |
8292, | |
8294, | |
8303, | |
65279, | |
65279, | |
65529, | |
65531, | |
69821, | |
69821, | |
113824, | |
113827, | |
119155, | |
119162, | |
917505, | |
917505, | |
917536, | |
917631 | |
], | |
[], | |
[ | |
57344, | |
63743, | |
983040, | |
1048573, | |
1048576, | |
1114109 | |
], | |
[ | |
95, | |
95, | |
8255, | |
8256, | |
8276, | |
8276, | |
65075, | |
65076, | |
65101, | |
65103, | |
65343, | |
65343 | |
], | |
[ | |
45, | |
45, | |
173, | |
173, | |
1418, | |
1418, | |
1470, | |
1470, | |
5120, | |
5120, | |
6150, | |
6150, | |
8208, | |
8213, | |
11799, | |
11799, | |
11802, | |
11802, | |
11834, | |
11835, | |
11840, | |
11840, | |
12316, | |
12316, | |
12336, | |
12336, | |
12448, | |
12448, | |
65073, | |
65074, | |
65112, | |
65112, | |
65123, | |
65123, | |
65293, | |
65293 | |
], | |
[ | |
40, | |
40, | |
91, | |
91, | |
123, | |
123, | |
3898, | |
3898, | |
3900, | |
3900, | |
5787, | |
5787, | |
8218, | |
8218, | |
8222, | |
8222, | |
8261, | |
8261, | |
8317, | |
8317, | |
8333, | |
8333, | |
8968, | |
8968, | |
8970, | |
8970, | |
9001, | |
9001, | |
10088, | |
10088, | |
10090, | |
10090, | |
10092, | |
10092, | |
10094, | |
10094, | |
10096, | |
10096, | |
10098, | |
10098, | |
10100, | |
10100, | |
10181, | |
10181, | |
10214, | |
10214, | |
10216, | |
10216, | |
10218, | |
10218, | |
10220, | |
10220, | |
10222, | |
10222, | |
10627, | |
10627, | |
10629, | |
10629, | |
10631, | |
10631, | |
10633, | |
10633, | |
10635, | |
10635, | |
10637, | |
10637, | |
10639, | |
10639, | |
10641, | |
10641, | |
10643, | |
10643, | |
10645, | |
10645, | |
10647, | |
10647, | |
10712, | |
10712, | |
10714, | |
10714, | |
10748, | |
10748, | |
11810, | |
11810, | |
11812, | |
11812, | |
11814, | |
11814, | |
11816, | |
11816, | |
11842, | |
11842, | |
12296, | |
12296, | |
12298, | |
12298, | |
12300, | |
12300, | |
12302, | |
12302, | |
12304, | |
12304, | |
12308, | |
12308, | |
12310, | |
12310, | |
12312, | |
12312, | |
12314, | |
12314, | |
12317, | |
12317, | |
64831, | |
64831, | |
65047, | |
65047, | |
65077, | |
65077, | |
65079, | |
65079, | |
65081, | |
65081, | |
65083, | |
65083, | |
65085, | |
65085, | |
65087, | |
65087, | |
65089, | |
65089, | |
65091, | |
65091, | |
65095, | |
65095, | |
65113, | |
65113, | |
65115, | |
65115, | |
65117, | |
65117, | |
65288, | |
65288, | |
65339, | |
65339, | |
65371, | |
65371, | |
65375, | |
65375, | |
65378, | |
65378 | |
], | |
[ | |
41, | |
41, | |
93, | |
93, | |
125, | |
125, | |
3899, | |
3899, | |
3901, | |
3901, | |
5788, | |
5788, | |
8262, | |
8262, | |
8318, | |
8318, | |
8334, | |
8334, | |
8969, | |
8969, | |
8971, | |
8971, | |
9002, | |
9002, | |
10089, | |
10089, | |
10091, | |
10091, | |
10093, | |
10093, | |
10095, | |
10095, | |
10097, | |
10097, | |
10099, | |
10099, | |
10101, | |
10101, | |
10182, | |
10182, | |
10215, | |
10215, | |
10217, | |
10217, | |
10219, | |
10219, | |
10221, | |
10221, | |
10223, | |
10223, | |
10628, | |
10628, | |
10630, | |
10630, | |
10632, | |
10632, | |
10634, | |
10634, | |
10636, | |
10636, | |
10638, | |
10638, | |
10640, | |
10640, | |
10642, | |
10642, | |
10644, | |
10644, | |
10646, | |
10646, | |
10648, | |
10648, | |
10713, | |
10713, | |
10715, | |
10715, | |
10749, | |
10749, | |
11811, | |
11811, | |
11813, | |
11813, | |
11815, | |
11815, | |
11817, | |
11817, | |
12297, | |
12297, | |
12299, | |
12299, | |
12301, | |
12301, | |
12303, | |
12303, | |
12305, | |
12305, | |
12309, | |
12309, | |
12311, | |
12311, | |
12313, | |
12313, | |
12315, | |
12315, | |
12318, | |
12319, | |
64830, | |
64830, | |
65048, | |
65048, | |
65078, | |
65078, | |
65080, | |
65080, | |
65082, | |
65082, | |
65084, | |
65084, | |
65086, | |
65086, | |
65088, | |
65088, | |
65090, | |
65090, | |
65092, | |
65092, | |
65096, | |
65096, | |
65114, | |
65114, | |
65116, | |
65116, | |
65118, | |
65118, | |
65289, | |
65289, | |
65341, | |
65341, | |
65373, | |
65373, | |
65376, | |
65376, | |
65379, | |
65379 | |
], | |
[ | |
171, | |
171, | |
8216, | |
8216, | |
8219, | |
8220, | |
8223, | |
8223, | |
8249, | |
8249, | |
11778, | |
11778, | |
11780, | |
11780, | |
11785, | |
11785, | |
11788, | |
11788, | |
11804, | |
11804, | |
11808, | |
11808 | |
], | |
[ | |
187, | |
187, | |
8217, | |
8217, | |
8221, | |
8221, | |
8250, | |
8250, | |
11779, | |
11779, | |
11781, | |
11781, | |
11786, | |
11786, | |
11789, | |
11789, | |
11805, | |
11805, | |
11809, | |
11809 | |
], | |
[ | |
33, | |
35, | |
37, | |
39, | |
42, | |
42, | |
44, | |
44, | |
46, | |
47, | |
58, | |
59, | |
63, | |
64, | |
92, | |
92, | |
161, | |
161, | |
183, | |
183, | |
191, | |
191, | |
894, | |
894, | |
903, | |
903, | |
1370, | |
1375, | |
1417, | |
1417, | |
1472, | |
1472, | |
1475, | |
1475, | |
1478, | |
1478, | |
1523, | |
1524, | |
1545, | |
1546, | |
1548, | |
1549, | |
1563, | |
1563, | |
1566, | |
1567, | |
1642, | |
1645, | |
1748, | |
1748, | |
1792, | |
1805, | |
2039, | |
2041, | |
2096, | |
2110, | |
2142, | |
2142, | |
2404, | |
2405, | |
2416, | |
2416, | |
2800, | |
2800, | |
3572, | |
3572, | |
3663, | |
3663, | |
3674, | |
3675, | |
3844, | |
3858, | |
3860, | |
3860, | |
3973, | |
3973, | |
4048, | |
4052, | |
4057, | |
4058, | |
4170, | |
4175, | |
4347, | |
4347, | |
4960, | |
4968, | |
5741, | |
5742, | |
5867, | |
5869, | |
5941, | |
5942, | |
6100, | |
6102, | |
6104, | |
6106, | |
6144, | |
6149, | |
6151, | |
6154, | |
6468, | |
6469, | |
6686, | |
6687, | |
6816, | |
6822, | |
6824, | |
6829, | |
7002, | |
7008, | |
7164, | |
7167, | |
7227, | |
7231, | |
7294, | |
7295, | |
7360, | |
7367, | |
7379, | |
7379, | |
8214, | |
8215, | |
8224, | |
8231, | |
8240, | |
8248, | |
8251, | |
8254, | |
8257, | |
8259, | |
8263, | |
8273, | |
8275, | |
8275, | |
8277, | |
8286, | |
11513, | |
11516, | |
11518, | |
11519, | |
11632, | |
11632, | |
11776, | |
11777, | |
11782, | |
11784, | |
11787, | |
11787, | |
11790, | |
11798, | |
11800, | |
11801, | |
11803, | |
11803, | |
11806, | |
11807, | |
11818, | |
11822, | |
11824, | |
11833, | |
11836, | |
11839, | |
11841, | |
11841, | |
12289, | |
12291, | |
12349, | |
12349, | |
12539, | |
12539, | |
42238, | |
42239, | |
42509, | |
42511, | |
42611, | |
42611, | |
42622, | |
42622, | |
42738, | |
42743, | |
43124, | |
43127, | |
43214, | |
43215, | |
43256, | |
43258, | |
43260, | |
43260, | |
43310, | |
43311, | |
43359, | |
43359, | |
43457, | |
43469, | |
43486, | |
43487, | |
43612, | |
43615, | |
43742, | |
43743, | |
43760, | |
43761, | |
44011, | |
44011, | |
65040, | |
65046, | |
65049, | |
65049, | |
65072, | |
65072, | |
65093, | |
65094, | |
65097, | |
65100, | |
65104, | |
65106, | |
65108, | |
65111, | |
65119, | |
65121, | |
65128, | |
65128, | |
65130, | |
65131, | |
65281, | |
65283, | |
65285, | |
65287, | |
65290, | |
65290, | |
65292, | |
65292, | |
65294, | |
65295, | |
65306, | |
65307, | |
65311, | |
65312, | |
65340, | |
65340, | |
65377, | |
65377, | |
65380, | |
65381, | |
65792, | |
65794, | |
66463, | |
66463, | |
66512, | |
66512, | |
66927, | |
66927, | |
67671, | |
67671, | |
67871, | |
67871, | |
67903, | |
67903, | |
68176, | |
68184, | |
68223, | |
68223, | |
68336, | |
68342, | |
68409, | |
68415, | |
68505, | |
68508, | |
69703, | |
69709, | |
69819, | |
69820, | |
69822, | |
69825, | |
69952, | |
69955, | |
70004, | |
70005, | |
70085, | |
70089, | |
70093, | |
70093, | |
70107, | |
70107, | |
70109, | |
70111, | |
70200, | |
70205, | |
70313, | |
70313, | |
70854, | |
70854, | |
71105, | |
71127, | |
71233, | |
71235, | |
71484, | |
71486, | |
74864, | |
74868, | |
92782, | |
92783, | |
92917, | |
92917, | |
92983, | |
92987, | |
92996, | |
92996, | |
113823, | |
113823, | |
121479, | |
121483 | |
], | |
[ | |
43, | |
43, | |
60, | |
62, | |
124, | |
124, | |
126, | |
126, | |
172, | |
172, | |
177, | |
177, | |
215, | |
215, | |
247, | |
247, | |
1014, | |
1014, | |
1542, | |
1544, | |
8260, | |
8260, | |
8274, | |
8274, | |
8314, | |
8316, | |
8330, | |
8332, | |
8472, | |
8472, | |
8512, | |
8516, | |
8523, | |
8523, | |
8592, | |
8596, | |
8602, | |
8603, | |
8608, | |
8608, | |
8611, | |
8611, | |
8614, | |
8614, | |
8622, | |
8622, | |
8654, | |
8655, | |
8658, | |
8658, | |
8660, | |
8660, | |
8692, | |
8959, | |
8992, | |
8993, | |
9084, | |
9084, | |
9115, | |
9139, | |
9180, | |
9185, | |
9655, | |
9655, | |
9665, | |
9665, | |
9720, | |
9727, | |
9839, | |
9839, | |
10176, | |
10180, | |
10183, | |
10213, | |
10224, | |
10239, | |
10496, | |
10626, | |
10649, | |
10711, | |
10716, | |
10747, | |
10750, | |
11007, | |
11056, | |
11076, | |
11079, | |
11084, | |
64297, | |
64297, | |
65122, | |
65122, | |
65124, | |
65126, | |
65291, | |
65291, | |
65308, | |
65310, | |
65372, | |
65372, | |
65374, | |
65374, | |
65506, | |
65506, | |
65513, | |
65516, | |
120513, | |
120513, | |
120539, | |
120539, | |
120571, | |
120571, | |
120597, | |
120597, | |
120629, | |
120629, | |
120655, | |
120655, | |
120687, | |
120687, | |
120713, | |
120713, | |
120745, | |
120745, | |
120771, | |
120771, | |
126704, | |
126705 | |
], | |
[ | |
36, | |
36, | |
162, | |
165, | |
1423, | |
1423, | |
1547, | |
1547, | |
2546, | |
2547, | |
2555, | |
2555, | |
2801, | |
2801, | |
3065, | |
3065, | |
3647, | |
3647, | |
6107, | |
6107, | |
8352, | |
8382, | |
43064, | |
43064, | |
65020, | |
65020, | |
65129, | |
65129, | |
65284, | |
65284, | |
65504, | |
65505, | |
65509, | |
65510 | |
], | |
[ | |
94, | |
94, | |
96, | |
96, | |
168, | |
168, | |
175, | |
175, | |
180, | |
180, | |
184, | |
184, | |
706, | |
709, | |
722, | |
735, | |
741, | |
747, | |
749, | |
749, | |
751, | |
767, | |
885, | |
885, | |
900, | |
901, | |
8125, | |
8125, | |
8127, | |
8129, | |
8141, | |
8143, | |
8157, | |
8159, | |
8173, | |
8175, | |
8189, | |
8190, | |
12443, | |
12444, | |
42752, | |
42774, | |
42784, | |
42785, | |
42889, | |
42890, | |
43867, | |
43867, | |
64434, | |
64449, | |
65342, | |
65342, | |
65344, | |
65344, | |
65507, | |
65507, | |
127995, | |
127999 | |
], | |
[ | |
166, | |
167, | |
169, | |
169, | |
174, | |
174, | |
176, | |
176, | |
182, | |
182, | |
1154, | |
1154, | |
1421, | |
1422, | |
1550, | |
1551, | |
1758, | |
1758, | |
1769, | |
1769, | |
1789, | |
1790, | |
2038, | |
2038, | |
2554, | |
2554, | |
2928, | |
2928, | |
3059, | |
3064, | |
3066, | |
3066, | |
3199, | |
3199, | |
3449, | |
3449, | |
3841, | |
3843, | |
3859, | |
3859, | |
3861, | |
3863, | |
3866, | |
3871, | |
3892, | |
3892, | |
3894, | |
3894, | |
3896, | |
3896, | |
4030, | |
4037, | |
4039, | |
4044, | |
4046, | |
4047, | |
4053, | |
4056, | |
4254, | |
4255, | |
5008, | |
5017, | |
6464, | |
6464, | |
6622, | |
6655, | |
7009, | |
7018, | |
7028, | |
7036, | |
8448, | |
8449, | |
8451, | |
8454, | |
8456, | |
8457, | |
8468, | |
8468, | |
8470, | |
8471, | |
8478, | |
8483, | |
8485, | |
8485, | |
8487, | |
8487, | |
8489, | |
8489, | |
8494, | |
8494, | |
8506, | |
8507, | |
8522, | |
8522, | |
8524, | |
8525, | |
8527, | |
8527, | |
8586, | |
8587, | |
8597, | |
8601, | |
8604, | |
8607, | |
8609, | |
8610, | |
8612, | |
8613, | |
8615, | |
8621, | |
8623, | |
8653, | |
8656, | |
8657, | |
8659, | |
8659, | |
8661, | |
8691, | |
8960, | |
8967, | |
8972, | |
8991, | |
8994, | |
9000, | |
9003, | |
9083, | |
9085, | |
9114, | |
9140, | |
9179, | |
9186, | |
9210, | |
9216, | |
9254, | |
9280, | |
9290, | |
9372, | |
9449, | |
9472, | |
9654, | |
9656, | |
9664, | |
9666, | |
9719, | |
9728, | |
9838, | |
9840, | |
10087, | |
10132, | |
10175, | |
10240, | |
10495, | |
11008, | |
11055, | |
11077, | |
11078, | |
11085, | |
11123, | |
11126, | |
11157, | |
11160, | |
11193, | |
11197, | |
11208, | |
11210, | |
11217, | |
11244, | |
11247, | |
11493, | |
11498, | |
11904, | |
11929, | |
11931, | |
12019, | |
12032, | |
12245, | |
12272, | |
12283, | |
12292, | |
12292, | |
12306, | |
12307, | |
12320, | |
12320, | |
12342, | |
12343, | |
12350, | |
12351, | |
12688, | |
12689, | |
12694, | |
12703, | |
12736, | |
12771, | |
12800, | |
12830, | |
12842, | |
12871, | |
12880, | |
12880, | |
12896, | |
12927, | |
12938, | |
12976, | |
12992, | |
13054, | |
13056, | |
13311, | |
19904, | |
19967, | |
42128, | |
42182, | |
43048, | |
43051, | |
43062, | |
43063, | |
43065, | |
43065, | |
43639, | |
43641, | |
65021, | |
65021, | |
65508, | |
65508, | |
65512, | |
65512, | |
65517, | |
65518, | |
65532, | |
65533, | |
65847, | |
65855, | |
65913, | |
65929, | |
65932, | |
65932, | |
65936, | |
65947, | |
65952, | |
65952, | |
66000, | |
66044, | |
67703, | |
67704, | |
68296, | |
68296, | |
71487, | |
71487, | |
92988, | |
92991, | |
92997, | |
92997, | |
113820, | |
113820, | |
118784, | |
119029, | |
119040, | |
119078, | |
119081, | |
119140, | |
119146, | |
119148, | |
119171, | |
119172, | |
119180, | |
119209, | |
119214, | |
119272, | |
119296, | |
119361, | |
119365, | |
119365, | |
119552, | |
119638, | |
120832, | |
121343, | |
121399, | |
121402, | |
121453, | |
121460, | |
121462, | |
121475, | |
121477, | |
121478, | |
126976, | |
127019, | |
127024, | |
127123, | |
127136, | |
127150, | |
127153, | |
127167, | |
127169, | |
127183, | |
127185, | |
127221, | |
127248, | |
127278, | |
127280, | |
127339, | |
127344, | |
127386, | |
127462, | |
127490, | |
127504, | |
127546, | |
127552, | |
127560, | |
127568, | |
127569, | |
127744, | |
127994, | |
128000, | |
128377, | |
128379, | |
128419, | |
128421, | |
128720, | |
128736, | |
128748, | |
128752, | |
128755, | |
128768, | |
128883, | |
128896, | |
128980, | |
129024, | |
129035, | |
129040, | |
129095, | |
129104, | |
129113, | |
129120, | |
129159, | |
129168, | |
129197, | |
129296, | |
129304, | |
129408, | |
129412, | |
129472, | |
129472 | |
], | |
[ | |
888, | |
889, | |
896, | |
899, | |
907, | |
907, | |
909, | |
909, | |
930, | |
930, | |
1328, | |
1328, | |
1367, | |
1368, | |
1376, | |
1376, | |
1416, | |
1416, | |
1419, | |
1420, | |
1424, | |
1424, | |
1480, | |
1487, | |
1515, | |
1519, | |
1525, | |
1535, | |
1565, | |
1565, | |
1806, | |
1806, | |
1867, | |
1868, | |
1970, | |
1983, | |
2043, | |
2047, | |
2094, | |
2095, | |
2111, | |
2111, | |
2140, | |
2141, | |
2143, | |
2207, | |
2229, | |
2274, | |
2436, | |
2436, | |
2445, | |
2446, | |
2449, | |
2450, | |
2473, | |
2473, | |
2481, | |
2481, | |
2483, | |
2485, | |
2490, | |
2491, | |
2501, | |
2502, | |
2505, | |
2506, | |
2511, | |
2518, | |
2520, | |
2523, | |
2526, | |
2526, | |
2532, | |
2533, | |
2556, | |
2560, | |
2564, | |
2564, | |
2571, | |
2574, | |
2577, | |
2578, | |
2601, | |
2601, | |
2609, | |
2609, | |
2612, | |
2612, | |
2615, | |
2615, | |
2618, | |
2619, | |
2621, | |
2621, | |
2627, | |
2630, | |
2633, | |
2634, | |
2638, | |
2640, | |
2642, | |
2648, | |
2653, | |
2653, | |
2655, | |
2661, | |
2678, | |
2688, | |
2692, | |
2692, | |
2702, | |
2702, | |
2706, | |
2706, | |
2729, | |
2729, | |
2737, | |
2737, | |
2740, | |
2740, | |
2746, | |
2747, | |
2758, | |
2758, | |
2762, | |
2762, | |
2766, | |
2767, | |
2769, | |
2783, | |
2788, | |
2789, | |
2802, | |
2808, | |
2810, | |
2816, | |
2820, | |
2820, | |
2829, | |
2830, | |
2833, | |
2834, | |
2857, | |
2857, | |
2865, | |
2865, | |
2868, | |
2868, | |
2874, | |
2875, | |
2885, | |
2886, | |
2889, | |
2890, | |
2894, | |
2901, | |
2904, | |
2907, | |
2910, | |
2910, | |
2916, | |
2917, | |
2936, | |
2945, | |
2948, | |
2948, | |
2955, | |
2957, | |
2961, | |
2961, | |
2966, | |
2968, | |
2971, | |
2971, | |
2973, | |
2973, | |
2976, | |
2978, | |
2981, | |
2983, | |
2987, | |
2989, | |
3002, | |
3005, | |
3011, | |
3013, | |
3017, | |
3017, | |
3022, | |
3023, | |
3025, | |
3030, | |
3032, | |
3045, | |
3067, | |
3071, | |
3076, | |
3076, | |
3085, | |
3085, | |
3089, | |
3089, | |
3113, | |
3113, | |
3130, | |
3132, | |
3141, | |
3141, | |
3145, | |
3145, | |
3150, | |
3156, | |
3159, | |
3159, | |
3163, | |
3167, | |
3172, | |
3173, | |
3184, | |
3191, | |
3200, | |
3200, | |
3204, | |
3204, | |
3213, | |
3213, | |
3217, | |
3217, | |
3241, | |
3241, | |
3252, | |
3252, | |
3258, | |
3259, | |
3269, | |
3269, | |
3273, | |
3273, | |
3278, | |
3284, | |
3287, | |
3293, | |
3295, | |
3295, | |
3300, | |
3301, | |
3312, | |
3312, | |
3315, | |
3328, | |
3332, | |
3332, | |
3341, | |
3341, | |
3345, | |
3345, | |
3387, | |
3388, | |
3397, | |
3397, | |
3401, | |
3401, | |
3407, | |
3414, | |
3416, | |
3422, | |
3428, | |
3429, | |
3446, | |
3448, | |
3456, | |
3457, | |
3460, | |
3460, | |
3479, | |
3481, | |
3506, | |
3506, | |
3516, | |
3516, | |
3518, | |
3519, | |
3527, | |
3529, | |
3531, | |
3534, | |
3541, | |
3541, | |
3543, | |
3543, | |
3552, | |
3557, | |
3568, | |
3569, | |
3573, | |
3584, | |
3643, | |
3646, | |
3676, | |
3712, | |
3715, | |
3715, | |
3717, | |
3718, | |
3721, | |
3721, | |
3723, | |
3724, | |
3726, | |
3731, | |
3736, | |
3736, | |
3744, | |
3744, | |
3748, | |
3748, | |
3750, | |
3750, | |
3752, | |
3753, | |
3756, | |
3756, | |
3770, | |
3770, | |
3774, | |
3775, | |
3781, | |
3781, | |
3783, | |
3783, | |
3790, | |
3791, | |
3802, | |
3803, | |
3808, | |
3839, | |
3912, | |
3912, | |
3949, | |
3952, | |
3992, | |
3992, | |
4029, | |
4029, | |
4045, | |
4045, | |
4059, | |
4095, | |
4294, | |
4294, | |
4296, | |
4300, | |
4302, | |
4303, | |
4681, | |
4681, | |
4686, | |
4687, | |
4695, | |
4695, | |
4697, | |
4697, | |
4702, | |
4703, | |
4745, | |
4745, | |
4750, | |
4751, | |
4785, | |
4785, | |
4790, | |
4791, | |
4799, | |
4799, | |
4801, | |
4801, | |
4806, | |
4807, | |
4823, | |
4823, | |
4881, | |
4881, | |
4886, | |
4887, | |
4955, | |
4956, | |
4989, | |
4991, | |
5018, | |
5023, | |
5110, | |
5111, | |
5118, | |
5119, | |
5789, | |
5791, | |
5881, | |
5887, | |
5901, | |
5901, | |
5909, | |
5919, | |
5943, | |
5951, | |
5972, | |
5983, | |
5997, | |
5997, | |
6001, | |
6001, | |
6004, | |
6015, | |
6110, | |
6111, | |
6122, | |
6127, | |
6138, | |
6143, | |
6159, | |
6159, | |
6170, | |
6175, | |
6264, | |
6271, | |
6315, | |
6319, | |
6390, | |
6399, | |
6431, | |
6431, | |
6444, | |
6447, | |
6460, | |
6463, | |
6465, | |
6467, | |
6510, | |
6511, | |
6517, | |
6527, | |
6572, | |
6575, | |
6602, | |
6607, | |
6619, | |
6621, | |
6684, | |
6685, | |
6751, | |
6751, | |
6781, | |
6782, | |
6794, | |
6799, | |
6810, | |
6815, | |
6830, | |
6831, | |
6847, | |
6911, | |
6988, | |
6991, | |
7037, | |
7039, | |
7156, | |
7163, | |
7224, | |
7226, | |
7242, | |
7244, | |
7296, | |
7359, | |
7368, | |
7375, | |
7415, | |
7415, | |
7418, | |
7423, | |
7670, | |
7675, | |
7958, | |
7959, | |
7966, | |
7967, | |
8006, | |
8007, | |
8014, | |
8015, | |
8024, | |
8024, | |
8026, | |
8026, | |
8028, | |
8028, | |
8030, | |
8030, | |
8062, | |
8063, | |
8117, | |
8117, | |
8133, | |
8133, | |
8148, | |
8149, | |
8156, | |
8156, | |
8176, | |
8177, | |
8181, | |
8181, | |
8191, | |
8191, | |
8293, | |
8293, | |
8306, | |
8307, | |
8335, | |
8335, | |
8349, | |
8351, | |
8383, | |
8399, | |
8433, | |
8447, | |
8588, | |
8591, | |
9211, | |
9215, | |
9255, | |
9279, | |
9291, | |
9311, | |
11124, | |
11125, | |
11158, | |
11159, | |
11194, | |
11196, | |
11209, | |
11209, | |
11218, | |
11243, | |
11248, | |
11263, | |
11311, | |
11311, | |
11359, | |
11359, | |
11508, | |
11512, | |
11558, | |
11558, | |
11560, | |
11564, | |
11566, | |
11567, | |
11624, | |
11630, | |
11633, | |
11646, | |
11671, | |
11679, | |
11687, | |
11687, | |
11695, | |
11695, | |
11703, | |
11703, | |
11711, | |
11711, | |
11719, | |
11719, | |
11727, | |
11727, | |
11735, | |
11735, | |
11743, | |
11743, | |
11843, | |
11903, | |
11930, | |
11930, | |
12020, | |
12031, | |
12246, | |
12271, | |
12284, | |
12287, | |
12352, | |
12352, | |
12439, | |
12440, | |
12544, | |
12548, | |
12590, | |
12592, | |
12687, | |
12687, | |
12731, | |
12735, | |
12772, | |
12783, | |
12831, | |
12831, | |
13055, | |
13055, | |
19894, | |
19903, | |
40918, | |
40959, | |
42125, | |
42127, | |
42183, | |
42191, | |
42540, | |
42559, | |
42744, | |
42751, | |
42926, | |
42927, | |
42936, | |
42998, | |
43052, | |
43055, | |
43066, | |
43071, | |
43128, | |
43135, | |
43205, | |
43213, | |
43226, | |
43231, | |
43262, | |
43263, | |
43348, | |
43358, | |
43389, | |
43391, | |
43470, | |
43470, | |
43482, | |
43485, | |
43519, | |
43519, | |
43575, | |
43583, | |
43598, | |
43599, | |
43610, | |
43611, | |
43715, | |
43738, | |
43767, | |
43776, | |
43783, | |
43784, | |
43791, | |
43792, | |
43799, | |
43807, | |
43815, | |
43815, | |
43823, | |
43823, | |
43878, | |
43887, | |
44014, | |
44015, | |
44026, | |
44031, | |
55204, | |
55215, | |
55239, | |
55242, | |
55292, | |
55295, | |
64110, | |
64111, | |
64218, | |
64255, | |
64263, | |
64274, | |
64280, | |
64284, | |
64311, | |
64311, | |
64317, | |
64317, | |
64319, | |
64319, | |
64322, | |
64322, | |
64325, | |
64325, | |
64450, | |
64466, | |
64832, | |
64847, | |
64912, | |
64913, | |
64968, | |
65007, | |
65022, | |
65023, | |
65050, | |
65055, | |
65107, | |
65107, | |
65127, | |
65127, | |
65132, | |
65135, | |
65141, | |
65141, | |
65277, | |
65278, | |
65280, | |
65280, | |
65471, | |
65473, | |
65480, | |
65481, | |
65488, | |
65489, | |
65496, | |
65497, | |
65501, | |
65503, | |
65511, | |
65511, | |
65519, | |
65528, | |
65534, | |
65535, | |
65548, | |
65548, | |
65575, | |
65575, | |
65595, | |
65595, | |
65598, | |
65598, | |
65614, | |
65615, | |
65630, | |
65663, | |
65787, | |
65791, | |
65795, | |
65798, | |
65844, | |
65846, | |
65933, | |
65935, | |
65948, | |
65951, | |
65953, | |
65999, | |
66046, | |
66175, | |
66205, | |
66207, | |
66257, | |
66271, | |
66300, | |
66303, | |
66340, | |
66351, | |
66379, | |
66383, | |
66427, | |
66431, | |
66462, | |
66462, | |
66500, | |
66503, | |
66518, | |
66559, | |
66718, | |
66719, | |
66730, | |
66815, | |
66856, | |
66863, | |
66916, | |
66926, | |
66928, | |
67071, | |
67383, | |
67391, | |
67414, | |
67423, | |
67432, | |
67583, | |
67590, | |
67591, | |
67593, | |
67593, | |
67638, | |
67638, | |
67641, | |
67643, | |
67645, | |
67646, | |
67670, | |
67670, | |
67743, | |
67750, | |
67760, | |
67807, | |
67827, | |
67827, | |
67830, | |
67834, | |
67868, | |
67870, | |
67898, | |
67902, | |
67904, | |
67967, | |
68024, | |
68027, | |
68048, | |
68049, | |
68100, | |
68100, | |
68103, | |
68107, | |
68116, | |
68116, | |
68120, | |
68120, | |
68148, | |
68151, | |
68155, | |
68158, | |
68168, | |
68175, | |
68185, | |
68191, | |
68256, | |
68287, | |
68327, | |
68330, | |
68343, | |
68351, | |
68406, | |
68408, | |
68438, | |
68439, | |
68467, | |
68471, | |
68498, | |
68504, | |
68509, | |
68520, | |
68528, | |
68607, | |
68681, | |
68735, | |
68787, | |
68799, | |
68851, | |
68857, | |
68864, | |
69215, | |
69247, | |
69631, | |
69710, | |
69713, | |
69744, | |
69758, | |
69826, | |
69839, | |
69865, | |
69871, | |
69882, | |
69887, | |
69941, | |
69941, | |
69956, | |
69967, | |
70007, | |
70015, | |
70094, | |
70095, | |
70112, | |
70112, | |
70133, | |
70143, | |
70162, | |
70162, | |
70206, | |
70271, | |
70279, | |
70279, | |
70281, | |
70281, | |
70286, | |
70286, | |
70302, | |
70302, | |
70314, | |
70319, | |
70379, | |
70383, | |
70394, | |
70399, | |
70404, | |
70404, | |
70413, | |
70414, | |
70417, | |
70418, | |
70441, | |
70441, | |
70449, | |
70449, | |
70452, | |
70452, | |
70458, | |
70459, | |
70469, | |
70470, | |
70473, | |
70474, | |
70478, | |
70479, | |
70481, | |
70486, | |
70488, | |
70492, | |
70500, | |
70501, | |
70509, | |
70511, | |
70517, | |
70783, | |
70856, | |
70863, | |
70874, | |
71039, | |
71094, | |
71095, | |
71134, | |
71167, | |
71237, | |
71247, | |
71258, | |
71295, | |
71352, | |
71359, | |
71370, | |
71423, | |
71450, | |
71452, | |
71468, | |
71471, | |
71488, | |
71839, | |
71923, | |
71934, | |
71936, | |
72383, | |
72441, | |
73727, | |
74650, | |
74751, | |
74863, | |
74863, | |
74869, | |
74879, | |
75076, | |
77823, | |
78895, | |
82943, | |
83527, | |
92159, | |
92729, | |
92735, | |
92767, | |
92767, | |
92778, | |
92781, | |
92784, | |
92879, | |
92910, | |
92911, | |
92918, | |
92927, | |
92998, | |
93007, | |
93018, | |
93018, | |
93026, | |
93026, | |
93048, | |
93052, | |
93072, | |
93951, | |
94021, | |
94031, | |
94079, | |
94094, | |
94112, | |
110591, | |
110594, | |
113663, | |
113771, | |
113775, | |
113789, | |
113791, | |
113801, | |
113807, | |
113818, | |
113819, | |
113828, | |
118783, | |
119030, | |
119039, | |
119079, | |
119080, | |
119273, | |
119295, | |
119366, | |
119551, | |
119639, | |
119647, | |
119666, | |
119807, | |
119893, | |
119893, | |
119965, | |
119965, | |
119968, | |
119969, | |
119971, | |
119972, | |
119975, | |
119976, | |
119981, | |
119981, | |
119994, | |
119994, | |
119996, | |
119996, | |
120004, | |
120004, | |
120070, | |
120070, | |
120075, | |
120076, | |
120085, | |
120085, | |
120093, | |
120093, | |
120122, | |
120122, | |
120127, | |
120127, | |
120133, | |
120133, | |
120135, | |
120137, | |
120145, | |
120145, | |
120486, | |
120487, | |
120780, | |
120781, | |
121484, | |
121498, | |
121504, | |
121504, | |
121520, | |
124927, | |
125125, | |
125126, | |
125143, | |
126463, | |
126468, | |
126468, | |
126496, | |
126496, | |
126499, | |
126499, | |
126501, | |
126502, | |
126504, | |
126504, | |
126515, | |
126515, | |
126520, | |
126520, | |
126522, | |
126522, | |
126524, | |
126529, | |
126531, | |
126534, | |
126536, | |
126536, | |
126538, | |
126538, | |
126540, | |
126540, | |
126544, | |
126544, | |
126547, | |
126547, | |
126549, | |
126550, | |
126552, | |
126552, | |
126554, | |
126554, | |
126556, | |
126556, | |
126558, | |
126558, | |
126560, | |
126560, | |
126563, | |
126563, | |
126565, | |
126566, | |
126571, | |
126571, | |
126579, | |
126579, | |
126584, | |
126584, | |
126589, | |
126589, | |
126591, | |
126591, | |
126602, | |
126602, | |
126620, | |
126624, | |
126628, | |
126628, | |
126634, | |
126634, | |
126652, | |
126703, | |
126706, | |
126975, | |
127020, | |
127023, | |
127124, | |
127135, | |
127151, | |
127152, | |
127168, | |
127168, | |
127184, | |
127184, | |
127222, | |
127231, | |
127245, | |
127247, | |
127279, | |
127279, | |
127340, | |
127343, | |
127387, | |
127461, | |
127491, | |
127503, | |
127547, | |
127551, | |
127561, | |
127567, | |
127570, | |
127743, | |
128378, | |
128378, | |
128420, | |
128420, | |
128721, | |
128735, | |
128749, | |
128751, | |
128756, | |
128767, | |
128884, | |
128895, | |
128981, | |
129023, | |
129036, | |
129039, | |
129096, | |
129103, | |
129114, | |
129119, | |
129160, | |
129167, | |
129198, | |
129295, | |
129305, | |
129407, | |
129413, | |
129471, | |
129473, | |
131071, | |
173783, | |
173823, | |
177973, | |
177983, | |
178206, | |
178207, | |
183970, | |
194559, | |
195102, | |
917504, | |
917506, | |
917535, | |
917632, | |
917759, | |
918000, | |
983039, | |
1048574, | |
1048575, | |
1114110, | |
1114111 | |
] | |
]; | |
static notUnicodeCategories = [ | |
[ | |
0, | |
64, | |
91, | |
191, | |
215, | |
215, | |
223, | |
255, | |
257, | |
257, | |
259, | |
259, | |
261, | |
261, | |
263, | |
263, | |
265, | |
265, | |
267, | |
267, | |
269, | |
269, | |
271, | |
271, | |
273, | |
273, | |
275, | |
275, | |
277, | |
277, | |
279, | |
279, | |
281, | |
281, | |
283, | |
283, | |
285, | |
285, | |
287, | |
287, | |
289, | |
289, | |
291, | |
291, | |
293, | |
293, | |
295, | |
295, | |
297, | |
297, | |
299, | |
299, | |
301, | |
301, | |
303, | |
303, | |
305, | |
305, | |
307, | |
307, | |
309, | |
309, | |
311, | |
312, | |
314, | |
314, | |
316, | |
316, | |
318, | |
318, | |
320, | |
320, | |
322, | |
322, | |
324, | |
324, | |
326, | |
326, | |
328, | |
329, | |
331, | |
331, | |
333, | |
333, | |
335, | |
335, | |
337, | |
337, | |
339, | |
339, | |
341, | |
341, | |
343, | |
343, | |
345, | |
345, | |
347, | |
347, | |
349, | |
349, | |
351, | |
351, | |
353, | |
353, | |
355, | |
355, | |
357, | |
357, | |
359, | |
359, | |
361, | |
361, | |
363, | |
363, | |
365, | |
365, | |
367, | |
367, | |
369, | |
369, | |
371, | |
371, | |
373, | |
373, | |
375, | |
375, | |
378, | |
378, | |
380, | |
380, | |
382, | |
384, | |
387, | |
387, | |
389, | |
389, | |
392, | |
392, | |
396, | |
397, | |
402, | |
402, | |
405, | |
405, | |
409, | |
411, | |
414, | |
414, | |
417, | |
417, | |
419, | |
419, | |
421, | |
421, | |
424, | |
424, | |
426, | |
427, | |
429, | |
429, | |
432, | |
432, | |
436, | |
436, | |
438, | |
438, | |
441, | |
443, | |
445, | |
451, | |
453, | |
454, | |
456, | |
457, | |
459, | |
460, | |
462, | |
462, | |
464, | |
464, | |
466, | |
466, | |
468, | |
468, | |
470, | |
470, | |
472, | |
472, | |
474, | |
474, | |
476, | |
477, | |
479, | |
479, | |
481, | |
481, | |
483, | |
483, | |
485, | |
485, | |
487, | |
487, | |
489, | |
489, | |
491, | |
491, | |
493, | |
493, | |
495, | |
496, | |
498, | |
499, | |
501, | |
501, | |
505, | |
505, | |
507, | |
507, | |
509, | |
509, | |
511, | |
511, | |
513, | |
513, | |
515, | |
515, | |
517, | |
517, | |
519, | |
519, | |
521, | |
521, | |
523, | |
523, | |
525, | |
525, | |
527, | |
527, | |
529, | |
529, | |
531, | |
531, | |
533, | |
533, | |
535, | |
535, | |
537, | |
537, | |
539, | |
539, | |
541, | |
541, | |
543, | |
543, | |
545, | |
545, | |
547, | |
547, | |
549, | |
549, | |
551, | |
551, | |
553, | |
553, | |
555, | |
555, | |
557, | |
557, | |
559, | |
559, | |
561, | |
561, | |
563, | |
569, | |
572, | |
572, | |
575, | |
576, | |
578, | |
578, | |
583, | |
583, | |
585, | |
585, | |
587, | |
587, | |
589, | |
589, | |
591, | |
879, | |
881, | |
881, | |
883, | |
885, | |
887, | |
894, | |
896, | |
901, | |
903, | |
903, | |
907, | |
907, | |
909, | |
909, | |
912, | |
912, | |
930, | |
930, | |
940, | |
974, | |
976, | |
977, | |
981, | |
983, | |
985, | |
985, | |
987, | |
987, | |
989, | |
989, | |
991, | |
991, | |
993, | |
993, | |
995, | |
995, | |
997, | |
997, | |
999, | |
999, | |
1001, | |
1001, | |
1003, | |
1003, | |
1005, | |
1005, | |
1007, | |
1011, | |
1013, | |
1014, | |
1016, | |
1016, | |
1019, | |
1020, | |
1072, | |
1119, | |
1121, | |
1121, | |
1123, | |
1123, | |
1125, | |
1125, | |
1127, | |
1127, | |
1129, | |
1129, | |
1131, | |
1131, | |
1133, | |
1133, | |
1135, | |
1135, | |
1137, | |
1137, | |
1139, | |
1139, | |
1141, | |
1141, | |
1143, | |
1143, | |
1145, | |
1145, | |
1147, | |
1147, | |
1149, | |
1149, | |
1151, | |
1151, | |
1153, | |
1161, | |
1163, | |
1163, | |
1165, | |
1165, | |
1167, | |
1167, | |
1169, | |
1169, | |
1171, | |
1171, | |
1173, | |
1173, | |
1175, | |
1175, | |
1177, | |
1177, | |
1179, | |
1179, | |
1181, | |
1181, | |
1183, | |
1183, | |
1185, | |
1185, | |
1187, | |
1187, | |
1189, | |
1189, | |
1191, | |
1191, | |
1193, | |
1193, | |
1195, | |
1195, | |
1197, | |
1197, | |
1199, | |
1199, | |
1201, | |
1201, | |
1203, | |
1203, | |
1205, | |
1205, | |
1207, | |
1207, | |
1209, | |
1209, | |
1211, | |
1211, | |
1213, | |
1213, | |
1215, | |
1215, | |
1218, | |
1218, | |
1220, | |
1220, | |
1222, | |
1222, | |
1224, | |
1224, | |
1226, | |
1226, | |
1228, | |
1228, | |
1230, | |
1231, | |
1233, | |
1233, | |
1235, | |
1235, | |
1237, | |
1237, | |
1239, | |
1239, | |
1241, | |
1241, | |
1243, | |
1243, | |
1245, | |
1245, | |
1247, | |
1247, | |
1249, | |
1249, | |
1251, | |
1251, | |
1253, | |
1253, | |
1255, | |
1255, | |
1257, | |
1257, | |
1259, | |
1259, | |
1261, | |
1261, | |
1263, | |
1263, | |
1265, | |
1265, | |
1267, | |
1267, | |
1269, | |
1269, | |
1271, | |
1271, | |
1273, | |
1273, | |
1275, | |
1275, | |
1277, | |
1277, | |
1279, | |
1279, | |
1281, | |
1281, | |
1283, | |
1283, | |
1285, | |
1285, | |
1287, | |
1287, | |
1289, | |
1289, | |
1291, | |
1291, | |
1293, | |
1293, | |
1295, | |
1295, | |
1297, | |
1297, | |
1299, | |
1299, | |
1301, | |
1301, | |
1303, | |
1303, | |
1305, | |
1305, | |
1307, | |
1307, | |
1309, | |
1309, | |
1311, | |
1311, | |
1313, | |
1313, | |
1315, | |
1315, | |
1317, | |
1317, | |
1319, | |
1319, | |
1321, | |
1321, | |
1323, | |
1323, | |
1325, | |
1325, | |
1327, | |
1328, | |
1367, | |
4255, | |
4294, | |
4294, | |
4296, | |
4300, | |
4302, | |
5023, | |
5110, | |
7679, | |
7681, | |
7681, | |
7683, | |
7683, | |
7685, | |
7685, | |
7687, | |
7687, | |
7689, | |
7689, | |
7691, | |
7691, | |
7693, | |
7693, | |
7695, | |
7695, | |
7697, | |
7697, | |
7699, | |
7699, | |
7701, | |
7701, | |
7703, | |
7703, | |
7705, | |
7705, | |
7707, | |
7707, | |
7709, | |
7709, | |
7711, | |
7711, | |
7713, | |
7713, | |
7715, | |
7715, | |
7717, | |
7717, | |
7719, | |
7719, | |
7721, | |
7721, | |
7723, | |
7723, | |
7725, | |
7725, | |
7727, | |
7727, | |
7729, | |
7729, | |
7731, | |
7731, | |
7733, | |
7733, | |
7735, | |
7735, | |
7737, | |
7737, | |
7739, | |
7739, | |
7741, | |
7741, | |
7743, | |
7743, | |
7745, | |
7745, | |
7747, | |
7747, | |
7749, | |
7749, | |
7751, | |
7751, | |
7753, | |
7753, | |
7755, | |
7755, | |
7757, | |
7757, | |
7759, | |
7759, | |
7761, | |
7761, | |
7763, | |
7763, | |
7765, | |
7765, | |
7767, | |
7767, | |
7769, | |
7769, | |
7771, | |
7771, | |
7773, | |
7773, | |
7775, | |
7775, | |
7777, | |
7777, | |
7779, | |
7779, | |
7781, | |
7781, | |
7783, | |
7783, | |
7785, | |
7785, | |
7787, | |
7787, | |
7789, | |
7789, | |
7791, | |
7791, | |
7793, | |
7793, | |
7795, | |
7795, | |
7797, | |
7797, | |
7799, | |
7799, | |
7801, | |
7801, | |
7803, | |
7803, | |
7805, | |
7805, | |
7807, | |
7807, | |
7809, | |
7809, | |
7811, | |
7811, | |
7813, | |
7813, | |
7815, | |
7815, | |
7817, | |
7817, | |
7819, | |
7819, | |
7821, | |
7821, | |
7823, | |
7823, | |
7825, | |
7825, | |
7827, | |
7827, | |
7829, | |
7837, | |
7839, | |
7839, | |
7841, | |
7841, | |
7843, | |
7843, | |
7845, | |
7845, | |
7847, | |
7847, | |
7849, | |
7849, | |
7851, | |
7851, | |
7853, | |
7853, | |
7855, | |
7855, | |
7857, | |
7857, | |
7859, | |
7859, | |
7861, | |
7861, | |
7863, | |
7863, | |
7865, | |
7865, | |
7867, | |
7867, | |
7869, | |
7869, | |
7871, | |
7871, | |
7873, | |
7873, | |
7875, | |
7875, | |
7877, | |
7877, | |
7879, | |
7879, | |
7881, | |
7881, | |
7883, | |
7883, | |
7885, | |
7885, | |
7887, | |
7887, | |
7889, | |
7889, | |
7891, | |
7891, | |
7893, | |
7893, | |
7895, | |
7895, | |
7897, | |
7897, | |
7899, | |
7899, | |
7901, | |
7901, | |
7903, | |
7903, | |
7905, | |
7905, | |
7907, | |
7907, | |
7909, | |
7909, | |
7911, | |
7911, | |
7913, | |
7913, | |
7915, | |
7915, | |
7917, | |
7917, | |
7919, | |
7919, | |
7921, | |
7921, | |
7923, | |
7923, | |
7925, | |
7925, | |
7927, | |
7927, | |
7929, | |
7929, | |
7931, | |
7931, | |
7933, | |
7933, | |
7935, | |
7943, | |
7952, | |
7959, | |
7966, | |
7975, | |
7984, | |
7991, | |
8000, | |
8007, | |
8014, | |
8024, | |
8026, | |
8026, | |
8028, | |
8028, | |
8030, | |
8030, | |
8032, | |
8039, | |
8048, | |
8119, | |
8124, | |
8135, | |
8140, | |
8151, | |
8156, | |
8167, | |
8173, | |
8183, | |
8188, | |
8449, | |
8451, | |
8454, | |
8456, | |
8458, | |
8462, | |
8463, | |
8467, | |
8468, | |
8470, | |
8472, | |
8478, | |
8483, | |
8485, | |
8485, | |
8487, | |
8487, | |
8489, | |
8489, | |
8494, | |
8495, | |
8500, | |
8509, | |
8512, | |
8516, | |
8518, | |
8578, | |
8580, | |
11263, | |
11311, | |
11359, | |
11361, | |
11361, | |
11365, | |
11366, | |
11368, | |
11368, | |
11370, | |
11370, | |
11372, | |
11372, | |
11377, | |
11377, | |
11379, | |
11380, | |
11382, | |
11389, | |
11393, | |
11393, | |
11395, | |
11395, | |
11397, | |
11397, | |
11399, | |
11399, | |
11401, | |
11401, | |
11403, | |
11403, | |
11405, | |
11405, | |
11407, | |
11407, | |
11409, | |
11409, | |
11411, | |
11411, | |
11413, | |
11413, | |
11415, | |
11415, | |
11417, | |
11417, | |
11419, | |
11419, | |
11421, | |
11421, | |
11423, | |
11423, | |
11425, | |
11425, | |
11427, | |
11427, | |
11429, | |
11429, | |
11431, | |
11431, | |
11433, | |
11433, | |
11435, | |
11435, | |
11437, | |
11437, | |
11439, | |
11439, | |
11441, | |
11441, | |
11443, | |
11443, | |
11445, | |
11445, | |
11447, | |
11447, | |
11449, | |
11449, | |
11451, | |
11451, | |
11453, | |
11453, | |
11455, | |
11455, | |
11457, | |
11457, | |
11459, | |
11459, | |
11461, | |
11461, | |
11463, | |
11463, | |
11465, | |
11465, | |
11467, | |
11467, | |
11469, | |
11469, | |
11471, | |
11471, | |
11473, | |
11473, | |
11475, | |
11475, | |
11477, | |
11477, | |
11479, | |
11479, | |
11481, | |
11481, | |
11483, | |
11483, | |
11485, | |
11485, | |
11487, | |
11487, | |
11489, | |
11489, | |
11491, | |
11498, | |
11500, | |
11500, | |
11502, | |
11505, | |
11507, | |
42559, | |
42561, | |
42561, | |
42563, | |
42563, | |
42565, | |
42565, | |
42567, | |
42567, | |
42569, | |
42569, | |
42571, | |
42571, | |
42573, | |
42573, | |
42575, | |
42575, | |
42577, | |
42577, | |
42579, | |
42579, | |
42581, | |
42581, | |
42583, | |
42583, | |
42585, | |
42585, | |
42587, | |
42587, | |
42589, | |
42589, | |
42591, | |
42591, | |
42593, | |
42593, | |
42595, | |
42595, | |
42597, | |
42597, | |
42599, | |
42599, | |
42601, | |
42601, | |
42603, | |
42603, | |
42605, | |
42623, | |
42625, | |
42625, | |
42627, | |
42627, | |
42629, | |
42629, | |
42631, | |
42631, | |
42633, | |
42633, | |
42635, | |
42635, | |
42637, | |
42637, | |
42639, | |
42639, | |
42641, | |
42641, | |
42643, | |
42643, | |
42645, | |
42645, | |
42647, | |
42647, | |
42649, | |
42649, | |
42651, | |
42785, | |
42787, | |
42787, | |
42789, | |
42789, | |
42791, | |
42791, | |
42793, | |
42793, | |
42795, | |
42795, | |
42797, | |
42797, | |
42799, | |
42801, | |
42803, | |
42803, | |
42805, | |
42805, | |
42807, | |
42807, | |
42809, | |
42809, | |
42811, | |
42811, | |
42813, | |
42813, | |
42815, | |
42815, | |
42817, | |
42817, | |
42819, | |
42819, | |
42821, | |
42821, | |
42823, | |
42823, | |
42825, | |
42825, | |
42827, | |
42827, | |
42829, | |
42829, | |
42831, | |
42831, | |
42833, | |
42833, | |
42835, | |
42835, | |
42837, | |
42837, | |
42839, | |
42839, | |
42841, | |
42841, | |
42843, | |
42843, | |
42845, | |
42845, | |
42847, | |
42847, | |
42849, | |
42849, | |
42851, | |
42851, | |
42853, | |
42853, | |
42855, | |
42855, | |
42857, | |
42857, | |
42859, | |
42859, | |
42861, | |
42861, | |
42863, | |
42872, | |
42874, | |
42874, | |
42876, | |
42876, | |
42879, | |
42879, | |
42881, | |
42881, | |
42883, | |
42883, | |
42885, | |
42885, | |
42887, | |
42890, | |
42892, | |
42892, | |
42894, | |
42895, | |
42897, | |
42897, | |
42899, | |
42901, | |
42903, | |
42903, | |
42905, | |
42905, | |
42907, | |
42907, | |
42909, | |
42909, | |
42911, | |
42911, | |
42913, | |
42913, | |
42915, | |
42915, | |
42917, | |
42917, | |
42919, | |
42919, | |
42921, | |
42921, | |
42926, | |
42927, | |
42933, | |
42933, | |
42935, | |
55295, | |
57344, | |
65312, | |
65339, | |
66559, | |
66600, | |
68735, | |
68787, | |
71839, | |
71872, | |
119807, | |
119834, | |
119859, | |
119886, | |
119911, | |
119938, | |
119963, | |
119965, | |
119965, | |
119968, | |
119969, | |
119971, | |
119972, | |
119975, | |
119976, | |
119981, | |
119981, | |
119990, | |
120015, | |
120042, | |
120067, | |
120070, | |
120070, | |
120075, | |
120076, | |
120085, | |
120085, | |
120093, | |
120119, | |
120122, | |
120122, | |
120127, | |
120127, | |
120133, | |
120133, | |
120135, | |
120137, | |
120145, | |
120171, | |
120198, | |
120223, | |
120250, | |
120275, | |
120302, | |
120327, | |
120354, | |
120379, | |
120406, | |
120431, | |
120458, | |
120487, | |
120513, | |
120545, | |
120571, | |
120603, | |
120629, | |
120661, | |
120687, | |
120719, | |
120745, | |
120777, | |
120779, | |
1114111 | |
], | |
[ | |
0, | |
96, | |
123, | |
169, | |
171, | |
180, | |
182, | |
185, | |
187, | |
222, | |
247, | |
247, | |
256, | |
256, | |
258, | |
258, | |
260, | |
260, | |
262, | |
262, | |
264, | |
264, | |
266, | |
266, | |
268, | |
268, | |
270, | |
270, | |
272, | |
272, | |
274, | |
274, | |
276, | |
276, | |
278, | |
278, | |
280, | |
280, | |
282, | |
282, | |
284, | |
284, | |
286, | |
286, | |
288, | |
288, | |
290, | |
290, | |
292, | |
292, | |
294, | |
294, | |
296, | |
296, | |
298, | |
298, | |
300, | |
300, | |
302, | |
302, | |
304, | |
304, | |
306, | |
306, | |
308, | |
308, | |
310, | |
310, | |
313, | |
313, | |
315, | |
315, | |
317, | |
317, | |
319, | |
319, | |
321, | |
321, | |
323, | |
323, | |
325, | |
325, | |
327, | |
327, | |
330, | |
330, | |
332, | |
332, | |
334, | |
334, | |
336, | |
336, | |
338, | |
338, | |
340, | |
340, | |
342, | |
342, | |
344, | |
344, | |
346, | |
346, | |
348, | |
348, | |
350, | |
350, | |
352, | |
352, | |
354, | |
354, | |
356, | |
356, | |
358, | |
358, | |
360, | |
360, | |
362, | |
362, | |
364, | |
364, | |
366, | |
366, | |
368, | |
368, | |
370, | |
370, | |
372, | |
372, | |
374, | |
374, | |
376, | |
377, | |
379, | |
379, | |
381, | |
381, | |
385, | |
386, | |
388, | |
388, | |
390, | |
391, | |
393, | |
395, | |
398, | |
401, | |
403, | |
404, | |
406, | |
408, | |
412, | |
413, | |
415, | |
416, | |
418, | |
418, | |
420, | |
420, | |
422, | |
423, | |
425, | |
425, | |
428, | |
428, | |
430, | |
431, | |
433, | |
435, | |
437, | |
437, | |
439, | |
440, | |
443, | |
444, | |
448, | |
453, | |
455, | |
456, | |
458, | |
459, | |
461, | |
461, | |
463, | |
463, | |
465, | |
465, | |
467, | |
467, | |
469, | |
469, | |
471, | |
471, | |
473, | |
473, | |
475, | |
475, | |
478, | |
478, | |
480, | |
480, | |
482, | |
482, | |
484, | |
484, | |
486, | |
486, | |
488, | |
488, | |
490, | |
490, | |
492, | |
492, | |
494, | |
494, | |
497, | |
498, | |
500, | |
500, | |
502, | |
504, | |
506, | |
506, | |
508, | |
508, | |
510, | |
510, | |
512, | |
512, | |
514, | |
514, | |
516, | |
516, | |
518, | |
518, | |
520, | |
520, | |
522, | |
522, | |
524, | |
524, | |
526, | |
526, | |
528, | |
528, | |
530, | |
530, | |
532, | |
532, | |
534, | |
534, | |
536, | |
536, | |
538, | |
538, | |
540, | |
540, | |
542, | |
542, | |
544, | |
544, | |
546, | |
546, | |
548, | |
548, | |
550, | |
550, | |
552, | |
552, | |
554, | |
554, | |
556, | |
556, | |
558, | |
558, | |
560, | |
560, | |
562, | |
562, | |
570, | |
571, | |
573, | |
574, | |
577, | |
577, | |
579, | |
582, | |
584, | |
584, | |
586, | |
586, | |
588, | |
588, | |
590, | |
590, | |
660, | |
660, | |
688, | |
880, | |
882, | |
882, | |
884, | |
886, | |
888, | |
890, | |
894, | |
911, | |
913, | |
939, | |
975, | |
975, | |
978, | |
980, | |
984, | |
984, | |
986, | |
986, | |
988, | |
988, | |
990, | |
990, | |
992, | |
992, | |
994, | |
994, | |
996, | |
996, | |
998, | |
998, | |
1000, | |
1000, | |
1002, | |
1002, | |
1004, | |
1004, | |
1006, | |
1006, | |
1012, | |
1012, | |
1014, | |
1015, | |
1017, | |
1018, | |
1021, | |
1071, | |
1120, | |
1120, | |
1122, | |
1122, | |
1124, | |
1124, | |
1126, | |
1126, | |
1128, | |
1128, | |
1130, | |
1130, | |
1132, | |
1132, | |
1134, | |
1134, | |
1136, | |
1136, | |
1138, | |
1138, | |
1140, | |
1140, | |
1142, | |
1142, | |
1144, | |
1144, | |
1146, | |
1146, | |
1148, | |
1148, | |
1150, | |
1150, | |
1152, | |
1152, | |
1154, | |
1162, | |
1164, | |
1164, | |
1166, | |
1166, | |
1168, | |
1168, | |
1170, | |
1170, | |
1172, | |
1172, | |
1174, | |
1174, | |
1176, | |
1176, | |
1178, | |
1178, | |
1180, | |
1180, | |
1182, | |
1182, | |
1184, | |
1184, | |
1186, | |
1186, | |
1188, | |
1188, | |
1190, | |
1190, | |
1192, | |
1192, | |
1194, | |
1194, | |
1196, | |
1196, | |
1198, | |
1198, | |
1200, | |
1200, | |
1202, | |
1202, | |
1204, | |
1204, | |
1206, | |
1206, | |
1208, | |
1208, | |
1210, | |
1210, | |
1212, | |
1212, | |
1214, | |
1214, | |
1216, | |
1217, | |
1219, | |
1219, | |
1221, | |
1221, | |
1223, | |
1223, | |
1225, | |
1225, | |
1227, | |
1227, | |
1229, | |
1229, | |
1232, | |
1232, | |
1234, | |
1234, | |
1236, | |
1236, | |
1238, | |
1238, | |
1240, | |
1240, | |
1242, | |
1242, | |
1244, | |
1244, | |
1246, | |
1246, | |
1248, | |
1248, | |
1250, | |
1250, | |
1252, | |
1252, | |
1254, | |
1254, | |
1256, | |
1256, | |
1258, | |
1258, | |
1260, | |
1260, | |
1262, | |
1262, | |
1264, | |
1264, | |
1266, | |
1266, | |
1268, | |
1268, | |
1270, | |
1270, | |
1272, | |
1272, | |
1274, | |
1274, | |
1276, | |
1276, | |
1278, | |
1278, | |
1280, | |
1280, | |
1282, | |
1282, | |
1284, | |
1284, | |
1286, | |
1286, | |
1288, | |
1288, | |
1290, | |
1290, | |
1292, | |
1292, | |
1294, | |
1294, | |
1296, | |
1296, | |
1298, | |
1298, | |
1300, | |
1300, | |
1302, | |
1302, | |
1304, | |
1304, | |
1306, | |
1306, | |
1308, | |
1308, | |
1310, | |
1310, | |
1312, | |
1312, | |
1314, | |
1314, | |
1316, | |
1316, | |
1318, | |
1318, | |
1320, | |
1320, | |
1322, | |
1322, | |
1324, | |
1324, | |
1326, | |
1326, | |
1328, | |
1376, | |
1416, | |
5111, | |
5118, | |
7423, | |
7468, | |
7530, | |
7544, | |
7544, | |
7579, | |
7680, | |
7682, | |
7682, | |
7684, | |
7684, | |
7686, | |
7686, | |
7688, | |
7688, | |
7690, | |
7690, | |
7692, | |
7692, | |
7694, | |
7694, | |
7696, | |
7696, | |
7698, | |
7698, | |
7700, | |
7700, | |
7702, | |
7702, | |
7704, | |
7704, | |
7706, | |
7706, | |
7708, | |
7708, | |
7710, | |
7710, | |
7712, | |
7712, | |
7714, | |
7714, | |
7716, | |
7716, | |
7718, | |
7718, | |
7720, | |
7720, | |
7722, | |
7722, | |
7724, | |
7724, | |
7726, | |
7726, | |
7728, | |
7728, | |
7730, | |
7730, | |
7732, | |
7732, | |
7734, | |
7734, | |
7736, | |
7736, | |
7738, | |
7738, | |
7740, | |
7740, | |
7742, | |
7742, | |
7744, | |
7744, | |
7746, | |
7746, | |
7748, | |
7748, | |
7750, | |
7750, | |
7752, | |
7752, | |
7754, | |
7754, | |
7756, | |
7756, | |
7758, | |
7758, | |
7760, | |
7760, | |
7762, | |
7762, | |
7764, | |
7764, | |
7766, | |
7766, | |
7768, | |
7768, | |
7770, | |
7770, | |
7772, | |
7772, | |
7774, | |
7774, | |
7776, | |
7776, | |
7778, | |
7778, | |
7780, | |
7780, | |
7782, | |
7782, | |
7784, | |
7784, | |
7786, | |
7786, | |
7788, | |
7788, | |
7790, | |
7790, | |
7792, | |
7792, | |
7794, | |
7794, | |
7796, | |
7796, | |
7798, | |
7798, | |
7800, | |
7800, | |
7802, | |
7802, | |
7804, | |
7804, | |
7806, | |
7806, | |
7808, | |
7808, | |
7810, | |
7810, | |
7812, | |
7812, | |
7814, | |
7814, | |
7816, | |
7816, | |
7818, | |
7818, | |
7820, | |
7820, | |
7822, | |
7822, | |
7824, | |
7824, | |
7826, | |
7826, | |
7828, | |
7828, | |
7838, | |
7838, | |
7840, | |
7840, | |
7842, | |
7842, | |
7844, | |
7844, | |
7846, | |
7846, | |
7848, | |
7848, | |
7850, | |
7850, | |
7852, | |
7852, | |
7854, | |
7854, | |
7856, | |
7856, | |
7858, | |
7858, | |
7860, | |
7860, | |
7862, | |
7862, | |
7864, | |
7864, | |
7866, | |
7866, | |
7868, | |
7868, | |
7870, | |
7870, | |
7872, | |
7872, | |
7874, | |
7874, | |
7876, | |
7876, | |
7878, | |
7878, | |
7880, | |
7880, | |
7882, | |
7882, | |
7884, | |
7884, | |
7886, | |
7886, | |
7888, | |
7888, | |
7890, | |
7890, | |
7892, | |
7892, | |
7894, | |
7894, | |
7896, | |
7896, | |
7898, | |
7898, | |
7900, | |
7900, | |
7902, | |
7902, | |
7904, | |
7904, | |
7906, | |
7906, | |
7908, | |
7908, | |
7910, | |
7910, | |
7912, | |
7912, | |
7914, | |
7914, | |
7916, | |
7916, | |
7918, | |
7918, | |
7920, | |
7920, | |
7922, | |
7922, | |
7924, | |
7924, | |
7926, | |
7926, | |
7928, | |
7928, | |
7930, | |
7930, | |
7932, | |
7932, | |
7934, | |
7934, | |
7944, | |
7951, | |
7958, | |
7967, | |
7976, | |
7983, | |
7992, | |
7999, | |
8006, | |
8015, | |
8024, | |
8031, | |
8040, | |
8047, | |
8062, | |
8063, | |
8072, | |
8079, | |
8088, | |
8095, | |
8104, | |
8111, | |
8117, | |
8117, | |
8120, | |
8125, | |
8127, | |
8129, | |
8133, | |
8133, | |
8136, | |
8143, | |
8148, | |
8149, | |
8152, | |
8159, | |
8168, | |
8177, | |
8181, | |
8181, | |
8184, | |
8457, | |
8459, | |
8461, | |
8464, | |
8466, | |
8468, | |
8494, | |
8496, | |
8499, | |
8501, | |
8504, | |
8506, | |
8507, | |
8510, | |
8517, | |
8522, | |
8525, | |
8527, | |
8579, | |
8581, | |
11311, | |
11359, | |
11360, | |
11362, | |
11364, | |
11367, | |
11367, | |
11369, | |
11369, | |
11371, | |
11371, | |
11373, | |
11376, | |
11378, | |
11378, | |
11381, | |
11381, | |
11388, | |
11392, | |
11394, | |
11394, | |
11396, | |
11396, | |
11398, | |
11398, | |
11400, | |
11400, | |
11402, | |
11402, | |
11404, | |
11404, | |
11406, | |
11406, | |
11408, | |
11408, | |
11410, | |
11410, | |
11412, | |
11412, | |
11414, | |
11414, | |
11416, | |
11416, | |
11418, | |
11418, | |
11420, | |
11420, | |
11422, | |
11422, | |
11424, | |
11424, | |
11426, | |
11426, | |
11428, | |
11428, | |
11430, | |
11430, | |
11432, | |
11432, | |
11434, | |
11434, | |
11436, | |
11436, | |
11438, | |
11438, | |
11440, | |
11440, | |
11442, | |
11442, | |
11444, | |
11444, | |
11446, | |
11446, | |
11448, | |
11448, | |
11450, | |
11450, | |
11452, | |
11452, | |
11454, | |
11454, | |
11456, | |
11456, | |
11458, | |
11458, | |
11460, | |
11460, | |
11462, | |
11462, | |
11464, | |
11464, | |
11466, | |
11466, | |
11468, | |
11468, | |
11470, | |
11470, | |
11472, | |
11472, | |
11474, | |
11474, | |
11476, | |
11476, | |
11478, | |
11478, | |
11480, | |
11480, | |
11482, | |
11482, | |
11484, | |
11484, | |
11486, | |
11486, | |
11488, | |
11488, | |
11490, | |
11490, | |
11493, | |
11499, | |
11501, | |
11501, | |
11503, | |
11506, | |
11508, | |
11519, | |
11558, | |
11558, | |
11560, | |
11564, | |
11566, | |
42560, | |
42562, | |
42562, | |
42564, | |
42564, | |
42566, | |
42566, | |
42568, | |
42568, | |
42570, | |
42570, | |
42572, | |
42572, | |
42574, | |
42574, | |
42576, | |
42576, | |
42578, | |
42578, | |
42580, | |
42580, | |
42582, | |
42582, | |
42584, | |
42584, | |
42586, | |
42586, | |
42588, | |
42588, | |
42590, | |
42590, | |
42592, | |
42592, | |
42594, | |
42594, | |
42596, | |
42596, | |
42598, | |
42598, | |
42600, | |
42600, | |
42602, | |
42602, | |
42604, | |
42604, | |
42606, | |
42624, | |
42626, | |
42626, | |
42628, | |
42628, | |
42630, | |
42630, | |
42632, | |
42632, | |
42634, | |
42634, | |
42636, | |
42636, | |
42638, | |
42638, | |
42640, | |
42640, | |
42642, | |
42642, | |
42644, | |
42644, | |
42646, | |
42646, | |
42648, | |
42648, | |
42650, | |
42650, | |
42652, | |
42786, | |
42788, | |
42788, | |
42790, | |
42790, | |
42792, | |
42792, | |
42794, | |
42794, | |
42796, | |
42796, | |
42798, | |
42798, | |
42802, | |
42802, | |
42804, | |
42804, | |
42806, | |
42806, | |
42808, | |
42808, | |
42810, | |
42810, | |
42812, | |
42812, | |
42814, | |
42814, | |
42816, | |
42816, | |
42818, | |
42818, | |
42820, | |
42820, | |
42822, | |
42822, | |
42824, | |
42824, | |
42826, | |
42826, | |
42828, | |
42828, | |
42830, | |
42830, | |
42832, | |
42832, | |
42834, | |
42834, | |
42836, | |
42836, | |
42838, | |
42838, | |
42840, | |
42840, | |
42842, | |
42842, | |
42844, | |
42844, | |
42846, | |
42846, | |
42848, | |
42848, | |
42850, | |
42850, | |
42852, | |
42852, | |
42854, | |
42854, | |
42856, | |
42856, | |
42858, | |
42858, | |
42860, | |
42860, | |
42862, | |
42862, | |
42864, | |
42864, | |
42873, | |
42873, | |
42875, | |
42875, | |
42877, | |
42878, | |
42880, | |
42880, | |
42882, | |
42882, | |
42884, | |
42884, | |
42886, | |
42886, | |
42888, | |
42891, | |
42893, | |
42893, | |
42895, | |
42896, | |
42898, | |
42898, | |
42902, | |
42902, | |
42904, | |
42904, | |
42906, | |
42906, | |
42908, | |
42908, | |
42910, | |
42910, | |
42912, | |
42912, | |
42914, | |
42914, | |
42916, | |
42916, | |
42918, | |
42918, | |
42920, | |
42920, | |
42922, | |
42932, | |
42934, | |
42934, | |
42936, | |
43001, | |
43003, | |
43823, | |
43867, | |
43871, | |
43878, | |
43887, | |
43968, | |
55295, | |
57344, | |
64255, | |
64263, | |
64274, | |
64280, | |
65344, | |
65371, | |
66599, | |
66640, | |
68799, | |
68851, | |
71871, | |
71904, | |
119833, | |
119860, | |
119885, | |
119893, | |
119893, | |
119912, | |
119937, | |
119964, | |
119989, | |
119994, | |
119994, | |
119996, | |
119996, | |
120004, | |
120004, | |
120016, | |
120041, | |
120068, | |
120093, | |
120120, | |
120145, | |
120172, | |
120197, | |
120224, | |
120249, | |
120276, | |
120301, | |
120328, | |
120353, | |
120380, | |
120405, | |
120432, | |
120457, | |
120486, | |
120513, | |
120539, | |
120539, | |
120546, | |
120571, | |
120597, | |
120597, | |
120604, | |
120629, | |
120655, | |
120655, | |
120662, | |
120687, | |
120713, | |
120713, | |
120720, | |
120745, | |
120771, | |
120771, | |
120778, | |
120778, | |
120780, | |
1114111 | |
], | |
[ | |
0, | |
452, | |
454, | |
455, | |
457, | |
458, | |
460, | |
497, | |
499, | |
8071, | |
8080, | |
8087, | |
8096, | |
8103, | |
8112, | |
8123, | |
8125, | |
8139, | |
8141, | |
8187, | |
8189, | |
55295, | |
57344, | |
1114111 | |
], | |
[ | |
0, | |
687, | |
706, | |
709, | |
722, | |
735, | |
741, | |
747, | |
749, | |
749, | |
751, | |
883, | |
885, | |
889, | |
891, | |
1368, | |
1370, | |
1599, | |
1601, | |
1764, | |
1767, | |
2035, | |
2038, | |
2041, | |
2043, | |
2073, | |
2075, | |
2083, | |
2085, | |
2087, | |
2089, | |
2416, | |
2418, | |
3653, | |
3655, | |
3781, | |
3783, | |
4347, | |
4349, | |
6102, | |
6104, | |
6210, | |
6212, | |
6822, | |
6824, | |
7287, | |
7294, | |
7467, | |
7531, | |
7543, | |
7545, | |
7578, | |
7616, | |
8304, | |
8306, | |
8318, | |
8320, | |
8335, | |
8349, | |
11387, | |
11390, | |
11630, | |
11632, | |
11822, | |
11824, | |
12292, | |
12294, | |
12336, | |
12342, | |
12346, | |
12348, | |
12444, | |
12447, | |
12539, | |
12543, | |
40980, | |
40982, | |
42231, | |
42238, | |
42507, | |
42509, | |
42622, | |
42624, | |
42651, | |
42654, | |
42774, | |
42784, | |
42863, | |
42865, | |
42887, | |
42889, | |
42999, | |
43002, | |
43470, | |
43472, | |
43493, | |
43495, | |
43631, | |
43633, | |
43740, | |
43742, | |
43762, | |
43765, | |
43867, | |
43872, | |
55295, | |
57344, | |
65391, | |
65393, | |
65437, | |
65440, | |
92991, | |
92996, | |
94098, | |
94112, | |
1114111 | |
], | |
[ | |
0, | |
442, | |
444, | |
447, | |
452, | |
659, | |
661, | |
1487, | |
1515, | |
1519, | |
1523, | |
1567, | |
1600, | |
1600, | |
1611, | |
1645, | |
1648, | |
1648, | |
1748, | |
1748, | |
1750, | |
1773, | |
1776, | |
1785, | |
1789, | |
1790, | |
1792, | |
1807, | |
1809, | |
1809, | |
1840, | |
1868, | |
1958, | |
1968, | |
1970, | |
1993, | |
2027, | |
2047, | |
2070, | |
2111, | |
2137, | |
2207, | |
2229, | |
2307, | |
2362, | |
2364, | |
2366, | |
2383, | |
2385, | |
2391, | |
2402, | |
2417, | |
2433, | |
2436, | |
2445, | |
2446, | |
2449, | |
2450, | |
2473, | |
2473, | |
2481, | |
2481, | |
2483, | |
2485, | |
2490, | |
2492, | |
2494, | |
2509, | |
2511, | |
2523, | |
2526, | |
2526, | |
2530, | |
2543, | |
2546, | |
2564, | |
2571, | |
2574, | |
2577, | |
2578, | |
2601, | |
2601, | |
2609, | |
2609, | |
2612, | |
2612, | |
2615, | |
2615, | |
2618, | |
2648, | |
2653, | |
2653, | |
2655, | |
2673, | |
2677, | |
2692, | |
2702, | |
2702, | |
2706, | |
2706, | |
2729, | |
2729, | |
2737, | |
2737, | |
2740, | |
2740, | |
2746, | |
2748, | |
2750, | |
2767, | |
2769, | |
2783, | |
2786, | |
2808, | |
2810, | |
2820, | |
2829, | |
2830, | |
2833, | |
2834, | |
2857, | |
2857, | |
2865, | |
2865, | |
2868, | |
2868, | |
2874, | |
2876, | |
2878, | |
2907, | |
2910, | |
2910, | |
2914, | |
2928, | |
2930, | |
2946, | |
2948, | |
2948, | |
2955, | |
2957, | |
2961, | |
2961, | |
2966, | |
2968, | |
2971, | |
2971, | |
2973, | |
2973, | |
2976, | |
2978, | |
2981, | |
2983, | |
2987, | |
2989, | |
3002, | |
3023, | |
3025, | |
3076, | |
3085, | |
3085, | |
3089, | |
3089, | |
3113, | |
3113, | |
3130, | |
3132, | |
3134, | |
3159, | |
3163, | |
3167, | |
3170, | |
3204, | |
3213, | |
3213, | |
3217, | |
3217, | |
3241, | |
3241, | |
3252, | |
3252, | |
3258, | |
3260, | |
3262, | |
3293, | |
3295, | |
3295, | |
3298, | |
3312, | |
3315, | |
3332, | |
3341, | |
3341, | |
3345, | |
3345, | |
3387, | |
3388, | |
3390, | |
3405, | |
3407, | |
3422, | |
3426, | |
3449, | |
3456, | |
3460, | |
3479, | |
3481, | |
3506, | |
3506, | |
3516, | |
3516, | |
3518, | |
3519, | |
3527, | |
3584, | |
3633, | |
3633, | |
3636, | |
3647, | |
3654, | |
3712, | |
3715, | |
3715, | |
3717, | |
3718, | |
3721, | |
3721, | |
3723, | |
3724, | |
3726, | |
3731, | |
3736, | |
3736, | |
3744, | |
3744, | |
3748, | |
3748, | |
3750, | |
3750, | |
3752, | |
3753, | |
3756, | |
3756, | |
3761, | |
3761, | |
3764, | |
3772, | |
3774, | |
3775, | |
3781, | |
3803, | |
3808, | |
3839, | |
3841, | |
3903, | |
3912, | |
3912, | |
3949, | |
3975, | |
3981, | |
4095, | |
4139, | |
4158, | |
4160, | |
4175, | |
4182, | |
4185, | |
4190, | |
4192, | |
4194, | |
4196, | |
4199, | |
4205, | |
4209, | |
4212, | |
4226, | |
4237, | |
4239, | |
4303, | |
4347, | |
4348, | |
4681, | |
4681, | |
4686, | |
4687, | |
4695, | |
4695, | |
4697, | |
4697, | |
4702, | |
4703, | |
4745, | |
4745, | |
4750, | |
4751, | |
4785, | |
4785, | |
4790, | |
4791, | |
4799, | |
4799, | |
4801, | |
4801, | |
4806, | |
4807, | |
4823, | |
4823, | |
4881, | |
4881, | |
4886, | |
4887, | |
4955, | |
4991, | |
5008, | |
5120, | |
5741, | |
5742, | |
5760, | |
5760, | |
5787, | |
5791, | |
5867, | |
5872, | |
5881, | |
5887, | |
5901, | |
5901, | |
5906, | |
5919, | |
5938, | |
5951, | |
5970, | |
5983, | |
5997, | |
5997, | |
6001, | |
6015, | |
6068, | |
6107, | |
6109, | |
6175, | |
6211, | |
6211, | |
6264, | |
6271, | |
6313, | |
6313, | |
6315, | |
6319, | |
6390, | |
6399, | |
6431, | |
6479, | |
6510, | |
6511, | |
6517, | |
6527, | |
6572, | |
6575, | |
6602, | |
6655, | |
6679, | |
6687, | |
6741, | |
6916, | |
6964, | |
6980, | |
6988, | |
7042, | |
7073, | |
7085, | |
7088, | |
7097, | |
7142, | |
7167, | |
7204, | |
7244, | |
7248, | |
7257, | |
7288, | |
7400, | |
7405, | |
7405, | |
7410, | |
7412, | |
7415, | |
8500, | |
8505, | |
11567, | |
11624, | |
11647, | |
11671, | |
11679, | |
11687, | |
11687, | |
11695, | |
11695, | |
11703, | |
11703, | |
11711, | |
11711, | |
11719, | |
11719, | |
11727, | |
11727, | |
11735, | |
11735, | |
11743, | |
12293, | |
12295, | |
12347, | |
12349, | |
12352, | |
12439, | |
12446, | |
12448, | |
12448, | |
12539, | |
12542, | |
12544, | |
12548, | |
12590, | |
12592, | |
12687, | |
12703, | |
12731, | |
12783, | |
12800, | |
13311, | |
19894, | |
19967, | |
40918, | |
40959, | |
40981, | |
40981, | |
42125, | |
42191, | |
42232, | |
42239, | |
42508, | |
42511, | |
42528, | |
42537, | |
42540, | |
42605, | |
42607, | |
42655, | |
42726, | |
42894, | |
42896, | |
42998, | |
43000, | |
43002, | |
43010, | |
43010, | |
43014, | |
43014, | |
43019, | |
43019, | |
43043, | |
43071, | |
43124, | |
43137, | |
43188, | |
43249, | |
43256, | |
43258, | |
43260, | |
43260, | |
43262, | |
43273, | |
43302, | |
43311, | |
43335, | |
43359, | |
43389, | |
43395, | |
43443, | |
43487, | |
43493, | |
43494, | |
43504, | |
43513, | |
43519, | |
43519, | |
43561, | |
43583, | |
43587, | |
43587, | |
43596, | |
43615, | |
43632, | |
43632, | |
43639, | |
43641, | |
43643, | |
43645, | |
43696, | |
43696, | |
43698, | |
43700, | |
43703, | |
43704, | |
43710, | |
43711, | |
43713, | |
43713, | |
43715, | |
43738, | |
43741, | |
43743, | |
43755, | |
43761, | |
43763, | |
43776, | |
43783, | |
43784, | |
43791, | |
43792, | |
43799, | |
43807, | |
43815, | |
43815, | |
43823, | |
43967, | |
44003, | |
44031, | |
55204, | |
55215, | |
55239, | |
55242, | |
55292, | |
55295, | |
57344, | |
63743, | |
64110, | |
64111, | |
64218, | |
64284, | |
64286, | |
64286, | |
64297, | |
64297, | |
64311, | |
64311, | |
64317, | |
64317, | |
64319, | |
64319, | |
64322, | |
64322, | |
64325, | |
64325, | |
64434, | |
64466, | |
64830, | |
64847, | |
64912, | |
64913, | |
64968, | |
65007, | |
65020, | |
65135, | |
65141, | |
65141, | |
65277, | |
65381, | |
65392, | |
65392, | |
65438, | |
65439, | |
65471, | |
65473, | |
65480, | |
65481, | |
65488, | |
65489, | |
65496, | |
65497, | |
65501, | |
65535, | |
65548, | |
65548, | |
65575, | |
65575, | |
65595, | |
65595, | |
65598, | |
65598, | |
65614, | |
65615, | |
65630, | |
65663, | |
65787, | |
66175, | |
66205, | |
66207, | |
66257, | |
66303, | |
66336, | |
66351, | |
66369, | |
66369, | |
66378, | |
66383, | |
66422, | |
66431, | |
66462, | |
66463, | |
66500, | |
66503, | |
66512, | |
66639, | |
66718, | |
66815, | |
66856, | |
66863, | |
66916, | |
67071, | |
67383, | |
67391, | |
67414, | |
67423, | |
67432, | |
67583, | |
67590, | |
67591, | |
67593, | |
67593, | |
67638, | |
67638, | |
67641, | |
67643, | |
67645, | |
67646, | |
67670, | |
67679, | |
67703, | |
67711, | |
67743, | |
67807, | |
67827, | |
67827, | |
67830, | |
67839, | |
67862, | |
67871, | |
67898, | |
67967, | |
68024, | |
68029, | |
68032, | |
68095, | |
68097, | |
68111, | |
68116, | |
68116, | |
68120, | |
68120, | |
68148, | |
68191, | |
68221, | |
68223, | |
68253, | |
68287, | |
68296, | |
68296, | |
68325, | |
68351, | |
68406, | |
68415, | |
68438, | |
68447, | |
68467, | |
68479, | |
68498, | |
68607, | |
68681, | |
69634, | |
69688, | |
69762, | |
69808, | |
69839, | |
69865, | |
69890, | |
69927, | |
69967, | |
70003, | |
70005, | |
70007, | |
70018, | |
70067, | |
70080, | |
70085, | |
70105, | |
70107, | |
70107, | |
70109, | |
70143, | |
70162, | |
70162, | |
70188, | |
70271, | |
70279, | |
70279, | |
70281, | |
70281, | |
70286, | |
70286, | |
70302, | |
70302, | |
70313, | |
70319, | |
70367, | |
70404, | |
70413, | |
70414, | |
70417, | |
70418, | |
70441, | |
70441, | |
70449, | |
70449, | |
70452, | |
70452, | |
70458, | |
70460, | |
70462, | |
70479, | |
70481, | |
70492, | |
70498, | |
70783, | |
70832, | |
70851, | |
70854, | |
70854, | |
70856, | |
71039, | |
71087, | |
71127, | |
71132, | |
71167, | |
71216, | |
71235, | |
71237, | |
71295, | |
71339, | |
71423, | |
71450, | |
71934, | |
71936, | |
72383, | |
72441, | |
73727, | |
74650, | |
74879, | |
75076, | |
77823, | |
78895, | |
82943, | |
83527, | |
92159, | |
92729, | |
92735, | |
92767, | |
92879, | |
92910, | |
92927, | |
92976, | |
93026, | |
93048, | |
93052, | |
93072, | |
93951, | |
94021, | |
94031, | |
94033, | |
110591, | |
110594, | |
113663, | |
113771, | |
113775, | |
113789, | |
113791, | |
113801, | |
113807, | |
113818, | |
124927, | |
125125, | |
126463, | |
126468, | |
126468, | |
126496, | |
126496, | |
126499, | |
126499, | |
126501, | |
126502, | |
126504, | |
126504, | |
126515, | |
126515, | |
126520, | |
126520, | |
126522, | |
126522, | |
126524, | |
126529, | |
126531, | |
126534, | |
126536, | |
126536, | |
126538, | |
126538, | |
126540, | |
126540, | |
126544, | |
126544, | |
126547, | |
126547, | |
126549, | |
126550, | |
126552, | |
126552, | |
126554, | |
126554, | |
126556, | |
126556, | |
126558, | |
126558, | |
126560, | |
126560, | |
126563, | |
126563, | |
126565, | |
126566, | |
126571, | |
126571, | |
126579, | |
126579, | |
126584, | |
126584, | |
126589, | |
126589, | |
126591, | |
126591, | |
126602, | |
126602, | |
126620, | |
126624, | |
126628, | |
126628, | |
126634, | |
126634, | |
126652, | |
131071, | |
173783, | |
173823, | |
177973, | |
177983, | |
178206, | |
178207, | |
183970, | |
194559, | |
195102, | |
1114111 | |
], | |
[ | |
0, | |
767, | |
880, | |
1154, | |
1160, | |
1424, | |
1470, | |
1470, | |
1472, | |
1472, | |
1475, | |
1475, | |
1478, | |
1478, | |
1480, | |
1551, | |
1563, | |
1610, | |
1632, | |
1647, | |
1649, | |
1749, | |
1757, | |
1758, | |
1765, | |
1766, | |
1769, | |
1769, | |
1774, | |
1808, | |
1810, | |
1839, | |
1867, | |
1957, | |
1969, | |
2026, | |
2036, | |
2069, | |
2074, | |
2074, | |
2084, | |
2084, | |
2088, | |
2088, | |
2094, | |
2136, | |
2140, | |
2274, | |
2307, | |
2361, | |
2363, | |
2363, | |
2365, | |
2368, | |
2377, | |
2380, | |
2382, | |
2384, | |
2392, | |
2401, | |
2404, | |
2432, | |
2434, | |
2491, | |
2493, | |
2496, | |
2501, | |
2508, | |
2510, | |
2529, | |
2532, | |
2560, | |
2563, | |
2619, | |
2621, | |
2624, | |
2627, | |
2630, | |
2633, | |
2634, | |
2638, | |
2640, | |
2642, | |
2671, | |
2674, | |
2676, | |
2678, | |
2688, | |
2691, | |
2747, | |
2749, | |
2752, | |
2758, | |
2758, | |
2761, | |
2764, | |
2766, | |
2785, | |
2788, | |
2816, | |
2818, | |
2875, | |
2877, | |
2878, | |
2880, | |
2880, | |
2885, | |
2892, | |
2894, | |
2901, | |
2903, | |
2913, | |
2916, | |
2945, | |
2947, | |
3007, | |
3009, | |
3020, | |
3022, | |
3071, | |
3073, | |
3133, | |
3137, | |
3141, | |
3145, | |
3145, | |
3150, | |
3156, | |
3159, | |
3169, | |
3172, | |
3200, | |
3202, | |
3259, | |
3261, | |
3262, | |
3264, | |
3269, | |
3271, | |
3275, | |
3278, | |
3297, | |
3300, | |
3328, | |
3330, | |
3392, | |
3397, | |
3404, | |
3406, | |
3425, | |
3428, | |
3529, | |
3531, | |
3537, | |
3541, | |
3541, | |
3543, | |
3632, | |
3634, | |
3635, | |
3643, | |
3654, | |
3663, | |
3760, | |
3762, | |
3763, | |
3770, | |
3770, | |
3773, | |
3783, | |
3790, | |
3863, | |
3866, | |
3892, | |
3894, | |
3894, | |
3896, | |
3896, | |
3898, | |
3952, | |
3967, | |
3967, | |
3973, | |
3973, | |
3976, | |
3980, | |
3992, | |
3992, | |
4029, | |
4037, | |
4039, | |
4140, | |
4145, | |
4145, | |
4152, | |
4152, | |
4155, | |
4156, | |
4159, | |
4183, | |
4186, | |
4189, | |
4193, | |
4208, | |
4213, | |
4225, | |
4227, | |
4228, | |
4231, | |
4236, | |
4238, | |
4252, | |
4254, | |
4956, | |
4960, | |
5905, | |
5909, | |
5937, | |
5941, | |
5969, | |
5972, | |
6001, | |
6004, | |
6067, | |
6070, | |
6070, | |
6078, | |
6085, | |
6087, | |
6088, | |
6100, | |
6108, | |
6110, | |
6154, | |
6158, | |
6312, | |
6314, | |
6431, | |
6435, | |
6438, | |
6441, | |
6449, | |
6451, | |
6456, | |
6460, | |
6678, | |
6681, | |
6682, | |
6684, | |
6741, | |
6743, | |
6743, | |
6751, | |
6751, | |
6753, | |
6753, | |
6755, | |
6756, | |
6765, | |
6770, | |
6781, | |
6782, | |
6784, | |
6831, | |
6846, | |
6911, | |
6916, | |
6963, | |
6965, | |
6965, | |
6971, | |
6971, | |
6973, | |
6977, | |
6979, | |
7018, | |
7028, | |
7039, | |
7042, | |
7073, | |
7078, | |
7079, | |
7082, | |
7082, | |
7086, | |
7141, | |
7143, | |
7143, | |
7146, | |
7148, | |
7150, | |
7150, | |
7154, | |
7211, | |
7220, | |
7221, | |
7224, | |
7375, | |
7379, | |
7379, | |
7393, | |
7393, | |
7401, | |
7404, | |
7406, | |
7411, | |
7413, | |
7415, | |
7418, | |
7615, | |
7670, | |
7675, | |
7680, | |
8399, | |
8413, | |
8416, | |
8418, | |
8420, | |
8433, | |
11502, | |
11506, | |
11646, | |
11648, | |
11743, | |
11776, | |
12329, | |
12334, | |
12440, | |
12443, | |
42606, | |
42608, | |
42611, | |
42622, | |
42653, | |
42656, | |
42735, | |
42738, | |
43009, | |
43011, | |
43013, | |
43015, | |
43018, | |
43020, | |
43044, | |
43047, | |
43203, | |
43205, | |
43231, | |
43250, | |
43301, | |
43310, | |
43334, | |
43346, | |
43391, | |
43395, | |
43442, | |
43444, | |
43445, | |
43450, | |
43451, | |
43453, | |
43492, | |
43494, | |
43560, | |
43567, | |
43568, | |
43571, | |
43572, | |
43575, | |
43586, | |
43588, | |
43595, | |
43597, | |
43643, | |
43645, | |
43695, | |
43697, | |
43697, | |
43701, | |
43702, | |
43705, | |
43709, | |
43712, | |
43712, | |
43714, | |
43755, | |
43758, | |
43765, | |
43767, | |
44004, | |
44006, | |
44007, | |
44009, | |
44012, | |
44014, | |
55295, | |
57344, | |
64285, | |
64287, | |
65023, | |
65040, | |
65055, | |
65072, | |
66044, | |
66046, | |
66271, | |
66273, | |
66421, | |
66427, | |
68096, | |
68100, | |
68100, | |
68103, | |
68107, | |
68112, | |
68151, | |
68155, | |
68158, | |
68160, | |
68324, | |
68327, | |
69632, | |
69634, | |
69687, | |
69703, | |
69758, | |
69762, | |
69810, | |
69815, | |
69816, | |
69819, | |
69887, | |
69891, | |
69926, | |
69932, | |
69932, | |
69941, | |
70002, | |
70004, | |
70015, | |
70018, | |
70069, | |
70079, | |
70089, | |
70093, | |
70190, | |
70194, | |
70195, | |
70197, | |
70197, | |
70200, | |
70366, | |
70368, | |
70370, | |
70379, | |
70399, | |
70402, | |
70459, | |
70461, | |
70463, | |
70465, | |
70501, | |
70509, | |
70511, | |
70517, | |
70834, | |
70841, | |
70841, | |
70843, | |
70846, | |
70849, | |
70849, | |
70852, | |
71089, | |
71094, | |
71099, | |
71102, | |
71102, | |
71105, | |
71131, | |
71134, | |
71218, | |
71227, | |
71228, | |
71230, | |
71230, | |
71233, | |
71338, | |
71340, | |
71340, | |
71342, | |
71343, | |
71350, | |
71350, | |
71352, | |
71452, | |
71456, | |
71457, | |
71462, | |
71462, | |
71468, | |
92911, | |
92917, | |
92975, | |
92983, | |
94094, | |
94099, | |
113820, | |
113823, | |
119142, | |
119146, | |
119162, | |
119171, | |
119172, | |
119180, | |
119209, | |
119214, | |
119361, | |
119365, | |
121343, | |
121399, | |
121402, | |
121453, | |
121460, | |
121462, | |
121475, | |
121477, | |
121498, | |
121504, | |
121504, | |
121520, | |
125135, | |
125143, | |
917759, | |
918000, | |
1114111 | |
], | |
[ | |
0, | |
2306, | |
2308, | |
2362, | |
2364, | |
2365, | |
2369, | |
2376, | |
2381, | |
2381, | |
2384, | |
2433, | |
2436, | |
2493, | |
2497, | |
2502, | |
2505, | |
2506, | |
2509, | |
2518, | |
2520, | |
2562, | |
2564, | |
2621, | |
2625, | |
2690, | |
2692, | |
2749, | |
2753, | |
2760, | |
2762, | |
2762, | |
2765, | |
2817, | |
2820, | |
2877, | |
2879, | |
2879, | |
2881, | |
2886, | |
2889, | |
2890, | |
2893, | |
2902, | |
2904, | |
3005, | |
3008, | |
3008, | |
3011, | |
3013, | |
3017, | |
3017, | |
3021, | |
3030, | |
3032, | |
3072, | |
3076, | |
3136, | |
3141, | |
3201, | |
3204, | |
3261, | |
3263, | |
3263, | |
3269, | |
3270, | |
3273, | |
3273, | |
3276, | |
3284, | |
3287, | |
3329, | |
3332, | |
3389, | |
3393, | |
3397, | |
3401, | |
3401, | |
3405, | |
3414, | |
3416, | |
3457, | |
3460, | |
3534, | |
3538, | |
3543, | |
3552, | |
3569, | |
3572, | |
3901, | |
3904, | |
3966, | |
3968, | |
4138, | |
4141, | |
4144, | |
4146, | |
4151, | |
4153, | |
4154, | |
4157, | |
4181, | |
4184, | |
4193, | |
4197, | |
4198, | |
4206, | |
4226, | |
4229, | |
4230, | |
4237, | |
4238, | |
4240, | |
4249, | |
4253, | |
6069, | |
6071, | |
6077, | |
6086, | |
6086, | |
6089, | |
6434, | |
6439, | |
6440, | |
6444, | |
6447, | |
6450, | |
6450, | |
6457, | |
6680, | |
6683, | |
6740, | |
6742, | |
6742, | |
6744, | |
6752, | |
6754, | |
6754, | |
6757, | |
6764, | |
6771, | |
6915, | |
6917, | |
6964, | |
6966, | |
6970, | |
6972, | |
6972, | |
6978, | |
6978, | |
6981, | |
7041, | |
7043, | |
7072, | |
7074, | |
7077, | |
7080, | |
7081, | |
7083, | |
7142, | |
7144, | |
7145, | |
7149, | |
7149, | |
7151, | |
7153, | |
7156, | |
7203, | |
7212, | |
7219, | |
7222, | |
7392, | |
7394, | |
7409, | |
7412, | |
12333, | |
12336, | |
43042, | |
43045, | |
43046, | |
43048, | |
43135, | |
43138, | |
43187, | |
43204, | |
43345, | |
43348, | |
43394, | |
43396, | |
43443, | |
43446, | |
43449, | |
43452, | |
43452, | |
43457, | |
43566, | |
43569, | |
43570, | |
43573, | |
43596, | |
43598, | |
43642, | |
43644, | |
43644, | |
43646, | |
43754, | |
43756, | |
43757, | |
43760, | |
43764, | |
43766, | |
44002, | |
44005, | |
44005, | |
44008, | |
44008, | |
44011, | |
44011, | |
44013, | |
55295, | |
57344, | |
69631, | |
69633, | |
69633, | |
69635, | |
69761, | |
69763, | |
69807, | |
69811, | |
69814, | |
69817, | |
69931, | |
69933, | |
70017, | |
70019, | |
70066, | |
70070, | |
70078, | |
70081, | |
70187, | |
70191, | |
70193, | |
70196, | |
70196, | |
70198, | |
70367, | |
70371, | |
70401, | |
70404, | |
70461, | |
70464, | |
70464, | |
70469, | |
70470, | |
70473, | |
70474, | |
70478, | |
70486, | |
70488, | |
70497, | |
70500, | |
70831, | |
70835, | |
70840, | |
70842, | |
70842, | |
70847, | |
70848, | |
70850, | |
71086, | |
71090, | |
71095, | |
71100, | |
71101, | |
71103, | |
71215, | |
71219, | |
71226, | |
71229, | |
71229, | |
71231, | |
71339, | |
71341, | |
71341, | |
71344, | |
71349, | |
71351, | |
71455, | |
71458, | |
71461, | |
71463, | |
94032, | |
94079, | |
119140, | |
119143, | |
119148, | |
119155, | |
1114111 | |
], | |
[ | |
0, | |
1159, | |
1162, | |
6845, | |
6847, | |
8412, | |
8417, | |
8417, | |
8421, | |
42607, | |
42611, | |
55295, | |
57344, | |
1114111 | |
], | |
[ | |
0, | |
47, | |
58, | |
1631, | |
1642, | |
1775, | |
1786, | |
1983, | |
1994, | |
2405, | |
2416, | |
2533, | |
2544, | |
2661, | |
2672, | |
2789, | |
2800, | |
2917, | |
2928, | |
3045, | |
3056, | |
3173, | |
3184, | |
3301, | |
3312, | |
3429, | |
3440, | |
3557, | |
3568, | |
3663, | |
3674, | |
3791, | |
3802, | |
3871, | |
3882, | |
4159, | |
4170, | |
4239, | |
4250, | |
6111, | |
6122, | |
6159, | |
6170, | |
6469, | |
6480, | |
6607, | |
6618, | |
6783, | |
6794, | |
6799, | |
6810, | |
6991, | |
7002, | |
7087, | |
7098, | |
7231, | |
7242, | |
7247, | |
7258, | |
42527, | |
42538, | |
43215, | |
43226, | |
43263, | |
43274, | |
43471, | |
43482, | |
43503, | |
43514, | |
43599, | |
43610, | |
44015, | |
44026, | |
55295, | |
57344, | |
65295, | |
65306, | |
66719, | |
66730, | |
69733, | |
69744, | |
69871, | |
69882, | |
69941, | |
69952, | |
70095, | |
70106, | |
70383, | |
70394, | |
70863, | |
70874, | |
71247, | |
71258, | |
71359, | |
71370, | |
71471, | |
71482, | |
71903, | |
71914, | |
92767, | |
92778, | |
93007, | |
93018, | |
120781, | |
120832, | |
1114111 | |
], | |
[ | |
0, | |
5869, | |
5873, | |
8543, | |
8579, | |
8580, | |
8585, | |
12294, | |
12296, | |
12320, | |
12330, | |
12343, | |
12347, | |
42725, | |
42736, | |
55295, | |
57344, | |
65855, | |
65909, | |
66368, | |
66370, | |
66377, | |
66379, | |
66512, | |
66518, | |
74751, | |
74863, | |
1114111 | |
], | |
[ | |
0, | |
177, | |
180, | |
184, | |
186, | |
187, | |
191, | |
2547, | |
2554, | |
2929, | |
2936, | |
3055, | |
3059, | |
3191, | |
3199, | |
3439, | |
3446, | |
3881, | |
3892, | |
4968, | |
4989, | |
6127, | |
6138, | |
6617, | |
6619, | |
8303, | |
8305, | |
8307, | |
8314, | |
8319, | |
8330, | |
8527, | |
8544, | |
8584, | |
8586, | |
9311, | |
9372, | |
9449, | |
9472, | |
10101, | |
10132, | |
11516, | |
11518, | |
12689, | |
12694, | |
12831, | |
12842, | |
12871, | |
12880, | |
12880, | |
12896, | |
12927, | |
12938, | |
12976, | |
12992, | |
43055, | |
43062, | |
55295, | |
57344, | |
65798, | |
65844, | |
65908, | |
65913, | |
65929, | |
65932, | |
66272, | |
66300, | |
66335, | |
66340, | |
67671, | |
67680, | |
67704, | |
67712, | |
67750, | |
67760, | |
67834, | |
67840, | |
67861, | |
67868, | |
68027, | |
68030, | |
68031, | |
68048, | |
68049, | |
68096, | |
68159, | |
68168, | |
68220, | |
68223, | |
68252, | |
68256, | |
68330, | |
68336, | |
68439, | |
68448, | |
68471, | |
68480, | |
68520, | |
68528, | |
68857, | |
68864, | |
69215, | |
69247, | |
69713, | |
69734, | |
70112, | |
70133, | |
71481, | |
71484, | |
71913, | |
71923, | |
93018, | |
93026, | |
119647, | |
119666, | |
125126, | |
125136, | |
127231, | |
127245, | |
1114111 | |
], | |
[ | |
0, | |
31, | |
33, | |
159, | |
161, | |
5759, | |
5761, | |
8191, | |
8203, | |
8238, | |
8240, | |
8286, | |
8288, | |
12287, | |
12289, | |
55295, | |
57344, | |
1114111 | |
], | |
[ | |
0, | |
8231, | |
8233, | |
55295, | |
57344, | |
1114111 | |
], | |
[ | |
0, | |
8232, | |
8234, | |
55295, | |
57344, | |
1114111 | |
], | |
[ | |
32, | |
126, | |
160, | |
55295, | |
57344, | |
1114111 | |
], | |
[ | |
0, | |
1535, | |
1542, | |
1563, | |
1565, | |
1756, | |
1758, | |
1806, | |
1808, | |
6157, | |
6159, | |
8202, | |
8208, | |
8233, | |
8239, | |
8287, | |
8293, | |
8293, | |
8304, | |
55295, | |
57344, | |
65278, | |
65280, | |
65528, | |
65532, | |
69820, | |
69822, | |
113823, | |
113828, | |
119154, | |
119163, | |
917504, | |
917506, | |
917535, | |
917632, | |
1114111 | |
], | |
[ | |
0, | |
55295, | |
57344, | |
1114111 | |
], | |
[ | |
0, | |
55295, | |
63744, | |
983039, | |
1048574, | |
1048575, | |
1114110, | |
1114111 | |
], | |
[ | |
0, | |
94, | |
96, | |
8254, | |
8257, | |
8275, | |
8277, | |
55295, | |
57344, | |
65074, | |
65077, | |
65100, | |
65104, | |
65342, | |
65344, | |
1114111 | |
], | |
[ | |
0, | |
44, | |
46, | |
172, | |
174, | |
1417, | |
1419, | |
1469, | |
1471, | |
5119, | |
5121, | |
6149, | |
6151, | |
8207, | |
8214, | |
11798, | |
11800, | |
11801, | |
11803, | |
11833, | |
11836, | |
11839, | |
11841, | |
12315, | |
12317, | |
12335, | |
12337, | |
12447, | |
12449, | |
55295, | |
57344, | |
65072, | |
65075, | |
65111, | |
65113, | |
65122, | |
65124, | |
65292, | |
65294, | |
1114111 | |
], | |
[ | |
0, | |
39, | |
41, | |
90, | |
92, | |
122, | |
124, | |
3897, | |
3899, | |
3899, | |
3901, | |
5786, | |
5788, | |
8217, | |
8219, | |
8221, | |
8223, | |
8260, | |
8262, | |
8316, | |
8318, | |
8332, | |
8334, | |
8967, | |
8969, | |
8969, | |
8971, | |
9000, | |
9002, | |
10087, | |
10089, | |
10089, | |
10091, | |
10091, | |
10093, | |
10093, | |
10095, | |
10095, | |
10097, | |
10097, | |
10099, | |
10099, | |
10101, | |
10180, | |
10182, | |
10213, | |
10215, | |
10215, | |
10217, | |
10217, | |
10219, | |
10219, | |
10221, | |
10221, | |
10223, | |
10626, | |
10628, | |
10628, | |
10630, | |
10630, | |
10632, | |
10632, | |
10634, | |
10634, | |
10636, | |
10636, | |
10638, | |
10638, | |
10640, | |
10640, | |
10642, | |
10642, | |
10644, | |
10644, | |
10646, | |
10646, | |
10648, | |
10711, | |
10713, | |
10713, | |
10715, | |
10747, | |
10749, | |
11809, | |
11811, | |
11811, | |
11813, | |
11813, | |
11815, | |
11815, | |
11817, | |
11841, | |
11843, | |
12295, | |
12297, | |
12297, | |
12299, | |
12299, | |
12301, | |
12301, | |
12303, | |
12303, | |
12305, | |
12307, | |
12309, | |
12309, | |
12311, | |
12311, | |
12313, | |
12313, | |
12315, | |
12316, | |
12318, | |
55295, | |
57344, | |
64830, | |
64832, | |
65046, | |
65048, | |
65076, | |
65078, | |
65078, | |
65080, | |
65080, | |
65082, | |
65082, | |
65084, | |
65084, | |
65086, | |
65086, | |
65088, | |
65088, | |
65090, | |
65090, | |
65092, | |
65094, | |
65096, | |
65112, | |
65114, | |
65114, | |
65116, | |
65116, | |
65118, | |
65287, | |
65289, | |
65338, | |
65340, | |
65370, | |
65372, | |
65374, | |
65376, | |
65377, | |
65379, | |
1114111 | |
], | |
[ | |
0, | |
40, | |
42, | |
92, | |
94, | |
124, | |
126, | |
3898, | |
3900, | |
3900, | |
3902, | |
5787, | |
5789, | |
8261, | |
8263, | |
8317, | |
8319, | |
8333, | |
8335, | |
8968, | |
8970, | |
8970, | |
8972, | |
9001, | |
9003, | |
10088, | |
10090, | |
10090, | |
10092, | |
10092, | |
10094, | |
10094, | |
10096, | |
10096, | |
10098, | |
10098, | |
10100, | |
10100, | |
10102, | |
10181, | |
10183, | |
10214, | |
10216, | |
10216, | |
10218, | |
10218, | |
10220, | |
10220, | |
10222, | |
10222, | |
10224, | |
10627, | |
10629, | |
10629, | |
10631, | |
10631, | |
10633, | |
10633, | |
10635, | |
10635, | |
10637, | |
10637, | |
10639, | |
10639, | |
10641, | |
10641, | |
10643, | |
10643, | |
10645, | |
10645, | |
10647, | |
10647, | |
10649, | |
10712, | |
10714, | |
10714, | |
10716, | |
10748, | |
10750, | |
11810, | |
11812, | |
11812, | |
11814, | |
11814, | |
11816, | |
11816, | |
11818, | |
12296, | |
12298, | |
12298, | |
12300, | |
12300, | |
12302, | |
12302, | |
12304, | |
12304, | |
12306, | |
12308, | |
12310, | |
12310, | |
12312, | |
12312, | |
12314, | |
12314, | |
12316, | |
12317, | |
12320, | |
55295, | |
57344, | |
64829, | |
64831, | |
65047, | |
65049, | |
65077, | |
65079, | |
65079, | |
65081, | |
65081, | |
65083, | |
65083, | |
65085, | |
65085, | |
65087, | |
65087, | |
65089, | |
65089, | |
65091, | |
65091, | |
65093, | |
65095, | |
65097, | |
65113, | |
65115, | |
65115, | |
65117, | |
65117, | |
65119, | |
65288, | |
65290, | |
65340, | |
65342, | |
65372, | |
65374, | |
65375, | |
65377, | |
65378, | |
65380, | |
1114111 | |
], | |
[ | |
0, | |
170, | |
172, | |
8215, | |
8217, | |
8218, | |
8221, | |
8222, | |
8224, | |
8248, | |
8250, | |
11777, | |
11779, | |
11779, | |
11781, | |
11784, | |
11786, | |
11787, | |
11789, | |
11803, | |
11805, | |
11807, | |
11809, | |
55295, | |
57344, | |
1114111 | |
], | |
[ | |
0, | |
186, | |
188, | |
8216, | |
8218, | |
8220, | |
8222, | |
8249, | |
8251, | |
11778, | |
11780, | |
11780, | |
11782, | |
11785, | |
11787, | |
11788, | |
11790, | |
11804, | |
11806, | |
11808, | |
11810, | |
55295, | |
57344, | |
1114111 | |
], | |
[ | |
0, | |
32, | |
36, | |
36, | |
40, | |
41, | |
43, | |
43, | |
45, | |
45, | |
48, | |
57, | |
60, | |
62, | |
65, | |
91, | |
93, | |
160, | |
162, | |
182, | |
184, | |
190, | |
192, | |
893, | |
895, | |
902, | |
904, | |
1369, | |
1376, | |
1416, | |
1418, | |
1471, | |
1473, | |
1474, | |
1476, | |
1477, | |
1479, | |
1522, | |
1525, | |
1544, | |
1547, | |
1547, | |
1550, | |
1562, | |
1564, | |
1565, | |
1568, | |
1641, | |
1646, | |
1747, | |
1749, | |
1791, | |
1806, | |
2038, | |
2042, | |
2095, | |
2111, | |
2141, | |
2143, | |
2403, | |
2406, | |
2415, | |
2417, | |
2799, | |
2801, | |
3571, | |
3573, | |
3662, | |
3664, | |
3673, | |
3676, | |
3843, | |
3859, | |
3859, | |
3861, | |
3972, | |
3974, | |
4047, | |
4053, | |
4056, | |
4059, | |
4169, | |
4176, | |
4346, | |
4348, | |
4959, | |
4969, | |
5740, | |
5743, | |
5866, | |
5870, | |
5940, | |
5943, | |
6099, | |
6103, | |
6103, | |
6107, | |
6143, | |
6150, | |
6150, | |
6155, | |
6467, | |
6470, | |
6685, | |
6688, | |
6815, | |
6823, | |
6823, | |
6830, | |
7001, | |
7009, | |
7163, | |
7168, | |
7226, | |
7232, | |
7293, | |
7296, | |
7359, | |
7368, | |
7378, | |
7380, | |
8213, | |
8216, | |
8223, | |
8232, | |
8239, | |
8249, | |
8250, | |
8255, | |
8256, | |
8260, | |
8262, | |
8274, | |
8274, | |
8276, | |
8276, | |
8287, | |
11512, | |
11517, | |
11517, | |
11520, | |
11631, | |
11633, | |
11775, | |
11778, | |
11781, | |
11785, | |
11786, | |
11788, | |
11789, | |
11799, | |
11799, | |
11802, | |
11802, | |
11804, | |
11805, | |
11808, | |
11817, | |
11823, | |
11823, | |
11834, | |
11835, | |
11840, | |
11840, | |
11842, | |
12288, | |
12292, | |
12348, | |
12350, | |
12538, | |
12540, | |
42237, | |
42240, | |
42508, | |
42512, | |
42610, | |
42612, | |
42621, | |
42623, | |
42737, | |
42744, | |
43123, | |
43128, | |
43213, | |
43216, | |
43255, | |
43259, | |
43259, | |
43261, | |
43309, | |
43312, | |
43358, | |
43360, | |
43456, | |
43470, | |
43485, | |
43488, | |
43611, | |
43616, | |
43741, | |
43744, | |
43759, | |
43762, | |
44010, | |
44012, | |
55295, | |
57344, | |
65039, | |
65047, | |
65048, | |
65050, | |
65071, | |
65073, | |
65092, | |
65095, | |
65096, | |
65101, | |
65103, | |
65107, | |
65107, | |
65112, | |
65118, | |
65122, | |
65127, | |
65129, | |
65129, | |
65132, | |
65280, | |
65284, | |
65284, | |
65288, | |
65289, | |
65291, | |
65291, | |
65293, | |
65293, | |
65296, | |
65305, | |
65308, | |
65310, | |
65313, | |
65339, | |
65341, | |
65376, | |
65378, | |
65379, | |
65382, | |
65791, | |
65795, | |
66462, | |
66464, | |
66511, | |
66513, | |
66926, | |
66928, | |
67670, | |
67672, | |
67870, | |
67872, | |
67902, | |
67904, | |
68175, | |
68185, | |
68222, | |
68224, | |
68335, | |
68343, | |
68408, | |
68416, | |
68504, | |
68509, | |
69702, | |
69710, | |
69818, | |
69821, | |
69821, | |
69826, | |
69951, | |
69956, | |
70003, | |
70006, | |
70084, | |
70090, | |
70092, | |
70094, | |
70106, | |
70108, | |
70108, | |
70112, | |
70199, | |
70206, | |
70312, | |
70314, | |
70853, | |
70855, | |
71104, | |
71128, | |
71232, | |
71236, | |
71483, | |
71487, | |
74863, | |
74869, | |
92781, | |
92784, | |
92916, | |
92918, | |
92982, | |
92988, | |
92995, | |
92997, | |
113822, | |
113824, | |
121478, | |
121484, | |
1114111 | |
], | |
[ | |
0, | |
42, | |
44, | |
59, | |
63, | |
123, | |
125, | |
125, | |
127, | |
171, | |
173, | |
176, | |
178, | |
214, | |
216, | |
246, | |
248, | |
1013, | |
1015, | |
1541, | |
1545, | |
8259, | |
8261, | |
8273, | |
8275, | |
8313, | |
8317, | |
8329, | |
8333, | |
8471, | |
8473, | |
8511, | |
8517, | |
8522, | |
8524, | |
8591, | |
8597, | |
8601, | |
8604, | |
8607, | |
8609, | |
8610, | |
8612, | |
8613, | |
8615, | |
8621, | |
8623, | |
8653, | |
8656, | |
8657, | |
8659, | |
8659, | |
8661, | |
8691, | |
8960, | |
8991, | |
8994, | |
9083, | |
9085, | |
9114, | |
9140, | |
9179, | |
9186, | |
9654, | |
9656, | |
9664, | |
9666, | |
9719, | |
9728, | |
9838, | |
9840, | |
10175, | |
10181, | |
10182, | |
10214, | |
10223, | |
10240, | |
10495, | |
10627, | |
10648, | |
10712, | |
10715, | |
10748, | |
10749, | |
11008, | |
11055, | |
11077, | |
11078, | |
11085, | |
55295, | |
57344, | |
64296, | |
64298, | |
65121, | |
65123, | |
65123, | |
65127, | |
65290, | |
65292, | |
65307, | |
65311, | |
65371, | |
65373, | |
65373, | |
65375, | |
65505, | |
65507, | |
65512, | |
65517, | |
120512, | |
120514, | |
120538, | |
120540, | |
120570, | |
120572, | |
120596, | |
120598, | |
120628, | |
120630, | |
120654, | |
120656, | |
120686, | |
120688, | |
120712, | |
120714, | |
120744, | |
120746, | |
120770, | |
120772, | |
126703, | |
126706, | |
1114111 | |
], | |
[ | |
0, | |
35, | |
37, | |
161, | |
166, | |
1422, | |
1424, | |
1546, | |
1548, | |
2545, | |
2548, | |
2554, | |
2556, | |
2800, | |
2802, | |
3064, | |
3066, | |
3646, | |
3648, | |
6106, | |
6108, | |
8351, | |
8383, | |
43063, | |
43065, | |
55295, | |
57344, | |
65019, | |
65021, | |
65128, | |
65130, | |
65283, | |
65285, | |
65503, | |
65506, | |
65508, | |
65511, | |
1114111 | |
], | |
[ | |
0, | |
93, | |
95, | |
95, | |
97, | |
167, | |
169, | |
174, | |
176, | |
179, | |
181, | |
183, | |
185, | |
705, | |
710, | |
721, | |
736, | |
740, | |
748, | |
748, | |
750, | |
750, | |
768, | |
884, | |
886, | |
899, | |
902, | |
8124, | |
8126, | |
8126, | |
8130, | |
8140, | |
8144, | |
8156, | |
8160, | |
8172, | |
8176, | |
8188, | |
8191, | |
12442, | |
12445, | |
42751, | |
42775, | |
42783, | |
42786, | |
42888, | |
42891, | |
43866, | |
43868, | |
55295, | |
57344, | |
64433, | |
64450, | |
65341, | |
65343, | |
65343, | |
65345, | |
65506, | |
65508, | |
127994, | |
128000, | |
1114111 | |
], | |
[ | |
0, | |
165, | |
168, | |
168, | |
170, | |
173, | |
175, | |
175, | |
177, | |
181, | |
183, | |
1153, | |
1155, | |
1420, | |
1423, | |
1549, | |
1552, | |
1757, | |
1759, | |
1768, | |
1770, | |
1788, | |
1791, | |
2037, | |
2039, | |
2553, | |
2555, | |
2927, | |
2929, | |
3058, | |
3065, | |
3065, | |
3067, | |
3198, | |
3200, | |
3448, | |
3450, | |
3840, | |
3844, | |
3858, | |
3860, | |
3860, | |
3864, | |
3865, | |
3872, | |
3891, | |
3893, | |
3893, | |
3895, | |
3895, | |
3897, | |
4029, | |
4038, | |
4038, | |
4045, | |
4045, | |
4048, | |
4052, | |
4057, | |
4253, | |
4256, | |
5007, | |
5018, | |
6463, | |
6465, | |
6621, | |
6656, | |
7008, | |
7019, | |
7027, | |
7037, | |
8447, | |
8450, | |
8450, | |
8455, | |
8455, | |
8458, | |
8467, | |
8469, | |
8469, | |
8472, | |
8477, | |
8484, | |
8484, | |
8486, | |
8486, | |
8488, | |
8488, | |
8490, | |
8493, | |
8495, | |
8505, | |
8508, | |
8521, | |
8523, | |
8523, | |
8526, | |
8526, | |
8528, | |
8585, | |
8588, | |
8596, | |
8602, | |
8603, | |
8608, | |
8608, | |
8611, | |
8611, | |
8614, | |
8614, | |
8622, | |
8622, | |
8654, | |
8655, | |
8658, | |
8658, | |
8660, | |
8660, | |
8692, | |
8959, | |
8968, | |
8971, | |
8992, | |
8993, | |
9001, | |
9002, | |
9084, | |
9084, | |
9115, | |
9139, | |
9180, | |
9185, | |
9211, | |
9215, | |
9255, | |
9279, | |
9291, | |
9371, | |
9450, | |
9471, | |
9655, | |
9655, | |
9665, | |
9665, | |
9720, | |
9727, | |
9839, | |
9839, | |
10088, | |
10131, | |
10176, | |
10239, | |
10496, | |
11007, | |
11056, | |
11076, | |
11079, | |
11084, | |
11124, | |
11125, | |
11158, | |
11159, | |
11194, | |
11196, | |
11209, | |
11209, | |
11218, | |
11243, | |
11248, | |
11492, | |
11499, | |
11903, | |
11930, | |
11930, | |
12020, | |
12031, | |
12246, | |
12271, | |
12284, | |
12291, | |
12293, | |
12305, | |
12308, | |
12319, | |
12321, | |
12341, | |
12344, | |
12349, | |
12352, | |
12687, | |
12690, | |
12693, | |
12704, | |
12735, | |
12772, | |
12799, | |
12831, | |
12841, | |
12872, | |
12879, | |
12881, | |
12895, | |
12928, | |
12937, | |
12977, | |
12991, | |
13055, | |
13055, | |
13312, | |
19903, | |
19968, | |
42127, | |
42183, | |
43047, | |
43052, | |
43061, | |
43064, | |
43064, | |
43066, | |
43638, | |
43642, | |
55295, | |
57344, | |
65020, | |
65022, | |
65507, | |
65509, | |
65511, | |
65513, | |
65516, | |
65519, | |
65531, | |
65534, | |
65846, | |
65856, | |
65912, | |
65930, | |
65931, | |
65933, | |
65935, | |
65948, | |
65951, | |
65953, | |
65999, | |
66045, | |
67702, | |
67705, | |
68295, | |
68297, | |
71486, | |
71488, | |
92987, | |
92992, | |
92996, | |
92998, | |
113819, | |
113821, | |
118783, | |
119030, | |
119039, | |
119079, | |
119080, | |
119141, | |
119145, | |
119149, | |
119170, | |
119173, | |
119179, | |
119210, | |
119213, | |
119273, | |
119295, | |
119362, | |
119364, | |
119366, | |
119551, | |
119639, | |
120831, | |
121344, | |
121398, | |
121403, | |
121452, | |
121461, | |
121461, | |
121476, | |
121476, | |
121479, | |
126975, | |
127020, | |
127023, | |
127124, | |
127135, | |
127151, | |
127152, | |
127168, | |
127168, | |
127184, | |
127184, | |
127222, | |
127247, | |
127279, | |
127279, | |
127340, | |
127343, | |
127387, | |
127461, | |
127491, | |
127503, | |
127547, | |
127551, | |
127561, | |
127567, | |
127570, | |
127743, | |
127995, | |
127999, | |
128378, | |
128378, | |
128420, | |
128420, | |
128721, | |
128735, | |
128749, | |
128751, | |
128756, | |
128767, | |
128884, | |
128895, | |
128981, | |
129023, | |
129036, | |
129039, | |
129096, | |
129103, | |
129114, | |
129119, | |
129160, | |
129167, | |
129198, | |
129295, | |
129305, | |
129407, | |
129413, | |
129471, | |
129473, | |
1114111 | |
], | |
[ | |
0, | |
887, | |
890, | |
895, | |
900, | |
906, | |
908, | |
908, | |
910, | |
929, | |
931, | |
1327, | |
1329, | |
1366, | |
1369, | |
1375, | |
1377, | |
1415, | |
1417, | |
1418, | |
1421, | |
1423, | |
1425, | |
1479, | |
1488, | |
1514, | |
1520, | |
1524, | |
1536, | |
1564, | |
1566, | |
1805, | |
1807, | |
1866, | |
1869, | |
1969, | |
1984, | |
2042, | |
2048, | |
2093, | |
2096, | |
2110, | |
2112, | |
2139, | |
2142, | |
2142, | |
2208, | |
2228, | |
2275, | |
2435, | |
2437, | |
2444, | |
2447, | |
2448, | |
2451, | |
2472, | |
2474, | |
2480, | |
2482, | |
2482, | |
2486, | |
2489, | |
2492, | |
2500, | |
2503, | |
2504, | |
2507, | |
2510, | |
2519, | |
2519, | |
2524, | |
2525, | |
2527, | |
2531, | |
2534, | |
2555, | |
2561, | |
2563, | |
2565, | |
2570, | |
2575, | |
2576, | |
2579, | |
2600, | |
2602, | |
2608, | |
2610, | |
2611, | |
2613, | |
2614, | |
2616, | |
2617, | |
2620, | |
2620, | |
2622, | |
2626, | |
2631, | |
2632, | |
2635, | |
2637, | |
2641, | |
2641, | |
2649, | |
2652, | |
2654, | |
2654, | |
2662, | |
2677, | |
2689, | |
2691, | |
2693, | |
2701, | |
2703, | |
2705, | |
2707, | |
2728, | |
2730, | |
2736, | |
2738, | |
2739, | |
2741, | |
2745, | |
2748, | |
2757, | |
2759, | |
2761, | |
2763, | |
2765, | |
2768, | |
2768, | |
2784, | |
2787, | |
2790, | |
2801, | |
2809, | |
2809, | |
2817, | |
2819, | |
2821, | |
2828, | |
2831, | |
2832, | |
2835, | |
2856, | |
2858, | |
2864, | |
2866, | |
2867, | |
2869, | |
2873, | |
2876, | |
2884, | |
2887, | |
2888, | |
2891, | |
2893, | |
2902, | |
2903, | |
2908, | |
2909, | |
2911, | |
2915, | |
2918, | |
2935, | |
2946, | |
2947, | |
2949, | |
2954, | |
2958, | |
2960, | |
2962, | |
2965, | |
2969, | |
2970, | |
2972, | |
2972, | |
2974, | |
2975, | |
2979, | |
2980, | |
2984, | |
2986, | |
2990, | |
3001, | |
3006, | |
3010, | |
3014, | |
3016, | |
3018, | |
3021, | |
3024, | |
3024, | |
3031, | |
3031, | |
3046, | |
3066, | |
3072, | |
3075, | |
3077, | |
3084, | |
3086, | |
3088, | |
3090, | |
3112, | |
3114, | |
3129, | |
3133, | |
3140, | |
3142, | |
3144, | |
3146, | |
3149, | |
3157, | |
3158, | |
3160, | |
3162, | |
3168, | |
3171, | |
3174, | |
3183, | |
3192, | |
3199, | |
3201, | |
3203, | |
3205, | |
3212, | |
3214, | |
3216, | |
3218, | |
3240, | |
3242, | |
3251, | |
3253, | |
3257, | |
3260, | |
3268, | |
3270, | |
3272, | |
3274, | |
3277, | |
3285, | |
3286, | |
3294, | |
3294, | |
3296, | |
3299, | |
3302, | |
3311, | |
3313, | |
3314, | |
3329, | |
3331, | |
3333, | |
3340, | |
3342, | |
3344, | |
3346, | |
3386, | |
3389, | |
3396, | |
3398, | |
3400, | |
3402, | |
3406, | |
3415, | |
3415, | |
3423, | |
3427, | |
3430, | |
3445, | |
3449, | |
3455, | |
3458, | |
3459, | |
3461, | |
3478, | |
3482, | |
3505, | |
3507, | |
3515, | |
3517, | |
3517, | |
3520, | |
3526, | |
3530, | |
3530, | |
3535, | |
3540, | |
3542, | |
3542, | |
3544, | |
3551, | |
3558, | |
3567, | |
3570, | |
3572, | |
3585, | |
3642, | |
3647, | |
3675, | |
3713, | |
3714, | |
3716, | |
3716, | |
3719, | |
3720, | |
3722, | |
3722, | |
3725, | |
3725, | |
3732, | |
3735, | |
3737, | |
3743, | |
3745, | |
3747, | |
3749, | |
3749, | |
3751, | |
3751, | |
3754, | |
3755, | |
3757, | |
3769, | |
3771, | |
3773, | |
3776, | |
3780, | |
3782, | |
3782, | |
3784, | |
3789, | |
3792, | |
3801, | |
3804, | |
3807, | |
3840, | |
3911, | |
3913, | |
3948, | |
3953, | |
3991, | |
3993, | |
4028, | |
4030, | |
4044, | |
4046, | |
4058, | |
4096, | |
4293, | |
4295, | |
4295, | |
4301, | |
4301, | |
4304, | |
4680, | |
4682, | |
4685, | |
4688, | |
4694, | |
4696, | |
4696, | |
4698, | |
4701, | |
4704, | |
4744, | |
4746, | |
4749, | |
4752, | |
4784, | |
4786, | |
4789, | |
4792, | |
4798, | |
4800, | |
4800, | |
4802, | |
4805, | |
4808, | |
4822, | |
4824, | |
4880, | |
4882, | |
4885, | |
4888, | |
4954, | |
4957, | |
4988, | |
4992, | |
5017, | |
5024, | |
5109, | |
5112, | |
5117, | |
5120, | |
5788, | |
5792, | |
5880, | |
5888, | |
5900, | |
5902, | |
5908, | |
5920, | |
5942, | |
5952, | |
5971, | |
5984, | |
5996, | |
5998, | |
6000, | |
6002, | |
6003, | |
6016, | |
6109, | |
6112, | |
6121, | |
6128, | |
6137, | |
6144, | |
6158, | |
6160, | |
6169, | |
6176, | |
6263, | |
6272, | |
6314, | |
6320, | |
6389, | |
6400, | |
6430, | |
6432, | |
6443, | |
6448, | |
6459, | |
6464, | |
6464, | |
6468, | |
6509, | |
6512, | |
6516, | |
6528, | |
6571, | |
6576, | |
6601, | |
6608, | |
6618, | |
6622, | |
6683, | |
6686, | |
6750, | |
6752, | |
6780, | |
6783, | |
6793, | |
6800, | |
6809, | |
6816, | |
6829, | |
6832, | |
6846, | |
6912, | |
6987, | |
6992, | |
7036, | |
7040, | |
7155, | |
7164, | |
7223, | |
7227, | |
7241, | |
7245, | |
7295, | |
7360, | |
7367, | |
7376, | |
7414, | |
7416, | |
7417, | |
7424, | |
7669, | |
7676, | |
7957, | |
7960, | |
7965, | |
7968, | |
8005, | |
8008, | |
8013, | |
8016, | |
8023, | |
8025, | |
8025, | |
8027, | |
8027, | |
8029, | |
8029, | |
8031, | |
8061, | |
8064, | |
8116, | |
8118, | |
8132, | |
8134, | |
8147, | |
8150, | |
8155, | |
8157, | |
8175, | |
8178, | |
8180, | |
8182, | |
8190, | |
8192, | |
8292, | |
8294, | |
8305, | |
8308, | |
8334, | |
8336, | |
8348, | |
8352, | |
8382, | |
8400, | |
8432, | |
8448, | |
8587, | |
8592, | |
9210, | |
9216, | |
9254, | |
9280, | |
9290, | |
9312, | |
11123, | |
11126, | |
11157, | |
11160, | |
11193, | |
11197, | |
11208, | |
11210, | |
11217, | |
11244, | |
11247, | |
11264, | |
11310, | |
11312, | |
11358, | |
11360, | |
11507, | |
11513, | |
11557, | |
11559, | |
11559, | |
11565, | |
11565, | |
11568, | |
11623, | |
11631, | |
11632, | |
11647, | |
11670, | |
11680, | |
11686, | |
11688, | |
11694, | |
11696, | |
11702, | |
11704, | |
11710, | |
11712, | |
11718, | |
11720, | |
11726, | |
11728, | |
11734, | |
11736, | |
11742, | |
11744, | |
11842, | |
11904, | |
11929, | |
11931, | |
12019, | |
12032, | |
12245, | |
12272, | |
12283, | |
12288, | |
12351, | |
12353, | |
12438, | |
12441, | |
12543, | |
12549, | |
12589, | |
12593, | |
12686, | |
12688, | |
12730, | |
12736, | |
12771, | |
12784, | |
12830, | |
12832, | |
13054, | |
13056, | |
19893, | |
19904, | |
40917, | |
40960, | |
42124, | |
42128, | |
42182, | |
42192, | |
42539, | |
42560, | |
42743, | |
42752, | |
42925, | |
42928, | |
42935, | |
42999, | |
43051, | |
43056, | |
43065, | |
43072, | |
43127, | |
43136, | |
43204, | |
43214, | |
43225, | |
43232, | |
43261, | |
43264, | |
43347, | |
43359, | |
43388, | |
43392, | |
43469, | |
43471, | |
43481, | |
43486, | |
43518, | |
43520, | |
43574, | |
43584, | |
43597, | |
43600, | |
43609, | |
43612, | |
43714, | |
43739, | |
43766, | |
43777, | |
43782, | |
43785, | |
43790, | |
43793, | |
43798, | |
43808, | |
43814, | |
43816, | |
43822, | |
43824, | |
43877, | |
43888, | |
44013, | |
44016, | |
44025, | |
44032, | |
55203, | |
55216, | |
55238, | |
55243, | |
55291, | |
57344, | |
64109, | |
64112, | |
64217, | |
64256, | |
64262, | |
64275, | |
64279, | |
64285, | |
64310, | |
64312, | |
64316, | |
64318, | |
64318, | |
64320, | |
64321, | |
64323, | |
64324, | |
64326, | |
64449, | |
64467, | |
64831, | |
64848, | |
64911, | |
64914, | |
64967, | |
65008, | |
65021, | |
65024, | |
65049, | |
65056, | |
65106, | |
65108, | |
65126, | |
65128, | |
65131, | |
65136, | |
65140, | |
65142, | |
65276, | |
65279, | |
65279, | |
65281, | |
65470, | |
65474, | |
65479, | |
65482, | |
65487, | |
65490, | |
65495, | |
65498, | |
65500, | |
65504, | |
65510, | |
65512, | |
65518, | |
65529, | |
65533, | |
65536, | |
65547, | |
65549, | |
65574, | |
65576, | |
65594, | |
65596, | |
65597, | |
65599, | |
65613, | |
65616, | |
65629, | |
65664, | |
65786, | |
65792, | |
65794, | |
65799, | |
65843, | |
65847, | |
65932, | |
65936, | |
65947, | |
65952, | |
65952, | |
66000, | |
66045, | |
66176, | |
66204, | |
66208, | |
66256, | |
66272, | |
66299, | |
66304, | |
66339, | |
66352, | |
66378, | |
66384, | |
66426, | |
66432, | |
66461, | |
66463, | |
66499, | |
66504, | |
66517, | |
66560, | |
66717, | |
66720, | |
66729, | |
66816, | |
66855, | |
66864, | |
66915, | |
66927, | |
66927, | |
67072, | |
67382, | |
67392, | |
67413, | |
67424, | |
67431, | |
67584, | |
67589, | |
67592, | |
67592, | |
67594, | |
67637, | |
67639, | |
67640, | |
67644, | |
67644, | |
67647, | |
67669, | |
67671, | |
67742, | |
67751, | |
67759, | |
67808, | |
67826, | |
67828, | |
67829, | |
67835, | |
67867, | |
67871, | |
67897, | |
67903, | |
67903, | |
67968, | |
68023, | |
68028, | |
68047, | |
68050, | |
68099, | |
68101, | |
68102, | |
68108, | |
68115, | |
68117, | |
68119, | |
68121, | |
68147, | |
68152, | |
68154, | |
68159, | |
68167, | |
68176, | |
68184, | |
68192, | |
68255, | |
68288, | |
68326, | |
68331, | |
68342, | |
68352, | |
68405, | |
68409, | |
68437, | |
68440, | |
68466, | |
68472, | |
68497, | |
68505, | |
68508, | |
68521, | |
68527, | |
68608, | |
68680, | |
68736, | |
68786, | |
68800, | |
68850, | |
68858, | |
68863, | |
69216, | |
69246, | |
69632, | |
69709, | |
69714, | |
69743, | |
69759, | |
69825, | |
69840, | |
69864, | |
69872, | |
69881, | |
69888, | |
69940, | |
69942, | |
69955, | |
69968, | |
70006, | |
70016, | |
70093, | |
70096, | |
70111, | |
70113, | |
70132, | |
70144, | |
70161, | |
70163, | |
70205, | |
70272, | |
70278, | |
70280, | |
70280, | |
70282, | |
70285, | |
70287, | |
70301, | |
70303, | |
70313, | |
70320, | |
70378, | |
70384, | |
70393, | |
70400, | |
70403, | |
70405, | |
70412, | |
70415, | |
70416, | |
70419, | |
70440, | |
70442, | |
70448, | |
70450, | |
70451, | |
70453, | |
70457, | |
70460, | |
70468, | |
70471, | |
70472, | |
70475, | |
70477, | |
70480, | |
70480, | |
70487, | |
70487, | |
70493, | |
70499, | |
70502, | |
70508, | |
70512, | |
70516, | |
70784, | |
70855, | |
70864, | |
70873, | |
71040, | |
71093, | |
71096, | |
71133, | |
71168, | |
71236, | |
71248, | |
71257, | |
71296, | |
71351, | |
71360, | |
71369, | |
71424, | |
71449, | |
71453, | |
71467, | |
71472, | |
71487, | |
71840, | |
71922, | |
71935, | |
71935, | |
72384, | |
72440, | |
73728, | |
74649, | |
74752, | |
74862, | |
74864, | |
74868, | |
74880, | |
75075, | |
77824, | |
78894, | |
82944, | |
83526, | |
92160, | |
92728, | |
92736, | |
92766, | |
92768, | |
92777, | |
92782, | |
92783, | |
92880, | |
92909, | |
92912, | |
92917, | |
92928, | |
92997, | |
93008, | |
93017, | |
93019, | |
93025, | |
93027, | |
93047, | |
93053, | |
93071, | |
93952, | |
94020, | |
94032, | |
94078, | |
94095, | |
94111, | |
110592, | |
110593, | |
113664, | |
113770, | |
113776, | |
113788, | |
113792, | |
113800, | |
113808, | |
113817, | |
113820, | |
113827, | |
118784, | |
119029, | |
119040, | |
119078, | |
119081, | |
119272, | |
119296, | |
119365, | |
119552, | |
119638, | |
119648, | |
119665, | |
119808, | |
119892, | |
119894, | |
119964, | |
119966, | |
119967, | |
119970, | |
119970, | |
119973, | |
119974, | |
119977, | |
119980, | |
119982, | |
119993, | |
119995, | |
119995, | |
119997, | |
120003, | |
120005, | |
120069, | |
120071, | |
120074, | |
120077, | |
120084, | |
120086, | |
120092, | |
120094, | |
120121, | |
120123, | |
120126, | |
120128, | |
120132, | |
120134, | |
120134, | |
120138, | |
120144, | |
120146, | |
120485, | |
120488, | |
120779, | |
120782, | |
121483, | |
121499, | |
121503, | |
121505, | |
121519, | |
124928, | |
125124, | |
125127, | |
125142, | |
126464, | |
126467, | |
126469, | |
126495, | |
126497, | |
126498, | |
126500, | |
126500, | |
126503, | |
126503, | |
126505, | |
126514, | |
126516, | |
126519, | |
126521, | |
126521, | |
126523, | |
126523, | |
126530, | |
126530, | |
126535, | |
126535, | |
126537, | |
126537, | |
126539, | |
126539, | |
126541, | |
126543, | |
126545, | |
126546, | |
126548, | |
126548, | |
126551, | |
126551, | |
126553, | |
126553, | |
126555, | |
126555, | |
126557, | |
126557, | |
126559, | |
126559, | |
126561, | |
126562, | |
126564, | |
126564, | |
126567, | |
126570, | |
126572, | |
126578, | |
126580, | |
126583, | |
126585, | |
126588, | |
126590, | |
126590, | |
126592, | |
126601, | |
126603, | |
126619, | |
126625, | |
126627, | |
126629, | |
126633, | |
126635, | |
126651, | |
126704, | |
126705, | |
126976, | |
127019, | |
127024, | |
127123, | |
127136, | |
127150, | |
127153, | |
127167, | |
127169, | |
127183, | |
127185, | |
127221, | |
127232, | |
127244, | |
127248, | |
127278, | |
127280, | |
127339, | |
127344, | |
127386, | |
127462, | |
127490, | |
127504, | |
127546, | |
127552, | |
127560, | |
127568, | |
127569, | |
127744, | |
128377, | |
128379, | |
128419, | |
128421, | |
128720, | |
128736, | |
128748, | |
128752, | |
128755, | |
128768, | |
128883, | |
128896, | |
128980, | |
129024, | |
129035, | |
129040, | |
129095, | |
129104, | |
129113, | |
129120, | |
129159, | |
129168, | |
129197, | |
129296, | |
129304, | |
129408, | |
129412, | |
129472, | |
129472, | |
131072, | |
173782, | |
173824, | |
177972, | |
177984, | |
178205, | |
178208, | |
183969, | |
194560, | |
195101, | |
917505, | |
917505, | |
917536, | |
917631, | |
917760, | |
917999, | |
983040, | |
1048573, | |
1048576, | |
1114109 | |
] | |
]; | |
static isLetter = [ | |
65, | |
90, | |
97, | |
122, | |
170, | |
170, | |
181, | |
181, | |
186, | |
186, | |
192, | |
214, | |
216, | |
246, | |
248, | |
705, | |
710, | |
721, | |
736, | |
740, | |
748, | |
748, | |
750, | |
750, | |
880, | |
884, | |
886, | |
887, | |
890, | |
893, | |
895, | |
895, | |
902, | |
902, | |
904, | |
906, | |
908, | |
908, | |
910, | |
929, | |
931, | |
1013, | |
1015, | |
1153, | |
1162, | |
1327, | |
1329, | |
1366, | |
1369, | |
1369, | |
1377, | |
1415, | |
1488, | |
1514, | |
1520, | |
1522, | |
1568, | |
1610, | |
1646, | |
1647, | |
1649, | |
1747, | |
1749, | |
1749, | |
1765, | |
1766, | |
1774, | |
1775, | |
1786, | |
1788, | |
1791, | |
1791, | |
1808, | |
1808, | |
1810, | |
1839, | |
1869, | |
1957, | |
1969, | |
1969, | |
1994, | |
2026, | |
2036, | |
2037, | |
2042, | |
2042, | |
2048, | |
2069, | |
2074, | |
2074, | |
2084, | |
2084, | |
2088, | |
2088, | |
2112, | |
2136, | |
2208, | |
2228, | |
2308, | |
2361, | |
2365, | |
2365, | |
2384, | |
2384, | |
2392, | |
2401, | |
2417, | |
2432, | |
2437, | |
2444, | |
2447, | |
2448, | |
2451, | |
2472, | |
2474, | |
2480, | |
2482, | |
2482, | |
2486, | |
2489, | |
2493, | |
2493, | |
2510, | |
2510, | |
2524, | |
2525, | |
2527, | |
2529, | |
2544, | |
2545, | |
2565, | |
2570, | |
2575, | |
2576, | |
2579, | |
2600, | |
2602, | |
2608, | |
2610, | |
2611, | |
2613, | |
2614, | |
2616, | |
2617, | |
2649, | |
2652, | |
2654, | |
2654, | |
2674, | |
2676, | |
2693, | |
2701, | |
2703, | |
2705, | |
2707, | |
2728, | |
2730, | |
2736, | |
2738, | |
2739, | |
2741, | |
2745, | |
2749, | |
2749, | |
2768, | |
2768, | |
2784, | |
2785, | |
2809, | |
2809, | |
2821, | |
2828, | |
2831, | |
2832, | |
2835, | |
2856, | |
2858, | |
2864, | |
2866, | |
2867, | |
2869, | |
2873, | |
2877, | |
2877, | |
2908, | |
2909, | |
2911, | |
2913, | |
2929, | |
2929, | |
2947, | |
2947, | |
2949, | |
2954, | |
2958, | |
2960, | |
2962, | |
2965, | |
2969, | |
2970, | |
2972, | |
2972, | |
2974, | |
2975, | |
2979, | |
2980, | |
2984, | |
2986, | |
2990, | |
3001, | |
3024, | |
3024, | |
3077, | |
3084, | |
3086, | |
3088, | |
3090, | |
3112, | |
3114, | |
3129, | |
3133, | |
3133, | |
3160, | |
3162, | |
3168, | |
3169, | |
3205, | |
3212, | |
3214, | |
3216, | |
3218, | |
3240, | |
3242, | |
3251, | |
3253, | |
3257, | |
3261, | |
3261, | |
3294, | |
3294, | |
3296, | |
3297, | |
3313, | |
3314, | |
3333, | |
3340, | |
3342, | |
3344, | |
3346, | |
3386, | |
3389, | |
3389, | |
3406, | |
3406, | |
3423, | |
3425, | |
3450, | |
3455, | |
3461, | |
3478, | |
3482, | |
3505, | |
3507, | |
3515, | |
3517, | |
3517, | |
3520, | |
3526, | |
3585, | |
3632, | |
3634, | |
3635, | |
3648, | |
3654, | |
3713, | |
3714, | |
3716, | |
3716, | |
3719, | |
3720, | |
3722, | |
3722, | |
3725, | |
3725, | |
3732, | |
3735, | |
3737, | |
3743, | |
3745, | |
3747, | |
3749, | |
3749, | |
3751, | |
3751, | |
3754, | |
3755, | |
3757, | |
3760, | |
3762, | |
3763, | |
3773, | |
3773, | |
3776, | |
3780, | |
3782, | |
3782, | |
3804, | |
3807, | |
3840, | |
3840, | |
3904, | |
3911, | |
3913, | |
3948, | |
3976, | |
3980, | |
4096, | |
4138, | |
4159, | |
4159, | |
4176, | |
4181, | |
4186, | |
4189, | |
4193, | |
4193, | |
4197, | |
4198, | |
4206, | |
4208, | |
4213, | |
4225, | |
4238, | |
4238, | |
4256, | |
4293, | |
4295, | |
4295, | |
4301, | |
4301, | |
4304, | |
4346, | |
4348, | |
4680, | |
4682, | |
4685, | |
4688, | |
4694, | |
4696, | |
4696, | |
4698, | |
4701, | |
4704, | |
4744, | |
4746, | |
4749, | |
4752, | |
4784, | |
4786, | |
4789, | |
4792, | |
4798, | |
4800, | |
4800, | |
4802, | |
4805, | |
4808, | |
4822, | |
4824, | |
4880, | |
4882, | |
4885, | |
4888, | |
4954, | |
4992, | |
5007, | |
5024, | |
5109, | |
5112, | |
5117, | |
5121, | |
5740, | |
5743, | |
5759, | |
5761, | |
5786, | |
5792, | |
5866, | |
5873, | |
5880, | |
5888, | |
5900, | |
5902, | |
5905, | |
5920, | |
5937, | |
5952, | |
5969, | |
5984, | |
5996, | |
5998, | |
6000, | |
6016, | |
6067, | |
6103, | |
6103, | |
6108, | |
6108, | |
6176, | |
6263, | |
6272, | |
6312, | |
6314, | |
6314, | |
6320, | |
6389, | |
6400, | |
6430, | |
6480, | |
6509, | |
6512, | |
6516, | |
6528, | |
6571, | |
6576, | |
6601, | |
6656, | |
6678, | |
6688, | |
6740, | |
6823, | |
6823, | |
6917, | |
6963, | |
6981, | |
6987, | |
7043, | |
7072, | |
7086, | |
7087, | |
7098, | |
7141, | |
7168, | |
7203, | |
7245, | |
7247, | |
7258, | |
7293, | |
7401, | |
7404, | |
7406, | |
7409, | |
7413, | |
7414, | |
7424, | |
7615, | |
7680, | |
7957, | |
7960, | |
7965, | |
7968, | |
8005, | |
8008, | |
8013, | |
8016, | |
8023, | |
8025, | |
8025, | |
8027, | |
8027, | |
8029, | |
8029, | |
8031, | |
8061, | |
8064, | |
8116, | |
8118, | |
8124, | |
8126, | |
8126, | |
8130, | |
8132, | |
8134, | |
8140, | |
8144, | |
8147, | |
8150, | |
8155, | |
8160, | |
8172, | |
8178, | |
8180, | |
8182, | |
8188, | |
8305, | |
8305, | |
8319, | |
8319, | |
8336, | |
8348, | |
8450, | |
8450, | |
8455, | |
8455, | |
8458, | |
8467, | |
8469, | |
8469, | |
8473, | |
8477, | |
8484, | |
8484, | |
8486, | |
8486, | |
8488, | |
8488, | |
8490, | |
8493, | |
8495, | |
8505, | |
8508, | |
8511, | |
8517, | |
8521, | |
8526, | |
8526, | |
8579, | |
8580, | |
11264, | |
11310, | |
11312, | |
11358, | |
11360, | |
11492, | |
11499, | |
11502, | |
11506, | |
11507, | |
11520, | |
11557, | |
11559, | |
11559, | |
11565, | |
11565, | |
11568, | |
11623, | |
11631, | |
11631, | |
11648, | |
11670, | |
11680, | |
11686, | |
11688, | |
11694, | |
11696, | |
11702, | |
11704, | |
11710, | |
11712, | |
11718, | |
11720, | |
11726, | |
11728, | |
11734, | |
11736, | |
11742, | |
11823, | |
11823, | |
12293, | |
12294, | |
12337, | |
12341, | |
12347, | |
12348, | |
12353, | |
12438, | |
12445, | |
12447, | |
12449, | |
12538, | |
12540, | |
12543, | |
12549, | |
12589, | |
12593, | |
12686, | |
12704, | |
12730, | |
12784, | |
12799, | |
13312, | |
19893, | |
19968, | |
40917, | |
40960, | |
42124, | |
42192, | |
42237, | |
42240, | |
42508, | |
42512, | |
42527, | |
42538, | |
42539, | |
42560, | |
42606, | |
42623, | |
42653, | |
42656, | |
42725, | |
42775, | |
42783, | |
42786, | |
42888, | |
42891, | |
42925, | |
42928, | |
42935, | |
42999, | |
43009, | |
43011, | |
43013, | |
43015, | |
43018, | |
43020, | |
43042, | |
43072, | |
43123, | |
43138, | |
43187, | |
43250, | |
43255, | |
43259, | |
43259, | |
43261, | |
43261, | |
43274, | |
43301, | |
43312, | |
43334, | |
43360, | |
43388, | |
43396, | |
43442, | |
43471, | |
43471, | |
43488, | |
43492, | |
43494, | |
43503, | |
43514, | |
43518, | |
43520, | |
43560, | |
43584, | |
43586, | |
43588, | |
43595, | |
43616, | |
43638, | |
43642, | |
43642, | |
43646, | |
43695, | |
43697, | |
43697, | |
43701, | |
43702, | |
43705, | |
43709, | |
43712, | |
43712, | |
43714, | |
43714, | |
43739, | |
43741, | |
43744, | |
43754, | |
43762, | |
43764, | |
43777, | |
43782, | |
43785, | |
43790, | |
43793, | |
43798, | |
43808, | |
43814, | |
43816, | |
43822, | |
43824, | |
43866, | |
43868, | |
43877, | |
43888, | |
44002, | |
44032, | |
55203, | |
55216, | |
55238, | |
55243, | |
55291, | |
63744, | |
64109, | |
64112, | |
64217, | |
64256, | |
64262, | |
64275, | |
64279, | |
64285, | |
64285, | |
64287, | |
64296, | |
64298, | |
64310, | |
64312, | |
64316, | |
64318, | |
64318, | |
64320, | |
64321, | |
64323, | |
64324, | |
64326, | |
64433, | |
64467, | |
64829, | |
64848, | |
64911, | |
64914, | |
64967, | |
65008, | |
65019, | |
65136, | |
65140, | |
65142, | |
65276, | |
65313, | |
65338, | |
65345, | |
65370, | |
65382, | |
65470, | |
65474, | |
65479, | |
65482, | |
65487, | |
65490, | |
65495, | |
65498, | |
65500, | |
65536, | |
65547, | |
65549, | |
65574, | |
65576, | |
65594, | |
65596, | |
65597, | |
65599, | |
65613, | |
65616, | |
65629, | |
65664, | |
65786, | |
66176, | |
66204, | |
66208, | |
66256, | |
66304, | |
66335, | |
66352, | |
66368, | |
66370, | |
66377, | |
66384, | |
66421, | |
66432, | |
66461, | |
66464, | |
66499, | |
66504, | |
66511, | |
66560, | |
66717, | |
66816, | |
66855, | |
66864, | |
66915, | |
67072, | |
67382, | |
67392, | |
67413, | |
67424, | |
67431, | |
67584, | |
67589, | |
67592, | |
67592, | |
67594, | |
67637, | |
67639, | |
67640, | |
67644, | |
67644, | |
67647, | |
67669, | |
67680, | |
67702, | |
67712, | |
67742, | |
67808, | |
67826, | |
67828, | |
67829, | |
67840, | |
67861, | |
67872, | |
67897, | |
67968, | |
68023, | |
68030, | |
68031, | |
68096, | |
68096, | |
68112, | |
68115, | |
68117, | |
68119, | |
68121, | |
68147, | |
68192, | |
68220, | |
68224, | |
68252, | |
68288, | |
68295, | |
68297, | |
68324, | |
68352, | |
68405, | |
68416, | |
68437, | |
68448, | |
68466, | |
68480, | |
68497, | |
68608, | |
68680, | |
68736, | |
68786, | |
68800, | |
68850, | |
69635, | |
69687, | |
69763, | |
69807, | |
69840, | |
69864, | |
69891, | |
69926, | |
69968, | |
70002, | |
70006, | |
70006, | |
70019, | |
70066, | |
70081, | |
70084, | |
70106, | |
70106, | |
70108, | |
70108, | |
70144, | |
70161, | |
70163, | |
70187, | |
70272, | |
70278, | |
70280, | |
70280, | |
70282, | |
70285, | |
70287, | |
70301, | |
70303, | |
70312, | |
70320, | |
70366, | |
70405, | |
70412, | |
70415, | |
70416, | |
70419, | |
70440, | |
70442, | |
70448, | |
70450, | |
70451, | |
70453, | |
70457, | |
70461, | |
70461, | |
70480, | |
70480, | |
70493, | |
70497, | |
70784, | |
70831, | |
70852, | |
70853, | |
70855, | |
70855, | |
71040, | |
71086, | |
71128, | |
71131, | |
71168, | |
71215, | |
71236, | |
71236, | |
71296, | |
71338, | |
71424, | |
71449, | |
71840, | |
71903, | |
71935, | |
71935, | |
72384, | |
72440, | |
73728, | |
74649, | |
74880, | |
75075, | |
77824, | |
78894, | |
82944, | |
83526, | |
92160, | |
92728, | |
92736, | |
92766, | |
92880, | |
92909, | |
92928, | |
92975, | |
92992, | |
92995, | |
93027, | |
93047, | |
93053, | |
93071, | |
93952, | |
94020, | |
94032, | |
94032, | |
94099, | |
94111, | |
110592, | |
110593, | |
113664, | |
113770, | |
113776, | |
113788, | |
113792, | |
113800, | |
113808, | |
113817, | |
119808, | |
119892, | |
119894, | |
119964, | |
119966, | |
119967, | |
119970, | |
119970, | |
119973, | |
119974, | |
119977, | |
119980, | |
119982, | |
119993, | |
119995, | |
119995, | |
119997, | |
120003, | |
120005, | |
120069, | |
120071, | |
120074, | |
120077, | |
120084, | |
120086, | |
120092, | |
120094, | |
120121, | |
120123, | |
120126, | |
120128, | |
120132, | |
120134, | |
120134, | |
120138, | |
120144, | |
120146, | |
120485, | |
120488, | |
120512, | |
120514, | |
120538, | |
120540, | |
120570, | |
120572, | |
120596, | |
120598, | |
120628, | |
120630, | |
120654, | |
120656, | |
120686, | |
120688, | |
120712, | |
120714, | |
120744, | |
120746, | |
120770, | |
120772, | |
120779, | |
124928, | |
125124, | |
126464, | |
126467, | |
126469, | |
126495, | |
126497, | |
126498, | |
126500, | |
126500, | |
126503, | |
126503, | |
126505, | |
126514, | |
126516, | |
126519, | |
126521, | |
126521, | |
126523, | |
126523, | |
126530, | |
126530, | |
126535, | |
126535, | |
126537, | |
126537, | |
126539, | |
126539, | |
126541, | |
126543, | |
126545, | |
126546, | |
126548, | |
126548, | |
126551, | |
126551, | |
126553, | |
126553, | |
126555, | |
126555, | |
126557, | |
126557, | |
126559, | |
126559, | |
126561, | |
126562, | |
126564, | |
126564, | |
126567, | |
126570, | |
126572, | |
126578, | |
126580, | |
126583, | |
126585, | |
126588, | |
126590, | |
126590, | |
126592, | |
126601, | |
126603, | |
126619, | |
126625, | |
126627, | |
126629, | |
126633, | |
126635, | |
126651, | |
131072, | |
173782, | |
173824, | |
177972, | |
177984, | |
178205, | |
178208, | |
183969, | |
194560, | |
195101 | |
]; | |
static isDigit = [ | |
48, | |
57, | |
1632, | |
1641, | |
1776, | |
1785, | |
1984, | |
1993, | |
2406, | |
2415, | |
2534, | |
2543, | |
2662, | |
2671, | |
2790, | |
2799, | |
2918, | |
2927, | |
3046, | |
3055, | |
3174, | |
3183, | |
3302, | |
3311, | |
3430, | |
3439, | |
3558, | |
3567, | |
3664, | |
3673, | |
3792, | |
3801, | |
3872, | |
3881, | |
4160, | |
4169, | |
4240, | |
4249, | |
6112, | |
6121, | |
6160, | |
6169, | |
6470, | |
6479, | |
6608, | |
6617, | |
6784, | |
6793, | |
6800, | |
6809, | |
6992, | |
7001, | |
7088, | |
7097, | |
7232, | |
7241, | |
7248, | |
7257, | |
42528, | |
42537, | |
43216, | |
43225, | |
43264, | |
43273, | |
43472, | |
43481, | |
43504, | |
43513, | |
43600, | |
43609, | |
44016, | |
44025, | |
65296, | |
65305, | |
66720, | |
66729, | |
69734, | |
69743, | |
69872, | |
69881, | |
69942, | |
69951, | |
70096, | |
70105, | |
70384, | |
70393, | |
70864, | |
70873, | |
71248, | |
71257, | |
71360, | |
71369, | |
71472, | |
71481, | |
71904, | |
71913, | |
92768, | |
92777, | |
93008, | |
93017, | |
120782, | |
120831 | |
]; | |
static isLetterOrDigit = [ | |
48, | |
57, | |
1632, | |
1641, | |
1776, | |
1785, | |
1984, | |
1993, | |
2406, | |
2415, | |
2534, | |
2543, | |
2662, | |
2671, | |
2790, | |
2799, | |
2918, | |
2927, | |
3046, | |
3055, | |
3174, | |
3183, | |
3302, | |
3311, | |
3430, | |
3439, | |
3558, | |
3567, | |
3664, | |
3673, | |
3792, | |
3801, | |
3872, | |
3881, | |
4160, | |
4169, | |
4240, | |
4249, | |
6112, | |
6121, | |
6160, | |
6169, | |
6470, | |
6479, | |
6608, | |
6617, | |
6784, | |
6793, | |
6800, | |
6809, | |
6992, | |
7001, | |
7088, | |
7097, | |
7232, | |
7241, | |
7248, | |
7257, | |
42528, | |
42537, | |
43216, | |
43225, | |
43264, | |
43273, | |
43472, | |
43481, | |
43504, | |
43513, | |
43600, | |
43609, | |
44016, | |
44025, | |
65296, | |
65305, | |
66720, | |
66729, | |
69734, | |
69743, | |
69872, | |
69881, | |
69942, | |
69951, | |
70096, | |
70105, | |
70384, | |
70393, | |
70864, | |
70873, | |
71248, | |
71257, | |
71360, | |
71369, | |
71472, | |
71481, | |
71904, | |
71913, | |
92768, | |
92777, | |
93008, | |
93017, | |
120782, | |
120831 | |
]; | |
static isWhiteSpace = [ | |
9, | |
13, | |
32, | |
32, | |
133, | |
133, | |
160, | |
160, | |
5760, | |
5760, | |
8192, | |
8202, | |
8232, | |
8233, | |
8239, | |
8239, | |
8287, | |
8287, | |
12288, | |
12288 | |
]; | |
static alnum = [ | |
48, | |
57, | |
65, | |
90, | |
97, | |
122, | |
170, | |
170, | |
181, | |
181, | |
186, | |
186, | |
192, | |
214, | |
216, | |
246, | |
248, | |
705, | |
710, | |
721, | |
736, | |
740, | |
748, | |
748, | |
750, | |
750, | |
880, | |
884, | |
886, | |
887, | |
890, | |
893, | |
895, | |
895, | |
902, | |
902, | |
904, | |
906, | |
908, | |
908, | |
910, | |
929, | |
931, | |
1013, | |
1015, | |
1153, | |
1162, | |
1327, | |
1329, | |
1366, | |
1369, | |
1369, | |
1377, | |
1415, | |
1488, | |
1514, | |
1520, | |
1522, | |
1568, | |
1610, | |
1632, | |
1641, | |
1646, | |
1647, | |
1649, | |
1747, | |
1749, | |
1749, | |
1765, | |
1766, | |
1774, | |
1788, | |
1791, | |
1791, | |
1808, | |
1808, | |
1810, | |
1839, | |
1869, | |
1957, | |
1969, | |
1969, | |
1984, | |
2026, | |
2036, | |
2037, | |
2042, | |
2042, | |
2048, | |
2069, | |
2074, | |
2074, | |
2084, | |
2084, | |
2088, | |
2088, | |
2112, | |
2136, | |
2208, | |
2228, | |
2308, | |
2361, | |
2365, | |
2365, | |
2384, | |
2384, | |
2392, | |
2401, | |
2406, | |
2415, | |
2417, | |
2432, | |
2437, | |
2444, | |
2447, | |
2448, | |
2451, | |
2472, | |
2474, | |
2480, | |
2482, | |
2482, | |
2486, | |
2489, | |
2493, | |
2493, | |
2510, | |
2510, | |
2524, | |
2525, | |
2527, | |
2529, | |
2534, | |
2545, | |
2565, | |
2570, | |
2575, | |
2576, | |
2579, | |
2600, | |
2602, | |
2608, | |
2610, | |
2611, | |
2613, | |
2614, | |
2616, | |
2617, | |
2649, | |
2652, | |
2654, | |
2654, | |
2662, | |
2671, | |
2674, | |
2676, | |
2693, | |
2701, | |
2703, | |
2705, | |
2707, | |
2728, | |
2730, | |
2736, | |
2738, | |
2739, | |
2741, | |
2745, | |
2749, | |
2749, | |
2768, | |
2768, | |
2784, | |
2785, | |
2790, | |
2799, | |
2809, | |
2809, | |
2821, | |
2828, | |
2831, | |
2832, | |
2835, | |
2856, | |
2858, | |
2864, | |
2866, | |
2867, | |
2869, | |
2873, | |
2877, | |
2877, | |
2908, | |
2909, | |
2911, | |
2913, | |
2918, | |
2927, | |
2929, | |
2929, | |
2947, | |
2947, | |
2949, | |
2954, | |
2958, | |
2960, | |
2962, | |
2965, | |
2969, | |
2970, | |
2972, | |
2972, | |
2974, | |
2975, | |
2979, | |
2980, | |
2984, | |
2986, | |
2990, | |
3001, | |
3024, | |
3024, | |
3046, | |
3055, | |
3077, | |
3084, | |
3086, | |
3088, | |
3090, | |
3112, | |
3114, | |
3129, | |
3133, | |
3133, | |
3160, | |
3162, | |
3168, | |
3169, | |
3174, | |
3183, | |
3205, | |
3212, | |
3214, | |
3216, | |
3218, | |
3240, | |
3242, | |
3251, | |
3253, | |
3257, | |
3261, | |
3261, | |
3294, | |
3294, | |
3296, | |
3297, | |
3302, | |
3311, | |
3313, | |
3314, | |
3333, | |
3340, | |
3342, | |
3344, | |
3346, | |
3386, | |
3389, | |
3389, | |
3406, | |
3406, | |
3423, | |
3425, | |
3430, | |
3439, | |
3450, | |
3455, | |
3461, | |
3478, | |
3482, | |
3505, | |
3507, | |
3515, | |
3517, | |
3517, | |
3520, | |
3526, | |
3558, | |
3567, | |
3585, | |
3632, | |
3634, | |
3635, | |
3648, | |
3654, | |
3664, | |
3673, | |
3713, | |
3714, | |
3716, | |
3716, | |
3719, | |
3720, | |
3722, | |
3722, | |
3725, | |
3725, | |
3732, | |
3735, | |
3737, | |
3743, | |
3745, | |
3747, | |
3749, | |
3749, | |
3751, | |
3751, | |
3754, | |
3755, | |
3757, | |
3760, | |
3762, | |
3763, | |
3773, | |
3773, | |
3776, | |
3780, | |
3782, | |
3782, | |
3792, | |
3801, | |
3804, | |
3807, | |
3840, | |
3840, | |
3872, | |
3881, | |
3904, | |
3911, | |
3913, | |
3948, | |
3976, | |
3980, | |
4096, | |
4138, | |
4159, | |
4169, | |
4176, | |
4181, | |
4186, | |
4189, | |
4193, | |
4193, | |
4197, | |
4198, | |
4206, | |
4208, | |
4213, | |
4225, | |
4238, | |
4238, | |
4240, | |
4249, | |
4256, | |
4293, | |
4295, | |
4295, | |
4301, | |
4301, | |
4304, | |
4346, | |
4348, | |
4680, | |
4682, | |
4685, | |
4688, | |
4694, | |
4696, | |
4696, | |
4698, | |
4701, | |
4704, | |
4744, | |
4746, | |
4749, | |
4752, | |
4784, | |
4786, | |
4789, | |
4792, | |
4798, | |
4800, | |
4800, | |
4802, | |
4805, | |
4808, | |
4822, | |
4824, | |
4880, | |
4882, | |
4885, | |
4888, | |
4954, | |
4992, | |
5007, | |
5024, | |
5109, | |
5112, | |
5117, | |
5121, | |
5740, | |
5743, | |
5759, | |
5761, | |
5786, | |
5792, | |
5866, | |
5870, | |
5880, | |
5888, | |
5900, | |
5902, | |
5905, | |
5920, | |
5937, | |
5952, | |
5969, | |
5984, | |
5996, | |
5998, | |
6000, | |
6016, | |
6067, | |
6103, | |
6103, | |
6108, | |
6108, | |
6112, | |
6121, | |
6160, | |
6169, | |
6176, | |
6263, | |
6272, | |
6312, | |
6314, | |
6314, | |
6320, | |
6389, | |
6400, | |
6430, | |
6470, | |
6509, | |
6512, | |
6516, | |
6528, | |
6571, | |
6576, | |
6601, | |
6608, | |
6617, | |
6656, | |
6678, | |
6688, | |
6740, | |
6784, | |
6793, | |
6800, | |
6809, | |
6823, | |
6823, | |
6917, | |
6963, | |
6981, | |
6987, | |
6992, | |
7001, | |
7043, | |
7072, | |
7086, | |
7141, | |
7168, | |
7203, | |
7232, | |
7241, | |
7245, | |
7293, | |
7401, | |
7404, | |
7406, | |
7409, | |
7413, | |
7414, | |
7424, | |
7615, | |
7680, | |
7957, | |
7960, | |
7965, | |
7968, | |
8005, | |
8008, | |
8013, | |
8016, | |
8023, | |
8025, | |
8025, | |
8027, | |
8027, | |
8029, | |
8029, | |
8031, | |
8061, | |
8064, | |
8116, | |
8118, | |
8124, | |
8126, | |
8126, | |
8130, | |
8132, | |
8134, | |
8140, | |
8144, | |
8147, | |
8150, | |
8155, | |
8160, | |
8172, | |
8178, | |
8180, | |
8182, | |
8188, | |
8305, | |
8305, | |
8319, | |
8319, | |
8336, | |
8348, | |
8450, | |
8450, | |
8455, | |
8455, | |
8458, | |
8467, | |
8469, | |
8469, | |
8473, | |
8477, | |
8484, | |
8484, | |
8486, | |
8486, | |
8488, | |
8488, | |
8490, | |
8493, | |
8495, | |
8505, | |
8508, | |
8511, | |
8517, | |
8521, | |
8526, | |
8526, | |
8544, | |
8584, | |
11264, | |
11310, | |
11312, | |
11358, | |
11360, | |
11492, | |
11499, | |
11502, | |
11506, | |
11507, | |
11520, | |
11557, | |
11559, | |
11559, | |
11565, | |
11565, | |
11568, | |
11623, | |
11631, | |
11631, | |
11648, | |
11670, | |
11680, | |
11686, | |
11688, | |
11694, | |
11696, | |
11702, | |
11704, | |
11710, | |
11712, | |
11718, | |
11720, | |
11726, | |
11728, | |
11734, | |
11736, | |
11742, | |
11823, | |
11823, | |
12293, | |
12295, | |
12321, | |
12329, | |
12337, | |
12341, | |
12344, | |
12348, | |
12353, | |
12438, | |
12445, | |
12447, | |
12449, | |
12538, | |
12540, | |
12543, | |
12549, | |
12589, | |
12593, | |
12686, | |
12704, | |
12730, | |
12784, | |
12799, | |
13312, | |
19893, | |
19968, | |
40917, | |
40960, | |
42124, | |
42192, | |
42237, | |
42240, | |
42508, | |
42512, | |
42539, | |
42560, | |
42606, | |
42623, | |
42653, | |
42656, | |
42735, | |
42775, | |
42783, | |
42786, | |
42888, | |
42891, | |
42925, | |
42928, | |
42935, | |
42999, | |
43009, | |
43011, | |
43013, | |
43015, | |
43018, | |
43020, | |
43042, | |
43072, | |
43123, | |
43138, | |
43187, | |
43216, | |
43225, | |
43250, | |
43255, | |
43259, | |
43259, | |
43261, | |
43261, | |
43264, | |
43301, | |
43312, | |
43334, | |
43360, | |
43388, | |
43396, | |
43442, | |
43471, | |
43481, | |
43488, | |
43492, | |
43494, | |
43518, | |
43520, | |
43560, | |
43584, | |
43586, | |
43588, | |
43595, | |
43600, | |
43609, | |
43616, | |
43638, | |
43642, | |
43642, | |
43646, | |
43695, | |
43697, | |
43697, | |
43701, | |
43702, | |
43705, | |
43709, | |
43712, | |
43712, | |
43714, | |
43714, | |
43739, | |
43741, | |
43744, | |
43754, | |
43762, | |
43764, | |
43777, | |
43782, | |
43785, | |
43790, | |
43793, | |
43798, | |
43808, | |
43814, | |
43816, | |
43822, | |
43824, | |
43866, | |
43868, | |
43877, | |
43888, | |
44002, | |
44016, | |
44025, | |
44032, | |
55203, | |
55216, | |
55238, | |
55243, | |
55291, | |
63744, | |
64109, | |
64112, | |
64217, | |
64256, | |
64262, | |
64275, | |
64279, | |
64285, | |
64285, | |
64287, | |
64296, | |
64298, | |
64310, | |
64312, | |
64316, | |
64318, | |
64318, | |
64320, | |
64321, | |
64323, | |
64324, | |
64326, | |
64433, | |
64467, | |
64829, | |
64848, | |
64911, | |
64914, | |
64967, | |
65008, | |
65019, | |
65136, | |
65140, | |
65142, | |
65276, | |
65296, | |
65305, | |
65313, | |
65338, | |
65345, | |
65370, | |
65382, | |
65470, | |
65474, | |
65479, | |
65482, | |
65487, | |
65490, | |
65495, | |
65498, | |
65500, | |
65536, | |
65547, | |
65549, | |
65574, | |
65576, | |
65594, | |
65596, | |
65597, | |
65599, | |
65613, | |
65616, | |
65629, | |
65664, | |
65786, | |
65856, | |
65908, | |
66176, | |
66204, | |
66208, | |
66256, | |
66304, | |
66335, | |
66352, | |
66378, | |
66384, | |
66421, | |
66432, | |
66461, | |
66464, | |
66499, | |
66504, | |
66511, | |
66513, | |
66517, | |
66560, | |
66717, | |
66720, | |
66729, | |
66816, | |
66855, | |
66864, | |
66915, | |
67072, | |
67382, | |
67392, | |
67413, | |
67424, | |
67431, | |
67584, | |
67589, | |
67592, | |
67592, | |
67594, | |
67637, | |
67639, | |
67640, | |
67644, | |
67644, | |
67647, | |
67669, | |
67680, | |
67702, | |
67712, | |
67742, | |
67808, | |
67826, | |
67828, | |
67829, | |
67840, | |
67861, | |
67872, | |
67897, | |
67968, | |
68023, | |
68030, | |
68031, | |
68096, | |
68096, | |
68112, | |
68115, | |
68117, | |
68119, | |
68121, | |
68147, | |
68192, | |
68220, | |
68224, | |
68252, | |
68288, | |
68295, | |
68297, | |
68324, | |
68352, | |
68405, | |
68416, | |
68437, | |
68448, | |
68466, | |
68480, | |
68497, | |
68608, | |
68680, | |
68736, | |
68786, | |
68800, | |
68850, | |
69635, | |
69687, | |
69734, | |
69743, | |
69763, | |
69807, | |
69840, | |
69864, | |
69872, | |
69881, | |
69891, | |
69926, | |
69942, | |
69951, | |
69968, | |
70002, | |
70006, | |
70006, | |
70019, | |
70066, | |
70081, | |
70084, | |
70096, | |
70106, | |
70108, | |
70108, | |
70144, | |
70161, | |
70163, | |
70187, | |
70272, | |
70278, | |
70280, | |
70280, | |
70282, | |
70285, | |
70287, | |
70301, | |
70303, | |
70312, | |
70320, | |
70366, | |
70384, | |
70393, | |
70405, | |
70412, | |
70415, | |
70416, | |
70419, | |
70440, | |
70442, | |
70448, | |
70450, | |
70451, | |
70453, | |
70457, | |
70461, | |
70461, | |
70480, | |
70480, | |
70493, | |
70497, | |
70784, | |
70831, | |
70852, | |
70853, | |
70855, | |
70855, | |
70864, | |
70873, | |
71040, | |
71086, | |
71128, | |
71131, | |
71168, | |
71215, | |
71236, | |
71236, | |
71248, | |
71257, | |
71296, | |
71338, | |
71360, | |
71369, | |
71424, | |
71449, | |
71472, | |
71481, | |
71840, | |
71913, | |
71935, | |
71935, | |
72384, | |
72440, | |
73728, | |
74649, | |
74752, | |
74862, | |
74880, | |
75075, | |
77824, | |
78894, | |
82944, | |
83526, | |
92160, | |
92728, | |
92736, | |
92766, | |
92768, | |
92777, | |
92880, | |
92909, | |
92928, | |
92975, | |
92992, | |
92995, | |
93008, | |
93017, | |
93027, | |
93047, | |
93053, | |
93071, | |
93952, | |
94020, | |
94032, | |
94032, | |
94099, | |
94111, | |
110592, | |
110593, | |
113664, | |
113770, | |
113776, | |
113788, | |
113792, | |
113800, | |
113808, | |
113817, | |
119808, | |
119892, | |
119894, | |
119964, | |
119966, | |
119967, | |
119970, | |
119970, | |
119973, | |
119974, | |
119977, | |
119980, | |
119982, | |
119993, | |
119995, | |
119995, | |
119997, | |
120003, | |
120005, | |
120069, | |
120071, | |
120074, | |
120077, | |
120084, | |
120086, | |
120092, | |
120094, | |
120121, | |
120123, | |
120126, | |
120128, | |
120132, | |
120134, | |
120134, | |
120138, | |
120144, | |
120146, | |
120485, | |
120488, | |
120512, | |
120514, | |
120538, | |
120540, | |
120570, | |
120572, | |
120596, | |
120598, | |
120628, | |
120630, | |
120654, | |
120656, | |
120686, | |
120688, | |
120712, | |
120714, | |
120744, | |
120746, | |
120770, | |
120772, | |
120779, | |
120782, | |
120831, | |
124928, | |
125124, | |
126464, | |
126467, | |
126469, | |
126495, | |
126497, | |
126498, | |
126500, | |
126500, | |
126503, | |
126503, | |
126505, | |
126514, | |
126516, | |
126519, | |
126521, | |
126521, | |
126523, | |
126523, | |
126530, | |
126530, | |
126535, | |
126535, | |
126537, | |
126537, | |
126539, | |
126539, | |
126541, | |
126543, | |
126545, | |
126546, | |
126548, | |
126548, | |
126551, | |
126551, | |
126553, | |
126553, | |
126555, | |
126555, | |
126557, | |
126557, | |
126559, | |
126559, | |
126561, | |
126562, | |
126564, | |
126564, | |
126567, | |
126570, | |
126572, | |
126578, | |
126580, | |
126583, | |
126585, | |
126588, | |
126590, | |
126590, | |
126592, | |
126601, | |
126603, | |
126619, | |
126625, | |
126627, | |
126629, | |
126633, | |
126635, | |
126651, | |
131072, | |
173782, | |
173824, | |
177972, | |
177984, | |
178205, | |
178208, | |
183969, | |
194560, | |
195101 | |
]; | |
static alpha = [ | |
65, | |
90, | |
97, | |
122, | |
170, | |
170, | |
181, | |
181, | |
186, | |
186, | |
192, | |
214, | |
216, | |
246, | |
248, | |
705, | |
710, | |
721, | |
736, | |
740, | |
748, | |
748, | |
750, | |
750, | |
880, | |
884, | |
886, | |
887, | |
890, | |
893, | |
895, | |
895, | |
902, | |
902, | |
904, | |
906, | |
908, | |
908, | |
910, | |
929, | |
931, | |
1013, | |
1015, | |
1153, | |
1162, | |
1327, | |
1329, | |
1366, | |
1369, | |
1369, | |
1377, | |
1415, | |
1488, | |
1514, | |
1520, | |
1522, | |
1568, | |
1610, | |
1646, | |
1647, | |
1649, | |
1747, | |
1749, | |
1749, | |
1765, | |
1766, | |
1774, | |
1775, | |
1786, | |
1788, | |
1791, | |
1791, | |
1808, | |
1808, | |
1810, | |
1839, | |
1869, | |
1957, | |
1969, | |
1969, | |
1994, | |
2026, | |
2036, | |
2037, | |
2042, | |
2042, | |
2048, | |
2069, | |
2074, | |
2074, | |
2084, | |
2084, | |
2088, | |
2088, | |
2112, | |
2136, | |
2208, | |
2228, | |
2308, | |
2361, | |
2365, | |
2365, | |
2384, | |
2384, | |
2392, | |
2401, | |
2417, | |
2432, | |
2437, | |
2444, | |
2447, | |
2448, | |
2451, | |
2472, | |
2474, | |
2480, | |
2482, | |
2482, | |
2486, | |
2489, | |
2493, | |
2493, | |
2510, | |
2510, | |
2524, | |
2525, | |
2527, | |
2529, | |
2544, | |
2545, | |
2565, | |
2570, | |
2575, | |
2576, | |
2579, | |
2600, | |
2602, | |
2608, | |
2610, | |
2611, | |
2613, | |
2614, | |
2616, | |
2617, | |
2649, | |
2652, | |
2654, | |
2654, | |
2674, | |
2676, | |
2693, | |
2701, | |
2703, | |
2705, | |
2707, | |
2728, | |
2730, | |
2736, | |
2738, | |
2739, | |
2741, | |
2745, | |
2749, | |
2749, | |
2768, | |
2768, | |
2784, | |
2785, | |
2809, | |
2809, | |
2821, | |
2828, | |
2831, | |
2832, | |
2835, | |
2856, | |
2858, | |
2864, | |
2866, | |
2867, | |
2869, | |
2873, | |
2877, | |
2877, | |
2908, | |
2909, | |
2911, | |
2913, | |
2929, | |
2929, | |
2947, | |
2947, | |
2949, | |
2954, | |
2958, | |
2960, | |
2962, | |
2965, | |
2969, | |
2970, | |
2972, | |
2972, | |
2974, | |
2975, | |
2979, | |
2980, | |
2984, | |
2986, | |
2990, | |
3001, | |
3024, | |
3024, | |
3077, | |
3084, | |
3086, | |
3088, | |
3090, | |
3112, | |
3114, | |
3129, | |
3133, | |
3133, | |
3160, | |
3162, | |
3168, | |
3169, | |
3205, | |
3212, | |
3214, | |
3216, | |
3218, | |
3240, | |
3242, | |
3251, | |
3253, | |
3257, | |
3261, | |
3261, | |
3294, | |
3294, | |
3296, | |
3297, | |
3313, | |
3314, | |
3333, | |
3340, | |
3342, | |
3344, | |
3346, | |
3386, | |
3389, | |
3389, | |
3406, | |
3406, | |
3423, | |
3425, | |
3450, | |
3455, | |
3461, | |
3478, | |
3482, | |
3505, | |
3507, | |
3515, | |
3517, | |
3517, | |
3520, | |
3526, | |
3585, | |
3632, | |
3634, | |
3635, | |
3648, | |
3654, | |
3713, | |
3714, | |
3716, | |
3716, | |
3719, | |
3720, | |
3722, | |
3722, | |
3725, | |
3725, | |
3732, | |
3735, | |
3737, | |
3743, | |
3745, | |
3747, | |
3749, | |
3749, | |
3751, | |
3751, | |
3754, | |
3755, | |
3757, | |
3760, | |
3762, | |
3763, | |
3773, | |
3773, | |
3776, | |
3780, | |
3782, | |
3782, | |
3804, | |
3807, | |
3840, | |
3840, | |
3904, | |
3911, | |
3913, | |
3948, | |
3976, | |
3980, | |
4096, | |
4138, | |
4159, | |
4159, | |
4176, | |
4181, | |
4186, | |
4189, | |
4193, | |
4193, | |
4197, | |
4198, | |
4206, | |
4208, | |
4213, | |
4225, | |
4238, | |
4238, | |
4256, | |
4293, | |
4295, | |
4295, | |
4301, | |
4301, | |
4304, | |
4346, | |
4348, | |
4680, | |
4682, | |
4685, | |
4688, | |
4694, | |
4696, | |
4696, | |
4698, | |
4701, | |
4704, | |
4744, | |
4746, | |
4749, | |
4752, | |
4784, | |
4786, | |
4789, | |
4792, | |
4798, | |
4800, | |
4800, | |
4802, | |
4805, | |
4808, | |
4822, | |
4824, | |
4880, | |
4882, | |
4885, | |
4888, | |
4954, | |
4992, | |
5007, | |
5024, | |
5109, | |
5112, | |
5117, | |
5121, | |
5740, | |
5743, | |
5759, | |
5761, | |
5786, | |
5792, | |
5866, | |
5870, | |
5880, | |
5888, | |
5900, | |
5902, | |
5905, | |
5920, | |
5937, | |
5952, | |
5969, | |
5984, | |
5996, | |
5998, | |
6000, | |
6016, | |
6067, | |
6103, | |
6103, | |
6108, | |
6108, | |
6176, | |
6263, | |
6272, | |
6312, | |
6314, | |
6314, | |
6320, | |
6389, | |
6400, | |
6430, | |
6480, | |
6509, | |
6512, | |
6516, | |
6528, | |
6571, | |
6576, | |
6601, | |
6656, | |
6678, | |
6688, | |
6740, | |
6823, | |
6823, | |
6917, | |
6963, | |
6981, | |
6987, | |
7043, | |
7072, | |
7086, | |
7087, | |
7098, | |
7141, | |
7168, | |
7203, | |
7245, | |
7247, | |
7258, | |
7293, | |
7401, | |
7404, | |
7406, | |
7409, | |
7413, | |
7414, | |
7424, | |
7615, | |
7680, | |
7957, | |
7960, | |
7965, | |
7968, | |
8005, | |
8008, | |
8013, | |
8016, | |
8023, | |
8025, | |
8025, | |
8027, | |
8027, | |
8029, | |
8029, | |
8031, | |
8061, | |
8064, | |
8116, | |
8118, | |
8124, | |
8126, | |
8126, | |
8130, | |
8132, | |
8134, | |
8140, | |
8144, | |
8147, | |
8150, | |
8155, | |
8160, | |
8172, | |
8178, | |
8180, | |
8182, | |
8188, | |
8305, | |
8305, | |
8319, | |
8319, | |
8336, | |
8348, | |
8450, | |
8450, | |
8455, | |
8455, | |
8458, | |
8467, | |
8469, | |
8469, | |
8473, | |
8477, | |
8484, | |
8484, | |
8486, | |
8486, | |
8488, | |
8488, | |
8490, | |
8493, | |
8495, | |
8505, | |
8508, | |
8511, | |
8517, | |
8521, | |
8526, | |
8526, | |
8544, | |
8584, | |
11264, | |
11310, | |
11312, | |
11358, | |
11360, | |
11492, | |
11499, | |
11502, | |
11506, | |
11507, | |
11520, | |
11557, | |
11559, | |
11559, | |
11565, | |
11565, | |
11568, | |
11623, | |
11631, | |
11631, | |
11648, | |
11670, | |
11680, | |
11686, | |
11688, | |
11694, | |
11696, | |
11702, | |
11704, | |
11710, | |
11712, | |
11718, | |
11720, | |
11726, | |
11728, | |
11734, | |
11736, | |
11742, | |
11823, | |
11823, | |
12293, | |
12295, | |
12321, | |
12329, | |
12337, | |
12341, | |
12344, | |
12348, | |
12353, | |
12438, | |
12445, | |
12447, | |
12449, | |
12538, | |
12540, | |
12543, | |
12549, | |
12589, | |
12593, | |
12686, | |
12704, | |
12730, | |
12784, | |
12799, | |
13312, | |
19893, | |
19968, | |
40917, | |
40960, | |
42124, | |
42192, | |
42237, | |
42240, | |
42508, | |
42512, | |
42527, | |
42538, | |
42539, | |
42560, | |
42606, | |
42623, | |
42653, | |
42656, | |
42735, | |
42775, | |
42783, | |
42786, | |
42888, | |
42891, | |
42925, | |
42928, | |
42935, | |
42999, | |
43009, | |
43011, | |
43013, | |
43015, | |
43018, | |
43020, | |
43042, | |
43072, | |
43123, | |
43138, | |
43187, | |
43250, | |
43255, | |
43259, | |
43259, | |
43261, | |
43261, | |
43274, | |
43301, | |
43312, | |
43334, | |
43360, | |
43388, | |
43396, | |
43442, | |
43471, | |
43471, | |
43488, | |
43492, | |
43494, | |
43503, | |
43514, | |
43518, | |
43520, | |
43560, | |
43584, | |
43586, | |
43588, | |
43595, | |
43616, | |
43638, | |
43642, | |
43642, | |
43646, | |
43695, | |
43697, | |
43697, | |
43701, | |
43702, | |
43705, | |
43709, | |
43712, | |
43712, | |
43714, | |
43714, | |
43739, | |
43741, | |
43744, | |
43754, | |
43762, | |
43764, | |
43777, | |
43782, | |
43785, | |
43790, | |
43793, | |
43798, | |
43808, | |
43814, | |
43816, | |
43822, | |
43824, | |
43866, | |
43868, | |
43877, | |
43888, | |
44002, | |
44032, | |
55203, | |
55216, | |
55238, | |
55243, | |
55291, | |
63744, | |
64109, | |
64112, | |
64217, | |
64256, | |
64262, | |
64275, | |
64279, | |
64285, | |
64285, | |
64287, | |
64296, | |
64298, | |
64310, | |
64312, | |
64316, | |
64318, | |
64318, | |
64320, | |
64321, | |
64323, | |
64324, | |
64326, | |
64433, | |
64467, | |
64829, | |
64848, | |
64911, | |
64914, | |
64967, | |
65008, | |
65019, | |
65136, | |
65140, | |
65142, | |
65276, | |
65313, | |
65338, | |
65345, | |
65370, | |
65382, | |
65470, | |
65474, | |
65479, | |
65482, | |
65487, | |
65490, | |
65495, | |
65498, | |
65500, | |
65536, | |
65547, | |
65549, | |
65574, | |
65576, | |
65594, | |
65596, | |
65597, | |
65599, | |
65613, | |
65616, | |
65629, | |
65664, | |
65786, | |
65856, | |
65908, | |
66176, | |
66204, | |
66208, | |
66256, | |
66304, | |
66335, | |
66352, | |
66378, | |
66384, | |
66421, | |
66432, | |
66461, | |
66464, | |
66499, | |
66504, | |
66511, | |
66513, | |
66517, | |
66560, | |
66717, | |
66816, | |
66855, | |
66864, | |
66915, | |
67072, | |
67382, | |
67392, | |
67413, | |
67424, | |
67431, | |
67584, | |
67589, | |
67592, | |
67592, | |
67594, | |
67637, | |
67639, | |
67640, | |
67644, | |
67644, | |
67647, | |
67669, | |
67680, | |
67702, | |
67712, | |
67742, | |
67808, | |
67826, | |
67828, | |
67829, | |
67840, | |
67861, | |
67872, | |
67897, | |
67968, | |
68023, | |
68030, | |
68031, | |
68096, | |
68096, | |
68112, | |
68115, | |
68117, | |
68119, | |
68121, | |
68147, | |
68192, | |
68220, | |
68224, | |
68252, | |
68288, | |
68295, | |
68297, | |
68324, | |
68352, | |
68405, | |
68416, | |
68437, | |
68448, | |
68466, | |
68480, | |
68497, | |
68608, | |
68680, | |
68736, | |
68786, | |
68800, | |
68850, | |
69635, | |
69687, | |
69763, | |
69807, | |
69840, | |
69864, | |
69891, | |
69926, | |
69968, | |
70002, | |
70006, | |
70006, | |
70019, | |
70066, | |
70081, | |
70084, | |
70106, | |
70106, | |
70108, | |
70108, | |
70144, | |
70161, | |
70163, | |
70187, | |
70272, | |
70278, | |
70280, | |
70280, | |
70282, | |
70285, | |
70287, | |
70301, | |
70303, | |
70312, | |
70320, | |
70366, | |
70405, | |
70412, | |
70415, | |
70416, | |
70419, | |
70440, | |
70442, | |
70448, | |
70450, | |
70451, | |
70453, | |
70457, | |
70461, | |
70461, | |
70480, | |
70480, | |
70493, | |
70497, | |
70784, | |
70831, | |
70852, | |
70853, | |
70855, | |
70855, | |
71040, | |
71086, | |
71128, | |
71131, | |
71168, | |
71215, | |
71236, | |
71236, | |
71296, | |
71338, | |
71424, | |
71449, | |
71840, | |
71903, | |
71935, | |
71935, | |
72384, | |
72440, | |
73728, | |
74649, | |
74752, | |
74862, | |
74880, | |
75075, | |
77824, | |
78894, | |
82944, | |
83526, | |
92160, | |
92728, | |
92736, | |
92766, | |
92880, | |
92909, | |
92928, | |
92975, | |
92992, | |
92995, | |
93027, | |
93047, | |
93053, | |
93071, | |
93952, | |
94020, | |
94032, | |
94032, | |
94099, | |
94111, | |
110592, | |
110593, | |
113664, | |
113770, | |
113776, | |
113788, | |
113792, | |
113800, | |
113808, | |
113817, | |
119808, | |
119892, | |
119894, | |
119964, | |
119966, | |
119967, | |
119970, | |
119970, | |
119973, | |
119974, | |
119977, | |
119980, | |
119982, | |
119993, | |
119995, | |
119995, | |
119997, | |
120003, | |
120005, | |
120069, | |
120071, | |
120074, | |
120077, | |
120084, | |
120086, | |
120092, | |
120094, | |
120121, | |
120123, | |
120126, | |
120128, | |
120132, | |
120134, | |
120134, | |
120138, | |
120144, | |
120146, | |
120485, | |
120488, | |
120512, | |
120514, | |
120538, | |
120540, | |
120570, | |
120572, | |
120596, | |
120598, | |
120628, | |
120630, | |
120654, | |
120656, | |
120686, | |
120688, | |
120712, | |
120714, | |
120744, | |
120746, | |
120770, | |
120772, | |
120779, | |
124928, | |
125124, | |
126464, | |
126467, | |
126469, | |
126495, | |
126497, | |
126498, | |
126500, | |
126500, | |
126503, | |
126503, | |
126505, | |
126514, | |
126516, | |
126519, | |
126521, | |
126521, | |
126523, | |
126523, | |
126530, | |
126530, | |
126535, | |
126535, | |
126537, | |
126537, | |
126539, | |
126539, | |
126541, | |
126543, | |
126545, | |
126546, | |
126548, | |
126548, | |
126551, | |
126551, | |
126553, | |
126553, | |
126555, | |
126555, | |
126557, | |
126557, | |
126559, | |
126559, | |
126561, | |
126562, | |
126564, | |
126564, | |
126567, | |
126570, | |
126572, | |
126578, | |
126580, | |
126583, | |
126585, | |
126588, | |
126590, | |
126590, | |
126592, | |
126601, | |
126603, | |
126619, | |
126625, | |
126627, | |
126629, | |
126633, | |
126635, | |
126651, | |
131072, | |
173782, | |
173824, | |
177972, | |
177984, | |
178205, | |
178208, | |
183969, | |
194560, | |
195101 | |
]; | |
static cntrl = FACharacterClasses.unicodeCategories[14]; | |
static digit = FACharacterClasses.unicodeCategories[8]; | |
static graph = [ | |
33, | |
126, | |
161, | |
5759, | |
5761, | |
8191, | |
8203, | |
8231, | |
8234, | |
8238, | |
8240, | |
8286, | |
8288, | |
12287, | |
12289, | |
55295, | |
57344, | |
1114111 | |
]; | |
static ascii = [ | |
0, | |
127 | |
]; | |
static blank = [ | |
9, | |
9, | |
32, | |
32, | |
160, | |
160, | |
5760, | |
5760, | |
8192, | |
8202, | |
8239, | |
8239, | |
8287, | |
8287, | |
12288, | |
12288 | |
]; | |
static lower = FACharacterClasses.unicodeCategories[1]; | |
static print = FACharacterClasses.notUnicodeCategories[14]; | |
static punct = [ | |
41, | |
41, | |
93, | |
93, | |
125, | |
125, | |
3899, | |
3899, | |
3901, | |
3901, | |
5788, | |
5788, | |
8262, | |
8262, | |
8318, | |
8318, | |
8334, | |
8334, | |
8969, | |
8969, | |
8971, | |
8971, | |
9002, | |
9002, | |
10089, | |
10089, | |
10091, | |
10091, | |
10093, | |
10093, | |
10095, | |
10095, | |
10097, | |
10097, | |
10099, | |
10099, | |
10101, | |
10101, | |
10182, | |
10182, | |
10215, | |
10215, | |
10217, | |
10217, | |
10219, | |
10219, | |
10221, | |
10221, | |
10223, | |
10223, | |
10628, | |
10628, | |
10630, | |
10630, | |
10632, | |
10632, | |
10634, | |
10634, | |
10636, | |
10636, | |
10638, | |
10638, | |
10640, | |
10640, | |
10642, | |
10642, | |
10644, | |
10644, | |
10646, | |
10646, | |
10648, | |
10648, | |
10713, | |
10713, | |
10715, | |
10715, | |
10749, | |
10749, | |
11811, | |
11811, | |
11813, | |
11813, | |
11815, | |
11815, | |
11817, | |
11817, | |
12297, | |
12297, | |
12299, | |
12299, | |
12301, | |
12301, | |
12303, | |
12303, | |
12305, | |
12305, | |
12309, | |
12309, | |
12311, | |
12311, | |
12313, | |
12313, | |
12315, | |
12315, | |
12318, | |
12319, | |
64830, | |
64830, | |
65048, | |
65048, | |
65078, | |
65078, | |
65080, | |
65080, | |
65082, | |
65082, | |
65084, | |
65084, | |
65086, | |
65086, | |
65088, | |
65088, | |
65090, | |
65090, | |
65092, | |
65092, | |
65096, | |
65096, | |
65114, | |
65114, | |
65116, | |
65116, | |
65118, | |
65118, | |
65289, | |
65289, | |
65341, | |
65341, | |
65373, | |
65373, | |
65376, | |
65376, | |
65379, | |
65379, | |
95, | |
95, | |
8255, | |
8256, | |
8276, | |
8276, | |
65075, | |
65076, | |
65101, | |
65101, | |
65103, | |
65103, | |
65343, | |
65343, | |
45, | |
45, | |
173, | |
173, | |
1418, | |
1418, | |
1470, | |
1470, | |
5120, | |
5120, | |
6150, | |
6150, | |
8208, | |
8208, | |
8213, | |
8213, | |
11799, | |
11799, | |
11802, | |
11802, | |
11834, | |
11835, | |
11840, | |
11840, | |
12316, | |
12316, | |
12336, | |
12336, | |
12448, | |
12448, | |
65073, | |
65074, | |
65112, | |
65112, | |
65123, | |
65123, | |
65293, | |
65293, | |
187, | |
187, | |
8217, | |
8217, | |
8221, | |
8221, | |
8250, | |
8250, | |
11779, | |
11779, | |
11781, | |
11781, | |
11786, | |
11786, | |
11789, | |
11789, | |
11805, | |
11805, | |
11809, | |
11809, | |
171, | |
171, | |
8216, | |
8216, | |
8219, | |
8220, | |
8223, | |
8223, | |
8249, | |
8249, | |
11778, | |
11778, | |
11780, | |
11780, | |
11785, | |
11785, | |
11788, | |
11788, | |
11804, | |
11804, | |
11808, | |
11808, | |
40, | |
40, | |
91, | |
91, | |
123, | |
123, | |
3898, | |
3898, | |
3900, | |
3900, | |
5787, | |
5787, | |
8218, | |
8218, | |
8222, | |
8222, | |
8261, | |
8261, | |
8317, | |
8317, | |
8333, | |
8333, | |
8968, | |
8968, | |
8970, | |
8970, | |
9001, | |
9001, | |
10088, | |
10088, | |
10090, | |
10090, | |
10092, | |
10092, | |
10094, | |
10094, | |
10096, | |
10096, | |
10098, | |
10098, | |
10100, | |
10100, | |
10181, | |
10181, | |
10214, | |
10214, | |
10216, | |
10216, | |
10218, | |
10218, | |
10220, | |
10220, | |
10222, | |
10222, | |
10627, | |
10627, | |
10629, | |
10629, | |
10631, | |
10631, | |
10633, | |
10633, | |
10635, | |
10635, | |
10637, | |
10637, | |
10639, | |
10639, | |
10641, | |
10641, | |
10643, | |
10643, | |
10645, | |
10645, | |
10647, | |
10647, | |
10712, | |
10712, | |
10714, | |
10714, | |
10748, | |
10748, | |
11810, | |
11810, | |
11812, | |
11812, | |
11814, | |
11814, | |
11816, | |
11816, | |
11842, | |
11842, | |
12296, | |
12296, | |
12298, | |
12298, | |
12300, | |
12300, | |
12302, | |
12302, | |
12304, | |
12304, | |
12308, | |
12308, | |
12310, | |
12310, | |
12312, | |
12312, | |
12314, | |
12314, | |
12317, | |
12317, | |
64831, | |
64831, | |
65047, | |
65047, | |
65077, | |
65077, | |
65079, | |
65079, | |
65081, | |
65081, | |
65083, | |
65083, | |
65085, | |
65085, | |
65087, | |
65087, | |
65089, | |
65089, | |
65091, | |
65091, | |
65095, | |
65095, | |
65113, | |
65113, | |
65115, | |
65115, | |
65117, | |
65117, | |
65288, | |
65288, | |
65339, | |
65339, | |
65371, | |
65371, | |
65375, | |
65375, | |
65378, | |
65378, | |
33, | |
33, | |
35, | |
35, | |
37, | |
37, | |
39, | |
39, | |
42, | |
42, | |
44, | |
44, | |
46, | |
47, | |
58, | |
59, | |
63, | |
64, | |
92, | |
92, | |
161, | |
161, | |
183, | |
183, | |
191, | |
191, | |
894, | |
894, | |
903, | |
903, | |
1370, | |
1370, | |
1375, | |
1375, | |
1417, | |
1417, | |
1472, | |
1472, | |
1475, | |
1475, | |
1478, | |
1478, | |
1523, | |
1524, | |
1545, | |
1546, | |
1548, | |
1549, | |
1563, | |
1563, | |
1566, | |
1567, | |
1642, | |
1642, | |
1645, | |
1645, | |
1748, | |
1748, | |
1792, | |
1792, | |
1805, | |
1805, | |
2039, | |
2039, | |
2041, | |
2041, | |
2096, | |
2096, | |
2110, | |
2110, | |
2142, | |
2142, | |
2404, | |
2405, | |
2416, | |
2416, | |
2800, | |
2800, | |
3572, | |
3572, | |
3663, | |
3663, | |
3674, | |
3675, | |
3844, | |
3844, | |
3858, | |
3858, | |
3860, | |
3860, | |
3973, | |
3973, | |
4048, | |
4048, | |
4052, | |
4052, | |
4057, | |
4058, | |
4170, | |
4170, | |
4175, | |
4175, | |
4347, | |
4347, | |
4960, | |
4960, | |
4968, | |
4968, | |
5741, | |
5742, | |
5867, | |
5867, | |
5869, | |
5869, | |
5941, | |
5942, | |
6100, | |
6100, | |
6102, | |
6102, | |
6104, | |
6104, | |
6106, | |
6106, | |
6144, | |
6144, | |
6149, | |
6149, | |
6151, | |
6151, | |
6154, | |
6154, | |
6468, | |
6469, | |
6686, | |
6687, | |
6816, | |
6816, | |
6822, | |
6822, | |
6824, | |
6824, | |
6829, | |
6829, | |
7002, | |
7002, | |
7008, | |
7008, | |
7164, | |
7164, | |
7167, | |
7167, | |
7227, | |
7227, | |
7231, | |
7231, | |
7294, | |
7295, | |
7360, | |
7360, | |
7367, | |
7367, | |
7379, | |
7379, | |
8214, | |
8215, | |
8224, | |
8224, | |
8231, | |
8231, | |
8240, | |
8240, | |
8248, | |
8248, | |
8251, | |
8251, | |
8254, | |
8254, | |
8257, | |
8257, | |
8259, | |
8259, | |
8263, | |
8263, | |
8273, | |
8273, | |
8275, | |
8275, | |
8277, | |
8277, | |
8286, | |
8286, | |
11513, | |
11513, | |
11516, | |
11516, | |
11518, | |
11519, | |
11632, | |
11632, | |
11776, | |
11777, | |
11782, | |
11782, | |
11784, | |
11784, | |
11787, | |
11787, | |
11790, | |
11790, | |
11798, | |
11798, | |
11800, | |
11801, | |
11803, | |
11803, | |
11806, | |
11807, | |
11818, | |
11818, | |
11822, | |
11822, | |
11824, | |
11824, | |
11833, | |
11833, | |
11836, | |
11836, | |
11839, | |
11839, | |
11841, | |
11841, | |
12289, | |
12289, | |
12291, | |
12291, | |
12349, | |
12349, | |
12539, | |
12539, | |
42238, | |
42239, | |
42509, | |
42509, | |
42511, | |
42511, | |
42611, | |
42611, | |
42622, | |
42622, | |
42738, | |
42738, | |
42743, | |
42743, | |
43124, | |
43124, | |
43127, | |
43127, | |
43214, | |
43215, | |
43256, | |
43256, | |
43258, | |
43258, | |
43260, | |
43260, | |
43310, | |
43311, | |
43359, | |
43359, | |
43457, | |
43457, | |
43469, | |
43469, | |
43486, | |
43487, | |
43612, | |
43612, | |
43615, | |
43615, | |
43742, | |
43743, | |
43760, | |
43761, | |
44011, | |
44011, | |
65040, | |
65040, | |
65046, | |
65046, | |
65049, | |
65049, | |
65072, | |
65072, | |
65093, | |
65094, | |
65097, | |
65097, | |
65100, | |
65100, | |
65104, | |
65104, | |
65106, | |
65106, | |
65108, | |
65108, | |
65111, | |
65111, | |
65119, | |
65119, | |
65121, | |
65121, | |
65128, | |
65128, | |
65130, | |
65131, | |
65281, | |
65281, | |
65283, | |
65283, | |
65285, | |
65285, | |
65287, | |
65287, | |
65290, | |
65290, | |
65292, | |
65292, | |
65294, | |
65295, | |
65306, | |
65307, | |
65311, | |
65312, | |
65340, | |
65340, | |
65377, | |
65377, | |
65380, | |
65381, | |
65792, | |
65792, | |
65794, | |
65794, | |
66463, | |
66463, | |
66512, | |
66512, | |
66927, | |
66927, | |
67671, | |
67671, | |
67871, | |
67871, | |
67903, | |
67903, | |
68176, | |
68176, | |
68184, | |
68184, | |
68223, | |
68223, | |
68336, | |
68336, | |
68342, | |
68342, | |
68409, | |
68409, | |
68415, | |
68415, | |
68505, | |
68505, | |
68508, | |
68508, | |
69703, | |
69703, | |
69709, | |
69709, | |
69819, | |
69820, | |
69822, | |
69822, | |
69825, | |
69825, | |
69952, | |
69952, | |
69955, | |
69955, | |
70004, | |
70005, | |
70085, | |
70085, | |
70089, | |
70089, | |
70093, | |
70093, | |
70107, | |
70107, | |
70109, | |
70109, | |
70111, | |
70111, | |
70200, | |
70200, | |
70205, | |
70205, | |
70313, | |
70313, | |
70854, | |
70854, | |
71105, | |
71105, | |
71127, | |
71127, | |
71233, | |
71233, | |
71235, | |
71235, | |
71484, | |
71484, | |
71486, | |
71486, | |
74864, | |
74864, | |
74868, | |
74868, | |
92782, | |
92783, | |
92917, | |
92917, | |
92983, | |
92983, | |
92987, | |
92987, | |
92996, | |
92996, | |
113823, | |
113823, | |
121479, | |
121479, | |
121483, | |
121483 | |
]; | |
static space = FACharacterClasses.isWhiteSpace; | |
static upper = FACharacterClasses.unicodeCategories[0]; | |
static word = [ | |
65, | |
90, | |
97, | |
122, | |
170, | |
170, | |
181, | |
181, | |
186, | |
186, | |
192, | |
214, | |
216, | |
246, | |
248, | |
705, | |
710, | |
721, | |
736, | |
740, | |
748, | |
748, | |
750, | |
750, | |
880, | |
884, | |
886, | |
887, | |
890, | |
893, | |
895, | |
895, | |
902, | |
902, | |
904, | |
906, | |
908, | |
908, | |
910, | |
929, | |
931, | |
1013, | |
1015, | |
1153, | |
1162, | |
1327, | |
1329, | |
1366, | |
1369, | |
1369, | |
1377, | |
1415, | |
1488, | |
1514, | |
1520, | |
1522, | |
1568, | |
1610, | |
1646, | |
1647, | |
1649, | |
1747, | |
1749, | |
1749, | |
1765, | |
1766, | |
1774, | |
1775, | |
1786, | |
1788, | |
1791, | |
1791, | |
1808, | |
1808, | |
1810, | |
1839, | |
1869, | |
1957, | |
1969, | |
1969, | |
1994, | |
2026, | |
2036, | |
2037, | |
2042, | |
2042, | |
2048, | |
2069, | |
2074, | |
2074, | |
2084, | |
2084, | |
2088, | |
2088, | |
2112, | |
2136, | |
2208, | |
2228, | |
2308, | |
2361, | |
2365, | |
2365, | |
2384, | |
2384, | |
2392, | |
2401, | |
2417, | |
2432, | |
2437, | |
2444, | |
2447, | |
2448, | |
2451, | |
2472, | |
2474, | |
2480, | |
2482, | |
2482, | |
2486, | |
2489, | |
2493, | |
2493, | |
2510, | |
2510, | |
2524, | |
2525, | |
2527, | |
2529, | |
2544, | |
2545, | |
2565, | |
2570, | |
2575, | |
2576, | |
2579, | |
2600, | |
2602, | |
2608, | |
2610, | |
2611, | |
2613, | |
2614, | |
2616, | |
2617, | |
2649, | |
2652, | |
2654, | |
2654, | |
2674, | |
2676, | |
2693, | |
2701, | |
2703, | |
2705, | |
2707, | |
2728, | |
2730, | |
2736, | |
2738, | |
2739, | |
2741, | |
2745, | |
2749, | |
2749, | |
2768, | |
2768, | |
2784, | |
2785, | |
2809, | |
2809, | |
2821, | |
2828, | |
2831, | |
2832, | |
2835, | |
2856, | |
2858, | |
2864, | |
2866, | |
2867, | |
2869, | |
2873, | |
2877, | |
2877, | |
2908, | |
2909, | |
2911, | |
2913, | |
2929, | |
2929, | |
2947, | |
2947, | |
2949, | |
2954, | |
2958, | |
2960, | |
2962, | |
2965, | |
2969, | |
2970, | |
2972, | |
2972, | |
2974, | |
2975, | |
2979, | |
2980, | |
2984, | |
2986, | |
2990, | |
3001, | |
3024, | |
3024, | |
3077, | |
3084, | |
3086, | |
3088, | |
3090, | |
3112, | |
3114, | |
3129, | |
3133, | |
3133, | |
3160, | |
3162, | |
3168, | |
3169, | |
3205, | |
3212, | |
3214, | |
3216, | |
3218, | |
3240, | |
3242, | |
3251, | |
3253, | |
3257, | |
3261, | |
3261, | |
3294, | |
3294, | |
3296, | |
3297, | |
3313, | |
3314, | |
3333, | |
3340, | |
3342, | |
3344, | |
3346, | |
3386, | |
3389, | |
3389, | |
3406, | |
3406, | |
3423, | |
3425, | |
3450, | |
3455, | |
3461, | |
3478, | |
3482, | |
3505, | |
3507, | |
3515, | |
3517, | |
3517, | |
3520, | |
3526, | |
3585, | |
3632, | |
3634, | |
3635, | |
3648, | |
3654, | |
3713, | |
3714, | |
3716, | |
3716, | |
3719, | |
3720, | |
3722, | |
3722, | |
3725, | |
3725, | |
3732, | |
3735, | |
3737, | |
3743, | |
3745, | |
3747, | |
3749, | |
3749, | |
3751, | |
3751, | |
3754, | |
3755, | |
3757, | |
3760, | |
3762, | |
3763, | |
3773, | |
3773, | |
3776, | |
3780, | |
3782, | |
3782, | |
3804, | |
3807, | |
3840, | |
3840, | |
3904, | |
3911, | |
3913, | |
3948, | |
3976, | |
3980, | |
4096, | |
4138, | |
4159, | |
4159, | |
4176, | |
4181, | |
4186, | |
4189, | |
4193, | |
4193, | |
4197, | |
4198, | |
4206, | |
4208, | |
4213, | |
4225, | |
4238, | |
4238, | |
4256, | |
4293, | |
4295, | |
4295, | |
4301, | |
4301, | |
4304, | |
4346, | |
4348, | |
4680, | |
4682, | |
4685, | |
4688, | |
4694, | |
4696, | |
4696, | |
4698, | |
4701, | |
4704, | |
4744, | |
4746, | |
4749, | |
4752, | |
4784, | |
4786, | |
4789, | |
4792, | |
4798, | |
4800, | |
4800, | |
4802, | |
4805, | |
4808, | |
4822, | |
4824, | |
4880, | |
4882, | |
4885, | |
4888, | |
4954, | |
4992, | |
5007, | |
5024, | |
5109, | |
5112, | |
5117, | |
5121, | |
5740, | |
5743, | |
5759, | |
5761, | |
5786, | |
5792, | |
5866, | |
5873, | |
5880, | |
5888, | |
5900, | |
5902, | |
5905, | |
5920, | |
5937, | |
5952, | |
5969, | |
5984, | |
5996, | |
5998, | |
6000, | |
6016, | |
6067, | |
6103, | |
6103, | |
6108, | |
6108, | |
6176, | |
6263, | |
6272, | |
6312, | |
6314, | |
6314, | |
6320, | |
6389, | |
6400, | |
6430, | |
6480, | |
6509, | |
6512, | |
6516, | |
6528, | |
6571, | |
6576, | |
6601, | |
6656, | |
6678, | |
6688, | |
6740, | |
6823, | |
6823, | |
6917, | |
6963, | |
6981, | |
6987, | |
7043, | |
7072, | |
7086, | |
7087, | |
7098, | |
7141, | |
7168, | |
7203, | |
7245, | |
7247, | |
7258, | |
7293, | |
7401, | |
7404, | |
7406, | |
7409, | |
7413, | |
7414, | |
7424, | |
7615, | |
7680, | |
7957, | |
7960, | |
7965, | |
7968, | |
8005, | |
8008, | |
8013, | |
8016, | |
8023, | |
8025, | |
8025, | |
8027, | |
8027, | |
8029, | |
8029, | |
8031, | |
8061, | |
8064, | |
8116, | |
8118, | |
8124, | |
8126, | |
8126, | |
8130, | |
8132, | |
8134, | |
8140, | |
8144, | |
8147, | |
8150, | |
8155, | |
8160, | |
8172, | |
8178, | |
8180, | |
8182, | |
8188, | |
8305, | |
8305, | |
8319, | |
8319, | |
8336, | |
8348, | |
8450, | |
8450, | |
8455, | |
8455, | |
8458, | |
8467, | |
8469, | |
8469, | |
8473, | |
8477, | |
8484, | |
8484, | |
8486, | |
8486, | |
8488, | |
8488, | |
8490, | |
8493, | |
8495, | |
8505, | |
8508, | |
8511, | |
8517, | |
8521, | |
8526, | |
8526, | |
8579, | |
8580, | |
11264, | |
11310, | |
11312, | |
11358, | |
11360, | |
11492, | |
11499, | |
11502, | |
11506, | |
11507, | |
11520, | |
11557, | |
11559, | |
11559, | |
11565, | |
11565, | |
11568, | |
11623, | |
11631, | |
11631, | |
11648, | |
11670, | |
11680, | |
11686, | |
11688, | |
11694, | |
11696, | |
11702, | |
11704, | |
11710, | |
11712, | |
11718, | |
11720, | |
11726, | |
11728, | |
11734, | |
11736, | |
11742, | |
11823, | |
11823, | |
12293, | |
12294, | |
12337, | |
12341, | |
12347, | |
12348, | |
12353, | |
12438, | |
12445, | |
12447, | |
12449, | |
12538, | |
12540, | |
12543, | |
12549, | |
12589, | |
12593, | |
12686, | |
12704, | |
12730, | |
12784, | |
12799, | |
13312, | |
19893, | |
19968, | |
40917, | |
40960, | |
42124, | |
42192, | |
42237, | |
42240, | |
42508, | |
42512, | |
42527, | |
42538, | |
42539, | |
42560, | |
42606, | |
42623, | |
42653, | |
42656, | |
42725, | |
42775, | |
42783, | |
42786, | |
42888, | |
42891, | |
42925, | |
42928, | |
42935, | |
42999, | |
43009, | |
43011, | |
43013, | |
43015, | |
43018, | |
43020, | |
43042, | |
43072, | |
43123, | |
43138, | |
43187, | |
43250, | |
43255, | |
43259, | |
43259, | |
43261, | |
43261, | |
43274, | |
43301, | |
43312, | |
43334, | |
43360, | |
43388, | |
43396, | |
43442, | |
43471, | |
43471, | |
43488, | |
43492, | |
43494, | |
43503, | |
43514, | |
43518, | |
43520, | |
43560, | |
43584, | |
43586, | |
43588, | |
43595, | |
43616, | |
43638, | |
43642, | |
43642, | |
43646, | |
43695, | |
43697, | |
43697, | |
43701, | |
43702, | |
43705, | |
43709, | |
43712, | |
43712, | |
43714, | |
43714, | |
43739, | |
43741, | |
43744, | |
43754, | |
43762, | |
43764, | |
43777, | |
43782, | |
43785, | |
43790, | |
43793, | |
43798, | |
43808, | |
43814, | |
43816, | |
43822, | |
43824, | |
43866, | |
43868, | |
43877, | |
43888, | |
44002, | |
44032, | |
55203, | |
55216, | |
55238, | |
55243, | |
55291, | |
63744, | |
64109, | |
64112, | |
64217, | |
64256, | |
64262, | |
64275, | |
64279, | |
64285, | |
64285, | |
64287, | |
64296, | |
64298, | |
64310, | |
64312, | |
64316, | |
64318, | |
64318, | |
64320, | |
64321, | |
64323, | |
64324, | |
64326, | |
64433, | |
64467, | |
64829, | |
64848, | |
64911, | |
64914, | |
64967, | |
65008, | |
65019, | |
65136, | |
65140, | |
65142, | |
65276, | |
65313, | |
65338, | |
65345, | |
65370, | |
65382, | |
65470, | |
65474, | |
65479, | |
65482, | |
65487, | |
65490, | |
65495, | |
65498, | |
65500, | |
65536, | |
65547, | |
65549, | |
65574, | |
65576, | |
65594, | |
65596, | |
65597, | |
65599, | |
65613, | |
65616, | |
65629, | |
65664, | |
65786, | |
66176, | |
66204, | |
66208, | |
66256, | |
66304, | |
66335, | |
66352, | |
66368, | |
66370, | |
66377, | |
66384, | |
66421, | |
66432, | |
66461, | |
66464, | |
66499, | |
66504, | |
66511, | |
66560, | |
66717, | |
66816, | |
66855, | |
66864, | |
66915, | |
67072, | |
67382, | |
67392, | |
67413, | |
67424, | |
67431, | |
67584, | |
67589, | |
67592, | |
67592, | |
67594, | |
67637, | |
67639, | |
67640, | |
67644, | |
67644, | |
67647, | |
67669, | |
67680, | |
67702, | |
67712, | |
67742, | |
67808, | |
67826, | |
67828, | |
67829, | |
67840, | |
67861, | |
67872, | |
67897, | |
67968, | |
68023, | |
68030, | |
68031, | |
68096, | |
68096, | |
68112, | |
68115, | |
68117, | |
68119, | |
68121, | |
68147, | |
68192, | |
68220, | |
68224, | |
68252, | |
68288, | |
68295, | |
68297, | |
68324, | |
68352, | |
68405, | |
68416, | |
68437, | |
68448, | |
68466, | |
68480, | |
68497, | |
68608, | |
68680, | |
68736, | |
68786, | |
68800, | |
68850, | |
69635, | |
69687, | |
69763, | |
69807, | |
69840, | |
69864, | |
69891, | |
69926, | |
69968, | |
70002, | |
70006, | |
70006, | |
70019, | |
70066, | |
70081, | |
70084, | |
70106, | |
70106, | |
70108, | |
70108, | |
70144, | |
70161, | |
70163, | |
70187, | |
70272, | |
70278, | |
70280, | |
70280, | |
70282, | |
70285, | |
70287, | |
70301, | |
70303, | |
70312, | |
70320, | |
70366, | |
70405, | |
70412, | |
70415, | |
70416, | |
70419, | |
70440, | |
70442, | |
70448, | |
70450, | |
70451, | |
70453, | |
70457, | |
70461, | |
70461, | |
70480, | |
70480, | |
70493, | |
70497, | |
70784, | |
70831, | |
70852, | |
70853, | |
70855, | |
70855, | |
71040, | |
71086, | |
71128, | |
71131, | |
71168, | |
71215, | |
71236, | |
71236, | |
71296, | |
71338, | |
71424, | |
71449, | |
71840, | |
71903, | |
71935, | |
71935, | |
72384, | |
72440, | |
73728, | |
74649, | |
74880, | |
75075, | |
77824, | |
78894, | |
82944, | |
83526, | |
92160, | |
92728, | |
92736, | |
92766, | |
92880, | |
92909, | |
92928, | |
92975, | |
92992, | |
92995, | |
93027, | |
93047, | |
93053, | |
93071, | |
93952, | |
94020, | |
94032, | |
94032, | |
94099, | |
94111, | |
110592, | |
110593, | |
113664, | |
113770, | |
113776, | |
113788, | |
113792, | |
113800, | |
113808, | |
113817, | |
119808, | |
119892, | |
119894, | |
119964, | |
119966, | |
119967, | |
119970, | |
119970, | |
119973, | |
119974, | |
119977, | |
119980, | |
119982, | |
119993, | |
119995, | |
119995, | |
119997, | |
120003, | |
120005, | |
120069, | |
120071, | |
120074, | |
120077, | |
120084, | |
120086, | |
120092, | |
120094, | |
120121, | |
120123, | |
120126, | |
120128, | |
120132, | |
120134, | |
120134, | |
120138, | |
120144, | |
120146, | |
120485, | |
120488, | |
120512, | |
120514, | |
120538, | |
120540, | |
120570, | |
120572, | |
120596, | |
120598, | |
120628, | |
120630, | |
120654, | |
120656, | |
120686, | |
120688, | |
120712, | |
120714, | |
120744, | |
120746, | |
120770, | |
120772, | |
120779, | |
124928, | |
125124, | |
126464, | |
126467, | |
126469, | |
126495, | |
126497, | |
126498, | |
126500, | |
126500, | |
126503, | |
126503, | |
126505, | |
126514, | |
126516, | |
126519, | |
126521, | |
126521, | |
126523, | |
126523, | |
126530, | |
126530, | |
126535, | |
126535, | |
126537, | |
126537, | |
126539, | |
126539, | |
126541, | |
126543, | |
126545, | |
126546, | |
126548, | |
126548, | |
126551, | |
126551, | |
126553, | |
126553, | |
126555, | |
126555, | |
126557, | |
126557, | |
126559, | |
126559, | |
126561, | |
126562, | |
126564, | |
126564, | |
126567, | |
126570, | |
126572, | |
126578, | |
126580, | |
126583, | |
126585, | |
126588, | |
126590, | |
126590, | |
126592, | |
126601, | |
126603, | |
126619, | |
126625, | |
126627, | |
126629, | |
126633, | |
126635, | |
126651, | |
131072, | |
173782, | |
173824, | |
177972, | |
177984, | |
178205, | |
178208, | |
183969, | |
194560, | |
195101, | |
5870, | |
5870, | |
5872, | |
5872, | |
8544, | |
8544, | |
8578, | |
8578, | |
8581, | |
8581, | |
8584, | |
8584, | |
12295, | |
12295, | |
12321, | |
12321, | |
12329, | |
12329, | |
12344, | |
12344, | |
12346, | |
12346, | |
42726, | |
42726, | |
42735, | |
42735, | |
65856, | |
65856, | |
65908, | |
65908, | |
66369, | |
66369, | |
66378, | |
66378, | |
66513, | |
66513, | |
66517, | |
66517, | |
74752, | |
74752, | |
74862, | |
74862, | |
95, | |
95, | |
8255, | |
8256, | |
8276, | |
8276, | |
65075, | |
65076, | |
65101, | |
65101, | |
65103, | |
65103, | |
65343, | |
65343, | |
48, | |
48, | |
57, | |
57, | |
1632, | |
1632, | |
1641, | |
1641, | |
1776, | |
1776, | |
1785, | |
1785, | |
1984, | |
1984, | |
1993, | |
1993, | |
2406, | |
2406, | |
2415, | |
2415, | |
2534, | |
2534, | |
2543, | |
2543, | |
2662, | |
2662, | |
2671, | |
2671, | |
2790, | |
2790, | |
2799, | |
2799, | |
2918, | |
2918, | |
2927, | |
2927, | |
3046, | |
3046, | |
3055, | |
3055, | |
3174, | |
3174, | |
3183, | |
3183, | |
3302, | |
3302, | |
3311, | |
3311, | |
3430, | |
3430, | |
3439, | |
3439, | |
3558, | |
3558, | |
3567, | |
3567, | |
3664, | |
3664, | |
3673, | |
3673, | |
3792, | |
3792, | |
3801, | |
3801, | |
3872, | |
3872, | |
3881, | |
3881, | |
4160, | |
4160, | |
4169, | |
4169, | |
4240, | |
4240, | |
4249, | |
4249, | |
6112, | |
6112, | |
6121, | |
6121, | |
6160, | |
6160, | |
6169, | |
6169, | |
6470, | |
6470, | |
6479, | |
6479, | |
6608, | |
6608, | |
6617, | |
6617, | |
6784, | |
6784, | |
6793, | |
6793, | |
6800, | |
6800, | |
6809, | |
6809, | |
6992, | |
6992, | |
7001, | |
7001, | |
7088, | |
7088, | |
7097, | |
7097, | |
7232, | |
7232, | |
7241, | |
7241, | |
7248, | |
7248, | |
7257, | |
7257, | |
42528, | |
42528, | |
42537, | |
42537, | |
43216, | |
43216, | |
43225, | |
43225, | |
43264, | |
43264, | |
43273, | |
43273, | |
43472, | |
43472, | |
43481, | |
43481, | |
43504, | |
43504, | |
43513, | |
43513, | |
43600, | |
43600, | |
43609, | |
43609, | |
44016, | |
44016, | |
44025, | |
44025, | |
65296, | |
65296, | |
65305, | |
65305, | |
66720, | |
66720, | |
66729, | |
66729, | |
69734, | |
69734, | |
69743, | |
69743, | |
69872, | |
69872, | |
69881, | |
69881, | |
69942, | |
69942, | |
69951, | |
69951, | |
70096, | |
70096, | |
70105, | |
70105, | |
70384, | |
70384, | |
70393, | |
70393, | |
70864, | |
70864, | |
70873, | |
70873, | |
71248, | |
71248, | |
71257, | |
71257, | |
71360, | |
71360, | |
71369, | |
71369, | |
71472, | |
71472, | |
71481, | |
71481, | |
71904, | |
71904, | |
71913, | |
71913, | |
92768, | |
92768, | |
92777, | |
92777, | |
93008, | |
93008, | |
93017, | |
93017, | |
120782, | |
120782, | |
120831, | |
120831 | |
]; | |
static xdigit = [ | |
48, | |
48, | |
57, | |
57, | |
65, | |
65, | |
70, | |
70, | |
97, | |
97, | |
102, | |
102 | |
]; | |
static _known = null; | |
static known() { | |
if (FACharacterClasses._known === null) { | |
const result = new Map(); | |
result.set("IsLetter", FACharacterClasses.isLetter); | |
result.set("IsDigit", FACharacterClasses.isDigit); | |
result.set("IsLetterOrDigit", FACharacterClasses.isLetterOrDigit); | |
result.set("IsWhiteSpace", FACharacterClasses.isWhiteSpace); | |
result.set("alnum", FACharacterClasses.alnum); | |
result.set("alpha", FACharacterClasses.alpha); | |
result.set("cntrl", FACharacterClasses.cntrl); | |
result.set("digit", FACharacterClasses.digit); | |
result.set("graph", FACharacterClasses.graph); | |
result.set("ascii", FACharacterClasses.ascii); | |
result.set("blank", FACharacterClasses.blank); | |
result.set("lower", FACharacterClasses.lower); | |
result.set("print", FACharacterClasses.print); | |
result.set("punct", FACharacterClasses.punct); | |
result.set("space", FACharacterClasses.space); | |
result.set("upper", FACharacterClasses.upper); | |
result.set("word", FACharacterClasses.word); | |
result.set("xdigit", FACharacterClasses.xdigit); | |
FACharacterClasses._known = result; | |
} | |
return FACharacterClasses._known; | |
} | |
} | |
export class FAMatch { | |
symbolId; | |
value; | |
position; | |
line; | |
column; | |
constructor(symbolId = -1, value = null, position = 0, line = 1, column = 1){ | |
this.symbolId = symbolId; | |
this.value = value; | |
this.position = position; | |
this.line = line; | |
this.column = column; | |
} | |
toString() { | |
let sb = ""; | |
sb += "[SymbolId: "; | |
sb += this.symbolId; | |
sb += ", Value: "; | |
if (this.value !== null && this.value !== undefined) { | |
sb += "\""; | |
sb += this.value.replace("\r", "\\r").replace("\t", "\\t").replace("\n", "\\n").replace("\v", "\\v"); | |
sb += "\", Position: "; | |
} else { | |
sb += "null, Position: "; | |
} | |
sb += this.position; | |
sb += " ("; | |
sb += this.line; | |
sb += ", "; | |
sb += this.column; | |
sb += ")]"; | |
return sb; | |
} | |
} | |
export class FARunner { | |
tabWidth = 4; | |
position = -1; | |
line = 1; | |
column = 1; | |
*[Symbol.iterator]() { | |
let match = new FAMatch(); | |
match = this.nextMatch(); | |
while(match.symbolId !== -2){ | |
yield match; | |
match = this.nextMatch(); | |
} | |
} | |
} | |
export class FAStringRunner extends FARunner { | |
input_string; | |
set(str) { | |
this.input_string = str; | |
this.position = -1; | |
this.line = 1; | |
this.column = 1; | |
} | |
reset() { | |
this.position = -1; | |
this.line = 1; | |
this.column = 1; | |
} | |
advance(s, cp, len, first) { | |
if (!first) { | |
switch(String.fromCodePoint(cp)){ | |
case '\n': | |
++this.line; | |
this.column = 1; | |
break; | |
case '\r': | |
this.column = 1; | |
break; | |
case '\t': | |
this.column = (this.column - 1) / this.tabWidth * (this.tabWidth + 1); | |
break; | |
default: | |
if (cp > 31) { | |
++this.column; | |
} | |
break; | |
} | |
++len; | |
if (cp > 65535) { | |
++this.position; | |
++len; | |
} | |
++this.position; | |
} | |
if (this.position < s.length) { | |
cp = s.codePointAt(this.position); | |
} else { | |
cp = -1; | |
} | |
return [ | |
cp, | |
len | |
]; | |
} | |
} | |
export class FAStringStateRunner extends FAStringRunner { | |
_fa; | |
_blockEnds; | |
_states; | |
_nexts; | |
_initial; | |
constructor(fa, blockEnds = null){ | |
super(); | |
if (null === fa || undefined === fa) { | |
throw "fa was not valid"; | |
} | |
this._fa = fa; | |
this._blockEnds = blockEnds; | |
this._states = new Array(); | |
this._nexts = new Array(); | |
this._initial = new Array(); | |
} | |
nextMatch() { | |
return this._nextImpl(this.input_string); | |
} | |
_nextImpl(s) { | |
let dfaState = null, dfaNext = null, dfaInitial = null; | |
if (this.position == -1) { | |
++this.position; | |
} | |
let len = 0; | |
let cursor_pos = this.position; | |
let line = this.line; | |
let column = this.column; | |
let ch = -1; | |
let advr = this.advance(s, ch, len, true); | |
ch = advr[0]; | |
len = advr[1]; | |
if (this._fa.isDeterministic) { | |
dfaState = this._fa; | |
dfaInitial = this._fa; | |
} else { | |
this._initial.length = 0; | |
if (this._fa.isCompact) { | |
this._initial.push(this._fa); | |
} else { | |
this._fa.fillEpsilonClosure(this._initial); | |
} | |
this._states.length = 0; | |
this._states.push(...this._initial); | |
} | |
while(true){ | |
if (dfaState != null) { | |
dfaNext = dfaState.move(ch); | |
} else { | |
dfaNext = null; | |
this._nexts.length = 0; | |
FA.fillMove(this._states, ch, this._nexts); | |
} | |
if (dfaNext != null) { | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
if (dfaNext.isDeterministic) { | |
dfaState = dfaNext; | |
} else { | |
this._states.length = 0; | |
if (dfaNext.isCompact) { | |
this._states.push(dfaNext); | |
} else { | |
dfaNext.fillEpsilonClosure(this._states); | |
} | |
dfaState = null; | |
} | |
dfaNext = null; | |
} else if (this._nexts.length > 0) { | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
if (this._nexts.length === 1) { | |
var ffa = this._nexts[0]; | |
if (ffa.isDeterministic) { | |
dfaState = ffa; | |
} else { | |
dfaNext = null; | |
this._states.length = 0; | |
if (!ffa.isCompact) { | |
ffa.fillEpsilonClosure(this._states); | |
} else { | |
this._states.push(ffa); | |
} | |
dfaState = null; | |
} | |
} else { | |
this._states.length = 0; | |
FA.fillEpsilonClosureStates(this._nexts, this._states); | |
} | |
this._nexts.length = 0; | |
} else { | |
let acc; | |
if (dfaState !== null) { | |
acc = dfaState.acceptSymbol; | |
} else { | |
acc = FA.getFirstAcceptSymbol(this._states); | |
} | |
if (acc > -1) { | |
if (this._blockEnds != null && this._blockEnds.length > acc && this._blockEnds[acc] !== null) { | |
var be = this._blockEnds[acc]; | |
if (be.isDeterministic) { | |
dfaState = be; | |
dfaInitial = be; | |
this._states.length = 0; | |
} else { | |
dfaState = null; | |
dfaInitial = null; | |
this._initial.length = 0; | |
if (be.isCompact) { | |
this._initial.push(be); | |
} else { | |
be.fillEpsilonClosure(this._initial); | |
} | |
this._states.length = 0; | |
this._states.push(...this._initial); | |
} | |
while(true){ | |
if (dfaState !== null) { | |
dfaNext = dfaState.move(ch); | |
} else { | |
dfaNext = null; | |
this._nexts.length = 0; | |
FA.fillMove(this._states, ch, this._nexts); | |
} | |
if (dfaNext !== null) { | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
if (dfaNext.isDeterministic) { | |
dfaState = dfaNext; | |
} else { | |
this._states.length = 0; | |
if (dfaNext.isCompact) { | |
this._states.push(dfaNext); | |
} else { | |
dfaNext.fillEpsilonClosure(this._states); | |
} | |
dfaState = null; | |
} | |
dfaNext = null; | |
} else if (this._nexts.length > 0) { | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
if (this._nexts.length == 1) { | |
const ffa = this._nexts[0]; | |
if (ffa.isDeterministic) { | |
dfaState = ffa; | |
this._states.length = 0; | |
} else { | |
dfaNext = null; | |
this._states.length = 0; | |
if (!ffa.isCompact) { | |
ffa.fillEpsilonClosure(this._states); | |
} else { | |
this._states.push(ffa); | |
} | |
dfaState = null; | |
} | |
} else { | |
this._states.length = 0; | |
FA.fillEpsilonClosureStates(this._nexts, this._states); | |
} | |
this._nexts.length = 0; | |
} else { | |
if (dfaState !== null) { | |
if (dfaState.isAccepting()) { | |
return new FAMatch(acc, s.substring(cursor_pos, cursor_pos + len), cursor_pos, line, column); | |
} | |
} else { | |
if (-1 < FA.getFirstAcceptSymbol(this._states)) { | |
return new FAMatch(acc, s.substring(cursor_pos, cursor_pos + len), cursor_pos, line, column); | |
} | |
} | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
if (dfaInitial !== null) { | |
this._states.length = 0; | |
dfaState = dfaInitial; | |
} else { | |
dfaState = null; | |
this._states.length = 0; | |
this._states.push(...this._initial); | |
} | |
if (ch == -1) { | |
return new FAMatch(-1, s.substring(cursor_pos, cursor_pos + len), cursor_pos, line, column); | |
} | |
} | |
} | |
} else { | |
return new FAMatch(acc, s.substring(cursor_pos, cursor_pos + len), cursor_pos, line, column); | |
} | |
} else { | |
if (dfaInitial !== null) { | |
while(ch != -1 && dfaInitial.move(ch) === null){ | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
} | |
} else { | |
this._states.length = 0; | |
while(ch != -1 && FA.fillMove(this._initial, ch, this._states).length === 0){ | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
} | |
} | |
if (len == 0) { | |
return new FAMatch(-2, null, 0, 0, 0); | |
} | |
return new FAMatch(-1, s.substring(cursor_pos, cursor_pos + len), cursor_pos, line, column); | |
} | |
} | |
} | |
} | |
} | |
export class FAStringDfaTableRunner extends FAStringRunner { | |
_dfa; | |
_blockEnds; | |
constructor(dfa, blockEnds = null){ | |
super(); | |
this._dfa = dfa; | |
this._blockEnds = blockEnds; | |
} | |
nextMatch() { | |
return this._nextImpl(this.input_string); | |
} | |
_nextImpl(s) { | |
let tlen; | |
let tto; | |
let prlen; | |
let pmin; | |
let pmax; | |
let i; | |
let j; | |
let state = 0; | |
let acc; | |
if (this.position === -1) { | |
++this.position; | |
} | |
let len = 0; | |
let cursor_pos = this.position; | |
let line = this.line; | |
let column = this.column; | |
let ch = -1; | |
let cont = false; | |
let advr = this.advance(s, ch, len, true); | |
ch = advr[0]; | |
len = advr[1]; | |
while(true){ | |
acc = this._dfa[state]; | |
++state; | |
tlen = this._dfa[state]; | |
++state; | |
for(let i = 0; i < tlen; ++i){ | |
tto = this._dfa[state]; | |
++state; | |
prlen = this._dfa[state]; | |
++state; | |
for(let j = 0; j < prlen; ++j){ | |
pmin = this._dfa[state]; | |
++state; | |
pmax = this._dfa[state]; | |
++state; | |
if (ch < pmin) { | |
state += (prlen - (j + 1)) * 2; | |
j = prlen; | |
} else if (ch <= pmax) { | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
state = tto; | |
cont = true; | |
i = tlen; | |
break; | |
} | |
} | |
} | |
if (cont === true) { | |
cont = false; | |
continue; | |
} | |
break; | |
} | |
if (acc !== -1) { | |
const sym = acc; | |
const be = this._blockEnds !== null && this._blockEnds.length > acc ? this._blockEnds[acc] : null; | |
if (be !== null) { | |
state = 0; | |
while(true){ | |
acc = be[state]; | |
++state; | |
tlen = be[state]; | |
++state; | |
for(let i = 0; i < tlen; ++i){ | |
tto = be[state]; | |
++state; | |
prlen = be[state]; | |
++state; | |
for(let j = 0; j < prlen; ++j){ | |
pmin = be[state]; | |
++state; | |
pmax = be[state]; | |
++state; | |
if (ch < pmin) { | |
state += (prlen - (j + 1)) * 2; | |
j = prlen; | |
} else if (ch <= pmax) { | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
state = tto; | |
i = tlen; | |
break; | |
} | |
} | |
} | |
if (acc !== -1) { | |
return new FAMatch(sym, s.substring(cursor_pos, cursor_pos + len), cursor_pos, line, column); | |
} | |
if (ch === -1) { | |
return new FAMatch(-1, s.substring(cursor_pos, cursor_pos + len), cursor_pos, line, column); | |
} | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
state = 0; | |
} | |
} | |
return new FAMatch(acc, s.substring(cursor_pos, cursor_pos + len), cursor_pos, line, column); | |
} | |
while(ch !== -1){ | |
var moved = false; | |
state = 1; | |
tlen = this._dfa[state]; | |
++state; | |
for(let i = 0; i < tlen; ++i){ | |
++state; | |
prlen = this._dfa[state]; | |
++state; | |
for(let j = 0; j < prlen; ++j){ | |
pmin = this._dfa[state]; | |
++state; | |
pmax = this._dfa[state]; | |
++state; | |
if (ch < pmin) { | |
state += (prlen - (j + 1)) * 2; | |
j = prlen; | |
} else if (ch <= pmax) { | |
moved = true; | |
} | |
} | |
} | |
if (moved) { | |
break; | |
} | |
advr = this.advance(s, ch, len, false); | |
ch = advr[0]; | |
len = advr[1]; | |
} | |
if (len === 0) { | |
return new FAMatch(-2, null, 0, 0, 0); | |
} | |
return new FAMatch(-1, s.substring(cursor_pos, cursor_pos + len), cursor_pos, line, column); | |
} | |
} | |
class _ParseContext { | |
input; | |
codepoint = -2; | |
position = 0; | |
line = 1; | |
column = 0; | |
tabWidth = 4; | |
capture_buffer = ""; | |
constructor(input, tabWidth = 4, position = 0, line = 1, column = 0){ | |
this.input = input; | |
this.tabWidth = tabWidth; | |
this.position = position; | |
this.line = line; | |
this.column = column; | |
} | |
advance() { | |
if (this.position >= this.input.length) { | |
this.codepoint = -1; | |
} else { | |
this.codepoint = this.input.codePointAt(this.position); | |
} | |
switch(this.codepoint){ | |
case 10: | |
++this.line; | |
this.column = 0; | |
break; | |
case 13: | |
this.column = 0; | |
break; | |
case 9: | |
this.column = ((this.column - 1) / this.tabWidth + 1) * this.tabWidth + 1; | |
break; | |
default: | |
if (this.codepoint > 31) ++this.column; | |
break; | |
} | |
++this.position; | |
return this.codepoint; | |
} | |
capture() { | |
this.capture_buffer += String.fromCodePoint(this.codepoint); | |
} | |
ensureStarted() { | |
if (this.codepoint == -2) { | |
this.advance(); | |
} | |
} | |
static _getCodepoints(values) { | |
const result = new Array(values.length); | |
for(let i = 0; i < values.length; ++i){ | |
result[i] = values[i].codePointAt(0); | |
} | |
return result; | |
} | |
_getErrorMessage(expecting) { | |
let sb = null; | |
switch(expecting.length){ | |
case 0: | |
break; | |
case 1: | |
sb = ""; | |
if (-1 == expecting[0]) sb += "end of input"; | |
else { | |
sb += "\""; | |
sb += String.fromCodePoint(expecting[0]); | |
sb += "\""; | |
} | |
break; | |
case 2: | |
sb = ""; | |
if (-1 == expecting[0]) sb += "end of input"; | |
else { | |
sb += "\""; | |
sb += String.fromCodePoint(expecting[0]); | |
sb += "\""; | |
} | |
sb += " or "; | |
if (-1 == expecting[1]) sb += "end of input"; | |
else { | |
sb += "\""; | |
sb += String.fromCodePoint(expecting[1]); | |
sb += "\""; | |
} | |
break; | |
default: | |
sb = ""; | |
if (-1 == expecting[0]) sb += "end of input"; | |
else { | |
sb += "\""; | |
sb += String.fromCodePoint(expecting[0]); | |
sb += "\""; | |
} | |
const l = expecting.length - 1; | |
let i = 1; | |
for(; i < l; ++i){ | |
sb += ", "; | |
if (-1 == expecting[i]) sb += "end of input"; | |
else { | |
sb += "\""; | |
sb += String.fromCodePoint(expecting[1]); | |
sb += "\""; | |
} | |
} | |
sb += ", or "; | |
if (-1 == expecting[i]) sb += "end of input"; | |
else { | |
sb += "\""; | |
sb += String.fromCodePoint(expecting[i]); | |
sb += "\""; | |
} | |
break; | |
} | |
if (-1 == this.codepoint) { | |
if (0 == expecting.length) return "Unexpected end of input"; | |
return "Unexpected end of input. Expecting " + sb; | |
} | |
if (0 == expecting.length) return "Unexpected character \"" + String.fromCodePoint(this.codepoint) + "\" in input"; | |
return "Unexpected character \"" + String.fromCodePoint(this.codepoint) + "\" in input. Expecting " + sb; | |
} | |
expecting(...values) { | |
const codepoints = _ParseContext._getCodepoints(values); | |
if (this.codepoint === -2) throw "The cursor is before the beginning of the input at " + this.position; | |
switch(codepoints.length){ | |
case 0: | |
if (this.codepoint === -1) throw "Unexpected end of input at " + this.position; | |
break; | |
case 1: | |
if (codepoints[0] != this.codepoint) throw this._getErrorMessage(codepoints) + " at " + this.position; | |
break; | |
default: | |
if (!codepoints.includes(this.codepoint)) throw this._getErrorMessage(codepoints) + " at " + this.position; | |
break; | |
} | |
} | |
trySkipWhiteSpace() { | |
this.ensureStarted(); | |
if (this.codepoint == -1) { | |
return false; | |
} | |
if (!FACharacterClasses.space.includes(this.codepoint)) { | |
return false; | |
} | |
this.advance(); | |
while(this.codepoint != -1 && FACharacterClasses.space.includes(this.codepoint)){ | |
this.advance(); | |
} | |
return true; | |
} | |
tryReadDigits() { | |
this.ensureStarted(); | |
if (this.codepoint == -1) { | |
return false; | |
} | |
if (!FACharacterClasses.digit.includes(this.codepoint)) { | |
return false; | |
} | |
this.capture(); | |
this.advance(); | |
while(this.codepoint != -1 && FACharacterClasses.digit.includes(this.codepoint)){ | |
this.capture(); | |
this.advance(); | |
} | |
return true; | |
} | |
tryReadUntil(character, readCharacter = true) { | |
this.ensureStarted(); | |
if (0 > character) character = -1; | |
this.capture(); | |
if (this.codepoint === character) { | |
return true; | |
} | |
while(-1 != this.advance() && this.codepoint != character)this.capture(); | |
if (this.codepoint == character) { | |
if (readCharacter) { | |
this.capture(); | |
this.advance(); | |
} | |
return true; | |
} | |
return false; | |
} | |
} | |
class _ExpEdge { | |
exp; | |
from; | |
to; | |
} | |
export class FADotGraphOptions { | |
dpi = 300; | |
statePrefix = "q"; | |
debugString = null; | |
blockEnds = null; | |
debugSourceNfa = null; | |
debugShowNfa = false; | |
hideAcceptSymbolIds = false; | |
acceptSymbolNames = null; | |
vertical = false; | |
} | |
export class FAProgress { | |
_callback = null; | |
value = 0; | |
constructor(callback = null){ | |
this._callback = callback; | |
} | |
report(value) { | |
this.value = value; | |
if (this._callback !== null) { | |
this._callback(value); | |
} | |
} | |
} | |
export class FARange { | |
min; | |
max; | |
constructor(min, max){ | |
this.min = min; | |
this.max = max; | |
} | |
intersects(arg) { | |
let range; | |
let codepoint; | |
if (typeof arg === 'number') { | |
codepoint = arg; | |
return codepoint >= this.min && codepoint <= this.max; | |
} | |
range = arg; | |
return range.min >= this.min && range.min <= this.max || range.max >= this.min && range.max <= this.max; | |
} | |
static toUnpacked(packedRanges) { | |
const result = new Array(packedRanges.length / 2); | |
for(let i = 0; i < result.length; ++i){ | |
const j = i * 2; | |
result[i] = new FARange(packedRanges[j], packedRanges[j + 1]); | |
} | |
return result; | |
} | |
static toPacked(pairs) { | |
const result = new Array(pairs.length * 2); | |
for(let ic = pairs.length, i = 0; i < ic; ++i){ | |
var pair = pairs[i]; | |
var j = i * 2; | |
result[j] = pair.min; | |
result[j + 1] = pair.max; | |
} | |
return result; | |
} | |
static *toNotRanges(ranges) { | |
let last = 0x10ffff; | |
const e = ranges[Symbol.iterator](); | |
let cur = e.next(); | |
if (cur.done) { | |
yield new FARange(0x0, 0x10ffff); | |
return; | |
} | |
if (cur.value.min > 0) { | |
yield new FARange(0, cur.value.min - 1); | |
last = cur.value.max; | |
if (0x10ffff <= last) return; | |
} else if (cur.value.min == 0) { | |
last = cur.value.max; | |
if (0x10ffff <= last) return; | |
} | |
while(!cur.done){ | |
if (0x10ffff <= last) return; | |
if (last + 1 < cur.value.min) yield new FARange(last + 1, cur.value.min - 1); | |
last = cur.value.max; | |
cur = e.next(); | |
} | |
if (0x10ffff >= last) yield new FARange(last + 1, 0x10ffff); | |
} | |
} | |
export class FATransition { | |
min; | |
max; | |
to; | |
constructor(to, min = -1, max = -1){ | |
this.min = min; | |
this.max = max; | |
this.to = to; | |
} | |
isEpsilon() { | |
return this.min == -1 || this.max == -1; | |
} | |
} | |
class _FListNode { | |
state = null; | |
stateList = null; | |
next = null; | |
prev = null; | |
constructor(q, sl){ | |
this.state = q; | |
this.stateList = sl; | |
if (sl.count++ === 0) { | |
sl.first = this; | |
sl.last = this; | |
} else { | |
sl.last.next = this; | |
this.prev = sl.last; | |
sl.last = this; | |
} | |
} | |
remove() { | |
--this.stateList.count; | |
if (this.stateList.first === this) { | |
this.stateList.first = this.next; | |
} else { | |
this.prev.next = this.next; | |
} | |
if (this.stateList.last === this) { | |
this.stateList.last = this.prev; | |
} else { | |
this.next.prev = this.prev; | |
} | |
} | |
} | |
class _FList { | |
count = 0; | |
first = null; | |
last = null; | |
add(q) { | |
return new _FListNode(q, this); | |
} | |
} | |
class _FKeyPair { | |
key; | |
value; | |
constructor(key, value){ | |
this.key = key; | |
this.value = value; | |
} | |
} | |
export class FA { | |
isCompact = true; | |
isDeterministic = true; | |
tag = -1; | |
acceptSymbol = -1; | |
id = -1; | |
transitions = []; | |
fromStates = null; | |
_minimizationTag = -1; | |
constructor(accept = -1){ | |
this.acceptSymbol = accept; | |
} | |
fillClosure(result = []) { | |
if (result.includes(this)) { | |
return result; | |
} | |
result.push(this); | |
for (const transition of this.transitions){ | |
const state = transition.to; | |
state.fillClosure(result); | |
} | |
return result; | |
} | |
fillEpsilonClosure(result = []) { | |
if (result.includes(this)) { | |
return result; | |
} | |
result.push(this); | |
for (const transition of this.transitions){ | |
if (transition.isEpsilon()) { | |
const state = transition.to; | |
state.fillEpsilonClosure(result); | |
} | |
} | |
return result; | |
} | |
static fillEpsilonClosureStates(states, result = []) { | |
for (let state of states){ | |
state.fillEpsilonClosure(result); | |
} | |
return result; | |
} | |
isAccepting() { | |
return this.acceptSymbol > -1; | |
} | |
addEpsilon(to, compact = true) { | |
if (to === undefined || to === null) { | |
throw "to was not set"; | |
} | |
if (compact) { | |
if (this.acceptSymbol < 0 && to.acceptSymbol > -1) { | |
this.acceptSymbol = to.acceptSymbol; | |
} | |
for(let i = 0; i < to.transitions.length; ++i){ | |
var fat = to.transitions[i]; | |
if (!fat.isEpsilon()) { | |
this.addTransition(new FARange(fat.min, fat.max), fat.to); | |
} else { | |
this.addEpsilon(fat.to, true); | |
} | |
} | |
} else { | |
var found = false; | |
let i = 0; | |
for(; i < this.transitions.length; ++i){ | |
var fat = this.transitions[i]; | |
if (!fat.isEpsilon()) break; | |
if (fat.to === to) { | |
found = true; | |
break; | |
} | |
} | |
if (!found) { | |
this.transitions.splice(i, 0, new FATransition(to)); | |
this.isCompact = false; | |
this.isDeterministic = false; | |
} | |
} | |
} | |
addTransition(range, to, compact = true) { | |
if (to === undefined || to === null) { | |
throw "to was not set"; | |
} | |
if (range.min == -1 || range.max == -1) { | |
this.addEpsilon(to, compact); | |
return; | |
} | |
if (range.min > range.max) { | |
const tmp = range.min; | |
range.min = range.max; | |
range.max = tmp; | |
} | |
var insert = -1; | |
for(let i = 0; i < this.transitions.length; ++i){ | |
const fat = this.transitions[i]; | |
if (to === fat.to) { | |
if (range.min === fat.min && range.max == fat.max) { | |
return; | |
} | |
} | |
if (this.isDeterministic) { | |
if (range.intersects(new FARange(fat.min, fat.max))) { | |
this.isDeterministic = false; | |
} | |
} | |
if (range.max > fat.max) { | |
insert = i; | |
} | |
if (!this.isDeterministic && range.max < fat.min) { | |
break; | |
} | |
} | |
this.transitions.splice(insert + 1, 0, new FATransition(to, range.min, range.max)); | |
} | |
static _crackSet(str, closure) { | |
const result = []; | |
if (str == "") { | |
return result; | |
} | |
const sa = str.split(" "); | |
for (const s of sa){ | |
result.push(closure[Number.parseInt(s, 10)]); | |
} | |
return result; | |
} | |
static _makeSet(closure, states) { | |
let result = ""; | |
let delim = ""; | |
let ns = []; | |
for (const fa of states){ | |
const idx = closure.indexOf(fa); | |
ns.push(idx); | |
} | |
ns.sort((x, y)=>x - y); | |
for (const i of ns){ | |
result += delim + i.toString(10); | |
delim = " "; | |
} | |
return result; | |
} | |
static _determinize(target, progress = null) { | |
if (progress === null) { | |
progress = new FAProgress(); | |
} | |
let prog = 0; | |
progress.report(0); | |
const closure = target.fillClosure(); | |
const p = new Set(); | |
for (const ffa of closure){ | |
p.add(0); | |
for (const t of ffa.transitions){ | |
p.add(t.min); | |
if (t.max < 0x10ffff) { | |
p.add(t.max + 1); | |
} | |
} | |
} | |
const points = [ | |
...p | |
]; | |
points.sort((x, y)=>x - y); | |
++prog; | |
progress.report(prog); | |
const sets = new Map(); | |
const working = []; | |
const dfaMap = new Map(); | |
const initStates = closure[0].fillEpsilonClosure(); | |
let initial = FA._makeSet(closure, initStates); | |
sets.set(initial, new Set(initStates)); | |
working.push(initial); | |
const result = new FA(); | |
result.isDeterministic = true; | |
result.fromStates = initStates; | |
result.acceptSymbol = FA.getFirstAcceptSymbol(initStates); | |
dfaMap.set(initial, result); | |
while(working.length > 0){ | |
const s = working[0]; | |
working.shift(); | |
const dfa = dfaMap.get(s); | |
const crackedS1 = FA._crackSet(s, closure); | |
for (const q of crackedS1){ | |
if (q.isAccepting()) { | |
dfa.acceptSymbol = q.acceptSymbol; | |
break; | |
} | |
} | |
let i = 0; | |
for (const pnt of points){ | |
const set = new Set(); | |
for (const c of crackedS1){ | |
const ecs = c.fillEpsilonClosure(); | |
for (const efa of ecs){ | |
for (let trns of efa.transitions){ | |
if (!trns.isEpsilon()) { | |
if (trns.min <= pnt && pnt <= trns.max) { | |
for (const eefa of trns.to.fillEpsilonClosure()){ | |
set.add(eefa); | |
} | |
} | |
} | |
} | |
} | |
} | |
const skey = FA._makeSet(closure, set); | |
if (!sets.has(skey)) { | |
sets.set(skey, set); | |
working.push(skey); | |
let newFa = new FA(); | |
newFa.isDeterministic = true; | |
newFa.isCompact = true; | |
newFa.fromStates = Array.from(set.values()); | |
dfaMap.set(skey, newFa); | |
} | |
const dst = dfaMap.get(skey); | |
const first = pnt; | |
let last; | |
if (i + 1 < points.length) { | |
last = points[i + 1] - 1; | |
} else { | |
last = 0x10ffff; | |
} | |
dfa.transitions.push(new FATransition(dst, first, last)); | |
++i; | |
} | |
++prog; | |
progress.report(prog); | |
} | |
for (const ffa of result.fillClosure()){ | |
const itrns = [ | |
...ffa.transitions | |
]; | |
for (const trns of itrns){ | |
const acc = trns.to.fillClosure().filter((value, index, array)=>value.isAccepting()); | |
if (acc.length == 0) { | |
ffa.transitions.splice(ffa.transitions.indexOf(trns), 1); | |
} | |
} | |
++prog; | |
progress.report(prog); | |
} | |
++prog; | |
progress.report(prog); | |
return result; | |
} | |
isDfa() { | |
for (const ffa of this.fillClosure()){ | |
if (!ffa.isDeterministic) { | |
return false; | |
} | |
} | |
return true; | |
} | |
toDfa(progress = null) { | |
return FA._determinize(this, progress); | |
} | |
totalize(closure = null) { | |
if (closure === null) { | |
closure = this.fillClosure(); | |
} | |
const s = new FA(); | |
s.transitions.push(new FATransition(s, 0, 0x10ffff)); | |
for (const p of closure){ | |
let maxi = 0; | |
const sortedTrans = [ | |
...p.transitions | |
]; | |
sortedTrans.sort((x, y)=>{ | |
let c = x.max - y.max; | |
if (0 != c) return c; | |
return x.min - y.min; | |
}); | |
for (const t of sortedTrans){ | |
if (!t.isEpsilon()) { | |
if (t.min > maxi) { | |
p.transitions.push(new FATransition(s, maxi, t.min - 1)); | |
} | |
if (t.max + 1 > maxi) { | |
maxi = t.max + 1; | |
} | |
} | |
} | |
if (maxi <= 0x10ffff) { | |
p.transitions.push(new FATransition(s, maxi, 0x10ffff)); | |
} | |
} | |
} | |
_step(input) { | |
for(let ic = this.transitions.length, i = 0; i < ic; ++i){ | |
var t = this.transitions[i]; | |
if (input >= t.min && input <= t.max) return t.to; | |
} | |
return null; | |
} | |
static _minimize(a, progress) { | |
let prog = 0; | |
if (progress === null) { | |
progress = new FAProgress(); | |
} | |
progress.report(prog); | |
a = a.toDfa(progress); | |
const tr = a.transitions; | |
if (tr.length == 1) { | |
const t = tr[0]; | |
if (t.to === a && t.min == 0 && t.max == 0x10ffff) { | |
return a; | |
} | |
} | |
a.totalize(); | |
++prog; | |
progress.report(prog); | |
const cl = a.fillClosure(); | |
const states = new Array(); | |
let mtag = 0; | |
for (const q of cl){ | |
q._minimizationTag = mtag; | |
states.push(q); | |
++mtag; | |
} | |
let pp = []; | |
for(let ic = cl.length, i = 0; i < ic; ++i){ | |
const ffa = cl[i]; | |
pp.push(0); | |
for (const t of ffa.transitions){ | |
pp.push(t.min); | |
if (t.max < 0x10ffff) { | |
pp.push(t.max + 1); | |
} | |
} | |
} | |
const sigma = new Array(); | |
for(let i = 0; i < pp.length; ++i){ | |
sigma.push(pp[i]); | |
} | |
sigma.sort(); | |
const reverse = new Array(); | |
for (const s of states){ | |
const arr = new Array(sigma.length); | |
arr.fill(null, 0, arr.length - 1); | |
reverse.push(arr); | |
} | |
++prog; | |
progress.report(prog); | |
const reverseNonempty = Array(); | |
for(let i = 0; i < states.length; ++i){ | |
const arr = new Array(sigma.length); | |
arr.fill(false, 0, arr.length - 1); | |
reverseNonempty.push(arr); | |
} | |
const partition = new Array(states.length); | |
partition.fill(null, 0, partition.length - 1); | |
++prog; | |
progress.report(prog); | |
const block = new Array(states.length); | |
const active = new Array(); | |
for(let i = 0; i < states.length; ++i){ | |
const arr = new Array(sigma.length); | |
arr.fill(null, 0, arr.length - 1); | |
active.push(arr); | |
} | |
const active2 = new Array(); | |
for(let i = 0; i < states.length; ++i){ | |
const arr = new Array(sigma.length); | |
arr.fill(null, 0, arr.length - 1); | |
active2.push(arr); | |
} | |
const pending = new Array(); | |
const pending2 = Array(); | |
for(let i = 0; i < sigma.length; ++i){ | |
const arr = new Array(states.length); | |
arr.fill(false, 0, arr.length - 1); | |
pending2.push(arr); | |
} | |
let split = new Array(); | |
const split2 = new Array(states.length); | |
split2.fill(false, 0, split2.length - 1); | |
let refine = new Array(); | |
const refine2 = new Array(states.length); | |
split2.fill(false, 0, refine2.length - 1); | |
const splitBlock = new Array(states.length); | |
splitBlock.fill(null, 0, splitBlock.length - 1); | |
++prog; | |
progress.report(prog); | |
for(let q = 0; q < states.length; ++q){ | |
splitBlock[q] = new Array(); | |
partition[q] = new Array(); | |
for(let x = 0; x < sigma.length; ++x){ | |
reverse[q][x] = new Array(); | |
active[q][x] = new _FList(); | |
} | |
} | |
for (const qq of states){ | |
const j = qq.isAccepting() ? 0 : 1; | |
partition[j].push(qq); | |
block[qq._minimizationTag] = j; | |
for(let x = 0; x < sigma.length; ++x){ | |
const y = sigma[x]; | |
const p = qq._step(y); | |
const pn = p._minimizationTag; | |
if (reverse[pn] !== null && reverse[pn][x] !== null) { | |
reverse[pn][x].push(qq); | |
} | |
reverseNonempty[pn][x] = true; | |
} | |
++prog; | |
progress.report(prog); | |
} | |
for(let j = 0; j <= 1; ++j){ | |
for(let x = 0; x < sigma.length; ++x){ | |
const part = partition[j]; | |
for (const qq of part){ | |
if (reverseNonempty[qq._minimizationTag][x] === true) { | |
active2[qq._minimizationTag][x] = active[j][x].add(qq); | |
} | |
} | |
} | |
++prog; | |
progress.report(prog); | |
} | |
for(let x = 0; x < sigma.length; ++x){ | |
const a0 = active[0][x].count; | |
const a1 = active[1][x].count; | |
const j = a0 <= a1 ? 0 : 1; | |
pending.push(new _FKeyPair(j, x)); | |
pending2[x][j] = true; | |
} | |
let k = 2; | |
while(pending.length > 0){ | |
const ip = pending.shift(); | |
const p = ip.key; | |
const x = ip.value; | |
pending2[x][p] = false; | |
for(let m = active[p][x].first; m !== null; m = m.next){ | |
for (const s of reverse[m.state._minimizationTag][x]){ | |
if (!split2[s._minimizationTag]) { | |
split2[s._minimizationTag] = true; | |
split.push(s); | |
const j = block[s._minimizationTag]; | |
splitBlock[j].push(s); | |
if (refine2[j] !== true) { | |
refine2[j] = true; | |
refine.push(j); | |
} | |
} | |
} | |
} | |
++prog; | |
progress.report(prog); | |
for (const j of refine){ | |
if (splitBlock[j].length < partition[j].length) { | |
const b1 = partition[j]; | |
const b2 = partition[k]; | |
const e = splitBlock[j]; | |
for (const s of e){ | |
b1.splice(b1.indexOf(s), 1); | |
b2.push(s); | |
block[s._minimizationTag] = k; | |
for(let c = 0; c < sigma.length; ++c){ | |
const sn = active2[s._minimizationTag][c]; | |
if (sn !== null && sn !== undefined && sn.stateList === active[j][c]) { | |
sn.remove(); | |
active2[s._minimizationTag][c] = active[k][c].add(s); | |
} | |
} | |
} | |
for(let c = 0; c < sigma.length; ++c){ | |
const aj = active[j][c].count; | |
const ak = active[k][c].count; | |
if (!pending2[c][j] && 0 < aj && aj <= ak) { | |
pending2[c][j] = true; | |
pending.push(new _FKeyPair(j, c)); | |
} else { | |
pending2[c][k] = true; | |
pending.push(new _FKeyPair(k, c)); | |
} | |
} | |
++k; | |
} | |
const sbj = splitBlock[j]; | |
for (const s of sbj){ | |
split2[s._minimizationTag] = false; | |
} | |
refine2[j] = false; | |
splitBlock[j].length = 0; | |
++prog; | |
progress.report(prog); | |
} | |
split.length = 0; | |
refine.length = 0; | |
} | |
++prog; | |
progress.report(prog); | |
const newstates = new Array(); | |
for(let n = 0; n < k; ++n){ | |
const s = new FA(); | |
s.isDeterministic = true; | |
newstates.push(s); | |
const pn = partition[n]; | |
for (const q of pn){ | |
if (q === a) { | |
a = s; | |
} | |
s.id = q.id; | |
s.acceptSymbol = q.acceptSymbol; | |
s._minimizationTag = q._minimizationTag; | |
q._minimizationTag = n; | |
} | |
++prog; | |
progress.report(prog); | |
} | |
for (const s of newstates){ | |
const st = states[s._minimizationTag]; | |
s.acceptSymbol = st.acceptSymbol; | |
for (const t of st.transitions){ | |
s.transitions.push(new FATransition(newstates[t.to._minimizationTag], t.min, t.max)); | |
} | |
++prog; | |
progress.report(prog); | |
} | |
for (const ffa of a.fillClosure()){ | |
const itrns = new Array(...ffa.transitions); | |
ffa.transitions = new Array(); | |
for (const trns of itrns){ | |
if (!trns.to.isTrap()) { | |
ffa.transitions.push(trns); | |
} | |
} | |
} | |
return a; | |
} | |
toMinimizedDfa(progress = null) { | |
return FA._minimize(this, progress); | |
} | |
clone() { | |
const result = []; | |
const closure = this.fillClosure(); | |
for(let j = 0; j < closure.length; ++j){ | |
result.push(new FA()); | |
} | |
let i = 0; | |
for (const ffa of closure){ | |
result[i].isCompact = ffa.isCompact; | |
result[i].isDeterministic = ffa.isDeterministic; | |
result[i].acceptSymbol = ffa.acceptSymbol; | |
result[i].tag = ffa.tag; | |
for (const trns of ffa.transitions){ | |
result[i].transitions.push(new FATransition(result[closure.indexOf(trns.to)], trns.min, trns.max)); | |
} | |
++i; | |
} | |
return result[0]; | |
} | |
static _toExpressionFillEdgesIn(edges, node) { | |
const result = new Array(); | |
for(let i = 0; i < edges.length; ++i){ | |
const edge = edges[i]; | |
if (edge.to === node) { | |
result.push(edge); | |
} | |
} | |
return result; | |
} | |
static _toExpressionFillEdgesOut(edges, node) { | |
const result = new Array(); | |
for(let i = 0; i < edges.length; ++i){ | |
const edge = edges[i]; | |
if (edge.from === node) { | |
result.push(edge); | |
} | |
} | |
return result; | |
} | |
static _toExpressionOrJoin(strings) { | |
if (strings.length == 0) return ""; | |
if (strings.length == 1) return strings[0]; | |
return "(" + strings.join("|") + ")"; | |
} | |
static _toExpressionKleeneStar(sb, s, noWrap) { | |
if (s === undefined || s === null || s.length == 0) return ""; | |
if (noWrap || s.length == 1) { | |
sb += s; | |
sb += "*"; | |
return; | |
} | |
sb += "("; | |
sb += s; | |
sb += ")*"; | |
} | |
static _toExpressionFillEdgesOrphanState(edges, node) { | |
const result = new Array(); | |
for(let i = 0; i < edges.length; ++i){ | |
var edge = edges[i]; | |
if (edge.from === node || edge.to === node) { | |
continue; | |
} | |
result.push(edge); | |
} | |
return result; | |
} | |
static _toExpression(fa) { | |
const closure = new Array(); | |
let fsmEdges = new Array(); | |
let first, final = null; | |
first = fa; | |
let acc = first.fillClosure().filter((elem)=>elem.isAccepting()); | |
if (acc.length == 1) { | |
final = acc[0]; | |
} else if (acc.length > 1) { | |
fa = fa.clone(); | |
first = fa; | |
acc = fa.fillClosure().filter((elem)=>elem.isAccepting()); | |
final = new FA(acc[0].acceptSymbol); | |
for(let i = 0; i < acc.length; ++i){ | |
let a = acc[i]; | |
a.addEpsilon(final, false); | |
a.acceptSymbol = -1; | |
} | |
} | |
closure.length = 0; | |
first.fillClosure(closure); | |
let sb = ""; | |
var trnsgrp = new Map(); | |
for(let q = 0; q < closure.length; ++q){ | |
var cfa = closure[q]; | |
trnsgrp.clear(); | |
for (const trns of cfa.fillInputTransitionRangesGroupedByState(true, trnsgrp)){ | |
sb = ""; | |
if (trns[1].length == 1 && trns[1][0].min == trns[1][0].max) { | |
const range = trns[1][0]; | |
if (range.max == -1 || range.min == -1) { | |
var eedge = new _ExpEdge(); | |
eedge.exp = ""; | |
eedge.from = cfa; | |
eedge.to = trns[0]; | |
fsmEdges.push(eedge); | |
continue; | |
} | |
sb += FA._appendCharTo(String.fromCodePoint(range.min)); | |
} else { | |
sb += "["; | |
sb += FA._appendRangeTo(trns[1]); | |
sb += "]"; | |
} | |
var edge = new _ExpEdge(); | |
edge.exp = sb; | |
edge.from = cfa; | |
edge.to = trns[0]; | |
fsmEdges.push(edge); | |
} | |
} | |
let tmp = new FA(); | |
tmp.addEpsilon(first, false); | |
const q0 = first; | |
first = tmp; | |
tmp = new FA(final.acceptSymbol); | |
const qLast = final; | |
final.acceptSymbol = -1; | |
final.addEpsilon(tmp, false); | |
final = tmp; | |
let newEdge = new _ExpEdge(); | |
newEdge.exp = ""; | |
newEdge.from = first; | |
newEdge.to = q0; | |
fsmEdges.push(newEdge); | |
newEdge = new _ExpEdge(); | |
newEdge.exp = ""; | |
newEdge.from = qLast; | |
newEdge.to = final; | |
fsmEdges.push(newEdge); | |
closure.splice(0, 0, first); | |
closure.push(final); | |
let inEdges = new Array(); | |
inEdges.fill(null, 0, fsmEdges.length - 1); | |
let outEdges = new Array(); | |
outEdges.fill(null, 0, fsmEdges.length - 1); | |
while(closure.length > 2){ | |
var node = closure[1]; | |
var loops = new Array(); | |
inEdges.length = 0; | |
inEdges = FA._toExpressionFillEdgesIn(fsmEdges, node); | |
for(let i = 0; i < inEdges.length; ++i){ | |
var edge = inEdges[i]; | |
if (edge.from === edge.to) { | |
loops.push(edge.exp); | |
} | |
} | |
sb = FA._toExpressionKleeneStar(sb, FA._toExpressionOrJoin(loops), loops.length > 1); | |
const middle = sb; | |
for(let i = 0; i < inEdges.length; ++i){ | |
var inEdge = inEdges[i]; | |
if (inEdge.from == inEdge.to) { | |
continue; | |
} | |
outEdges.length = 0; | |
outEdges = FA._toExpressionFillEdgesOut(fsmEdges, node); | |
for(let j = 0; j < outEdges.length; ++j){ | |
var outEdge = outEdges[j]; | |
if (outEdge.from === outEdge.to) { | |
continue; | |
} | |
var expEdge = new _ExpEdge(); | |
expEdge.from = inEdge.from; | |
expEdge.to = outEdge.to; | |
sb = ""; | |
sb += inEdge.exp; | |
sb += middle; | |
sb += outEdge.exp; | |
expEdge.exp = sb; | |
fsmEdges.push(expEdge); | |
} | |
} | |
inEdges = FA._toExpressionFillEdgesOrphanState(fsmEdges, node); | |
fsmEdges.length = 0; | |
fsmEdges.push(...inEdges); | |
closure.splice(closure.indexOf(node), 1); | |
} | |
sb = ""; | |
if (fsmEdges.length == 1) { | |
return fsmEdges[0].exp; | |
} | |
if (fsmEdges.length > 1) { | |
sb += "("; | |
sb += fsmEdges[0].exp; | |
for(let i = 1; i < fsmEdges.length; ++i){ | |
sb += "|"; | |
sb += fsmEdges[i].exp; | |
} | |
sb += ")"; | |
} | |
return sb; | |
} | |
toString(format, options = null) { | |
if (format.toLowerCase() === "d") { | |
if (options != null && options.debugSourceNfa != null && options.debugShowNfa) { | |
return this._buildCompoundDot(this.fillClosure(), options); | |
} else { | |
return this._buildDot(this.fillClosure(), options, -1); | |
} | |
} else if (format.toLowerCase() == "e") { | |
return FA._toExpression(this); | |
} else { | |
if (this.id < 0) { | |
return "[FA]"; | |
} else { | |
return "q" + this.id.toString(); | |
} | |
} | |
} | |
setIds() { | |
let i = 0; | |
for (const fa of this.fillClosure()){ | |
fa.id = i; | |
++i; | |
} | |
} | |
static literal(codepoints, accept = 0, compact = true) { | |
if (typeof codepoints == "string") { | |
codepoints = this.toUtf32(codepoints); | |
} | |
const result = new FA(); | |
let current = result; | |
for (const cp of codepoints){ | |
current.acceptSymbol = -1; | |
const newFa = new FA(); | |
newFa.acceptSymbol = accept; | |
current.addTransition(new FARange(cp, cp), newFa, compact); | |
current = newFa; | |
} | |
return result; | |
} | |
static set(ranges, accept = 0, compact = true) { | |
const result = new FA(); | |
const final = new FA(); | |
final.acceptSymbol = accept; | |
for (const range of [ | |
...ranges | |
].sort((x, y)=>x.max - y.max)){ | |
result.addTransition(range, final, compact); | |
} | |
return result; | |
} | |
static concat(exprs, accept = 0, compact = true) { | |
let result = null; | |
let left = null; | |
let right = null; | |
for (const expr of exprs){ | |
let nval = expr.clone(); | |
if (null === left) { | |
if (null === result) { | |
result = nval; | |
} | |
left = nval; | |
continue; | |
} | |
if (null === right) { | |
right = nval; | |
} | |
nval = right.clone(); | |
FA._concat(left, nval, compact); | |
} | |
const target = null !== right ? right : result; | |
const acc = target.fillClosure().filter((value, index, array)=>value.isAccepting()); | |
for (const afa of acc){ | |
afa.acceptSymbol = accept; | |
} | |
return result; | |
} | |
static or(exprs, accept = 0, compact = true) { | |
const result = new FA(); | |
const final = new FA(); | |
final.acceptSymbol = accept; | |
for (const expr of exprs){ | |
const nfa = expr.clone(); | |
const nacc = nfa.fillClosure().filter((value, index, array)=>value.isAccepting()); | |
for (const afa of nacc){ | |
afa.acceptSymbol = -1; | |
afa.addEpsilon(final, compact); | |
} | |
result.addEpsilon(nfa, compact); | |
} | |
return result; | |
} | |
static optional(expr, accept = 0, compact = true) { | |
const result = expr.clone(); | |
const acc = result.fillClosure().filter((value, index, array)=>value.isAccepting()); | |
for (const afa of acc){ | |
afa.acceptSymbol = accept; | |
result.addEpsilon(afa, compact); | |
} | |
return result; | |
} | |
static repeat(expr, minOccurs = -1, maxOccurs = -1, accept = 0, compact = true) { | |
expr = expr.clone(); | |
if (minOccurs > 0 && maxOccurs > 0 && minOccurs > maxOccurs) { | |
throw Error("Minimum is greater than maximum"); | |
} | |
let result; | |
switch(minOccurs){ | |
case -1: | |
case 0: | |
switch(maxOccurs){ | |
case -1: | |
case 0: | |
result = new FA(); | |
result.acceptSymbol = accept; | |
result.addEpsilon(expr, compact); | |
for (const afa of expr.fillClosure()){ | |
if (afa.isAccepting()) { | |
afa.acceptSymbol = -1; | |
afa.addEpsilon(result, compact); | |
} | |
} | |
return result; | |
case 1: | |
result = this.optional(expr, accept, compact); | |
return result; | |
default: | |
const l = []; | |
expr = this.optional(expr, accept, compact); | |
l.push(expr); | |
for(let i = 1; i < maxOccurs; ++i){ | |
l.push(expr.clone()); | |
} | |
result = this.concat(l, accept, compact); | |
return result; | |
} | |
case 1: | |
switch(maxOccurs){ | |
case -1: | |
case 0: | |
result = this.concat([ | |
expr, | |
FA.repeat(expr, 0, 0, accept, compact) | |
], accept, compact); | |
return result; | |
case 1: | |
return expr; | |
default: | |
result = this.concat([ | |
expr, | |
FA.repeat(expr, 0, maxOccurs - 1, accept, compact) | |
], accept, compact); | |
return result; | |
} | |
default: | |
switch(maxOccurs){ | |
case -1: | |
case 0: | |
result = this.concat([ | |
FA.repeat(expr, minOccurs, minOccurs, accept, compact), | |
FA.repeat(expr, 0, 0, accept, compact) | |
], accept, compact); | |
return result; | |
case 1: | |
throw new Error("Should never get here"); | |
default: | |
if (minOccurs == maxOccurs) { | |
const l = []; | |
expr = this.optional(expr, accept, compact); | |
l.push(expr); | |
for(let i = 1; i < maxOccurs; ++i){ | |
l.push(expr.clone()); | |
} | |
result = this.concat(l, accept, compact); | |
return result; | |
} | |
result = this.concat([ | |
this.repeat(expr, minOccurs, minOccurs, accept, compact), | |
FA.repeat(FA.optional(expr, accept, compact), maxOccurs - minOccurs, maxOccurs - minOccurs, accept, compact) | |
], accept, compact); | |
return result; | |
} | |
} | |
} | |
run(value, blockEnds = null) { | |
const result = new FAStringStateRunner(this, blockEnds); | |
result.set(value); | |
return result; | |
} | |
static runDfa(value, dfa, blockEnds = null) { | |
const result = new FAStringDfaTableRunner(dfa, blockEnds); | |
result.set(value); | |
return result; | |
} | |
isNeutral() { | |
return !this.isAccepting && this.transitions.length == 1 && this.transitions[0].isEpsilon(); | |
} | |
isFinal() { | |
return this.transitions.length == 0; | |
} | |
isTrap() { | |
if (this.isAccepting()) { | |
return false; | |
} | |
for (const ffa of this.fillClosure()){ | |
if (ffa.isAccepting()) { | |
return false; | |
} | |
} | |
return true; | |
} | |
fillInputTransitionRangesGroupedByState(includeEpsilonTransitions = false, result = null) { | |
if (result === null) { | |
result = new Map(); | |
} | |
for (const fat of this.transitions){ | |
if (includeEpsilonTransitions || !fat.isEpsilon()) { | |
const res = result.get(fat.to); | |
if (res === undefined) { | |
const ndata = [ | |
new FARange(fat.min, fat.max) | |
]; | |
result.set(fat.to, ndata); | |
} else { | |
res.push(new FARange(fat.min, fat.max)); | |
} | |
} | |
} | |
for (const values of result.values()){ | |
values.sort((x, y)=>{ | |
var c = x.min - y.min; | |
if (0 != c) return c; | |
return x.max - y.max; | |
}); | |
} | |
return result; | |
} | |
toArray() { | |
const fa = this; | |
const result = []; | |
const closure = fa.fillClosure(); | |
const stateIndices = []; | |
for(let i = 0; i < closure.length; ++i){ | |
const cfa = closure[i]; | |
stateIndices.push(result.length); | |
result.push(cfa.isAccepting() ? cfa.acceptSymbol : -1); | |
const itrgp = cfa.fillInputTransitionRangesGroupedByState(); | |
result.push(itrgp.size); | |
for (const itr of itrgp.entries()){ | |
result.push(closure.indexOf(itr[0])); | |
result.push(itr[1].length); | |
result.push(...FARange.toPacked(itr[1])); | |
} | |
} | |
let state = 0; | |
while(state < result.length){ | |
++state; | |
const tlen = result[state++]; | |
for(let i = 0; i < tlen; ++i){ | |
result[state] = stateIndices[result[state]]; | |
++state; | |
const prlen = result[state++]; | |
state += prlen * 2; | |
} | |
} | |
return result; | |
} | |
static fromArray(fa) { | |
if (fa.length == 0) { | |
return new FA(); | |
} | |
let si = 0; | |
const states = new Map(); | |
while(si < fa.length){ | |
const newFa = new FA(); | |
states.set(si, newFa); | |
newFa.acceptSymbol = fa[si++]; | |
const tlen = fa[si++]; | |
for(let i = 0; i < tlen; ++i){ | |
++si; | |
const prlen = fa[si++]; | |
si += prlen * 2; | |
} | |
} | |
si = 0; | |
while(si < fa.length){ | |
var state = states.get(si); | |
++si; | |
const tlen = fa[si++]; | |
for(let i = 0; i < tlen; ++i){ | |
const tto = fa[si++]; | |
const to = states.get(tto); | |
const prlen = fa[si++]; | |
for(let j = 0; j < prlen; ++j){ | |
state.addTransition(new FARange(fa[si++], fa[si++]), to); | |
} | |
} | |
} | |
return states.get(0); | |
} | |
move(codepoint) { | |
if (!this.isDeterministic) { | |
throw "The state machine must be deterministic"; | |
} | |
for(let i = 0; i < this.transitions.length; ++i){ | |
const fat = this.transitions[i]; | |
if (codepoint < fat.min) { | |
return null; | |
} | |
if (codepoint <= fat.max) { | |
return fat.to; | |
} | |
} | |
return null; | |
} | |
static fillMove(states, codepoint, result = []) { | |
for (const ffa of states){ | |
for (const fat of ffa.transitions){ | |
if (!fat.isEpsilon() && codepoint >= fat.min && codepoint <= fat.max) { | |
fat.to.fillEpsilonClosure(result); | |
} | |
} | |
} | |
return result; | |
} | |
static getFirstAcceptSymbol(states) { | |
for (const fa of states){ | |
if (fa.isAccepting()) { | |
return fa.acceptSymbol; | |
} | |
} | |
return -1; | |
} | |
static _concat(lhs, rhs, compact) { | |
const acc = lhs.fillClosure().filter((value, index, array)=>value.isAccepting()); | |
for (const afa of acc){ | |
afa.acceptSymbol = -1; | |
afa.addEpsilon(rhs, compact); | |
} | |
} | |
static *toUtf32(str) { | |
for (const character of str){ | |
let cp = character.codePointAt(0); | |
if (cp >= 0xD800 && cp <= 0xDBFF) { | |
const cpl = character.codePointAt(1); | |
if (!(cpl >= 0xDC00 && cpl <= 0xDFFF)) { | |
throw new Error("Unicode stream error. Unterminated high surrogate"); | |
} | |
const highValue = cp & 0b11_11111111; | |
const lowValue = cpl & 0b11_11111111; | |
const magicAdd = 0b1_00000000_00000000; | |
cp = highValue << 10 | lowValue + magicAdd; | |
} | |
yield cp; | |
} | |
} | |
static *_invertRanges(ranges) { | |
if (ranges == null) { | |
return; | |
} | |
let last = 0x10ffff; | |
let e = ranges[Symbol.iterator](); | |
let cur = e.next(); | |
if (cur.done) { | |
yield new FARange(0, 0x10ffff); | |
return; | |
} | |
if (cur.value.min > 0) { | |
yield new FARange(0, cur.value.min - 1); | |
last = cur.value.max; | |
if (0x10ffff <= last) return; | |
} else if (cur.value.min == 0) { | |
last = cur.value.max; | |
if (0x10ffff <= last) return; | |
} | |
cur = e.next(); | |
while(!cur.done){ | |
if (0x10ffff <= last) return; | |
if (last + 1 < cur.value.min) { | |
yield new FARange(last + 1, cur.value.min - 1); | |
} | |
last = cur.value.max; | |
cur = e.next(); | |
} | |
if (0x10ffff > last) { | |
yield new FARange(last + 1, 0x10ffff); | |
} | |
} | |
static _appendRangeTo(ranges, index = -1) { | |
let result = ""; | |
if (index === -1) { | |
for(let i = 0; i < ranges.length; ++i){ | |
result += FA._appendRangeTo(ranges, i); | |
} | |
return result; | |
} | |
var first = ranges[index].min; | |
var last = ranges[index].max; | |
result += FA._appendRangeCharTo(String.fromCodePoint(first)); | |
if (last === first) return result; | |
if (last === first + 1) { | |
result += FA._appendRangeCharTo(String.fromCodePoint(last)); | |
return result; | |
} else if (last === first + 2) { | |
result += FA._appendRangeCharTo(String.fromCodePoint(first + 1)); | |
result += FA._appendRangeCharTo(String.fromCodePoint(last)); | |
return result; | |
} | |
result += "-"; | |
result += FA._appendRangeCharTo(String.fromCodePoint(last)); | |
return result; | |
} | |
static _appendCharTo(ch) { | |
let result = ""; | |
switch(ch){ | |
case '.': | |
case '[': | |
case ']': | |
case '^': | |
case '-': | |
case '+': | |
case '?': | |
case '(': | |
case ')': | |
case '\\': | |
result += '\\'; | |
result += ch; | |
break; | |
case '\t': | |
result += "\\t"; | |
break; | |
case '\n': | |
result += "\\n"; | |
break; | |
case '\r': | |
result += "\\r"; | |
break; | |
case '\0': | |
result += "\\0"; | |
break; | |
case '\f': | |
result += "\\f"; | |
break; | |
case '\v': | |
result += "\\v"; | |
break; | |
case '\b': | |
result += "\\b"; | |
break; | |
default: | |
const s = ch; | |
const isletter = s.toLowerCase() != s.toUpperCase(); | |
const isdigit = !isletter && s >= '0' && s <= '9'; | |
const issym = !isletter && !isdigit && ",._-<>/\\=+~`!@#$%^&*(){}[]\"\';:?".indexOf(s) > -1; | |
if (!isletter && !isdigit && !issym) { | |
if (s.length == 1) { | |
result += "\\u"; | |
const d = s.codePointAt(0); | |
result += ("0000" + (+d).toString(16)).slice(-4); | |
} else { | |
result += "\\U"; | |
const d = s.codePointAt(0); | |
result += ("00000000" + (+d).toString(16)).slice(-8); | |
} | |
} else { | |
result += s; | |
} | |
break; | |
} | |
return result; | |
} | |
static _appendRangeCharTo(ch) { | |
let result = ""; | |
switch(ch){ | |
case '.': | |
case '[': | |
case ']': | |
case '^': | |
case '-': | |
case '(': | |
case ')': | |
case '{': | |
case '}': | |
case '\\': | |
result += '\\'; | |
result += ch; | |
break; | |
case '\t': | |
result += "\\t"; | |
break; | |
case '\n': | |
result += "\\n"; | |
break; | |
case '\r': | |
result += "\\r"; | |
break; | |
case '\0': | |
result += "\\0"; | |
break; | |
case '\f': | |
result += "\\f"; | |
break; | |
case '\v': | |
result += "\\v"; | |
break; | |
case '\b': | |
result += "\\b"; | |
break; | |
default: | |
const s = ch; | |
const isletter = s.toLowerCase() != s.toUpperCase(); | |
const isdigit = !isletter && s >= '0' && s <= '9'; | |
const issym = !isletter && !isdigit && ",._-<>/\\=+~`!@#$%^&*(){}[]\"\';:?".indexOf(s) > -1; | |
if (!isletter && !isdigit && !issym) { | |
if (s.length == 1) { | |
result += "\\u"; | |
const d = s.codePointAt(0); | |
result += ("0000" + (+d).toString(16)).slice(-4); | |
} else { | |
result += "\\U"; | |
const d = s.codePointAt(0); | |
result += ("00000000" + (+d).toString(16)).slice(-8); | |
} | |
} else result += s; | |
break; | |
} | |
return result; | |
} | |
static _escapeLabel(label) { | |
if (label === null || label.length == 0) return label; | |
let result = label.replace("\\", "\\\\"); | |
result = result.replace("\"", "\\\""); | |
result = result.replace("\n", "\\n"); | |
result = result.replace("\r", "\\r"); | |
result = result.replace("\0", "\\0"); | |
result = result.replace("\v", "\\v"); | |
result = result.replace("\t", "\\t"); | |
result = result.replace("\f", "\\f"); | |
return result; | |
} | |
_buildDot(closure, options, clusterIndex) { | |
let result = ""; | |
if (options === null) { | |
options = new FADotGraphOptions(); | |
} | |
const hasBlockEnds = options.debugShowNfa === false && options.debugString === null && options.blockEnds !== null; | |
const spfx = options.statePrefix === null ? "q" : options.statePrefix; | |
let pfx = ""; | |
if (clusterIndex !== -1) { | |
result += "subgraph cluster_" + clusterIndex.toString(10) + " {\n"; | |
pfx = "c" + clusterIndex.toString(10); | |
} else { | |
result += "digraph FA {\n"; | |
} | |
if (!options.vertical) { | |
result += "rankdir=LR\n"; | |
} | |
result += "node [shape=circle]\n"; | |
let accepting = []; | |
let finals = []; | |
let neutrals = []; | |
for(let i = 0; i < closure.length; ++i){ | |
let ffa = closure[i]; | |
if (ffa.isAccepting()) { | |
accepting.push(ffa); | |
} else if (ffa.isNeutral()) { | |
neutrals.push(ffa); | |
} else if (ffa.isFinal()) { | |
finals.push(ffa); | |
} | |
} | |
let fromStates = null; | |
let toStates = null; | |
let tchar = -1; | |
if (options.debugString != null) { | |
for (let ch of FA.toUtf32(options.debugString)){ | |
if (fromStates === null) { | |
fromStates = []; | |
closure[0].fillEpsilonClosure(fromStates); | |
} else { | |
fromStates = toStates; | |
} | |
tchar = ch; | |
toStates = FA.fillMove(fromStates, ch); | |
if (0 == toStates.length) { | |
break; | |
} | |
} | |
} | |
if (fromStates == null) { | |
fromStates = []; | |
closure[0].fillEpsilonClosure(fromStates); | |
} | |
if (toStates != null) { | |
toStates = FA.fillEpsilonClosureStates(toStates); | |
} | |
let i = 0; | |
for (const ffa of closure){ | |
const isfrom = fromStates !== null && FA.fillEpsilonClosureStates(fromStates).includes(ffa); | |
const rngGrps = ffa.fillInputTransitionRangesGroupedByState(); | |
for (const rngGrp of rngGrps){ | |
const istrns = isfrom && toStates !== null && options.debugString !== null && toStates.includes(rngGrp[0]); | |
const di = closure.indexOf(rngGrp[0]); | |
result += pfx + spfx; | |
result += i.toString(10); | |
result += "->"; | |
result += pfx + spfx; | |
result += di.toString(10); | |
result += " [label=\""; | |
let sb; | |
let notRanges = Array.from(FA._invertRanges(rngGrp[1])); | |
if (notRanges.length > rngGrp[1].length) { | |
sb = FA._appendRangeTo(rngGrp[1]); | |
} else { | |
result += "^"; | |
sb = FA._appendRangeTo(notRanges); | |
} | |
if (sb.length != 1 || sb === " ") { | |
result += '['; | |
if (sb.length > 16) { | |
sb = sb.substring(0, 16); | |
sb += "..."; | |
} | |
result += FA._escapeLabel(sb); | |
result += "]"; | |
} else { | |
result += FA._escapeLabel(sb); | |
} | |
if (!istrns) { | |
result += "\"]\n"; | |
} else { | |
result += "\",color=green]\n"; | |
} | |
} | |
for (const fat of ffa.transitions){ | |
if (fat.isEpsilon()) { | |
var istrns = null != toStates && options.debugString != null && toStates.includes(ffa) && toStates.includes(fat.to); | |
result += pfx + spfx; | |
result += i.toString(10); | |
result += "->"; | |
result += pfx + spfx; | |
result += closure.indexOf(fat.to).toString(10); | |
if (!istrns) { | |
result += " [style=dashed,color=gray]\n"; | |
} else { | |
result += " [style=dashed,color=green]\n"; | |
} | |
} | |
} | |
if (hasBlockEnds && ffa.isAccepting && options.blockEnds?.length > ffa.acceptSymbol && options.blockEnds[ffa.acceptSymbol] !== null) { | |
result += pfx + spfx + i.toString(10) + "->"; | |
result += pfx + "blockEnd" + ffa.acceptSymbol.toString(10) + spfx + "0"; | |
result += " [style=dashed,label=\".*?\"]\n"; | |
} | |
++i; | |
} | |
let delim; | |
if (hasBlockEnds) { | |
for(i = 0; i < options.blockEnds?.length; ++i){ | |
const bfa = options.blockEnds[i]; | |
if (bfa !== null) { | |
const bclose = bfa.fillClosure(); | |
delim = ""; | |
for(let qi = 0; qi < bclose.length; ++qi){ | |
const cbfa = bclose[qi]; | |
const rngGrps = cbfa.fillInputTransitionRangesGroupedByState(); | |
for (const rngGrp of rngGrps){ | |
const di = bclose.indexOf(rngGrp[0]); | |
result += pfx + "blockEnd" + i.toString(10) + spfx + qi.toString(10); | |
result += "->"; | |
result += pfx + "blockEnd" + i.toString(10) + spfx + di.toString(10); | |
result += " [label=\""; | |
let sb = FA._appendRangeTo(rngGrp[1]); | |
if (sb.length != 1 || sb === " ") { | |
result += "["; | |
if (sb.length > 16) { | |
sb = sb.substring(0, 16); | |
sb += "..."; | |
} | |
result += FA._escapeLabel(sb); | |
result += "]"; | |
} else { | |
result += FA._escapeLabel(sb); | |
} | |
result += "\"]\n"; | |
} | |
for (const fat of cbfa.transitions){ | |
if (fat.isEpsilon()) { | |
result += "pfx" + "blockEnd" + i.toString(10) + spfx + qi.toString(10); | |
result += "->"; | |
const di = bclose.indexOf(fat.to); | |
result += "pfx" + "blockEnd" + i.toString(10) + spfx + di.toString(10); | |
result += " [style=dashed,color=gray]\n"; | |
} | |
} | |
} | |
for(let qi = 0; qi < bclose.length; ++qi){ | |
const cbfa = bclose[qi]; | |
result += pfx + "blockEnd" + i.toString(10) + spfx + qi.toString(10) + " [label=<"; | |
result += "<TABLE BORDER=\"0\"><TR><TD>"; | |
result += "(be)" + spfx; | |
result += "<SUB>"; | |
result += qi.toString(10); | |
result += "</SUB></TD></TR>"; | |
if (cbfa.isAccepting() && !options.hideAcceptSymbolIds) { | |
result += "<TD><TD>"; | |
let acc = null; | |
if (options.acceptSymbolNames != null && options.acceptSymbolNames.length > i) { | |
acc = options.acceptSymbolNames[i]; | |
} | |
if (acc === null) { | |
acc = i.toString(10); | |
} | |
result += acc.replace("\"", """); | |
result += "</TD></TR>"; | |
} | |
result += "</TABLE>"; | |
result += ">"; | |
if (cbfa.isAccepting()) { | |
result += ",shape=doublecircle"; | |
} else if (cbfa.isFinal() || cbfa.isNeutral()) { | |
result += ",color=gray"; | |
} | |
result += "]"; | |
} | |
} | |
} | |
} | |
delim = ""; | |
i = 0; | |
for (const ffa of closure){ | |
result += pfx + spfx; | |
result += i.toString(10); | |
result += " ["; | |
if (options.debugString !== null) { | |
if (toStates !== null) { | |
const epstates = FA.fillEpsilonClosureStates(toStates, null); | |
if (epstates.includes(ffa)) { | |
if (!toStates.includes(ffa)) { | |
result += "color=darkgreen,"; | |
} else { | |
result += "color=greeen,"; | |
} | |
} | |
} | |
} | |
result += "label=<"; | |
result += "<TABLE BORDER=\"0\"><TR><TD>"; | |
result += spfx; | |
result += "<SUB>"; | |
result += i.toString(10); | |
result += "</SUB></TD></TR>"; | |
if (options.debugSourceNfa !== null) { | |
const from = ffa.fromStates; | |
let brk = Math.floor(Math.sqrt(from.length)); | |
if (from.length <= 3) brk = 3; | |
for(let j = 0; j < from.length; ++j){ | |
if (j === 0) { | |
result += "<TR><TD>"; | |
result += "{ "; | |
delim = ""; | |
} else if (j % brk == 0) { | |
delim = ""; | |
result += "</TD></TR><TR><TD>"; | |
} | |
const fromFa = from[j]; | |
result += delim; | |
result += "q<SUB>"; | |
result += options.debugSourceNfa.fillClosure().indexOf(fromFa).toString(10); | |
result += "</SUB>"; | |
delim = " "; | |
if (j === from.length - 1) { | |
result += " }"; | |
result += "</TD></TR>"; | |
} | |
} | |
} | |
if (ffa.isAccepting() && !options.hideAcceptSymbolIds && !(hasBlockEnds && options.blockEnds?.length > ffa.acceptSymbol && options.blockEnds[ffa.acceptSymbol] !== null)) { | |
result += "<TR><TD>"; | |
let acc = null; | |
if (options.acceptSymbolNames !== null && options.acceptSymbolNames.length > ffa.acceptSymbol) { | |
acc = options.acceptSymbolNames[ffa.acceptSymbol]; | |
} | |
if (acc === null) { | |
acc = ffa.acceptSymbol.toString(10); | |
} | |
result += acc.replace("\"", """); | |
result += "</TD></TR>"; | |
} | |
result += "</TABLE>"; | |
result += ">"; | |
let isFinal = false; | |
if (accepting.includes(ffa) && (!hasBlockEnds || options.blockEnds?.length <= ffa.acceptSymbol || options.blockEnds[ffa.acceptSymbol] === null)) { | |
result += ",shape=doublecircle"; | |
} else if (isFinal || neutrals.includes(ffa)) { | |
if ((fromStates === null || !fromStates.includes(ffa)) && toStates === null || !toStates.includes(ffa)) { | |
result += ",color=gray"; | |
} | |
} | |
result += "]\n"; | |
++i; | |
} | |
delim = ""; | |
if (accepting.length > 0) { | |
for (const ntfa of accepting){ | |
if (!hasBlockEnds || options.blockEnds?.length <= ntfa.acceptSymbol || options.blockEnds[ntfa.acceptSymbol] === null) { | |
result += delim; | |
result += pfx + spfx; | |
result += closure.indexOf(ntfa).toString(10); | |
delim = ","; | |
} | |
} | |
if (delim != "") { | |
result += " [shape=doublecircle]\n"; | |
} | |
} | |
delim = ""; | |
if (neutrals.length > 0) { | |
for (const ntfa of neutrals){ | |
if ((fromStates === null || !fromStates.includes(ntfa)) && (toStates == null || !toStates.includes(ntfa))) { | |
result += delim; | |
result += pfx + spfx; | |
result += closure.indexOf(ntfa).toString(10); | |
delim = ","; | |
} | |
} | |
result += " [color=gray]\n"; | |
delim = ""; | |
} | |
delim = ""; | |
if (finals.length > 0) { | |
for (const ntfa of finals){ | |
result += delim; | |
result += pfx + spfx; | |
result += closure.indexOf(ntfa).toString(10); | |
delim = ","; | |
} | |
result += " [shape=circle,color=gray]\n"; | |
} | |
result += "}\n"; | |
return result; | |
} | |
_buildCompoundDot(closure, options) { | |
let result = "digraph FA {\n"; | |
let vert = true; | |
if (!options.vertical) { | |
result += "rank=LR\n"; | |
} | |
result += "node [shape=circle]\n"; | |
const opt2 = new FADotGraphOptions(); | |
opt2.debugSourceNfa = null; | |
opt2.statePrefix = options.statePrefix; | |
opt2.debugString = options.debugString; | |
opt2.debugShowNfa = false; | |
opt2.dpi = options.dpi; | |
opt2.acceptSymbolNames = options.acceptSymbolNames; | |
opt2.hideAcceptSymbolIds = options.hideAcceptSymbolIds; | |
opt2.blockEnds = options.blockEnds; | |
if (!vert) { | |
result += this._buildDot(closure, options, 2); | |
result += this._buildDot(options.debugSourceNfa.fillClosure(), opt2, 1); | |
} else { | |
result += this._buildDot(options.debugSourceNfa.fillClosure(), opt2, 2); | |
result += this._buildDot(closure, options, 1); | |
} | |
result += "}\n"; | |
return result; | |
} | |
static _normalizeSortedRangeList(pairs) { | |
for(let i = 1; i < pairs.length; ++i){ | |
if (pairs[i - 1].max + 1 >= pairs[i].min) { | |
const nr = new FARange(pairs[i - 1].min, pairs[i].max); | |
pairs[i - 1] = nr; | |
pairs.splice(i, 1); | |
--i; | |
} | |
} | |
} | |
static _fromHexChar(hex) { | |
if (':'.codePointAt(0) > hex && '/'.codePointAt(0) < hex) return hex - '0'.codePointAt(0); | |
if ('G'.codePointAt(0) > hex && '@'.codePointAt(0) < hex) return hex - '7'.codePointAt(0); | |
if ('g'.codePointAt(0) > hex && '`'.codePointAt(0) < hex) return hex - 'W'.codePointAt(0); | |
throw "The value was not hex."; | |
} | |
static _isHexChar(hex) { | |
if (':'.charCodeAt(0) > hex && '/'.codePointAt(0) < hex) return true; | |
if ('G'.codePointAt(0) > hex && '@'.codePointAt(0) < hex) return true; | |
if ('g'.codePointAt(0) > hex && '`'.codePointAt(0) < hex) return true; | |
return false; | |
} | |
static _parseModifier(expr, pc, accept, compact) { | |
var position = pc.position; | |
switch(pc.codepoint){ | |
case '*'.codePointAt(0): | |
expr = FA.repeat(expr, 0, 0, accept, compact); | |
pc.advance(); | |
break; | |
case '+'.codePointAt(0): | |
expr = FA.repeat(expr, 1, 0, accept, compact); | |
pc.advance(); | |
break; | |
case '?'.codePointAt(0): | |
expr = FA.optional(expr, accept, compact); | |
pc.advance(); | |
break; | |
case '{'.codePointAt(0): | |
pc.advance(); | |
pc.trySkipWhiteSpace(); | |
pc.expecting('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ',', '}'); | |
var min = -1; | |
var max = -1; | |
if (','.codePointAt(0) != pc.codepoint && '}'.codePointAt(0) != pc.codepoint) { | |
var l = pc.capture_buffer.length; | |
if (!pc.tryReadDigits()) { | |
pc.expecting('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'); | |
} | |
min = Number.parseFloat(pc.capture_buffer.substring(l)); | |
pc.trySkipWhiteSpace(); | |
} | |
if (','.codePointAt(0) == pc.codepoint) { | |
pc.advance(); | |
pc.trySkipWhiteSpace(); | |
pc.expecting('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '}'); | |
if ('}'.charCodeAt(0) != pc.codepoint) { | |
var l = pc.capture_buffer.length; | |
pc.tryReadDigits(); | |
max = Number.parseFloat(pc.capture_buffer.substring(l)); | |
pc.trySkipWhiteSpace(); | |
} | |
} else { | |
max = min; | |
} | |
pc.expecting('}'); | |
pc.advance(); | |
expr = FA.repeat(expr, min, max, accept, compact); | |
break; | |
} | |
return expr; | |
} | |
static _parseEscapePart(pc) { | |
if (-1 == pc.codepoint) return -1; | |
switch(String.fromCodePoint(pc.codepoint)){ | |
case 'f': | |
pc.advance(); | |
return '\f'.codePointAt(0); | |
case 'v': | |
pc.advance(); | |
return '\v'.codePointAt(0); | |
case 't': | |
pc.advance(); | |
return '\t'.codePointAt(0); | |
case 'n': | |
pc.advance(); | |
return '\n'.codePointAt(0); | |
case 'r': | |
pc.advance(); | |
return '\r'.codePointAt(0); | |
case 'x': | |
if (-1 == pc.advance() || !FA._isHexChar(pc.codepoint)) return 'x'.codePointAt(0); | |
let b = FA._fromHexChar(pc.codepoint); | |
if (-1 == pc.advance() || !FA._isHexChar(pc.codepoint)) return b; | |
b <<= 4; | |
b |= FA._fromHexChar(pc.codepoint); | |
if (-1 == pc.advance() || !FA._isHexChar(pc.codepoint)) return b; | |
b <<= 4; | |
b |= FA._fromHexChar(pc.codepoint); | |
if (-1 == pc.advance() || !FA._isHexChar(pc.codepoint)) return b; | |
b <<= 4; | |
b |= FA._fromHexChar(pc.codepoint); | |
return b; | |
case 'u': | |
if (-1 == pc.advance()) return 'u'.codePointAt(0); | |
let u = FA._fromHexChar(pc.codepoint); | |
u <<= 4; | |
if (-1 == pc.advance()) return u; | |
u |= FA._fromHexChar(pc.codepoint); | |
u <<= 4; | |
if (-1 == pc.advance()) return u; | |
u |= FA._fromHexChar(pc.codepoint); | |
u <<= 4; | |
if (-1 == pc.advance()) return u; | |
u |= FA._fromHexChar(pc.codepoint); | |
return u; | |
default: | |
const i = pc.codepoint; | |
pc.advance(); | |
return i; | |
} | |
} | |
static _parseRangeEscapePart(pc) { | |
if (-1 == pc.codepoint) return -1; | |
switch(String.fromCodePoint(pc.codepoint)){ | |
case '0': | |
pc.advance(); | |
return '\0'.codePointAt(0); | |
case 'f': | |
pc.advance(); | |
return '\f'.codePointAt(0); | |
case 'v': | |
pc.advance(); | |
return '\v'.codePointAt(0); | |
case 't': | |
pc.advance(); | |
return '\t'.codePointAt(0); | |
case 'n': | |
pc.advance(); | |
return '\n'.codePointAt(0); | |
case 'r': | |
pc.advance(); | |
return '\r'.codePointAt(0); | |
case 'x': | |
if (-1 == pc.advance() || !FA._isHexChar(pc.codepoint)) return 'x'.codePointAt(0); | |
let b = FA._fromHexChar(pc.codepoint); | |
if (-1 == pc.advance() || !FA._isHexChar(pc.codepoint)) return b; | |
b <<= 4; | |
b |= FA._fromHexChar(pc.codepoint); | |
if (-1 == pc.advance() || !FA._isHexChar(pc.codepoint)) return b; | |
b <<= 4; | |
b |= FA._fromHexChar(pc.codepoint); | |
if (-1 == pc.advance() || !FA._isHexChar(pc.codepoint)) return b; | |
b <<= 4; | |
b |= FA._fromHexChar(pc.codepoint); | |
return b; | |
case 'u': | |
if (-1 == pc.advance()) return 'u'.codePointAt(0); | |
let u = FA._fromHexChar(pc.codepoint); | |
u <<= 4; | |
if (-1 == pc.advance()) return u; | |
u |= FA._fromHexChar(pc.codepoint); | |
u <<= 4; | |
if (-1 == pc.advance()) return u; | |
u |= FA._fromHexChar(pc.codepoint); | |
u <<= 4; | |
if (-1 == pc.advance()) return u; | |
u |= FA._fromHexChar(pc.codepoint); | |
return u; | |
default: | |
const i = pc.codepoint; | |
pc.advance(); | |
return i; | |
} | |
} | |
static _parseSet(pc) { | |
const result = new Array(); | |
pc.ensureStarted(); | |
pc.expecting('['); | |
pc.advance(); | |
pc.expecting(); | |
let firstRead = true; | |
let firstChar = 0; | |
let readFirstChar = false; | |
let wantRange = false; | |
var isNot = false; | |
if ('^' == String.fromCodePoint(pc.codepoint)) { | |
isNot = true; | |
pc.advance(); | |
pc.expecting(); | |
} | |
while(-1 != pc.codepoint && (firstRead || ']' != String.fromCodePoint(pc.codepoint))){ | |
if (!wantRange) { | |
if ('[' == String.fromCodePoint(pc.codepoint)) { | |
const epos = pc.position; | |
pc.advance(); | |
pc.expecting(); | |
if (':' != String.fromCodePoint(pc.codepoint)) { | |
firstChar = '['.codePointAt(0); | |
readFirstChar = true; | |
} else { | |
firstRead = false; | |
pc.advance(); | |
pc.expecting(); | |
var ll = pc.capture_buffer.length; | |
if (!pc.tryReadUntil(':'.codePointAt(0), false)) throw "Expecting character class at " + pc.position; | |
pc.expecting(':'); | |
pc.advance(); | |
pc.expecting(']'); | |
pc.advance(); | |
var cls = pc.capture_buffer.substring(ll); | |
let ranges = null; | |
if (!FACharacterClasses.known().has(cls)) throw "Unknown character class \"" + cls + "\" specified at " + epos; | |
ranges = FACharacterClasses.known().get(cls); | |
if (ranges != null) { | |
result.push(...FARange.toUnpacked(ranges)); | |
} | |
readFirstChar = false; | |
wantRange = false; | |
firstRead = false; | |
continue; | |
} | |
} | |
if (!readFirstChar) { | |
if ('\\' == String.fromCodePoint(pc.codepoint)) { | |
pc.advance(); | |
firstChar = FA._parseRangeEscapePart(pc); | |
} else { | |
firstChar = pc.codepoint; | |
pc.advance(); | |
pc.expecting(); | |
} | |
readFirstChar = true; | |
} else { | |
if ('-' == String.fromCodePoint(pc.codepoint)) { | |
pc.advance(); | |
pc.expecting(); | |
wantRange = true; | |
} else { | |
result.push(new FARange(firstChar, firstChar)); | |
readFirstChar = false; | |
} | |
} | |
firstRead = false; | |
} else { | |
if ('\\' != String.fromCodePoint(pc.codepoint)) { | |
const ch = pc.codepoint; | |
pc.advance(); | |
pc.expecting(); | |
result.push(new FARange(firstChar, ch)); | |
} else { | |
var min = firstChar; | |
pc.advance(); | |
result.push(new FARange(min, FA._parseRangeEscapePart(pc))); | |
} | |
wantRange = false; | |
readFirstChar = false; | |
} | |
} | |
if (readFirstChar) { | |
result.push(new FARange(firstChar, firstChar)); | |
if (wantRange) { | |
result.push(new FARange('-'.codePointAt(0), '-'.codePointAt(0))); | |
} | |
} | |
pc.expecting(']'); | |
pc.advance(); | |
return [ | |
isNot, | |
result | |
]; | |
} | |
static _parse(pc, accept = 0, compact = true) { | |
let result = null; | |
let next = null; | |
let ich; | |
pc.ensureStarted(); | |
while(pc.codepoint !== -1){ | |
switch(pc.codepoint){ | |
case -1: | |
if (result == null) { | |
result = new FA(accept); | |
} | |
return result; | |
case '.'.codePointAt(0): | |
const dot = FA.set([ | |
new FARange(0, 0x10ffff) | |
], accept, compact); | |
if (null == result) result = dot; | |
else { | |
result = FA.concat([ | |
result, | |
dot | |
], accept, compact); | |
} | |
pc.advance(); | |
result = FA._parseModifier(result, pc, accept, compact); | |
break; | |
case '\\'.codePointAt(0): | |
pc.advance(); | |
pc.expecting(); | |
var isNot = false; | |
switch(pc.codepoint){ | |
case 'P'.codePointAt(0): | |
isNot = true; | |
case 'p'.codePointAt(0): | |
pc.advance(); | |
pc.expecting('{'); | |
let uc = ""; | |
while(-1 != pc.advance() && '}' != String.fromCodePoint(pc.codepoint))uc += String.fromCodePoint(pc.codepoint); | |
pc.expecting('}'); | |
pc.advance(); | |
let uci = 0; | |
switch(uc){ | |
case "Pe": | |
uci = 21; | |
break; | |
case "Pc": | |
uci = 19; | |
break; | |
case "Cc": | |
uci = 14; | |
break; | |
case "Sc": | |
uci = 26; | |
break; | |
case "Pd": | |
uci = 19; | |
break; | |
case "Nd": | |
uci = 8; | |
break; | |
case "Me": | |
uci = 7; | |
break; | |
case "Pf": | |
uci = 23; | |
break; | |
case "Cf": | |
uci = 15; | |
break; | |
case "Pi": | |
uci = 22; | |
break; | |
case "Nl": | |
uci = 9; | |
break; | |
case "Zl": | |
uci = 12; | |
break; | |
case "Ll": | |
uci = 1; | |
break; | |
case "Sm": | |
uci = 25; | |
break; | |
case "Lm": | |
uci = 3; | |
break; | |
case "Sk": | |
uci = 27; | |
break; | |
case "Mn": | |
uci = 5; | |
break; | |
case "Ps": | |
uci = 20; | |
break; | |
case "Lo": | |
uci = 4; | |
break; | |
case "Cn": | |
uci = 29; | |
break; | |
case "No": | |
uci = 10; | |
break; | |
case "Po": | |
uci = 24; | |
break; | |
case "So": | |
uci = 28; | |
break; | |
case "Zp": | |
uci = 13; | |
break; | |
case "Co": | |
uci = 17; | |
break; | |
case "Zs": | |
uci = 11; | |
break; | |
case "Mc": | |
uci = 6; | |
break; | |
case "Cs": | |
uci = 16; | |
break; | |
case "Lt": | |
uci = 2; | |
break; | |
case "Lu": | |
uci = 0; | |
break; | |
} | |
if (isNot) { | |
next = FA.set(FARange.toUnpacked(FACharacterClasses.unicodeCategories[uci]), accept, compact); | |
} else next = FA.set(FARange.toUnpacked(FACharacterClasses.notUnicodeCategories[uci]), accept, compact); | |
break; | |
case 'd'.codePointAt(0): | |
next = FA.set(FARange.toUnpacked(FACharacterClasses.digit), accept, compact); | |
pc.advance(); | |
break; | |
case 'D'.codePointAt(0): | |
next = FA.set(FARange.toNotRanges(FARange.toUnpacked(FACharacterClasses.digit)), accept, compact); | |
pc.advance(); | |
break; | |
case 's'.codePointAt(0): | |
next = FA.set(FARange.toUnpacked(FACharacterClasses.space), accept, compact); | |
pc.advance(); | |
break; | |
case 'S'.codePointAt(0): | |
next = FA.set(FARange.toNotRanges(FARange.toUnpacked(FACharacterClasses.space)), accept, compact); | |
pc.advance(); | |
break; | |
case 'w'.codePointAt(0): | |
next = FA.set(FARange.toUnpacked(FACharacterClasses.word), accept, compact); | |
pc.advance(); | |
break; | |
case 'W'.codePointAt(0): | |
next = FA.set(FARange.toNotRanges(FARange.toUnpacked(FACharacterClasses.word)), accept, compact); | |
pc.advance(); | |
break; | |
default: | |
if (-1 != (ich = FA._parseEscapePart(pc))) { | |
next = FA.literal([ | |
ich | |
], accept, compact); | |
} else { | |
pc.expecting(); | |
} | |
break; | |
} | |
next = FA._parseModifier(next, pc, accept, compact); | |
if (null != result) { | |
result = FA.concat([ | |
result, | |
next | |
], accept, compact); | |
} else result = next; | |
break; | |
case ')'.codePointAt(0): | |
return result; | |
case '('.codePointAt(0): | |
pc.advance(); | |
if (String.fromCodePoint(pc.codepoint) == '?') { | |
pc.advance(); | |
pc.expecting(':'); | |
pc.advance(); | |
} | |
pc.expecting(); | |
next = FA._parse(pc, accept, compact); | |
pc.expecting(')'); | |
pc.advance(); | |
next = FA._parseModifier(next, pc, accept, compact); | |
if (null == result) result = next; | |
else { | |
result = FA.concat([ | |
result, | |
next | |
], accept, compact); | |
} | |
break; | |
case '|'.codePointAt(0): | |
if (-1 != pc.advance()) { | |
next = FA._parse(pc, accept, compact); | |
result = FA.or([ | |
result, | |
next | |
], accept, compact); | |
} else { | |
result = FA.optional(result, accept, compact); | |
} | |
break; | |
case '['.codePointAt(0): | |
const seti = FA._parseSet(pc); | |
let set = seti[1]; | |
set.sort((x, y)=>{ | |
const c = x.min - y.min; | |
if (0 != c) return c; | |
return x.max - y.max; | |
}); | |
FA._normalizeSortedRangeList(set); | |
if (seti[0] === true) { | |
set = [ | |
...FARange.toNotRanges(set) | |
]; | |
} | |
next = FA.set(set, accept); | |
next = FA._parseModifier(next, pc, accept, compact); | |
if (null == result) result = next; | |
else { | |
result = FA.concat([ | |
result, | |
next | |
], accept, compact); | |
} | |
break; | |
default: | |
ich = pc.codepoint; | |
next = FA.literal([ | |
ich | |
], accept, compact); | |
pc.advance(); | |
next = FA._parseModifier(next, pc, accept, compact); | |
if (null == result) result = next; | |
else { | |
result = FA.concat([ | |
result, | |
next | |
], accept, compact); | |
} | |
break; | |
} | |
} | |
return result; | |
} | |
static parse(expression, accept = 0, compact = true) { | |
const pc = new _ParseContext(expression); | |
return FA._parse(pc, accept, compact); | |
} | |
static toLexer(tokens, makeDfa = true, compact = true, progress = null) { | |
if (makeDfa) { | |
for(let i = 0; i < tokens.length; i++){ | |
tokens[i] = tokens[i].toMinimizedDfa(progress); | |
} | |
} | |
var result = new FA(); | |
for(let i = 0; i < tokens.length; i++){ | |
result.addEpsilon(tokens[i], compact); | |
} | |
if (makeDfa && !result.isDeterministic) { | |
return result.toDfa(progress); | |
} else { | |
return result; | |
} | |
} | |
} | |
//# sourceURL=visualfa.ts |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment