1 /* This file was converted by gperf_fold_key_conv.py
2       from gperf output file. */
3 /* ANSI-C code produced by gperf version 3.0.4 */
4 /* Command-line: gperf -n -C -T -c -t -j1 -L ANSI-C -F,-1 -N unicode_fold1_key unicode_fold1_key.gperf  */
5 /* Computed positions: -k'1-3' */
6 
7 
8 
9 /* This gperf source file was generated by make_unicode_fold_data.py */
10 #include <string.h>
11 #include "regenc.h"
12 
13 #define TOTAL_KEYWORDS 1196
14 #define MIN_WORD_LENGTH 3
15 #define MAX_WORD_LENGTH 3
16 #define MIN_HASH_VALUE 6
17 #define MAX_HASH_VALUE 1304
18 /* maximum key range = 1299, duplicates = 0 */
19 
20 #ifdef __GNUC__
21 __inline
22 #else
23 #ifdef __cplusplus
24 inline
25 #endif
26 #endif
27 /*ARGSUSED*/
28 static unsigned int
hash(OnigCodePoint codes[])29 hash(OnigCodePoint codes[])
30 {
31   static const unsigned short asso_values[] =
32     {
33          7,    5,   93,    4,    1,   16,  893, 1162,  891, 1085,
34        889,  380,    8,  376, 1101,  332, 1100,  329, 1099,    3,
35        874,  943,  870,  914,   87,  322, 1095,  317, 1093,  579,
36          2,   11, 1054,   13,  956,  902,   31,  775,  632,  343,
37        619,  330,  611,  323,    0,   27,  850,  311,  599,  309,
38        849, 1240,  862, 1226,  445, 1220,  591,  888,  583, 1253,
39       1091, 1217, 1087, 1079, 1074,  419,  858,  845,  441,  304,
40        400,  842,  394, 1067,  389, 1053,  383, 1211,  218, 1206,
41        202,  436,  194, 1202,  181, 1183,  153, 1177,  376, 1166,
42        166,   56,  323,    0,  571,  112,  834,  877, 1035,  609,
43        123,  901,  145,  684,  115,  933,  364, 1163,  345,  603,
44        311,  144,  573,  162,  563, 1188,  260,  964,  240, 1174,
45        476, 1034,  453,  814,  669,  454,  815,  799,  656, 1242,
46        963,  113,  806,  270,  561,  304,  795,  268, 1031,  581,
47       1157,  182,   44,  467, 1154, 1305, 1042, 1305, 1028,  387,
48        869, 1305,  362, 1305, 1142, 1305,  639,  234, 1060, 1305,
49       1131,  381,  190,  194,  780,  185,  140,   34,  209,  173,
50       1021,  369, 1017,  145, 1150,  834,  788,  820, 1011,  116,
51        773,  658, 1004, 1241,  767,   64,  762,  648,  756,  510,
52        999,  487,  750,  254,  740,  625,  733,  662,  728,  992,
53        720,  713,  533,  986,  515,  169,  427,  702,  266,  693,
54        687,  644,  337,  963,  556,  954,  524,  947,  329,  942,
55        288,  931,  229,  925,  104, 1143,   80,  908,   48, 1138,
56         71, 1133,   59, 1131,  295,  605,  276,  525,  547, 1107,
57        540,  406,  504,  156,  920,   93,  493,   84,  676,   34,
58        247,    4, 1128,   14,   18,   32,  220,    2,  131
59     };
60   return asso_values[(unsigned char)onig_codes_byte_at(codes, 2)+3] + asso_values[(unsigned char)onig_codes_byte_at(codes, 1)] + asso_values[(unsigned char)onig_codes_byte_at(codes, 0)];
61 }
62 
63 #ifdef __GNUC__
64 __inline
65 #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
66 __attribute__ ((__gnu_inline__))
67 #endif
68 #endif
69 int
unicode_fold1_key(OnigCodePoint codes[])70 unicode_fold1_key(OnigCodePoint codes[])
71 {
72   static const int wordlist[] =
73     {
74       -1, -1, -1, -1, -1, -1,
75 
76       3240,
77 
78       2547,
79 
80       1016,
81 
82       1772,
83 
84       1712,
85 
86       1751,
87 
88       231,
89 
90       171,
91 
92       210,
93 
94       884,
95 
96       165,
97 
98       1724,
99 
100       147,
101 
102       2085,
103 
104       183,
105 
106       2106,
107 
108       2082,
109 
110       1322,
111 
112       1262,
113 
114       1301,
115 
116       1253,
117 
118       2073,
119 
120       153,
121 
122       887,
123 
124       493,
125 
126       1274,
127 
128       156,
129 
130       3243,
131 
132       2088,
133 
134       2748,
135 
136       2826,
137 
138       2793,
139 
140       2745,
141 
142       3234,
143 
144       1760,
145 
146       2985,
147 
148       2772,
149 
150       219,
151 
152       1460,
153 
154       2829,
155 
156       159,
157 
158       2835,
159 
160       144,
161 
162       2127,
163 
164       2751,
165 
166       2601,
167 
168       1085,
169 
170       1920,
171 
172       1310,
173 
174       2730,
175 
176       1214,
177 
178       2034,
179 
180       1643,
181 
182       854,
183 
184       459,
185 
186       3456,
187 
188       80,
189 
190       2541,
191 
192       1010,
193 
194       2844,
195 
196       2283,
197 
198       1220,
199 
200       2040,
201 
202       1655,
203 
204       860,
205 
206       465,
207 
208       3468,
209 
210       92,
211 
212       1514,
213 
214       756,
215 
216       405,
217 
218       2286,
219 
220       2733,
221 
222       1217,
223 
224       2037,
225 
226       1649,
227 
228       857,
229 
230       462,
231 
232       3462,
233 
234       86,
235 
236       2394,
237 
238       2727,
239 
240       1211,
241 
242       2031,
243 
244       1637,
245 
246       851,
247 
248       456,
249 
250       3450,
251 
252       1700,
253 
254       3228,
255 
256       1742,
257 
258       2406,
259 
260       138,
261 
262       201,
263 
264       559,
265 
266       502,
267 
268       541,
269 
270       1694,
271 
272       878,
273 
274       2121,
275 
276       3507,
277 
278       132,
279 
280       514,
281 
282       2400,
283 
284       1292,
285 
286       2724,
287 
288       1208,
289 
290       2028,
291 
292       1631,
293 
294       848,
295 
296       453,
297 
298       3444,
299 
300       2388,
301 
302       2553,
303 
304       1022,
305 
306       2808,
307 
308       2565,
309 
310       1040,
311 
312       1863,
313 
314       354,
315 
316       1496,
317 
318       315,
319 
320       399,
321 
322       12,
323 
324       2562,
325 
326       1034,
327 
328       1856,
329 
330       2217,
331 
332       2268,
333 
334       309,
335 
336       1427,
337 
338       0,
339 
340       1346,
341 
342       1259,
343 
344       2079,
345 
346       2205,
347 
348       2382,
349 
350       499,
351 
352       694,
353 
354       168,
355 
356       1334,
357 
358       2637,
359 
360       1121,
361 
362       1941,
363 
364       1457,
365 
366       2577,
367 
368       387,
369 
370       1037,
371 
372       1860,
373 
374       1478,
375 
376       3072,
377 
378       312,
379 
380       31,
381 
382       6,
383 
384       2526,
385 
386       995,
387 
388       1835,
389 
390       2211,
391 
392       3066,
393 
394       288,
395 
396       1688,
397 
398       1367,
399 
400       1340,
401 
402       3501,
403 
404       126,
405 
406       2193,
407 
408       3603,
409 
410       2538,
411 
412       1007,
413 
414       1841,
415 
416       37,
417 
418       1178,
419 
420       294,
421 
422       1574,
423 
424       824,
425 
426       3138,
427 
428       3387,
429 
430       1466,
431 
432       2199,
433 
434       1373,
435 
436       3069,
437 
438       532,
439 
440       2520,
441 
442       989,
443 
444       1832,
445 
446       2949,
447 
448       3213,
449 
450       285,
451 
452       3045,
453 
454       1454,
455 
456       3597,
457 
458       2631,
459 
460       1115,
461 
462       2190,
463 
464       3354,
465 
466       2514,
467 
468       983,
469 
470       1829,
471 
472       1448,
473 
474       3225,
475 
476       282,
477 
478       3051,
479 
480       3348,
481 
482       2508,
483 
484       977,
485 
486       1826,
487 
488       631,
489 
490       676,
491 
492       279,
493 
494       643,
495 
496       2640,
497 
498       1124,
499 
500       1944,
501 
502       1463,
503 
504       3207,
505 
506       390,
507 
508       3042,
509 
510       637,
511 
512       3342,
513 
514       2502,
515 
516       971,
517 
518       1823,
519 
520       1256,
521 
522       2076,
523 
524       276,
525 
526       3132,
527 
528       496,
529 
530       3201,
531 
532       162,
533 
534       3039,
535 
536       2721,
537 
538       1205,
539 
540       2025,
541 
542       1625,
543 
544       845,
545 
546       3195,
547 
548       3438,
549 
550       3036,
551 
552       658,
553 
554       640,
555 
556       378,
557 
558       2580,
559 
560       1061,
561 
562       1884,
563 
564       3141,
565 
566       712,
567 
568       336,
569 
570       613,
571 
572       52,
573 
574       1247,
575 
576       2067,
577 
578       3189,
579 
580       2235,
581 
582       3033,
583 
584       2301,
585 
586       3540,
587 
588       2919,
589 
590       1388,
591 
592       1538,
593 
594       786,
595 
596       622,
597 
598       2376,
599 
600       1058,
601 
602       1881,
603 
604       2913,
605 
606       709,
607 
608       333,
609 
610       2700,
611 
612       46,
613 
614       2004,
615 
616       1583,
617 
618       833,
619 
620       2229,
621 
622       3396,
623 
624       2295,
625 
626       607,
627 
628       691,
629 
630       1382,
631 
632       1226,
633 
634       2046,
635 
636       1667,
637 
638       866,
639 
640       471,
641 
642       3480,
643 
644       105,
645 
646       1445,
647 
648       2916,
649 
650       1433,
651 
652       601,
653 
654       2718,
655 
656       1202,
657 
658       2022,
659 
660       1619,
661 
662       842,
663 
664       2892,
665 
666       3432,
667 
668       598,
669 
670       1223,
671 
672       2043,
673 
674       1661,
675 
676       863,
677 
678       468,
679 
680       3474,
681 
682       99,
683 
684       3315,
685 
686       2475,
687 
688       944,
689 
690       2898,
691 
692       2418,
693 
694       3255,
695 
696       264,
697 
698       3249,
699 
700       595,
701 
702       1049,
703 
704       1872,
705 
706       3591,
707 
708       2178,
709 
710       324,
711 
712       2340,
713 
714       27,
715 
716       2370,
717 
718       1439,
719 
720       2889,
721 
722       3237,
723 
724       2544,
725 
726       1013,
727 
728       1844,
729 
730       2412,
731 
732       1364,
733 
734       297,
735 
736       2715,
737 
738       1199,
739 
740       2019,
741 
742       1613,
743 
744       839,
745 
746       2886,
747 
748       3426,
749 
750       3162,
751 
752       2706,
753 
754       1190,
755 
756       2010,
757 
758       1595,
759 
760       2142,
761 
762       2883,
763 
764       3408,
765 
766       2817,
767 
768       3081,
769 
770       1046,
771 
772       1869,
773 
774       2277,
775 
776       2811,
777 
778       321,
779 
780       3549,
781 
782       3606,
783 
784       664,
785 
786       2136,
787 
788       3231,
789 
790       2787,
791 
792       3054,
793 
794       2880,
795 
796       2781,
797 
798       2364,
799 
800       1358,
801 
802       2616,
803 
804       1100,
805 
806       1935,
807 
808       1043,
809 
810       1866,
811 
812       372,
813 
814       2346,
815 
816       318,
817 
818       2853,
819 
820       18,
821 
822       1472,
823 
824       3585,
825 
826       393,
827 
828       2223,
829 
830       2532,
831 
832       1001,
833 
834       1838,
835 
836       3078,
837 
838       1352,
839 
840       291,
841 
842       3336,
843 
844       2496,
845 
846       965,
847 
848       1820,
849 
850       381,
851 
852       2196,
853 
854       3330,
855 
856       2490,
857 
858       959,
859 
860       1817,
861 
862       369,
863 
864       3324,
865 
866       2484,
867 
868       953,
869 
870       1814,
871 
872       586,
873 
874       3075,
875 
876       3318,
877 
878       2478,
879 
880       947,
881 
882       1811,
883 
884       2775,
885 
886       655,
887 
888       2187,
889 
890       2739,
891 
892       2769,
893 
894       3219,
895 
896       1682,
897 
898       3048,
899 
900       2181,
901 
902       3495,
903 
904       120,
905 
906       3579,
907 
908       3183,
909 
910       625,
911 
912       3030,
913 
914       3303,
915 
916       2463,
917 
918       932,
919 
920       3177,
921 
922       3561,
923 
924       3027,
925 
926       258,
927       -1,
928 
929       3171,
930 
931       2697,
932 
933       3024,
934 
935       2001,
936 
937       1577,
938 
939       827,
940 
941       3165,
942 
943       3390,
944 
945       3021,
946 
947       3351,
948 
949       2511,
950 
951       980,
952 
953       652,
954       -1,
955 
956       3312,
957 
958       2472,
959 
960       941,
961 
962       1808,
963 
964       3270,
965 
966       2430,
967 
968       899,
969 
970       1787,
971       -1,
972 
973       2289,
974 
975       243,
976 
977       2928,
978 
979       2175,
980       -1,
981 
982       1067,
983 
984       1890,
985 
986       2157,
987 
988       715,
989 
990       342,
991 
992       345,
993 
994       65,
995 
996       74,
997       -1,
998 
999       2901,
1000 
1001       2247,
1002 
1003       2256,
1004 
1005       2313,
1006 
1007       2322,
1008 
1009       3198,
1010 
1011       1400,
1012 
1013       1409,
1014       -1,
1015 
1016       366,
1017 
1018       3159,
1019 
1020       706,
1021 
1022       3018,
1023 
1024       592,
1025 
1026       1064,
1027 
1028       1887,
1029 
1030       2997,
1031 
1032       700,
1033 
1034       339,
1035 
1036       589,
1037 
1038       59,
1039       -1,
1040 
1041       2925,
1042       -1,
1043 
1044       2241,
1045 
1046       3090,
1047 
1048       2307,
1049 
1050       1532,
1051 
1052       779,
1053 
1054       1394,
1055 
1056       2742,
1057 
1058       1241,
1059 
1060       2061,
1061 
1062       1697,
1063 
1064       881,
1065 
1066       483,
1067       -1,
1068 
1069       135,
1070 
1071       3111,
1072 
1073       2964,
1074       -1,
1075 
1076       2922,
1077 
1078       1235,
1079 
1080       2055,
1081 
1082       1685,
1083 
1084       875,
1085 
1086       480,
1087 
1088       3498,
1089 
1090       123,
1091 
1092       3543,
1093 
1094       1526,
1095 
1096       772,
1097 
1098       2694,
1099 
1100       2895,
1101 
1102       1998,
1103 
1104       1571,
1105 
1106       820,
1107 
1108       421,
1109 
1110       3384,
1111 
1112       3156,
1113 
1114       2877,
1115 
1116       2712,
1117 
1118       1196,
1119 
1120       2016,
1121 
1122       1607,
1123 
1124       1670,
1125 
1126       2874,
1127 
1128       3420,
1129 
1130       3483,
1131 
1132       108,
1133 
1134       2691,
1135 
1136       2871,
1137 
1138       1995,
1139 
1140       1565,
1141 
1142       814,
1143 
1144       574,
1145 
1146       3378,
1147 
1148       2868,
1149 
1150       1232,
1151 
1152       2052,
1153 
1154       1679,
1155 
1156       872,
1157 
1158       477,
1159 
1160       3492,
1161 
1162       117,
1163 
1164       1229,
1165 
1166       2049,
1167 
1168       1673,
1169 
1170       869,
1171 
1172       474,
1173 
1174       3486,
1175 
1176       111,
1177 
1178       2358,
1179 
1180       2709,
1181 
1182       1193,
1183 
1184       2013,
1185 
1186       1601,
1187 
1188       697,
1189 
1190       2589,
1191 
1192       3414,
1193 
1194       1908,
1195 
1196       1055,
1197 
1198       1878,
1199 
1200       357,
1201       -1,
1202 
1203       330,
1204 
1205       670,
1206 
1207       40,
1208 
1209       2550,
1210 
1211       1019,
1212 
1213       1847,
1214 
1215       1052,
1216 
1217       1875,
1218 
1219       300,
1220 
1221       1436,
1222 
1223       327,
1224 
1225       1376,
1226 
1227       34,
1228 
1229       2865,
1230 
1231       3282,
1232 
1233       2442,
1234 
1235       911,
1236 
1237       1793,
1238 
1239       363,
1240 
1241       2352,
1242 
1243       249,
1244 
1245       1370,
1246 
1247       3276,
1248 
1249       2436,
1250 
1251       905,
1252 
1253       1790,
1254 
1255       2169,
1256 
1257       3102,
1258 
1259       246,
1260 
1261       3087,
1262 
1263       3252,
1264       -1,
1265 
1266       3537,
1267 
1268       1778,
1269 
1270       2163,
1271 
1272       2574,
1273 
1274       237,
1275 
1276       3057,
1277 
1278       2823,
1279 
1280       3084,
1281 
1282       1664,
1283 
1284       3573,
1285 
1286       24,
1287 
1288       3477,
1289 
1290       102,
1291 
1292       1769,
1293       -1,
1294 
1295       1328,
1296 
1297       228,
1298 
1299       3003,
1300 
1301       3531,
1302 
1303       1361,
1304 
1305       2202,
1306 
1307       1766,
1308 
1309       2145,
1310       -1,
1311 
1312       225,
1313 
1314       3000,
1315 
1316       2862,
1317 
1318       1319,
1319 
1320       1544,
1321 
1322       792,
1323 
1324       2139,
1325 
1326       3357,
1327       -1,
1328 
1329       2991,
1330 
1331       1763,
1332 
1333       1316,
1334 
1335       2415,
1336 
1337       222,
1338 
1339       2859,
1340 
1341       2622,
1342 
1343       1106,
1344 
1345       3567,
1346       -1,
1347 
1348       2133,
1349 
1350       375,
1351 
1352       2982,
1353 
1354       2856,
1355 
1356       1592,
1357 
1358       1313,
1359 
1360       432,
1361 
1362       3405,
1363 
1364       1520,
1365 
1366       762,
1367 
1368       2979,
1369 
1370       679,
1371 
1372       2274,
1373 
1374       661,
1375 
1376       1076,
1377 
1378       1899,
1379 
1380       2850,
1381 
1382       724,
1383 
1384       1502,
1385 
1386       742,
1387 
1388       1166,
1389 
1390       628,
1391 
1392       1550,
1393 
1394       2976,
1395 
1396       2265,
1397 
1398       3363,
1399 
1400       2331,
1401 
1402       1070,
1403 
1404       1893,
1405 
1406       1418,
1407 
1408       3123,
1409 
1410       685,
1411 
1412       2343,
1413 
1414       71,
1415 
1416       1244,
1417 
1418       2064,
1419 
1420       1703,
1421 
1422       2253,
1423 
1424       487,
1425 
1426       2319,
1427 
1428       141,
1429       -1,
1430 
1431       1406,
1432       -1,
1433 
1434       2703,
1435 
1436       1187,
1437 
1438       2007,
1439 
1440       1589,
1441 
1442       9,
1443 
1444       565,
1445 
1446       3402,
1447 
1448       1184,
1449 
1450       2214,
1451 
1452       1586,
1453 
1454       836,
1455 
1456       429,
1457 
1458       3399,
1459 
1460       1343,
1461 
1462       2937,
1463 
1464       634,
1465 
1466       1181,
1467 
1468       556,
1469 
1470       1580,
1471 
1472       830,
1473 
1474       425,
1475 
1476       3393,
1477       -1,
1478 
1479       3510,
1480 
1481       2904,
1482 
1483       553,
1484 
1485       2931,
1486 
1487       1172,
1488       -1,
1489 
1490       1562,
1491 
1492       810,
1493 
1494       417,
1495 
1496       3375,
1497 
1498       2688,
1499       -1,
1500 
1501       1992,
1502 
1503       1559,
1504 
1505       807,
1506 
1507       550,
1508 
1509       3372,
1510       -1,
1511 
1512       2685,
1513 
1514       3558,
1515 
1516       1989,
1517 
1518       1553,
1519 
1520       800,
1521 
1522       2682,
1523 
1524       3366,
1525 
1526       1986,
1527 
1528       1547,
1529 
1530       796,
1531       -1,
1532 
1533       3360,
1534 
1535       2679,
1536 
1537       1163,
1538 
1539       1983,
1540 
1541       1541,
1542 
1543       789,
1544 
1545       414,
1546       -1,
1547 
1548       3516,
1549       -1,
1550 
1551       673,
1552 
1553       2676,
1554 
1555       1160,
1556 
1557       1980,
1558 
1559       1535,
1560 
1561       783,
1562 
1563       411,
1564 
1565       2670,
1566 
1567       1154,
1568 
1569       1974,
1570 
1571       1523,
1572 
1573       767,
1574 
1575       408,
1576 
1577       2667,
1578 
1579       1151,
1580 
1581       1971,
1582 
1583       1517,
1584 
1585       759,
1586 
1587       2664,
1588 
1589       1148,
1590 
1591       1968,
1592 
1593       1511,
1594 
1595       752,
1596 
1597       3555,
1598 
1599       2658,
1600 
1601       1142,
1602 
1603       1962,
1604 
1605       1499,
1606 
1607       739,
1608 
1609       3552,
1610 
1611       2970,
1612 
1613       2634,
1614 
1615       1118,
1616 
1617       1938,
1618 
1619       1451,
1620 
1621       2271,
1622 
1623       384,
1624 
1625       2130,
1626 
1627       3546,
1628 
1629       2652,
1630 
1631       1136,
1632 
1633       1956,
1634 
1635       1487,
1636 
1637       730,
1638 
1639       396,
1640       -1,
1641 
1642       2592,
1643 
1644       3153,
1645 
1646       1911,
1647 
1648       3528,
1649       -1,
1650 
1651       360,
1652 
1653       3150,
1654 
1655       2847,
1656 
1657       721,
1658 
1659       348,
1660 
1661       3525,
1662 
1663       2586,
1664 
1665       1082,
1666 
1667       1905,
1668       -1,
1669 
1670       2262,
1671 
1672       1442,
1673 
1674       2328,
1675 
1676       3519,
1677 
1678       3135,
1679 
1680       1415,
1681 
1682       1073,
1683 
1684       1896,
1685 
1686       3513,
1687 
1688       718,
1689       -1,
1690 
1691       68,
1692 
1693       1430,
1694 
1695       1490,
1696 
1697       733,
1698 
1699       2250,
1700 
1701       2259,
1702 
1703       2316,
1704 
1705       2325,
1706 
1707       3105,
1708 
1709       1403,
1710 
1711       1412,
1712       -1,
1713 
1714       3093,
1715 
1716       2556,
1717 
1718       1025,
1719 
1720       1850,
1721 
1722       1484,
1723 
1724       727,
1725 
1726       303,
1727 
1728       3099,
1729 
1730       3321,
1731 
1732       2481,
1733 
1734       950,
1735 
1736       3309,
1737 
1738       2469,
1739 
1740       938,
1741 
1742       267,
1743 
1744       3258,
1745 
1746       3246,
1747 
1748       261,
1749 
1750       1781,
1751 
1752       1775,
1753 
1754       2184,
1755 
1756       240,
1757 
1758       234,
1759 
1760       2172,
1761 
1762       3306,
1763 
1764       2466,
1765 
1766       935,
1767 
1768       1805,
1769 
1770       3264,
1771 
1772       2424,
1773 
1774       893,
1775 
1776       1784,
1777 
1778       1331,
1779 
1780       1325,
1781       -1,
1782 
1783       3060,
1784 
1785       2613,
1786 
1787       1097,
1788 
1789       1932,
1790 
1791       1739,
1792 
1793       2151,
1794 
1795       3168,
1796 
1797       198,
1798 
1799       1736,
1800 
1801       2559,
1802 
1803       1028,
1804 
1805       195,
1806       -1,
1807 
1808       2115,
1809       -1,
1810 
1811       2994,
1812 
1813       2988,
1814 
1815       2109,
1816 
1817       1289,
1818 
1819       3279,
1820 
1821       2439,
1822 
1823       908,
1824 
1825       1286,
1826 
1827       1721,
1828 
1829       3015,
1830 
1831       1718,
1832 
1833       180,
1834 
1835       1715,
1836 
1837       177,
1838 
1839       2802,
1840 
1841       174,
1842 
1843       2166,
1844 
1845       2103,
1846 
1847       2796,
1848 
1849       2097,
1850 
1851       3117,
1852 
1853       2091,
1854 
1855       1271,
1856       -1,
1857 
1858       1268,
1859 
1860       3,
1861 
1862       1265,
1863       -1,
1864 
1865       1640,
1866 
1867       2208,
1868 
1869       2124,
1870 
1871       3453,
1872 
1873       77,
1874 
1875       2766,
1876 
1877       1337,
1878 
1879       2760,
1880 
1881       2280,
1882 
1883       2754,
1884 
1885       1238,
1886 
1887       2058,
1888 
1889       1691,
1890       -1,
1891 
1892       2118,
1893 
1894       3504,
1895 
1896       129,
1897 
1898       1628,
1899 
1900       2841,
1901 
1902       450,
1903 
1904       3441,
1905       -1,
1906 
1907       2568,
1908 
1909       1622,
1910 
1911       2940,
1912 
1913       447,
1914 
1915       3435,
1916 
1917       583,
1918 
1919       2391,
1920 
1921       15,
1922 
1923       2805,
1924 
1925       568,
1926 
1927       562,
1928 
1929       2220,
1930 
1931       1616,
1932 
1933       2934,
1934 
1935       444,
1936 
1937       3429,
1938 
1939       1349,
1940 
1941       1610,
1942 
1943       580,
1944 
1945       441,
1946 
1947       3423,
1948 
1949       2112,
1950 
1951       571,
1952 
1953       2379,
1954 
1955       1604,
1956 
1957       1757,
1958 
1959       438,
1960 
1961       3417,
1962 
1963       216,
1964 
1965       2373,
1966 
1967       529,
1968 
1969       1079,
1970 
1971       1902,
1972 
1973       1598,
1974 
1975       526,
1976 
1977       435,
1978 
1979       3411,
1980 
1981       2799,
1982 
1983       49,
1984 
1985       1307,
1986 
1987       2367,
1988 
1989       2907,
1990 
1991       2232,
1992 
1993       2337,
1994 
1995       2298,
1996 
1997       2361,
1998 
1999       1424,
2000 
2001       1385,
2002       -1,
2003 
2004       511,
2005 
2006       2838,
2007 
2008       508,
2009 
2010       2355,
2011 
2012       505,
2013 
2014       1175,
2015       -1,
2016 
2017       1568,
2018 
2019       817,
2020       -1,
2021 
2022       3381,
2023 
2024       1169,
2025 
2026       2349,
2027 
2028       1556,
2029 
2030       804,
2031 
2032       3096,
2033 
2034       3369,
2035 
2036       2673,
2037 
2038       1157,
2039 
2040       1977,
2041 
2042       1529,
2043 
2044       776,
2045 
2046       2661,
2047 
2048       1145,
2049 
2050       1965,
2051 
2052       1505,
2053 
2054       746,
2055 
2056       2961,
2057 
2058       3594,
2059 
2060       2655,
2061 
2062       1139,
2063 
2064       1959,
2065 
2066       1493,
2067 
2068       736,
2069 
2070       3588,
2071 
2072       2646,
2073 
2074       1130,
2075 
2076       1950,
2077 
2078       1475,
2079 
2080       2643,
2081 
2082       1127,
2083 
2084       1947,
2085 
2086       1469,
2087       -1,
2088 
2089       646,
2090 
2091       3582,
2092 
2093       2610,
2094 
2095       1094,
2096 
2097       1929,
2098 
2099       2595,
2100 
2101       3576,
2102 
2103       1914,
2104 
2105       2583,
2106       -1,
2107 
2108       1031,
2109 
2110       1853,
2111       -1,
2112 
2113       3570,
2114 
2115       306,
2116 
2117       62,
2118 
2119       2607,
2120 
2121       1091,
2122 
2123       1926,
2124 
2125       2244,
2126       -1,
2127 
2128       2310,
2129 
2130       3564,
2131 
2132       547,
2133 
2134       1397,
2135 
2136       3147,
2137 
2138       3333,
2139 
2140       2493,
2141 
2142       962,
2143 
2144       3144,
2145 
2146       1754,
2147 
2148       667,
2149 
2150       273,
2151 
2152       213,
2153 
2154       2625,
2155 
2156       1109,
2157 
2158       3114,
2159       -1, -1,
2160 
2161       3108,
2162 
2163       3327,
2164 
2165       2487,
2166 
2167       956,
2168 
2169       3063,
2170 
2171       1304,
2172 
2173       3534,
2174 
2175       270,
2176 
2177       3300,
2178 
2179       2460,
2180 
2181       929,
2182 
2183       1802,
2184 
2185       3522,
2186 
2187       3297,
2188 
2189       2457,
2190 
2191       926,
2192 
2193       2832,
2194       -1, -1,
2195 
2196       255,
2197 
2198       3180,
2199 
2200       3294,
2201 
2202       2454,
2203 
2204       923,
2205 
2206       1799,
2207 
2208       3288,
2209 
2210       2448,
2211 
2212       917,
2213 
2214       1796,
2215 
2216       3126,
2217 
2218       1748,
2219 
2220       2100,
2221 
2222       1745,
2223 
2224       207,
2225 
2226       3174,
2227 
2228       204,
2229 
2230       1733,
2231 
2232       1730,
2233 
2234       1727,
2235 
2236       192,
2237 
2238       189,
2239 
2240       186,
2241 
2242       2736,
2243 
2244       3012,
2245 
2246       1298,
2247 
2248       1676,
2249 
2250       1295,
2251 
2252       2763,
2253 
2254       3489,
2255 
2256       114,
2257 
2258       1283,
2259 
2260       1280,
2261 
2262       1277,
2263       -1, -1,
2264 
2265       2820,
2266 
2267       3009,
2268 
2269       2814,
2270       -1,
2271 
2272       682,
2273 
2274       3006,
2275 
2276       2790,
2277 
2278       2784,
2279 
2280       2778,
2281 
2282       1250,
2283 
2284       2070,
2285 
2286       2628,
2287 
2288       1112,
2289 
2290       490,
2291 
2292       1658,
2293 
2294       150,
2295 
2296       1652,
2297 
2298       3471,
2299 
2300       96,
2301 
2302       3465,
2303 
2304       89,
2305 
2306       1646,
2307 
2308       2619,
2309 
2310       1103,
2311 
2312       3459,
2313 
2314       83,
2315 
2316       1634,
2317 
2318       544,
2319       -1,
2320 
2321       3447,
2322 
2323       2649,
2324 
2325       1133,
2326 
2327       1953,
2328 
2329       1481,
2330 
2331       2604,
2332 
2333       1088,
2334 
2335       1923,
2336 
2337       2598,
2338       -1,
2339 
2340       1917,
2341       -1, -1,
2342 
2343       2409,
2344 
2345       2571,
2346 
2347       2403,
2348 
2349       3129,
2350 
2351       2535,
2352 
2353       1004,
2354 
2355       2958,
2356 
2357       2397,
2358 
2359       21,
2360 
2361       2943,
2362 
2363       577,
2364 
2365       2094,
2366 
2367       2385,
2368 
2369       2910,
2370 
2371       3120,
2372 
2373       2529,
2374 
2375       998,
2376 
2377       1355,
2378       -1,
2379 
2380       56,
2381 
2382       2955,
2383 
2384       2523,
2385 
2386       992,
2387 
2388       2238,
2389 
2390       538,
2391 
2392       2304,
2393 
2394       535,
2395 
2396       2757,
2397 
2398       1391,
2399       -1,
2400 
2401       523,
2402 
2403       520,
2404 
2405       517,
2406 
2407       43,
2408       -1, -1,
2409 
2410       3222,
2411 
2412       2226,
2413 
2414       2973,
2415 
2416       2292,
2417 
2418       2517,
2419 
2420       986,
2421 
2422       1379,
2423 
2424       3345,
2425 
2426       2505,
2427 
2428       974,
2429       -1,
2430 
2431       3216,
2432 
2433       3339,
2434 
2435       2499,
2436 
2437       968,
2438       -1, -1,
2439 
2440       3210,
2441 
2442       3291,
2443 
2444       2451,
2445 
2446       920,
2447 
2448       3273,
2449 
2450       2433,
2451 
2452       902,
2453 
2454       252,
2455       -1,
2456 
2457       703,
2458 
2459       3267,
2460 
2461       2427,
2462 
2463       896,
2464 
2465       3600,
2466       -1, -1,
2467 
2468       2160,
2469       -1, -1,
2470 
2471       3204,
2472 
2473       1709,
2474       -1,
2475 
2476       2154,
2477 
2478       3192,
2479 
2480       3261,
2481 
2482       2421,
2483 
2484       890,
2485       -1,
2486 
2487       3186,
2488 
2489       1508,
2490 
2491       749,
2492 
2493       402,
2494 
2495       351,
2496 
2497       1706,
2498       -1,
2499 
2500       688,
2501 
2502       2148,
2503 
2504       3285,
2505 
2506       2445,
2507 
2508       914,
2509 
2510       2334,
2511 
2512       649,
2513       -1,
2514 
2515       1421,
2516 
2517       619,
2518       -1, -1, -1, -1, -1, -1,
2519       -1, -1, -1, -1,
2520 
2521       616,
2522       -1, -1, -1, -1, -1,
2523 
2524       610,
2525       -1, -1, -1, -1, -1,
2526 
2527       2967,
2528       -1, -1, -1, -1, -1, -1,
2529       -1, -1, -1, -1, -1,
2530 
2531       2952,
2532 
2533       604,
2534       -1,
2535 
2536       2946
2537     };
2538 
2539   if (0 == 0)
2540     {
2541       int key = hash(codes);
2542 
2543       if (key <= MAX_HASH_VALUE && key >= 0)
2544         {
2545           int index = wordlist[key];
2546 
2547           if (index >= 0 && onig_codes_cmp(codes, OnigUnicodeFolds1 + index, 1) == 0)
2548             return index;
2549         }
2550     }
2551   return -1;
2552 }
2553 
2554 
2555