| 1 | |
| 2 | #line 1 "hb-ot-shape-complex-indic-machine.rl" |
| 3 | /* |
| 4 | * Copyright © 2011,2012 Google, Inc. |
| 5 | * |
| 6 | * This is part of HarfBuzz, a text shaping library. |
| 7 | * |
| 8 | * Permission is hereby granted, without written agreement and without |
| 9 | * license or royalty fees, to use, copy, modify, and distribute this |
| 10 | * software and its documentation for any purpose, provided that the |
| 11 | * above copyright notice and the following two paragraphs appear in |
| 12 | * all copies of this software. |
| 13 | * |
| 14 | * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR |
| 15 | * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES |
| 16 | * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN |
| 17 | * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH |
| 18 | * DAMAGE. |
| 19 | * |
| 20 | * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
| 21 | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND |
| 22 | * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS |
| 23 | * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO |
| 24 | * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
| 25 | * |
| 26 | * Google Author(s): Behdad Esfahbod |
| 27 | */ |
| 28 | |
| 29 | #ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH |
| 30 | #define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH |
| 31 | |
| 32 | #include "hb.hh" |
| 33 | |
| 34 | |
| 35 | #line 36 "hb-ot-shape-complex-indic-machine.hh" |
| 36 | static const unsigned char _indic_syllable_machine_trans_keys[] = { |
| 37 | 8u, 8u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, |
| 38 | 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, |
| 39 | 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, |
| 40 | 16u, 16u, 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, 4u, 8u, |
| 41 | 4u, 13u, 4u, 8u, 4u, 13u, 8u, 8u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, |
| 42 | 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, |
| 43 | 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, |
| 44 | 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, |
| 45 | 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, 8u, 8u, 5u, 8u, |
| 46 | 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, |
| 47 | 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, |
| 48 | 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, |
| 49 | 4u, 13u, 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, 4u, 8u, |
| 50 | 8u, 8u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, |
| 51 | 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, |
| 52 | 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, |
| 53 | 16u, 16u, 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, 4u, 8u, |
| 54 | 4u, 13u, 4u, 8u, 4u, 13u, 4u, 13u, 5u, 8u, 5u, 8u, 5u, 7u, 5u, 8u, |
| 55 | 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, 5u, 8u, 5u, 7u, 7u, 7u, |
| 56 | 8u, 8u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, |
| 57 | 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 8u, 8u, 1u, 19u, 3u, 17u, |
| 58 | 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, |
| 59 | 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, |
| 60 | 3u, 17u, 4u, 17u, 5u, 10u, 5u, 10u, 5u, 10u, 10u, 10u, 10u, 10u, 10u, 10u, |
| 61 | 5u, 10u, 3u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, |
| 62 | 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, |
| 63 | 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, |
| 64 | 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, |
| 65 | 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, |
| 66 | 3u, 17u, 3u, 17u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, |
| 67 | 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, |
| 68 | 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 10u, 5u, 10u, 5u, 10u, |
| 69 | 10u, 10u, 10u, 10u, 10u, 10u, 5u, 10u, 3u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, |
| 70 | 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, |
| 71 | 5u, 10u, 3u, 10u, 4u, 10u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, |
| 72 | 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, |
| 73 | 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, |
| 74 | 1u, 16u, 1u, 16u, 1u, 16u, 4u, 8u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, |
| 75 | 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, |
| 76 | 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 10u, |
| 77 | 5u, 10u, 5u, 10u, 10u, 10u, 10u, 10u, 10u, 10u, 5u, 10u, 3u, 10u, 3u, 10u, |
| 78 | 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, |
| 79 | 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 3u, 17u, 3u, 17u, 1u, 16u, |
| 80 | 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, |
| 81 | 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, |
| 82 | 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 13u, 3u, 17u, 4u, 8u, |
| 83 | 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, |
| 84 | 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, |
| 85 | 3u, 17u, 3u, 17u, 4u, 17u, 5u, 10u, 5u, 10u, 5u, 10u, 10u, 10u, 10u, 10u, |
| 86 | 10u, 10u, 5u, 10u, 3u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, |
| 87 | 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, |
| 88 | 4u, 10u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, |
| 89 | 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, |
| 90 | 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, |
| 91 | 1u, 16u, 3u, 17u, 1u, 17u, 3u, 17u, 1u, 17u, 4u, 13u, 5u, 10u, 10u, 10u, |
| 92 | 10u, 10u, 10u, 10u, 5u, 10u, 1u, 16u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, |
| 93 | 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, |
| 94 | 3u, 10u, 5u, 10u, 5u, 10u, 10u, 10u, 10u, 10u, 10u, 10u, 5u, 10u, 1u, 16u, |
| 95 | 0 |
| 96 | }; |
| 97 | |
| 98 | static const char _indic_syllable_machine_key_spans[] = { |
| 99 | 1, 4, 3, 1, 4, 3, 1, 4, |
| 100 | 3, 1, 4, 3, 1, 5, 1, 1, |
| 101 | 5, 1, 1, 5, 1, 1, 5, 1, |
| 102 | 1, 5, 10, 5, 10, 5, 10, 5, |
| 103 | 10, 5, 10, 1, 4, 3, 1, 4, |
| 104 | 3, 1, 4, 3, 1, 4, 3, 1, |
| 105 | 5, 1, 1, 5, 1, 1, 5, 1, |
| 106 | 1, 5, 1, 1, 5, 10, 5, 10, |
| 107 | 5, 10, 5, 10, 5, 10, 1, 4, |
| 108 | 3, 1, 4, 3, 1, 4, 3, 1, |
| 109 | 4, 3, 1, 5, 1, 1, 5, 1, |
| 110 | 1, 5, 1, 1, 5, 1, 1, 5, |
| 111 | 10, 5, 10, 5, 10, 5, 10, 5, |
| 112 | 1, 4, 3, 1, 4, 3, 1, 4, |
| 113 | 3, 1, 4, 3, 1, 5, 1, 1, |
| 114 | 5, 1, 1, 5, 1, 1, 5, 1, |
| 115 | 1, 5, 10, 5, 10, 5, 10, 5, |
| 116 | 10, 5, 10, 10, 4, 4, 3, 4, |
| 117 | 3, 1, 4, 3, 1, 4, 3, 1, |
| 118 | 1, 5, 1, 1, 5, 1, 1, 5, |
| 119 | 1, 1, 5, 1, 1, 1, 19, 15, |
| 120 | 15, 14, 16, 15, 15, 14, 16, 15, |
| 121 | 15, 14, 16, 15, 15, 14, 16, 15, |
| 122 | 15, 14, 6, 6, 6, 1, 1, 1, |
| 123 | 6, 8, 8, 7, 6, 8, 7, 6, |
| 124 | 8, 7, 6, 8, 7, 6, 8, 7, |
| 125 | 15, 15, 16, 16, 16, 16, 15, 15, |
| 126 | 16, 16, 16, 16, 15, 15, 16, 16, |
| 127 | 16, 16, 15, 15, 16, 16, 16, 16, |
| 128 | 15, 15, 15, 15, 14, 16, 15, 15, |
| 129 | 14, 16, 15, 15, 14, 16, 15, 15, |
| 130 | 14, 16, 15, 15, 14, 6, 6, 6, |
| 131 | 1, 1, 1, 6, 8, 8, 7, 6, |
| 132 | 8, 7, 6, 8, 7, 6, 8, 7, |
| 133 | 6, 8, 7, 15, 15, 16, 16, 16, |
| 134 | 16, 15, 15, 16, 16, 16, 16, 15, |
| 135 | 15, 16, 16, 16, 16, 15, 15, 16, |
| 136 | 16, 16, 16, 5, 15, 15, 14, 16, |
| 137 | 15, 15, 14, 16, 15, 15, 14, 16, |
| 138 | 15, 15, 14, 16, 15, 15, 14, 6, |
| 139 | 6, 6, 1, 1, 1, 6, 8, 8, |
| 140 | 7, 6, 8, 7, 6, 8, 7, 6, |
| 141 | 8, 7, 6, 8, 7, 15, 15, 16, |
| 142 | 16, 16, 16, 15, 15, 16, 16, 16, |
| 143 | 16, 15, 15, 16, 16, 16, 16, 15, |
| 144 | 15, 16, 16, 16, 16, 10, 15, 5, |
| 145 | 15, 15, 14, 16, 15, 15, 14, 16, |
| 146 | 15, 15, 14, 16, 15, 15, 14, 16, |
| 147 | 15, 15, 14, 6, 6, 6, 1, 1, |
| 148 | 1, 6, 8, 8, 7, 6, 8, 7, |
| 149 | 6, 8, 7, 6, 8, 7, 6, 8, |
| 150 | 7, 15, 15, 16, 16, 16, 16, 15, |
| 151 | 15, 16, 16, 16, 16, 15, 15, 16, |
| 152 | 16, 16, 16, 15, 15, 16, 16, 16, |
| 153 | 16, 15, 17, 15, 17, 10, 6, 1, |
| 154 | 1, 1, 6, 16, 8, 7, 6, 8, |
| 155 | 7, 6, 8, 7, 6, 8, 7, 6, |
| 156 | 8, 6, 6, 1, 1, 1, 6, 16 |
| 157 | }; |
| 158 | |
| 159 | static const short _indic_syllable_machine_index_offsets[] = { |
| 160 | 0, 2, 7, 11, 13, 18, 22, 24, |
| 161 | 29, 33, 35, 40, 44, 46, 52, 54, |
| 162 | 56, 62, 64, 66, 72, 74, 76, 82, |
| 163 | 84, 86, 92, 103, 109, 120, 126, 137, |
| 164 | 143, 154, 160, 171, 173, 178, 182, 184, |
| 165 | 189, 193, 195, 200, 204, 206, 211, 215, |
| 166 | 217, 223, 225, 227, 233, 235, 237, 243, |
| 167 | 245, 247, 253, 255, 257, 263, 274, 280, |
| 168 | 291, 297, 308, 314, 325, 331, 342, 344, |
| 169 | 349, 353, 355, 360, 364, 366, 371, 375, |
| 170 | 377, 382, 386, 388, 394, 396, 398, 404, |
| 171 | 406, 408, 414, 416, 418, 424, 426, 428, |
| 172 | 434, 445, 451, 462, 468, 479, 485, 496, |
| 173 | 502, 504, 509, 513, 515, 520, 524, 526, |
| 174 | 531, 535, 537, 542, 546, 548, 554, 556, |
| 175 | 558, 564, 566, 568, 574, 576, 578, 584, |
| 176 | 586, 588, 594, 605, 611, 622, 628, 639, |
| 177 | 645, 656, 662, 673, 684, 689, 694, 698, |
| 178 | 703, 707, 709, 714, 718, 720, 725, 729, |
| 179 | 731, 733, 739, 741, 743, 749, 751, 753, |
| 180 | 759, 761, 763, 769, 771, 773, 775, 795, |
| 181 | 811, 827, 842, 859, 875, 891, 906, 923, |
| 182 | 939, 955, 970, 987, 1003, 1019, 1034, 1051, |
| 183 | 1067, 1083, 1098, 1105, 1112, 1119, 1121, 1123, |
| 184 | 1125, 1132, 1141, 1150, 1158, 1165, 1174, 1182, |
| 185 | 1189, 1198, 1206, 1213, 1222, 1230, 1237, 1246, |
| 186 | 1254, 1270, 1286, 1303, 1320, 1337, 1354, 1370, |
| 187 | 1386, 1403, 1420, 1437, 1454, 1470, 1486, 1503, |
| 188 | 1520, 1537, 1554, 1570, 1586, 1603, 1620, 1637, |
| 189 | 1654, 1670, 1686, 1702, 1718, 1733, 1750, 1766, |
| 190 | 1782, 1797, 1814, 1830, 1846, 1861, 1878, 1894, |
| 191 | 1910, 1925, 1942, 1958, 1974, 1989, 1996, 2003, |
| 192 | 2010, 2012, 2014, 2016, 2023, 2032, 2041, 2049, |
| 193 | 2056, 2065, 2073, 2080, 2089, 2097, 2104, 2113, |
| 194 | 2121, 2128, 2137, 2145, 2161, 2177, 2194, 2211, |
| 195 | 2228, 2245, 2261, 2277, 2294, 2311, 2328, 2345, |
| 196 | 2361, 2377, 2394, 2411, 2428, 2445, 2461, 2477, |
| 197 | 2494, 2511, 2528, 2545, 2551, 2567, 2583, 2598, |
| 198 | 2615, 2631, 2647, 2662, 2679, 2695, 2711, 2726, |
| 199 | 2743, 2759, 2775, 2790, 2807, 2823, 2839, 2854, |
| 200 | 2861, 2868, 2875, 2877, 2879, 2881, 2888, 2897, |
| 201 | 2906, 2914, 2921, 2930, 2938, 2945, 2954, 2962, |
| 202 | 2969, 2978, 2986, 2993, 3002, 3010, 3026, 3042, |
| 203 | 3059, 3076, 3093, 3110, 3126, 3142, 3159, 3176, |
| 204 | 3193, 3210, 3226, 3242, 3259, 3276, 3293, 3310, |
| 205 | 3326, 3342, 3359, 3376, 3393, 3410, 3421, 3437, |
| 206 | 3443, 3459, 3475, 3490, 3507, 3523, 3539, 3554, |
| 207 | 3571, 3587, 3603, 3618, 3635, 3651, 3667, 3682, |
| 208 | 3699, 3715, 3731, 3746, 3753, 3760, 3767, 3769, |
| 209 | 3771, 3773, 3780, 3789, 3798, 3806, 3813, 3822, |
| 210 | 3830, 3837, 3846, 3854, 3861, 3870, 3878, 3885, |
| 211 | 3894, 3902, 3918, 3934, 3951, 3968, 3985, 4002, |
| 212 | 4018, 4034, 4051, 4068, 4085, 4102, 4118, 4134, |
| 213 | 4151, 4168, 4185, 4202, 4218, 4234, 4251, 4268, |
| 214 | 4285, 4302, 4318, 4336, 4352, 4370, 4381, 4388, |
| 215 | 4390, 4392, 4394, 4401, 4418, 4427, 4435, 4442, |
| 216 | 4451, 4459, 4466, 4475, 4483, 4490, 4499, 4507, |
| 217 | 4514, 4523, 4530, 4537, 4539, 4541, 4543, 4550 |
| 218 | }; |
| 219 | |
| 220 | static const short _indic_syllable_machine_indicies[] = { |
| 221 | 1, 0, 2, 2, 3, 1, 0, 4, |
| 222 | 4, 3, 0, 3, 0, 5, 5, 6, |
| 223 | 1, 0, 7, 7, 6, 0, 6, 0, |
| 224 | 8, 8, 9, 1, 0, 10, 10, 9, |
| 225 | 0, 9, 0, 11, 11, 12, 1, 0, |
| 226 | 13, 13, 12, 0, 12, 0, 14, 0, |
| 227 | 0, 0, 1, 0, 15, 0, 16, 0, |
| 228 | 17, 11, 11, 12, 1, 0, 18, 0, |
| 229 | 19, 0, 20, 8, 8, 9, 1, 0, |
| 230 | 21, 0, 22, 0, 23, 5, 5, 6, |
| 231 | 1, 0, 24, 0, 25, 0, 26, 2, |
| 232 | 2, 3, 1, 0, 26, 2, 2, 3, |
| 233 | 1, 0, 0, 0, 0, 27, 0, 28, |
| 234 | 2, 2, 3, 1, 0, 28, 2, 2, |
| 235 | 3, 1, 0, 0, 0, 0, 29, 0, |
| 236 | 30, 2, 2, 3, 1, 0, 30, 2, |
| 237 | 2, 3, 1, 0, 0, 0, 0, 31, |
| 238 | 0, 32, 2, 2, 3, 1, 0, 32, |
| 239 | 2, 2, 3, 1, 0, 0, 0, 0, |
| 240 | 33, 0, 34, 2, 2, 3, 1, 0, |
| 241 | 34, 2, 2, 3, 1, 0, 0, 0, |
| 242 | 0, 35, 0, 37, 36, 38, 38, 39, |
| 243 | 37, 36, 40, 40, 39, 36, 39, 36, |
| 244 | 41, 41, 42, 37, 36, 43, 43, 42, |
| 245 | 36, 42, 36, 44, 44, 45, 37, 36, |
| 246 | 46, 46, 45, 36, 45, 36, 47, 47, |
| 247 | 48, 37, 36, 49, 49, 48, 36, 48, |
| 248 | 36, 50, 36, 36, 36, 37, 36, 51, |
| 249 | 36, 52, 36, 53, 47, 47, 48, 37, |
| 250 | 36, 54, 36, 55, 36, 56, 44, 44, |
| 251 | 45, 37, 36, 57, 36, 58, 36, 59, |
| 252 | 41, 41, 42, 37, 36, 60, 36, 61, |
| 253 | 36, 62, 38, 38, 39, 37, 36, 62, |
| 254 | 38, 38, 39, 37, 36, 36, 36, 36, |
| 255 | 63, 36, 64, 38, 38, 39, 37, 36, |
| 256 | 64, 38, 38, 39, 37, 36, 36, 36, |
| 257 | 36, 65, 36, 66, 38, 38, 39, 37, |
| 258 | 36, 66, 38, 38, 39, 37, 36, 36, |
| 259 | 36, 36, 67, 36, 68, 38, 38, 39, |
| 260 | 37, 36, 68, 38, 38, 39, 37, 36, |
| 261 | 36, 36, 36, 69, 36, 70, 38, 38, |
| 262 | 39, 37, 36, 70, 38, 38, 39, 37, |
| 263 | 36, 36, 36, 36, 71, 36, 73, 72, |
| 264 | 74, 74, 75, 73, 72, 77, 77, 75, |
| 265 | 76, 75, 76, 78, 78, 79, 73, 72, |
| 266 | 80, 80, 79, 72, 79, 72, 81, 81, |
| 267 | 82, 73, 72, 83, 83, 82, 72, 82, |
| 268 | 72, 84, 84, 85, 73, 72, 86, 86, |
| 269 | 85, 72, 85, 72, 87, 72, 72, 72, |
| 270 | 73, 72, 88, 72, 89, 72, 90, 84, |
| 271 | 84, 85, 73, 72, 91, 72, 92, 72, |
| 272 | 93, 81, 81, 82, 73, 72, 94, 72, |
| 273 | 95, 72, 96, 78, 78, 79, 73, 72, |
| 274 | 97, 72, 98, 72, 99, 74, 74, 75, |
| 275 | 73, 72, 99, 74, 74, 75, 73, 72, |
| 276 | 72, 72, 72, 100, 72, 101, 74, 74, |
| 277 | 75, 73, 72, 101, 74, 74, 75, 73, |
| 278 | 72, 72, 72, 72, 102, 72, 103, 74, |
| 279 | 74, 75, 73, 72, 103, 74, 74, 75, |
| 280 | 73, 72, 72, 72, 72, 104, 72, 105, |
| 281 | 74, 74, 75, 73, 72, 105, 74, 74, |
| 282 | 75, 73, 72, 72, 72, 72, 106, 72, |
| 283 | 107, 74, 74, 75, 73, 72, 109, 108, |
| 284 | 110, 110, 111, 109, 108, 112, 112, 111, |
| 285 | 108, 111, 108, 113, 113, 114, 109, 108, |
| 286 | 115, 115, 114, 108, 114, 108, 116, 116, |
| 287 | 117, 109, 108, 118, 118, 117, 108, 117, |
| 288 | 108, 119, 119, 120, 109, 108, 121, 121, |
| 289 | 120, 108, 120, 108, 122, 108, 108, 108, |
| 290 | 109, 108, 123, 108, 124, 108, 125, 119, |
| 291 | 119, 120, 109, 108, 126, 108, 127, 108, |
| 292 | 128, 116, 116, 117, 109, 108, 129, 108, |
| 293 | 130, 108, 131, 113, 113, 114, 109, 108, |
| 294 | 132, 108, 133, 108, 134, 110, 110, 111, |
| 295 | 109, 108, 134, 110, 110, 111, 109, 108, |
| 296 | 108, 108, 108, 135, 108, 136, 110, 110, |
| 297 | 111, 109, 108, 136, 110, 110, 111, 109, |
| 298 | 108, 108, 108, 108, 137, 108, 138, 110, |
| 299 | 110, 111, 109, 108, 138, 110, 110, 111, |
| 300 | 109, 108, 108, 108, 108, 139, 108, 140, |
| 301 | 110, 110, 111, 109, 108, 140, 110, 110, |
| 302 | 111, 109, 108, 108, 108, 108, 141, 108, |
| 303 | 142, 110, 110, 111, 109, 108, 142, 110, |
| 304 | 110, 111, 109, 108, 108, 108, 108, 143, |
| 305 | 108, 107, 74, 74, 75, 73, 72, 72, |
| 306 | 72, 72, 144, 72, 77, 77, 75, 1, |
| 307 | 0, 145, 145, 146, 1, 0, 4, 4, |
| 308 | 146, 0, 147, 147, 148, 149, 0, 150, |
| 309 | 150, 148, 0, 148, 0, 151, 151, 152, |
| 310 | 149, 0, 153, 153, 152, 0, 152, 0, |
| 311 | 154, 154, 155, 149, 0, 156, 156, 155, |
| 312 | 0, 155, 0, 149, 0, 157, 0, 0, |
| 313 | 0, 149, 0, 158, 0, 159, 0, 160, |
| 314 | 154, 154, 155, 149, 0, 161, 0, 162, |
| 315 | 0, 163, 151, 151, 152, 149, 0, 164, |
| 316 | 0, 165, 0, 166, 147, 147, 148, 149, |
| 317 | 0, 167, 0, 168, 0, 170, 169, 172, |
| 318 | 173, 174, 175, 176, 177, 75, 73, 171, |
| 319 | 178, 179, 179, 144, 171, 180, 181, 182, |
| 320 | 183, 184, 171, 186, 187, 188, 189, 3, |
| 321 | 1, 185, 190, 185, 185, 35, 185, 185, |
| 322 | 185, 191, 185, 192, 187, 193, 193, 3, |
| 323 | 1, 185, 190, 185, 185, 185, 185, 185, |
| 324 | 185, 191, 185, 187, 193, 193, 3, 1, |
| 325 | 185, 190, 185, 185, 185, 185, 185, 185, |
| 326 | 191, 185, 194, 185, 185, 185, 16, 195, |
| 327 | 185, 1, 185, 190, 185, 185, 185, 185, |
| 328 | 185, 194, 185, 196, 197, 198, 199, 3, |
| 329 | 1, 185, 190, 185, 185, 33, 185, 185, |
| 330 | 185, 191, 185, 200, 197, 201, 201, 3, |
| 331 | 1, 185, 190, 185, 185, 185, 185, 185, |
| 332 | 185, 191, 185, 197, 201, 201, 3, 1, |
| 333 | 185, 190, 185, 185, 185, 185, 185, 185, |
| 334 | 191, 185, 202, 185, 185, 185, 16, 203, |
| 335 | 185, 1, 185, 190, 185, 185, 185, 185, |
| 336 | 185, 202, 185, 204, 205, 206, 207, 3, |
| 337 | 1, 185, 190, 185, 185, 31, 185, 185, |
| 338 | 185, 191, 185, 208, 205, 209, 209, 3, |
| 339 | 1, 185, 190, 185, 185, 185, 185, 185, |
| 340 | 185, 191, 185, 205, 209, 209, 3, 1, |
| 341 | 185, 190, 185, 185, 185, 185, 185, 185, |
| 342 | 191, 185, 210, 185, 185, 185, 16, 211, |
| 343 | 185, 1, 185, 190, 185, 185, 185, 185, |
| 344 | 185, 210, 185, 212, 213, 214, 215, 3, |
| 345 | 1, 185, 190, 185, 185, 29, 185, 185, |
| 346 | 185, 191, 185, 216, 213, 217, 217, 3, |
| 347 | 1, 185, 190, 185, 185, 185, 185, 185, |
| 348 | 185, 191, 185, 213, 217, 217, 3, 1, |
| 349 | 185, 190, 185, 185, 185, 185, 185, 185, |
| 350 | 191, 185, 218, 185, 185, 185, 16, 219, |
| 351 | 185, 1, 185, 190, 185, 185, 185, 185, |
| 352 | 185, 218, 185, 220, 221, 222, 223, 3, |
| 353 | 1, 185, 190, 185, 185, 27, 185, 185, |
| 354 | 185, 191, 185, 224, 221, 225, 225, 3, |
| 355 | 1, 185, 190, 185, 185, 185, 185, 185, |
| 356 | 185, 191, 185, 221, 225, 225, 3, 1, |
| 357 | 185, 190, 185, 185, 185, 185, 185, 185, |
| 358 | 191, 185, 16, 226, 185, 1, 185, 190, |
| 359 | 185, 227, 227, 185, 1, 185, 190, 185, |
| 360 | 228, 185, 185, 229, 185, 190, 185, 190, |
| 361 | 185, 230, 185, 231, 185, 228, 185, 185, |
| 362 | 185, 185, 190, 185, 16, 185, 232, 232, |
| 363 | 3, 1, 185, 190, 185, 233, 25, 234, |
| 364 | 235, 6, 1, 185, 190, 185, 25, 234, |
| 365 | 235, 6, 1, 185, 190, 185, 234, 234, |
| 366 | 6, 1, 185, 190, 185, 236, 22, 237, |
| 367 | 238, 9, 1, 185, 190, 185, 22, 237, |
| 368 | 238, 9, 1, 185, 190, 185, 237, 237, |
| 369 | 9, 1, 185, 190, 185, 239, 19, 240, |
| 370 | 241, 12, 1, 185, 190, 185, 19, 240, |
| 371 | 241, 12, 1, 185, 190, 185, 240, 240, |
| 372 | 12, 1, 185, 190, 185, 242, 16, 227, |
| 373 | 243, 185, 1, 185, 190, 185, 16, 227, |
| 374 | 243, 185, 1, 185, 190, 185, 227, 244, |
| 375 | 185, 1, 185, 190, 185, 16, 185, 227, |
| 376 | 227, 185, 1, 185, 190, 185, 221, 225, |
| 377 | 225, 3, 1, 185, 190, 185, 220, 221, |
| 378 | 225, 225, 3, 1, 185, 190, 185, 185, |
| 379 | 185, 185, 185, 185, 191, 185, 220, 221, |
| 380 | 222, 225, 3, 1, 185, 190, 185, 185, |
| 381 | 27, 185, 185, 185, 191, 185, 218, 185, |
| 382 | 245, 185, 232, 232, 3, 1, 185, 190, |
| 383 | 185, 185, 185, 185, 185, 218, 185, 218, |
| 384 | 185, 185, 185, 227, 227, 185, 1, 185, |
| 385 | 190, 185, 185, 185, 185, 185, 218, 185, |
| 386 | 218, 185, 185, 185, 227, 246, 185, 1, |
| 387 | 185, 190, 185, 185, 185, 185, 185, 218, |
| 388 | 185, 218, 185, 245, 185, 227, 227, 185, |
| 389 | 1, 185, 190, 185, 185, 185, 185, 185, |
| 390 | 218, 185, 212, 213, 217, 217, 3, 1, |
| 391 | 185, 190, 185, 185, 185, 185, 185, 185, |
| 392 | 191, 185, 212, 213, 214, 217, 3, 1, |
| 393 | 185, 190, 185, 185, 29, 185, 185, 185, |
| 394 | 191, 185, 210, 185, 247, 185, 232, 232, |
| 395 | 3, 1, 185, 190, 185, 185, 185, 185, |
| 396 | 185, 210, 185, 210, 185, 185, 185, 227, |
| 397 | 227, 185, 1, 185, 190, 185, 185, 185, |
| 398 | 185, 185, 210, 185, 210, 185, 185, 185, |
| 399 | 227, 248, 185, 1, 185, 190, 185, 185, |
| 400 | 185, 185, 185, 210, 185, 210, 185, 247, |
| 401 | 185, 227, 227, 185, 1, 185, 190, 185, |
| 402 | 185, 185, 185, 185, 210, 185, 204, 205, |
| 403 | 209, 209, 3, 1, 185, 190, 185, 185, |
| 404 | 185, 185, 185, 185, 191, 185, 204, 205, |
| 405 | 206, 209, 3, 1, 185, 190, 185, 185, |
| 406 | 31, 185, 185, 185, 191, 185, 202, 185, |
| 407 | 249, 185, 232, 232, 3, 1, 185, 190, |
| 408 | 185, 185, 185, 185, 185, 202, 185, 202, |
| 409 | 185, 185, 185, 227, 227, 185, 1, 185, |
| 410 | 190, 185, 185, 185, 185, 185, 202, 185, |
| 411 | 202, 185, 185, 185, 227, 250, 185, 1, |
| 412 | 185, 190, 185, 185, 185, 185, 185, 202, |
| 413 | 185, 202, 185, 249, 185, 227, 227, 185, |
| 414 | 1, 185, 190, 185, 185, 185, 185, 185, |
| 415 | 202, 185, 196, 197, 201, 201, 3, 1, |
| 416 | 185, 190, 185, 185, 185, 185, 185, 185, |
| 417 | 191, 185, 196, 197, 198, 201, 3, 1, |
| 418 | 185, 190, 185, 185, 33, 185, 185, 185, |
| 419 | 191, 185, 194, 185, 251, 185, 232, 232, |
| 420 | 3, 1, 185, 190, 185, 185, 185, 185, |
| 421 | 185, 194, 185, 194, 185, 185, 185, 227, |
| 422 | 227, 185, 1, 185, 190, 185, 185, 185, |
| 423 | 185, 185, 194, 185, 194, 185, 185, 185, |
| 424 | 227, 252, 185, 1, 185, 190, 185, 185, |
| 425 | 185, 185, 185, 194, 185, 194, 185, 251, |
| 426 | 185, 227, 227, 185, 1, 185, 190, 185, |
| 427 | 185, 185, 185, 185, 194, 185, 186, 187, |
| 428 | 193, 193, 3, 1, 185, 190, 185, 185, |
| 429 | 185, 185, 185, 185, 191, 185, 186, 187, |
| 430 | 188, 193, 3, 1, 185, 190, 185, 185, |
| 431 | 35, 185, 185, 185, 191, 185, 254, 255, |
| 432 | 256, 257, 39, 37, 253, 258, 253, 253, |
| 433 | 71, 253, 253, 253, 259, 253, 260, 255, |
| 434 | 261, 257, 39, 37, 253, 258, 253, 253, |
| 435 | 253, 253, 253, 253, 259, 253, 255, 261, |
| 436 | 257, 39, 37, 253, 258, 253, 253, 253, |
| 437 | 253, 253, 253, 259, 253, 262, 253, 253, |
| 438 | 253, 52, 263, 253, 37, 253, 258, 253, |
| 439 | 253, 253, 253, 253, 262, 253, 264, 265, |
| 440 | 266, 267, 39, 37, 253, 258, 253, 253, |
| 441 | 69, 253, 253, 253, 259, 253, 268, 265, |
| 442 | 269, 269, 39, 37, 253, 258, 253, 253, |
| 443 | 253, 253, 253, 253, 259, 253, 265, 269, |
| 444 | 269, 39, 37, 253, 258, 253, 253, 253, |
| 445 | 253, 253, 253, 259, 253, 270, 253, 253, |
| 446 | 253, 52, 271, 253, 37, 253, 258, 253, |
| 447 | 253, 253, 253, 253, 270, 253, 272, 273, |
| 448 | 274, 275, 39, 37, 253, 258, 253, 253, |
| 449 | 67, 253, 253, 253, 259, 253, 276, 273, |
| 450 | 277, 277, 39, 37, 253, 258, 253, 253, |
| 451 | 253, 253, 253, 253, 259, 253, 273, 277, |
| 452 | 277, 39, 37, 253, 258, 253, 253, 253, |
| 453 | 253, 253, 253, 259, 253, 278, 253, 253, |
| 454 | 253, 52, 279, 253, 37, 253, 258, 253, |
| 455 | 253, 253, 253, 253, 278, 253, 280, 281, |
| 456 | 282, 283, 39, 37, 253, 258, 253, 253, |
| 457 | 65, 253, 253, 253, 259, 253, 284, 281, |
| 458 | 285, 285, 39, 37, 253, 258, 253, 253, |
| 459 | 253, 253, 253, 253, 259, 253, 281, 285, |
| 460 | 285, 39, 37, 253, 258, 253, 253, 253, |
| 461 | 253, 253, 253, 259, 253, 286, 253, 253, |
| 462 | 253, 52, 287, 253, 37, 253, 258, 253, |
| 463 | 253, 253, 253, 253, 286, 253, 288, 289, |
| 464 | 290, 291, 39, 37, 253, 258, 253, 253, |
| 465 | 63, 253, 253, 253, 259, 253, 292, 289, |
| 466 | 293, 293, 39, 37, 253, 258, 253, 253, |
| 467 | 253, 253, 253, 253, 259, 253, 289, 293, |
| 468 | 293, 39, 37, 253, 258, 253, 253, 253, |
| 469 | 253, 253, 253, 259, 253, 52, 294, 253, |
| 470 | 37, 253, 258, 253, 295, 295, 253, 37, |
| 471 | 253, 258, 253, 296, 253, 253, 297, 253, |
| 472 | 258, 253, 258, 253, 298, 253, 299, 253, |
| 473 | 296, 253, 253, 253, 253, 258, 253, 52, |
| 474 | 253, 300, 300, 39, 37, 253, 258, 253, |
| 475 | 301, 61, 302, 303, 42, 37, 253, 258, |
| 476 | 253, 61, 302, 303, 42, 37, 253, 258, |
| 477 | 253, 302, 302, 42, 37, 253, 258, 253, |
| 478 | 304, 58, 305, 306, 45, 37, 253, 258, |
| 479 | 253, 58, 305, 306, 45, 37, 253, 258, |
| 480 | 253, 305, 305, 45, 37, 253, 258, 253, |
| 481 | 307, 55, 308, 309, 48, 37, 253, 258, |
| 482 | 253, 55, 308, 309, 48, 37, 253, 258, |
| 483 | 253, 308, 308, 48, 37, 253, 258, 253, |
| 484 | 310, 52, 295, 311, 253, 37, 253, 258, |
| 485 | 253, 52, 295, 311, 253, 37, 253, 258, |
| 486 | 253, 295, 312, 253, 37, 253, 258, 253, |
| 487 | 52, 253, 295, 295, 253, 37, 253, 258, |
| 488 | 253, 289, 293, 293, 39, 37, 253, 258, |
| 489 | 253, 288, 289, 293, 293, 39, 37, 253, |
| 490 | 258, 253, 253, 253, 253, 253, 253, 259, |
| 491 | 253, 288, 289, 290, 293, 39, 37, 253, |
| 492 | 258, 253, 253, 63, 253, 253, 253, 259, |
| 493 | 253, 286, 253, 313, 253, 300, 300, 39, |
| 494 | 37, 253, 258, 253, 253, 253, 253, 253, |
| 495 | 286, 253, 286, 253, 253, 253, 295, 295, |
| 496 | 253, 37, 253, 258, 253, 253, 253, 253, |
| 497 | 253, 286, 253, 286, 253, 253, 253, 295, |
| 498 | 314, 253, 37, 253, 258, 253, 253, 253, |
| 499 | 253, 253, 286, 253, 286, 253, 313, 253, |
| 500 | 295, 295, 253, 37, 253, 258, 253, 253, |
| 501 | 253, 253, 253, 286, 253, 280, 281, 285, |
| 502 | 285, 39, 37, 253, 258, 253, 253, 253, |
| 503 | 253, 253, 253, 259, 253, 280, 281, 282, |
| 504 | 285, 39, 37, 253, 258, 253, 253, 65, |
| 505 | 253, 253, 253, 259, 253, 278, 253, 315, |
| 506 | 253, 300, 300, 39, 37, 253, 258, 253, |
| 507 | 253, 253, 253, 253, 278, 253, 278, 253, |
| 508 | 253, 253, 295, 295, 253, 37, 253, 258, |
| 509 | 253, 253, 253, 253, 253, 278, 253, 278, |
| 510 | 253, 253, 253, 295, 316, 253, 37, 253, |
| 511 | 258, 253, 253, 253, 253, 253, 278, 253, |
| 512 | 278, 253, 315, 253, 295, 295, 253, 37, |
| 513 | 253, 258, 253, 253, 253, 253, 253, 278, |
| 514 | 253, 272, 273, 277, 277, 39, 37, 253, |
| 515 | 258, 253, 253, 253, 253, 253, 253, 259, |
| 516 | 253, 272, 273, 274, 277, 39, 37, 253, |
| 517 | 258, 253, 253, 67, 253, 253, 253, 259, |
| 518 | 253, 270, 253, 317, 253, 300, 300, 39, |
| 519 | 37, 253, 258, 253, 253, 253, 253, 253, |
| 520 | 270, 253, 270, 253, 253, 253, 295, 295, |
| 521 | 253, 37, 253, 258, 253, 253, 253, 253, |
| 522 | 253, 270, 253, 270, 253, 253, 253, 295, |
| 523 | 318, 253, 37, 253, 258, 253, 253, 253, |
| 524 | 253, 253, 270, 253, 270, 253, 317, 253, |
| 525 | 295, 295, 253, 37, 253, 258, 253, 253, |
| 526 | 253, 253, 253, 270, 253, 264, 265, 269, |
| 527 | 269, 39, 37, 253, 258, 253, 253, 253, |
| 528 | 253, 253, 253, 259, 253, 264, 265, 266, |
| 529 | 269, 39, 37, 253, 258, 253, 253, 69, |
| 530 | 253, 253, 253, 259, 253, 262, 253, 319, |
| 531 | 253, 300, 300, 39, 37, 253, 258, 253, |
| 532 | 253, 253, 253, 253, 262, 253, 262, 253, |
| 533 | 253, 253, 295, 295, 253, 37, 253, 258, |
| 534 | 253, 253, 253, 253, 253, 262, 253, 262, |
| 535 | 253, 253, 253, 295, 320, 253, 37, 253, |
| 536 | 258, 253, 253, 253, 253, 253, 262, 253, |
| 537 | 262, 253, 319, 253, 295, 295, 253, 37, |
| 538 | 253, 258, 253, 253, 253, 253, 253, 262, |
| 539 | 253, 70, 38, 38, 39, 37, 253, 254, |
| 540 | 255, 261, 257, 39, 37, 253, 258, 253, |
| 541 | 253, 253, 253, 253, 253, 259, 253, 322, |
| 542 | 175, 323, 323, 75, 73, 321, 178, 321, |
| 543 | 321, 321, 321, 321, 321, 182, 321, 175, |
| 544 | 323, 323, 75, 73, 321, 178, 321, 321, |
| 545 | 321, 321, 321, 321, 182, 321, 324, 321, |
| 546 | 321, 321, 89, 325, 321, 73, 321, 178, |
| 547 | 321, 321, 321, 321, 321, 324, 321, 326, |
| 548 | 327, 328, 329, 75, 73, 321, 178, 321, |
| 549 | 321, 106, 321, 321, 321, 182, 321, 330, |
| 550 | 327, 331, 331, 75, 73, 321, 178, 321, |
| 551 | 321, 321, 321, 321, 321, 182, 321, 327, |
| 552 | 331, 331, 75, 73, 321, 178, 321, 321, |
| 553 | 321, 321, 321, 321, 182, 321, 332, 321, |
| 554 | 321, 321, 89, 333, 321, 73, 321, 178, |
| 555 | 321, 321, 321, 321, 321, 332, 321, 334, |
| 556 | 335, 336, 337, 75, 73, 321, 178, 321, |
| 557 | 321, 104, 321, 321, 321, 182, 321, 338, |
| 558 | 335, 339, 339, 75, 73, 321, 178, 321, |
| 559 | 321, 321, 321, 321, 321, 182, 321, 335, |
| 560 | 339, 339, 75, 73, 321, 178, 321, 321, |
| 561 | 321, 321, 321, 321, 182, 321, 340, 321, |
| 562 | 321, 321, 89, 341, 321, 73, 321, 178, |
| 563 | 321, 321, 321, 321, 321, 340, 321, 342, |
| 564 | 343, 344, 345, 75, 73, 321, 178, 321, |
| 565 | 321, 102, 321, 321, 321, 182, 321, 346, |
| 566 | 343, 347, 347, 75, 73, 321, 178, 321, |
| 567 | 321, 321, 321, 321, 321, 182, 321, 343, |
| 568 | 347, 347, 75, 73, 321, 178, 321, 321, |
| 569 | 321, 321, 321, 321, 182, 321, 348, 321, |
| 570 | 321, 321, 89, 349, 321, 73, 321, 178, |
| 571 | 321, 321, 321, 321, 321, 348, 321, 350, |
| 572 | 351, 352, 353, 75, 73, 321, 178, 321, |
| 573 | 321, 100, 321, 321, 321, 182, 321, 354, |
| 574 | 351, 355, 355, 75, 73, 321, 178, 321, |
| 575 | 321, 321, 321, 321, 321, 182, 321, 351, |
| 576 | 355, 355, 75, 73, 321, 178, 321, 321, |
| 577 | 321, 321, 321, 321, 182, 321, 89, 356, |
| 578 | 321, 73, 321, 178, 321, 357, 357, 321, |
| 579 | 73, 321, 178, 321, 358, 321, 321, 359, |
| 580 | 321, 178, 321, 178, 321, 360, 321, 361, |
| 581 | 321, 358, 321, 321, 321, 321, 178, 321, |
| 582 | 89, 321, 362, 362, 75, 73, 321, 178, |
| 583 | 321, 363, 98, 364, 365, 79, 73, 321, |
| 584 | 178, 321, 98, 364, 365, 79, 73, 321, |
| 585 | 178, 321, 364, 364, 79, 73, 321, 178, |
| 586 | 321, 366, 95, 367, 368, 82, 73, 321, |
| 587 | 178, 321, 95, 367, 368, 82, 73, 321, |
| 588 | 178, 321, 367, 367, 82, 73, 321, 178, |
| 589 | 321, 369, 92, 370, 371, 85, 73, 321, |
| 590 | 178, 321, 92, 370, 371, 85, 73, 321, |
| 591 | 178, 321, 370, 370, 85, 73, 321, 178, |
| 592 | 321, 372, 89, 357, 373, 321, 73, 321, |
| 593 | 178, 321, 89, 357, 373, 321, 73, 321, |
| 594 | 178, 321, 357, 374, 321, 73, 321, 178, |
| 595 | 321, 89, 321, 357, 357, 321, 73, 321, |
| 596 | 178, 321, 351, 355, 355, 75, 73, 321, |
| 597 | 178, 321, 350, 351, 355, 355, 75, 73, |
| 598 | 321, 178, 321, 321, 321, 321, 321, 321, |
| 599 | 182, 321, 350, 351, 352, 355, 75, 73, |
| 600 | 321, 178, 321, 321, 100, 321, 321, 321, |
| 601 | 182, 321, 348, 321, 375, 321, 362, 362, |
| 602 | 75, 73, 321, 178, 321, 321, 321, 321, |
| 603 | 321, 348, 321, 348, 321, 321, 321, 357, |
| 604 | 357, 321, 73, 321, 178, 321, 321, 321, |
| 605 | 321, 321, 348, 321, 348, 321, 321, 321, |
| 606 | 357, 376, 321, 73, 321, 178, 321, 321, |
| 607 | 321, 321, 321, 348, 321, 348, 321, 375, |
| 608 | 321, 357, 357, 321, 73, 321, 178, 321, |
| 609 | 321, 321, 321, 321, 348, 321, 342, 343, |
| 610 | 347, 347, 75, 73, 321, 178, 321, 321, |
| 611 | 321, 321, 321, 321, 182, 321, 342, 343, |
| 612 | 344, 347, 75, 73, 321, 178, 321, 321, |
| 613 | 102, 321, 321, 321, 182, 321, 340, 321, |
| 614 | 377, 321, 362, 362, 75, 73, 321, 178, |
| 615 | 321, 321, 321, 321, 321, 340, 321, 340, |
| 616 | 321, 321, 321, 357, 357, 321, 73, 321, |
| 617 | 178, 321, 321, 321, 321, 321, 340, 321, |
| 618 | 340, 321, 321, 321, 357, 378, 321, 73, |
| 619 | 321, 178, 321, 321, 321, 321, 321, 340, |
| 620 | 321, 340, 321, 377, 321, 357, 357, 321, |
| 621 | 73, 321, 178, 321, 321, 321, 321, 321, |
| 622 | 340, 321, 334, 335, 339, 339, 75, 73, |
| 623 | 321, 178, 321, 321, 321, 321, 321, 321, |
| 624 | 182, 321, 334, 335, 336, 339, 75, 73, |
| 625 | 321, 178, 321, 321, 104, 321, 321, 321, |
| 626 | 182, 321, 332, 321, 379, 321, 362, 362, |
| 627 | 75, 73, 321, 178, 321, 321, 321, 321, |
| 628 | 321, 332, 321, 332, 321, 321, 321, 357, |
| 629 | 357, 321, 73, 321, 178, 321, 321, 321, |
| 630 | 321, 321, 332, 321, 332, 321, 321, 321, |
| 631 | 357, 380, 321, 73, 321, 178, 321, 321, |
| 632 | 321, 321, 321, 332, 321, 332, 321, 379, |
| 633 | 321, 357, 357, 321, 73, 321, 178, 321, |
| 634 | 321, 321, 321, 321, 332, 321, 326, 327, |
| 635 | 331, 331, 75, 73, 321, 178, 321, 321, |
| 636 | 321, 321, 321, 321, 182, 321, 326, 327, |
| 637 | 328, 331, 75, 73, 321, 178, 321, 321, |
| 638 | 106, 321, 321, 321, 182, 321, 324, 321, |
| 639 | 381, 321, 362, 362, 75, 73, 321, 178, |
| 640 | 321, 321, 321, 321, 321, 324, 321, 324, |
| 641 | 321, 321, 321, 357, 357, 321, 73, 321, |
| 642 | 178, 321, 321, 321, 321, 321, 324, 321, |
| 643 | 324, 321, 321, 321, 357, 382, 321, 73, |
| 644 | 321, 178, 321, 321, 321, 321, 321, 324, |
| 645 | 321, 324, 321, 381, 321, 357, 357, 321, |
| 646 | 73, 321, 178, 321, 321, 321, 321, 321, |
| 647 | 324, 321, 107, 74, 74, 75, 73, 383, |
| 648 | 383, 383, 383, 144, 383, 174, 175, 323, |
| 649 | 323, 75, 73, 321, 178, 321, 321, 321, |
| 650 | 321, 321, 321, 182, 321, 107, 74, 74, |
| 651 | 75, 73, 383, 385, 386, 387, 388, 111, |
| 652 | 109, 384, 389, 384, 384, 143, 384, 384, |
| 653 | 384, 390, 384, 391, 386, 388, 388, 111, |
| 654 | 109, 384, 389, 384, 384, 384, 384, 384, |
| 655 | 384, 390, 384, 386, 388, 388, 111, 109, |
| 656 | 384, 389, 384, 384, 384, 384, 384, 384, |
| 657 | 390, 384, 392, 384, 384, 384, 124, 393, |
| 658 | 384, 109, 384, 389, 384, 384, 384, 384, |
| 659 | 384, 392, 384, 394, 395, 396, 397, 111, |
| 660 | 109, 384, 389, 384, 384, 141, 384, 384, |
| 661 | 384, 390, 384, 398, 395, 399, 399, 111, |
| 662 | 109, 384, 389, 384, 384, 384, 384, 384, |
| 663 | 384, 390, 384, 395, 399, 399, 111, 109, |
| 664 | 384, 389, 384, 384, 384, 384, 384, 384, |
| 665 | 390, 384, 400, 384, 384, 384, 124, 401, |
| 666 | 384, 109, 384, 389, 384, 384, 384, 384, |
| 667 | 384, 400, 384, 402, 403, 404, 405, 111, |
| 668 | 109, 384, 389, 384, 384, 139, 384, 384, |
| 669 | 384, 390, 384, 406, 403, 407, 407, 111, |
| 670 | 109, 384, 389, 384, 384, 384, 384, 384, |
| 671 | 384, 390, 384, 403, 407, 407, 111, 109, |
| 672 | 384, 389, 384, 384, 384, 384, 384, 384, |
| 673 | 390, 384, 408, 384, 384, 384, 124, 409, |
| 674 | 384, 109, 384, 389, 384, 384, 384, 384, |
| 675 | 384, 408, 384, 410, 411, 412, 413, 111, |
| 676 | 109, 384, 389, 384, 384, 137, 384, 384, |
| 677 | 384, 390, 384, 414, 411, 415, 415, 111, |
| 678 | 109, 384, 389, 384, 384, 384, 384, 384, |
| 679 | 384, 390, 384, 411, 415, 415, 111, 109, |
| 680 | 384, 389, 384, 384, 384, 384, 384, 384, |
| 681 | 390, 384, 416, 384, 384, 384, 124, 417, |
| 682 | 384, 109, 384, 389, 384, 384, 384, 384, |
| 683 | 384, 416, 384, 418, 419, 420, 421, 111, |
| 684 | 109, 384, 389, 384, 384, 135, 384, 384, |
| 685 | 384, 390, 384, 422, 419, 423, 423, 111, |
| 686 | 109, 384, 389, 384, 384, 384, 384, 384, |
| 687 | 384, 390, 384, 419, 423, 423, 111, 109, |
| 688 | 384, 389, 384, 384, 384, 384, 384, 384, |
| 689 | 390, 384, 124, 424, 384, 109, 384, 389, |
| 690 | 384, 425, 425, 384, 109, 384, 389, 384, |
| 691 | 426, 384, 384, 427, 384, 389, 384, 389, |
| 692 | 384, 428, 384, 429, 384, 426, 384, 384, |
| 693 | 384, 384, 389, 384, 124, 384, 430, 430, |
| 694 | 111, 109, 384, 389, 384, 431, 133, 432, |
| 695 | 433, 114, 109, 384, 389, 384, 133, 432, |
| 696 | 433, 114, 109, 384, 389, 384, 432, 432, |
| 697 | 114, 109, 384, 389, 384, 434, 130, 435, |
| 698 | 436, 117, 109, 384, 389, 384, 130, 435, |
| 699 | 436, 117, 109, 384, 389, 384, 435, 435, |
| 700 | 117, 109, 384, 389, 384, 437, 127, 438, |
| 701 | 439, 120, 109, 384, 389, 384, 127, 438, |
| 702 | 439, 120, 109, 384, 389, 384, 438, 438, |
| 703 | 120, 109, 384, 389, 384, 440, 124, 425, |
| 704 | 441, 384, 109, 384, 389, 384, 124, 425, |
| 705 | 441, 384, 109, 384, 389, 384, 425, 442, |
| 706 | 384, 109, 384, 389, 384, 124, 384, 425, |
| 707 | 425, 384, 109, 384, 389, 384, 419, 423, |
| 708 | 423, 111, 109, 384, 389, 384, 418, 419, |
| 709 | 423, 423, 111, 109, 384, 389, 384, 384, |
| 710 | 384, 384, 384, 384, 390, 384, 418, 419, |
| 711 | 420, 423, 111, 109, 384, 389, 384, 384, |
| 712 | 135, 384, 384, 384, 390, 384, 416, 384, |
| 713 | 443, 384, 430, 430, 111, 109, 384, 389, |
| 714 | 384, 384, 384, 384, 384, 416, 384, 416, |
| 715 | 384, 384, 384, 425, 425, 384, 109, 384, |
| 716 | 389, 384, 384, 384, 384, 384, 416, 384, |
| 717 | 416, 384, 384, 384, 425, 444, 384, 109, |
| 718 | 384, 389, 384, 384, 384, 384, 384, 416, |
| 719 | 384, 416, 384, 443, 384, 425, 425, 384, |
| 720 | 109, 384, 389, 384, 384, 384, 384, 384, |
| 721 | 416, 384, 410, 411, 415, 415, 111, 109, |
| 722 | 384, 389, 384, 384, 384, 384, 384, 384, |
| 723 | 390, 384, 410, 411, 412, 415, 111, 109, |
| 724 | 384, 389, 384, 384, 137, 384, 384, 384, |
| 725 | 390, 384, 408, 384, 445, 384, 430, 430, |
| 726 | 111, 109, 384, 389, 384, 384, 384, 384, |
| 727 | 384, 408, 384, 408, 384, 384, 384, 425, |
| 728 | 425, 384, 109, 384, 389, 384, 384, 384, |
| 729 | 384, 384, 408, 384, 408, 384, 384, 384, |
| 730 | 425, 446, 384, 109, 384, 389, 384, 384, |
| 731 | 384, 384, 384, 408, 384, 408, 384, 445, |
| 732 | 384, 425, 425, 384, 109, 384, 389, 384, |
| 733 | 384, 384, 384, 384, 408, 384, 402, 403, |
| 734 | 407, 407, 111, 109, 384, 389, 384, 384, |
| 735 | 384, 384, 384, 384, 390, 384, 402, 403, |
| 736 | 404, 407, 111, 109, 384, 389, 384, 384, |
| 737 | 139, 384, 384, 384, 390, 384, 400, 384, |
| 738 | 447, 384, 430, 430, 111, 109, 384, 389, |
| 739 | 384, 384, 384, 384, 384, 400, 384, 400, |
| 740 | 384, 384, 384, 425, 425, 384, 109, 384, |
| 741 | 389, 384, 384, 384, 384, 384, 400, 384, |
| 742 | 400, 384, 384, 384, 425, 448, 384, 109, |
| 743 | 384, 389, 384, 384, 384, 384, 384, 400, |
| 744 | 384, 400, 384, 447, 384, 425, 425, 384, |
| 745 | 109, 384, 389, 384, 384, 384, 384, 384, |
| 746 | 400, 384, 394, 395, 399, 399, 111, 109, |
| 747 | 384, 389, 384, 384, 384, 384, 384, 384, |
| 748 | 390, 384, 394, 395, 396, 399, 111, 109, |
| 749 | 384, 389, 384, 384, 141, 384, 384, 384, |
| 750 | 390, 384, 392, 384, 449, 384, 430, 430, |
| 751 | 111, 109, 384, 389, 384, 384, 384, 384, |
| 752 | 384, 392, 384, 392, 384, 384, 384, 425, |
| 753 | 425, 384, 109, 384, 389, 384, 384, 384, |
| 754 | 384, 384, 392, 384, 392, 384, 384, 384, |
| 755 | 425, 450, 384, 109, 384, 389, 384, 384, |
| 756 | 384, 384, 384, 392, 384, 392, 384, 449, |
| 757 | 384, 425, 425, 384, 109, 384, 389, 384, |
| 758 | 384, 384, 384, 384, 392, 384, 385, 386, |
| 759 | 388, 388, 111, 109, 384, 389, 384, 384, |
| 760 | 384, 384, 384, 384, 390, 384, 172, 173, |
| 761 | 174, 175, 451, 323, 75, 73, 321, 178, |
| 762 | 179, 179, 144, 321, 321, 172, 182, 321, |
| 763 | 186, 452, 188, 189, 3, 1, 185, 190, |
| 764 | 185, 185, 35, 185, 185, 185, 191, 185, |
| 765 | 194, 173, 174, 175, 453, 454, 75, 149, |
| 766 | 185, 455, 185, 179, 144, 185, 185, 194, |
| 767 | 182, 185, 107, 456, 456, 75, 149, 185, |
| 768 | 190, 185, 185, 144, 185, 457, 185, 185, |
| 769 | 458, 185, 455, 185, 455, 185, 459, 185, |
| 770 | 231, 185, 457, 185, 185, 185, 185, 455, |
| 771 | 185, 194, 185, 251, 107, 460, 460, 146, |
| 772 | 149, 185, 190, 185, 185, 185, 185, 185, |
| 773 | 194, 185, 461, 168, 462, 463, 148, 149, |
| 774 | 185, 455, 185, 168, 462, 463, 148, 149, |
| 775 | 185, 455, 185, 462, 462, 148, 149, 185, |
| 776 | 455, 185, 464, 165, 465, 466, 152, 149, |
| 777 | 185, 455, 185, 165, 465, 466, 152, 149, |
| 778 | 185, 455, 185, 465, 465, 152, 149, 185, |
| 779 | 455, 185, 467, 162, 468, 469, 155, 149, |
| 780 | 185, 455, 185, 162, 468, 469, 155, 149, |
| 781 | 185, 455, 185, 468, 468, 155, 149, 185, |
| 782 | 455, 185, 470, 159, 471, 472, 185, 149, |
| 783 | 185, 455, 185, 159, 471, 472, 185, 149, |
| 784 | 185, 455, 185, 471, 471, 185, 149, 185, |
| 785 | 455, 185, 474, 473, 475, 475, 473, 170, |
| 786 | 473, 476, 473, 475, 475, 473, 170, 473, |
| 787 | 476, 473, 477, 473, 473, 478, 473, 476, |
| 788 | 473, 476, 473, 479, 473, 480, 473, 477, |
| 789 | 473, 473, 473, 473, 476, 473, 172, 383, |
| 790 | 383, 383, 383, 383, 383, 383, 383, 383, |
| 791 | 179, 383, 383, 383, 383, 172, 383, 0 |
| 792 | }; |
| 793 | |
| 794 | static const short _indic_syllable_machine_trans_targs[] = { |
| 795 | 166, 188, 2, 194, 3, 5, 197, 6, |
| 796 | 8, 200, 9, 11, 203, 12, 14, 15, |
| 797 | 187, 17, 18, 202, 20, 21, 199, 23, |
| 798 | 24, 196, 205, 208, 212, 214, 218, 220, |
| 799 | 224, 226, 230, 232, 166, 255, 37, 261, |
| 800 | 38, 40, 264, 41, 43, 267, 44, 46, |
| 801 | 270, 47, 49, 50, 254, 52, 53, 269, |
| 802 | 55, 56, 266, 58, 59, 263, 272, 275, |
| 803 | 279, 281, 285, 287, 291, 293, 297, 300, |
| 804 | 166, 321, 72, 327, 166, 73, 75, 330, |
| 805 | 76, 78, 333, 79, 81, 336, 82, 84, |
| 806 | 85, 320, 87, 88, 335, 90, 91, 332, |
| 807 | 93, 94, 329, 338, 341, 345, 347, 351, |
| 808 | 353, 357, 359, 363, 166, 389, 106, 395, |
| 809 | 107, 109, 398, 110, 112, 401, 113, 115, |
| 810 | 404, 116, 118, 119, 388, 121, 122, 403, |
| 811 | 124, 125, 400, 127, 128, 397, 406, 409, |
| 812 | 413, 415, 419, 421, 425, 427, 431, 433, |
| 813 | 366, 142, 444, 144, 447, 438, 145, 147, |
| 814 | 450, 148, 150, 453, 151, 154, 155, 455, |
| 815 | 157, 158, 452, 160, 161, 449, 163, 164, |
| 816 | 446, 166, 458, 166, 167, 234, 301, 303, |
| 817 | 365, 367, 323, 368, 434, 435, 340, 456, |
| 818 | 463, 166, 168, 170, 34, 233, 190, 207, |
| 819 | 169, 33, 171, 228, 172, 174, 32, 227, |
| 820 | 173, 31, 175, 222, 176, 178, 30, 221, |
| 821 | 177, 29, 179, 216, 180, 182, 28, 215, |
| 822 | 181, 27, 183, 210, 184, 186, 26, 209, |
| 823 | 185, 25, 193, 0, 189, 192, 191, 166, |
| 824 | 1, 195, 4, 22, 198, 7, 19, 201, |
| 825 | 10, 16, 204, 13, 206, 211, 213, 217, |
| 826 | 219, 223, 225, 229, 231, 166, 235, 237, |
| 827 | 69, 299, 257, 274, 236, 68, 238, 295, |
| 828 | 239, 241, 67, 294, 240, 66, 242, 289, |
| 829 | 243, 245, 65, 288, 244, 64, 246, 283, |
| 830 | 247, 249, 63, 282, 248, 62, 250, 277, |
| 831 | 251, 253, 61, 276, 252, 60, 260, 35, |
| 832 | 256, 259, 258, 166, 36, 262, 39, 57, |
| 833 | 265, 42, 54, 268, 45, 51, 271, 48, |
| 834 | 273, 278, 280, 284, 286, 290, 292, 296, |
| 835 | 298, 166, 302, 103, 304, 361, 305, 307, |
| 836 | 102, 360, 306, 101, 308, 355, 309, 311, |
| 837 | 100, 354, 310, 99, 312, 349, 313, 315, |
| 838 | 98, 348, 314, 97, 316, 343, 317, 319, |
| 839 | 96, 342, 318, 95, 326, 70, 322, 325, |
| 840 | 324, 166, 71, 328, 74, 92, 331, 77, |
| 841 | 89, 334, 80, 86, 337, 83, 339, 344, |
| 842 | 346, 350, 352, 356, 358, 362, 364, 166, |
| 843 | 166, 369, 371, 138, 137, 391, 408, 370, |
| 844 | 372, 429, 373, 375, 136, 428, 374, 135, |
| 845 | 376, 423, 377, 379, 134, 422, 378, 133, |
| 846 | 380, 417, 381, 383, 132, 416, 382, 131, |
| 847 | 384, 411, 385, 387, 130, 410, 386, 129, |
| 848 | 394, 104, 390, 393, 392, 166, 105, 396, |
| 849 | 108, 126, 399, 111, 123, 402, 114, 120, |
| 850 | 405, 117, 407, 412, 414, 418, 420, 424, |
| 851 | 426, 430, 432, 139, 436, 437, 443, 440, |
| 852 | 140, 439, 442, 441, 141, 445, 143, 162, |
| 853 | 448, 146, 159, 451, 149, 156, 454, 152, |
| 854 | 153, 166, 457, 165, 460, 459, 462, 461, |
| 855 | 166 |
| 856 | }; |
| 857 | |
| 858 | static const char _indic_syllable_machine_trans_actions[] = { |
| 859 | 1, 0, 0, 2, 0, 0, 2, 0, |
| 860 | 0, 2, 0, 0, 2, 0, 0, 0, |
| 861 | 2, 0, 0, 2, 0, 0, 2, 0, |
| 862 | 0, 2, 2, 2, 2, 2, 2, 2, |
| 863 | 2, 2, 2, 2, 3, 0, 0, 2, |
| 864 | 0, 0, 2, 0, 0, 2, 0, 0, |
| 865 | 2, 0, 0, 0, 2, 0, 0, 2, |
| 866 | 0, 0, 2, 0, 0, 2, 2, 2, |
| 867 | 2, 2, 2, 2, 2, 2, 2, 2, |
| 868 | 4, 0, 0, 2, 5, 0, 0, 2, |
| 869 | 0, 0, 2, 0, 0, 2, 0, 0, |
| 870 | 0, 2, 0, 0, 2, 0, 0, 2, |
| 871 | 0, 0, 2, 2, 6, 2, 6, 2, |
| 872 | 6, 2, 6, 2, 7, 0, 0, 2, |
| 873 | 0, 0, 2, 0, 0, 2, 0, 0, |
| 874 | 2, 0, 0, 0, 2, 0, 0, 2, |
| 875 | 0, 0, 2, 0, 0, 2, 2, 2, |
| 876 | 2, 2, 2, 2, 2, 2, 2, 2, |
| 877 | 6, 0, 2, 0, 2, 0, 0, 0, |
| 878 | 2, 0, 0, 2, 0, 0, 0, 2, |
| 879 | 0, 0, 2, 0, 0, 2, 0, 0, |
| 880 | 2, 8, 0, 11, 2, 2, 6, 0, |
| 881 | 12, 12, 0, 2, 6, 2, 6, 2, |
| 882 | 0, 13, 2, 0, 0, 2, 0, 2, |
| 883 | 2, 0, 2, 2, 2, 0, 0, 2, |
| 884 | 2, 0, 2, 2, 2, 0, 0, 2, |
| 885 | 2, 0, 2, 2, 2, 0, 0, 2, |
| 886 | 2, 0, 2, 2, 2, 0, 0, 2, |
| 887 | 2, 0, 2, 0, 0, 0, 0, 14, |
| 888 | 0, 2, 0, 0, 2, 0, 0, 2, |
| 889 | 0, 0, 2, 0, 2, 2, 2, 2, |
| 890 | 2, 2, 2, 2, 2, 15, 2, 0, |
| 891 | 0, 2, 0, 2, 2, 0, 2, 2, |
| 892 | 2, 0, 0, 2, 2, 0, 2, 2, |
| 893 | 2, 0, 0, 2, 2, 0, 2, 2, |
| 894 | 2, 0, 0, 2, 2, 0, 2, 2, |
| 895 | 2, 0, 0, 2, 2, 0, 2, 0, |
| 896 | 0, 0, 0, 16, 0, 2, 0, 0, |
| 897 | 2, 0, 0, 2, 0, 0, 2, 0, |
| 898 | 2, 2, 2, 2, 2, 2, 2, 2, |
| 899 | 2, 17, 6, 0, 6, 6, 6, 0, |
| 900 | 0, 6, 6, 0, 6, 6, 6, 0, |
| 901 | 0, 6, 6, 0, 6, 6, 6, 0, |
| 902 | 0, 6, 6, 0, 6, 6, 6, 0, |
| 903 | 0, 6, 6, 0, 6, 0, 0, 0, |
| 904 | 0, 18, 0, 2, 0, 0, 2, 0, |
| 905 | 0, 2, 0, 0, 2, 0, 2, 2, |
| 906 | 2, 2, 2, 2, 2, 2, 2, 19, |
| 907 | 20, 2, 0, 0, 0, 0, 2, 2, |
| 908 | 2, 2, 2, 0, 0, 2, 2, 0, |
| 909 | 2, 2, 2, 0, 0, 2, 2, 0, |
| 910 | 2, 2, 2, 0, 0, 2, 2, 0, |
| 911 | 2, 2, 2, 0, 0, 2, 2, 0, |
| 912 | 2, 0, 0, 0, 0, 21, 0, 2, |
| 913 | 0, 0, 2, 0, 0, 2, 0, 0, |
| 914 | 2, 0, 2, 2, 2, 2, 2, 2, |
| 915 | 2, 2, 2, 0, 0, 22, 2, 0, |
| 916 | 0, 0, 0, 0, 0, 2, 0, 0, |
| 917 | 2, 0, 0, 2, 0, 0, 2, 0, |
| 918 | 0, 23, 2, 0, 0, 0, 0, 0, |
| 919 | 24 |
| 920 | }; |
| 921 | |
| 922 | static const char _indic_syllable_machine_to_state_actions[] = { |
| 923 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 924 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 925 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 926 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 927 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 928 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 929 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 930 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 931 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 932 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 933 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 934 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 935 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 936 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 937 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 938 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 939 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 940 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 941 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 942 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 943 | 0, 0, 0, 0, 0, 0, 9, 0, |
| 944 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 945 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 946 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 947 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 948 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 949 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 950 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 951 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 952 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 953 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 954 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 955 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 956 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 957 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 958 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 959 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 960 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 961 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 962 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 963 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 964 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 965 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 966 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 967 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 968 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 969 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 970 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 971 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 972 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 973 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 974 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 975 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 976 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 977 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 978 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 979 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 980 | 0, 0, 0, 0, 0, 0, 0, 0 |
| 981 | }; |
| 982 | |
| 983 | static const char _indic_syllable_machine_from_state_actions[] = { |
| 984 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 985 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 986 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 987 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 988 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 989 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 990 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 991 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 992 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 993 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 994 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 995 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 996 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 997 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 998 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 999 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1000 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1001 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1002 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1003 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1004 | 0, 0, 0, 0, 0, 0, 10, 0, |
| 1005 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1006 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1007 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1008 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1009 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1010 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1011 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1012 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1013 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1014 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1015 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1016 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1017 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1018 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1019 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1020 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1021 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1022 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1023 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1024 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1025 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1026 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1027 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1028 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1029 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1030 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1031 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1032 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1033 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1034 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1035 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1036 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1037 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1038 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1039 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1040 | 0, 0, 0, 0, 0, 0, 0, 0, |
| 1041 | 0, 0, 0, 0, 0, 0, 0, 0 |
| 1042 | }; |
| 1043 | |
| 1044 | static const short _indic_syllable_machine_eof_trans[] = { |
| 1045 | 1, 1, 1, 1, 1, 1, 1, 1, |
| 1046 | 1, 1, 1, 1, 1, 1, 1, 1, |
| 1047 | 1, 1, 1, 1, 1, 1, 1, 1, |
| 1048 | 1, 1, 1, 1, 1, 1, 1, 1, |
| 1049 | 1, 1, 1, 37, 37, 37, 37, 37, |
| 1050 | 37, 37, 37, 37, 37, 37, 37, 37, |
| 1051 | 37, 37, 37, 37, 37, 37, 37, 37, |
| 1052 | 37, 37, 37, 37, 37, 37, 37, 37, |
| 1053 | 37, 37, 37, 37, 37, 37, 73, 73, |
| 1054 | 77, 77, 73, 73, 73, 73, 73, 73, |
| 1055 | 73, 73, 73, 73, 73, 73, 73, 73, |
| 1056 | 73, 73, 73, 73, 73, 73, 73, 73, |
| 1057 | 73, 73, 73, 73, 73, 73, 73, 73, |
| 1058 | 109, 109, 109, 109, 109, 109, 109, 109, |
| 1059 | 109, 109, 109, 109, 109, 109, 109, 109, |
| 1060 | 109, 109, 109, 109, 109, 109, 109, 109, |
| 1061 | 109, 109, 109, 109, 109, 109, 109, 109, |
| 1062 | 109, 109, 109, 73, 1, 1, 1, 1, |
| 1063 | 1, 1, 1, 1, 1, 1, 1, 1, |
| 1064 | 1, 1, 1, 1, 1, 1, 1, 1, |
| 1065 | 1, 1, 1, 1, 1, 170, 0, 186, |
| 1066 | 186, 186, 186, 186, 186, 186, 186, 186, |
| 1067 | 186, 186, 186, 186, 186, 186, 186, 186, |
| 1068 | 186, 186, 186, 186, 186, 186, 186, 186, |
| 1069 | 186, 186, 186, 186, 186, 186, 186, 186, |
| 1070 | 186, 186, 186, 186, 186, 186, 186, 186, |
| 1071 | 186, 186, 186, 186, 186, 186, 186, 186, |
| 1072 | 186, 186, 186, 186, 186, 186, 186, 186, |
| 1073 | 186, 186, 186, 186, 186, 186, 186, 186, |
| 1074 | 186, 186, 254, 254, 254, 254, 254, 254, |
| 1075 | 254, 254, 254, 254, 254, 254, 254, 254, |
| 1076 | 254, 254, 254, 254, 254, 254, 254, 254, |
| 1077 | 254, 254, 254, 254, 254, 254, 254, 254, |
| 1078 | 254, 254, 254, 254, 254, 254, 254, 254, |
| 1079 | 254, 254, 254, 254, 254, 254, 254, 254, |
| 1080 | 254, 254, 254, 254, 254, 254, 254, 254, |
| 1081 | 254, 254, 254, 254, 254, 254, 254, 254, |
| 1082 | 254, 254, 254, 254, 254, 322, 322, 322, |
| 1083 | 322, 322, 322, 322, 322, 322, 322, 322, |
| 1084 | 322, 322, 322, 322, 322, 322, 322, 322, |
| 1085 | 322, 322, 322, 322, 322, 322, 322, 322, |
| 1086 | 322, 322, 322, 322, 322, 322, 322, 322, |
| 1087 | 322, 322, 322, 322, 322, 322, 322, 322, |
| 1088 | 322, 322, 322, 322, 322, 322, 322, 322, |
| 1089 | 322, 322, 322, 322, 322, 322, 322, 322, |
| 1090 | 322, 322, 322, 322, 322, 384, 322, 384, |
| 1091 | 385, 385, 385, 385, 385, 385, 385, 385, |
| 1092 | 385, 385, 385, 385, 385, 385, 385, 385, |
| 1093 | 385, 385, 385, 385, 385, 385, 385, 385, |
| 1094 | 385, 385, 385, 385, 385, 385, 385, 385, |
| 1095 | 385, 385, 385, 385, 385, 385, 385, 385, |
| 1096 | 385, 385, 385, 385, 385, 385, 385, 385, |
| 1097 | 385, 385, 385, 385, 385, 385, 385, 385, |
| 1098 | 385, 385, 385, 385, 385, 385, 385, 385, |
| 1099 | 385, 385, 322, 186, 186, 186, 186, 186, |
| 1100 | 186, 186, 186, 186, 186, 186, 186, 186, |
| 1101 | 186, 186, 186, 186, 186, 186, 186, 186, |
| 1102 | 474, 474, 474, 474, 474, 474, 474, 384 |
| 1103 | }; |
| 1104 | |
| 1105 | static const int indic_syllable_machine_start = 166; |
| 1106 | static const int indic_syllable_machine_first_final = 166; |
| 1107 | static const int indic_syllable_machine_error = -1; |
| 1108 | |
| 1109 | static const int indic_syllable_machine_en_main = 166; |
| 1110 | |
| 1111 | |
| 1112 | #line 36 "hb-ot-shape-complex-indic-machine.rl" |
| 1113 | |
| 1114 | |
| 1115 | |
| 1116 | #line 92 "hb-ot-shape-complex-indic-machine.rl" |
| 1117 | |
| 1118 | |
| 1119 | #define found_syllable(syllable_type) \ |
| 1120 | HB_STMT_START { \ |
| 1121 | if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \ |
| 1122 | for (unsigned int i = last; i < p+1; i++) \ |
| 1123 | info[i].syllable() = (syllable_serial << 4) | syllable_type; \ |
| 1124 | last = p+1; \ |
| 1125 | syllable_serial++; \ |
| 1126 | if (unlikely (syllable_serial == 16)) syllable_serial = 1; \ |
| 1127 | } HB_STMT_END |
| 1128 | |
| 1129 | static void |
| 1130 | find_syllables (hb_buffer_t *buffer) |
| 1131 | { |
| 1132 | unsigned int p, pe, eof, ts HB_UNUSED, te, act; |
| 1133 | int cs; |
| 1134 | hb_glyph_info_t *info = buffer->info; |
| 1135 | |
| 1136 | #line 1137 "hb-ot-shape-complex-indic-machine.hh" |
| 1137 | { |
| 1138 | cs = indic_syllable_machine_start; |
| 1139 | ts = 0; |
| 1140 | te = 0; |
| 1141 | act = 0; |
| 1142 | } |
| 1143 | |
| 1144 | #line 113 "hb-ot-shape-complex-indic-machine.rl" |
| 1145 | |
| 1146 | |
| 1147 | p = 0; |
| 1148 | pe = eof = buffer->len; |
| 1149 | |
| 1150 | unsigned int last = 0; |
| 1151 | unsigned int syllable_serial = 1; |
| 1152 | |
| 1153 | #line 1154 "hb-ot-shape-complex-indic-machine.hh" |
| 1154 | { |
| 1155 | int _slen; |
| 1156 | int _trans; |
| 1157 | const unsigned char *_keys; |
| 1158 | const short *_inds; |
| 1159 | if ( p == pe ) |
| 1160 | goto _test_eof; |
| 1161 | _resume: |
| 1162 | switch ( _indic_syllable_machine_from_state_actions[cs] ) { |
| 1163 | case 10: |
| 1164 | #line 1 "NONE" |
| 1165 | {ts = p;} |
| 1166 | break; |
| 1167 | #line 1168 "hb-ot-shape-complex-indic-machine.hh" |
| 1168 | } |
| 1169 | |
| 1170 | _keys = _indic_syllable_machine_trans_keys + (cs<<1); |
| 1171 | _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs]; |
| 1172 | |
| 1173 | _slen = _indic_syllable_machine_key_spans[cs]; |
| 1174 | _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) && |
| 1175 | ( info[p].indic_category()) <= _keys[1] ? |
| 1176 | ( info[p].indic_category()) - _keys[0] : _slen ]; |
| 1177 | |
| 1178 | _eof_trans: |
| 1179 | cs = _indic_syllable_machine_trans_targs[_trans]; |
| 1180 | |
| 1181 | if ( _indic_syllable_machine_trans_actions[_trans] == 0 ) |
| 1182 | goto _again; |
| 1183 | |
| 1184 | switch ( _indic_syllable_machine_trans_actions[_trans] ) { |
| 1185 | case 2: |
| 1186 | #line 1 "NONE" |
| 1187 | {te = p+1;} |
| 1188 | break; |
| 1189 | case 14: |
| 1190 | #line 83 "hb-ot-shape-complex-indic-machine.rl" |
| 1191 | {te = p+1;{ found_syllable (consonant_syllable); }} |
| 1192 | break; |
| 1193 | case 16: |
| 1194 | #line 84 "hb-ot-shape-complex-indic-machine.rl" |
| 1195 | {te = p+1;{ found_syllable (vowel_syllable); }} |
| 1196 | break; |
| 1197 | case 21: |
| 1198 | #line 85 "hb-ot-shape-complex-indic-machine.rl" |
| 1199 | {te = p+1;{ found_syllable (standalone_cluster); }} |
| 1200 | break; |
| 1201 | case 24: |
| 1202 | #line 86 "hb-ot-shape-complex-indic-machine.rl" |
| 1203 | {te = p+1;{ found_syllable (symbol_cluster); }} |
| 1204 | break; |
| 1205 | case 18: |
| 1206 | #line 87 "hb-ot-shape-complex-indic-machine.rl" |
| 1207 | {te = p+1;{ found_syllable (broken_cluster); }} |
| 1208 | break; |
| 1209 | case 11: |
| 1210 | #line 88 "hb-ot-shape-complex-indic-machine.rl" |
| 1211 | {te = p+1;{ found_syllable (non_indic_cluster); }} |
| 1212 | break; |
| 1213 | case 13: |
| 1214 | #line 83 "hb-ot-shape-complex-indic-machine.rl" |
| 1215 | {te = p;p--;{ found_syllable (consonant_syllable); }} |
| 1216 | break; |
| 1217 | case 15: |
| 1218 | #line 84 "hb-ot-shape-complex-indic-machine.rl" |
| 1219 | {te = p;p--;{ found_syllable (vowel_syllable); }} |
| 1220 | break; |
| 1221 | case 20: |
| 1222 | #line 85 "hb-ot-shape-complex-indic-machine.rl" |
| 1223 | {te = p;p--;{ found_syllable (standalone_cluster); }} |
| 1224 | break; |
| 1225 | case 23: |
| 1226 | #line 86 "hb-ot-shape-complex-indic-machine.rl" |
| 1227 | {te = p;p--;{ found_syllable (symbol_cluster); }} |
| 1228 | break; |
| 1229 | case 17: |
| 1230 | #line 87 "hb-ot-shape-complex-indic-machine.rl" |
| 1231 | {te = p;p--;{ found_syllable (broken_cluster); }} |
| 1232 | break; |
| 1233 | case 19: |
| 1234 | #line 88 "hb-ot-shape-complex-indic-machine.rl" |
| 1235 | {te = p;p--;{ found_syllable (non_indic_cluster); }} |
| 1236 | break; |
| 1237 | case 1: |
| 1238 | #line 83 "hb-ot-shape-complex-indic-machine.rl" |
| 1239 | {{p = ((te))-1;}{ found_syllable (consonant_syllable); }} |
| 1240 | break; |
| 1241 | case 3: |
| 1242 | #line 84 "hb-ot-shape-complex-indic-machine.rl" |
| 1243 | {{p = ((te))-1;}{ found_syllable (vowel_syllable); }} |
| 1244 | break; |
| 1245 | case 7: |
| 1246 | #line 85 "hb-ot-shape-complex-indic-machine.rl" |
| 1247 | {{p = ((te))-1;}{ found_syllable (standalone_cluster); }} |
| 1248 | break; |
| 1249 | case 8: |
| 1250 | #line 86 "hb-ot-shape-complex-indic-machine.rl" |
| 1251 | {{p = ((te))-1;}{ found_syllable (symbol_cluster); }} |
| 1252 | break; |
| 1253 | case 4: |
| 1254 | #line 87 "hb-ot-shape-complex-indic-machine.rl" |
| 1255 | {{p = ((te))-1;}{ found_syllable (broken_cluster); }} |
| 1256 | break; |
| 1257 | case 5: |
| 1258 | #line 1 "NONE" |
| 1259 | { switch( act ) { |
| 1260 | case 1: |
| 1261 | {{p = ((te))-1;} found_syllable (consonant_syllable); } |
| 1262 | break; |
| 1263 | case 5: |
| 1264 | {{p = ((te))-1;} found_syllable (broken_cluster); } |
| 1265 | break; |
| 1266 | case 6: |
| 1267 | {{p = ((te))-1;} found_syllable (non_indic_cluster); } |
| 1268 | break; |
| 1269 | } |
| 1270 | } |
| 1271 | break; |
| 1272 | case 22: |
| 1273 | #line 1 "NONE" |
| 1274 | {te = p+1;} |
| 1275 | #line 83 "hb-ot-shape-complex-indic-machine.rl" |
| 1276 | {act = 1;} |
| 1277 | break; |
| 1278 | case 6: |
| 1279 | #line 1 "NONE" |
| 1280 | {te = p+1;} |
| 1281 | #line 87 "hb-ot-shape-complex-indic-machine.rl" |
| 1282 | {act = 5;} |
| 1283 | break; |
| 1284 | case 12: |
| 1285 | #line 1 "NONE" |
| 1286 | {te = p+1;} |
| 1287 | #line 88 "hb-ot-shape-complex-indic-machine.rl" |
| 1288 | {act = 6;} |
| 1289 | break; |
| 1290 | #line 1291 "hb-ot-shape-complex-indic-machine.hh" |
| 1291 | } |
| 1292 | |
| 1293 | _again: |
| 1294 | switch ( _indic_syllable_machine_to_state_actions[cs] ) { |
| 1295 | case 9: |
| 1296 | #line 1 "NONE" |
| 1297 | {ts = 0;} |
| 1298 | break; |
| 1299 | #line 1300 "hb-ot-shape-complex-indic-machine.hh" |
| 1300 | } |
| 1301 | |
| 1302 | if ( ++p != pe ) |
| 1303 | goto _resume; |
| 1304 | _test_eof: {} |
| 1305 | if ( p == eof ) |
| 1306 | { |
| 1307 | if ( _indic_syllable_machine_eof_trans[cs] > 0 ) { |
| 1308 | _trans = _indic_syllable_machine_eof_trans[cs] - 1; |
| 1309 | goto _eof_trans; |
| 1310 | } |
| 1311 | } |
| 1312 | |
| 1313 | } |
| 1314 | |
| 1315 | #line 122 "hb-ot-shape-complex-indic-machine.rl" |
| 1316 | |
| 1317 | } |
| 1318 | |
| 1319 | #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */ |
| 1320 | |