diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2006-03-19 19:57:58 +0000 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2006-03-19 19:57:58 +0000 |
commit | 75dafa252a42b9f27f426f6e1e1a666db9b698d3 (patch) | |
tree | b045daa6c79b20d47bcfb290cc283bf1e26a00f4 | |
parent | 8f6a1e7805cf205aebdbec0ca51d9da7b9effde5 (diff) | |
download | bitbake-75dafa252a42b9f27f426f6e1e1a666db9b698d3.tar.gz |
parse_c:
Add require to the scanner
-rw-r--r-- | lib/bb/parse/parse_c/bitbakescanner.cc | 1580 | ||||
-rw-r--r-- | lib/bb/parse/parse_c/bitbakescanner.l | 7 |
2 files changed, 863 insertions, 724 deletions
diff --git a/lib/bb/parse/parse_c/bitbakescanner.cc b/lib/bb/parse/parse_c/bitbakescanner.cc index 1752b6209..88e504301 100644 --- a/lib/bb/parse/parse_c/bitbakescanner.cc +++ b/lib/bb/parse/parse_c/bitbakescanner.cc @@ -355,8 +355,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 43 -#define YY_END_OF_BUFFER 44 +#define YY_NUM_RULES 45 +#define YY_END_OF_BUFFER 46 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -364,81 +364,96 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[662] = +static yyconst flex_int16_t yy_accept[798] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, - 44, 42, 41, 41, 42, 42, 42, 42, 42, 4, - 42, 32, 32, 32, 32, 32, 32, 32, 32, 25, - 25, 25, 25, 25, 42, 41, 27, 41, 42, 42, - 42, 26, 4, 42, 42, 42, 42, 42, 30, 30, - 29, 30, 30, 30, 30, 30, 4, 30, 30, 30, - 30, 30, 39, 35, 35, 35, 35, 35, 42, 37, - 37, 37, 37, 37, 40, 36, 36, 36, 36, 36, - 23, 23, 23, 23, 23, 23, 23, 4, 23, 23, - - 23, 23, 23, 22, 9, 41, 10, 9, 42, 9, - 42, 9, 9, 9, 4, 9, 9, 9, 9, 9, - 9, 38, 34, 34, 34, 34, 34, 34, 0, 31, - 33, 0, 0, 1, 3, 2, 5, 0, 32, 0, - 32, 32, 32, 32, 32, 32, 32, 25, 25, 25, - 25, 25, 0, 26, 0, 27, 0, 26, 0, 0, - 1, 2, 5, 0, 0, 0, 0, 0, 0, 28, - 0, 0, 0, 0, 35, 35, 35, 35, 35, 0, - 0, 37, 37, 37, 37, 37, 36, 36, 36, 36, - 36, 23, 23, 23, 23, 23, 23, 1, 3, 2, - - 5, 23, 23, 23, 23, 22, 22, 9, 0, 9, - 0, 10, 0, 7, 0, 9, 0, 9, 0, 8, - 0, 0, 9, 1, 3, 2, 5, 9, 6, 9, - 9, 9, 34, 34, 34, 34, 34, 34, 34, 33, - 0, 21, 0, 0, 33, 32, 32, 24, 32, 32, - 32, 32, 32, 25, 25, 24, 25, 25, 0, 21, - 0, 0, 24, 0, 0, 0, 0, 24, 0, 0, - 35, 35, 24, 35, 35, 0, 0, 37, 37, 24, - 37, 37, 36, 36, 24, 36, 36, 23, 21, 23, - 23, 23, 23, 23, 31, 0, 9, 9, 6, 9, - - 9, 9, 9, 34, 34, 34, 34, 24, 34, 34, - 21, 21, 0, 32, 32, 32, 32, 32, 32, 32, - 32, 25, 25, 25, 25, 25, 21, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 35, 35, 35, - 35, 35, 0, 37, 0, 37, 37, 37, 37, 37, - 36, 36, 36, 36, 36, 21, 21, 23, 23, 23, - 23, 23, 21, 9, 9, 9, 9, 9, 34, 34, - 34, 34, 34, 34, 34, 0, 33, 32, 32, 32, - 32, 32, 32, 32, 32, 25, 25, 25, 25, 25, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 24, 0, 0, + 0, 0, 46, 44, 43, 43, 44, 44, 44, 44, + 44, 4, 44, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 26, 26, 26, 26, 26, 26, 44, 43, + 28, 43, 44, 44, 44, 27, 4, 44, 44, 44, + 44, 44, 44, 31, 31, 30, 31, 31, 31, 31, + 31, 4, 31, 31, 31, 31, 31, 31, 41, 36, + 36, 36, 36, 36, 36, 44, 38, 38, 38, 38, + 38, 38, 42, 37, 37, 37, 37, 37, 37, 44, + + 39, 39, 39, 39, 39, 39, 24, 24, 24, 24, + 24, 24, 24, 4, 24, 24, 24, 24, 24, 24, + 23, 9, 43, 10, 9, 44, 9, 44, 9, 9, + 9, 4, 9, 9, 9, 9, 9, 9, 9, 40, + 35, 35, 35, 35, 35, 35, 35, 0, 32, 34, + 0, 0, 1, 3, 2, 5, 0, 33, 0, 33, + 33, 33, 33, 33, 33, 33, 33, 26, 26, 26, + 26, 26, 26, 0, 27, 0, 28, 0, 27, 0, + 0, 1, 2, 5, 0, 0, 0, 0, 0, 0, + 0, 29, 0, 0, 0, 0, 0, 36, 36, 36, + + 36, 36, 36, 0, 0, 38, 38, 38, 38, 38, + 38, 37, 37, 37, 37, 37, 37, 0, 0, 39, + 39, 39, 39, 39, 39, 24, 24, 24, 24, 24, + 24, 1, 3, 2, 5, 24, 24, 24, 24, 24, + 23, 23, 9, 0, 9, 0, 10, 0, 7, 0, + 9, 0, 9, 0, 8, 0, 0, 9, 1, 3, + 2, 5, 9, 6, 9, 9, 9, 9, 35, 35, + 35, 35, 35, 35, 35, 35, 34, 0, 22, 0, + 0, 34, 33, 33, 25, 33, 33, 33, 33, 33, + 33, 26, 26, 25, 26, 26, 26, 0, 22, 0, + + 0, 25, 0, 0, 0, 0, 0, 25, 0, 0, + 0, 36, 36, 25, 36, 36, 36, 0, 0, 38, + 38, 25, 38, 38, 38, 37, 37, 25, 37, 37, + 37, 0, 0, 39, 39, 25, 39, 39, 39, 24, + 22, 24, 24, 24, 24, 24, 24, 32, 0, 9, + 9, 6, 9, 9, 9, 9, 9, 35, 35, 35, + 35, 25, 35, 35, 35, 22, 22, 0, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 26, 26, 26, + 26, 26, 26, 22, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 36, 36, 36, 36, + + 36, 36, 0, 38, 0, 38, 38, 38, 38, 38, + 38, 37, 37, 37, 37, 37, 37, 0, 39, 0, + 39, 39, 39, 39, 39, 39, 22, 22, 24, 24, + 24, 24, 24, 24, 22, 9, 9, 9, 9, 9, + 9, 35, 35, 35, 35, 35, 35, 35, 35, 0, + 34, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, + 36, 36, 36, 36, 0, 38, 38, 38, 38, 38, + 38, 38, 37, 37, 37, 37, 37, 37, 0, 39, + + 39, 39, 39, 39, 39, 39, 24, 24, 24, 24, + 24, 24, 9, 9, 9, 9, 9, 9, 35, 35, + 35, 18, 35, 35, 35, 35, 33, 33, 33, 19, + 33, 33, 33, 21, 33, 26, 26, 26, 26, 26, + 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 36, 36, 36, 36, 36, 36, 38, + 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, + 37, 39, 39, 39, 39, 39, 39, 24, 24, 24, + 24, 24, 24, 9, 9, 9, 9, 9, 9, 35, + 35, 35, 17, 35, 35, 35, 33, 33, 14, 33, + + 11, 13, 12, 26, 26, 14, 11, 13, 12, 0, + 0, 14, 11, 13, 12, 0, 0, 14, 11, 13, + 12, 36, 36, 14, 11, 13, 12, 38, 38, 14, + 11, 13, 12, 37, 37, 14, 11, 13, 12, 39, + 39, 14, 11, 13, 12, 24, 24, 14, 11, 13, + 12, 9, 9, 9, 9, 9, 9, 35, 35, 14, + 11, 13, 12, 33, 33, 20, 26, 26, 0, 0, + 0, 0, 36, 36, 38, 38, 37, 37, 39, 39, + 24, 24, 9, 9, 35, 35, 33, 33, 26, 26, + 0, 0, 0, 0, 36, 36, 38, 38, 37, 37, + + 39, 39, 24, 24, 9, 9, 35, 35, 33, 15, + 26, 15, 0, 15, 0, 15, 36, 15, 38, 15, + 37, 15, 39, 15, 24, 15, 9, 9, 35, 15, + 33, 26, 0, 0, 36, 38, 37, 39, 24, 9, + 35, 33, 26, 0, 0, 36, 38, 37, 39, 24, + 9, 35, 33, 26, 0, 0, 36, 38, 37, 39, + 24, 9, 35, 33, 26, 0, 0, 36, 38, 37, + 39, 24, 9, 35, 33, 26, 0, 0, 36, 38, + 37, 39, 24, 9, 35, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 9, 16, 0 - 35, 35, 35, 35, 35, 0, 37, 37, 37, 37, - 37, 37, 36, 36, 36, 36, 36, 23, 23, 23, - 23, 23, 9, 9, 9, 9, 9, 34, 34, 34, - 17, 34, 34, 34, 32, 32, 32, 18, 32, 32, - 32, 20, 25, 25, 25, 25, 25, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 35, 35, 35, - 35, 35, 37, 37, 37, 37, 37, 36, 36, 36, - 36, 36, 23, 23, 23, 23, 23, 9, 9, 9, - 9, 9, 34, 34, 34, 16, 34, 34, 32, 32, - 13, 32, 11, 12, 25, 25, 13, 11, 12, 0, - - 0, 13, 11, 12, 0, 0, 13, 11, 12, 35, - 35, 13, 11, 12, 37, 37, 13, 11, 12, 36, - 36, 13, 11, 12, 23, 23, 13, 11, 12, 9, - 9, 9, 9, 9, 34, 34, 13, 11, 12, 32, - 32, 19, 25, 25, 0, 0, 0, 0, 35, 35, - 37, 37, 36, 36, 23, 23, 9, 9, 34, 34, - 32, 32, 25, 25, 0, 0, 0, 0, 35, 35, - 37, 37, 36, 36, 23, 23, 9, 9, 34, 34, - 32, 14, 25, 14, 0, 14, 0, 14, 35, 14, - 37, 14, 36, 14, 23, 14, 9, 9, 34, 14, - - 32, 25, 0, 0, 35, 37, 36, 23, 9, 34, - 32, 25, 0, 0, 35, 37, 36, 23, 9, 34, - 32, 25, 0, 0, 35, 37, 36, 23, 9, 34, - 32, 25, 0, 0, 35, 37, 36, 23, 9, 34, - 32, 25, 0, 0, 35, 37, 36, 23, 9, 34, - 15, 15, 15, 15, 15, 15, 15, 15, 9, 15, - 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -455,8 +470,8 @@ static yyconst flex_int32_t yy_ec[256] = 33, 34, 35, 1, 36, 1, 37, 38, 39, 40, 41, 42, 20, 43, 44, 20, 45, 46, 20, 47, - 48, 49, 20, 50, 51, 52, 53, 20, 20, 54, - 55, 20, 56, 1, 57, 1, 1, 1, 1, 1, + 48, 49, 50, 51, 52, 53, 54, 20, 20, 55, + 56, 20, 57, 1, 58, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -473,606 +488,710 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[58] = +static yyconst flex_int32_t yy_meta[59] = { 0, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 5, 6, 5, 5, 7, 8, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 1, 11, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 1, 12 + 9, 9, 9, 9, 9, 9, 1, 12 } ; -static yyconst flex_int16_t yy_base[691] = +static yyconst flex_int16_t yy_base[832] = { 0, - 0, 0, 57, 0, 113, 156, 199, 242, 286, 0, - 343, 0, 400, 0, 456, 512, 568, 611, 655, 0, - 1835, 1836, 1836, 1836, 1831, 0, 116, 1815, 1814, 1820, - 1812, 113, 116, 114, 122, 118, 131, 133, 136, 0, - 1797, 1788, 1786, 1779, 1808, 125, 1836, 1807, 153, 135, - 116, 1805, 160, 164, 144, 166, 168, 167, 1836, 184, - 1836, 1836, 1819, 134, 1803, 1802, 1808, 1800, 1785, 1776, - 1774, 1767, 1836, 0, 1781, 1772, 1770, 1763, 1753, 1801, - 172, 182, 183, 181, 1836, 0, 1775, 1766, 1764, 1757, - 1800, 1799, 1798, 1797, 209, 189, 195, 212, 217, 194, - - 191, 192, 222, 227, 232, 239, 1796, 247, 222, 461, - 224, 474, 483, 501, 478, 502, 546, 555, 557, 559, - 590, 1836, 0, 1766, 99, 1756, 1755, 1748, 1791, 1836, - 240, 252, 466, 1836, 1836, 1836, 1836, 1737, 243, 1757, - 250, 454, 491, 492, 495, 504, 574, 0, 1764, 1750, - 1747, 224, 1771, 1836, 268, 1836, 529, 1784, 586, 488, - 1769, 1768, 1767, 248, 510, 455, 567, 1780, 468, 1836, - 1755, 1741, 1738, 229, 0, 1752, 1738, 1735, 235, 0, - 1720, 1768, 548, 559, 576, 597, 0, 1747, 1733, 1730, - 241, 1768, 1767, 1766, 1765, 629, 711, 1764, 1763, 1762, - - 1761, 598, 542, 196, 712, 536, 1760, 714, 715, 722, - 632, 1759, 589, 604, 723, 729, 736, 756, 534, 613, - 732, 763, 745, 770, 772, 779, 780, 781, 1759, 790, - 791, 814, 0, 1733, 1719, 1706, 1715, 1714, 438, 620, - 744, 639, 0, 1720, 1836, 736, 769, 784, 787, 796, - 798, 819, 803, 1728, 600, 0, 1707, 1711, 821, 825, - 716, 815, 1734, 794, 704, 1724, 766, 1836, 1703, 1707, - 1721, 791, 0, 1700, 1704, 1687, 0, 838, 832, 1736, - 604, 485, 1716, 798, 0, 1695, 1699, 852, 859, 726, - 804, 1736, 846, 848, 861, 863, 871, 878, 1736, 880, - - 888, 901, 905, 1711, 829, 1695, 1687, 0, 1688, 1692, - 896, 1729, 1674, 887, 884, 893, 894, 895, 904, 909, - 917, 1702, 1692, 1691, 1674, 1676, 931, 842, 901, 912, - 701, 908, 1697, 1687, 1686, 1669, 1671, 1692, 1682, 1681, - 1664, 1666, 1658, 1707, 1656, 924, 929, 933, 934, 936, - 1684, 1674, 1673, 1656, 1658, 951, 1704, 948, 952, 953, - 957, 958, 966, 970, 975, 977, 986, 991, 1678, 1668, - 1667, 1653, 1652, 1648, 1650, 1642, 974, 985, 988, 994, - 990, 995, 996, 1015, 999, 1668, 1650, 1645, 1655, 1650, - 996, 1000, 999, 1013, 1007, 1663, 1645, 1640, 1650, 1645, - - 1658, 1640, 1635, 1645, 1640, 1626, 1675, 1024, 1026, 998, - 1012, 1027, 1651, 1633, 1628, 1638, 1633, 1034, 1035, 1037, - 1041, 1052, 1055, 1060, 1064, 1072, 1082, 1646, 1628, 1623, - 0, 1632, 1632, 1627, 1068, 1060, 1069, 1072, 1076, 1084, - 1085, 1088, 1634, 1629, 1623, 1626, 1614, 1061, 1082, 1041, - 719, 1086, 1629, 1624, 1618, 1621, 1609, 1624, 1619, 1613, - 1616, 1604, 1103, 1101, 1104, 1106, 1112, 1619, 1614, 1608, - 1611, 1599, 1117, 1120, 1124, 1125, 1126, 1138, 1128, 1143, - 1150, 1165, 1614, 1609, 1603, 0, 1606, 1594, 1152, 1143, - 1124, 1128, 1149, 1164, 1622, 1598, 0, 0, 0, 950, - - 1117, 1626, 1625, 1624, 1617, 1593, 1836, 1836, 1836, 1615, - 1591, 0, 0, 0, 1158, 1137, 1629, 1628, 1627, 1610, - 1586, 0, 0, 0, 961, 1176, 1628, 1627, 1626, 1185, - 1190, 1198, 1199, 1207, 1605, 1581, 0, 0, 0, 1187, - 1198, 1195, 1595, 1583, 1039, 1169, 1592, 1579, 1585, 1574, - 1204, 1189, 1581, 1567, 1211, 1210, 1221, 1232, 1576, 1563, - 1220, 1214, 1575, 1544, 629, 1199, 1563, 1526, 1550, 1502, - 1218, 1231, 1526, 1489, 1129, 1241, 1252, 1254, 1486, 1455, - 1251, 1241, 1479, 0, 1229, 1446, 1438, 1836, 1432, 0, - 1254, 1381, 1366, 0, 1262, 1383, 1274, 1285, 1364, 0, - - 1264, 1354, 1250, 1353, 1351, 1262, 1350, 1275, 1294, 1349, - 1282, 1354, 1246, 1352, 1351, 1261, 1350, 1297, 1305, 1349, - 1294, 1346, 861, 1344, 1342, 1291, 1340, 1300, 1328, 1339, - 1307, 1336, 1306, 1334, 1330, 1309, 1327, 1319, 1333, 1323, - 1318, 1317, 1320, 1289, 1283, 1335, 1282, 1340, 1348, 1280, - 1338, 0, 1125, 1836, 0, 1054, 0, 960, 1355, 0, - 1836, 1389, 1401, 1413, 1425, 1437, 953, 1446, 1452, 1461, - 1473, 1485, 1493, 1499, 1504, 1513, 1525, 1537, 1549, 1561, - 1573, 1581, 1587, 1590, 640, 635, 1597, 544, 1605, 1613 + 0, 0, 58, 0, 115, 165, 215, 265, 316, 0, + 374, 0, 432, 0, 490, 0, 547, 604, 661, 711, + 762, 0, 2156, 2157, 2157, 2157, 2152, 0, 118, 2136, + 2135, 2141, 2133, 115, 118, 116, 120, 124, 140, 131, + 129, 139, 0, 2118, 2109, 2107, 2100, 2105, 2128, 127, + 2157, 2127, 137, 179, 124, 2125, 128, 173, 126, 146, + 153, 118, 158, 2157, 190, 2157, 2157, 2139, 193, 2123, + 2122, 2128, 2120, 2105, 2096, 2094, 2087, 2092, 2157, 0, + 2100, 2091, 2089, 2082, 2087, 2070, 2119, 181, 190, 194, + 153, 197, 2157, 0, 2093, 2084, 2082, 2075, 2080, 2063, + + 2112, 191, 199, 200, 201, 203, 2115, 2114, 2113, 2112, + 212, 209, 222, 217, 228, 226, 233, 208, 239, 240, + 248, 255, 251, 2111, 270, 251, 552, 254, 565, 575, + 577, 622, 627, 626, 634, 612, 669, 684, 691, 2157, + 0, 2081, 205, 2071, 2070, 2063, 2068, 2105, 2157, 257, + 289, 559, 2157, 2157, 2157, 2157, 2050, 263, 2071, 270, + 273, 555, 545, 556, 642, 585, 569, 0, 2078, 2064, + 2061, 222, 2052, 2084, 2157, 290, 2157, 291, 2097, 674, + 680, 2082, 2081, 2080, 283, 564, 554, 608, 262, 2093, + 312, 2157, 2068, 2054, 2051, 529, 2042, 0, 2064, 2050, + + 2047, 611, 2038, 0, 2030, 2079, 646, 650, 652, 695, + 593, 0, 2058, 2044, 2041, 661, 2032, 0, 2024, 2073, + 680, 681, 699, 701, 702, 2076, 2075, 2074, 2073, 733, + 819, 2072, 2071, 2070, 2069, 720, 600, 708, 820, 821, + 724, 2068, 823, 824, 831, 751, 2067, 822, 830, 835, + 839, 843, 847, 845, 846, 858, 880, 870, 881, 889, + 891, 898, 903, 2067, 905, 914, 916, 926, 0, 2041, + 2027, 2013, 2023, 2022, 703, 2013, 902, 841, 754, 0, + 2027, 2157, 910, 919, 905, 913, 933, 934, 937, 940, + 935, 2035, 258, 0, 2014, 2018, 2004, 947, 979, 732, + + 934, 2040, 912, 843, 707, 2030, 910, 2157, 2009, 2013, + 1999, 2026, 922, 0, 2005, 2009, 1995, 1990, 0, 861, + 926, 2040, 855, 947, 964, 2020, 941, 0, 1999, 2003, + 1989, 1984, 0, 979, 950, 2034, 978, 984, 983, 995, + 757, 989, 992, 2037, 996, 571, 997, 1004, 1005, 1014, + 1006, 2037, 1021, 1025, 1026, 1039, 1041, 2012, 1010, 1996, + 1988, 0, 1989, 1993, 1979, 999, 2029, 1973, 1043, 1049, + 1050, 1051, 1058, 1059, 1060, 1070, 1061, 2002, 1992, 1991, + 1973, 1975, 1981, 1087, 1053, 1061, 1062, 813, 1003, 1044, + 1996, 1986, 1985, 1967, 1969, 1975, 1990, 1980, 1979, 1961, + + 1963, 1969, 1954, 2004, 1952, 867, 1078, 1089, 1062, 1090, + 1093, 1981, 1971, 1970, 1952, 1954, 1960, 1945, 1995, 1943, + 1094, 1099, 1101, 1100, 1105, 1103, 1117, 1997, 1111, 1114, + 1118, 1120, 1121, 1122, 1125, 1141, 1127, 1155, 1160, 1165, + 1174, 1971, 1961, 1960, 1945, 1944, 1940, 1942, 1948, 1933, + 1138, 1151, 1170, 1145, 1173, 1176, 1179, 1178, 1180, 1188, + 1960, 1942, 1936, 1947, 1942, 1934, 1114, 1173, 1136, 1183, + 1181, 1179, 1954, 1936, 1930, 1941, 1936, 1928, 1948, 1930, + 1924, 1935, 1930, 1922, 1914, 1964, 1198, 1184, 1141, 830, + 1194, 1195, 1940, 1922, 1916, 1927, 1922, 1914, 1906, 1956, + + 1203, 1197, 1200, 1208, 1222, 1225, 1231, 1232, 1233, 1234, + 1237, 1238, 1248, 1249, 1257, 1265, 1267, 1282, 1932, 1914, + 1908, 0, 1918, 1918, 1913, 1905, 1235, 1253, 1270, 1273, + 1281, 1285, 1287, 1288, 1290, 1919, 1914, 1908, 1911, 1898, + 1909, 1228, 1285, 1283, 1281, 1290, 1291, 1913, 1908, 1902, + 1905, 1892, 1903, 1907, 1902, 1896, 1899, 1886, 1897, 1303, + 1297, 1305, 1306, 1310, 1312, 1901, 1896, 1890, 1893, 1880, + 1891, 1320, 1317, 1323, 1328, 1327, 1329, 1335, 1338, 1339, + 1341, 1342, 1345, 1347, 1356, 1357, 1371, 1392, 1396, 1895, + 1890, 1884, 0, 1887, 1874, 1885, 1344, 1339, 1359, 1380, + + 1381, 1382, 1386, 1902, 1878, 0, 0, 0, 0, 1117, + 1357, 1906, 1905, 1904, 1903, 1896, 1872, 2157, 2157, 2157, + 2157, 1894, 1870, 0, 0, 0, 0, 1240, 1353, 1908, + 1907, 1906, 1905, 1888, 1864, 0, 0, 0, 0, 1399, + 1400, 1902, 1901, 1900, 1899, 1405, 1372, 1902, 1901, 1900, + 1899, 1415, 1419, 1427, 1434, 1439, 1446, 1878, 1854, 0, + 0, 0, 0, 1424, 1433, 1427, 1867, 1856, 1394, 1426, + 1863, 1849, 1858, 1845, 1445, 1409, 1851, 1840, 1451, 1449, + 1456, 1459, 1467, 1476, 1847, 1833, 1463, 1456, 1848, 1819, + 1125, 1454, 1841, 1814, 1837, 1807, 1470, 1457, 1827, 1795, + + 1472, 1476, 1488, 1482, 1501, 1510, 1809, 1782, 1495, 1486, + 1789, 0, 1503, 1792, 1776, 2157, 1747, 0, 1504, 1756, + 1736, 0, 1515, 1745, 1483, 1712, 1529, 1537, 1690, 0, + 1516, 1675, 1513, 1610, 1609, 1522, 1608, 1525, 1491, 1546, + 1607, 1533, 1612, 1475, 1611, 1609, 1534, 1608, 1540, 1535, + 1560, 1607, 1546, 1604, 1232, 1602, 1601, 1549, 1599, 1560, + 1557, 1580, 1597, 1562, 1596, 1553, 1595, 1593, 1566, 1592, + 1567, 1574, 1588, 1591, 1574, 1581, 1226, 1575, 1572, 1582, + 1485, 1590, 1595, 1600, 1381, 1593, 0, 1392, 2157, 0, + 1347, 0, 1029, 1018, 1607, 0, 2157, 1641, 1653, 1665, + + 1677, 1689, 893, 1698, 1704, 1713, 1725, 1737, 1745, 1751, + 1756, 1762, 1771, 1783, 1795, 1807, 1819, 1831, 1839, 1845, + 1848, 730, 581, 550, 1855, 289, 1863, 286, 1871, 1879, + 1887 } ; -static yyconst flex_int16_t yy_def[691] = +static yyconst flex_int16_t yy_def[832] = { 0, - 661, 1, 661, 3, 662, 662, 663, 663, 661, 9, - 661, 11, 661, 13, 664, 664, 665, 665, 661, 19, - 661, 661, 661, 661, 666, 667, 661, 661, 661, 661, - 661, 668, 668, 668, 668, 668, 668, 668, 668, 669, - 669, 669, 669, 669, 670, 670, 661, 670, 671, 670, - 670, 661, 670, 670, 670, 670, 670, 670, 661, 672, - 661, 661, 666, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 673, 673, 673, 673, 673, 661, 674, - 674, 674, 674, 674, 661, 675, 675, 675, 675, 675, - 676, 676, 676, 677, 676, 676, 676, 676, 676, 676, - - 676, 676, 676, 661, 678, 661, 661, 678, 679, 680, - 681, 678, 678, 678, 678, 678, 678, 678, 678, 678, - 678, 661, 682, 682, 682, 682, 682, 682, 666, 661, - 683, 661, 661, 661, 661, 661, 661, 661, 668, 684, - 668, 668, 668, 668, 668, 668, 668, 669, 669, 669, - 669, 669, 670, 661, 670, 661, 671, 666, 670, 670, - 670, 670, 670, 670, 670, 670, 670, 672, 672, 661, - 661, 661, 661, 661, 673, 673, 673, 673, 673, 685, - 661, 674, 674, 674, 674, 674, 675, 675, 675, 675, - 675, 676, 661, 677, 661, 676, 676, 676, 676, 676, - - 676, 676, 676, 676, 676, 661, 661, 678, 678, 678, - 661, 661, 679, 679, 679, 680, 680, 680, 681, 681, - 681, 678, 678, 678, 678, 678, 678, 678, 661, 678, - 678, 678, 682, 682, 682, 682, 682, 682, 682, 683, - 661, 661, 686, 684, 661, 668, 668, 668, 668, 668, - 668, 668, 668, 669, 669, 669, 669, 669, 670, 670, - 670, 670, 670, 670, 670, 661, 661, 661, 661, 661, - 673, 673, 673, 673, 673, 687, 688, 674, 674, 674, - 674, 674, 675, 675, 675, 675, 675, 676, 676, 676, - 676, 676, 676, 676, 678, 678, 678, 678, 661, 678, - - 678, 678, 678, 682, 682, 682, 682, 682, 682, 682, - 661, 661, 689, 668, 668, 668, 668, 668, 668, 668, - 668, 669, 669, 669, 669, 669, 670, 670, 670, 670, - 670, 670, 661, 661, 661, 661, 661, 673, 673, 673, - 673, 673, 687, 674, 690, 674, 674, 674, 674, 674, - 675, 675, 675, 675, 675, 676, 661, 676, 676, 676, - 676, 676, 678, 678, 678, 678, 678, 678, 682, 682, - 682, 682, 682, 682, 682, 689, 683, 668, 668, 668, - 668, 668, 668, 668, 668, 669, 669, 669, 669, 669, - 670, 670, 670, 670, 670, 661, 661, 661, 661, 661, - - 673, 673, 673, 673, 673, 690, 674, 674, 674, 674, - 674, 674, 675, 675, 675, 675, 675, 676, 676, 676, - 676, 676, 678, 678, 678, 678, 678, 682, 682, 682, - 682, 682, 682, 682, 668, 668, 668, 668, 668, 668, - 668, 668, 669, 669, 669, 669, 669, 670, 670, 670, - 670, 670, 661, 661, 661, 661, 661, 673, 673, 673, - 673, 673, 674, 674, 674, 674, 674, 675, 675, 675, - 675, 675, 676, 676, 676, 676, 676, 678, 678, 678, - 678, 678, 682, 682, 682, 682, 682, 682, 668, 668, - 668, 668, 668, 668, 669, 669, 669, 669, 669, 670, - - 670, 670, 670, 670, 661, 661, 661, 661, 661, 673, - 673, 673, 673, 673, 674, 674, 674, 674, 674, 675, - 675, 675, 675, 675, 676, 676, 676, 676, 676, 678, - 678, 678, 678, 678, 682, 682, 682, 682, 682, 668, - 668, 668, 669, 669, 670, 670, 661, 661, 673, 673, - 674, 674, 675, 675, 676, 676, 678, 678, 682, 682, - 668, 668, 669, 669, 670, 670, 661, 661, 673, 673, - 674, 674, 675, 675, 676, 676, 678, 678, 682, 682, - 668, 668, 669, 669, 670, 670, 661, 661, 673, 673, - 674, 674, 675, 675, 676, 676, 678, 678, 682, 682, - - 668, 669, 670, 661, 673, 674, 675, 676, 678, 682, - 668, 669, 670, 661, 673, 674, 675, 676, 678, 682, - 668, 669, 670, 661, 673, 674, 675, 676, 678, 682, - 668, 669, 670, 661, 673, 674, 675, 676, 678, 682, - 668, 669, 670, 661, 673, 674, 675, 676, 678, 682, - 668, 669, 670, 661, 673, 674, 675, 676, 678, 682, - 0, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661 + 797, 1, 797, 3, 798, 798, 799, 799, 797, 9, + 797, 11, 797, 13, 797, 15, 800, 800, 801, 801, + 797, 21, 797, 797, 797, 797, 802, 803, 797, 797, + 797, 797, 797, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 805, 805, 805, 805, 805, 805, 806, 806, + 797, 806, 807, 806, 806, 797, 806, 806, 806, 806, + 806, 806, 806, 797, 808, 797, 797, 802, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 809, + 809, 809, 809, 809, 809, 797, 810, 810, 810, 810, + 810, 810, 797, 811, 811, 811, 811, 811, 811, 797, + + 812, 812, 812, 812, 812, 812, 813, 813, 813, 814, + 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, + 797, 815, 797, 797, 815, 816, 817, 818, 815, 815, + 815, 815, 815, 815, 815, 815, 815, 815, 815, 797, + 819, 819, 819, 819, 819, 819, 819, 802, 797, 820, + 797, 797, 797, 797, 797, 797, 797, 804, 821, 804, + 804, 804, 804, 804, 804, 804, 804, 805, 805, 805, + 805, 805, 805, 806, 797, 806, 797, 807, 802, 806, + 806, 806, 806, 806, 806, 806, 806, 806, 806, 808, + 808, 797, 797, 797, 797, 797, 797, 809, 809, 809, + + 809, 809, 809, 822, 797, 810, 810, 810, 810, 810, + 810, 811, 811, 811, 811, 811, 811, 823, 797, 812, + 812, 812, 812, 812, 812, 813, 797, 814, 797, 813, + 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, + 797, 797, 815, 815, 815, 797, 797, 816, 816, 816, + 817, 817, 817, 818, 818, 818, 815, 815, 815, 815, + 815, 815, 815, 797, 815, 815, 815, 815, 819, 819, + 819, 819, 819, 819, 819, 819, 820, 797, 797, 824, + 821, 797, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 805, 805, 805, 805, 805, 805, 806, 806, 806, + + 806, 806, 806, 806, 806, 797, 797, 797, 797, 797, + 797, 809, 809, 809, 809, 809, 809, 825, 826, 810, + 810, 810, 810, 810, 810, 811, 811, 811, 811, 811, + 811, 827, 828, 812, 812, 812, 812, 812, 812, 813, + 813, 813, 813, 813, 813, 813, 813, 815, 815, 815, + 815, 797, 815, 815, 815, 815, 815, 819, 819, 819, + 819, 819, 819, 819, 819, 797, 797, 829, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 805, 805, 805, + 805, 805, 805, 806, 806, 806, 806, 806, 806, 806, + 797, 797, 797, 797, 797, 797, 809, 809, 809, 809, + + 809, 809, 825, 810, 830, 810, 810, 810, 810, 810, + 810, 811, 811, 811, 811, 811, 811, 827, 812, 831, + 812, 812, 812, 812, 812, 812, 813, 797, 813, 813, + 813, 813, 813, 813, 815, 815, 815, 815, 815, 815, + 815, 819, 819, 819, 819, 819, 819, 819, 819, 829, + 820, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 805, 805, 805, 805, 805, 805, 806, 806, 806, 806, + 806, 806, 797, 797, 797, 797, 797, 797, 809, 809, + 809, 809, 809, 809, 830, 810, 810, 810, 810, 810, + 810, 810, 811, 811, 811, 811, 811, 811, 831, 812, + + 812, 812, 812, 812, 812, 812, 813, 813, 813, 813, + 813, 813, 815, 815, 815, 815, 815, 815, 819, 819, + 819, 819, 819, 819, 819, 819, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 805, 805, 805, 805, 805, + 805, 806, 806, 806, 806, 806, 806, 797, 797, 797, + 797, 797, 797, 809, 809, 809, 809, 809, 809, 810, + 810, 810, 810, 810, 810, 811, 811, 811, 811, 811, + 811, 812, 812, 812, 812, 812, 812, 813, 813, 813, + 813, 813, 813, 815, 815, 815, 815, 815, 815, 819, + 819, 819, 819, 819, 819, 819, 804, 804, 804, 804, + + 804, 804, 804, 805, 805, 805, 805, 805, 805, 806, + 806, 806, 806, 806, 806, 797, 797, 797, 797, 797, + 797, 809, 809, 809, 809, 809, 809, 810, 810, 810, + 810, 810, 810, 811, 811, 811, 811, 811, 811, 812, + 812, 812, 812, 812, 812, 813, 813, 813, 813, 813, + 813, 815, 815, 815, 815, 815, 815, 819, 819, 819, + 819, 819, 819, 804, 804, 804, 805, 805, 806, 806, + 797, 797, 809, 809, 810, 810, 811, 811, 812, 812, + 813, 813, 815, 815, 819, 819, 804, 804, 805, 805, + 806, 806, 797, 797, 809, 809, 810, 810, 811, 811, + + 812, 812, 813, 813, 815, 815, 819, 819, 804, 804, + 805, 805, 806, 806, 797, 797, 809, 809, 810, 810, + 811, 811, 812, 812, 813, 813, 815, 815, 819, 819, + 804, 805, 806, 797, 809, 810, 811, 812, 813, 815, + 819, 804, 805, 806, 797, 809, 810, 811, 812, 813, + 815, 819, 804, 805, 806, 797, 809, 810, 811, 812, + 813, 815, 819, 804, 805, 806, 797, 809, 810, 811, + 812, 813, 815, 819, 804, 805, 806, 797, 809, 810, + 811, 812, 813, 815, 819, 804, 805, 806, 797, 809, + 810, 811, 812, 813, 815, 819, 0, 797, 797, 797, + + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797 } ; -static yyconst flex_int16_t yy_nxt[1894] = +static yyconst flex_int16_t yy_nxt[2216] = { 0, - 22, 23, 24, 23, 22, 25, 26, 22, 27, 22, - 28, 22, 22, 22, 22, 22, 29, 30, 31, 32, - 32, 33, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 22, 22, 22, 32, 34, 32, 32, 35, - 36, 37, 32, 38, 32, 32, 32, 32, 39, 32, - 32, 32, 32, 32, 32, 22, 22, 22, 23, 24, - 23, 22, 25, 22, 22, 27, 22, 28, 22, 22, - 22, 22, 22, 29, 30, 31, 40, 40, 41, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 22, - 22, 22, 40, 42, 40, 40, 43, 40, 40, 40, - - 44, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 22, 22, 46, 47, 48, 132, 49, 138, - 138, 50, 138, 51, 138, 133, 155, 156, 138, 52, - 53, 54, 154, 161, 55, 132, 159, 138, 235, 138, - 236, 154, 138, 133, 160, 140, 140, 141, 140, 56, - 140, 154, 57, 142, 140, 130, 58, 46, 47, 48, - 154, 49, 143, 140, 50, 140, 51, 145, 140, 158, - 162, 144, 52, 53, 54, 164, 154, 55, 181, 146, - 154, 163, 154, 154, 154, 169, 170, 181, 181, 181, - 147, 193, 56, 193, 193, 57, 193, 193, 193, 58, - - 60, 61, 62, 183, 63, 165, 198, 64, 166, 65, - 196, 193, 199, 167, 193, 66, 67, 68, 197, 193, - 69, 184, 200, 185, 193, 202, 214, 186, 206, 207, - 203, 220, 204, 209, 201, 70, 209, 292, 71, 209, - 211, 212, 72, 60, 61, 62, 138, 63, 209, 138, - 64, 209, 65, 132, 209, 215, 138, 221, 66, 67, - 68, 133, 257, 69, 154, 210, 258, 269, 205, 155, - 156, 270, 140, 274, 261, 140, 246, 275, 70, 286, - 210, 71, 140, 287, 154, 72, 22, 23, 73, 23, - 22, 25, 22, 22, 27, 22, 28, 22, 22, 22, - - 22, 22, 29, 30, 31, 74, 74, 75, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 22, 22, - 22, 74, 76, 74, 74, 77, 74, 74, 74, 78, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 22, 22, 22, 23, 24, 23, 22, 25, 79, - 22, 27, 22, 28, 22, 22, 80, 80, 22, 29, - 30, 31, 80, 80, 81, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 22, 22, 22, 80, 82, - 80, 80, 83, 80, 80, 80, 84, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 22, 22, - - 22, 23, 85, 23, 22, 25, 22, 22, 27, 22, - 28, 22, 22, 22, 22, 22, 29, 30, 31, 86, - 86, 87, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 22, 22, 22, 86, 88, 86, 86, 89, - 86, 86, 86, 90, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 22, 22, 92, 93, 92, - 138, 94, 217, 130, 95, 217, 96, 241, 217, 169, - 170, 154, 97, 98, 99, 222, 309, 100, 209, 209, - 310, 209, 209, 223, 209, 209, 140, 209, 226, 259, - 209, 181, 101, 247, 218, 102, 263, 138, 138, 103, - - 224, 138, 209, 209, 154, 209, 209, 210, 209, 209, - 138, 210, 104, 92, 93, 92, 210, 94, 225, 227, - 95, 242, 96, 140, 140, 350, 154, 140, 97, 98, - 99, 130, 248, 100, 210, 210, 140, 206, 207, 250, - 249, 220, 251, 260, 193, 158, 252, 209, 101, 262, - 209, 102, 345, 209, 181, 103, 209, 229, 209, 209, - 209, 209, 209, 209, 209, 181, 209, 221, 104, 106, - 107, 108, 109, 110, 278, 111, 112, 228, 113, 210, - 138, 291, 181, 154, 114, 115, 116, 159, 210, 117, - 210, 209, 210, 214, 209, 160, 230, 209, 279, 231, - - 193, 118, 154, 181, 119, 264, 140, 120, 214, 265, - 181, 121, 106, 107, 108, 109, 110, 280, 111, 112, - 220, 113, 215, 210, 290, 253, 138, 114, 115, 116, - 196, 193, 117, 211, 212, 281, 232, 215, 197, 282, - 311, 312, 323, 313, 118, 154, 221, 119, 276, 349, - 120, 324, 140, 585, 121, 22, 23, 122, 23, 22, - 25, 22, 22, 27, 22, 28, 22, 22, 22, 22, - 22, 29, 30, 31, 123, 123, 124, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 22, 22, 22, - 123, 125, 126, 123, 127, 123, 123, 123, 128, 123, - - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 22, 22, 288, 193, 193, 209, 209, 154, 209, 209, - 154, 209, 209, 209, 209, 213, 209, 214, 193, 209, - 217, 130, 154, 217, 219, 154, 217, 217, 130, 220, - 217, 328, 138, 217, 332, 241, 296, 210, 210, 209, - 293, 358, 209, 394, 294, 210, 215, 217, 295, 503, - 217, 314, 218, 217, 222, 221, 289, 209, 140, 218, - 209, 209, 223, 209, 209, 138, 209, 209, 210, 209, - 209, 209, 209, 209, 209, 209, 209, 209, 209, 218, - 138, 209, 209, 138, 209, 209, 210, 209, 209, 242, - - 297, 140, 138, 210, 138, 210, 193, 298, 334, 138, - 154, 315, 210, 210, 210, 209, 140, 335, 209, 140, - 316, 209, 259, 210, 210, 138, 327, 312, 140, 300, - 140, 154, 301, 339, 317, 140, 318, 154, 181, 331, - 352, 154, 340, 319, 181, 321, 359, 210, 193, 353, - 193, 140, 302, 288, 193, 360, 303, 329, 154, 320, - 356, 357, 209, 346, 296, 209, 330, 209, 209, 391, - 209, 370, 363, 312, 347, 209, 260, 154, 209, 209, - 371, 209, 209, 348, 209, 209, 633, 209, 362, 209, - 138, 361, 209, 138, 210, 209, 210, 311, 312, 138, - - 138, 138, 209, 364, 210, 209, 209, 289, 209, 209, - 138, 210, 209, 210, 378, 138, 140, 154, 297, 140, - 379, 210, 365, 138, 154, 140, 140, 140, 154, 380, - 181, 366, 327, 312, 210, 181, 140, 392, 210, 181, - 181, 140, 181, 381, 382, 368, 367, 154, 393, 140, - 193, 408, 356, 357, 193, 193, 383, 395, 384, 193, - 193, 131, 193, 193, 385, 409, 154, 363, 312, 410, - 209, 209, 545, 209, 209, 418, 209, 209, 209, 209, - 138, 209, 209, 555, 209, 412, 411, 209, 419, 420, - 209, 138, 209, 209, 138, 209, 138, 423, 209, 210, - - 138, 138, 138, 210, 181, 138, 140, 422, 210, 421, - 210, 424, 154, 425, 435, 154, 154, 140, 181, 210, - 140, 138, 140, 154, 210, 448, 140, 140, 140, 154, - 181, 140, 181, 181, 436, 440, 193, 193, 426, 193, - 427, 438, 439, 193, 437, 442, 449, 140, 465, 450, - 452, 466, 451, 463, 193, 154, 209, 154, 441, 209, - 181, 209, 209, 473, 209, 209, 138, 209, 209, 565, - 467, 209, 464, 209, 138, 138, 209, 154, 138, 209, - 476, 474, 138, 209, 478, 502, 209, 475, 210, 209, - 138, 138, 140, 210, 138, 477, 500, 210, 154, 490, - - 140, 140, 154, 489, 140, 210, 479, 181, 140, 181, - 181, 481, 181, 491, 480, 210, 140, 140, 181, 193, - 140, 501, 193, 492, 493, 482, 193, 193, 193, 209, - 138, 193, 209, 154, 138, 209, 494, 504, 515, 209, - 516, 154, 209, 181, 209, 209, 518, 209, 517, 138, - 209, 209, 525, 595, 209, 138, 140, 209, 138, 526, - 140, 210, 546, 519, 181, 528, 209, 531, 527, 209, - 138, 210, 209, 530, 540, 140, 210, 529, 193, 542, - 551, 140, 552, 210, 140, 154, 209, 532, 541, 209, - 533, 209, 209, 138, 209, 181, 140, 209, 210, 209, - - 209, 138, 209, 209, 138, 209, 209, 557, 209, 566, - 181, 209, 193, 193, 209, 154, 534, 561, 210, 140, - 138, 556, 209, 210, 181, 209, 138, 140, 209, 572, - 140, 210, 210, 209, 571, 558, 209, 181, 562, 209, - 210, 575, 591, 193, 581, 154, 140, 138, 586, 603, - 576, 577, 140, 209, 210, 209, 209, 138, 209, 209, - 181, 209, 154, 582, 193, 210, 154, 181, 181, 623, - 138, 601, 578, 140, 606, 209, 597, 193, 209, 613, - 592, 209, 608, 140, 626, 210, 209, 210, 138, 209, - 596, 616, 209, 611, 609, 209, 140, 181, 209, 193, - - 138, 209, 193, 598, 618, 621, 209, 210, 660, 209, - 657, 655, 209, 138, 140, 181, 636, 654, 210, 631, - 628, 193, 154, 619, 138, 638, 140, 210, 629, 209, - 643, 641, 209, 646, 209, 209, 154, 209, 210, 140, - 209, 181, 193, 648, 138, 652, 651, 650, 653, 209, - 140, 647, 209, 639, 645, 209, 209, 649, 644, 209, - 642, 210, 209, 656, 640, 637, 210, 635, 658, 634, - 140, 632, 630, 627, 625, 624, 659, 622, 620, 617, - 615, 210, 614, 612, 610, 193, 607, 181, 210, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 139, - 139, 139, 605, 139, 139, 139, 148, 148, 604, 148, - 148, 153, 154, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 175, 175, 602, - - 175, 175, 182, 182, 600, 182, 182, 182, 187, 187, - 599, 187, 187, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 208, 594, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 213, - 593, 590, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 219, 589, 588, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 233, 233, 587, 233, 233, - 240, 240, 240, 584, 240, 240, 240, 244, 244, 583, - - 244, 343, 343, 580, 343, 343, 579, 574, 343, 376, - 376, 573, 376, 376, 570, 569, 376, 406, 406, 568, - 406, 406, 567, 564, 406, 563, 560, 559, 193, 193, - 193, 554, 553, 181, 181, 181, 550, 549, 548, 547, - 154, 154, 154, 544, 543, 539, 538, 537, 536, 535, - 524, 523, 522, 521, 520, 514, 513, 512, 511, 510, - 509, 508, 507, 506, 505, 499, 498, 497, 496, 495, - 488, 487, 486, 485, 484, 483, 472, 471, 470, 469, - 468, 181, 407, 462, 461, 460, 459, 458, 457, 456, - 455, 454, 453, 447, 446, 445, 444, 443, 377, 434, - - 433, 432, 431, 430, 429, 428, 357, 417, 416, 415, - 414, 413, 407, 181, 344, 405, 404, 403, 402, 401, - 400, 399, 398, 397, 396, 390, 389, 388, 387, 386, - 377, 312, 375, 374, 373, 372, 369, 299, 193, 355, - 354, 351, 181, 344, 342, 341, 338, 337, 336, 333, - 154, 326, 325, 322, 245, 308, 307, 306, 305, 304, - 299, 212, 207, 193, 193, 193, 193, 193, 195, 193, - 193, 285, 284, 283, 181, 277, 273, 272, 271, 268, - 267, 266, 170, 154, 154, 154, 130, 154, 256, 255, - 254, 245, 243, 130, 239, 238, 237, 234, 212, 195, - - 193, 193, 193, 191, 190, 189, 188, 181, 180, 179, - 178, 177, 176, 174, 173, 172, 171, 137, 136, 135, - 134, 130, 135, 154, 154, 152, 151, 150, 149, 137, - 136, 135, 134, 130, 661, 21, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661 - + 24, 25, 26, 25, 24, 27, 28, 24, 29, 24, + 30, 24, 24, 24, 24, 24, 31, 32, 33, 34, + 34, 35, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 24, 24, 24, 34, 36, 34, 34, 37, + 38, 39, 34, 40, 34, 34, 34, 34, 41, 34, + 42, 34, 34, 34, 34, 34, 24, 24, 24, 25, + 26, 25, 24, 27, 24, 24, 29, 24, 30, 24, + 24, 24, 24, 24, 31, 32, 33, 43, 43, 44, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 24, 24, 24, 43, 45, 43, 43, 46, 43, 43, + + 43, 47, 43, 43, 43, 43, 43, 43, 48, 43, + 43, 43, 43, 43, 24, 24, 50, 51, 52, 151, + 53, 157, 157, 54, 157, 55, 157, 152, 176, 177, + 157, 56, 57, 58, 175, 157, 59, 157, 183, 149, + 175, 182, 175, 175, 175, 157, 157, 159, 159, 160, + 159, 60, 159, 179, 61, 161, 159, 185, 62, 205, + 162, 159, 175, 159, 188, 63, 50, 51, 52, 175, + 53, 159, 159, 54, 175, 55, 164, 165, 163, 167, + 180, 56, 57, 58, 166, 186, 59, 205, 181, 175, + 184, 191, 192, 187, 151, 175, 205, 219, 189, 210, + + 205, 60, 152, 205, 61, 219, 219, 219, 62, 219, + 227, 227, 207, 230, 227, 63, 65, 66, 67, 227, + 68, 231, 221, 69, 227, 70, 232, 234, 227, 208, + 227, 71, 72, 73, 209, 227, 74, 211, 222, 233, + 223, 227, 227, 225, 271, 235, 272, 224, 238, 241, + 242, 75, 246, 247, 76, 249, 244, 236, 77, 244, + 295, 255, 244, 157, 296, 78, 65, 66, 67, 157, + 68, 244, 237, 69, 244, 70, 157, 244, 175, 157, + 240, 71, 72, 73, 250, 239, 74, 256, 245, 159, + 151, 176, 177, 149, 420, 159, 283, 405, 152, 175, + + 379, 75, 159, 245, 76, 159, 175, 179, 77, 300, + 380, 305, 284, 191, 192, 78, 24, 25, 79, 25, + 24, 27, 24, 24, 29, 24, 30, 24, 24, 24, + 24, 24, 31, 32, 33, 80, 80, 81, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 24, 24, + 24, 80, 82, 80, 80, 83, 80, 80, 80, 84, + 80, 80, 80, 80, 80, 80, 85, 80, 80, 80, + 80, 80, 24, 24, 24, 25, 26, 25, 24, 27, + 86, 24, 29, 24, 30, 24, 24, 87, 87, 24, + 31, 32, 33, 87, 87, 88, 87, 87, 87, 87, + + 87, 87, 87, 87, 87, 87, 24, 24, 24, 87, + 89, 87, 87, 90, 87, 87, 87, 91, 87, 87, + 87, 87, 87, 87, 92, 87, 87, 87, 87, 87, + 24, 24, 24, 25, 93, 25, 24, 27, 24, 24, + 29, 24, 30, 24, 24, 24, 24, 24, 31, 32, + 33, 94, 94, 95, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 24, 24, 24, 94, 96, 94, + 94, 97, 94, 94, 94, 98, 94, 94, 94, 94, + 94, 94, 99, 94, 94, 94, 94, 94, 24, 24, + 24, 25, 26, 25, 24, 27, 100, 24, 29, 24, + + 30, 24, 24, 101, 101, 24, 31, 32, 33, 101, + 101, 102, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 24, 24, 24, 101, 103, 101, 101, 104, + 101, 101, 101, 105, 101, 101, 101, 101, 101, 101, + 106, 101, 101, 101, 101, 101, 24, 24, 108, 109, + 108, 157, 110, 252, 149, 111, 252, 112, 368, 252, + 278, 157, 157, 113, 114, 115, 257, 309, 116, 244, + 175, 310, 244, 227, 258, 157, 244, 159, 244, 244, + 175, 244, 244, 117, 244, 253, 118, 159, 159, 332, + 119, 157, 259, 286, 260, 302, 285, 120, 245, 205, + + 287, 159, 227, 301, 121, 108, 109, 108, 245, 110, + 245, 433, 111, 244, 112, 279, 244, 159, 291, 244, + 113, 114, 115, 244, 175, 116, 244, 244, 244, 244, + 244, 244, 261, 244, 244, 244, 264, 290, 244, 343, + 117, 244, 325, 118, 262, 245, 303, 119, 157, 315, + 304, 265, 205, 316, 120, 245, 205, 263, 205, 245, + 245, 121, 123, 124, 125, 126, 127, 245, 128, 129, + 244, 130, 320, 244, 159, 180, 244, 131, 132, 133, + 288, 298, 134, 181, 289, 244, 219, 219, 244, 321, + 175, 244, 244, 322, 135, 244, 175, 136, 244, 329, + + 137, 205, 245, 330, 138, 219, 334, 219, 219, 266, + 227, 139, 123, 124, 125, 126, 127, 245, 128, 129, + 335, 130, 227, 175, 245, 241, 242, 131, 132, 133, + 267, 268, 134, 323, 230, 227, 299, 324, 318, 337, + 336, 363, 231, 338, 135, 364, 342, 136, 175, 344, + 137, 339, 246, 247, 138, 366, 367, 385, 427, 428, + 390, 139, 24, 25, 140, 25, 24, 27, 24, 24, + 29, 24, 30, 24, 24, 24, 24, 24, 31, 32, + 33, 141, 141, 142, 141, 141, 141, 141, 141, 141, + 141, 141, 141, 141, 24, 24, 24, 141, 143, 144, + + 141, 145, 141, 141, 141, 146, 141, 141, 141, 141, + 141, 141, 147, 141, 141, 141, 141, 141, 24, 24, + 340, 227, 227, 227, 244, 244, 249, 244, 244, 175, + 244, 244, 244, 244, 249, 244, 205, 248, 244, 249, + 252, 149, 278, 252, 252, 149, 252, 252, 252, 348, + 252, 252, 255, 255, 252, 250, 245, 245, 345, 175, + 254, 205, 346, 250, 245, 255, 470, 205, 250, 563, + 347, 349, 253, 205, 244, 341, 253, 244, 256, 256, + 253, 257, 244, 389, 244, 244, 406, 244, 244, 258, + 244, 256, 244, 244, 487, 244, 244, 279, 244, 244, + + 409, 150, 244, 245, 244, 244, 244, 244, 157, 244, + 244, 157, 244, 245, 245, 244, 157, 244, 244, 157, + 244, 244, 245, 244, 245, 157, 350, 244, 175, 351, + 244, 245, 205, 244, 159, 369, 245, 159, 245, 157, + 157, 157, 159, 157, 353, 159, 157, 245, 298, 245, + 175, 159, 392, 205, 355, 354, 219, 388, 356, 245, + 372, 370, 393, 175, 398, 159, 159, 159, 407, 159, + 205, 371, 159, 373, 399, 357, 386, 375, 408, 374, + 384, 367, 376, 413, 219, 219, 387, 410, 377, 219, + 219, 227, 422, 414, 227, 175, 340, 227, 227, 227, + + 366, 367, 423, 299, 421, 244, 349, 244, 244, 244, + 244, 244, 244, 244, 429, 435, 367, 411, 244, 175, + 227, 244, 244, 424, 425, 244, 244, 244, 244, 244, + 244, 436, 244, 244, 430, 219, 426, 245, 245, 245, + 244, 432, 244, 244, 431, 244, 244, 245, 244, 157, + 434, 341, 443, 471, 245, 157, 157, 157, 245, 245, + 175, 350, 444, 437, 157, 157, 157, 157, 205, 175, + 452, 439, 245, 438, 245, 159, 157, 175, 175, 440, + 467, 159, 159, 159, 205, 453, 454, 472, 384, 367, + 159, 159, 159, 159, 441, 205, 205, 468, 469, 205, + + 219, 455, 159, 175, 460, 219, 219, 219, 456, 219, + 458, 219, 457, 227, 488, 490, 227, 459, 427, 428, + 227, 501, 227, 227, 227, 489, 435, 367, 244, 244, + 175, 244, 244, 175, 244, 502, 492, 503, 507, 669, + 491, 175, 244, 542, 157, 244, 506, 205, 244, 713, + 508, 157, 175, 504, 509, 505, 244, 157, 245, 244, + 245, 244, 244, 514, 244, 512, 244, 244, 513, 244, + 159, 511, 244, 510, 245, 244, 157, 159, 244, 157, + 527, 244, 157, 159, 157, 157, 157, 544, 245, 175, + 205, 515, 562, 245, 157, 175, 529, 175, 245, 175, + + 205, 205, 159, 219, 205, 159, 219, 245, 159, 219, + 159, 159, 159, 516, 219, 517, 528, 518, 532, 543, + 159, 533, 545, 531, 546, 530, 534, 560, 219, 547, + 561, 219, 572, 227, 227, 227, 227, 564, 535, 227, + 227, 157, 175, 573, 175, 565, 205, 575, 175, 244, + 244, 574, 244, 244, 788, 244, 244, 766, 244, 157, + 578, 244, 675, 610, 244, 576, 244, 159, 244, 244, + 597, 244, 244, 581, 244, 577, 157, 584, 579, 157, + 582, 245, 245, 244, 580, 159, 244, 157, 583, 244, + 245, 157, 598, 157, 157, 585, 157, 175, 245, 175, + + 245, 175, 159, 205, 587, 159, 175, 175, 586, 205, + 588, 205, 205, 159, 599, 245, 205, 159, 205, 159, + 159, 613, 159, 219, 611, 601, 219, 612, 600, 219, + 603, 615, 589, 219, 219, 219, 629, 227, 628, 602, + 227, 227, 614, 227, 227, 157, 631, 227, 244, 630, + 157, 244, 633, 205, 244, 640, 641, 244, 244, 205, + 244, 244, 632, 244, 244, 157, 664, 642, 643, 645, + 646, 159, 244, 175, 227, 244, 159, 647, 244, 644, + 245, 649, 652, 648, 665, 651, 157, 157, 157, 245, + 245, 159, 157, 244, 650, 653, 244, 244, 676, 244, + + 244, 654, 670, 244, 245, 219, 219, 227, 175, 796, + 175, 655, 159, 159, 159, 205, 244, 682, 159, 244, + 244, 679, 244, 244, 691, 245, 244, 681, 244, 245, + 157, 244, 666, 157, 244, 244, 657, 683, 244, 157, + 244, 244, 175, 244, 656, 680, 244, 244, 245, 698, + 244, 205, 245, 244, 687, 219, 159, 219, 227, 159, + 245, 227, 157, 205, 684, 159, 692, 245, 244, 157, + 175, 244, 245, 688, 244, 697, 205, 244, 219, 245, + 244, 701, 219, 244, 227, 227, 703, 709, 159, 702, + 227, 175, 157, 227, 719, 159, 723, 705, 755, 704, + + 245, 157, 244, 739, 714, 244, 710, 720, 244, 245, + 205, 244, 725, 792, 244, 731, 706, 244, 159, 175, + 750, 219, 157, 733, 736, 727, 724, 159, 205, 175, + 244, 219, 726, 244, 245, 738, 244, 227, 244, 157, + 205, 244, 744, 245, 244, 742, 219, 244, 159, 740, + 244, 747, 157, 244, 749, 205, 753, 758, 761, 227, + 728, 244, 245, 760, 244, 159, 219, 244, 157, 175, + 245, 764, 205, 219, 769, 751, 227, 777, 159, 245, + 157, 244, 772, 762, 244, 771, 775, 244, 205, 244, + 780, 782, 244, 245, 159, 244, 219, 227, 783, 157, + + 790, 244, 786, 789, 244, 773, 159, 244, 244, 787, + 791, 244, 784, 245, 244, 785, 781, 779, 793, 778, + 776, 245, 774, 794, 770, 159, 768, 767, 795, 765, + 763, 759, 757, 245, 756, 754, 752, 748, 746, 745, + 245, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 148, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, + + 148, 158, 158, 158, 743, 158, 158, 158, 168, 168, + 741, 168, 168, 174, 227, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 198, + 198, 219, 198, 198, 206, 206, 737, 206, 206, 206, + 212, 212, 205, 212, 212, 220, 220, 735, 220, 220, + 220, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 243, 734, 243, 243, 243, + + 243, 243, 243, 243, 243, 243, 243, 248, 175, 732, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 254, 730, 729, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 269, 269, 722, 269, 269, 277, 277, + 277, 721, 277, 277, 277, 281, 281, 718, 281, 403, + 403, 717, 403, 403, 716, 715, 403, 418, 418, 712, + 418, 418, 711, 708, 418, 450, 450, 707, 450, 450, + 700, 699, 450, 485, 485, 696, 485, 485, 695, 694, + 485, 499, 499, 693, 499, 499, 690, 689, 499, 686, + + 685, 227, 227, 227, 227, 219, 219, 219, 219, 678, + 677, 205, 205, 205, 205, 674, 673, 672, 671, 175, + 175, 175, 175, 668, 667, 663, 662, 661, 660, 659, + 658, 639, 638, 637, 636, 635, 634, 627, 626, 625, + 624, 623, 622, 621, 620, 619, 618, 617, 616, 609, + 608, 607, 606, 605, 604, 596, 595, 594, 593, 592, + 591, 590, 219, 500, 571, 570, 569, 568, 567, 566, + 205, 486, 559, 558, 557, 556, 555, 554, 553, 552, + 551, 550, 549, 548, 541, 540, 539, 538, 537, 536, + 451, 526, 525, 524, 523, 522, 521, 520, 519, 428, + + 500, 219, 419, 498, 497, 496, 495, 494, 493, 486, + 205, 404, 484, 483, 482, 481, 480, 479, 478, 477, + 476, 475, 474, 473, 466, 465, 464, 463, 462, 461, + 451, 367, 449, 448, 447, 446, 445, 442, 352, 227, + 219, 419, 417, 416, 415, 412, 205, 404, 402, 401, + 400, 397, 396, 395, 394, 391, 175, 383, 382, 381, + 378, 282, 365, 362, 361, 360, 359, 358, 352, 247, + 242, 227, 227, 227, 227, 227, 229, 227, 227, 219, + 333, 331, 328, 327, 326, 205, 319, 317, 314, 313, + 312, 311, 308, 307, 306, 192, 175, 175, 175, 149, + + 175, 297, 294, 293, 292, 282, 280, 149, 276, 275, + 274, 273, 270, 247, 229, 227, 227, 227, 219, 218, + 217, 216, 215, 214, 213, 205, 204, 203, 202, 201, + 200, 199, 197, 196, 195, 194, 193, 156, 155, 154, + 153, 149, 154, 175, 175, 173, 172, 171, 170, 169, + 156, 155, 154, 153, 149, 797, 23, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797 } ; -static yyconst flex_int16_t yy_chk[1894] = +static yyconst flex_int16_t yy_chk[2216] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 5, 5, 5, 27, 5, 32, - 34, 5, 33, 5, 36, 27, 46, 46, 35, 5, - 5, 5, 51, 51, 5, 64, 50, 37, 125, 38, - 125, 46, 39, 64, 50, 32, 34, 33, 33, 5, - 36, 50, 5, 34, 35, 49, 5, 6, 6, 6, - 55, 6, 35, 37, 6, 38, 6, 37, 39, 49, - 53, 36, 6, 6, 6, 55, 53, 6, 81, 38, - 54, 54, 56, 58, 57, 60, 60, 84, 82, 83, - 39, 96, 6, 101, 102, 6, 100, 97, 204, 6, - - 7, 7, 7, 81, 7, 56, 96, 7, 57, 7, - 95, 95, 97, 58, 98, 7, 7, 7, 95, 99, - 7, 82, 98, 83, 103, 100, 109, 84, 104, 104, - 101, 111, 102, 105, 99, 7, 105, 204, 7, 105, - 106, 106, 7, 8, 8, 8, 131, 8, 108, 139, - 8, 108, 8, 132, 108, 109, 141, 111, 8, 8, - 8, 132, 152, 8, 164, 105, 152, 174, 103, 155, - 155, 174, 131, 179, 164, 139, 141, 179, 8, 191, - 108, 8, 141, 191, 155, 8, 9, 9, 9, 9, + 3, 3, 3, 3, 3, 3, 5, 5, 5, 29, + 5, 34, 36, 5, 35, 5, 37, 29, 50, 50, + 38, 5, 5, 5, 62, 41, 5, 40, 57, 53, + 55, 55, 59, 50, 57, 42, 39, 34, 36, 35, + 35, 5, 37, 53, 5, 36, 38, 59, 5, 91, + 37, 41, 60, 40, 62, 5, 6, 6, 6, 61, + 6, 42, 39, 6, 63, 6, 39, 40, 38, 42, + 54, 6, 6, 6, 41, 60, 6, 88, 54, 58, + 58, 65, 65, 61, 69, 54, 89, 102, 63, 91, + + 90, 6, 69, 92, 6, 103, 104, 105, 6, 106, + 118, 112, 88, 111, 111, 6, 7, 7, 7, 114, + 7, 111, 102, 7, 113, 7, 112, 114, 116, 89, + 115, 7, 7, 7, 90, 117, 7, 92, 103, 113, + 104, 119, 120, 106, 143, 115, 143, 105, 118, 121, + 121, 7, 123, 123, 7, 126, 122, 116, 7, 122, + 172, 128, 122, 150, 172, 7, 8, 8, 8, 158, + 8, 125, 117, 8, 125, 8, 160, 125, 189, 161, + 120, 8, 8, 8, 126, 119, 8, 128, 122, 150, + 151, 176, 176, 178, 828, 158, 160, 826, 151, 185, + + 293, 8, 160, 125, 8, 161, 176, 178, 8, 185, + 293, 189, 161, 191, 191, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 11, 11, 11, 11, 11, 11, 11, + 9, 9, 9, 9, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - + 11, 11, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 15, 15, - 142, 15, 110, 110, 15, 110, 15, 133, 110, 169, - 169, 166, 15, 15, 15, 112, 239, 15, 112, 115, - 239, 112, 115, 112, 113, 115, 142, 113, 115, 160, - 113, 282, 15, 142, 110, 15, 166, 143, 144, 15, - - 113, 145, 114, 116, 160, 114, 116, 112, 114, 116, - 146, 115, 15, 16, 16, 16, 113, 16, 114, 116, - 16, 133, 16, 143, 144, 282, 165, 145, 16, 16, - 16, 157, 143, 16, 114, 116, 146, 206, 206, 145, - 144, 219, 146, 160, 203, 157, 146, 117, 16, 165, - 117, 16, 688, 117, 183, 16, 118, 118, 119, 118, - 120, 119, 118, 120, 119, 184, 120, 219, 16, 17, - 17, 17, 17, 17, 183, 17, 17, 117, 17, 117, - 147, 203, 185, 167, 17, 17, 17, 159, 118, 17, - 119, 121, 120, 213, 121, 159, 119, 121, 184, 120, - - 202, 17, 159, 186, 17, 167, 147, 17, 214, 167, - 281, 17, 18, 18, 18, 18, 18, 185, 18, 18, - 220, 18, 213, 121, 202, 147, 240, 18, 18, 18, - 196, 196, 18, 211, 211, 186, 121, 214, 196, 186, - 242, 242, 255, 686, 18, 565, 220, 18, 685, 281, - 18, 255, 240, 565, 18, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 197, 197, 205, 208, 209, 331, 208, 209, - 265, 208, 209, 210, 210, 215, 210, 215, 290, 210, - 216, 216, 261, 216, 221, 451, 216, 217, 217, 221, - 217, 261, 246, 217, 265, 241, 223, 208, 209, 223, - 205, 290, 223, 331, 205, 210, 215, 218, 218, 451, - 218, 246, 216, 218, 222, 221, 197, 222, 246, 217, - 222, 224, 222, 225, 224, 247, 225, 224, 223, 225, - 226, 227, 228, 226, 227, 228, 226, 227, 228, 218, - 248, 230, 231, 249, 230, 231, 222, 230, 231, 241, - - 223, 247, 250, 224, 251, 225, 291, 228, 267, 253, - 264, 247, 226, 227, 228, 232, 248, 267, 232, 249, - 247, 232, 259, 230, 231, 252, 260, 260, 250, 230, - 251, 262, 231, 272, 249, 253, 250, 259, 279, 264, - 284, 260, 272, 251, 278, 253, 291, 232, 293, 284, - 294, 252, 232, 288, 288, 291, 232, 262, 328, 252, - 289, 289, 295, 278, 296, 295, 262, 296, 295, 328, - 296, 305, 297, 297, 279, 297, 259, 623, 297, 298, - 305, 300, 298, 279, 300, 298, 623, 300, 294, 301, - 315, 293, 301, 314, 295, 301, 296, 311, 311, 316, - - 317, 318, 302, 298, 297, 302, 303, 288, 302, 303, - 319, 298, 303, 300, 314, 320, 315, 329, 296, 314, - 315, 301, 300, 321, 332, 316, 317, 318, 330, 316, - 346, 300, 327, 327, 302, 347, 319, 329, 303, 348, - 349, 320, 350, 317, 318, 303, 302, 327, 330, 321, - 358, 346, 356, 356, 359, 360, 319, 332, 320, 361, - 362, 667, 658, 525, 321, 347, 500, 363, 363, 348, - 363, 364, 500, 363, 364, 358, 365, 364, 366, 365, - 377, 366, 365, 525, 366, 350, 349, 367, 359, 360, - 367, 378, 368, 367, 379, 368, 381, 364, 368, 363, - - 380, 382, 383, 364, 410, 385, 377, 362, 365, 361, - 366, 365, 391, 366, 378, 393, 392, 378, 411, 367, - 379, 384, 381, 395, 368, 391, 380, 382, 383, 394, - 408, 385, 409, 412, 379, 383, 418, 419, 367, 420, - 368, 381, 382, 421, 380, 385, 392, 384, 410, 393, - 395, 411, 394, 408, 422, 545, 423, 450, 384, 423, - 656, 424, 423, 418, 424, 425, 436, 424, 425, 545, - 412, 425, 409, 426, 435, 437, 426, 448, 438, 426, - 421, 419, 439, 427, 423, 450, 427, 420, 423, 427, - 440, 441, 436, 424, 442, 422, 448, 425, 449, 436, - - 435, 437, 452, 435, 438, 426, 424, 464, 439, 463, - 465, 426, 466, 437, 425, 427, 440, 441, 467, 473, - 442, 449, 474, 439, 440, 427, 475, 476, 477, 479, - 491, 575, 479, 501, 492, 479, 441, 452, 463, 478, - 464, 653, 478, 516, 480, 478, 466, 480, 465, 490, - 480, 481, 473, 575, 481, 493, 491, 481, 489, 474, - 492, 479, 501, 467, 515, 476, 482, 479, 475, 482, - 494, 478, 482, 478, 489, 490, 480, 477, 526, 492, - 515, 493, 516, 481, 489, 546, 530, 480, 490, 530, - 481, 531, 530, 540, 531, 552, 494, 531, 482, 532, - - 533, 542, 532, 533, 541, 532, 533, 530, 534, 546, - 551, 534, 556, 555, 534, 566, 482, 540, 530, 540, - 562, 526, 557, 531, 571, 557, 561, 542, 557, 552, - 541, 532, 533, 558, 551, 531, 558, 572, 541, 558, - 534, 555, 571, 576, 561, 585, 562, 582, 566, 585, - 556, 557, 561, 577, 557, 578, 577, 581, 578, 577, - 591, 578, 613, 562, 595, 558, 603, 616, 606, 613, - 601, 581, 558, 582, 591, 597, 577, 608, 597, 603, - 572, 597, 595, 581, 616, 577, 598, 578, 611, 598, - 576, 606, 598, 601, 597, 609, 601, 626, 609, 618, - - 621, 609, 628, 578, 608, 611, 619, 597, 650, 619, - 647, 645, 619, 631, 611, 636, 626, 644, 598, 621, - 618, 638, 633, 609, 641, 628, 621, 609, 619, 629, - 633, 631, 629, 636, 639, 629, 643, 639, 619, 631, - 639, 646, 648, 638, 651, 642, 641, 640, 643, 649, - 641, 637, 649, 629, 635, 649, 659, 639, 634, 659, - 632, 629, 659, 646, 630, 627, 639, 625, 648, 624, - 651, 622, 620, 617, 615, 614, 649, 612, 610, 607, - 605, 649, 604, 602, 599, 596, 593, 592, 659, 662, - 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, - - 662, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 665, 665, 665, 665, 665, - 665, 665, 665, 665, 665, 665, 665, 666, 666, 666, - 666, 666, 666, 666, 666, 666, 666, 666, 666, 668, - 668, 668, 589, 668, 668, 668, 669, 669, 587, 669, - 669, 670, 586, 670, 670, 670, 670, 670, 670, 670, - 670, 670, 670, 671, 671, 671, 671, 671, 671, 671, - 671, 671, 671, 671, 671, 672, 672, 672, 672, 672, - 672, 672, 672, 672, 672, 672, 672, 673, 673, 583, - - 673, 673, 674, 674, 580, 674, 674, 674, 675, 675, - 579, 675, 675, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 677, 677, 677, 677, 677, - 677, 677, 677, 677, 677, 677, 677, 678, 574, 678, - 678, 678, 678, 678, 678, 678, 678, 678, 678, 679, - 573, 570, 679, 679, 679, 679, 679, 679, 679, 679, - 679, 680, 680, 680, 680, 680, 680, 680, 680, 680, - 680, 680, 680, 681, 569, 568, 681, 681, 681, 681, - 681, 681, 681, 681, 681, 682, 682, 567, 682, 682, - 683, 683, 683, 564, 683, 683, 683, 684, 684, 563, - - 684, 687, 687, 560, 687, 687, 559, 554, 687, 689, - 689, 553, 689, 689, 550, 549, 689, 690, 690, 548, - 690, 690, 547, 544, 690, 543, 536, 535, 529, 528, - 527, 521, 520, 519, 518, 517, 511, 510, 506, 505, - 504, 503, 502, 496, 495, 488, 487, 485, 484, 483, - 472, 471, 470, 469, 468, 462, 461, 460, 459, 458, - 457, 456, 455, 454, 453, 447, 446, 445, 444, 443, - 434, 433, 432, 430, 429, 428, 417, 416, 415, 414, - 413, 407, 406, 405, 404, 403, 402, 401, 400, 399, - 398, 397, 396, 390, 389, 388, 387, 386, 376, 375, - - 374, 373, 372, 371, 370, 369, 357, 355, 354, 353, - 352, 351, 345, 344, 343, 342, 341, 340, 339, 338, - 337, 336, 335, 334, 333, 326, 325, 324, 323, 322, - 313, 312, 310, 309, 307, 306, 304, 299, 292, 287, - 286, 283, 280, 276, 275, 274, 271, 270, 269, 266, - 263, 258, 257, 254, 244, 238, 237, 236, 235, 234, - 229, 212, 207, 201, 200, 199, 198, 195, 194, 193, - 192, 190, 189, 188, 182, 181, 178, 177, 176, 173, - 172, 171, 168, 163, 162, 161, 158, 153, 151, 150, - 149, 140, 138, 129, 128, 127, 126, 124, 107, 94, - - 93, 92, 91, 90, 89, 88, 87, 80, 79, 78, - 77, 76, 75, 72, 71, 70, 69, 68, 67, 66, - 65, 63, 52, 48, 45, 44, 43, 42, 41, 31, - 30, 29, 28, 25, 21, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661 - + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 17, 17, + 17, 163, 17, 127, 127, 17, 127, 17, 824, 127, + 152, 162, 164, 17, 17, 17, 129, 196, 17, 129, + 187, 196, 129, 346, 129, 167, 130, 163, 131, 130, + 186, 131, 130, 17, 131, 127, 17, 162, 164, 823, + 17, 166, 130, 163, 131, 187, 162, 17, 129, 211, + + 164, 167, 237, 186, 17, 18, 18, 18, 130, 18, + 131, 346, 18, 136, 18, 152, 136, 166, 167, 136, + 18, 18, 18, 132, 188, 18, 132, 134, 133, 132, + 134, 133, 132, 134, 133, 135, 135, 166, 135, 237, + 18, 135, 211, 18, 133, 136, 188, 18, 165, 202, + 188, 136, 207, 202, 18, 132, 208, 134, 209, 134, + 133, 18, 19, 19, 19, 19, 19, 135, 19, 19, + 137, 19, 207, 137, 165, 180, 137, 19, 19, 19, + 165, 181, 19, 180, 165, 138, 221, 222, 138, 208, + 180, 138, 139, 209, 19, 139, 181, 19, 139, 216, + + 19, 210, 137, 216, 19, 223, 221, 224, 225, 137, + 238, 19, 20, 20, 20, 20, 20, 138, 20, 20, + 222, 20, 236, 305, 139, 241, 241, 20, 20, 20, + 138, 139, 20, 210, 230, 230, 181, 210, 822, 224, + 223, 275, 230, 224, 20, 275, 236, 20, 300, 238, + 20, 225, 246, 246, 20, 279, 279, 300, 341, 341, + 305, 20, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 231, 231, 239, 240, 243, 244, 248, 243, 244, 388, + 243, 244, 245, 245, 249, 245, 490, 250, 245, 250, + 251, 251, 278, 251, 252, 252, 251, 252, 253, 253, + 252, 253, 254, 255, 253, 248, 243, 244, 239, 304, + 256, 323, 239, 249, 245, 256, 388, 320, 250, 490, + 240, 258, 251, 406, 258, 231, 252, 258, 254, 255, + 253, 257, 259, 304, 257, 259, 320, 257, 259, 257, + 260, 256, 261, 260, 406, 261, 260, 278, 261, 262, + + 323, 803, 262, 258, 263, 262, 265, 263, 277, 265, + 263, 285, 265, 257, 259, 266, 283, 267, 266, 286, + 267, 266, 260, 267, 261, 284, 258, 268, 303, 263, + 268, 262, 321, 268, 277, 283, 263, 285, 265, 287, + 288, 291, 283, 289, 265, 286, 290, 266, 298, 267, + 301, 284, 307, 324, 267, 266, 335, 303, 267, 268, + 286, 284, 307, 298, 313, 287, 288, 291, 321, 289, + 325, 284, 290, 287, 313, 268, 301, 289, 321, 288, + 299, 299, 290, 327, 337, 334, 301, 324, 291, 339, + 338, 342, 335, 327, 343, 299, 340, 340, 345, 347, + + 366, 366, 335, 298, 334, 348, 349, 351, 348, 349, + 351, 348, 349, 351, 342, 350, 350, 325, 350, 389, + 794, 350, 353, 337, 338, 353, 354, 355, 353, 354, + 355, 351, 354, 355, 343, 793, 339, 348, 349, 351, + 356, 345, 357, 356, 343, 357, 356, 350, 357, 369, + 347, 340, 359, 389, 353, 370, 371, 372, 354, 355, + 390, 349, 359, 353, 373, 374, 375, 377, 409, 385, + 369, 355, 356, 353, 357, 369, 376, 386, 387, 356, + 385, 370, 371, 372, 407, 370, 371, 390, 384, 384, + 373, 374, 375, 377, 357, 408, 410, 386, 387, 411, + + 421, 372, 376, 384, 377, 422, 424, 423, 373, 426, + 375, 425, 374, 429, 407, 409, 430, 376, 427, 427, + 431, 421, 432, 433, 434, 408, 435, 435, 437, 435, + 467, 437, 435, 610, 437, 422, 411, 423, 429, 610, + 410, 691, 436, 467, 451, 436, 426, 489, 436, 691, + 430, 454, 469, 424, 431, 425, 438, 452, 435, 438, + 437, 439, 438, 437, 439, 434, 440, 439, 436, 440, + 451, 433, 440, 432, 436, 441, 453, 454, 441, 455, + 452, 441, 456, 452, 458, 457, 459, 469, 438, 468, + 488, 438, 489, 439, 460, 472, 454, 471, 440, 470, + + 491, 492, 453, 502, 487, 455, 503, 441, 456, 501, + 458, 457, 459, 439, 504, 440, 453, 441, 457, 468, + 460, 458, 470, 456, 471, 455, 459, 487, 505, 472, + 488, 506, 501, 507, 508, 509, 510, 491, 460, 511, + 512, 527, 777, 502, 542, 492, 628, 504, 755, 513, + 514, 503, 513, 514, 777, 513, 514, 755, 515, 528, + 507, 515, 628, 542, 515, 505, 516, 527, 517, 516, + 527, 517, 516, 510, 517, 506, 529, 513, 508, 530, + 511, 513, 514, 518, 509, 528, 518, 531, 512, 518, + 515, 532, 528, 533, 534, 514, 535, 545, 516, 544, + + 517, 543, 529, 561, 516, 530, 546, 547, 515, 560, + 517, 562, 563, 531, 529, 518, 564, 532, 565, 533, + 534, 545, 535, 573, 543, 532, 572, 544, 531, 574, + 535, 547, 518, 576, 575, 577, 561, 578, 560, 533, + 579, 580, 546, 581, 582, 598, 563, 583, 584, 562, + 597, 584, 565, 791, 584, 572, 573, 585, 586, 629, + 585, 586, 564, 585, 586, 599, 597, 574, 575, 577, + 578, 598, 587, 611, 647, 587, 597, 579, 587, 576, + 584, 581, 584, 580, 598, 583, 600, 601, 602, 585, + 586, 599, 603, 588, 582, 585, 588, 589, 629, 588, + + 589, 586, 611, 589, 587, 640, 641, 646, 788, 785, + 669, 587, 600, 601, 602, 676, 652, 647, 603, 652, + 653, 640, 652, 653, 669, 588, 653, 646, 654, 589, + 664, 654, 600, 666, 654, 655, 589, 652, 655, 665, + 656, 655, 670, 656, 588, 641, 656, 657, 652, 676, + 657, 675, 653, 657, 664, 680, 664, 679, 681, 666, + 654, 682, 688, 698, 653, 665, 670, 655, 683, 687, + 692, 683, 656, 665, 683, 675, 697, 684, 701, 657, + 684, 679, 702, 684, 704, 725, 681, 687, 688, 680, + 703, 744, 710, 739, 697, 687, 701, 683, 744, 682, + + 683, 709, 705, 725, 692, 705, 688, 698, 705, 684, + 719, 706, 703, 781, 706, 709, 684, 706, 710, 713, + 739, 723, 731, 713, 719, 705, 702, 709, 736, 733, + 727, 738, 704, 727, 705, 723, 727, 750, 728, 742, + 747, 728, 733, 706, 728, 731, 749, 740, 731, 727, + 740, 736, 753, 740, 738, 758, 742, 747, 750, 761, + 706, 751, 727, 749, 751, 742, 760, 751, 764, 766, + 728, 753, 769, 771, 758, 740, 772, 766, 753, 740, + 775, 762, 761, 751, 762, 760, 764, 762, 780, 773, + 769, 771, 773, 751, 764, 773, 782, 783, 772, 786, + + 779, 784, 775, 778, 784, 762, 775, 784, 795, 776, + 780, 795, 773, 762, 795, 774, 770, 768, 782, 767, + 765, 773, 763, 783, 759, 786, 757, 756, 784, 754, + 752, 748, 746, 784, 745, 743, 741, 737, 735, 734, + 795, 798, 798, 798, 798, 798, 798, 798, 798, 798, + 798, 798, 798, 799, 799, 799, 799, 799, 799, 799, + 799, 799, 799, 799, 799, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 801, 801, 801, + 801, 801, 801, 801, 801, 801, 801, 801, 801, 802, + 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, + + 802, 804, 804, 804, 732, 804, 804, 804, 805, 805, + 729, 805, 805, 806, 726, 806, 806, 806, 806, 806, + 806, 806, 806, 806, 806, 807, 807, 807, 807, 807, + 807, 807, 807, 807, 807, 807, 807, 808, 808, 808, + 808, 808, 808, 808, 808, 808, 808, 808, 808, 809, + 809, 724, 809, 809, 810, 810, 721, 810, 810, 810, + 811, 811, 720, 811, 811, 812, 812, 717, 812, 812, + 812, 813, 813, 813, 813, 813, 813, 813, 813, 813, + 813, 813, 813, 814, 814, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 815, 715, 815, 815, 815, + + 815, 815, 815, 815, 815, 815, 815, 816, 714, 711, + 816, 816, 816, 816, 816, 816, 816, 816, 816, 817, + 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, + 817, 818, 708, 707, 818, 818, 818, 818, 818, 818, + 818, 818, 818, 819, 819, 700, 819, 819, 820, 820, + 820, 699, 820, 820, 820, 821, 821, 696, 821, 825, + 825, 695, 825, 825, 694, 693, 825, 827, 827, 690, + 827, 827, 689, 686, 827, 829, 829, 685, 829, 829, + 678, 677, 829, 830, 830, 674, 830, 830, 673, 672, + 830, 831, 831, 671, 831, 831, 668, 667, 831, 659, + + 658, 651, 650, 649, 648, 645, 644, 643, 642, 635, + 634, 633, 632, 631, 630, 623, 622, 617, 616, 615, + 614, 613, 612, 605, 604, 596, 595, 594, 592, 591, + 590, 571, 570, 569, 568, 567, 566, 559, 558, 557, + 556, 555, 554, 553, 552, 551, 550, 549, 548, 541, + 540, 539, 538, 537, 536, 526, 525, 524, 523, 521, + 520, 519, 500, 499, 498, 497, 496, 495, 494, 493, + 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, + 476, 475, 474, 473, 466, 465, 464, 463, 462, 461, + 450, 449, 448, 447, 446, 445, 444, 443, 442, 428, + + 420, 419, 418, 417, 416, 415, 414, 413, 412, 405, + 404, 403, 402, 401, 400, 399, 398, 397, 396, 395, + 394, 393, 392, 391, 383, 382, 381, 380, 379, 378, + 368, 367, 365, 364, 363, 361, 360, 358, 352, 344, + 336, 332, 331, 330, 329, 326, 322, 318, 317, 316, + 315, 312, 311, 310, 309, 306, 302, 297, 296, 295, + 292, 281, 276, 274, 273, 272, 271, 270, 264, 247, + 242, 235, 234, 233, 232, 229, 228, 227, 226, 220, + 219, 217, 215, 214, 213, 206, 205, 203, 201, 200, + 199, 197, 195, 194, 193, 190, 184, 183, 182, 179, + + 174, 173, 171, 170, 169, 159, 157, 148, 147, 146, + 145, 144, 142, 124, 110, 109, 108, 107, 101, 100, + 99, 98, 97, 96, 95, 87, 86, 85, 84, 83, + 82, 81, 78, 77, 76, 75, 74, 73, 72, 71, + 70, 68, 56, 52, 49, 48, 47, 46, 45, 44, + 33, 32, 31, 30, 27, 23, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[44] = +static yyconst flex_int32_t yy_rule_can_match_eol[46] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, - 1, 1, 0, 0, }; + 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 0, 0, }; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. @@ -1192,7 +1311,8 @@ static const char* fixup_escapes (const char* sz); -#line 1196 "<stdout>" + +#line 1316 "<stdout>" #define INITIAL 0 #define S_DEF 1 @@ -1201,9 +1321,10 @@ static const char* fixup_escapes (const char* sz); #define S_FUNC 4 #define S_INCLUDE 5 #define S_INHERIT 6 -#define S_PROC 7 -#define S_RVALUE 8 -#define S_TASK 9 +#define S_REQUIRE 7 +#define S_PROC 8 +#define S_RVALUE 9 +#define S_TASK 10 /* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. @@ -1420,10 +1541,10 @@ YY_DECL register int yy_act; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; -#line 157 "bitbakescanner.l" +#line 159 "bitbakescanner.l" -#line 1427 "<stdout>" +#line 1548 "<stdout>" if ( yyg->yy_init ) { @@ -1476,13 +1597,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 662 ) + if ( yy_current_state >= 798 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 661 ); + while ( yy_current_state != 797 ); yy_cp = yyg->yy_last_accepting_cpos; yy_current_state = yyg->yy_last_accepting_state; @@ -1516,44 +1637,44 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 159 "bitbakescanner.l" +#line 161 "bitbakescanner.l" { BEGIN S_RVALUE; yyextra->accept (T_OP_APPEND); } YY_BREAK case 2: YY_RULE_SETUP -#line 161 "bitbakescanner.l" +#line 163 "bitbakescanner.l" { BEGIN S_RVALUE; yyextra->accept (T_OP_PREPEND); } YY_BREAK case 3: YY_RULE_SETUP -#line 163 "bitbakescanner.l" +#line 165 "bitbakescanner.l" { BEGIN S_RVALUE; yyextra->accept (T_OP_IMMEDIATE); } YY_BREAK case 4: YY_RULE_SETUP -#line 165 "bitbakescanner.l" +#line 167 "bitbakescanner.l" { BEGIN S_RVALUE; yyextra->accept (T_OP_ASSIGN); } YY_BREAK case 5: YY_RULE_SETUP -#line 167 "bitbakescanner.l" +#line 169 "bitbakescanner.l" { BEGIN S_RVALUE; yyextra->accept (T_OP_COND); } YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 170 "bitbakescanner.l" +#line 172 "bitbakescanner.l" { } YY_BREAK case 7: /* rule 7 can match eol */ YY_RULE_SETUP -#line 171 "bitbakescanner.l" +#line 173 "bitbakescanner.l" { BEGIN INITIAL; size_t cb = yyleng; while (cb && isspace (yytext[cb - 1])) @@ -1564,7 +1685,7 @@ YY_RULE_SETUP case 8: /* rule 8 can match eol */ YY_RULE_SETUP -#line 177 "bitbakescanner.l" +#line 179 "bitbakescanner.l" { BEGIN INITIAL; size_t cb = yyleng; while (cb && isspace (yytext[cb - 1])) @@ -1575,193 +1696,205 @@ YY_RULE_SETUP case 9: /* rule 9 can match eol */ YY_RULE_SETUP -#line 184 "bitbakescanner.l" +#line 186 "bitbakescanner.l" { ERROR (errorUnexpectedInput); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 185 "bitbakescanner.l" +#line 187 "bitbakescanner.l" { BEGIN INITIAL; yyextra->accept (T_STRING, NULL); } YY_BREAK case 11: YY_RULE_SETUP -#line 188 "bitbakescanner.l" +#line 190 "bitbakescanner.l" { BEGIN S_INCLUDE; yyextra->accept (T_INCLUDE); } YY_BREAK case 12: YY_RULE_SETUP -#line 190 "bitbakescanner.l" +#line 192 "bitbakescanner.l" +{ BEGIN S_REQUIRE; + yyextra->accept (T_REQUIRE); } + YY_BREAK +case 13: +YY_RULE_SETUP +#line 194 "bitbakescanner.l" { BEGIN S_INHERIT; yyextra->accept (T_INHERIT); } YY_BREAK -case 13: +case 14: YY_RULE_SETUP -#line 192 "bitbakescanner.l" +#line 196 "bitbakescanner.l" { BEGIN S_TASK; yyextra->accept (T_ADDTASK); } YY_BREAK -case 14: +case 15: YY_RULE_SETUP -#line 194 "bitbakescanner.l" +#line 198 "bitbakescanner.l" { yyextra->accept (T_ADDHANDLER); } YY_BREAK -case 15: +case 16: YY_RULE_SETUP -#line 195 "bitbakescanner.l" +#line 199 "bitbakescanner.l" { BEGIN S_FUNC; yyextra->accept (T_EXPORT_FUNC); } YY_BREAK -case 16: +case 17: YY_RULE_SETUP -#line 197 "bitbakescanner.l" +#line 201 "bitbakescanner.l" { yyextra->accept (T_BEFORE); } YY_BREAK -case 17: +case 18: YY_RULE_SETUP -#line 198 "bitbakescanner.l" +#line 202 "bitbakescanner.l" { yyextra->accept (T_AFTER); } YY_BREAK -case 18: +case 19: YY_RULE_SETUP -#line 199 "bitbakescanner.l" +#line 203 "bitbakescanner.l" { yyextra->accept (T_EXPORT); } YY_BREAK -case 19: +case 20: YY_RULE_SETUP -#line 201 "bitbakescanner.l" +#line 205 "bitbakescanner.l" { yyextra->accept (T_FAKEROOT); } YY_BREAK -case 20: +case 21: YY_RULE_SETUP -#line 202 "bitbakescanner.l" +#line 206 "bitbakescanner.l" { yyextra->accept (T_PYTHON); } YY_BREAK -case 21: -/* rule 21 can match eol */ +case 22: +/* rule 22 can match eol */ YY_RULE_SETUP -#line 203 "bitbakescanner.l" +#line 207 "bitbakescanner.l" { BEGIN S_PROC; yyextra->accept (T_PROC_OPEN); } YY_BREAK -case 22: -/* rule 22 can match eol */ +case 23: +/* rule 23 can match eol */ YY_RULE_SETUP -#line 205 "bitbakescanner.l" +#line 209 "bitbakescanner.l" { BEGIN INITIAL; yyextra->accept (T_PROC_CLOSE); } YY_BREAK -case 23: -/* rule 23 can match eol */ +case 24: +/* rule 24 can match eol */ YY_RULE_SETUP -#line 207 "bitbakescanner.l" +#line 211 "bitbakescanner.l" { yyextra->accept (T_PROC_BODY, yytext); } YY_BREAK -case 24: +case 25: YY_RULE_SETUP -#line 209 "bitbakescanner.l" +#line 213 "bitbakescanner.l" { BEGIN S_DEF; } YY_BREAK -case 25: +case 26: YY_RULE_SETUP -#line 210 "bitbakescanner.l" +#line 214 "bitbakescanner.l" { BEGIN S_DEF_ARGS; yyextra->accept (T_SYMBOL, yytext); } YY_BREAK -case 26: -YY_RULE_SETUP -#line 212 "bitbakescanner.l" -{ yyextra->accept (T_DEF_ARGS, yytext); } - YY_BREAK case 27: -/* rule 27 can match eol */ YY_RULE_SETUP -#line 213 "bitbakescanner.l" -{ BEGIN S_DEF_BODY; } +#line 216 "bitbakescanner.l" +{ yyextra->accept (T_DEF_ARGS, yytext); } YY_BREAK case 28: /* rule 28 can match eol */ YY_RULE_SETUP -#line 214 "bitbakescanner.l" -{ yyextra->accept (T_DEF_BODY, yytext); } +#line 217 "bitbakescanner.l" +{ BEGIN S_DEF_BODY; } YY_BREAK case 29: /* rule 29 can match eol */ YY_RULE_SETUP -#line 215 "bitbakescanner.l" +#line 218 "bitbakescanner.l" { yyextra->accept (T_DEF_BODY, yytext); } YY_BREAK case 30: +/* rule 30 can match eol */ YY_RULE_SETUP -#line 216 "bitbakescanner.l" -{ BEGIN INITIAL; unput (yytext[0]); } +#line 219 "bitbakescanner.l" +{ yyextra->accept (T_DEF_BODY, yytext); } YY_BREAK case 31: -/* rule 31 can match eol */ YY_RULE_SETUP -#line 218 "bitbakescanner.l" -{ } +#line 220 "bitbakescanner.l" +{ BEGIN INITIAL; unput (yytext[0]); } YY_BREAK case 32: +/* rule 32 can match eol */ YY_RULE_SETUP -#line 220 "bitbakescanner.l" -{ yyextra->accept (T_SYMBOL, yytext); } +#line 222 "bitbakescanner.l" +{ } YY_BREAK case 33: YY_RULE_SETUP -#line 221 "bitbakescanner.l" -{ yyextra->accept (T_VARIABLE, yytext); } +#line 224 "bitbakescanner.l" +{ yyextra->accept (T_SYMBOL, yytext); } YY_BREAK case 34: YY_RULE_SETUP -#line 223 "bitbakescanner.l" -{ yyextra->accept (T_TSYMBOL, yytext); } +#line 225 "bitbakescanner.l" +{ yyextra->accept (T_VARIABLE, yytext); } YY_BREAK case 35: YY_RULE_SETUP -#line 224 "bitbakescanner.l" -{ yyextra->accept (T_FSYMBOL, yytext); } +#line 227 "bitbakescanner.l" +{ yyextra->accept (T_TSYMBOL, yytext); } YY_BREAK case 36: YY_RULE_SETUP -#line 225 "bitbakescanner.l" -{ yyextra->accept (T_ISYMBOL, yytext); } +#line 228 "bitbakescanner.l" +{ yyextra->accept (T_FSYMBOL, yytext); } YY_BREAK case 37: YY_RULE_SETUP -#line 226 "bitbakescanner.l" -{ BEGIN INITIAL; - yyextra->accept (T_ISYMBOL, yytext); } +#line 229 "bitbakescanner.l" +{ yyextra->accept (T_ISYMBOL, yytext); } YY_BREAK case 38: -/* rule 38 can match eol */ YY_RULE_SETUP -#line 229 "bitbakescanner.l" -{ BEGIN INITIAL; } +#line 230 "bitbakescanner.l" +{ BEGIN INITIAL; + yyextra->accept (T_ISYMBOL, yytext); } YY_BREAK case 39: -/* rule 39 can match eol */ YY_RULE_SETUP -#line 230 "bitbakescanner.l" -{ BEGIN INITIAL; } +#line 232 "bitbakescanner.l" +{ BEGIN INITIAL; + yyextra->accept (T_ISYMBOL, yytext); } YY_BREAK case 40: /* rule 40 can match eol */ YY_RULE_SETUP -#line 231 "bitbakescanner.l" +#line 234 "bitbakescanner.l" { BEGIN INITIAL; } YY_BREAK case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 233 "bitbakescanner.l" -/* Insignificant whitespace */ +#line 235 "bitbakescanner.l" +{ BEGIN INITIAL; } YY_BREAK case 42: +/* rule 42 can match eol */ YY_RULE_SETUP -#line 235 "bitbakescanner.l" +#line 236 "bitbakescanner.l" +{ BEGIN INITIAL; } + YY_BREAK +case 43: +/* rule 43 can match eol */ +YY_RULE_SETUP +#line 238 "bitbakescanner.l" +/* Insignificant whitespace */ + YY_BREAK +case 44: +YY_RULE_SETUP +#line 240 "bitbakescanner.l" { ERROR (errorUnexpectedInput); } YY_BREAK /* Check for premature termination */ @@ -1772,18 +1905,19 @@ case YY_STATE_EOF(S_DEF_BODY): case YY_STATE_EOF(S_FUNC): case YY_STATE_EOF(S_INCLUDE): case YY_STATE_EOF(S_INHERIT): +case YY_STATE_EOF(S_REQUIRE): case YY_STATE_EOF(S_PROC): case YY_STATE_EOF(S_RVALUE): case YY_STATE_EOF(S_TASK): -#line 238 "bitbakescanner.l" +#line 243 "bitbakescanner.l" { return T_EOF; } YY_BREAK -case 43: +case 45: YY_RULE_SETUP -#line 240 "bitbakescanner.l" +#line 245 "bitbakescanner.l" ECHO; YY_BREAK -#line 1787 "<stdout>" +#line 1921 "<stdout>" case YY_END_OF_BUFFER: { @@ -2068,7 +2202,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 662 ) + if ( yy_current_state >= 798 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2097,11 +2231,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 662 ) + if ( yy_current_state >= 798 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 661); + yy_is_jam = (yy_current_state == 797); return yy_is_jam ? 0 : yy_current_state; } @@ -2943,7 +3077,7 @@ void yyfree (void * ptr , yyscan_t yyscanner) #undef YY_DECL_IS_OURS #undef YY_DECL #endif -#line 240 "bitbakescanner.l" +#line 245 "bitbakescanner.l" diff --git a/lib/bb/parse/parse_c/bitbakescanner.l b/lib/bb/parse/parse_c/bitbakescanner.l index 3ef077e4f..3eec48492 100644 --- a/lib/bb/parse/parse_c/bitbakescanner.l +++ b/lib/bb/parse/parse_c/bitbakescanner.l @@ -125,6 +125,7 @@ K_AFTER "after" K_BEFORE "before" K_DEF "def" K_INCLUDE "include" +K_REQUIRE "require" K_INHERIT "inherit" K_PYTHON "python" K_FAKEROOT "fakeroot" @@ -150,6 +151,7 @@ PROC \({C_SP}*\) %s S_FUNC %s S_INCLUDE %s S_INHERIT +%s S_REQUIRE %s S_PROC %s S_RVALUE %s S_TASK @@ -187,6 +189,8 @@ PROC \({C_SP}*\) {K_INCLUDE} { BEGIN S_INCLUDE; yyextra->accept (T_INCLUDE); } +{K_REQUIRE} { BEGIN S_REQUIRE; + yyextra->accept (T_REQUIRE); } {K_INHERIT} { BEGIN S_INHERIT; yyextra->accept (T_INHERIT); } {K_ADDTASK} { BEGIN S_TASK; @@ -225,7 +229,8 @@ PROC \({C_SP}*\) <S_INHERIT>{SYMBOL} { yyextra->accept (T_ISYMBOL, yytext); } <S_INCLUDE>{FILENAME} { BEGIN INITIAL; yyextra->accept (T_ISYMBOL, yytext); } - +<S_REQUIRE>{FILENAME} { BEGIN INITIAL; + yyextra->accept (T_ISYMBOL, yytext); } <S_TASK>\n { BEGIN INITIAL; } <S_FUNC>\n { BEGIN INITIAL; } <S_INHERIT>\n { BEGIN INITIAL; } |