Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    rf3fc8cbe r097e2b0  
    391391        flex_int32_t yy_nxt;
    392392        };
    393 static yyconst flex_int16_t yy_accept[862] =
     393static yyconst flex_int16_t yy_accept[852] =
    394394    {   0,
    395395        0,    0,    0,    0,    0,    0,  113,  113,  116,  116,
     
    418418        0,    0,    0,  116,    0,    0,    0,    0,    0,    0,
    419419        0,    0,    0,    0,    0,    0,    0,    0,    0,  131,
    420       110,  110,    0,  110,  110,    0,    0,    6,    0,  108,
    421         0,    0,    0,  110,    0,  108,  108,  108,  108,    0,
    422       109,    0,    0,  107,  107,  107,  107,    0,  169,  170,
    423         0,  175,  173,    0,    0,    0,  101,    0,    0,    0,
    424         0,    0,    0,    0,    0,  100,   17,  100,  100,  100,
     420      110,    0,  110,    0,    0,    6,    0,  108,    0,    0,
     421        0,  110,    0,  108,  108,  108,  108,    0,  109,    0,
     422        0,  107,  107,  107,  107,    0,  169,  170,    0,  175,
     423      173,    0,    0,    0,  101,    0,    0,    0,    0,    0,
     424        0,    0,    0,  100,   17,  100,  100,  100,  100,  100,
    425425      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    426       100,  100,  100,  100,   14,  100,  100,  100,  100,  100,
     426      100,  100,   14,  100,  100,  100,  100,  100,  100,  100,
    427427
    428428      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    429       100,  100,  100,   51,  100,  100,  100,   64,  100,  100,
     429      100,   51,  100,  100,  100,   64,  100,  100,  100,  100,
     430      100,  100,  100,  100,  100,  100,  100,  100,   87,  100,
     431      100,  100,  100,  100,  100,  100,    0,    0,    0,    0,
     432        0,    0,    0,    0,  118,    0,    0,    0,    0,    0,
     433      118,    0,    0,  176,    0,    0,    0,    0,    0,    0,
     434        0,    0,  110,    0,    0,    0,  110,    0,  108,  108,
     435        0,    0,  109,  109,    0,  109,    0,  109,  107,  107,
     436        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     437      174,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     438
    430439      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    431        87,  100,  100,  100,  100,  100,  100,  100,    0,    0,
    432         0,    0,    0,    0,    0,    0,  118,    0,    0,    0,
    433         0,    0,  118,    0,    0,  176,    0,    0,    0,    0,
    434         0,    0,    0,  110,    0,  110,    0,  110,  110,    0,
    435         0,  110,    0,  108,  108,    0,    0,  109,  109,    0,
    436       109,    0,  109,  107,  107,    0,    0,    0,    0,    0,
    437         0,    0,    0,    0,    0,  174,  100,  100,  100,  100,
    438 
    439       100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    440       100,  100,  100,  100,  100,  100,  100,  100,   21,  100,
    441        24,  100,   27,  100,  100,  100,  100,  100,  100,  100,
    442        42,  100,   44,  100,  100,  100,  100,  100,  100,  100,
    443        56,  100,   67,  100,  100,  100,  100,  100,  100,  100,
    444       100,  100,  100,  100,   88,  100,  100,   95,  100,  100,
     440      100,  100,  100,   21,  100,   24,  100,   27,  100,  100,
     441      100,  100,  100,  100,  100,   42,  100,   44,  100,  100,
     442      100,  100,  100,  100,  100,   56,  100,   67,  100,  100,
     443      100,  100,  100,  100,  100,  100,  100,  100,  100,   88,
     444      100,  100,   95,  100,  100,    0,    0,    0,    0,    0,
     445        0,    0,    0,    0,    0,    0,    0,    0,    0,  118,
     446        0,    0,    0,    0,    0,  110,    0,    0,    0,    0,
     447        0,    0,  109,  109,    0,  111,    0,  109,  109,    0,
    445448        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    446         0,    0,    0,    0,  118,    0,    0,    0,    0,    0,
    447       110,    0,    0,    0,    0,    0,    0,  109,  109,    0,
    448       111,    0,  109,  109,    0,    0,    0,    0,    0,    0,
    449 
    450         0,    0,    0,    0,    0,    0,    0,  100,  100,   22,
    451       100,  100,  100,  100,  100,  100,  100,   15,  100,  100,
    452       100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    453       100,   23,   25,  100,   32,  100,  100,  100,  100,  100,
    454        41,  100,  100,  100,  100,   49,  100,  100,   54,  100,
    455       100,  100,  100,  100,   75,  100,  100,  100,  100,  100,
    456        85,  100,  100,   93,  100,  100,   99,    0,    0,    0,
     449
     450        0,    0,  100,  100,   22,  100,  100,  100,  100,  100,
     451      100,  100,   15,  100,  100,  100,  100,  100,  100,  100,
     452      100,  100,  100,  100,  100,  100,   23,   25,  100,   32,
     453      100,  100,  100,  100,  100,   41,  100,  100,  100,  100,
     454       49,  100,  100,   54,  100,  100,  100,  100,  100,   75,
     455      100,  100,  100,  100,  100,   85,  100,  100,   93,  100,
     456      100,   99,    0,    0,    0,    0,    0,    0,    0,    0,
    457457        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    458         0,    0,    0,    0,    0,    0,  111,    0,    0,  109,
    459       111,  111,  111,  111,    0,  109,    0,    0,    0,    0,
    460 
    461         0,    0,    0,    0,    0,    0,  100,    0,  100,  100,
    462       100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    463       100,  100,  100,   59,  100,  100,  100,  100,  100,  100,
    464       100,  100,   28,  100,  100,  100,  100,   40,   43,   46,
    465       100,  100,   52,  100,   61,   68,  100,  100,   74,   76,
    466        79,   80,   82,   83,  100,  100,   90,  100,  100,    0,
    467         1,    0,    0,    0,    0,    0,    0,  103,    0,    0,
    468         0,  118,    0,    0,    0,    0,  111,    0,  111,  111,
    469       111,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     458        0,  111,    0,    0,  109,  111,  111,    0,  109,    0,
     459        0,    0,    0,    0,    0,    0,    0,    0,    0,  100,
     460
     461        0,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     462      100,  100,  100,  100,  100,  100,   59,  100,  100,  100,
     463      100,  100,  100,  100,  100,   28,  100,  100,  100,  100,
     464       40,   43,   46,  100,  100,   52,  100,   61,   68,  100,
     465      100,   74,   76,   79,   80,   82,   83,  100,  100,   90,
     466      100,  100,    0,    1,    0,    0,    0,    0,    0,    0,
     467      103,    0,    0,    0,  118,    0,    0,    0,    0,  111,
     468        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    470469      100,  100,   18,  100,  100,  100,  100,  100,  100,  100,
    471 
    472470       16,  100,  100,   33,  100,  100,  100,  100,  100,  100,
     471
    473472      100,  100,  100,  100,  100,   35,  100,   37,   38,  100,
    474473       48,   53,  100,  100,  100,   89,  100,  100,    0,    0,
     
    480479        0,    0,    0,  100,   69,  100,  100,   12,  100,   30,
    481480       34,  100,  100,  100,   66,  100,  100,  100,  100,  100,
    482 
    483481      100,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     482
    484483        0,    0,    0,    0,   58,  100,  100,  100,  100,  100,
    485484      100,   50,   63,   72,   78,   92,   97,  100,  100,    0,
     
    498497       16,   17,   18,   19,   20,   21,   22,   23,   24,   25,
    499498       26,   26,   26,   26,   26,   27,   28,   29,   30,   31,
    500        32,   33,   34,   35,   36,   37,   38,   39,   40,   39,
    501        41,   11,   42,   11,   11,   43,   11,   44,   11,   45,
    502        11,   46,   47,   48,   49,   11,   11,   50,   11,   11,
    503        51,   52,   53,   54,   55,   56,   57,   58,   59,   60,
    504 
    505        61,   62,   63,   64,   65,   11,   66,   67,   68,   69,
    506        70,   71,   11,   72,   73,   74,   75,   76,   77,   78,
    507        79,   80,   81,   82,   83,   84,    1,    1,    1,    1,
     499       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
     500       42,   11,   43,   11,   11,   44,   11,   45,   11,   46,
     501       11,   47,   48,   49,   50,   11,   11,   51,   11,   11,
     502       52,   53,   54,   55,   56,   57,   58,   59,   60,   61,
     503
     504       62,   63,   64,   65,   66,   11,   67,   68,   69,   70,
     505       71,   72,   11,   73,   74,   75,   76,   77,   78,   79,
     506       80,   81,   82,   83,   84,   85,    1,    1,    1,    1,
    508507        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    509508        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    522521    } ;
    523522
    524 static yyconst flex_int32_t yy_meta[85] =
     523static yyconst flex_int32_t yy_meta[86] =
    525524    {   0,
    526525        1,    1,    2,    1,    1,    1,    1,    1,    3,    1,
     
    528527        6,    1,    7,    7,    7,    7,    7,    7,    1,    1,
    529528        1,    8,    1,    1,    1,    9,    9,    9,    9,    9,
    530         4,    4,   10,    4,   11,    4,    4,    4,   10,    4,
    531         1,   12,    1,    1,   13,    1,    9,    9,    9,    9,
    532         9,    9,    4,    4,    4,    4,   10,    4,    4,    4,
    533        11,    4,    4,    4,   10,    4,    4,    4,    4,    4,
    534         1,    1,    1,    1
     529        9,    4,    4,   10,    4,   11,    4,    4,    4,   10,
     530        4,    1,   12,    1,    1,   13,    1,    9,    9,    9,
     531        9,    9,    9,    4,    4,    4,    4,   10,    4,    4,
     532        4,   11,    4,    4,    4,   10,    4,    4,    4,    4,
     533        4,    1,    1,    1,    1
    535534    } ;
    536535
    537 static yyconst flex_int16_t yy_base[1036] =
     536static yyconst flex_int16_t yy_base[1025] =
    538537    {   0,
    539         0,   83, 2200, 2197,   93,    0,  175,  176,  177,  178,
    540      2213, 2760,  189, 2760,  195,   54, 2760, 2160,   59,  171,
    541      2760, 2760, 2760,   55,  186, 2760,  189,  187,  202,  214,
    542       272,    0, 2177, 2760,  214, 2175,  150,  340,  153,  222,
    543      2760,  157, 2760,  215,  224, 2760,  207,  181,  221,  249,
    544       235,  289,  155,  255,  218,  206,  266,  256,  323,  259,
    545       192, 2760,  223, 2760, 2170,  377,  342, 2760, 2181, 2760,
    546      2150,  234, 2760,    0, 2760,  421,    0, 2760,  393, 2760,
    547       399,  405, 2760,  492, 2148,  241, 2760, 2760, 2760, 2760,
    548      2760, 2163, 2760, 2160, 2760, 2760, 2172,  552, 2760, 2189,
    549 
    550      2760,  413,  393,  437,  493,  377,  318,  195,  430,  382,
    551         0,  384,  321,  196,  427, 2760, 2760, 2760, 2158, 2760,
    552      2760, 2760, 2155, 2152,  252,  302, 2167,  342,  435,  422,
    553       381,  455,  400,  494, 2148,  440, 2097,  469, 2125, 2760,
    554       276, 2760, 2760,  520, 2119, 2118, 2760, 2091,  414,  463,
    555       470,  325,  254,  479,  432,  274,  480,  423,  483,  498,
    556       492,  503,  499,  509,  341,  455,  484,  377,  510,  512,
    557       517,  518,  529,  486,  530,  531, 2118,  536,  537,  541,
    558       548,  538,  552,  544,  566,  568,  545,  571,  593,  573,
    559       574,  578, 2760, 2760,  647,  653, 2147,  659, 2760,  665,
    560 
    561      2760, 2096,  584, 2092, 2089,    0,  662, 2760, 2760,  671,
    562      2086, 2085, 2084,    0, 2105,  595,  602,  603,  680,  679,
    563       639,  669,  670,  673, 2100,  676,  683, 2076, 2075, 2760,
    564         0,  666,  704,  677,  680, 2074, 2124, 2760,  706,    0,
    565       697,  730,  737,  769,  754,  595, 2760, 2081, 2054,    0,
    566       755, 2099,  790,  672, 2760, 2076, 2050,  814, 2760, 2760,
    567      2080, 2760, 2760,  691,  702, 2058, 2058,  694, 2054, 2052,
    568      2049,    0, 2048,    0, 2019,  686,  731,  732,  595,  606,
    569       768,  734,  771,  735,  780,  751,  757,  683,  775,  794,
    570       738,  723,  781,  796, 2048,  797,  798,  800,  804,  805,
    571 
    572       806,  807,  813,  816,  820,  812,  810,  827,  737,  823,
    573       822,  830,  834,  836,  838,  842,  840, 2045,  843,  844,
    574       848,  845,  846,  850,  847,  856,  849,  851,  855,  862,
    575      2044,  863,  895,  866,  868,  875,  873,  876,  935,  931,
    576      2040, 2038, 2035,    0, 2031,    0,  925,  929, 2027,    0,
    577      2025,    0, 2023,    0, 2041, 2760,  907,  924, 2020, 2016,
    578         0, 2013,    0, 2760,  936,  958,  947, 2760, 2760,  964,
    579       979, 1003, 2010, 2760, 2760,  923,  924,  990,  965, 1023,
    580       950, 1017,  949, 2760, 2760, 2009, 2008, 2006,    0, 2003,
    581         0, 2000,    0, 1999,    0, 2760,  894,  944,  969,  985,
    582 
    583       992,  914, 1002,  958, 1003,  957,  947, 1000, 1007, 1015,
    584      1016, 1025, 1027, 1029, 1017, 1028, 1031, 1018, 2001,  879,
    585      1999, 1041, 1996, 1043, 1044, 1045, 1046, 1051, 1047, 1052,
    586      1993, 1048, 1992, 1055, 1056, 1059, 1060, 1065, 1067, 1068,
    587      1991, 1071, 1989, 1070, 1073, 1072, 1076, 1079, 1081, 1084,
    588      1085, 1097, 1099, 1083, 1095, 1100, 1105, 1986, 1089, 1109,
    589      1163, 1980,    0, 1979,    0, 1978,    0, 1976,    0, 1150,
    590      1973,    0, 1970,    0, 1969, 1968, 1966,    0, 1963,    0,
    591      1154, 1960, 1160, 1146, 1180, 1147, 1093, 1145, 2760, 1199,
    592      1213, 1239, 1971, 1946, 1956, 1953,    0, 1950,    0, 1949,
    593 
    594         0, 1948,    0, 1946,    0, 1943,    0, 1143, 1177, 1945,
    595      1161, 1138, 1178, 1115, 1179, 1193, 1195, 1107, 1181, 1180,
    596      1196, 1209, 1197, 1208, 1220, 1119, 1222, 1224, 1225, 1227,
    597      1229, 1944, 1238, 1230, 1942, 1235, 1237, 1240, 1241, 1243,
    598      1939, 1244, 1245, 1147, 1248, 1938, 1249, 1260, 1937, 1250,
    599      1257, 1247, 1258, 1251, 1935, 1267, 1270, 1272, 1273, 1182,
    600      1282, 1274, 1277, 1902, 1281, 1278, 1900, 1948, 1893,    0,
    601      1890,    0, 1889,    0, 1888,    0, 1886,    0, 1883,    0,
    602      1880,    0, 1879,    0, 1328, 1334, 1361, 1345, 1878, 2760,
    603      1351, 1297, 1351, 1352, 1876, 2760, 1873,    0, 1872,    0,
    604 
    605      1871,    0, 1869,    0,    0,    0, 1869,    0, 1340, 1285,
    606      1284, 1315, 1297, 1330, 1289, 1286, 1329, 1341, 1343, 1350,
    607      1355, 1363, 1357, 1367, 1368, 1399, 1373, 1375, 1378, 1382,
    608      1381, 1383, 1868, 1384, 1386, 1389, 1393, 1867, 1865, 1862,
    609      1390, 1391, 1858, 1396, 1854, 1850, 1398, 1394, 1834, 1833,
    610      1832, 1830, 1827, 1826, 1405, 1412, 1825, 1408, 1404, 1872,
    611      2760, 1817,    0, 1816,    0,    0,    0, 1818,    0,    0,
    612         0, 2760,    0,    0,    0,    0, 1452, 1813, 2760, 2760,
    613      2760, 1458, 1810,    0, 1809,    0,    0,    0,    0, 1808,
    614      1415, 1435, 1809, 1420, 1437, 1416, 1438, 1447, 1448, 1441,
    615 
    616      1806, 1457, 1440, 1453, 1452, 1482, 1466, 1468, 1489, 1471,
    617      1470, 1472, 1475, 1478, 1476, 1805, 1479, 1804, 1802, 1481,
    618      1799, 1798, 1486, 1487, 1484, 1797, 1490, 1492,    0,    0,
    619         0, 1792, 1789, 1788, 1539,    0, 1787, 1785, 1782, 1781,
    620      1780, 1781, 1778, 1777, 1776, 1496, 1500, 1494, 1493, 1518,
    621      1502, 1495, 1519, 1507, 1530, 1774, 1523, 1767, 1524, 1529,
    622      1531, 1532, 1533, 1537, 1765, 1764, 1761, 1760, 1538, 1759,
    623      1757, 1737, 1728, 1727, 1724, 1717, 1714, 1707, 1705, 1704,
    624      1683, 1682, 1681, 1539, 1677, 1541, 1540, 1543, 1545, 1544,
    625      1675, 1550, 1574, 1551, 1674, 1553, 1552, 1556, 1563, 1557,
    626 
    627      1564, 1629, 1628, 1627, 1626, 1625, 1624, 1623, 1621, 1619,
    628      1618, 1617, 1616, 1615, 1617, 1565, 1569, 1578, 1570, 1582,
    629      1571, 1616, 1615, 1584, 1614, 1583, 1589, 1590, 1591, 1574,
    630      1394, 1346, 1344, 1287, 1018, 1016,  987, 1593, 1596,  924,
    631      1594,  767, 1595, 1603, 1604,  689,  576,  370,  335, 1605,
    632      1608, 1609, 1610,  337,  290, 1611,  251,  200,  196,  136,
    633      2760, 1685, 1698, 1711, 1721, 1731, 1744, 1754, 1767, 1780,
    634      1793, 1801, 1811, 1818, 1825, 1832, 1839, 1846, 1853, 1860,
    635      1867, 1874, 1887, 1894, 1898, 1906, 1909, 1916, 1923, 1930,
    636      1933, 1940, 1946, 1959, 1972, 1979, 1986, 1993, 2000, 2003,
    637 
    638      2010, 2013, 2020, 2023, 2030, 2033, 2040, 2043, 2050, 2053,
    639      2060, 2063, 2070, 2078, 2085, 2092, 2099, 2106, 2109, 2116,
    640      2119, 2126, 2129, 2136, 2142, 2155, 2162, 2169, 2172, 2179,
    641      2182, 2189, 2192, 2199, 2202, 2209, 2212, 2219, 2222, 2229,
    642      2236, 2239, 2246, 2249, 2256, 2263, 2270, 2273, 2280, 2283,
    643      2290, 2293, 2300, 2303, 2310, 2313, 2320, 2326, 2339, 2346,
    644      2353, 2356, 2363, 2366, 2373, 2376, 2383, 2386, 2393, 2396,
    645      2403, 2406, 2413, 2416, 2423, 2426, 2433, 2440, 2443, 2450,
    646      2453, 2460, 2463, 2470, 2473, 2476, 2482, 2489, 2498, 2505,
    647      2512, 2515, 2522, 2525, 2528, 2534, 2541, 2544, 2547, 2550,
    648 
    649      2553, 2556, 2559, 2562, 2569, 2572, 2579, 2582, 2585, 2588,
    650      2591, 2601, 2608, 2611, 2614, 2617, 2624, 2631, 2638, 2641,
    651      2648, 2655, 2662, 2669, 2676, 2683, 2690, 2697, 2704, 2711,
    652      2718, 2725, 2732, 2739, 2746
     538        0,   84, 2247, 2245,   94,    0,  177,  178,  179,  180,
     539     2259, 2762,  191, 2762,  197,   55, 2762, 2203,   60,  173,
     540     2762, 2762, 2762,   56,  188, 2762,  191,  189,  204,  216,
     541      275,    0, 2222, 2762,  216, 2222,  152,  344,  155,  220,
     542     2762,  159, 2762,  217,  226, 2762,  185,  154,  212,  251,
     543      237,  270,  235,  257,  241,  193,  305,  314,  333,  238,
     544      228, 2762,  225, 2762, 2218,  402,  390, 2762, 2227, 2762,
     545     2193,  204, 2762,    0, 2762,  426,    0, 2762,  417, 2762,
     546      439,  451, 2762,  498, 2192,  235, 2762, 2762, 2762, 2762,
     547     2762, 2210, 2762, 2208, 2762, 2762, 2218,  559, 2762, 2235,
     548
     549     2762,  605,  413,  498,  516,  289,  253,  197,  293,  305,
     550        0,  319,  280,  231,  334, 2762, 2762, 2762, 2205, 2762,
     551     2762, 2762, 2203, 2200,  298,  356, 2213,  366,  429,  439,
     552      398,  434,  438,  448, 2194,  443, 2143,  459, 2172, 2762,
     553      335, 2762, 2762,  495, 2166, 2163, 2762, 2136,  460,  282,
     554      297,  329,  409,  437,  442,  281,  503,  414,  474,  372,
     555      484,  493,  378,  434,  433,  325,  494,  459,  499,  492,
     556      502,  509,  461,  301,  515,  535, 2164,  536,  520,  538,
     557      544,  541,  545,  567,  539,  421,  554,  563,  597,  570,
     558      571,  548, 2762, 2762,  652,  662, 2212,  668, 2762,  674,
     559
     560     2762, 2159,  567, 2153, 2152,    0,  645, 2762, 2762,  680,
     561     2151, 2149, 2146,    0, 2167,  466,  640,  646,  689,  688,
     562      650,  678,  679,  682, 2164,  685,  692, 2141, 2139, 2762,
     563      714,  707, 2762, 2136, 2186, 2762,  703,    0,  697,  760,
     564      766,  779,  801,  696, 2762, 2144, 2119,    0,  787, 2164,
     565      825,  698, 2762, 2138, 2111,  841, 2762, 2762, 2144, 2762,
     566     2762,  717,  718, 2123, 2122,  719, 2099, 2097, 2096,    0,
     567     2093,    0, 2062,  585,  589,  704,  610,  675,  703,  540,
     568      706,  707,  743,  726,  720,  745,  787,  709,  748,  715,
     569      756,  759, 2092,  761,  781,  792,  817,  785,  791,  808,
     570
     571      788,  818,  819,  807,  822,  821,  820,  832,  833,  834,
     572      835,  837,  838,  843,  845, 2091,  276,  847,  850,  846,
     573      849,  851,  852,  855,  853,  854,  856,  865, 2089,  867,
     574      904,  866,  873,  197,  874,  870,  938,  939, 2083, 2080,
     575     2079,    0, 2078,    0,  926,  930, 2076,    0, 2073,    0,
     576     2070,    0, 2091, 2762,  901,  912, 2070, 2066,    0, 2063,
     577        0,  935,  942,  953,  964,  976,  989,  998, 2762, 2762,
     578      939,  962, 1014,  987, 1023,  928, 1041, 1005, 2762, 2762,
     579     2060, 2059, 2058,    0, 2056,    0, 2053,    0, 2052,    0,
     580     2762,  911,  940,  976,  966,  881, 1003,  944, 1000,  974,
     581
     582      941, 1015, 1018, 1019, 1021, 1006, 1025, 1027, 1039, 1041,
     583     1012, 1046, 1048, 2054, 1047, 2052,  975, 2049, 1050, 1051,
     584     1057, 1052, 1053, 1054, 1058, 2048, 1068, 2047, 1072, 1055,
     585     1074, 1076, 1078, 1079, 1081, 2045, 1080, 2042, 1082, 1085,
     586     1084, 1087, 1086, 1091, 1094, 1088, 1095, 1096,  588, 1109,
     587     1111, 1110, 2038, 1113, 1114, 1166, 2031,    0, 2029,    0,
     588     2027,    0, 2024,    0, 1159, 2022,    0, 2020,    0, 2017,
     589     2014, 2013,    0, 2012,    0, 1166, 1172, 1218, 1131, 1229,
     590     1155, 1132, 1129, 2762, 1235, 1242, 1253, 2022, 1995, 2004,
     591     2003,    0, 2002,    0, 2000,    0, 1997,    0, 1994,    0,
     592
     593     1993,    0, 1149, 1120, 1995, 1153, 1159, 1164, 1156, 1167,
     594     1165, 1161,  233, 1211, 1219, 1162, 1186, 1229, 1173, 1185,
     595      166, 1235, 1236, 1222, 1237, 1242, 1993, 1249, 1241, 1990,
     596     1171, 1248, 1240, 1251, 1253, 1987, 1254, 1256, 1259, 1260,
     597     1986, 1261, 1264, 1985, 1268, 1270, 1267, 1272, 1274, 1983,
     598     1278,  921, 1280, 1281, 1282, 1290, 1283, 1288, 1980, 1293,
     599     1295, 1977, 2026, 1972,    0, 1970,    0, 1967,    0, 1964,
     600        0, 1963,    0, 1962,    0, 1960,    0, 1957,    0, 1341,
     601     1347, 1354, 1365, 1954, 2762, 1377, 2762, 1388, 2762, 1953,
     602        0, 1952,    0, 1950,    0, 1947,    0,    0,    0, 1949,
     603
     604        0, 1366, 1297, 1296, 1333, 1306, 1331, 1300, 1301, 1353,
     605     1115, 1343, 1367, 1355, 1372, 1373, 1299, 1383, 1402, 1375,
     606     1381, 1385, 1378, 1386, 1388, 1948, 1393, 1399, 1404, 1405,
     607     1946, 1943, 1942, 1407, 1406, 1941, 1411, 1939, 1906, 1409,
     608     1334, 1904, 1903, 1900, 1897, 1896, 1895, 1410, 1413, 1893,
     609     1412, 1416, 1940, 2762, 1884,    0, 1883,    0,    0,    0,
     610     1885,    0,    0,    0, 2762,    0,    0,    0,    0, 1464,
     611     1470, 1516, 1880,    0, 1877,    0,    0,    0,    0, 1876,
     612     1425, 1420, 1878, 1424, 1447, 1448, 1429, 1456, 1457, 1451,
     613     1876, 1462, 1463, 1475, 1471, 1493, 1481, 1494, 1496, 1495,
     614
     615     1497, 1499, 1466, 1500, 1483, 1873, 1502, 1872, 1871, 1482,
     616     1869, 1866, 1501, 1506, 1508, 1862, 1509, 1514,    0,    0,
     617     1855, 1851, 1835, 1834, 1560,    0, 1833, 1831, 1828, 1827,
     618     1826, 1827, 1824, 1823, 1822, 1516, 1520, 1522, 1417, 1515,
     619     1518, 1512, 1539, 1540, 1552, 1820, 1543, 1817, 1544, 1548,
     620     1551, 1556, 1545, 1526, 1816, 1815, 1813, 1810, 1550, 1809,
     621     1808, 1803, 1800, 1799, 1798, 1796, 1793, 1792, 1791, 1789,
     622     1786, 1785, 1784, 1557, 1785, 1558, 1562, 1561, 1565, 1566,
     623     1782, 1567, 1594, 1571, 1781, 1570, 1572, 1578, 1577, 1582,
     624     1583, 1777, 1775, 1768, 1766, 1765, 1762, 1761, 1760, 1758,
     625
     626     1741, 1732, 1731, 1728, 1724, 1576, 1588, 1590, 1591, 1601,
     627     1589, 1721, 1714, 1602, 1712, 1711, 1607, 1603, 1608, 1687,
     628     1686, 1685, 1678, 1676, 1675, 1633, 1632, 1609, 1611, 1632,
     629     1619, 1626, 1620, 1621, 1625, 1596, 1477, 1462, 1152, 1613,
     630     1614, 1627, 1631, 1119, 1016, 1615,  762,  725,  676,  549,
     631     2762, 1690, 1703, 1716, 1726, 1736, 1749, 1759, 1772, 1785,
     632     1798, 1806, 1816, 1823, 1830, 1837, 1844, 1851, 1858, 1865,
     633     1872, 1879, 1892, 1899, 1903, 1911, 1914, 1921, 1928, 1935,
     634     1938, 1945, 1951, 1964, 1977, 1984, 1991, 1998, 2005, 2008,
     635     2015, 2018, 2025, 2028, 2035, 2038, 2045, 2048, 2055, 2058,
     636
     637     2065, 2068, 2075, 2083, 2090, 2097, 2104, 2111, 2114, 2121,
     638     2124, 2131, 2134, 2141, 2147, 2160, 2167, 2174, 2177, 2184,
     639     2187, 2194, 2197, 2204, 2207, 2214, 2217, 2224, 2227, 2234,
     640     2241, 2244, 2251, 2254, 2261, 2268, 2275, 2278, 2285, 2288,
     641     2295, 2298, 2305, 2308, 2315, 2318, 2325, 2331, 2344, 2351,
     642     2358, 2361, 2368, 2371, 2378, 2381, 2388, 2391, 2398, 2401,
     643     2408, 2411, 2418, 2421, 2428, 2431, 2438, 2445, 2448, 2455,
     644     2458, 2465, 2468, 2475, 2478, 2481, 2487, 2494, 2503, 2510,
     645     2517, 2520, 2527, 2530, 2533, 2539, 2546, 2549, 2552, 2555,
     646     2558, 2561, 2564, 2567, 2574, 2577, 2584, 2587, 2590, 2593,
     647
     648     2596, 2606, 2613, 2616, 2619, 2626, 2633, 2640, 2643, 2650,
     649     2657, 2664, 2671, 2678, 2685, 2692, 2699, 2706, 2713, 2720,
     650     2727, 2734, 2741, 2748
    653651    } ;
    654652
    655 static yyconst flex_int16_t yy_def[1036] =
     653static yyconst flex_int16_t yy_def[1025] =
    656654    {   0,
    657       861,    1,  862,  862,  861,    5,  863,  863,  864,  864,
    658       861,  861,  861,  861,  861,  861,  861,  865,  861,  861,
    659       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    660       861,   31,  861,  861,  861,  861,  861,  861,  866,  865,
    661       861,  861,  861,  861,  865,  861,  865,  865,  865,  865,
    662       865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
    663       865,  861,  861,  861,  861,  861,  867,  861,  861,  861,
    664       868,  861,  861,  869,  861,  861,  870,  861,  861,  861,
    665       861,  861,  861,  861,  865,  861,  861,  861,  861,  861,
    666       861,  861,  861,  861,  861,  861,  861,  861,  861,  871,
    667 
    668       861,   98,   30,  861,  861,  861,  861,  872,   30,  861,
    669        31,  861,  861,   31,  861,  861,  861,  861,  861,  861,
    670       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    671       861,  861,  861,  861,  861,  861,  861,  861,  873,  861,
    672       861,  861,  861,  865,  874,  875,  861,  861,  865,  865,
    673       865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
    674       865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
    675       865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
    676       865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
    677       865,  865,  861,  861,  861,  867,  867,  867,  861,  867,
    678 
    679       861,  868,  861,  876,  877,  869,  861,  861,  861,  861,
    680       878,  879,  880,  870,  861,  861,  861,  861,  861,  861,
    681       861,  861,  861,  861,  861,  861,  861,  881,  882,  861,
    682        98,  861,  861,  861,  861,   98,  883,  861,  861,  103,
    683       103,  861,  861,  861,  861,  861,  861,  861,  861,  884,
    684       885,  886,  861,  861,  861,  861,  861,  861,  861,  861,
    685       861,  861,  861,  861,  861,  861,  873,  861,  887,  888,
    686       889,  890,  891,  892,  861,  893,  893,  893,  893,  893,
    687       893,  893,  893,  893,  893,  893,  893,  893,  893,  893,
    688       893,  893,  893,  893,  893,  893,  893,  893,  893,  893,
    689 
    690       893,  893,  893,  893,  893,  893,  893,  893,  893,  893,
    691       893,  893,  893,  893,  893,  893,  893,  893,  893,  893,
    692       893,  893,  893,  893,  893,  893,  893,  893,  893,  893,
    693       893,  893,  893,  893,  893,  893,  893,  893,  894,  895,
    694       896,  897,  898,  899,  900,  901,  861,  861,  902,  903,
    695       904,  905,  906,  907,  861,  861,  861,  861,  861,  908,
    696       909,  910,  911,  861,  861,  861,  861,  861,  861,  861,
    697       861,  366,  372,  861,  861,  912,  913,  914,  861,  861,
    698       861,  914,  861,  861,  861,  915,  916,  917,  918,  919,
    699       920,  921,  922,  923,  924,  861,  925,  925,  925,  925,
    700 
    701       925,  925,  925,  925,  925,  925,  925,  925,  925,  925,
    702       925,  925,  925,  925,  925,  925,  925,  925,  925,  925,
    703       925,  925,  925,  925,  925,  925,  925,  925,  925,  925,
    704       925,  925,  925,  925,  925,  925,  925,  925,  925,  925,
    705       925,  925,  925,  925,  925,  925,  925,  925,  925,  925,
    706       925,  925,  925,  925,  925,  925,  925,  925,  925,  925,
    707       926,  927,  928,  929,  930,  931,  932,  933,  934,  861,
    708       935,  936,  937,  938,  939,  939,  940,  941,  942,  943,
    709       861,  481,  861,  944,  861,  944,  861,  861,  861,  861,
    710       861,  861,  861,  861,  945,  946,  947,  948,  949,  950,
    711 
    712       951,  952,  953,  954,  955,  956,  957,  958,  958,  958,
    713       958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
    714       958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
    715       958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
    716       958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
    717       958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
    718       958,  958,  958,  958,  958,  958,  958,  959,  960,  961,
    719       962,  963,  964,  965,  966,  967,  968,  969,  970,  971,
    720       972,  973,  974,  975,  861,  861,  861,  861,  976,  861,
    721       587,  861,  861,  861,  591,  861,  977,  978,  979,  980,
    722 
    723       981,  982,  983,  984,  985,  986,  987,  988,  987,  987,
    724       987,  987,  987,  987,  987,  987,  987,  987,  987,  987,
    725       987,  987,  987,  987,  987,  987,  987,  987,  987,  987,
    726       987,  987,  987,  987,  987,  987,  987,  987,  987,  987,
    727       987,  987,  987,  987,  987,  987,  987,  987,  987,  987,
    728       987,  987,  987,  987,  987,  987,  987,  987,  987,  989,
    729       861,  990,  991,  992,  993,  994,  995,  996,  997,  998,
    730       999,  861, 1000, 1001, 1002, 1003,  861,  677,  861,  861,
    731       861,  861, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011,
    732      1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
    733 
    734      1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
    735      1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
    736      1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1013, 1014,
    737      1015, 1016, 1017, 1018,  861, 1019, 1004, 1006, 1020, 1021,
    738      1011, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
    739      1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
    740      1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
    741      1012, 1022, 1023, 1016, 1024, 1017, 1025, 1018, 1026, 1027,
    742      1020, 1028, 1021, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
    743      1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
    744 
    745      1012, 1029, 1022, 1030, 1023, 1031, 1024, 1032, 1025, 1033,
    746      1026, 1034, 1027, 1028, 1012, 1012, 1012, 1012, 1012, 1012,
    747      1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1035,
    748      1029, 1030, 1031, 1032, 1006, 1033, 1034, 1012, 1012, 1012,
    749      1012, 1012, 1012, 1012, 1012, 1012, 1012, 1035, 1006, 1012,
    750      1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
    751         0,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    752       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    753       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    754       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    755 
    756       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    757       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    758       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    759       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    760       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    761       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    762       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    763       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    764       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    765       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    766 
    767       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    768       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    769       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    770       861,  861,  861,  861,  861
     655      851,    1,  852,  852,  851,    5,  853,  853,  854,  854,
     656      851,  851,  851,  851,  851,  851,  851,  855,  851,  851,
     657      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     658      851,   31,  851,  851,  851,  851,  851,  851,  856,  855,
     659      851,  851,  851,  851,  855,  851,  855,  855,  855,  855,
     660      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
     661      855,  851,  851,  851,  851,  851,  857,  851,  851,  851,
     662      858,  851,  851,  859,  851,  851,  860,  851,  851,  851,
     663      851,  851,  851,  851,  855,  851,  851,  851,  851,  851,
     664      851,  851,  851,  851,  851,  851,  851,  851,  851,  861,
     665
     666      851,  851,   30,  851,  851,  851,  851,  862,   30,  851,
     667       31,  851,  851,   31,  851,  851,  851,  851,  851,  851,
     668      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     669      851,  851,  851,  851,  851,  851,  851,  851,  863,  851,
     670      851,  851,  851,  855,  864,  865,  851,  851,  855,  855,
     671      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
     672      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
     673      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
     674      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
     675      855,  855,  851,  851,  851,  857,  857,  857,  851,  857,
     676
     677      851,  858,  851,  866,  867,  859,  851,  851,  851,  851,
     678      868,  869,  870,  860,  851,  851,  851,  851,  851,  851,
     679      851,  851,  851,  851,  851,  851,  851,  871,  872,  851,
     680      851,  851,  851,  231,  873,  851,  851,  103,  103,  851,
     681      851,  851,  851,  851,  851,  851,  851,  874,  875,  876,
     682      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     683      851,  851,  851,  851,  863,  851,  877,  878,  879,  880,
     684      881,  882,  851,  883,  883,  883,  883,  883,  883,  883,
     685      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     686      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     687
     688      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     689      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     690      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     691      883,  883,  883,  883,  883,  883,  884,  885,  886,  887,
     692      888,  889,  890,  891,  851,  851,  892,  893,  894,  895,
     693      896,  897,  851,  851,  851,  851,  851,  898,  899,  900,
     694      901,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     695      902,  903,  904,  851,  851,  851,  904,  851,  851,  851,
     696      905,  906,  907,  908,  909,  910,  911,  912,  913,  914,
     697      851,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     698
     699      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     700      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     701      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     702      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     703      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     704      915,  915,  915,  915,  915,  916,  917,  918,  919,  920,
     705      921,  922,  923,  924,  851,  925,  926,  927,  928,  929,
     706      929,  930,  931,  932,  933,  851,  851,  851,  934,  851,
     707      934,  851,  851,  851,  851,  851,  851,  851,  851,  935,
     708      936,  937,  938,  939,  940,  941,  942,  943,  944,  945,
     709
     710      946,  947,  948,  948,  948,  948,  948,  948,  948,  948,
     711      948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
     712      948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
     713      948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
     714      948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
     715      948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
     716      948,  948,  949,  950,  951,  952,  953,  954,  955,  956,
     717      957,  958,  959,  960,  961,  962,  963,  964,  965,  851,
     718      851,  851,  851,  966,  851,  851,  851,  851,  851,  967,
     719      968,  969,  970,  971,  972,  973,  974,  975,  976,  977,
     720
     721      978,  977,  977,  977,  977,  977,  977,  977,  977,  977,
     722      977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
     723      977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
     724      977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
     725      977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
     726      977,  977,  979,  851,  980,  981,  982,  983,  984,  985,
     727      986,  987,  988,  989,  851,  990,  991,  992,  993,  851,
     728      851,  851,  994,  995,  996,  997,  998,  999, 1000, 1001,
     729     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     730     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     731
     732     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     733     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1003, 1004,
     734      982, 1005, 1006, 1007,  851, 1008,  994,  996, 1009, 1010,
     735     1001, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     736     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     737     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     738     1002, 1011, 1012, 1005, 1013, 1006, 1014, 1007, 1015, 1016,
     739     1009, 1017, 1010, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     740     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     741     1002, 1018, 1011, 1019, 1012, 1020, 1013, 1021, 1014, 1022,
     742
     743     1015, 1023, 1016, 1017, 1002, 1002, 1002, 1002, 1002, 1002,
     744     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1024,
     745     1018, 1019, 1020, 1021,  996, 1022, 1023, 1002, 1002, 1002,
     746     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1024,  996, 1002,
     747     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     748        0,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     749      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     750      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     751      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     752      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     753
     754      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     755      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     756      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     757      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     758      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     759      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     760      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     761      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     762      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     763      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     764
     765      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     766      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     767      851,  851,  851,  851
    771768    } ;
    772769
    773 static yyconst flex_int16_t yy_nxt[2845] =
     770static yyconst flex_int16_t yy_nxt[2848] =
    774771    {   0,
    775772       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    777774       28,   29,   30,   31,   32,   32,   32,   32,   33,   34,
    778775       35,   36,   37,   38,   39,   18,   18,   18,   18,   18,
    779        18,   18,   40,   18,   18,   18,   18,   18,   40,   18,
    780        41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
    781        51,   52,   53,   18,   54,   18,   55,   18,   18,   18,
    782        18,   56,   57,   58,   59,   60,   61,   18,   18,   18,
    783        62,   63,   64,   65,   66,   83,   91,   84,   84,   66,
    784        87,   88,   67,   70,   70,   70,   70,   70,   70,   70,
    785 
    786        70,   70,   70,   71,   70,   70,   70,   70,   70,   70,
     776       18,   18,   18,   40,   18,   18,   18,   18,   18,   40,
     777       18,   41,   42,   43,   44,   45,   46,   47,   48,   49,
     778       50,   51,   52,   53,   18,   54,   18,   55,   18,   18,
     779       18,   18,   56,   57,   58,   59,   60,   61,   18,   18,
     780       18,   62,   63,   64,   65,   66,   83,   91,   84,   84,
     781       66,   87,   88,   67,   70,   70,   70,   70,   70,   70,
     782
     783       70,   70,   70,   70,   71,   70,   70,   70,   70,   70,
    787784       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
    788        70,   70,   70,   70,   70,   70,   70,   70,   71,   71,
     785       70,   70,   70,   70,   70,   70,   70,   70,   70,   71,
    789786       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    790        71,   71,   71,   70,   72,   70,   70,   71,   73,   71,
     787       71,   71,   71,   71,   71,   70,   72,   70,   70,   71,
     788       73,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    791789       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    792        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    793        71,   71,   71,   70,   70,   70,   70,   75,   75,   78,
    794        78,  122,  123,   89,  140,   78,   78,   86,   75,   75,
    795        79,   80,   81,   81,   81,   79,   81,   80,   82,   82,
    796 
    797        82,   81,   90,   92,  141,  145,   86,   97,   94,   98,
    798        98,   98,   98,   98,   98,  250,  861,   93,   99,   84,
    799        95,   96,   84,  100,  176,  117,   76,   76,   76,   76,
    800       142,  146,   86,  101,  102,  143,  103,  103,  103,  103,
    801       104,  104,  118,   86,  119,  120,  147,   86,  148,  252,
    802       258,   86,  160,  105,  193,  192,  106,   86,   86,  149,
    803       150,  151,  107,  108,  152,  153,  181,  154,  109,   86,
    804       155,  156,   86,   86,  105,   86,  144,  161,  157,  158,
    805       110,  159,  204,  261,  162,  262,   86,  179,  107,  228,
    806       163,  108,  102,  180,  111,  111,  111,  111,  111,  111,
    807 
    808        86,  168,   86,  169,  194,   86,   86,   86,  205,  164,
    809        86,  105,  170,  165,  112,  229,  177,   86,  166,  186,
    810       113,  281,  167,  178,  269,   86,  114,  187,  191,  182,
    811       183,  142,  105,  261,  188,  262,  143,  284,  115,  184,
    812        86,   86,  185,  198,  199,  171,  113,  124,  198,  189,
    813       270,  125,  126,  172,  127,  173,  128,  129,  174,  130,
    814       248,  131,  175,  256,  200,  200,  200,  200,  200,  200,
    815       132,  133,  134,  261,   86,  262,   86,  144,  195,   80,
    816        81,   81,   81,  195,  249,  280,  196,  257,   86,  861,
    817       135,  190,   86,  136,   79,   80,   81,   81,   81,   79,
    818 
    819        81,   80,   81,   81,   81,   81,   81,   80,   82,   82,
    820        82,   81,  261,  304,  262,  240,  240,  240,  240,  246,
    821       137,  138,  207,  208,  861,  247,  254,  207,   86,  209,
    822       247,  261,  255,  262,  209,   98,   98,   98,   98,   98,
    823        98,  263,  861,  210,  210,  210,  210,  241,  246,  307,
    824       861,  247,  263,  261,  209,  262,  247,  102,  255,  104,
    825       104,  104,  104,  104,  104,   86,  261,  239,  262,  211,
    826       861,  261,  209,  262,   86,  255,  105,  209,  209,  861,
    827       276,  209,  209,   86,  253,  264,  261,  277,  262,  209,
    828       295,  242,  209,  254,  209,  212,  209,  105,  213,  215,
    829 
    830       261,  255,  262,  216,  217,  283,   86,  861,  218,  219,
    831       243,  220,  243,  221,   86,  244,  244,  244,  244,  244,
    832       244,   86,  222,  223,  224,  261,  265,  262,  142,  305,
    833        86,   86,  278,  143,   86,   86,  285,   86,  286,  279,
    834       287,  288,  225,   86,  289,  226,  290,  245,  282,   86,
    835        86,  291,  292,  293,   86,  294,  296,  314,  297,  300,
    836        86,   86,  306,   86,  298,  299,  308,  302,   86,   86,
    837       303,   86,  301,  227,  231,  231,  231,  231,  231,  231,
    838        86,   86,   86,  311,  309,  310,  312,   86,   86,   86,
    839       232,  233,   86,  234,  235,   86,   86,  320,  313,   86,
    840 
    841       327,  142,  317,   86,  316,  319,  236,  324,  315,  318,
    842       321,  232,  233,  232,  325,  328,  234,   86,  235,   86,
    843       322,  323,   86,  331,   86,   86,  355,   86,  356,   86,
    844       329,  326,  341,  355,  355,  356,  356,  334,  336,  330,
    845       337,  332,  338,  374,   86,  335,   86,  333,  195,   80,
    846        81,   81,   81,  195,  198,  199,  196,   86,  342,  198,
    847       198,  199,  400,  207,  208,  198,  339,  199,  207,  374,
    848       355,  339,  356,  340,  401,  200,  200,  200,  200,  200,
     790       71,   71,   71,   71,   71,   70,   70,   70,   70,   75,
     791       75,   78,   78,  122,  123,   89,  140,   78,   78,  619,
     792       75,   75,   79,   80,   81,   81,   81,   79,   81,   80,
     793
     794       82,   82,   82,   81,   90,   92,   86,  141,  145,   97,
     795       94,   98,   98,   98,   98,   98,   98,  248,   86,   93,
     796       99,   84,   95,   96,   84,  100,  160,  117,  142,   76,
     797       76,   76,   76,  143,  146,  101,  102,   86,  103,  103,
     798      103,  103,  104,  104,  118,   86,  119,  120,  147,   86,
     799      148,  851,  250,  204,  181,  105,  193,  453,  158,  106,
     800      159,  149,  150,  151,   86,  107,  108,  152,  153,  161,
     801      154,  109,   86,  155,  156,  144,  162,  105,   86,  205,
     802       86,  157,  163,  110,  228,   86,  256,   86,  611,   86,
     803       86,  107,  192,   86,  108,  102,  246,  111,  111,  111,
     804
     805      111,  111,  111,   86,  168,  176,  169,  194,  191,   86,
     806      229,  179,  164,  851,  105,  170,  165,  180,  112,  177,
     807      247,  166,   86,  254,  113,  167,  178,  171,   86,  259,
     808      114,  260,  244,   86,   86,  172,  105,  173,  245,  438,
     809      174,  142,  115,  851,  175,  282,  143,  255,  251,   86,
     810      113,  124,  276,   86,  245,  125,  126,   86,  127,  189,
     811      128,  129,  252,  130,  245,  131,   86,  277,  253,  182,
     812      183,  851,  244,  312,  132,  133,  134,   86,  186,  184,
     813      245,   86,  185,  253,  267,   86,  187,  259,  144,  260,
     814      278,  198,  199,  188,  253,  135,  198,  259,  136,  260,
     815
     816      303,  252,  190,  195,   80,   81,   81,   81,  195,  253,
     817      268,  196,  200,  200,  200,  200,  200,  200,   79,   80,
     818       81,   81,   81,   79,   86,  137,  138,  207,  208,  259,
     819       86,  260,  207,  295,  209,  238,  238,  238,  238,  209,
     820       81,   80,   81,   81,   81,   81,  261,  300,  210,  210,
     821      210,  210,   81,   80,   82,   82,   82,   81,  261,  209,
     822      259,   86,  260,  851,  262,  259,   86,  260,  239,  259,
     823      259,  260,  260,   86,  259,  211,  260,  279,  209,  259,
     824      263,  260,  293,  209,  209,   86,   86,  209,  209,   86,
     825      259,  851,  260,  328,   86,  209,  301,  353,  209,  354,
     826
     827      209,  212,  209,  142,  213,  215,  302,  280,  143,  216,
     828      217,   86,   86,   86,  218,  219,  281,  220,  102,  221,
     829      104,  104,  104,  104,  104,  104,   86,  274,  222,  223,
     830      224,  311,  305,  241,  275,  241,   86,  105,  242,  242,
     831      242,  242,  242,  242,   86,   86,   86,   86,  294,  225,
     832      298,   86,  226,  240,   86,   86,  306,  296,  297,  105,
     833      283,   86,  284,  299,  285,  286,  308,   86,  287,  309,
     834      288,  243,   86,  304,  307,  289,  290,  291,  310,  292,
     835      227,  231,  231,  231,  231,  231,  231,   86,   86,  317,
     836       86,   86,   86,   86,  313,  318,   86,   86,  232,  233,
     837
     838       86,   86,  233,  315,  327,  142,   86,  319,  323,  314,
     839      316,  322,  398,  336,  234,   86,  339,  320,  321,   86,
     840      232,  233,   86,   86,  325,  324,  233,   98,   98,   98,
     841       98,   98,   98,  329,  330,  332,  334,   86,  335,  326,
     842       86,   86,  340,  333,  232,  233,  207,  208,  233,   86,
     843      392,  207,  331,  195,   80,   81,   81,   81,  195,  393,
     844      237,  196,   86,  198,  199,  556,  232,  233,  198,  198,
     845      199,  353,  233,  354,  198,  337,  199,  353,  395,  354,
     846      337,  353,  338,  354,  200,  200,  200,  200,  200,  200,
    849847      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
    850       200,  200,  200,  347,  347,  347,  347,  356,  356,  357,
    851 
    852       355,  355,  356,  356,  355,  358,  356,  355,  364,  356,
    853       355,  355,  356,  356,  355,  368,  356,  861,  369,  368,
    854       384,  365,  261,  365,  262,  348,  366,  366,  366,  366,
    855       366,  366,  364,  261,   86,  262,  368,   86,  368,  369,
    856        86,  369,  386,  368,  232,  233,  384,  234,  235,  411,
    857       397,  371,  104,  104,  104,  104,  104,  104,  367,  244,
    858       244,  244,  244,  244,  244,  232,  233,  232,  387,  105,
    859       234,  243,  235,  243,   86,  377,  244,  244,  244,  244,
    860       244,  244,   86,   86,  253,   86,   86,  416,   86,   86,
    861       105,  372,  372,  372,  372,  372,  372,  379,  415,  380,
    862 
    863       398,  399,   86,  381,  433,  403,  405,  232,   86,  382,
    864       234,  235,  104,  104,  104,  104,  104,  104,   86,   86,
    865       409,  383,   86,  373,  402,  380,   86,  404,  232,  381,
    866       232,   86,   86,  234,  410,  235,  111,  111,  111,  111,
    867       111,  111,  412,  413,  253,   86,  406,   86,   86,   86,
    868       414,   86,  407,  408,  420,   86,   86,   86,   86,  417,
    869       421,   86,  422,   86,   86,  418,  419,   86,  258,  427,
    870       431,   86,  428,   86,   86,  424,  423,  429,   86,  425,
    871       426,   86,  430,  434,  432,   86,  436,   86,  435,   86,
    872       437,   86,  438,   86,   86,   86,   86,   86,   86,   86,
    873 
    874        86,   86,   86,  142,  442,  443,   86,   86,  440,  439,
    875       444,  441,  445,   86,   86,  449,  450,   86,  446,   86,
    876       447,  448,  451,  455,   86,  452,   86,   86,  453,  459,
    877        86,  454,  457,  199,  458,  456,  339,  199,  355,  197,
    878       356,  339,  460,  340,  532,   86,   86,  209,  209,  209,
    879       209,  347,  347,  347,  347,  355,  508,  356,  366,  366,
    880       366,  366,  366,  366,  365,   86,  365,  485,  485,  366,
    881       366,  366,  366,  366,  366,   86,  513,  486,  487,  470,
    882       481,  481,  481,  481,  481,  481,  231,  231,  231,  231,
    883       231,  231,  493,  485,  485,   86,  232,  489,   86,  234,
    884 
    885       235,  240,  240,  240,  240,  104,  104,  488,   86,   86,
    886       377,  509,  482,  489,  518,  488,  494,  232,  370,  232,
    887        86,  517,  234,  489,  235,  372,  372,  372,  372,  372,
    888       372,  515,  379,  371,  380,  510,   86,  861,  381,  489,
    889       490,  861,  490,   86,  382,  491,  491,  491,  491,  491,
    890       491,   86,  512,   86,   86,  511,  383,  373,   86,  379,
    891       380,  380,  514,  516,  381,  381,   86,   86,   86,   86,
    892       861,  495,  849,  519,  520,  521,   86,  492,   86,   86,
    893        86,  524,   86,  383,  531,  523,  527,  380,  522,  528,
    894       529,  381,   86,  525,   86,   86,   86,   86,   86,   86,
    895 
    896       526,  530,   86,   86,  533,  536,   86,   86,  539,  537,
    897        86,   86,  541,  540,  542,  534,   86,  535,   86,   86,
    898       538,   86,   86,   86,   86,  545,  543,   86,  549,  544,
    899        86,  547,   86,  546,   86,   86,   86,  485,  548,  550,
    900        86,  556,  626,  553,  551,  552,   86,  554,   86,  558,
    901        86,   86,  555,  557,  562,  559,   86,  560,   86,  561,
    902        86,  618,  566,  485,  563,  199,   86,  565,  564,  567,
    903        86,  568,  209,  209,  209,  209,  481,  481,  481,  481,
    904       481,  481,  372,  372,  372,  372,  372,  372,  614,   86,
    905       485,  485,  232,  590,   86,  234,  235,  586,   86,  586,
    906 
    907       486,  589,  587,  587,  587,  587,  587,  587,  482,  612,
    908       641,  609,   86,  232,  483,  232,  485,  485,  234,  590,
    909       235,  491,  491,  491,  491,  491,  491,  611,   86,   86,
    910        86,   86,   86,   86,  588,  591,  591,  591,  591,  591,
    911       591,  610,  613,  615,   86,  654,   86,   86,   86,  616,
    912       620,  592,  619,  623,  593,  594,  490,  617,  490,   86,
    913        86,  491,  491,  491,  491,  491,  491,  595,  621,  622,
    914       624,   86,  592,   86,  592,   86,   86,  593,   86,  594,
    915        86,   86,  627,  632,  625,  631,   86,  630,   86,   86,
    916       633,   86,   86,  629,   86,   86,   86,  628,   86,   86,
    917 
    918        86,   86,   86,  638,  639,  635,  636,  637,   86,   86,
    919       645,   86,  634,  640,  642,  643,  644,  646,   86,  649,
    920       647,   86,  648,   86,   86,   86,  650,  655,   86,   86,
    921       652,  651,   86,   86,  656,   86,   86,   86,  657,  679,
    922        86,  861,  659,  693,  694,  699,  653,  698,   86,  658,
    923       481,  481,  481,  481,  481,  481,  587,  587,  587,  587,
    924       587,  587,  586,  679,  586,  696,   86,  587,  587,  587,
    925       587,  587,  587,  591,  591,  591,  591,  591,  591,  695,
    926        86,   86,  585,  677,  677,  677,  677,  677,  677,  680,
    927       681,   86,   86,  680,   86,  701,  691,  700,  861,  592,
    928 
    929       861,   86,  593,  594,  697,  595,   86,  702,   86,  692,
    930       680,  681,  680,  681,   86,  678,  703,  680,   86,   86,
    931       592,  707,  592,  709,   86,  593,   86,  594,  704,   86,
    932       706,  705,   86,   86,   86,   86,  708,   86,  712,  710,
    933        86,   86,   86,  715,   86,   86,  711,   86,  861,   86,
    934        86,  713,  724,  719,  714,   86,   86,  716,  723,   86,
    935       717,  720,  718,   86,  722,  725,   86,   86,  727,  721,
    936       728,   86,  746,  726,  677,  677,  677,  677,  677,  677,
    937       591,  591,  591,  591,  591,  591,   86,  742,   86,   86,
    938       592,   86,   86,  593,  594,  745,  743,  744,   86,   86,
    939 
    940       752,  748,  749,   86,   86,  755,  678,  753,   86,  747,
    941       750,  592,  682,  592,  751,  758,  593,   86,  594,   86,
    942       756,   86,   86,   86,  754,  759,   86,   86,  757,   86,
    943        86,  761,   86,   86,  760,   86,  762,   86,   86,  765,
    944        86,   86,  763,   86,   86,   86,   86,   86,  764,  770,
    945       786,   86,  771,   86,  793,  766,  769,  767,   86,  787,
    946       768,  677,  677,  677,  677,  677,  677,  784,  785,   86,
    947        86,  792,  790,  791,   86,   86,  789,  794,  795,  788,
    948        86,   86,   86,   86,   86,  797,  798,  796,   86,   86,
    949        86,   86,   86,  735,   86,   86,   86,  818,  820,  799,
    950 
    951       822,   86,   86,   86,   86,  823,  825,   86,   86,  817,
    952       826,  800,  801,  816,   86,   86,   86,  815,  819,  821,
    953        86,   86,   86,  827,  828,   86,  824,  839,  848,   86,
    954       841,  829,  840,   86,   86,   86,  842,  838,  844,  843,
    955        86,   86,   86,  845,   86,   86,   86,   86,  852,  853,
    956       846,  847,  851,  850,   86,   86,   86,  854,  855,   86,
    957        86,   86,   86,  858,  859,   86,   86,   86,   86,  861,
    958       861,  837,  861,  836,  857,  861,  856,  834,  861,  833,
    959       861,  832,  861,  831,  860,   68,   68,   68,   68,   68,
    960        68,   68,   68,   68,   68,   68,   68,   68,   74,   74,
    961 
    962        74,   74,   74,   74,   74,   74,   74,   74,   74,   74,
    963        74,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    964        77,   77,   77,   77,   85,   86,   86,   85,   86,   85,
    965        85,   85,   85,   85,  139,  861,  814,  861,  139,  139,
    966       139,  139,  139,  139,  197,  197,  197,  197,  197,  197,
    967       197,  197,  197,  197,  197,  197,  197,  202,  813,  811,
    968       202,  861,  202,  202,  202,  202,  202,  206,  809,  206,
    969       206,  861,  206,  206,  206,  206,  206,  206,  807,  206,
    970       214,  861,  805,  214,  214,  214,  214,  214,  214,  214,
    971       214,  803,  214,  237,  237,  237,  237,  237,  237,  237,
    972 
    973       237,  237,  237,  237,  237,  237,  251,  251,   86,  251,
    974        86,   86,   86,  251,  267,   86,   86,  267,   86,  267,
    975       267,  267,  267,  267,  271,   86,  271,   86,   86,   86,
    976       271,  273,   86,  273,  861,  783,  781,  273,  343,  861,
    977       343,  861,  778,  776,  343,  345,  774,  345,   86,   86,
    978        86,  345,  349,   86,  349,   86,   86,   86,  349,  351,
    979        86,  351,  741,  738,  737,  351,  353,  735,  353,  203,
    980       731,  730,  353,  360,  661,  360,   86,   86,   86,  360,
    981       362,   86,  362,   86,   86,   86,  362,  237,  237,  237,
    982       237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
    983 
    984       376,   86,  376,  378,  378,   86,  378,  378,  378,   86,
    985       378,  251,  251,   86,  251,  388,   86,  388,   86,   86,
    986        86,  388,  390,  689,  390,  688,  686,  684,  390,  392,
    987       682,  392,  589,  676,  675,  392,  271,  673,  271,  394,
    988       671,  394,  669,  667,  665,  394,  273,  663,  273,   85,
    989       661,   86,   85,   86,   85,   85,   85,   85,   85,  197,
     848
     849      200,  200,  345,  345,  345,  345,  354,  354,  355,  353,
     850      353,  354,  354,  353,  356,  354,  353,  851,  354,  353,
     851      353,  354,  354,  353,  362,  354,  362,   86,   86,  363,
     852      363,  363,  363,  363,  363,  346,  231,  231,  231,  231,
     853      231,  231,  232,  233,  396,  369,  233,  379,  259,  259,
     854      260,  260,  366,  232,  233,   86,   86,  233,   86,   86,
     855      397,   86,  364,  399,  232,  233,  409,   86,  381,  234,
     856      233,  369,   86,  379,  394,  232,  233,   86,   86,  400,
     857      411,  233,  104,  104,  104,  104,  104,  104,  242,  242,
     858      242,  242,  242,  242,  382,   86,  404,   86,  405,  105,
     859
     860       86,  367,  367,  367,  367,  367,  367,  372,   86,  410,
     861      401,   86,  406,   86,   86,  251,  402,  403,  241,  233,
     862      241,  105,  233,  242,  242,  242,  242,  242,  242,  413,
     863      374,  414,  375,   86,  368,  412,  376,   86,  415,   86,
     864       86,  233,  377,   86,   86,  422,  233,  104,  104,  104,
     865      104,  104,  104,  416,  378,  407,  408,  418,  375,   86,
     866       86,  419,  376,  111,  111,  111,  111,  111,  111,   86,
     867       86,   86,   86,   86,   86,  423,  417,  424,  425,  427,
     868      251,  420,  421,  426,   86,   86,   86,   86,  428,   86,
     869       86,  431,  432,  429,  433,   86,  256,   86,   86,   86,
     870
     871      430,   86,   86,   86,   86,   86,   86,   86,   86,  435,
     872      437,  434,  142,  436,  439,  440,  445,   86,   86,   86,
     873      441,  444,   86,  443,  442,   86,   86,  446,  450,  447,
     874      448,  454,  353,   86,  354,  449,  451,  455,  452,  337,
     875      199,  199,  507,  353,  337,  354,  338,  197,  209,  209,
     876      209,  209,  345,  345,  345,  345,   86,  363,  363,  363,
     877      363,  363,  363,   86,  476,  476,  476,  476,  476,  476,
     878      362,  488,  362,   86,  503,  363,  363,  363,  363,  363,
     879      363,  465,  233,  644,  480,  233,  231,  231,  231,  231,
     880      231,  231,   86,   86,  481,  489,   86,  477,  238,  238,
     881
     882      238,  238,  104,  104,  233,  509,  512,  480,  504,  233,
     883      480,  367,  367,  367,  367,  367,  367,  482,   86,  365,
     884      367,  367,  367,  367,  367,  367,   86,   86,   86,  233,
     885      483,  366,  233,  480,  372,  511,  484,  506,  233,  528,
     886      485,  233,  485,  505,  368,  486,  486,  486,  486,  486,
     887      486,  233,   86,  478,  484,   86,  233,  374,   86,  375,
     888      233,  851,  484,  376,   86,  233,  508,   86,   86,  377,
     889       86,   86,  483,   86,  510,  524,  518,   86,  487,   86,
     890      484,  378,  519,  513,  374,  375,  375,  515,  516,  376,
     891      376,   86,  514,   86,  520,  517,  490,  522,   86,   86,
     892
     893       86,  521,   86,   86,   86,   86,   86,   86,  378,   86,
     894       86,  534,  375,  527,  523,  526,  376,  525,  531,  536,
     895       86,  535,  532,  529,   86,  530,   86,  533,   86,  539,
     896       86,   86,   86,   86,   86,  537,   86,   86,   86,   86,
     897       86,  540,  544,   86,  538,  542,   86,   86,   86,  545,
     898      541,  543,  551,  553,  554,  555,  548,  546,  547,  549,
     899      550,   86,   86,   86,  552,   86,   86,   86,  199,  557,
     900      691,   86,   86,  560,  563,  562,  480,  480,  585,  558,
     901      559,  209,  209,  209,  209,  603,  481,  561,  476,  476,
     902      476,  476,  476,  476,  476,  476,  476,  476,  476,  476,
     903
     904      480,   86,  480,  480,  585,   86,  233,  851,   86,  233,
     905      584,   86,  233,   86,   86,  233,   86,   86,  602,   86,
     906      604,  477,  609,   86,  610,   86,  480,  580,  233,  606,
     907      607,  605,  608,  233,  233,  614,  617,   86,   86,  233,
     908      367,  367,  367,  367,  367,  367,  581,  615,  581,  627,
     909      618,  582,  582,  582,  582,  582,  582,  486,  486,  486,
     910      486,  486,  486,   86,  586,  586,  586,  586,  586,  586,
     911      485,   86,  485,  478,   86,  486,  486,  486,  486,  486,
     912      486,   86,  587,  612,  583,  587,  616,   86,   86,   86,
     913      613,  622,   86,   86,   86,  625,  620,  588,  623,  624,
     914
     915       86,   86,  626,   86,  587,   86,   86,  629,   86,  587,
     916      621,   86,   86,   86,  631,  632,   86,  628,  630,   86,
     917       86,  637,   86,  634,   86,  633,   86,  635,  636,  638,
     918       86,  639,   86,   86,   86,   86,  648,  641,  643,  645,
     919       86,  640,   86,  642,  649,   86,  647,   86,   86,   86,
     920      650,   86,   86,   86,  697,  646,  683,  684,   86,  688,
     921      652,  689,  651,  476,  476,  476,  476,  476,  476,  582,
     922      582,  582,  582,  582,  582,  686,  670,  670,  670,  670,
     923      670,  670,  581,   86,  581,   86,   86,  582,  582,  582,
     924      582,  582,  582,  714,  587,   86,  580,  587,  685,  586,
     925
     926      586,  586,  586,  586,  586,   86,  687,   86,  692,  671,
     927      586,  586,  586,  586,  586,  586,  587,  587,   86,   86,
     928      587,  587,  690,  681,   86,   86,  699,   86,  587,  694,
     929       86,  587,  588,   86,  693,   86,  682,   86,   86,  587,
     930       86,  695,  700,  672,  587,   86,  702,  696,  703,  705,
     931      587,   86,  698,  701,   86,  587,   86,   86,   86,   86,
     932      704,   86,   86,   86,   86,   86,  709,  706,   86,   86,
     933      713,  715,   86,  717,  707,  716,   86,   86,  708,  710,
     934      712,   86,  733,  718,  777,  711,  670,  670,  670,  670,
     935      670,  670,  670,  670,  670,  670,  670,  670,  732,   86,
     936
     937       86,  737,  734,   86,  587,  736,  735,  587,   86,   86,
     938      587,  738,  739,  587,   86,   86,  745,  851,   86,  671,
     939      741,  740,  748,   86,  742,  725,  587,   86,  752,   86,
     940      743,  587,  587,   86,   86,   86,  746,  587,  586,  586,
     941      586,  586,  586,  586,  744,   86,   86,   86,   86,   86,
     942      749,   86,   86,   86,   86,  747,  754,  756,   86,  751,
     943       86,   86,  750,  755,   86,  753,   86,   86,   86,  760,
     944       86,  672,   86,  757,   86,  761,  783,  778,   86,  776,
     945      758,  759,  670,  670,  670,  670,  670,  670,  774,  775,
     946      780,   86,   86,  779,  781,   86,   86,   86,  784,  785,
     947
     948       86,  790,   86,   86,   86,  782,  787,  786,   86,   86,
     949       86,  788,  789,   86,   86,  725,  808,   86,   86,   86,
     950      812,  810,   86,   86,   86,  791,  813,  815,   86,   86,
     951       86,  806,  807,  816,   86,   86,  805,  811,  817,  809,
     952       86,   86,   86,   86,  814,  830,   86,  829,   86,  828,
     953      818,  819,  831,   86,   86,   86,  832,  834,  833,   86,
     954       86,   86,  835,   86,  836,   86,   86,   86,  841,  837,
     955      840,   86,   86,   86,  842,  843,  844,   86,   86,   86,
     956      845,  847,  848,   86,   86,  846,  849,  851,  851,  850,
     957       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
     958
     959       68,   68,   68,   74,   74,   74,   74,   74,   74,   74,
     960       74,   74,   74,   74,   74,   74,   77,   77,   77,   77,
     961       77,   77,   77,   77,   77,   77,   77,   77,   77,   85,
     962      839,  851,   85,  851,   85,   85,   85,   85,   85,  139,
     963      851,  851,  838,  139,  139,  139,  139,  139,  139,  197,
    990964      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    991       197,  197,  461,  461,  461,  461,  461,  461,  461,  461,
    992       461,  461,  461,  461,  461,  462,   86,  462,   86,   86,
    993        86,  462,  464,   86,  464,   86,   86,  608,  464,  466,
    994 
    995       606,  466,  604,  602,  600,  466,  343,  598,  343,  468,
    996       495,  468,  596,  596,  585,  468,  345,  584,  345,  471,
    997       582,  471,  476,  476,  580,  471,  349,  578,  349,  473,
    998       576,  473,  574,  572,  570,  473,  351,   86,  351,  475,
    999        86,  475,   86,   86,   86,  475,  353,   86,  353,  477,
    1000        86,  477,   86,  507,  505,  477,  360,  503,  360,  479,
    1001       501,  479,  499,  497,  483,  479,  362,  480,  362,  484,
    1002       478,  484,  356,  484,  356,  484,  376,  476,  376,  474,
    1003       376,  472,  376,  378,  378,  469,  378,  378,  378,  467,
    1004       378,  496,  465,  496,  463,   86,   86,  496,  498,   86,
    1005 
    1006       498,  396,  395,  393,  498,  500,  391,  500,  389,  268,
    1007       263,  500,  388,  262,  388,  502,  385,  502,  385,  250,
    1008       375,  502,  390,  375,  390,  504,  238,  504,  370,  363,
    1009       361,  504,  392,  359,  392,  506,  355,  506,  354,  352,
    1010       350,  506,  394,  346,  394,   85,  344,  203,   85,  199,
    1011        85,   85,   85,   85,   85,  461,  461,  461,  461,  461,
    1012       461,  461,  461,  461,  461,  461,  461,  461,  569,   86,
    1013       569,  275,  274,  272,  569,  462,  268,  462,  571,  263,
    1014       571,  266,  263,  261,  571,  464,  260,  464,  573,  259,
    1015       573,  238,  230,   84,  573,  466,   84,  466,  575,   86,
    1016 
    1017       575,  203,  201,   84,  575,  468,  121,  468,  577,  116,
    1018       577,   86,  861,   69,  577,  471,   69,  471,  579,  861,
    1019       579,  861,  861,  861,  579,  473,  861,  473,  475,  861,
    1020       475,  861,  861,  861,  475,  581,  861,  581,  861,  861,
    1021       861,  581,  477,  861,  477,  583,  861,  583,  861,  861,
    1022       861,  583,  479,  861,  479,  484,  861,  484,  861,  484,
    1023       861,  484,  378,  861,  378,  861,  861,  861,  378,  597,
    1024       861,  597,  861,  861,  861,  597,  496,  861,  496,  599,
    1025       861,  599,  861,  861,  861,  599,  498,  861,  498,  601,
    1026       861,  601,  861,  861,  861,  601,  500,  861,  500,  603,
    1027 
    1028       861,  603,  861,  861,  861,  603,  502,  861,  502,  605,
    1029       861,  605,  861,  861,  861,  605,  504,  861,  504,  607,
    1030       861,  607,  861,  861,  861,  607,  506,  861,  506,   85,
    1031       861,  861,   85,  861,   85,   85,   85,   85,   85,  660,
    1032       660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
    1033       660,  660,  662,  861,  662,  861,  861,  861,  662,  569,
    1034       861,  569,  664,  861,  664,  861,  861,  861,  664,  571,
    1035       861,  571,  666,  861,  666,  861,  861,  861,  666,  573,
    1036       861,  573,  668,  861,  668,  861,  861,  861,  668,  575,
    1037       861,  575,  670,  861,  670,  861,  861,  861,  670,  577,
    1038 
    1039       861,  577,  672,  861,  672,  861,  861,  861,  672,  579,
    1040       861,  579,  674,  861,  674,  861,  861,  861,  674,  581,
    1041       861,  581,   85,  861,   85,  861,  861,  861,   85,  583,
    1042       861,  583,  484,  861,  484,  861,  861,  861,  484,  683,
    1043       861,  683,  861,  861,  861,  683,  597,  861,  597,  685,
    1044       861,  685,  861,  861,  861,  685,  599,  861,  599,  687,
    1045       861,  687,  861,  861,  861,  687,  601,  861,  601,  139,
    1046       861,  139,  861,  861,  861,  139,  603,  861,  603,  690,
    1047       861,  690,  605,  861,  605,   85,  861,  861,   85,  861,
    1048        85,   85,   85,   85,   85,  607,  861,  607,  660,  660,
    1049 
    1050       660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
    1051       660,  729,  861,  729,  861,  861,  861,  729,  662,  861,
    1052       662,  202,  861,  202,  861,  861,  861,  202,  664,  861,
    1053       664,  732,  861,  732,  666,  861,  666,  202,  861,  861,
    1054       202,  861,  202,  202,  202,  202,  202,  668,  861,  668,
    1055       733,  861,  733,  670,  861,  670,  672,  861,  672,  734,
    1056       861,  734,  674,  861,  674,   85,  861,   85,  736,  861,
    1057       736,  861,  861,  861,  736,  683,  861,  683,  267,  861,
    1058       267,  861,  861,  861,  267,  685,  861,  685,  739,  861,
    1059       739,  687,  861,  687,  139,  861,  139,  740,  861,  740,
    1060 
    1061       861,  861,  861,  740,   85,  861,  861,   85,  861,   85,
    1062        85,   85,   85,   85,  772,  861,  772,  729,  861,  729,
    1063       202,  861,  202,  773,  861,  773,  861,  861,  861,  773,
    1064       775,  861,  775,  861,  861,  861,  775,  777,  861,  777,
    1065       861,  861,  861,  777,  779,  861,  779,  780,  861,  780,
    1066       861,  861,  861,  780,  782,  861,  782,  861,  861,  861,
    1067       782,  802,  861,  802,  861,  861,  861,  802,  804,  861,
    1068       804,  861,  861,  861,  804,  806,  861,  806,  861,  861,
    1069       861,  806,  808,  861,  808,  861,  861,  861,  808,  810,
    1070       861,  810,  861,  861,  861,  810,  812,  861,  812,  861,
    1071 
    1072       861,  861,  812,  607,  861,  607,  861,  861,  861,  607,
    1073       830,  861,  830,  861,  861,  861,  830,  668,  861,  668,
    1074       861,  861,  861,  668,  672,  861,  672,  861,  861,  861,
    1075       672,   85,  861,   85,  861,  861,  861,   85,  835,  861,
    1076       835,  861,  861,  861,  835,  139,  861,  139,  861,  861,
    1077       861,  139,  202,  861,  202,  861,  861,  861,  202,   11,
    1078       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1079       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1080       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1081       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1082 
    1083       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1084       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1085       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1086       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1087       861,  861,  861,  861
     965      197,  197,  202,   86,   86,  202,   86,  202,  202,  202,
     966      202,  202,  206,   86,  206,  206,   86,  206,  206,  206,
     967      206,  206,  206,  851,  206,  214,  851,  827,  214,  214,
     968      214,  214,  214,  214,  214,  214,  851,  214,  235,  235,
     969
     970      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
     971      235,  249,  249,  826,  249,  851,  824,  851,  249,  265,
     972      823,  851,  265,  822,  265,  265,  265,  265,  265,  269,
     973      851,  269,  821,   86,   86,  269,  271,   86,  271,  851,
     974      804,  851,  271,  341,  803,  341,  801,  851,  799,  341,
     975      343,  851,  343,  797,  851,  795,  343,  347,  793,  347,
     976       86,   86,   86,  347,  349,   86,  349,   86,   86,   86,
     977      349,  351,   86,  351,   86,   86,   86,  351,  358,   86,
     978      358,  851,  773,  771,  358,  360,  851,  360,  851,  768,
     979      766,  360,  235,  235,  235,  235,  235,  235,  235,  235,
     980
     981      235,  235,  235,  235,  235,  371,  764,  371,  373,  373,
     982      851,  373,  373,  373,   86,  373,  249,  249,   86,  249,
     983      383,   86,  383,   86,   86,   86,  383,  385,   86,  385,
     984       86,  731,  728,  385,  387,  727,  387,  203,  721,  720,
     985      387,  269,  654,  269,  389,   86,  389,   86,   86,   86,
     986      389,  271,   86,  271,   85,   86,   86,   85,   86,   85,
     987       85,   85,   85,   85,  197,  197,  197,  197,  197,  197,
     988      197,  197,  197,  197,  197,  197,  197,  456,  456,  456,
     989      456,  456,  456,  456,  456,  456,  456,  456,  456,  456,
     990      457,   86,  457,   86,   86,   86,  457,  459,   86,  459,
     991
     992       86,   86,  679,  459,  461,  678,  461,  676,  674,  584,
     993      461,  341,  669,  341,  463,  668,  463,  666,  664,  662,
     994      463,  343,  660,  343,  466,  658,  466,  656,  654,   86,
     995      466,  347,   86,  347,  468,   86,  468,   86,   86,   86,
     996      468,  349,   86,  349,  470,   86,  470,   86,  601,  599,
     997      470,  351,  597,  351,  472,  595,  472,  593,  591,  490,
     998      472,  358,  589,  358,  474,  589,  474,  579,  577,  471,
     999      474,  360,  471,  360,  479,  575,  479,  573,  479,  571,
     1000      479,  371,  569,  371,  567,  371,  565,  371,  373,  373,
     1001       86,  373,  373,  373,   86,  373,  491,   86,  491,   86,
     1002
     1003       86,   86,  491,  493,   86,  493,   86,  502,  500,  493,
     1004      495,  498,  495,  496,  494,  492,  495,  383,  475,  383,
     1005      497,  473,  497,  354,  354,  471,  497,  385,  469,  385,
     1006      499,  467,  499,  464,  462,  460,  499,  387,  458,  387,
     1007      501,   86,  501,   86,   86,  391,  501,  389,  390,  389,
     1008       85,  388,  386,   85,  384,   85,   85,   85,   85,   85,
     1009      456,  456,  456,  456,  456,  456,  456,  456,  456,  456,
     1010      456,  456,  456,  564,  266,  564,  261,  260,  380,  564,
     1011      457,  380,  457,  566,  248,  566,  370,  370,  236,  566,
     1012      459,  365,  459,  568,  361,  568,  359,  357,  353,  568,
     1013
     1014      461,  352,  461,  570,  350,  570,  348,  344,  342,  570,
     1015      463,  203,  463,  572,  199,  572,   86,  273,  272,  572,
     1016      466,  270,  466,  574,  266,  574,  261,  264,  261,  574,
     1017      468,  259,  468,  470,  258,  470,  257,  236,  230,  470,
     1018      576,   84,  576,   84,   86,  203,  576,  472,  201,  472,
     1019      578,   84,  578,  121,  116,   86,  578,  474,  851,  474,
     1020      479,   69,  479,   69,  479,  851,  479,  373,  851,  373,
     1021      851,  851,  851,  373,  590,  851,  590,  851,  851,  851,
     1022      590,  491,  851,  491,  592,  851,  592,  851,  851,  851,
     1023      592,  493,  851,  493,  594,  851,  594,  851,  851,  851,
     1024
     1025      594,  495,  851,  495,  596,  851,  596,  851,  851,  851,
     1026      596,  497,  851,  497,  598,  851,  598,  851,  851,  851,
     1027      598,  499,  851,  499,  600,  851,  600,  851,  851,  851,
     1028      600,  501,  851,  501,   85,  851,  851,   85,  851,   85,
     1029       85,   85,   85,   85,  653,  653,  653,  653,  653,  653,
     1030      653,  653,  653,  653,  653,  653,  653,  655,  851,  655,
     1031      851,  851,  851,  655,  564,  851,  564,  657,  851,  657,
     1032      851,  851,  851,  657,  566,  851,  566,  659,  851,  659,
     1033      851,  851,  851,  659,  568,  851,  568,  661,  851,  661,
     1034      851,  851,  851,  661,  570,  851,  570,  663,  851,  663,
     1035
     1036      851,  851,  851,  663,  572,  851,  572,  665,  851,  665,
     1037      851,  851,  851,  665,  574,  851,  574,  667,  851,  667,
     1038      851,  851,  851,  667,  576,  851,  576,   85,  851,   85,
     1039      851,  851,  851,   85,  578,  851,  578,  479,  851,  479,
     1040      851,  851,  851,  479,  673,  851,  673,  851,  851,  851,
     1041      673,  590,  851,  590,  675,  851,  675,  851,  851,  851,
     1042      675,  592,  851,  592,  677,  851,  677,  851,  851,  851,
     1043      677,  594,  851,  594,  139,  851,  139,  851,  851,  851,
     1044      139,  596,  851,  596,  680,  851,  680,  598,  851,  598,
     1045       85,  851,  851,   85,  851,   85,   85,   85,   85,   85,
     1046
     1047      600,  851,  600,  653,  653,  653,  653,  653,  653,  653,
     1048      653,  653,  653,  653,  653,  653,  719,  851,  719,  851,
     1049      851,  851,  719,  655,  851,  655,  202,  851,  202,  851,
     1050      851,  851,  202,  657,  851,  657,  722,  851,  722,  659,
     1051      851,  659,  202,  851,  851,  202,  851,  202,  202,  202,
     1052      202,  202,  661,  851,  661,  723,  851,  723,  663,  851,
     1053      663,  665,  851,  665,  724,  851,  724,  667,  851,  667,
     1054       85,  851,   85,  726,  851,  726,  851,  851,  851,  726,
     1055      673,  851,  673,  265,  851,  265,  851,  851,  851,  265,
     1056      675,  851,  675,  729,  851,  729,  677,  851,  677,  139,
     1057
     1058      851,  139,  730,  851,  730,  851,  851,  851,  730,   85,
     1059      851,  851,   85,  851,   85,   85,   85,   85,   85,  762,
     1060      851,  762,  719,  851,  719,  763,  851,  763,  851,  851,
     1061      851,  763,  765,  851,  765,  851,  851,  851,  765,  767,
     1062      851,  767,  851,  851,  851,  767,  769,  851,  769,  770,
     1063      851,  770,  851,  851,  851,  770,  772,  851,  772,  851,
     1064      851,  851,  772,  792,  851,  792,  851,  851,  851,  792,
     1065      794,  851,  794,  851,  851,  851,  794,  796,  851,  796,
     1066      851,  851,  851,  796,  798,  851,  798,  851,  851,  851,
     1067      798,  800,  851,  800,  851,  851,  851,  800,  802,  851,
     1068
     1069      802,  851,  851,  851,  802,  600,  851,  600,  851,  851,
     1070      851,  600,  820,  851,  820,  851,  851,  851,  820,  661,
     1071      851,  661,  851,  851,  851,  661,  665,  851,  665,  851,
     1072      851,  851,  665,   85,  851,   85,  851,  851,  851,   85,
     1073      825,  851,  825,  851,  851,  851,  825,  139,  851,  139,
     1074      851,  851,  851,  139,  202,  851,  202,  851,  851,  851,
     1075      202,   11,  851,  851,  851,  851,  851,  851,  851,  851,
     1076      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1077      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1078      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1079
     1080      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1081      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1082      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1083      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1084      851,  851,  851,  851,  851,  851,  851
    10881085    } ;
    10891086
    1090 static yyconst flex_int16_t yy_chk[2845] =
     1087static yyconst flex_int16_t yy_chk[2848] =
    10911088    {   0,
    10921089        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    10981095        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    10991096        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1100         1,    1,    1,    1,    2,   16,   24,   16,   24,    2,
    1101        19,   19,    2,    5,    5,    5,    5,    5,    5,    5,
     1097        1,    1,    1,    1,    1,    2,   16,   24,   16,   24,
     1098        2,   19,   19,    2,    5,    5,    5,    5,    5,    5,
    11021099
    11031100        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
     
    11081105        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    11091106        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    1110         5,    5,    5,    5,    5,    5,    5,    7,    8,    9,
    1111        10,   37,   37,   20,   39,    9,   10,  860,    7,    8,
    1112        13,   13,   13,   13,   13,   13,   15,   15,   15,   15,
    1113 
    1114        15,   15,   20,   25,   39,   42,   53,   28,   27,   28,
    1115        28,   28,   28,   28,   28,  108,  114,   25,   29,   25,
    1116        27,   27,   27,   29,   53,   35,    7,    8,    9,   10,
    1117        40,   42,   48,   29,   30,   40,   30,   30,   30,   30,
    1118        30,   30,   35,   61,   35,   35,   44,  859,   44,  108,
    1119       114,  858,   48,   30,   63,   61,   30,   56,   47,   45,
    1120        45,   45,   30,   30,   45,   45,   56,   45,   30,   55,
    1121        45,   45,   49,   40,   30,   45,   40,   49,   45,   47,
    1122        30,   47,   72,  125,   49,  125,   51,   55,   30,   86,
    1123        49,   30,   31,   55,   31,   31,   31,   31,   31,   31,
    1124 
    1125        50,   51,  857,   51,   63,  153,   54,   58,   72,   50,
    1126        60,   31,   51,   50,   31,   86,   54,   57,   50,   58,
    1127        31,  153,   50,   54,  141,  156,   31,   58,   60,   57,
    1128        57,   59,   31,  126,   58,  126,   59,  156,   31,   57,
    1129        52,  855,   57,   67,   67,   52,   31,   38,   67,   59,
    1130       141,   38,   38,   52,   38,   52,   38,   38,   52,   38,
    1131       107,   38,   52,  113,   67,   67,   67,   67,   67,   67,
    1132        38,   38,   38,  128,   59,  128,  152,   59,   66,   66,
    1133        66,   66,   66,   66,  107,  152,   66,  113,  854,  849,
    1134        38,   59,  165,   38,   79,   79,   79,   79,   79,   79,
    1135 
    1136        81,   81,   81,   81,   81,   81,   82,   82,   82,   82,
    1137        82,   82,  131,  165,  131,  103,  103,  103,  103,  106,
    1138        38,   38,   76,   76,  848,  106,  112,   76,  168,   76,
    1139       110,  133,  112,  133,   76,  102,  102,  102,  102,  102,
    1140       102,  130,  103,   76,   76,   76,   76,  103,  110,  168,
    1141       109,  106,  129,  130,   76,  130,  110,  104,  112,  104,
    1142       104,  104,  104,  104,  104,  149,  129,  102,  129,   76,
    1143       103,  136,   76,  136,  158,  115,  104,   76,   76,  109,
    1144       149,   76,   76,  155,  109,  132,  132,  149,  132,   76,
    1145       158,  104,   76,  115,   76,   76,   76,  104,   76,   84,
    1146 
    1147       138,  115,  138,   84,   84,  155,  166,  109,   84,   84,
    1148       105,   84,  105,   84,  150,  105,  105,  105,  105,  105,
    1149       105,  151,   84,   84,   84,  134,  134,  134,  144,  166,
    1150       154,  157,  150,  144,  159,  167,  157,  174,  157,  151,
    1151       157,  157,   84,  161,  157,   84,  157,  105,  154,  160,
    1152       163,  157,  157,  157,  162,  157,  159,  174,  160,  162,
    1153       164,  169,  167,  170,  161,  161,  169,  163,  171,  172,
    1154       164,  144,  162,   84,   98,   98,   98,   98,   98,   98,
    1155       173,  175,  176,  171,  169,  170,  172,  178,  179,  182,
    1156        98,   98,  180,   98,   98,  184,  187,  180,  173,  181,
    1157 
    1158       184,  189,  178,  183,  176,  179,   98,  182,  175,  178,
    1159       181,   98,   98,   98,  183,  184,   98,  185,   98,  186,
    1160       181,  181,  188,  187,  190,  191,  216,  847,  216,  192,
    1161       185,  183,  203,  217,  218,  217,  218,  190,  191,  186,
    1162       191,  188,  192,  246,  189,  190,  279,  189,  195,  195,
    1163       195,  195,  195,  195,  196,  196,  195,  280,  203,  196,
    1164       198,  198,  279,  207,  207,  198,  200,  200,  207,  246,
    1165       221,  200,  221,  200,  280,  196,  196,  196,  196,  196,
    1166       196,  198,  198,  198,  198,  198,  198,  200,  200,  200,
    1167       200,  200,  200,  210,  210,  210,  210,  219,  220,  222,
    1168 
    1169       222,  223,  222,  223,  224,  224,  224,  226,  232,  226,
    1170       220,  219,  220,  219,  227,  234,  227,  241,  235,  234,
    1171       254,  233,  264,  233,  264,  210,  233,  233,  233,  233,
    1172       233,  233,  232,  265,  288,  265,  234,  276,  234,  235,
    1173       846,  235,  268,  234,  239,  239,  254,  239,  239,  288,
    1174       276,  241,  242,  242,  242,  242,  242,  242,  233,  243,
    1175       243,  243,  243,  243,  243,  239,  239,  239,  268,  242,
    1176       239,  245,  239,  245,  292,  251,  245,  245,  245,  245,
    1177       245,  245,  277,  278,  242,  282,  284,  292,  309,  291,
    1178       242,  244,  244,  244,  244,  244,  244,  251,  291,  251,
    1179 
    1180       277,  278,  286,  251,  309,  282,  284,  244,  287,  251,
    1181       244,  244,  253,  253,  253,  253,  253,  253,  842,  281,
    1182       286,  251,  283,  244,  281,  251,  289,  283,  244,  251,
    1183       244,  285,  293,  244,  287,  244,  258,  258,  258,  258,
    1184       258,  258,  289,  289,  253,  290,  285,  294,  296,  297,
    1185       290,  298,  285,  285,  297,  299,  300,  301,  302,  293,
    1186       298,  307,  299,  306,  303,  294,  296,  304,  258,  303,
    1187       307,  305,  304,  311,  310,  301,  300,  305,  308,  302,
    1188       302,  312,  306,  310,  308,  313,  312,  314,  311,  315,
    1189       313,  317,  314,  316,  319,  320,  322,  323,  325,  321,
    1190 
    1191       327,  324,  328,  333,  317,  319,  329,  326,  315,  314,
    1192       320,  316,  321,  330,  332,  325,  326,  334,  322,  335,
    1193       323,  324,  327,  332,  337,  328,  336,  338,  329,  337,
    1194       420,  330,  335,  340,  336,  334,  339,  339,  357,  340,
    1195       357,  339,  338,  339,  420,  397,  333,  347,  347,  347,
    1196       347,  348,  348,  348,  348,  358,  397,  358,  365,  365,
    1197       365,  365,  365,  365,  367,  402,  367,  376,  377,  367,
    1198       367,  367,  367,  367,  367,  840,  402,  376,  377,  347,
    1199       366,  366,  366,  366,  366,  366,  370,  370,  370,  370,
    1200       370,  370,  381,  376,  377,  398,  366,  383,  407,  366,
    1201 
    1202       366,  371,  371,  371,  371,  371,  371,  379,  406,  404,
    1203       378,  398,  366,  379,  407,  383,  381,  366,  370,  366,
    1204       399,  406,  366,  383,  366,  372,  372,  372,  372,  372,
    1205       372,  404,  378,  371,  378,  399,  400,  382,  378,  379,
    1206       380,  837,  380,  401,  378,  380,  380,  380,  380,  380,
    1207       380,  408,  401,  403,  405,  400,  378,  372,  409,  382,
    1208       378,  382,  403,  405,  378,  382,  410,  411,  415,  418,
    1209       836,  382,  835,  408,  409,  409,  412,  380,  413,  416,
    1210       414,  412,  417,  382,  418,  411,  414,  382,  410,  415,
    1211       416,  382,  422,  413,  424,  425,  426,  427,  429,  432,
    1212 
    1213       413,  417,  428,  430,  422,  426,  434,  435,  428,  426,
    1214       436,  437,  430,  429,  432,  424,  438,  425,  439,  440,
    1215       427,  444,  442,  446,  445,  436,  434,  447,  440,  435,
    1216       448,  438,  449,  437,  454,  450,  451,  487,  439,  442,
    1217       459,  449,  526,  446,  444,  445,  455,  447,  452,  451,
    1218       453,  456,  448,  450,  455,  452,  457,  453,  518,  454,
    1219       460,  518,  459,  487,  455,  461,  514,  457,  456,  460,
    1220       526,  461,  470,  470,  470,  470,  481,  481,  481,  481,
    1221       481,  481,  483,  483,  483,  483,  483,  483,  514,  512,
    1222       484,  486,  481,  488,  508,  481,  481,  485,  544,  485,
    1223 
    1224       484,  486,  485,  485,  485,  485,  485,  485,  481,  512,
    1225       544,  508,  511,  481,  483,  481,  484,  486,  481,  488,
    1226       481,  490,  490,  490,  490,  490,  490,  511,  509,  513,
    1227       515,  520,  519,  560,  485,  491,  491,  491,  491,  491,
    1228       491,  509,  513,  515,  516,  560,  517,  521,  523,  516,
    1229       520,  491,  519,  523,  491,  491,  492,  517,  492,  524,
    1230       522,  492,  492,  492,  492,  492,  492,  491,  521,  522,
    1231       524,  525,  491,  527,  491,  528,  529,  491,  530,  491,
    1232       531,  534,  527,  533,  525,  531,  536,  530,  537,  533,
    1233       534,  538,  539,  529,  540,  542,  543,  528,  552,  545,
    1234 
    1235       547,  550,  554,  540,  542,  537,  538,  539,  551,  553,
    1236       550,  548,  536,  543,  545,  547,  548,  551,  556,  554,
    1237       552,  557,  553,  558,  559,  562,  556,  561,  563,  566,
    1238       558,  557,  565,  561,  562,  611,  610,  616,  563,  592,
    1239       615,  834,  566,  610,  611,  616,  559,  615,  613,  565,
    1240       585,  585,  585,  585,  585,  585,  586,  586,  586,  586,
    1241       586,  586,  588,  592,  588,  613,  612,  588,  588,  588,
    1242       588,  588,  588,  591,  591,  591,  591,  591,  591,  612,
    1243       617,  614,  585,  587,  587,  587,  587,  587,  587,  593,
    1244       594,  609,  618,  593,  619,  618,  609,  617,  833,  587,
    1245 
    1246       832,  620,  587,  587,  614,  591,  621,  619,  623,  609,
    1247       593,  594,  593,  594,  622,  587,  620,  593,  624,  625,
    1248       587,  624,  587,  626,  627,  587,  628,  587,  621,  629,
    1249       623,  622,  631,  630,  632,  634,  625,  635,  629,  627,
    1250       636,  641,  642,  632,  637,  648,  628,  644,  831,  647,
    1251       626,  630,  648,  637,  631,  659,  655,  634,  647,  658,
    1252       635,  641,  636,  656,  644,  655,  691,  696,  658,  642,
    1253       659,  694,  696,  656,  677,  677,  677,  677,  677,  677,
    1254       682,  682,  682,  682,  682,  682,  692,  691,  695,  697,
    1255       677,  703,  700,  677,  677,  695,  692,  694,  698,  699,
    1256 
    1257       703,  698,  699,  705,  704,  706,  677,  704,  702,  697,
    1258       700,  677,  682,  677,  702,  709,  677,  707,  677,  708,
    1259       707,  711,  710,  712,  705,  710,  713,  715,  708,  714,
    1260       717,  712,  720,  706,  711,  725,  713,  723,  724,  717,
    1261       709,  727,  714,  728,  749,  748,  752,  746,  715,  727,
    1262       748,  747,  728,  751,  755,  720,  725,  723,  754,  749,
    1263       724,  735,  735,  735,  735,  735,  735,  746,  747,  750,
    1264       753,  754,  752,  753,  757,  759,  751,  757,  759,  750,
    1265       760,  755,  761,  762,  763,  761,  762,  760,  764,  769,
    1266       784,  787,  786,  735,  788,  790,  789,  788,  790,  763,
    1267 
    1268       793,  792,  794,  797,  796,  794,  797,  798,  800,  787,
    1269       798,  764,  769,  786,  799,  801,  816,  784,  789,  792,
    1270       817,  819,  821,  799,  800,  793,  796,  817,  830,  818,
    1271       819,  801,  818,  820,  826,  824,  820,  816,  824,  821,
    1272       827,  828,  829,  827,  838,  841,  843,  839,  841,  843,
    1273       828,  829,  839,  838,  844,  845,  850,  844,  845,  851,
    1274       852,  853,  856,  852,  853,  825,  823,  822,  815,  814,
    1275       813,  812,  811,  810,  851,  809,  850,  808,  807,  806,
    1276       805,  804,  803,  802,  856,  862,  862,  862,  862,  862,
    1277       862,  862,  862,  862,  862,  862,  862,  862,  863,  863,
    1278 
    1279       863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
    1280       863,  864,  864,  864,  864,  864,  864,  864,  864,  864,
    1281       864,  864,  864,  864,  865,  795,  791,  865,  785,  865,
    1282       865,  865,  865,  865,  866,  783,  782,  781,  866,  866,
    1283       866,  866,  866,  866,  867,  867,  867,  867,  867,  867,
    1284       867,  867,  867,  867,  867,  867,  867,  868,  780,  779,
    1285       868,  778,  868,  868,  868,  868,  868,  869,  777,  869,
    1286       869,  776,  869,  869,  869,  869,  869,  869,  775,  869,
    1287       870,  774,  773,  870,  870,  870,  870,  870,  870,  870,
    1288       870,  772,  870,  871,  871,  871,  871,  871,  871,  871,
    1289 
    1290       871,  871,  871,  871,  871,  871,  872,  872,  771,  872,
    1291       770,  768,  767,  872,  873,  766,  765,  873,  758,  873,
    1292       873,  873,  873,  873,  874,  756,  874,  745,  744,  743,
    1293       874,  875,  742,  875,  741,  740,  739,  875,  876,  738,
    1294       876,  737,  734,  733,  876,  877,  732,  877,  726,  722,
    1295       721,  877,  878,  719,  878,  718,  716,  701,  878,  879,
    1296       693,  879,  690,  685,  683,  879,  880,  678,  880,  668,
    1297       664,  662,  880,  881,  660,  881,  657,  654,  653,  881,
    1298       882,  652,  882,  651,  650,  649,  882,  883,  883,  883,
    1299       883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
    1300 
    1301       884,  646,  884,  885,  885,  645,  885,  885,  885,  643,
    1302       885,  886,  886,  640,  886,  887,  639,  887,  638,  633,
    1303       607,  887,  888,  603,  888,  601,  599,  597,  888,  889,
    1304       595,  889,  589,  583,  581,  889,  890,  579,  890,  891,
    1305       577,  891,  575,  573,  571,  891,  892,  569,  892,  893,
    1306       568,  567,  893,  564,  893,  893,  893,  893,  893,  894,
    1307       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1308       894,  894,  895,  895,  895,  895,  895,  895,  895,  895,
    1309       895,  895,  895,  895,  895,  896,  555,  896,  549,  546,
    1310       541,  896,  897,  535,  897,  532,  510,  506,  897,  898,
    1311 
    1312       504,  898,  502,  500,  498,  898,  899,  496,  899,  900,
    1313       495,  900,  494,  493,  482,  900,  901,  479,  901,  902,
    1314       477,  902,  476,  475,  473,  902,  903,  471,  903,  904,
    1315       468,  904,  466,  464,  462,  904,  905,  458,  905,  906,
    1316       443,  906,  441,  433,  431,  906,  907,  423,  907,  908,
    1317       421,  908,  419,  394,  392,  908,  909,  390,  909,  910,
    1318       388,  910,  387,  386,  373,  910,  911,  362,  911,  912,
    1319       360,  912,  359,  912,  355,  912,  913,  353,  913,  351,
    1320       913,  349,  913,  914,  914,  345,  914,  914,  914,  343,
    1321       914,  915,  342,  915,  341,  331,  318,  915,  916,  295,
    1322 
    1323       916,  275,  273,  271,  916,  917,  270,  917,  269,  267,
    1324       266,  917,  918,  261,  918,  919,  257,  919,  256,  252,
    1325       249,  919,  920,  248,  920,  921,  237,  921,  236,  229,
    1326       228,  921,  922,  225,  922,  923,  215,  923,  213,  212,
    1327       211,  923,  924,  205,  924,  925,  204,  202,  925,  197,
    1328       925,  925,  925,  925,  925,  926,  926,  926,  926,  926,
    1329       926,  926,  926,  926,  926,  926,  926,  926,  927,  177,
    1330       927,  148,  146,  145,  927,  928,  139,  928,  929,  137,
    1331       929,  135,  127,  124,  929,  930,  123,  930,  931,  119,
    1332       931,  100,   97,   94,  931,  932,   92,  932,  933,   85,
    1333 
    1334       933,   71,   69,   65,  933,  934,   36,  934,  935,   33,
    1335       935,   18,   11,    4,  935,  936,    3,  936,  937,    0,
    1336       937,    0,    0,    0,  937,  938,    0,  938,  939,    0,
    1337       939,    0,    0,    0,  939,  940,    0,  940,    0,    0,
    1338         0,  940,  941,    0,  941,  942,    0,  942,    0,    0,
    1339         0,  942,  943,    0,  943,  944,    0,  944,    0,  944,
    1340         0,  944,  945,    0,  945,    0,    0,    0,  945,  946,
    1341         0,  946,    0,    0,    0,  946,  947,    0,  947,  948,
    1342         0,  948,    0,    0,    0,  948,  949,    0,  949,  950,
    1343         0,  950,    0,    0,    0,  950,  951,    0,  951,  952,
    1344 
    1345         0,  952,    0,    0,    0,  952,  953,    0,  953,  954,
    1346         0,  954,    0,    0,    0,  954,  955,    0,  955,  956,
    1347         0,  956,    0,    0,    0,  956,  957,    0,  957,  958,
    1348         0,    0,  958,    0,  958,  958,  958,  958,  958,  959,
    1349       959,  959,  959,  959,  959,  959,  959,  959,  959,  959,
    1350       959,  959,  960,    0,  960,    0,    0,    0,  960,  961,
    1351         0,  961,  962,    0,  962,    0,    0,    0,  962,  963,
    1352         0,  963,  964,    0,  964,    0,    0,    0,  964,  965,
    1353         0,  965,  966,    0,  966,    0,    0,    0,  966,  967,
    1354         0,  967,  968,    0,  968,    0,    0,    0,  968,  969,
    1355 
    1356         0,  969,  970,    0,  970,    0,    0,    0,  970,  971,
    1357         0,  971,  972,    0,  972,    0,    0,    0,  972,  973,
    1358         0,  973,  974,    0,  974,    0,    0,    0,  974,  975,
    1359         0,  975,  976,    0,  976,    0,    0,    0,  976,  977,
    1360         0,  977,    0,    0,    0,  977,  978,    0,  978,  979,
    1361         0,  979,    0,    0,    0,  979,  980,    0,  980,  981,
    1362         0,  981,    0,    0,    0,  981,  982,    0,  982,  983,
    1363         0,  983,    0,    0,    0,  983,  984,    0,  984,  985,
    1364         0,  985,  986,    0,  986,  987,    0,    0,  987,    0,
    1365       987,  987,  987,  987,  987,  988,    0,  988,  989,  989,
    1366 
    1367       989,  989,  989,  989,  989,  989,  989,  989,  989,  989,
    1368       989,  990,    0,  990,    0,    0,    0,  990,  991,    0,
    1369       991,  992,    0,  992,    0,    0,    0,  992,  993,    0,
    1370       993,  994,    0,  994,  995,    0,  995,  996,    0,    0,
    1371       996,    0,  996,  996,  996,  996,  996,  997,    0,  997,
    1372       998,    0,  998,  999,    0,  999, 1000,    0, 1000, 1001,
    1373         0, 1001, 1002,    0, 1002, 1003,    0, 1003, 1004,    0,
    1374      1004,    0,    0,    0, 1004, 1005,    0, 1005, 1006,    0,
    1375      1006,    0,    0,    0, 1006, 1007,    0, 1007, 1008,    0,
    1376      1008, 1009,    0, 1009, 1010,    0, 1010, 1011,    0, 1011,
    1377 
    1378         0,    0,    0, 1011, 1012,    0,    0, 1012,    0, 1012,
    1379      1012, 1012, 1012, 1012, 1013,    0, 1013, 1014,    0, 1014,
    1380      1015,    0, 1015, 1016,    0, 1016,    0,    0,    0, 1016,
    1381      1017,    0, 1017,    0,    0,    0, 1017, 1018,    0, 1018,
    1382         0,    0,    0, 1018, 1019,    0, 1019, 1020,    0, 1020,
    1383         0,    0,    0, 1020, 1021,    0, 1021,    0,    0,    0,
    1384      1021, 1022,    0, 1022,    0,    0,    0, 1022, 1023,    0,
    1385      1023,    0,    0,    0, 1023, 1024,    0, 1024,    0,    0,
    1386         0, 1024, 1025,    0, 1025,    0,    0,    0, 1025, 1026,
    1387         0, 1026,    0,    0,    0, 1026, 1027,    0, 1027,    0,
    1388 
    1389         0,    0, 1027, 1028,    0, 1028,    0,    0,    0, 1028,
    1390      1029,    0, 1029,    0,    0,    0, 1029, 1030,    0, 1030,
    1391         0,    0,    0, 1030, 1031,    0, 1031,    0,    0,    0,
    1392      1031, 1032,    0, 1032,    0,    0,    0, 1032, 1033,    0,
    1393      1033,    0,    0,    0, 1033, 1034,    0, 1034,    0,    0,
    1394         0, 1034, 1035,    0, 1035,    0,    0,    0, 1035,  861,
     1107        5,    5,    5,    5,    5,    5,    5,    5,    5,    7,
     1108        8,    9,   10,   37,   37,   20,   39,    9,   10,  521,
     1109        7,    8,   13,   13,   13,   13,   13,   13,   15,   15,
     1110
     1111       15,   15,   15,   15,   20,   25,   48,   39,   42,   28,
     1112       27,   28,   28,   28,   28,   28,   28,  108,  521,   25,
     1113       29,   25,   27,   27,   27,   29,   48,   35,   40,    7,
     1114        8,    9,   10,   40,   42,   29,   30,   47,   30,   30,
     1115       30,   30,   30,   30,   35,   56,   35,   35,   44,  334,
     1116       44,  114,  108,   72,   56,   30,   63,  334,   47,   30,
     1117       47,   45,   45,   45,   49,   30,   30,   45,   45,   49,
     1118       45,   30,   40,   45,   45,   40,   49,   30,   45,   72,
     1119       61,   45,   49,   30,   86,  513,  114,   53,  513,   51,
     1120       60,   30,   61,   55,   30,   31,  107,   31,   31,   31,
     1121
     1122       31,   31,   31,   50,   51,   53,   51,   63,   60,   54,
     1123       86,   55,   50,  109,   31,   51,   50,   55,   31,   54,
     1124      107,   50,   52,  113,   31,   50,   54,   52,  317,  125,
     1125       31,  125,  106,  156,  150,   52,   31,   52,  106,  317,
     1126       52,   59,   31,  109,   52,  156,   59,  113,  109,  151,
     1127       31,   38,  150,  174,  110,   38,   38,   57,   38,   59,
     1128       38,   38,  112,   38,  106,   38,   58,  151,  112,   57,
     1129       57,  109,  110,  174,   38,   38,   38,  166,   58,   57,
     1130      110,  152,   57,  115,  141,   59,   58,  126,   59,  126,
     1131      152,   67,   67,   58,  112,   38,   67,  128,   38,  128,
     1132
     1133      166,  115,   59,   66,   66,   66,   66,   66,   66,  115,
     1134      141,   66,   67,   67,   67,   67,   67,   67,   79,   79,
     1135       79,   79,   79,   79,  160,   38,   38,   76,   76,  131,
     1136      163,  131,   76,  160,   76,  103,  103,  103,  103,   76,
     1137       81,   81,   81,   81,   81,   81,  129,  163,   76,   76,
     1138       76,   76,   82,   82,   82,   82,   82,   82,  130,   76,
     1139      129,  153,  129,  103,  132,  132,  158,  132,  103,  133,
     1140      130,  133,  130,  186,  136,   76,  136,  153,   76,  134,
     1141      134,  134,  158,   76,   76,  165,  164,   76,   76,  154,
     1142      138,  103,  138,  186,  155,   76,  164,  216,   76,  216,
     1143
     1144       76,   76,   76,  144,   76,   84,  165,  154,  144,   84,
     1145       84,  168,  149,  173,   84,   84,  155,   84,  104,   84,
     1146      104,  104,  104,  104,  104,  104,  159,  149,   84,   84,
     1147       84,  173,  168,  105,  149,  105,  161,  104,  105,  105,
     1148      105,  105,  105,  105,  170,  162,  167,  144,  159,   84,
     1149      162,  169,   84,  104,  171,  157,  169,  161,  161,  104,
     1150      157,  172,  157,  162,  157,  157,  170,  175,  157,  171,
     1151      157,  105,  179,  167,  169,  157,  157,  157,  172,  157,
     1152       84,   98,   98,   98,   98,   98,   98,  176,  178,  179,
     1153      180,  185,  280,  182,  175,  180,  181,  183,   98,   98,
     1154
     1155      192,  850,   98,  178,  185,  189,  187,  181,  183,  176,
     1156      178,  182,  280,  192,   98,  188,  203,  181,  181,  184,
     1157       98,   98,  190,  191,  184,  183,   98,  102,  102,  102,
     1158      102,  102,  102,  187,  188,  190,  191,  274,  191,  184,
     1159      449,  275,  203,  190,  102,  102,  207,  207,  102,  189,
     1160      274,  207,  189,  195,  195,  195,  195,  195,  195,  275,
     1161      102,  195,  277,  196,  196,  449,  102,  102,  196,  198,
     1162      198,  217,  102,  217,  198,  200,  200,  218,  277,  218,
     1163      200,  221,  200,  221,  196,  196,  196,  196,  196,  196,
     1164      198,  198,  198,  198,  198,  198,  200,  200,  200,  200,
     1165
     1166      200,  200,  210,  210,  210,  210,  219,  220,  222,  222,
     1167      223,  222,  223,  224,  224,  224,  226,  239,  226,  220,
     1168      219,  220,  219,  227,  232,  227,  232,  278,  849,  232,
     1169      232,  232,  232,  232,  232,  210,  231,  231,  231,  231,
     1170      231,  231,  237,  237,  278,  244,  237,  252,  262,  263,
     1171      262,  263,  239,  231,  231,  279,  276,  231,  281,  282,
     1172      279,  288,  232,  281,  237,  237,  288,  290,  266,  231,
     1173      237,  244,  285,  252,  276,  231,  231,  848,  284,  282,
     1174      290,  231,  240,  240,  240,  240,  240,  240,  241,  241,
     1175      241,  241,  241,  241,  266,  283,  284,  286,  285,  240,
     1176
     1177      289,  242,  242,  242,  242,  242,  242,  249,  291,  289,
     1178      283,  292,  286,  294,  847,  240,  283,  283,  243,  242,
     1179      243,  240,  242,  243,  243,  243,  243,  243,  243,  292,
     1180      249,  294,  249,  295,  242,  291,  249,  298,  295,  287,
     1181      301,  242,  249,  299,  296,  301,  242,  251,  251,  251,
     1182      251,  251,  251,  296,  249,  287,  287,  298,  249,  304,
     1183      300,  299,  249,  256,  256,  256,  256,  256,  256,  297,
     1184      302,  303,  307,  306,  305,  302,  297,  303,  304,  306,
     1185      251,  300,  300,  305,  308,  309,  310,  311,  307,  312,
     1186      313,  310,  311,  308,  312,  314,  256,  315,  320,  318,
     1187
     1188      309,  321,  319,  322,  323,  325,  326,  324,  327,  313,
     1189      315,  312,  331,  314,  318,  319,  324,  328,  332,  330,
     1190      320,  323,  336,  322,  321,  333,  335,  325,  330,  326,
     1191      327,  335,  355,  396,  355,  328,  332,  336,  333,  337,
     1192      337,  338,  396,  356,  337,  356,  337,  338,  345,  345,
     1193      345,  345,  346,  346,  346,  346,  331,  362,  362,  362,
     1194      362,  362,  362,  392,  363,  363,  363,  363,  363,  363,
     1195      364,  376,  364,  552,  392,  364,  364,  364,  364,  364,
     1196      364,  345,  363,  552,  371,  363,  365,  365,  365,  365,
     1197      365,  365,  393,  401,  371,  376,  398,  363,  366,  366,
     1198
     1199      366,  366,  366,  366,  363,  398,  401,  372,  393,  363,
     1200      371,  367,  367,  367,  367,  367,  367,  372,  395,  365,
     1201      368,  368,  368,  368,  368,  368,  400,  417,  394,  367,
     1202      374,  366,  367,  372,  373,  400,  374,  395,  368,  417,
     1203      375,  368,  375,  394,  367,  375,  375,  375,  375,  375,
     1204      375,  367,  399,  368,  378,  397,  367,  373,  406,  373,
     1205      368,  377,  374,  373,  411,  368,  397,  402,  845,  373,
     1206      403,  404,  378,  405,  399,  411,  406,  407,  375,  408,
     1207      378,  373,  407,  402,  377,  373,  377,  404,  404,  373,
     1208      377,  409,  403,  410,  408,  405,  377,  409,  412,  415,
     1209
     1210      413,  408,  419,  420,  422,  423,  424,  430,  377,  421,
     1211      425,  423,  377,  415,  410,  413,  377,  412,  421,  425,
     1212      427,  424,  421,  419,  429,  420,  431,  422,  432,  430,
     1213      433,  434,  437,  435,  439,  427,  441,  440,  443,  442,
     1214      446,  431,  435,  444,  429,  433,  445,  447,  448,  437,
     1215      432,  434,  444,  446,  447,  448,  441,  439,  440,  442,
     1216      443,  450,  452,  451,  445,  454,  455,  611,  456,  450,
     1217      611,  844,  504,  452,  456,  455,  479,  482,  483,  450,
     1218      451,  465,  465,  465,  465,  504,  479,  454,  476,  476,
     1219      476,  476,  476,  476,  477,  477,  477,  477,  477,  477,
     1220
     1221      481,  503,  479,  482,  483,  506,  476,  839,  509,  476,
     1222      481,  507,  477,  512,  516,  477,  508,  511,  503,  510,
     1223      506,  476,  511,  531,  512,  519,  481,  477,  476,  508,
     1224      509,  507,  510,  476,  477,  516,  519,  520,  517,  477,
     1225      478,  478,  478,  478,  478,  478,  480,  517,  480,  531,
     1226      520,  480,  480,  480,  480,  480,  480,  485,  485,  485,
     1227      485,  485,  485,  514,  486,  486,  486,  486,  486,  486,
     1228      487,  515,  487,  478,  524,  487,  487,  487,  487,  487,
     1229      487,  518,  486,  514,  480,  486,  518,  522,  523,  525,
     1230      515,  524,  533,  529,  526,  528,  522,  486,  525,  526,
     1231
     1232      532,  528,  529,  534,  486,  535,  537,  533,  538,  486,
     1233      523,  539,  540,  542,  535,  537,  543,  532,  534,  547,
     1234      545,  543,  546,  539,  548,  538,  549,  540,  542,  545,
     1235      551,  546,  553,  554,  555,  557,  556,  548,  551,  553,
     1236      558,  547,  556,  549,  557,  560,  555,  561,  604,  603,
     1237      558,  617,  608,  609,  617,  554,  603,  604,  606,  608,
     1238      561,  609,  560,  580,  580,  580,  580,  580,  580,  581,
     1239      581,  581,  581,  581,  581,  606,  582,  582,  582,  582,
     1240      582,  582,  583,  607,  583,  605,  641,  583,  583,  583,
     1241      583,  583,  583,  641,  582,  612,  580,  582,  605,  586,
     1242
     1243      586,  586,  586,  586,  586,  610,  607,  614,  612,  582,
     1244      588,  588,  588,  588,  588,  588,  582,  586,  602,  613,
     1245      586,  582,  610,  602,  615,  616,  619,  620,  588,  614,
     1246      623,  588,  586,  621,  613,  618,  602,  622,  624,  586,
     1247      625,  615,  620,  588,  586,  627,  622,  616,  623,  625,
     1248      588,  628,  618,  621,  619,  588,  629,  630,  635,  634,
     1249      624,  640,  648,  637,  651,  649,  630,  627,  652,  739,
     1250      640,  648,  682,  651,  628,  649,  684,  681,  629,  634,
     1251      637,  687,  682,  652,  739,  635,  670,  670,  670,  670,
     1252      670,  670,  671,  671,  671,  671,  671,  671,  681,  685,
     1253
     1254      686,  687,  684,  690,  670,  686,  685,  670,  688,  689,
     1255      671,  688,  689,  671,  692,  693,  696,  838,  703,  670,
     1256      692,  690,  699,  695,  693,  671,  670,  694,  703,  837,
     1257      694,  670,  671,  697,  710,  705,  697,  671,  672,  672,
     1258      672,  672,  672,  672,  695,  696,  698,  700,  699,  701,
     1259      700,  702,  704,  713,  707,  698,  705,  710,  714,  702,
     1260      715,  717,  701,  707,  742,  704,  718,  740,  736,  717,
     1261      741,  672,  737,  713,  738,  718,  745,  740,  754,  738,
     1262      714,  715,  725,  725,  725,  725,  725,  725,  736,  737,
     1263      742,  743,  744,  741,  743,  747,  749,  753,  747,  749,
     1264
     1265      750,  754,  759,  751,  745,  744,  751,  750,  752,  774,
     1266      776,  752,  753,  778,  777,  725,  778,  779,  780,  782,
     1267      783,  780,  786,  784,  787,  759,  784,  787,  806,  789,
     1268      788,  776,  777,  788,  790,  791,  774,  782,  789,  779,
     1269      807,  811,  808,  809,  786,  808,  783,  807,  836,  806,
     1270      790,  791,  809,  810,  814,  818,  810,  814,  811,  817,
     1271      819,  828,  817,  829,  818,  840,  841,  846,  829,  819,
     1272      828,  831,  833,  834,  831,  833,  834,  835,  832,  842,
     1273      835,  841,  842,  843,  830,  840,  843,  827,  826,  846,
     1274      852,  852,  852,  852,  852,  852,  852,  852,  852,  852,
     1275
     1276      852,  852,  852,  853,  853,  853,  853,  853,  853,  853,
     1277      853,  853,  853,  853,  853,  853,  854,  854,  854,  854,
     1278      854,  854,  854,  854,  854,  854,  854,  854,  854,  855,
     1279      825,  824,  855,  823,  855,  855,  855,  855,  855,  856,
     1280      822,  821,  820,  856,  856,  856,  856,  856,  856,  857,
     1281      857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
     1282      857,  857,  858,  816,  815,  858,  813,  858,  858,  858,
     1283      858,  858,  859,  812,  859,  859,  805,  859,  859,  859,
     1284      859,  859,  859,  804,  859,  860,  803,  802,  860,  860,
     1285      860,  860,  860,  860,  860,  860,  801,  860,  861,  861,
     1286
    13951287      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1396       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1397       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1398       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1399 
    1400       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1401       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1402       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1403       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1404       861,  861,  861,  861
     1288      861,  862,  862,  800,  862,  799,  798,  797,  862,  863,
     1289      796,  795,  863,  794,  863,  863,  863,  863,  863,  864,
     1290      793,  864,  792,  785,  781,  864,  865,  775,  865,  773,
     1291      772,  771,  865,  866,  770,  866,  769,  768,  767,  866,
     1292      867,  766,  867,  765,  764,  763,  867,  868,  762,  868,
     1293      761,  760,  758,  868,  869,  757,  869,  756,  755,  748,
     1294      869,  870,  746,  870,  735,  734,  733,  870,  871,  732,
     1295      871,  731,  730,  729,  871,  872,  728,  872,  727,  724,
     1296      723,  872,  873,  873,  873,  873,  873,  873,  873,  873,
     1297
     1298      873,  873,  873,  873,  873,  874,  722,  874,  875,  875,
     1299      721,  875,  875,  875,  716,  875,  876,  876,  712,  876,
     1300      877,  711,  877,  709,  708,  706,  877,  878,  691,  878,
     1301      683,  680,  675,  878,  879,  673,  879,  661,  657,  655,
     1302      879,  880,  653,  880,  881,  650,  881,  647,  646,  645,
     1303      881,  882,  644,  882,  883,  643,  642,  883,  639,  883,
     1304      883,  883,  883,  883,  884,  884,  884,  884,  884,  884,
     1305      884,  884,  884,  884,  884,  884,  884,  885,  885,  885,
     1306      885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
     1307      886,  638,  886,  636,  633,  632,  886,  887,  631,  887,
     1308
     1309      626,  600,  596,  887,  888,  594,  888,  592,  590,  584,
     1310      888,  889,  578,  889,  890,  576,  890,  574,  572,  570,
     1311      890,  891,  568,  891,  892,  566,  892,  564,  563,  562,
     1312      892,  893,  559,  893,  894,  550,  894,  544,  541,  536,
     1313      894,  895,  530,  895,  896,  527,  896,  505,  501,  499,
     1314      896,  897,  497,  897,  898,  495,  898,  493,  491,  490,
     1315      898,  899,  489,  899,  900,  488,  900,  474,  472,  471,
     1316      900,  901,  470,  901,  902,  468,  902,  466,  902,  463,
     1317      902,  903,  461,  903,  459,  903,  457,  903,  904,  904,
     1318      453,  904,  904,  904,  438,  904,  905,  436,  905,  428,
     1319
     1320      426,  418,  905,  906,  416,  906,  414,  389,  387,  906,
     1321      907,  385,  907,  383,  382,  381,  907,  908,  360,  908,
     1322      909,  358,  909,  357,  353,  351,  909,  910,  349,  910,
     1323      911,  347,  911,  343,  341,  340,  911,  912,  339,  912,
     1324      913,  329,  913,  316,  293,  273,  913,  914,  271,  914,
     1325      915,  269,  268,  915,  267,  915,  915,  915,  915,  915,
     1326      916,  916,  916,  916,  916,  916,  916,  916,  916,  916,
     1327      916,  916,  916,  917,  265,  917,  264,  259,  255,  917,
     1328      918,  254,  918,  919,  250,  919,  247,  246,  235,  919,
     1329      920,  234,  920,  921,  229,  921,  228,  225,  215,  921,
     1330
     1331      922,  213,  922,  923,  212,  923,  211,  205,  204,  923,
     1332      924,  202,  924,  925,  197,  925,  177,  148,  146,  925,
     1333      926,  145,  926,  927,  139,  927,  137,  135,  127,  927,
     1334      928,  124,  928,  929,  123,  929,  119,  100,   97,  929,
     1335      930,   94,  930,   92,   85,   71,  930,  931,   69,  931,
     1336      932,   65,  932,   36,   33,   18,  932,  933,   11,  933,
     1337      934,    4,  934,    3,  934,    0,  934,  935,    0,  935,
     1338        0,    0,    0,  935,  936,    0,  936,    0,    0,    0,
     1339      936,  937,    0,  937,  938,    0,  938,    0,    0,    0,
     1340      938,  939,    0,  939,  940,    0,  940,    0,    0,    0,
     1341
     1342      940,  941,    0,  941,  942,    0,  942,    0,    0,    0,
     1343      942,  943,    0,  943,  944,    0,  944,    0,    0,    0,
     1344      944,  945,    0,  945,  946,    0,  946,    0,    0,    0,
     1345      946,  947,    0,  947,  948,    0,    0,  948,    0,  948,
     1346      948,  948,  948,  948,  949,  949,  949,  949,  949,  949,
     1347      949,  949,  949,  949,  949,  949,  949,  950,    0,  950,
     1348        0,    0,    0,  950,  951,    0,  951,  952,    0,  952,
     1349        0,    0,    0,  952,  953,    0,  953,  954,    0,  954,
     1350        0,    0,    0,  954,  955,    0,  955,  956,    0,  956,
     1351        0,    0,    0,  956,  957,    0,  957,  958,    0,  958,
     1352
     1353        0,    0,    0,  958,  959,    0,  959,  960,    0,  960,
     1354        0,    0,    0,  960,  961,    0,  961,  962,    0,  962,
     1355        0,    0,    0,  962,  963,    0,  963,  964,    0,  964,
     1356        0,    0,    0,  964,  965,    0,  965,  966,    0,  966,
     1357        0,    0,    0,  966,  967,    0,  967,    0,    0,    0,
     1358      967,  968,    0,  968,  969,    0,  969,    0,    0,    0,
     1359      969,  970,    0,  970,  971,    0,  971,    0,    0,    0,
     1360      971,  972,    0,  972,  973,    0,  973,    0,    0,    0,
     1361      973,  974,    0,  974,  975,    0,  975,  976,    0,  976,
     1362      977,    0,    0,  977,    0,  977,  977,  977,  977,  977,
     1363
     1364      978,    0,  978,  979,  979,  979,  979,  979,  979,  979,
     1365      979,  979,  979,  979,  979,  979,  980,    0,  980,    0,
     1366        0,    0,  980,  981,    0,  981,  982,    0,  982,    0,
     1367        0,    0,  982,  983,    0,  983,  984,    0,  984,  985,
     1368        0,  985,  986,    0,    0,  986,    0,  986,  986,  986,
     1369      986,  986,  987,    0,  987,  988,    0,  988,  989,    0,
     1370      989,  990,    0,  990,  991,    0,  991,  992,    0,  992,
     1371      993,    0,  993,  994,    0,  994,    0,    0,    0,  994,
     1372      995,    0,  995,  996,    0,  996,    0,    0,    0,  996,
     1373      997,    0,  997,  998,    0,  998,  999,    0,  999, 1000,
     1374
     1375        0, 1000, 1001,    0, 1001,    0,    0,    0, 1001, 1002,
     1376        0,    0, 1002,    0, 1002, 1002, 1002, 1002, 1002, 1003,
     1377        0, 1003, 1004,    0, 1004, 1005,    0, 1005,    0,    0,
     1378        0, 1005, 1006,    0, 1006,    0,    0,    0, 1006, 1007,
     1379        0, 1007,    0,    0,    0, 1007, 1008,    0, 1008, 1009,
     1380        0, 1009,    0,    0,    0, 1009, 1010,    0, 1010,    0,
     1381        0,    0, 1010, 1011,    0, 1011,    0,    0,    0, 1011,
     1382     1012,    0, 1012,    0,    0,    0, 1012, 1013,    0, 1013,
     1383        0,    0,    0, 1013, 1014,    0, 1014,    0,    0,    0,
     1384     1014, 1015,    0, 1015,    0,    0,    0, 1015, 1016,    0,
     1385
     1386     1016,    0,    0,    0, 1016, 1017,    0, 1017,    0,    0,
     1387        0, 1017, 1018,    0, 1018,    0,    0,    0, 1018, 1019,
     1388        0, 1019,    0,    0,    0, 1019, 1020,    0, 1020,    0,
     1389        0,    0, 1020, 1021,    0, 1021,    0,    0,    0, 1021,
     1390     1022,    0, 1022,    0,    0,    0, 1022, 1023,    0, 1023,
     1391        0,    0,    0, 1023, 1024,    0, 1024,    0,    0,    0,
     1392     1024,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1393      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1394      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1395      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1396
     1397      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1398      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1399      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1400      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1401      851,  851,  851,  851,  851,  851,  851
    14051402    } ;
    14061403
     
    14441441 * Created On       : Sat Sep 22 08:58:10 2001
    14451442 * Last Modified By : Peter A. Buhr
    1446  * Last Modified On : Thu Jan 21 21:53:38 2016
    1447  * Update Count     : 417
     1443 * Last Modified On : Thu Oct  8 16:13:07 2015
     1444 * Update Count     : 404
    14481445 */
    14491446#line 20 "lex.ll"
     
    14941491// attribute identifier, GCC: $ in identifier
    14951492// numeric constants, CFA: '_' in constant
    1496 // GCC: D (double), LD (long double) and iI (imaginary) suffixes
    14971493// character escape sequence, GCC: \e => esc character
    14981494// ' stop highlighting
     
    15031499
    15041500
    1505 #line 1506 "Parser/lex.cc"
     1501#line 1502 "Parser/lex.cc"
    15061502
    15071503#define INITIAL 0
     
    16951691        register int yy_act;
    16961692   
    1697 #line 137 "lex.ll"
     1693#line 136 "lex.ll"
    16981694
    16991695                                   /* line directives */
    1700 #line 1701 "Parser/lex.cc"
     1696#line 1697 "Parser/lex.cc"
    17011697
    17021698        if ( !(yy_init) )
     
    17521748                                {
    17531749                                yy_current_state = (int) yy_def[yy_current_state];
    1754                                 if ( yy_current_state >= 862 )
     1750                                if ( yy_current_state >= 852 )
    17551751                                        yy_c = yy_meta[(unsigned int) yy_c];
    17561752                                }
     
    17581754                        ++yy_cp;
    17591755                        }
    1760                 while ( yy_base[yy_current_state] != 2760 );
     1756                while ( yy_base[yy_current_state] != 2762 );
    17611757
    17621758yy_find_action:
     
    17951791/* rule 1 can match eol */
    17961792YY_RULE_SETUP
    1797 #line 139 "lex.ll"
     1793#line 138 "lex.ll"
    17981794{
    17991795        /* " stop highlighting */
     
    18221818/* rule 2 can match eol */
    18231819YY_RULE_SETUP
    1824 #line 162 "lex.ll"
     1820#line 161 "lex.ll"
    18251821;
    18261822        YY_BREAK
     
    18281824case 3:
    18291825YY_RULE_SETUP
    1830 #line 165 "lex.ll"
     1826#line 164 "lex.ll"
    18311827{ BEGIN COMMENT; }
    18321828        YY_BREAK
     
    18341830/* rule 4 can match eol */
    18351831YY_RULE_SETUP
     1832#line 165 "lex.ll"
     1833;
     1834        YY_BREAK
     1835case 5:
     1836YY_RULE_SETUP
    18361837#line 166 "lex.ll"
    1837 ;
    1838         YY_BREAK
    1839 case 5:
    1840 YY_RULE_SETUP
    1841 #line 167 "lex.ll"
    18421838{ BEGIN 0; }
    18431839        YY_BREAK
     
    18461842/* rule 6 can match eol */
    18471843YY_RULE_SETUP
    1848 #line 170 "lex.ll"
     1844#line 169 "lex.ll"
    18491845;
    18501846        YY_BREAK
     
    18521848case 7:
    18531849YY_RULE_SETUP
     1850#line 172 "lex.ll"
     1851{ WHITE_RETURN(' '); }
     1852        YY_BREAK
     1853case 8:
     1854YY_RULE_SETUP
    18541855#line 173 "lex.ll"
    18551856{ WHITE_RETURN(' '); }
    18561857        YY_BREAK
    1857 case 8:
    1858 YY_RULE_SETUP
    1859 #line 174 "lex.ll"
    1860 { WHITE_RETURN(' '); }
    1861         YY_BREAK
    18621858case 9:
    18631859/* rule 9 can match eol */
    18641860YY_RULE_SETUP
    1865 #line 175 "lex.ll"
     1861#line 174 "lex.ll"
    18661862{ NEWLINE_RETURN(); }
    18671863        YY_BREAK
     
    18691865case 10:
    18701866YY_RULE_SETUP
     1867#line 177 "lex.ll"
     1868{ KEYWORD_RETURN(ALIGNAS); }                    // C11
     1869        YY_BREAK
     1870case 11:
     1871YY_RULE_SETUP
    18711872#line 178 "lex.ll"
    1872 { KEYWORD_RETURN(ALIGNAS); }                    // C11
    1873         YY_BREAK
    1874 case 11:
     1873{ KEYWORD_RETURN(ALIGNOF); }                    // C11
     1874        YY_BREAK
     1875case 12:
    18751876YY_RULE_SETUP
    18761877#line 179 "lex.ll"
    1877 { KEYWORD_RETURN(ALIGNOF); }                    // C11
    1878         YY_BREAK
    1879 case 12:
     1878{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
     1879        YY_BREAK
     1880case 13:
    18801881YY_RULE_SETUP
    18811882#line 180 "lex.ll"
    18821883{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
    18831884        YY_BREAK
    1884 case 13:
     1885case 14:
    18851886YY_RULE_SETUP
    18861887#line 181 "lex.ll"
    1887 { KEYWORD_RETURN(ALIGNOF); }                    // GCC
    1888         YY_BREAK
    1889 case 14:
     1888{ KEYWORD_RETURN(ASM); }
     1889        YY_BREAK
     1890case 15:
    18901891YY_RULE_SETUP
    18911892#line 182 "lex.ll"
    1892 { KEYWORD_RETURN(ASM); }
    1893         YY_BREAK
    1894 case 15:
     1893{ KEYWORD_RETURN(ASM); }                                // GCC
     1894        YY_BREAK
     1895case 16:
    18951896YY_RULE_SETUP
    18961897#line 183 "lex.ll"
    18971898{ KEYWORD_RETURN(ASM); }                                // GCC
    18981899        YY_BREAK
    1899 case 16:
     1900case 17:
    19001901YY_RULE_SETUP
    19011902#line 184 "lex.ll"
    1902 { KEYWORD_RETURN(ASM); }                                // GCC
    1903         YY_BREAK
    1904 case 17:
     1903{ KEYWORD_RETURN(AT); }                                 // CFA
     1904        YY_BREAK
     1905case 18:
    19051906YY_RULE_SETUP
    19061907#line 185 "lex.ll"
    1907 { KEYWORD_RETURN(AT); }                                 // CFA
    1908         YY_BREAK
    1909 case 18:
     1908{ KEYWORD_RETURN(ATOMIC); }                             // C11
     1909        YY_BREAK
     1910case 19:
    19101911YY_RULE_SETUP
    19111912#line 186 "lex.ll"
    1912 { KEYWORD_RETURN(ATOMIC); }                             // C11
    1913         YY_BREAK
    1914 case 19:
     1913{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
     1914        YY_BREAK
     1915case 20:
    19151916YY_RULE_SETUP
    19161917#line 187 "lex.ll"
    19171918{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    19181919        YY_BREAK
    1919 case 20:
     1920case 21:
    19201921YY_RULE_SETUP
    19211922#line 188 "lex.ll"
    1922 { KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    1923         YY_BREAK
    1924 case 21:
     1923{ KEYWORD_RETURN(AUTO); }
     1924        YY_BREAK
     1925case 22:
    19251926YY_RULE_SETUP
    19261927#line 189 "lex.ll"
    1927 { KEYWORD_RETURN(AUTO); }
    1928         YY_BREAK
    1929 case 22:
     1928{ KEYWORD_RETURN(BOOL); }                               // C99
     1929        YY_BREAK
     1930case 23:
    19301931YY_RULE_SETUP
    19311932#line 190 "lex.ll"
    1932 { KEYWORD_RETURN(BOOL); }                               // C99
    1933         YY_BREAK
    1934 case 23:
     1933{ KEYWORD_RETURN(BREAK); }
     1934        YY_BREAK
     1935case 24:
    19351936YY_RULE_SETUP
    19361937#line 191 "lex.ll"
    1937 { KEYWORD_RETURN(BREAK); }
    1938         YY_BREAK
    1939 case 24:
     1938{ KEYWORD_RETURN(CASE); }
     1939        YY_BREAK
     1940case 25:
    19401941YY_RULE_SETUP
    19411942#line 192 "lex.ll"
    1942 { KEYWORD_RETURN(CASE); }
    1943         YY_BREAK
    1944 case 25:
     1943{ KEYWORD_RETURN(CATCH); }                              // CFA
     1944        YY_BREAK
     1945case 26:
    19451946YY_RULE_SETUP
    19461947#line 193 "lex.ll"
    1947 { KEYWORD_RETURN(CATCH); }                              // CFA
    1948         YY_BREAK
    1949 case 26:
     1948{ KEYWORD_RETURN(CATCHRESUME); }                // CFA
     1949        YY_BREAK
     1950case 27:
    19501951YY_RULE_SETUP
    19511952#line 194 "lex.ll"
    1952 { KEYWORD_RETURN(CATCHRESUME); }                // CFA
    1953         YY_BREAK
    1954 case 27:
     1953{ KEYWORD_RETURN(CHAR); }
     1954        YY_BREAK
     1955case 28:
    19551956YY_RULE_SETUP
    19561957#line 195 "lex.ll"
    1957 { KEYWORD_RETURN(CHAR); }
    1958         YY_BREAK
    1959 case 28:
     1958{ KEYWORD_RETURN(CHOOSE); }                             // CFA
     1959        YY_BREAK
     1960case 29:
    19601961YY_RULE_SETUP
    19611962#line 196 "lex.ll"
    1962 { KEYWORD_RETURN(CHOOSE); }                             // CFA
    1963         YY_BREAK
    1964 case 29:
     1963{ KEYWORD_RETURN(COMPLEX); }                    // C99
     1964        YY_BREAK
     1965case 30:
    19651966YY_RULE_SETUP
    19661967#line 197 "lex.ll"
    1967 { KEYWORD_RETURN(COMPLEX); }                    // C99
    1968         YY_BREAK
    1969 case 30:
     1968{ KEYWORD_RETURN(COMPLEX); }                    // GCC
     1969        YY_BREAK
     1970case 31:
    19701971YY_RULE_SETUP
    19711972#line 198 "lex.ll"
    19721973{ KEYWORD_RETURN(COMPLEX); }                    // GCC
    19731974        YY_BREAK
    1974 case 31:
     1975case 32:
    19751976YY_RULE_SETUP
    19761977#line 199 "lex.ll"
    1977 { KEYWORD_RETURN(COMPLEX); }                    // GCC
    1978         YY_BREAK
    1979 case 32:
     1978{ KEYWORD_RETURN(CONST); }
     1979        YY_BREAK
     1980case 33:
    19801981YY_RULE_SETUP
    19811982#line 200 "lex.ll"
    1982 { KEYWORD_RETURN(CONST); }
    1983         YY_BREAK
    1984 case 33:
     1983{ KEYWORD_RETURN(CONST); }                              // GCC
     1984        YY_BREAK
     1985case 34:
    19851986YY_RULE_SETUP
    19861987#line 201 "lex.ll"
    19871988{ KEYWORD_RETURN(CONST); }                              // GCC
    19881989        YY_BREAK
    1989 case 34:
     1990case 35:
    19901991YY_RULE_SETUP
    19911992#line 202 "lex.ll"
    1992 { KEYWORD_RETURN(CONST); }                              // GCC
    1993         YY_BREAK
    1994 case 35:
     1993{ KEYWORD_RETURN(CONTEXT); }                    // CFA
     1994        YY_BREAK
     1995case 36:
    19951996YY_RULE_SETUP
    19961997#line 203 "lex.ll"
    1997 { KEYWORD_RETURN(CONTEXT); }                    // CFA
    1998         YY_BREAK
    1999 case 36:
     1998{ KEYWORD_RETURN(CONTINUE); }
     1999        YY_BREAK
     2000case 37:
    20002001YY_RULE_SETUP
    20012002#line 204 "lex.ll"
    2002 { KEYWORD_RETURN(CONTINUE); }
    2003         YY_BREAK
    2004 case 37:
     2003{ KEYWORD_RETURN(DEFAULT); }
     2004        YY_BREAK
     2005case 38:
    20052006YY_RULE_SETUP
    20062007#line 205 "lex.ll"
    2007 { KEYWORD_RETURN(DEFAULT); }
    2008         YY_BREAK
    2009 case 38:
     2008{ KEYWORD_RETURN(DISABLE); }                    // CFA
     2009        YY_BREAK
     2010case 39:
    20102011YY_RULE_SETUP
    20112012#line 206 "lex.ll"
    2012 { KEYWORD_RETURN(DISABLE); }                    // CFA
    2013         YY_BREAK
    2014 case 39:
     2013{ KEYWORD_RETURN(DO); }
     2014        YY_BREAK
     2015case 40:
    20152016YY_RULE_SETUP
    20162017#line 207 "lex.ll"
    2017 { KEYWORD_RETURN(DO); }
    2018         YY_BREAK
    2019 case 40:
     2018{ KEYWORD_RETURN(DOUBLE); }
     2019        YY_BREAK
     2020case 41:
    20202021YY_RULE_SETUP
    20212022#line 208 "lex.ll"
    2022 { KEYWORD_RETURN(DOUBLE); }
    2023         YY_BREAK
    2024 case 41:
     2023{ KEYWORD_RETURN(DTYPE); }                              // CFA
     2024        YY_BREAK
     2025case 42:
    20252026YY_RULE_SETUP
    20262027#line 209 "lex.ll"
    2027 { KEYWORD_RETURN(DTYPE); }                              // CFA
    2028         YY_BREAK
    2029 case 42:
     2028{ KEYWORD_RETURN(ELSE); }
     2029        YY_BREAK
     2030case 43:
    20302031YY_RULE_SETUP
    20312032#line 210 "lex.ll"
    2032 { KEYWORD_RETURN(ELSE); }
    2033         YY_BREAK
    2034 case 43:
     2033{ KEYWORD_RETURN(ENABLE); }                             // CFA
     2034        YY_BREAK
     2035case 44:
    20352036YY_RULE_SETUP
    20362037#line 211 "lex.ll"
    2037 { KEYWORD_RETURN(ENABLE); }                             // CFA
    2038         YY_BREAK
    2039 case 44:
     2038{ KEYWORD_RETURN(ENUM); }
     2039        YY_BREAK
     2040case 45:
    20402041YY_RULE_SETUP
    20412042#line 212 "lex.ll"
    2042 { KEYWORD_RETURN(ENUM); }
    2043         YY_BREAK
    2044 case 45:
     2043{ KEYWORD_RETURN(EXTENSION); }                  // GCC
     2044        YY_BREAK
     2045case 46:
    20452046YY_RULE_SETUP
    20462047#line 213 "lex.ll"
    2047 { KEYWORD_RETURN(EXTENSION); }                  // GCC
    2048         YY_BREAK
    2049 case 46:
     2048{ KEYWORD_RETURN(EXTERN); }
     2049        YY_BREAK
     2050case 47:
    20502051YY_RULE_SETUP
    20512052#line 214 "lex.ll"
    2052 { KEYWORD_RETURN(EXTERN); }
    2053         YY_BREAK
    2054 case 47:
     2053{ KEYWORD_RETURN(FALLTHRU); }                   // CFA
     2054        YY_BREAK
     2055case 48:
    20552056YY_RULE_SETUP
    20562057#line 215 "lex.ll"
    2057 { KEYWORD_RETURN(FALLTHRU); }                   // CFA
    2058         YY_BREAK
    2059 case 48:
     2058{ KEYWORD_RETURN(FINALLY); }                    // CFA
     2059        YY_BREAK
     2060case 49:
    20602061YY_RULE_SETUP
    20612062#line 216 "lex.ll"
    2062 { KEYWORD_RETURN(FINALLY); }                    // CFA
    2063         YY_BREAK
    2064 case 49:
     2063{ KEYWORD_RETURN(FLOAT); }
     2064        YY_BREAK
     2065case 50:
    20652066YY_RULE_SETUP
    20662067#line 217 "lex.ll"
    2067 { KEYWORD_RETURN(FLOAT); }
    2068         YY_BREAK
    2069 case 50:
     2068{ KEYWORD_RETURN(FLOAT); }                              // GCC
     2069        YY_BREAK
     2070case 51:
    20702071YY_RULE_SETUP
    20712072#line 218 "lex.ll"
    2072 { KEYWORD_RETURN(FLOAT); }                              // GCC
    2073         YY_BREAK
    2074 case 51:
     2073{ KEYWORD_RETURN(FOR); }
     2074        YY_BREAK
     2075case 52:
    20752076YY_RULE_SETUP
    20762077#line 219 "lex.ll"
    2077 { KEYWORD_RETURN(FOR); }
    2078         YY_BREAK
    2079 case 52:
     2078{ KEYWORD_RETURN(FORALL); }                             // CFA
     2079        YY_BREAK
     2080case 53:
    20802081YY_RULE_SETUP
    20812082#line 220 "lex.ll"
    2082 { KEYWORD_RETURN(FORALL); }                             // CFA
    2083         YY_BREAK
    2084 case 53:
     2083{ KEYWORD_RETURN(FORTRAN); }
     2084        YY_BREAK
     2085case 54:
    20852086YY_RULE_SETUP
    20862087#line 221 "lex.ll"
    2087 { KEYWORD_RETURN(FORTRAN); }
    2088         YY_BREAK
    2089 case 54:
     2088{ KEYWORD_RETURN(FTYPE); }                              // CFA
     2089        YY_BREAK
     2090case 55:
    20902091YY_RULE_SETUP
    20912092#line 222 "lex.ll"
    2092 { KEYWORD_RETURN(FTYPE); }                              // CFA
    2093         YY_BREAK
    2094 case 55:
     2093{ KEYWORD_RETURN(GENERIC); }                    // C11
     2094        YY_BREAK
     2095case 56:
    20952096YY_RULE_SETUP
    20962097#line 223 "lex.ll"
    2097 { KEYWORD_RETURN(GENERIC); }                    // C11
    2098         YY_BREAK
    2099 case 56:
     2098{ KEYWORD_RETURN(GOTO); }
     2099        YY_BREAK
     2100case 57:
    21002101YY_RULE_SETUP
    21012102#line 224 "lex.ll"
    2102 { KEYWORD_RETURN(GOTO); }
    2103         YY_BREAK
    2104 case 57:
     2103{ KEYWORD_RETURN(IF); }
     2104        YY_BREAK
     2105case 58:
    21052106YY_RULE_SETUP
    21062107#line 225 "lex.ll"
    2107 { KEYWORD_RETURN(IF); }
    2108         YY_BREAK
    2109 case 58:
     2108{ KEYWORD_RETURN(IMAGINARY); }                  // C99
     2109        YY_BREAK
     2110case 59:
    21102111YY_RULE_SETUP
    21112112#line 226 "lex.ll"
    2112 { KEYWORD_RETURN(IMAGINARY); }                  // C99
    2113         YY_BREAK
    2114 case 59:
     2113{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
     2114        YY_BREAK
     2115case 60:
    21152116YY_RULE_SETUP
    21162117#line 227 "lex.ll"
    21172118{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
    21182119        YY_BREAK
    2119 case 60:
     2120case 61:
    21202121YY_RULE_SETUP
    21212122#line 228 "lex.ll"
    2122 { KEYWORD_RETURN(IMAGINARY); }                  // GCC
    2123         YY_BREAK
    2124 case 61:
     2123{ KEYWORD_RETURN(INLINE); }                             // C99
     2124        YY_BREAK
     2125case 62:
    21252126YY_RULE_SETUP
    21262127#line 229 "lex.ll"
    2127 { KEYWORD_RETURN(INLINE); }                             // C99
    2128         YY_BREAK
    2129 case 62:
     2128{ KEYWORD_RETURN(INLINE); }                             // GCC
     2129        YY_BREAK
     2130case 63:
    21302131YY_RULE_SETUP
    21312132#line 230 "lex.ll"
    21322133{ KEYWORD_RETURN(INLINE); }                             // GCC
    21332134        YY_BREAK
    2134 case 63:
     2135case 64:
    21352136YY_RULE_SETUP
    21362137#line 231 "lex.ll"
    2137 { KEYWORD_RETURN(INLINE); }                             // GCC
    2138         YY_BREAK
    2139 case 64:
     2138{ KEYWORD_RETURN(INT); }
     2139        YY_BREAK
     2140case 65:
    21402141YY_RULE_SETUP
    21412142#line 232 "lex.ll"
    2142 { KEYWORD_RETURN(INT); }
    2143         YY_BREAK
    2144 case 65:
     2143{ KEYWORD_RETURN(INT); }                                // GCC
     2144        YY_BREAK
     2145case 66:
    21452146YY_RULE_SETUP
    21462147#line 233 "lex.ll"
    2147 { KEYWORD_RETURN(INT); }                                // GCC
    2148         YY_BREAK
    2149 case 66:
     2148{ KEYWORD_RETURN(LABEL); }                              // GCC
     2149        YY_BREAK
     2150case 67:
    21502151YY_RULE_SETUP
    21512152#line 234 "lex.ll"
    2152 { KEYWORD_RETURN(LABEL); }                              // GCC
    2153         YY_BREAK
    2154 case 67:
     2153{ KEYWORD_RETURN(LONG); }
     2154        YY_BREAK
     2155case 68:
    21552156YY_RULE_SETUP
    21562157#line 235 "lex.ll"
    2157 { KEYWORD_RETURN(LONG); }
    2158         YY_BREAK
    2159 case 68:
     2158{ KEYWORD_RETURN(LVALUE); }                             // CFA
     2159        YY_BREAK
     2160case 69:
    21602161YY_RULE_SETUP
    21612162#line 236 "lex.ll"
    2162 { KEYWORD_RETURN(LVALUE); }                             // CFA
    2163         YY_BREAK
    2164 case 69:
     2163{ KEYWORD_RETURN(NORETURN); }                   // C11
     2164        YY_BREAK
     2165case 70:
    21652166YY_RULE_SETUP
    21662167#line 237 "lex.ll"
    2167 { KEYWORD_RETURN(NORETURN); }                   // C11
    2168         YY_BREAK
    2169 case 70:
     2168{ KEYWORD_RETURN(REGISTER); }
     2169        YY_BREAK
     2170case 71:
    21702171YY_RULE_SETUP
    21712172#line 238 "lex.ll"
    2172 { KEYWORD_RETURN(REGISTER); }
    2173         YY_BREAK
    2174 case 71:
     2173{ KEYWORD_RETURN(RESTRICT); }                   // C99
     2174        YY_BREAK
     2175case 72:
    21752176YY_RULE_SETUP
    21762177#line 239 "lex.ll"
    2177 { KEYWORD_RETURN(RESTRICT); }                   // C99
    2178         YY_BREAK
    2179 case 72:
     2178{ KEYWORD_RETURN(RESTRICT); }                   // GCC
     2179        YY_BREAK
     2180case 73:
    21802181YY_RULE_SETUP
    21812182#line 240 "lex.ll"
    21822183{ KEYWORD_RETURN(RESTRICT); }                   // GCC
    21832184        YY_BREAK
    2184 case 73:
     2185case 74:
    21852186YY_RULE_SETUP
    21862187#line 241 "lex.ll"
    2187 { KEYWORD_RETURN(RESTRICT); }                   // GCC
    2188         YY_BREAK
    2189 case 74:
     2188{ KEYWORD_RETURN(RETURN); }
     2189        YY_BREAK
     2190case 75:
    21902191YY_RULE_SETUP
    21912192#line 242 "lex.ll"
    2192 { KEYWORD_RETURN(RETURN); }
    2193         YY_BREAK
    2194 case 75:
     2193{ KEYWORD_RETURN(SHORT); }
     2194        YY_BREAK
     2195case 76:
    21952196YY_RULE_SETUP
    21962197#line 243 "lex.ll"
    2197 { KEYWORD_RETURN(SHORT); }
    2198         YY_BREAK
    2199 case 76:
     2198{ KEYWORD_RETURN(SIGNED); }
     2199        YY_BREAK
     2200case 77:
    22002201YY_RULE_SETUP
    22012202#line 244 "lex.ll"
    2202 { KEYWORD_RETURN(SIGNED); }
    2203         YY_BREAK
    2204 case 77:
     2203{ KEYWORD_RETURN(SIGNED); }                             // GCC
     2204        YY_BREAK
     2205case 78:
    22052206YY_RULE_SETUP
    22062207#line 245 "lex.ll"
    22072208{ KEYWORD_RETURN(SIGNED); }                             // GCC
    22082209        YY_BREAK
    2209 case 78:
     2210case 79:
    22102211YY_RULE_SETUP
    22112212#line 246 "lex.ll"
    2212 { KEYWORD_RETURN(SIGNED); }                             // GCC
    2213         YY_BREAK
    2214 case 79:
     2213{ KEYWORD_RETURN(SIZEOF); }
     2214        YY_BREAK
     2215case 80:
    22152216YY_RULE_SETUP
    22162217#line 247 "lex.ll"
    2217 { KEYWORD_RETURN(SIZEOF); }
    2218         YY_BREAK
    2219 case 80:
     2218{ KEYWORD_RETURN(STATIC); }
     2219        YY_BREAK
     2220case 81:
    22202221YY_RULE_SETUP
    22212222#line 248 "lex.ll"
    2222 { KEYWORD_RETURN(STATIC); }
    2223         YY_BREAK
    2224 case 81:
     2223{ KEYWORD_RETURN(STATICASSERT); }               // C11
     2224        YY_BREAK
     2225case 82:
    22252226YY_RULE_SETUP
    22262227#line 249 "lex.ll"
    2227 { KEYWORD_RETURN(STATICASSERT); }               // C11
    2228         YY_BREAK
    2229 case 82:
     2228{ KEYWORD_RETURN(STRUCT); }
     2229        YY_BREAK
     2230case 83:
    22302231YY_RULE_SETUP
    22312232#line 250 "lex.ll"
    2232 { KEYWORD_RETURN(STRUCT); }
    2233         YY_BREAK
    2234 case 83:
     2233{ KEYWORD_RETURN(SWITCH); }
     2234        YY_BREAK
     2235case 84:
    22352236YY_RULE_SETUP
    22362237#line 251 "lex.ll"
    2237 { KEYWORD_RETURN(SWITCH); }
    2238         YY_BREAK
    2239 case 84:
     2238{ KEYWORD_RETURN(THREADLOCAL); }                // C11
     2239        YY_BREAK
     2240case 85:
    22402241YY_RULE_SETUP
    22412242#line 252 "lex.ll"
    2242 { KEYWORD_RETURN(THREADLOCAL); }                // C11
    2243         YY_BREAK
    2244 case 85:
     2243{ KEYWORD_RETURN(THROW); }                              // CFA
     2244        YY_BREAK
     2245case 86:
    22452246YY_RULE_SETUP
    22462247#line 253 "lex.ll"
    2247 { KEYWORD_RETURN(THROW); }                              // CFA
    2248         YY_BREAK
    2249 case 86:
     2248{ KEYWORD_RETURN(THROWRESUME); }                // CFA
     2249        YY_BREAK
     2250case 87:
    22502251YY_RULE_SETUP
    22512252#line 254 "lex.ll"
    2252 { KEYWORD_RETURN(THROWRESUME); }                // CFA
    2253         YY_BREAK
    2254 case 87:
     2253{ KEYWORD_RETURN(TRY); }                                // CFA
     2254        YY_BREAK
     2255case 88:
    22552256YY_RULE_SETUP
    22562257#line 255 "lex.ll"
    2257 { KEYWORD_RETURN(TRY); }                                // CFA
    2258         YY_BREAK
    2259 case 88:
     2258{ KEYWORD_RETURN(TYPE); }                               // CFA
     2259        YY_BREAK
     2260case 89:
    22602261YY_RULE_SETUP
    22612262#line 256 "lex.ll"
    2262 { KEYWORD_RETURN(TYPE); }                               // CFA
    2263         YY_BREAK
    2264 case 89:
     2263{ KEYWORD_RETURN(TYPEDEF); }
     2264        YY_BREAK
     2265case 90:
    22652266YY_RULE_SETUP
    22662267#line 257 "lex.ll"
    2267 { KEYWORD_RETURN(TYPEDEF); }
    2268         YY_BREAK
    2269 case 90:
     2268{ KEYWORD_RETURN(TYPEOF); }                             // GCC
     2269        YY_BREAK
     2270case 91:
    22702271YY_RULE_SETUP
    22712272#line 258 "lex.ll"
    22722273{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    22732274        YY_BREAK
    2274 case 91:
     2275case 92:
    22752276YY_RULE_SETUP
    22762277#line 259 "lex.ll"
    22772278{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    22782279        YY_BREAK
    2279 case 92:
     2280case 93:
    22802281YY_RULE_SETUP
    22812282#line 260 "lex.ll"
    2282 { KEYWORD_RETURN(TYPEOF); }                             // GCC
    2283         YY_BREAK
    2284 case 93:
     2283{ KEYWORD_RETURN(UNION); }
     2284        YY_BREAK
     2285case 94:
    22852286YY_RULE_SETUP
    22862287#line 261 "lex.ll"
    2287 { KEYWORD_RETURN(UNION); }
    2288         YY_BREAK
    2289 case 94:
     2288{ KEYWORD_RETURN(UNSIGNED); }
     2289        YY_BREAK
     2290case 95:
    22902291YY_RULE_SETUP
    22912292#line 262 "lex.ll"
    2292 { KEYWORD_RETURN(UNSIGNED); }
    2293         YY_BREAK
    2294 case 95:
     2293{ KEYWORD_RETURN(VOID); }
     2294        YY_BREAK
     2295case 96:
    22952296YY_RULE_SETUP
    22962297#line 263 "lex.ll"
    2297 { KEYWORD_RETURN(VOID); }
    2298         YY_BREAK
    2299 case 96:
     2298{ KEYWORD_RETURN(VOLATILE); }
     2299        YY_BREAK
     2300case 97:
    23002301YY_RULE_SETUP
    23012302#line 264 "lex.ll"
    2302 { KEYWORD_RETURN(VOLATILE); }
    2303         YY_BREAK
    2304 case 97:
     2303{ KEYWORD_RETURN(VOLATILE); }                   // GCC
     2304        YY_BREAK
     2305case 98:
    23052306YY_RULE_SETUP
    23062307#line 265 "lex.ll"
    23072308{ KEYWORD_RETURN(VOLATILE); }                   // GCC
    23082309        YY_BREAK
    2309 case 98:
     2310case 99:
    23102311YY_RULE_SETUP
    23112312#line 266 "lex.ll"
    2312 { KEYWORD_RETURN(VOLATILE); }                   // GCC
    2313         YY_BREAK
    2314 case 99:
    2315 YY_RULE_SETUP
    2316 #line 267 "lex.ll"
    23172313{ KEYWORD_RETURN(WHILE); }
    23182314        YY_BREAK
     
    23202316case 100:
    23212317YY_RULE_SETUP
     2318#line 269 "lex.ll"
     2319{ IDENTIFIER_RETURN(); }
     2320        YY_BREAK
     2321case 101:
     2322YY_RULE_SETUP
    23222323#line 270 "lex.ll"
     2324{ ATTRIBUTE_RETURN(); }
     2325        YY_BREAK
     2326case 102:
     2327YY_RULE_SETUP
     2328#line 271 "lex.ll"
     2329{ BEGIN BKQUOTE; }
     2330        YY_BREAK
     2331case 103:
     2332YY_RULE_SETUP
     2333#line 272 "lex.ll"
    23232334{ IDENTIFIER_RETURN(); }
    23242335        YY_BREAK
    2325 case 101:
    2326 YY_RULE_SETUP
    2327 #line 271 "lex.ll"
    2328 { ATTRIBUTE_RETURN(); }
    2329         YY_BREAK
    2330 case 102:
    2331 YY_RULE_SETUP
    2332 #line 272 "lex.ll"
    2333 { BEGIN BKQUOTE; }
    2334         YY_BREAK
    2335 case 103:
     2336case 104:
    23362337YY_RULE_SETUP
    23372338#line 273 "lex.ll"
    2338 { IDENTIFIER_RETURN(); }
    2339         YY_BREAK
    2340 case 104:
    2341 YY_RULE_SETUP
    2342 #line 274 "lex.ll"
    23432339{ BEGIN 0; }
    23442340        YY_BREAK
     
    23462342case 105:
    23472343YY_RULE_SETUP
     2344#line 276 "lex.ll"
     2345{ NUMERIC_RETURN(ZERO); }                               // CFA
     2346        YY_BREAK
     2347case 106:
     2348YY_RULE_SETUP
    23482349#line 277 "lex.ll"
    2349 { NUMERIC_RETURN(ZERO); }                               // CFA
    2350         YY_BREAK
    2351 case 106:
     2350{ NUMERIC_RETURN(ONE); }                                // CFA
     2351        YY_BREAK
     2352case 107:
    23522353YY_RULE_SETUP
    23532354#line 278 "lex.ll"
    2354 { NUMERIC_RETURN(ONE); }                                // CFA
    2355         YY_BREAK
    2356 case 107:
     2355{ NUMERIC_RETURN(INTEGERconstant); }
     2356        YY_BREAK
     2357case 108:
    23572358YY_RULE_SETUP
    23582359#line 279 "lex.ll"
    23592360{ NUMERIC_RETURN(INTEGERconstant); }
    23602361        YY_BREAK
    2361 case 108:
     2362case 109:
    23622363YY_RULE_SETUP
    23632364#line 280 "lex.ll"
    23642365{ NUMERIC_RETURN(INTEGERconstant); }
    23652366        YY_BREAK
    2366 case 109:
     2367case 110:
    23672368YY_RULE_SETUP
    23682369#line 281 "lex.ll"
    2369 { NUMERIC_RETURN(INTEGERconstant); }
    2370         YY_BREAK
    2371 case 110:
     2370{ NUMERIC_RETURN(FLOATINGconstant); }
     2371        YY_BREAK
     2372case 111:
    23722373YY_RULE_SETUP
    23732374#line 282 "lex.ll"
    23742375{ NUMERIC_RETURN(FLOATINGconstant); }
    23752376        YY_BREAK
    2376 case 111:
    2377 YY_RULE_SETUP
    2378 #line 283 "lex.ll"
    2379 { NUMERIC_RETURN(FLOATINGconstant); }
    2380         YY_BREAK
    23812377/* character constant, allows empty value */
    23822378case 112:
    23832379YY_RULE_SETUP
     2380#line 285 "lex.ll"
     2381{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
     2382        YY_BREAK
     2383case 113:
     2384YY_RULE_SETUP
    23842385#line 286 "lex.ll"
    2385 { BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    2386         YY_BREAK
    2387 case 113:
    2388 YY_RULE_SETUP
    2389 #line 287 "lex.ll"
    23902386{ *strtext += std::string( yytext ); }
    23912387        YY_BREAK
     
    23932389/* rule 114 can match eol */
    23942390YY_RULE_SETUP
    2395 #line 288 "lex.ll"
     2391#line 287 "lex.ll"
    23962392{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
    23972393        YY_BREAK
     
    24002396case 115:
    24012397YY_RULE_SETUP
     2398#line 291 "lex.ll"
     2399{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
     2400        YY_BREAK
     2401case 116:
     2402YY_RULE_SETUP
    24022403#line 292 "lex.ll"
    2403 { BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    2404         YY_BREAK
    2405 case 116:
    2406 YY_RULE_SETUP
    2407 #line 293 "lex.ll"
    24082404{ *strtext += std::string( yytext ); }
    24092405        YY_BREAK
     
    24112407/* rule 117 can match eol */
    24122408YY_RULE_SETUP
    2413 #line 294 "lex.ll"
     2409#line 293 "lex.ll"
    24142410{ BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }
    24152411        YY_BREAK
     
    24182414case 118:
    24192415YY_RULE_SETUP
    2420 #line 298 "lex.ll"
     2416#line 297 "lex.ll"
    24212417{ rm_underscore(); *strtext += std::string( yytext ); }
    24222418        YY_BREAK
     
    24242420/* rule 119 can match eol */
    24252421YY_RULE_SETUP
     2422#line 298 "lex.ll"
     2423{}                                              // continuation (ALSO HANDLED BY CPP)
     2424        YY_BREAK
     2425case 120:
     2426YY_RULE_SETUP
    24262427#line 299 "lex.ll"
    2427 {}                                              // continuation (ALSO HANDLED BY CPP)
    2428         YY_BREAK
    2429 case 120:
    2430 YY_RULE_SETUP
    2431 #line 300 "lex.ll"
    24322428{ *strtext += std::string( yytext ); } // unknown escape character
    24332429        YY_BREAK
     
    24352431case 121:
    24362432YY_RULE_SETUP
     2433#line 302 "lex.ll"
     2434{ ASCIIOP_RETURN(); }
     2435        YY_BREAK
     2436case 122:
     2437YY_RULE_SETUP
    24372438#line 303 "lex.ll"
    24382439{ ASCIIOP_RETURN(); }
    24392440        YY_BREAK
    2440 case 122:
     2441case 123:
    24412442YY_RULE_SETUP
    24422443#line 304 "lex.ll"
    24432444{ ASCIIOP_RETURN(); }
    24442445        YY_BREAK
    2445 case 123:
     2446case 124:
    24462447YY_RULE_SETUP
    24472448#line 305 "lex.ll"
    24482449{ ASCIIOP_RETURN(); }
    24492450        YY_BREAK
    2450 case 124:
     2451case 125:
    24512452YY_RULE_SETUP
    24522453#line 306 "lex.ll"
    24532454{ ASCIIOP_RETURN(); }
    24542455        YY_BREAK
    2455 case 125:
     2456case 126:
    24562457YY_RULE_SETUP
    24572458#line 307 "lex.ll"
    24582459{ ASCIIOP_RETURN(); }
    24592460        YY_BREAK
    2460 case 126:
     2461case 127:
    24612462YY_RULE_SETUP
    24622463#line 308 "lex.ll"
     2464{ ASCIIOP_RETURN(); }                                   // also operator
     2465        YY_BREAK
     2466case 128:
     2467YY_RULE_SETUP
     2468#line 309 "lex.ll"
    24632469{ ASCIIOP_RETURN(); }
    24642470        YY_BREAK
    2465 case 127:
    2466 YY_RULE_SETUP
    2467 #line 309 "lex.ll"
    2468 { ASCIIOP_RETURN(); }                                   // also operator
    2469         YY_BREAK
    2470 case 128:
     2471case 129:
    24712472YY_RULE_SETUP
    24722473#line 310 "lex.ll"
    24732474{ ASCIIOP_RETURN(); }
    24742475        YY_BREAK
    2475 case 129:
     2476case 130:
    24762477YY_RULE_SETUP
    24772478#line 311 "lex.ll"
    2478 { ASCIIOP_RETURN(); }
    2479         YY_BREAK
    2480 case 130:
     2479{ ASCIIOP_RETURN(); }                                   // also operator
     2480        YY_BREAK
     2481case 131:
    24812482YY_RULE_SETUP
    24822483#line 312 "lex.ll"
    2483 { ASCIIOP_RETURN(); }                                   // also operator
    2484         YY_BREAK
    2485 case 131:
    2486 YY_RULE_SETUP
    2487 #line 313 "lex.ll"
    24882484{ NAMEDOP_RETURN(ELLIPSIS); }
    24892485        YY_BREAK
     
    24912487case 132:
    24922488YY_RULE_SETUP
     2489#line 315 "lex.ll"
     2490{ RETURN_VAL('['); }
     2491        YY_BREAK
     2492case 133:
     2493YY_RULE_SETUP
    24932494#line 316 "lex.ll"
    2494 { RETURN_VAL('['); }
    2495         YY_BREAK
    2496 case 133:
     2495{ RETURN_VAL(']'); }
     2496        YY_BREAK
     2497case 134:
    24972498YY_RULE_SETUP
    24982499#line 317 "lex.ll"
    2499 { RETURN_VAL(']'); }
    2500         YY_BREAK
    2501 case 134:
     2500{ RETURN_VAL('{'); }
     2501        YY_BREAK
     2502case 135:
    25022503YY_RULE_SETUP
    25032504#line 318 "lex.ll"
    2504 { RETURN_VAL('{'); }
    2505         YY_BREAK
    2506 case 135:
    2507 YY_RULE_SETUP
    2508 #line 319 "lex.ll"
    25092505{ RETURN_VAL('}'); }
    25102506        YY_BREAK
     
    25122508case 136:
    25132509YY_RULE_SETUP
     2510#line 321 "lex.ll"
     2511{ ASCIIOP_RETURN(); }
     2512        YY_BREAK
     2513case 137:
     2514YY_RULE_SETUP
    25142515#line 322 "lex.ll"
    25152516{ ASCIIOP_RETURN(); }
    25162517        YY_BREAK
    2517 case 137:
     2518case 138:
    25182519YY_RULE_SETUP
    25192520#line 323 "lex.ll"
    25202521{ ASCIIOP_RETURN(); }
    25212522        YY_BREAK
    2522 case 138:
     2523case 139:
    25232524YY_RULE_SETUP
    25242525#line 324 "lex.ll"
    25252526{ ASCIIOP_RETURN(); }
    25262527        YY_BREAK
    2527 case 139:
     2528case 140:
    25282529YY_RULE_SETUP
    25292530#line 325 "lex.ll"
    25302531{ ASCIIOP_RETURN(); }
    25312532        YY_BREAK
    2532 case 140:
     2533case 141:
    25332534YY_RULE_SETUP
    25342535#line 326 "lex.ll"
    25352536{ ASCIIOP_RETURN(); }
    25362537        YY_BREAK
    2537 case 141:
     2538case 142:
    25382539YY_RULE_SETUP
    25392540#line 327 "lex.ll"
    25402541{ ASCIIOP_RETURN(); }
    25412542        YY_BREAK
    2542 case 142:
     2543case 143:
    25432544YY_RULE_SETUP
    25442545#line 328 "lex.ll"
    25452546{ ASCIIOP_RETURN(); }
    25462547        YY_BREAK
    2547 case 143:
     2548case 144:
    25482549YY_RULE_SETUP
    25492550#line 329 "lex.ll"
    25502551{ ASCIIOP_RETURN(); }
    25512552        YY_BREAK
    2552 case 144:
     2553case 145:
    25532554YY_RULE_SETUP
    25542555#line 330 "lex.ll"
    25552556{ ASCIIOP_RETURN(); }
    25562557        YY_BREAK
    2557 case 145:
     2558case 146:
    25582559YY_RULE_SETUP
    25592560#line 331 "lex.ll"
    25602561{ ASCIIOP_RETURN(); }
    25612562        YY_BREAK
    2562 case 146:
     2563case 147:
    25632564YY_RULE_SETUP
    25642565#line 332 "lex.ll"
    25652566{ ASCIIOP_RETURN(); }
    25662567        YY_BREAK
    2567 case 147:
     2568case 148:
    25682569YY_RULE_SETUP
    25692570#line 333 "lex.ll"
    25702571{ ASCIIOP_RETURN(); }
    25712572        YY_BREAK
    2572 case 148:
     2573case 149:
    25732574YY_RULE_SETUP
    25742575#line 334 "lex.ll"
    25752576{ ASCIIOP_RETURN(); }
    25762577        YY_BREAK
    2577 case 149:
    2578 YY_RULE_SETUP
    2579 #line 335 "lex.ll"
    2580 { ASCIIOP_RETURN(); }
    2581         YY_BREAK
    25822578case 150:
    25832579YY_RULE_SETUP
     2580#line 336 "lex.ll"
     2581{ NAMEDOP_RETURN(ICR); }
     2582        YY_BREAK
     2583case 151:
     2584YY_RULE_SETUP
    25842585#line 337 "lex.ll"
    2585 { NAMEDOP_RETURN(ICR); }
    2586         YY_BREAK
    2587 case 151:
     2586{ NAMEDOP_RETURN(DECR); }
     2587        YY_BREAK
     2588case 152:
    25882589YY_RULE_SETUP
    25892590#line 338 "lex.ll"
    2590 { NAMEDOP_RETURN(DECR); }
    2591         YY_BREAK
    2592 case 152:
     2591{ NAMEDOP_RETURN(EQ); }
     2592        YY_BREAK
     2593case 153:
    25932594YY_RULE_SETUP
    25942595#line 339 "lex.ll"
    2595 { NAMEDOP_RETURN(EQ); }
    2596         YY_BREAK
    2597 case 153:
     2596{ NAMEDOP_RETURN(NE); }
     2597        YY_BREAK
     2598case 154:
    25982599YY_RULE_SETUP
    25992600#line 340 "lex.ll"
    2600 { NAMEDOP_RETURN(NE); }
    2601         YY_BREAK
    2602 case 154:
     2601{ NAMEDOP_RETURN(LS); }
     2602        YY_BREAK
     2603case 155:
    26032604YY_RULE_SETUP
    26042605#line 341 "lex.ll"
    2605 { NAMEDOP_RETURN(LS); }
    2606         YY_BREAK
    2607 case 155:
     2606{ NAMEDOP_RETURN(RS); }
     2607        YY_BREAK
     2608case 156:
    26082609YY_RULE_SETUP
    26092610#line 342 "lex.ll"
    2610 { NAMEDOP_RETURN(RS); }
    2611         YY_BREAK
    2612 case 156:
     2611{ NAMEDOP_RETURN(LE); }
     2612        YY_BREAK
     2613case 157:
    26132614YY_RULE_SETUP
    26142615#line 343 "lex.ll"
    2615 { NAMEDOP_RETURN(LE); }
    2616         YY_BREAK
    2617 case 157:
     2616{ NAMEDOP_RETURN(GE); }
     2617        YY_BREAK
     2618case 158:
    26182619YY_RULE_SETUP
    26192620#line 344 "lex.ll"
    2620 { NAMEDOP_RETURN(GE); }
    2621         YY_BREAK
    2622 case 158:
     2621{ NAMEDOP_RETURN(ANDAND); }
     2622        YY_BREAK
     2623case 159:
    26232624YY_RULE_SETUP
    26242625#line 345 "lex.ll"
    2625 { NAMEDOP_RETURN(ANDAND); }
    2626         YY_BREAK
    2627 case 159:
     2626{ NAMEDOP_RETURN(OROR); }
     2627        YY_BREAK
     2628case 160:
    26282629YY_RULE_SETUP
    26292630#line 346 "lex.ll"
    2630 { NAMEDOP_RETURN(OROR); }
    2631         YY_BREAK
    2632 case 160:
     2631{ NAMEDOP_RETURN(ARROW); }
     2632        YY_BREAK
     2633case 161:
    26332634YY_RULE_SETUP
    26342635#line 347 "lex.ll"
    2635 { NAMEDOP_RETURN(ARROW); }
    2636         YY_BREAK
    2637 case 161:
     2636{ NAMEDOP_RETURN(PLUSassign); }
     2637        YY_BREAK
     2638case 162:
    26382639YY_RULE_SETUP
    26392640#line 348 "lex.ll"
    2640 { NAMEDOP_RETURN(PLUSassign); }
    2641         YY_BREAK
    2642 case 162:
     2641{ NAMEDOP_RETURN(MINUSassign); }
     2642        YY_BREAK
     2643case 163:
    26432644YY_RULE_SETUP
    26442645#line 349 "lex.ll"
    2645 { NAMEDOP_RETURN(MINUSassign); }
    2646         YY_BREAK
    2647 case 163:
     2646{ NAMEDOP_RETURN(MULTassign); }
     2647        YY_BREAK
     2648case 164:
    26482649YY_RULE_SETUP
    26492650#line 350 "lex.ll"
    2650 { NAMEDOP_RETURN(MULTassign); }
    2651         YY_BREAK
    2652 case 164:
     2651{ NAMEDOP_RETURN(DIVassign); }
     2652        YY_BREAK
     2653case 165:
    26532654YY_RULE_SETUP
    26542655#line 351 "lex.ll"
    2655 { NAMEDOP_RETURN(DIVassign); }
    2656         YY_BREAK
    2657 case 165:
     2656{ NAMEDOP_RETURN(MODassign); }
     2657        YY_BREAK
     2658case 166:
    26582659YY_RULE_SETUP
    26592660#line 352 "lex.ll"
    2660 { NAMEDOP_RETURN(MODassign); }
    2661         YY_BREAK
    2662 case 166:
     2661{ NAMEDOP_RETURN(ANDassign); }
     2662        YY_BREAK
     2663case 167:
    26632664YY_RULE_SETUP
    26642665#line 353 "lex.ll"
    2665 { NAMEDOP_RETURN(ANDassign); }
    2666         YY_BREAK
    2667 case 167:
     2666{ NAMEDOP_RETURN(ORassign); }
     2667        YY_BREAK
     2668case 168:
    26682669YY_RULE_SETUP
    26692670#line 354 "lex.ll"
    2670 { NAMEDOP_RETURN(ORassign); }
    2671         YY_BREAK
    2672 case 168:
     2671{ NAMEDOP_RETURN(ERassign); }
     2672        YY_BREAK
     2673case 169:
    26732674YY_RULE_SETUP
    26742675#line 355 "lex.ll"
    2675 { NAMEDOP_RETURN(ERassign); }
    2676         YY_BREAK
    2677 case 169:
     2676{ NAMEDOP_RETURN(LSassign); }
     2677        YY_BREAK
     2678case 170:
    26782679YY_RULE_SETUP
    26792680#line 356 "lex.ll"
    2680 { NAMEDOP_RETURN(LSassign); }
    2681         YY_BREAK
    2682 case 170:
    2683 YY_RULE_SETUP
    2684 #line 357 "lex.ll"
    26852681{ NAMEDOP_RETURN(RSassign); }
    26862682        YY_BREAK
    26872683case 171:
    26882684YY_RULE_SETUP
    2689 #line 359 "lex.ll"
     2685#line 358 "lex.ll"
    26902686{ NAMEDOP_RETURN(ATassign); }
    26912687        YY_BREAK
     
    26932689case 172:
    26942690YY_RULE_SETUP
     2691#line 361 "lex.ll"
     2692{ IDENTIFIER_RETURN(); }                                // unary
     2693        YY_BREAK
     2694case 173:
     2695YY_RULE_SETUP
    26952696#line 362 "lex.ll"
    2696 { IDENTIFIER_RETURN(); }                                // unary
    2697         YY_BREAK
    2698 case 173:
     2697{ IDENTIFIER_RETURN(); }
     2698        YY_BREAK
     2699case 174:
    26992700YY_RULE_SETUP
    27002701#line 363 "lex.ll"
    27012702{ IDENTIFIER_RETURN(); }
    27022703        YY_BREAK
    2703 case 174:
     2704case 175:
    27042705YY_RULE_SETUP
    27052706#line 364 "lex.ll"
    2706 { IDENTIFIER_RETURN(); }
    2707         YY_BREAK
    2708 case 175:
    2709 YY_RULE_SETUP
    2710 #line 365 "lex.ll"
    27112707{ IDENTIFIER_RETURN(); }                // binary
    27122708        YY_BREAK
     
    27392735case 176:
    27402736YY_RULE_SETUP
    2741 #line 392 "lex.ll"
     2737#line 391 "lex.ll"
    27422738{
    27432739        // 1 or 2 character unary operator ?
     
    27542750case 177:
    27552751YY_RULE_SETUP
    2756 #line 404 "lex.ll"
     2752#line 403 "lex.ll"
    27572753{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    27582754        YY_BREAK
    27592755case 178:
    27602756YY_RULE_SETUP
    2761 #line 406 "lex.ll"
     2757#line 405 "lex.ll"
    27622758ECHO;
    27632759        YY_BREAK
    2764 #line 2765 "Parser/lex.cc"
     2760#line 2761 "Parser/lex.cc"
    27652761case YY_STATE_EOF(INITIAL):
    27662762case YY_STATE_EOF(COMMENT):
     
    30593055                        {
    30603056                        yy_current_state = (int) yy_def[yy_current_state];
    3061                         if ( yy_current_state >= 862 )
     3057                        if ( yy_current_state >= 852 )
    30623058                                yy_c = yy_meta[(unsigned int) yy_c];
    30633059                        }
     
    30873083                {
    30883084                yy_current_state = (int) yy_def[yy_current_state];
    3089                 if ( yy_current_state >= 862 )
     3085                if ( yy_current_state >= 852 )
    30903086                        yy_c = yy_meta[(unsigned int) yy_c];
    30913087                }
    30923088        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3093         yy_is_jam = (yy_current_state == 861);
     3089        yy_is_jam = (yy_current_state == 851);
    30943090
    30953091        return yy_is_jam ? 0 : yy_current_state;
     
    37373733#define YYTABLES_NAME "yytables"
    37383734
    3739 #line 406 "lex.ll"
     3735#line 405 "lex.ll"
    37403736
    37413737
Note: See TracChangeset for help on using the changeset viewer.