Changeset 36ebd03 for src/Parser/lex.cc


Ignore:
Timestamp:
Mar 3, 2016, 1:28:56 PM (10 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
3627356
Parents:
9d7b3ea (diff), 4040425 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    r9d7b3ea r36ebd03  
    382382        (yy_c_buf_p) = yy_cp;
    383383
    384 #define YY_NUM_RULES 179
    385 #define YY_END_OF_BUFFER 180
     384#define YY_NUM_RULES 180
     385#define YY_END_OF_BUFFER 181
    386386/* This struct is not used in this scanner,
    387387   but its presence is necessary. */
     
    391391        flex_int32_t yy_nxt;
    392392        };
    393 static yyconst flex_int16_t yy_accept[876] =
     393static yyconst flex_int16_t yy_accept[888] =
    394394    {   0,
    395         0,    0,    0,    0,    0,    0,  114,  114,  117,  117,
    396       180,  178,    7,    9,    8,  137,  116,  101,  142,  145,
    397       113,  124,  125,  140,  138,  128,  139,  131,  141,  106,
    398       107,  108,  129,  130,  147,  149,  148,  150,  178,  101,
    399       122,  178,  123,  143,  101,  103,  101,  101,  101,  101,
    400       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    401       101,  126,  146,  127,  144,    7,  178,    4,    4,  179,
    402       104,  179,  105,  114,  115,  121,  117,  118,    7,    9,
    403         0,    8,  154,  173,  101,    0,  166,  136,  159,  167,
    404       164,  151,  162,  152,  163,  161,    0,  111,    3,    0,
    405 
    406       165,  111,  109,    0,    0,  109,  109,    0,    0,  109,
    407       108,  108,  108,    0,  108,  134,  135,  133,  155,  157,
    408       153,  158,  156,    0,    0,    0,    0,    0,    0,    0,
    409         0,    0,    0,    0,    0,    0,    0,    0,  102,  172,
    410         0,  116,  113,  101,    0,    0,  169,    0,  101,  101,
    411       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    412       101,  101,  101,  101,  101,   39,  101,  101,  101,  101,
    413       101,  101,  101,  101,  101,  101,   57,  101,  101,  101,
    414       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    415       101,  101,  168,  160,    7,    0,    0,    0,    2,    0,
    416 
    417         5,  104,    0,    0,    0,  114,    0,  120,  119,  119,
    418         0,    0,    0,  117,    0,    0,    0,    0,    0,    0,
    419         0,    0,    0,    0,    0,    0,    0,    0,    0,  132,
    420       111,  111,    0,  111,  111,  111,    0,    6,  111,  109,
    421         0,    0,    0,  111,    0,  109,  109,  109,  109,    0,
    422       110,    0,    0,  108,  108,  108,  108,    0,  170,  171,
    423         0,  176,  174,    0,    0,    0,  102,    0,    0,    0,
    424         0,    0,    0,    0,    0,  101,   17,  101,  101,  101,
    425       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    426       101,  101,  101,  101,  101,   14,  101,  101,  101,  101,
    427 
    428       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    429       101,  101,  101,  101,   51,  101,  101,  101,   64,  101,
    430       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    431       101,   88,  101,  101,  101,  101,  101,  101,  101,    0,
    432         0,    0,    0,    0,    0,    0,    0,  119,    0,    0,
    433         0,    0,    0,  119,    0,    0,  177,    0,    0,    0,
    434         0,    0,    0,    0,  111,    0,  111,    0,  111,    0,
    435         0,  111,  111,  109,  109,    0,    0,  110,  110,    0,
    436       110,    0,  110,  108,  108,    0,    0,    0,    0,    0,
    437         0,    0,    0,    0,    0,  175,  101,  101,  101,  101,
    438 
    439       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    440       101,  101,  101,  101,  101,  101,  101,  101,  101,   21,
    441       101,   24,  101,   27,  101,  101,  101,  101,  101,  101,
    442       101,   42,  101,   44,  101,  101,  101,  101,  101,  101,
    443       101,   56,  101,   67,  101,  101,  101,  101,  101,  101,
    444       101,  101,  101,  101,  101,   89,  101,  101,   96,  101,
    445       101,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    446         0,    0,    0,    0,    0,  119,    0,    0,    0,    0,
    447         0,  111,  111,    0,    0,    0,    0,    0,  110,  110,
    448         0,  112,    0,  110,  110,    0,    0,    0,    0,    0,
    449 
    450         0,    0,    0,    0,    0,    0,    0,    0,  101,  101,
    451        22,  101,  101,  101,  101,  101,  101,  101,   15,  101,
    452       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    453       101,  101,  101,   23,   25,  101,   32,  101,  101,  101,
    454       101,  101,   41,  101,  101,  101,  101,   49,  101,  101,
    455        54,  101,  101,  101,  101,  101,   76,  101,  101,  101,
    456       101,  101,   86,  101,  101,   94,  101,  101,  100,    0,
     395        0,    0,    0,    0,    0,    0,  115,  115,  118,  118,
     396      181,  179,    7,    9,    8,  138,  117,  102,  143,  146,
     397      114,  125,  126,  141,  139,  129,  140,  132,  142,  107,
     398      108,  109,  130,  131,  148,  150,  149,  151,  179,  102,
     399      123,  179,  124,  144,  102,  104,  102,  102,  102,  102,
     400      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     401      102,  102,  127,  147,  128,  145,    7,  179,    4,    4,
     402      180,  105,  180,  106,  115,  116,  122,  118,  119,    7,
     403        9,    0,    8,  155,  174,  102,    0,  167,  137,  160,
     404      168,  165,  152,  163,  153,  164,  162,    0,  112,    3,
     405
     406        0,  166,  112,  110,    0,    0,  110,  110,    0,    0,
     407      110,  109,  109,  109,    0,  109,  135,  136,  134,  156,
     408      158,  154,  159,  157,    0,    0,    0,    0,    0,    0,
     409        0,    0,    0,    0,    0,    0,    0,    0,    0,  103,
     410      173,    0,  117,  114,  102,    0,    0,  170,    0,  102,
     411      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     412      102,  102,  102,  102,  102,  102,   38,  102,  102,  102,
     413      102,  102,  102,  102,  102,  102,  102,   56,  102,  102,
     414      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     415      102,  102,  102,  102,  169,  161,    7,    0,    0,    0,
     416
     417        2,    0,    5,  105,    0,    0,    0,  115,    0,  121,
     418      120,  120,    0,    0,    0,  118,    0,    0,    0,    0,
    457419        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    458         0,    0,    0,    0,    0,    0,    0,    0,  112,    0,
    459         0,  110,  112,  112,  112,  112,  112,  110,    0,    0,
    460 
    461         0,    0,    0,    0,    0,    0,    0,    0,  101,    0,
    462       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    463       101,  101,  101,  101,  101,  101,   59,  101,  101,  101,
    464       101,  101,  101,  101,  101,   28,  101,  101,  101,  101,
    465        40,   43,   46,  101,  101,   52,  101,   61,   68,  101,
    466       101,   75,   77,   80,   81,   83,   84,  101,  101,   91,
    467       101,  101,    0,    1,    0,    0,    0,    0,    0,    0,
    468       104,    0,    0,    0,  119,    0,    0,    0,    0,  112,
    469       112,  112,  112,    0,    0,    0,    0,    0,    0,    0,
    470         0,    0,  101,  101,   18,  101,  101,  101,  101,  101,
    471 
    472       101,  101,   16,  101,  101,  101,   33,  101,  101,  101,
    473       101,  101,  101,  101,  101,  101,  101,  101,   35,  101,
    474        37,   38,  101,   48,   53,  101,  101,  101,   90,  101,
    475       101,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    476         0,    0,    0,    0,   10,   11,   29,   55,  101,  101,
    477       101,  101,  101,  101,  101,  101,  101,  101,  101,   60,
    478        62,   65,  101,  101,   78,   92,  101,  101,   36,   47,
    479        71,   72,  101,   95,   97,    0,    0,    0,    0,    0,
    480         0,    0,    0,    0,    0,    0,    0,  101,   69,  101,
    481       101,   12,  101,  101,   30,   34,  101,  101,  101,   66,
    482 
    483       101,  101,  101,  101,  101,  101,    0,    0,    0,    0,
    484         0,    0,    0,    0,    0,    0,    0,    0,    0,   58,
    485       101,  101,  101,  101,  101,  101,  101,   50,   63,   73,
    486        79,   93,   98,  101,  101,    0,    0,    0,    0,    0,
    487         0,    0,    0,  101,  101,   13,   19,  101,   31,  101,
    488       101,  101,   26,   87,    0,    0,  101,  101,  101,  101,
    489       101,   74,   99,  101,   85,   20,  101,   45,   82,  101,
    490       101,  101,  101,   70,    0
     420        0,  133,  112,  112,    0,  112,  112,  112,    0,    6,
     421      112,  110,    0,    0,    0,  112,    0,  110,  110,  110,
     422      110,    0,  111,    0,    0,  109,  109,  109,  109,    0,
     423      171,  172,    0,  177,  175,    0,    0,    0,  103,    0,
     424        0,    0,    0,    0,    0,    0,    0,  102,   17,  102,
     425      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     426      102,  102,  102,  102,  102,  102,  102,   14,  102,  102,
     427
     428      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     429      102,  102,  102,  102,  102,  102,   50,  102,  102,  102,
     430       63,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     431      102,  102,  102,  102,  102,   89,  102,  102,  102,  102,
     432      102,  102,  102,    0,    0,    0,    0,    0,    0,    0,
     433        0,  120,    0,    0,    0,    0,    0,  120,    0,    0,
     434      178,    0,    0,    0,    0,    0,    0,    0,  112,    0,
     435      112,    0,  112,    0,    0,  112,  112,  110,  110,    0,
     436        0,  111,  111,    0,  111,    0,  111,  109,  109,    0,
     437        0,    0,    0,    0,    0,    0,    0,    0,    0,  176,
     438
     439      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     440      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     441      102,  102,  102,   21,  102,   24,  102,   27,  102,  102,
     442      102,  102,  102,  102,  102,   41,  102,   43,  102,  102,
     443      102,  102,  102,  102,  102,   55,  102,   66,  102,  102,
     444      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     445      102,  102,  102,  102,   97,  102,  102,    0,    0,    0,
     446        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     447        0,  120,    0,    0,    0,    0,    0,  112,  112,    0,
     448        0,    0,    0,    0,  111,  111,    0,  113,    0,  111,
     449
     450      111,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     451        0,    0,    0,    0,  102,  102,   22,  102,  102,  102,
     452      102,  102,  102,  102,   15,  102,  102,  102,  102,  102,
     453      102,  102,  102,  102,  102,  102,  102,  102,  102,   23,
     454       25,  102,   32,  102,  102,  102,  102,   40,  102,  102,
     455      102,  102,   48,  102,  102,   53,  102,  102,   70,  102,
     456      102,  102,   76,  102,  102,  102,  102,  102,   86,   88,
     457      102,  102,   94,  102,  102,  101,    0,    0,    0,    0,
     458        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     459        0,    0,    0,    0,    0,  113,    0,    0,  111,  113,
     460
     461      113,  113,  113,  113,  111,    0,    0,    0,    0,    0,
     462        0,    0,    0,    0,    0,  102,    0,  102,  102,  102,
     463      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     464      102,  102,  102,   58,  102,  102,  102,  102,  102,  102,
     465      102,  102,   28,  102,  102,  102,   39,   42,   45,  102,
     466      102,   51,  102,   60,   67,  102,  102,   75,   77,   80,
     467       81,   83,   84,  102,  102,   91,  102,  102,    0,    1,
     468        0,    0,    0,    0,    0,    0,  105,    0,    0,    0,
     469      120,    0,    0,    0,    0,  113,  113,  113,  113,    0,
     470        0,    0,    0,    0,    0,    0,    0,    0,  102,  102,
     471
     472       18,  102,  102,  102,  102,  102,  102,  102,   16,  102,
     473      102,  102,   33,  102,  102,  102,  102,  102,  102,  102,
     474      102,  102,  102,  102,  102,   36,   37,  102,   47,   52,
     475      102,  102,  102,   90,  102,  102,    0,    0,    0,    0,
     476        0,    0,    0,    0,    0,    0,    0,    0,    0,   10,
     477       11,   29,   54,  102,  102,  102,  102,  102,  102,  102,
     478      102,  102,  102,  102,   59,   61,   64,  102,  102,   78,
     479       92,  102,  102,   35,   46,   71,   72,  102,   95,   98,
     480        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     481        0,    0,  102,   68,  102,  102,   12,  102,  102,   30,
     482
     483       34,  102,  102,  102,   65,  102,  102,  102,  102,  102,
     484      102,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     485        0,    0,    0,    0,   57,  102,  102,  102,  102,  102,
     486      102,  102,   49,   62,   73,   79,   93,   99,  102,  102,
     487        0,    0,    0,    0,    0,    0,    0,    0,  102,  102,
     488       13,   19,  102,  102,   31,  102,  102,  102,   26,   87,
     489        0,    0,  102,  102,  102,  102,  102,  102,   74,  100,
     490      102,   85,   20,  102,  102,   44,   82,  102,  102,  102,
     491      102,  102,  102,  102,   96,   69,    0
    491492    } ;
    492493
     
    536537    } ;
    537538
    538 static yyconst flex_int16_t yy_base[1050] =
     539static yyconst flex_int16_t yy_base[1062] =
    539540    {   0,
    540         0,   83, 2238, 2237,   93,    0,  175,  176,  177,  178,
    541      2252, 2782,  189, 2782,  195,   54, 2782, 2197,   59,  171,
    542      2782, 2782, 2782,   55,  186, 2782,  189,  187,  202,  214,
    543       272,    0, 2213, 2782,  214, 2213,  150,  340,  153,  222,
    544      2782,  157, 2782,  215,  224, 2782,  207,  181,  221,  249,
    545       235,  289,  155,  255,  218,  206,  266,  256,  323,  259,
    546       192, 2782,  223, 2782, 2210,  377,  342, 2782, 2220, 2782,
    547      2187,  234, 2782,    0, 2782,  421,    0, 2782,  393, 2782,
    548       399,  405, 2782,  492, 2184,  241, 2782, 2782, 2782, 2782,
    549      2782, 2201, 2782, 2200, 2782, 2782, 2211,  552, 2782, 2226,
    550 
    551      2782,  413,  393,  437,  493,  377,  318,  195,  430,  382,
    552         0,  384,  321,  196,  427, 2782, 2782, 2782, 2194, 2782,
    553      2782, 2782, 2193, 2192,  252,  302, 2206,  342,  435,  422,
    554       381,  455,  400,  494, 2185,  440, 2133,  469, 2163, 2782,
    555       276, 2782, 2782,  520, 2159, 2157, 2782, 2128,  414,  463,
    556       470,  325,  254,  479,  432,  274,  480,  423,  483,  498,
    557       492,  503,  499,  509,  341,  455,  484,  377,  510,  512,
    558       517,  518,  529,  530,  531,  537, 2154,  541,  536,  544,
    559       557,  546,  566,  569,  538,  552,  548,  554,  588,  571,
    560       570,  580, 2782, 2782,  645,  651, 2202,  657, 2782,  663,
    561 
    562      2782, 2152,  593, 2147, 2144,    0,  631, 2782, 2782,  669,
    563      2141, 2140, 2139,    0, 2160,  629,  635,  639,  678,  677,
    564       666,  670,  671,  674, 2138,  681,  682, 2115, 2114, 2782,
    565         0,  597,  702,  678,  676, 2111, 2160, 2782,  693,    0,
    566       710,  723,  743,  762,  788,  707, 2782, 2119, 2094,    0,
    567       776, 2138,  768,  723, 2782, 2113, 2086,  809, 2782, 2782,
    568      2118, 2782, 2782,  705,  710, 2098, 2097,  724, 2091, 2088,
    569      2087,    0, 2086,    0, 2056,  709,  682,  707,  712,  710,
    570       724,  647,  750,  671,  786,  751,  748,  731,  778,  787,
    571       789,  788,  792,  790,  758, 2084,  796,  806,  800,  813,
    572 
    573       798,  810,  802,  816,  822,  819,  815,  826,  830,  829,
    574       831,  832,  833,  837,  839,  841,  846,  843, 2081,  848,
    575       850,  849,  851,  852,  854,  853,  857,  855,  858,  863,
    576       868, 2080,  867,  912,  871,  878,  872,  879,  882,  937,
    577       939, 2076, 2074, 2071,    0, 2070,    0,  927,  931, 2069,
    578         0, 2067,    0, 2064,    0, 2084, 2782,  913,  926, 2064,
    579      2060,    0, 2057,    0, 2782,  942,  960,  953, 2782,  966,
    580       981, 1005, 2053, 2782, 2782,  955,  968,  995,  968, 1028,
    581       892, 1014,  970, 2782, 2782, 2049, 2047, 2045,    0, 2042,
    582         0, 2040,    0, 2038,    0, 2782,  909,  944,  982,  943,
    583 
    584      1006,  911, 1012,  923, 1013, 1019, 1009, 1016, 1023, 1024,
    585      1020,  972, 1030, 1028,  989, 1026, 1034, 1027, 1039, 2038,
    586      1044, 2035, 1048, 2034, 1049, 1051, 1052, 1053, 1056, 1057,
    587      1055, 2033, 1059, 2031,  946, 1063, 1066, 1067, 1068, 1071,
    588      1069, 2028, 1075, 2025, 1077, 1080, 1079, 1082, 1084, 1086,
    589      1087, 1090, 1097, 1107, 1088, 1108, 1093, 1098, 2024, 1096,
    590      1111, 1164, 2020,    0, 2018,    0, 2015,    0, 2012,    0,
    591      1151, 2011,    0, 2010,    0, 2008, 2005, 2002,    0, 2001,
    592         0, 1156, 2000, 1162, 1148, 1182, 1149, 1126, 1147, 2782,
    593      1201, 1215, 1241, 2010, 1983, 1992, 1991,    0, 1990,    0,
    594 
    595      1988,    0, 1985,    0, 1982,    0, 1981,    0, 1161, 1149,
    596      1983, 1179, 1140, 1180, 1117, 1182, 1192, 1199, 1181, 1163,
    597      1196, 1200, 1201, 1220, 1198, 1221, 1224,  604, 1226, 1227,
    598      1231, 1233, 1234, 1981, 1244, 1236, 1978, 1240, 1241, 1246,
    599      1247, 1243, 1975, 1250, 1251, 1253, 1254, 1974, 1255, 1267,
    600      1973, 1264, 1271, 1256, 1263, 1257, 1971, 1275, 1277, 1279,
    601      1260, 1281, 1290, 1285, 1288, 1968, 1289, 1291, 1967, 2015,
    602      1961,    0, 1958,    0, 1957,    0, 1956,    0, 1954,    0,
    603      1921,    0, 1919,    0, 1918,    0, 1336, 1342, 1369, 1353,
    604      1915, 2782, 1359, 1307, 1359, 1309, 1912, 2782, 1911,    0,
    605 
    606      1910,    0, 1908,    0, 1905,    0,    0,    0, 1905,    0,
    607      1347, 1295, 1292, 1323, 1337, 1338, 1296, 1349, 1351, 1355,
    608      1353, 1348, 1363, 1364, 1371, 1373, 1380, 1375, 1403, 1381,
    609      1385, 1389, 1094, 1387, 1390, 1904, 1391, 1393, 1397, 1401,
    610      1903, 1901, 1898, 1394, 1400, 1897, 1404, 1896, 1894, 1402,
    611      1408, 1891, 1890, 1889, 1887, 1884, 1880, 1417, 1412, 1876,
    612      1420, 1418, 1921, 2782, 1853,    0, 1852,    0,    0,    0,
    613      1854,    0,    0,    0, 2782,    0,    0,    0,    0, 1463,
    614      1849, 2782, 2782, 1469, 1846,    0, 1845,    0,    0,    0,
    615         0, 1844, 1407, 1446, 1845, 1406, 1423, 1300, 1431, 1449,
    616 
    617      1455, 1447, 1842, 1457, 1448, 1459, 1464, 1460, 1490, 1474,
    618      1470, 1494, 1480, 1475, 1484, 1485, 1486, 1482, 1841, 1487,
    619      1840, 1838, 1489, 1835, 1834, 1491, 1493, 1497, 1833, 1498,
    620      1500,    0,    0,    0, 1828, 1825, 1824, 1548,    0, 1823,
    621      1821, 1818, 1817, 1816, 1817, 1814, 1813, 1812, 1505, 1510,
    622      1502, 1501, 1504, 1508, 1513, 1517, 1526, 1528, 1559, 1810,
    623      1533, 1807, 1534, 1535, 1544, 1545, 1538, 1539, 1806, 1805,
    624      1803, 1800, 1540, 1799, 1798, 1793, 1786, 1784, 1783, 1780,
    625      1779, 1778, 1776, 1759, 1750, 1749, 1746, 1546, 1742, 1549,
    626      1550, 1552, 1554, 1557, 1558, 1739, 1556, 1589, 1566, 1732,
    627 
    628      1565, 1572, 1577, 1579, 1567, 1578, 1727, 1726, 1705, 1704,
    629      1703, 1696, 1694, 1693, 1650, 1649, 1647, 1645, 1644, 1646,
    630      1571, 1584, 1582, 1581, 1586, 1593, 1595, 1645, 1644, 1597,
    631      1642, 1641, 1598, 1599, 1602, 1636, 1635, 1633, 1422, 1421,
    632      1205, 1201,  946, 1605, 1610,  910, 1603, 1607,  768, 1613,
    633      1618, 1619,  723,  605,  503,  370, 1609, 1620, 1623, 1624,
    634      1625,  338,  337, 1627,  290,  251, 1630,  200,  196, 1631,
    635      1632, 1637, 1633,  136, 2782, 1707, 1720, 1733, 1743, 1753,
    636      1766, 1776, 1789, 1802, 1815, 1823, 1833, 1840, 1847, 1854,
    637      1861, 1868, 1875, 1882, 1889, 1896, 1909, 1916, 1920, 1928,
    638 
    639      1931, 1938, 1945, 1952, 1955, 1962, 1968, 1981, 1994, 2001,
    640      2008, 2015, 2022, 2025, 2032, 2035, 2042, 2045, 2052, 2055,
    641      2062, 2065, 2072, 2075, 2082, 2085, 2092, 2100, 2107, 2114,
    642      2121, 2128, 2131, 2138, 2141, 2148, 2151, 2158, 2164, 2177,
    643      2184, 2191, 2194, 2201, 2204, 2211, 2214, 2221, 2224, 2231,
    644      2234, 2241, 2244, 2251, 2258, 2261, 2268, 2271, 2278, 2285,
    645      2292, 2295, 2302, 2305, 2312, 2315, 2322, 2325, 2332, 2335,
    646      2342, 2348, 2361, 2368, 2375, 2378, 2385, 2388, 2395, 2398,
    647      2405, 2408, 2415, 2418, 2425, 2428, 2435, 2438, 2445, 2448,
    648      2455, 2462, 2465, 2472, 2475, 2482, 2485, 2492, 2495, 2498,
    649 
    650      2504, 2511, 2520, 2527, 2534, 2537, 2544, 2547, 2550, 2556,
    651      2563, 2566, 2569, 2572, 2575, 2578, 2581, 2584, 2591, 2594,
    652      2601, 2604, 2607, 2610, 2613, 2623, 2630, 2633, 2636, 2639,
    653      2646, 2653, 2660, 2663, 2670, 2677, 2684, 2691, 2698, 2705,
    654      2712, 2719, 2726, 2733, 2740, 2747, 2754, 2761, 2768
     541        0,   83, 2268, 2265,   93,    0,  175,  176,  177,  178,
     542     2279, 2798,  189, 2798,  195,   54, 2798, 2226,   59,  171,
     543     2798, 2798, 2798,   55,  186, 2798,  189,  187,  202,  214,
     544      272,    0, 2244, 2798,  214, 2243,  150,  340,  153,  222,
     545     2798,  157, 2798,  215,  224, 2798,  207,  181,  221,  249,
     546      235,  289,  155,  255,  218,  231,  206,  266,  256,  323,
     547      259,  192, 2798,  252, 2798, 2238,  377,  342, 2798, 2249,
     548     2798, 2218,  241, 2798,    0, 2798,  421,    0, 2798,  393,
     549     2798,  399,  405, 2798,  492, 2216,  276, 2798, 2798, 2798,
     550     2798, 2798, 2231, 2798, 2228, 2798, 2798, 2240,  552, 2798,
     551
     552     2257, 2798,  413,  393,  437,  493,  377,  318,  195,  430,
     553      382,    0,  384,  321,  196,  427, 2798, 2798, 2798, 2226,
     554     2798, 2798, 2798, 2223, 2220,  304,  342, 2235,  381,  435,
     555      422,  400,  455,  440,  494, 2216,  469, 2165,  497, 2193,
     556     2798,  432, 2798, 2798,  521, 2187, 2186, 2798, 2159,  470,
     557      414,  436,  325,  254,  463,  480,  486,  563,  274,  482,
     558      484,  487,  495,  234,  489,  341,  488,  490,  377,  507,
     559      497,  501,  503,  514,  515,  506,  529, 2186,  531,  537,
     560      505,  518,  536,  534,  538,  559,  575,  571,  577,  574,
     561      599,  590,  581,  592, 2798, 2798,  662,  668, 2232,  674,
     562
     563     2798,  680, 2798, 2180,  583, 2176, 2175,    0,  671, 2798,
     564     2798,  686, 2173, 2170, 2167,    0, 2189,  568,  615,  618,
     565      695,  694,  627,  654,  628,  683, 2186,  686,  687, 2163,
     566     2160, 2798,    0,  680,  712,  703,  682, 2157, 2208, 2798,
     567      711,    0,  702,  756,  762,  795,  774,  604, 2798, 2167,
     568     2141,    0,  803, 2167,  780,  684, 2798, 2143, 2118,  804,
     569     2798, 2798, 2148, 2798, 2798,  724,  728, 2126, 2126,  694,
     570     2122, 2120, 2117,    0, 2114,    0, 2085,  679,  682,  696,
     571      423,  722,  757,  703,  758,  741,  799,  764,  725,  789,
     572      697,  774,  788,  792,  760,  784,  795, 2115,  809,  797,
     573
     574      816,  196,  804,  812,  817,  823,  829,  632,  831,  832,
     575      836,  819,  837,  833,  840,  844,  847,  843,  853,  851,
     576     2113,  854,  855,  856,  859,  857,  858,  860,  861,  867,
     577      863,  866,  868,  873,  874, 2110,  877,  716,  882,  883,
     578      884,  888,  894,  947,  944, 2104, 2103, 2102,    0, 2100,
     579        0,  934,  939, 2097,    0, 2094,    0, 2093,    0, 2113,
     580     2798,  934,  935, 2092, 2087,    0, 2086,    0, 2798,  947,
     581      967,  958, 2798,  973,  988, 1012, 2085, 2798, 2798,  932,
     582      962,  999,  975, 1033,  912, 1020,  956, 2798, 2798, 2083,
     583     2080, 2079,    0, 2078,    0, 2076,    0, 2073,    0, 2798,
     584
     585      956,  936,  978,  950,  994, 1010, 1016,  973, 1019, 1020,
     586     1024, 1012, 1029, 1030, 1026, 1027, 1032, 1038, 1044, 1031,
     587     1051, 1049, 1041, 2072, 1055, 2068, 1054, 2066, 1057, 1058,
     588     1059,  974, 1061, 1064, 1065, 2064, 1070, 2061, 1063, 1071,
     589     1073, 1075, 1076, 1081, 1077, 2059, 1082, 2057, 1084, 1087,
     590     1089, 1092, 1094, 1095, 1100, 1090, 1098, 1106, 1115, 1102,
     591     1103, 1116, 1104, 1118, 2054, 1119, 1123, 1169, 2048,    0,
     592     2047,    0, 2046,    0, 2044,    0, 1164, 2041,    0, 2038,
     593        0, 2037, 2036, 2034,    0, 2031,    0, 1171, 2028, 1177,
     594     1137, 1197, 1164, 1112, 1131, 2798, 1216, 1230, 1256, 2039,
     595
     596     2014, 2024, 2021,    0, 2018,    0, 2017,    0, 2016,    0,
     597     2014,    0, 2011,    0, 1159, 1164, 2011, 1160, 1178, 1182,
     598     1133, 1194, 1208, 1185,  541, 1199, 1197, 1215, 1193, 1209,
     599     1211, 1225, 1210, 1254, 1235, 1237, 1239, 1241, 1242, 2010,
     600     1252, 1248, 2009, 1249, 1253, 1255, 1251, 2007, 1258, 1261,
     601     1262, 1264, 2004, 1265, 1271, 2001, 1263, 1273, 2000, 1269,
     602     1275, 1277, 1999, 1281, 1283, 1285, 1284, 1286, 1296, 1997,
     603     1295, 1287, 1994, 1299, 1300, 1991, 2039, 1986,    0, 1984,
     604        0, 1981,    0, 1980,    0, 1979,    0, 1977,    0, 1974,
     605        0, 1973,    0, 1336, 1346, 1369, 1357, 1972, 2798, 1375,
     606
     607     1311, 1347, 1313, 1970, 2798, 1937,    0, 1935,    0, 1934,
     608        0, 1931,    0,    0,    0, 1931,    0, 1353, 1354, 1305,
     609     1302, 1335, 1363, 1366, 1367, 1364,  586, 1370, 1365, 1374,
     610     1368, 1376, 1369, 1385, 1380, 1166, 1392, 1394, 1327, 1395,
     611     1396, 1399, 1930, 1398, 1400, 1401, 1929, 1927, 1924, 1403,
     612     1402, 1921, 1409, 1920, 1919, 1406, 1404, 1917, 1914, 1913,
     613     1912, 1910, 1907, 1416, 1417, 1906, 1419, 1405, 1954, 2798,
     614     1900,    0, 1897,    0,    0,    0, 1896,    0,    0,    0,
     615     2798,    0,    0,    0,    0, 1459, 1889, 2798, 2798, 1465,
     616     1885,    0, 1869,    0,    0,    0,    0, 1868, 1424, 1442,
     617
     618     1870, 1444, 1447, 1443, 1451, 1453, 1455, 1457, 1868, 1459,
     619     1460, 1476, 1461, 1463, 1494, 1477, 1478, 1504, 1483, 1482,
     620     1481, 1488, 1490, 1491, 1492, 1865, 1864, 1493, 1863, 1861,
     621     1497, 1496, 1499, 1858, 1500, 1502,    0,    0,    0, 1854,
     622     1853, 1851, 1550,    0, 1848, 1847, 1846, 1844, 1841, 1843,
     623     1842, 1840, 1837, 1507, 1513, 1505, 1514, 1509, 1515, 1528,
     624     1506, 1531, 1533, 1562, 1836, 1536, 1835, 1537, 1541, 1544,
     625     1549, 1542, 1543, 1833, 1830, 1829, 1828, 1550, 1826, 1823,
     626     1819, 1818, 1816, 1813, 1812, 1811, 1809, 1802, 1800, 1799,
     627     1796, 1795, 1551, 1797, 1554, 1556, 1555, 1559, 1560, 1561,
     628
     629     1795, 1565, 1592, 1568, 1778, 1569, 1576, 1577, 1584, 1570,
     630     1572, 1766, 1765, 1762, 1755, 1752, 1745, 1743, 1742, 1721,
     631     1720, 1719, 1712, 1710, 1712, 1582, 1587, 1595, 1590, 1589,
     632     1597, 1585, 1670, 1669, 1601, 1666, 1665, 1605, 1606, 1609,
     633     1660, 1659, 1655, 1654, 1651, 1650, 1649, 1593, 1610, 1611,
     634     1412, 1614, 1612, 1620, 1337, 1621, 1623, 1627, 1000,  928,
     635      896,  778, 1628, 1629, 1631, 1632, 1633, 1635,  709,  628,
     636     1637,  373,  338, 1639, 1640,  337,  257, 1641, 1643, 1645,
     637     1647, 1646, 1649, 1651,  200,  136, 2798, 1723, 1736, 1749,
     638     1759, 1769, 1782, 1792, 1805, 1818, 1831, 1839, 1849, 1856,
     639
     640     1863, 1870, 1877, 1884, 1891, 1898, 1905, 1912, 1925, 1932,
     641     1936, 1944, 1947, 1954, 1961, 1968, 1971, 1978, 1984, 1997,
     642     2010, 2017, 2024, 2031, 2038, 2041, 2048, 2051, 2058, 2061,
     643     2068, 2071, 2078, 2081, 2088, 2091, 2098, 2101, 2108, 2116,
     644     2123, 2130, 2137, 2144, 2147, 2154, 2157, 2164, 2167, 2174,
     645     2180, 2193, 2200, 2207, 2210, 2217, 2220, 2227, 2230, 2237,
     646     2240, 2247, 2250, 2257, 2260, 2267, 2274, 2277, 2284, 2287,
     647     2294, 2301, 2308, 2311, 2318, 2321, 2328, 2331, 2338, 2341,
     648     2348, 2351, 2358, 2364, 2377, 2384, 2391, 2394, 2401, 2404,
     649     2411, 2414, 2421, 2424, 2431, 2434, 2441, 2444, 2451, 2454,
     650
     651     2461, 2464, 2471, 2478, 2481, 2488, 2491, 2498, 2501, 2508,
     652     2511, 2514, 2520, 2527, 2536, 2543, 2550, 2553, 2560, 2563,
     653     2566, 2572, 2579, 2582, 2585, 2588, 2591, 2594, 2597, 2600,
     654     2607, 2610, 2617, 2620, 2623, 2626, 2629, 2639, 2646, 2649,
     655     2652, 2655, 2662, 2669, 2676, 2679, 2686, 2693, 2700, 2707,
     656     2714, 2721, 2728, 2735, 2742, 2749, 2756, 2763, 2770, 2777,
     657     2784
    655658    } ;
    656659
    657 static yyconst flex_int16_t yy_def[1050] =
     660static yyconst flex_int16_t yy_def[1062] =
    658661    {   0,
    659       875,    1,  876,  876,  875,    5,  877,  877,  878,  878,
    660       875,  875,  875,  875,  875,  875,  875,  879,  875,  875,
    661       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    662       875,   31,  875,  875,  875,  875,  875,  875,  880,  879,
    663       875,  875,  875,  875,  879,  875,  879,  879,  879,  879,
    664       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
    665       879,  875,  875,  875,  875,  875,  881,  875,  875,  875,
    666       882,  875,  875,  883,  875,  875,  884,  875,  875,  875,
    667       875,  875,  875,  875,  879,  875,  875,  875,  875,  875,
    668       875,  875,  875,  875,  875,  875,  875,  875,  875,  885,
    669 
    670       875,   98,   30,  875,  875,  875,  875,  886,   30,  875,
    671        31,  875,  875,   31,  875,  875,  875,  875,  875,  875,
    672       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    673       875,  875,  875,  875,  875,  875,  875,  875,  887,  875,
    674       875,  875,  875,  879,  888,  889,  875,  875,  879,  879,
    675       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
    676       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
    677       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
    678       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
    679       879,  879,  875,  875,  875,  881,  881,  881,  875,  881,
    680 
    681       875,  882,  875,  890,  891,  883,  875,  875,  875,  875,
    682       892,  893,  894,  884,  875,  875,  875,  875,  875,  875,
    683       875,  875,  875,  875,  875,  875,  875,  895,  896,  875,
    684        98,  875,  875,  875,  875,   98,  897,  875,  875,  103,
    685       103,  875,  875,  875,  875,  875,  875,  875,  875,  898,
    686       899,  900,  875,  875,  875,  875,  875,  875,  875,  875,
    687       875,  875,  875,  875,  875,  875,  887,  875,  901,  902,
    688       903,  904,  905,  906,  875,  907,  907,  907,  907,  907,
    689       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
    690       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
    691 
    692       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
    693       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
    694       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
    695       907,  907,  907,  907,  907,  907,  907,  907,  907,  908,
    696       909,  910,  911,  912,  913,  914,  915,  875,  875,  916,
    697       917,  918,  919,  920,  921,  875,  875,  875,  875,  875,
    698       922,  923,  924,  925,  875,  875,  875,  875,  875,  875,
    699       875,  367,  372,  875,  875,  926,  927,  928,  875,  875,
    700       875,  928,  875,  875,  875,  929,  930,  931,  932,  933,
    701       934,  935,  936,  937,  938,  875,  939,  939,  939,  939,
    702 
    703       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    704       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    705       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    706       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    707       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    708       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    709       939,  940,  941,  942,  943,  944,  945,  946,  947,  948,
    710       875,  949,  950,  951,  952,  953,  953,  954,  955,  956,
    711       957,  875,  482,  875,  958,  875,  958,  875,  875,  875,
    712       875,  875,  875,  875,  875,  959,  960,  961,  962,  963,
    713 
    714       964,  965,  966,  967,  968,  969,  970,  971,  972,  972,
    715       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    716       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    717       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    718       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    719       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    720       972,  972,  972,  972,  972,  972,  972,  972,  972,  973,
    721       974,  975,  976,  977,  978,  979,  980,  981,  982,  983,
    722       984,  985,  986,  987,  988,  989,  875,  875,  875,  875,
    723       990,  875,  589,  875,  875,  875,  593,  875,  991,  992,
    724 
    725       993,  994,  995,  996,  997,  998,  999, 1000, 1001, 1002,
    726      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
    727      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
    728      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
    729      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
    730      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
    731      1001, 1001, 1003,  875, 1004, 1005, 1006, 1007, 1008, 1009,
    732      1010, 1011, 1012, 1013,  875, 1014, 1015, 1016, 1017,  875,
    733       680,  875,  875,  875, 1018, 1019, 1020, 1021, 1022, 1023,
    734      1024, 1025, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    735 
    736      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    737      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    738      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    739      1026, 1027, 1028, 1029, 1030, 1031, 1032,  875, 1033, 1018,
    740      1020, 1034, 1035, 1025, 1026, 1026, 1026, 1026, 1026, 1026,
    741      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    742      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    743      1026, 1026, 1026, 1026, 1026, 1036, 1037, 1030, 1038, 1031,
    744      1039, 1032, 1040, 1041, 1034, 1042, 1035, 1026, 1026, 1026,
    745      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    746 
    747      1026, 1026, 1026, 1026, 1026, 1026, 1043, 1036, 1044, 1037,
    748      1045, 1038, 1046, 1039, 1047, 1040, 1048, 1041, 1042, 1026,
    749      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    750      1026, 1026, 1026, 1026, 1026, 1049, 1043, 1044, 1045, 1046,
    751      1020, 1047, 1048, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    752      1026, 1026, 1026, 1026, 1049, 1020, 1026, 1026, 1026, 1026,
    753      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    754      1026, 1026, 1026, 1026,    0,  875,  875,  875,  875,  875,
    755       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    756       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    757 
    758       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    759       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    760       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    761       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    762       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    763       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    764       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    765       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    766       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    767       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    768 
    769       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    770       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    771       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    772       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    773       875,  875,  875,  875,  875,  875,  875,  875,  875
     662      887,    1,  888,  888,  887,    5,  889,  889,  890,  890,
     663      887,  887,  887,  887,  887,  887,  887,  891,  887,  887,
     664      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     665      887,   31,  887,  887,  887,  887,  887,  887,  892,  891,
     666      887,  887,  887,  887,  891,  887,  891,  891,  891,  891,
     667      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     668      891,  891,  887,  887,  887,  887,  887,  893,  887,  887,
     669      887,  894,  887,  887,  895,  887,  887,  896,  887,  887,
     670      887,  887,  887,  887,  887,  891,  887,  887,  887,  887,
     671      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     672
     673      897,  887,   99,   30,  887,  887,  887,  887,  898,   30,
     674      887,   31,  887,  887,   31,  887,  887,  887,  887,  887,
     675      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     676      887,  887,  887,  887,  887,  887,  887,  887,  887,  899,
     677      887,  887,  887,  887,  891,  900,  901,  887,  887,  891,
     678      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     679      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     680      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     681      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     682      891,  891,  891,  891,  887,  887,  887,  893,  893,  893,
     683
     684      887,  893,  887,  894,  887,  902,  903,  895,  887,  887,
     685      887,  887,  904,  905,  906,  896,  887,  887,  887,  887,
     686      887,  887,  887,  887,  887,  887,  887,  887,  887,  907,
     687      908,  887,   99,  887,  887,  887,  887,   99,  909,  887,
     688      887,  104,  104,  887,  887,  887,  887,  887,  887,  887,
     689      887,  910,  911,  912,  887,  887,  887,  887,  887,  887,
     690      887,  887,  887,  887,  887,  887,  887,  887,  899,  887,
     691      913,  914,  915,  916,  917,  918,  887,  919,  919,  919,
     692      919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
     693      919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
     694
     695      919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
     696      919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
     697      919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
     698      919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
     699      919,  919,  919,  920,  921,  922,  923,  924,  925,  926,
     700      927,  887,  887,  928,  929,  930,  931,  932,  933,  887,
     701      887,  887,  887,  887,  934,  935,  936,  937,  887,  887,
     702      887,  887,  887,  887,  887,  371,  376,  887,  887,  938,
     703      939,  940,  887,  887,  887,  940,  887,  887,  887,  941,
     704      942,  943,  944,  945,  946,  947,  948,  949,  950,  887,
     705
     706      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
     707      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
     708      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
     709      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
     710      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
     711      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
     712      951,  951,  951,  951,  951,  951,  951,  952,  953,  954,
     713      955,  956,  957,  958,  959,  960,  887,  961,  962,  963,
     714      964,  965,  965,  966,  967,  968,  969,  887,  488,  887,
     715      970,  887,  970,  887,  887,  887,  887,  887,  887,  887,
     716
     717      887,  971,  972,  973,  974,  975,  976,  977,  978,  979,
     718      980,  981,  982,  983,  984,  984,  984,  984,  984,  984,
     719      984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
     720      984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
     721      984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
     722      984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
     723      984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
     724      984,  984,  984,  984,  984,  984,  985,  986,  987,  988,
     725      989,  990,  991,  992,  993,  994,  995,  996,  997,  998,
     726      999, 1000, 1001,  887,  887,  887,  887, 1002,  887,  596,
     727
     728      887,  887,  887,  600,  887, 1003, 1004, 1005, 1006, 1007,
     729     1008, 1009, 1010, 1011, 1012, 1013, 1014, 1013, 1013, 1013,
     730     1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
     731     1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
     732     1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
     733     1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
     734     1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1015,  887,
     735     1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025,
     736      887, 1026, 1027, 1028, 1029,  887,  686,  887,  887,  887,
     737     1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1038,
     738
     739     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     740     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     741     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     742     1038, 1038, 1038, 1038, 1038, 1038, 1039, 1040, 1041, 1042,
     743     1043, 1044,  887, 1045, 1030, 1032, 1046, 1047, 1037, 1038,
     744     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     745     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     746     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     747     1048, 1049, 1042, 1050, 1043, 1051, 1044, 1052, 1053, 1046,
     748     1054, 1047, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     749
     750     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     751     1038, 1055, 1048, 1056, 1049, 1057, 1050, 1058, 1051, 1059,
     752     1052, 1060, 1053, 1054, 1038, 1038, 1038, 1038, 1038, 1038,
     753     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     754     1061, 1055, 1056, 1057, 1058, 1032, 1059, 1060, 1038, 1038,
     755     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     756     1061, 1032, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     757     1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
     758     1038, 1038, 1038, 1038, 1038, 1038,    0,  887,  887,  887,
     759      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     760
     761      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     762      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     763      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     764      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     765      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     766      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     767      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     768      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     769      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     770      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     771
     772      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     773      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     774      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     775      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     776      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     777      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     778      887
    774779    } ;
    775780
    776 static yyconst flex_int16_t yy_nxt[2867] =
     781static yyconst flex_int16_t yy_nxt[2883] =
    777782    {   0,
    778783       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    782787       18,   18,   40,   18,   18,   18,   18,   18,   40,   18,
    783788       41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
    784        51,   52,   53,   18,   54,   18,   55,   18,   18,   18,
    785        18,   56,   57,   58,   59,   60,   61,   18,   18,   18,
    786        62,   63,   64,   65,   66,   83,   91,   84,   84,   66,
    787        87,   88,   67,   70,   70,   70,   70,   70,   70,   70,
    788 
    789        70,   70,   70,   71,   70,   70,   70,   70,   70,   70,
    790        70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
    791        70,   70,   70,   70,   70,   70,   70,   70,   71,   71,
     789       51,   52,   53,   18,   54,   18,   55,   18,   18,   56,
     790       18,   57,   58,   59,   60,   61,   62,   18,   18,   18,
     791       63,   64,   65,   66,   67,   84,   92,   85,   85,   67,
     792       88,   89,   68,   71,   71,   71,   71,   71,   71,   71,
     793
     794       71,   71,   71,   72,   71,   71,   71,   71,   71,   71,
    792795       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    793        71,   71,   71,   70,   72,   70,   70,   71,   73,   71,
    794        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    795        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    796        71,   71,   71,   70,   70,   70,   70,   75,   75,   78,
    797        78,  122,  123,   89,  140,   78,   78,   86,   75,   75,
    798        79,   80,   81,   81,   81,   79,   81,   80,   82,   82,
    799 
    800        82,   81,   90,   92,  141,  145,   86,   97,   94,   98,
    801        98,   98,   98,   98,   98,  250,  875,   93,   99,   84,
    802        95,   96,   84,  100,  176,  117,   76,   76,   76,   76,
    803       142,  146,   86,  101,  102,  143,  103,  103,  103,  103,
    804       104,  104,  118,   86,  119,  120,  147,   86,  148,  252,
    805       258,   86,  160,  105,  193,  192,  106,   86,   86,  149,
    806       150,  151,  107,  108,  152,  153,  181,  154,  109,   86,
    807       155,  156,   86,   86,  105,   86,  144,  161,  157,  158,
    808       110,  159,  204,  261,  162,  262,   86,  179,  107,  228,
    809       163,  108,  102,  180,  111,  111,  111,  111,  111,  111,
    810 
    811        86,  168,   86,  169,  194,   86,   86,   86,  205,  164,
    812        86,  105,  170,  165,  112,  229,  177,   86,  166,  186,
    813       113,  281,  167,  178,  269,   86,  114,  187,  191,  182,
    814       183,  142,  105,  261,  188,  262,  143,  284,  115,  184,
    815        86,   86,  185,  198,  199,  171,  113,  124,  198,  189,
    816       270,  125,  126,  172,  127,  173,  128,  129,  174,  130,
    817       248,  131,  175,  256,  200,  200,  200,  200,  200,  200,
    818       132,  133,  134,  261,   86,  262,   86,  144,  195,   80,
    819        81,   81,   81,  195,  249,  280,  196,  257,   86,   86,
    820       135,  190,   86,  136,   79,   80,   81,   81,   81,   79,
    821 
    822        81,   80,   81,   81,   81,   81,   81,   80,   82,   82,
    823        82,   81,  261,  305,  262,  240,  240,  240,  240,  246,
    824       137,  138,  207,  208,  875,  247,  254,  207,   86,  209,
    825       247,  261,  255,  262,  209,   98,   98,   98,   98,   98,
    826        98,  263,  875,  210,  210,  210,  210,  241,  246,  308,
    827       875,  247,  263,  261,  209,  262,  247,  102,  255,  104,
    828       104,  104,  104,  104,  104,   86,  261,  239,  262,  211,
    829       875,  261,  209,  262,   86,  255,  105,  209,  209,  875,
    830       276,  209,  209,   86,  253,  264,  261,  277,  262,  209,
    831       296,  242,  209,  254,  209,  212,  209,  105,  213,  215,
    832 
    833       261,  255,  262,  216,  217,  283,   86,  875,  218,  219,
    834       243,  220,  243,  221,   86,  244,  244,  244,  244,  244,
    835       244,   86,  222,  223,  224,  261,  265,  262,  142,  306,
    836        86,   86,  278,  143,   86,   86,  285,  286,  287,  279,
    837       288,  289,  225,   86,  290,  226,  291,  245,  282,   86,
    838        86,  292,  293,  294,   86,  295,  297,  875,  298,  301,
    839        86,   86,  307,   86,  299,  300,  309,  303,   86,   86,
    840       304,   86,  302,  227,  231,  231,  231,  231,  231,  231,
    841        86,   86,   86,  312,  310,  311,  313,   86,   86,   86,
    842       232,  233,   86,  234,  235,   86,  142,   86,  314,   86,
    843 
    844       321,  315,  330,   86,  320,   86,  236,  318,   86,  316,
    845       317,  232,  233,  232,  319,  325,  234,   86,  235,  322,
    846        86,   86,   86,  331,  333,  328,  332,  629,  326,  323,
    847       324,   86,  207,  208,  337,  335,  338,  207,  365,   86,
    848       329,  342,  334,  336,  339,  327,  195,   80,   81,   81,
    849        81,  195,  198,  199,  196,   86,   86,  198,  198,  199,
    850       356,  365,  357,  198,  340,  199,  356,  343,  357,  340,
    851       356,  341,  357,  200,  200,  200,  200,  200,  200,  200,
    852       200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
    853       200,  348,  348,  348,  348,  357,  357,  356,   86,  357,
    854 
    855       358,  356,  356,  357,  357,  356,  359,  357,  356,  356,
    856       357,  357,  356,  356,  357,  357,  369,  365,  403,  366,
    857       369,  366,   86,  349,  367,  367,  367,  367,  367,  367,
    858       875,  232,  233,   86,  234,  235,  261,  369,  262,  369,
    859       365,  261,  405,  262,  369,  104,  104,  104,  104,  104,
    860       104,  398,  232,  233,  232,  374,  368,  234,   86,  235,
    861        86,   86,  105,   86,  371,  244,  244,  244,  244,  244,
    862       244,  384,  386,  397,   86,   86,  399,  253,  401,  400,
    863       402,  374,   86,  105,  372,  372,  372,  372,  372,  372,
    864       104,  104,  104,  104,  104,  104,  377,  384,  387,   86,
    865 
    866       232,   86,   86,  234,  235,  243,  404,  243,  411,   86,
    867       244,  244,  244,  244,  244,  244,  373,  410,  379,   86,
    868       380,  232,  253,  232,  381,  409,  234,  419,  235,   86,
    869       382,  111,  111,  111,  111,  111,  111,   86,   86,   86,
    870        86,   86,  383,   86,  412,  415,  380,   86,  416,   86,
    871       381,   86,  406,   86,  413,  414,  417,   86,  407,  408,
    872       422,   86,  421,  258,   86,  420,   86,   86,  418,  424,
    873        86,  423,  428,   86,  426,  427,  430,   86,  429,  425,
    874        86,   86,   86,   86,   86,  431,  432,  433,   86,  437,
    875        86,  435,   86,  438,   86,  439,  434,   86,  436,   86,
    876 
    877        86,   86,   86,   86,   86,   86,   86,  443,   86,   86,
    878       444,  441,  440,  446,   86,  442,  445,  451,   86,   86,
    879       142,  450,   86,   86,  447,  449,  448,  456,  452,   86,
    880        86,  459,  453,   86,  494,  460,  454,  455,  340,  199,
    881       457,  199,  458,  340,  356,  341,  357,  197,  461,  209,
    882       209,  209,  209,  348,  348,  348,  348,  356,  495,  357,
    883        86,   86,   86,   86,  367,  367,  367,  367,  367,  367,
    884       366,  509,  366,  514,   86,  367,  367,  367,  367,  367,
    885       367,  471,  482,  482,  482,  482,  482,  482,  231,  231,
    886       231,  231,  231,  231,   86,   86,  516,   86,  232,  486,
    887 
    888       875,  234,  235,  240,  240,  240,  240,  104,  104,  487,
    889       489,  510,  486,  512,  483,  377,  490,  545,  490,  232,
    890       370,  232,  488,   86,  234,  486,  235,  372,  372,  372,
    891       372,  372,  372,   86,  875,  371,  489,  379,  486,  380,
    892        86,  525,  490,  381,  490,  491,  529,  491,  511,  382,
    893       492,  492,  492,  492,  492,  492,  379,   86,  380,  373,
    894        86,  383,  381,   86,   86,  380,  513,   86,  496,  381,
    895        86,   86,  515,  517,   86,   86,  519,   86,   86,   86,
    896       383,   86,  493,  518,  380,   86,  526,  521,  381,  520,
    897        86,  522,  523,  524,  527,   86,  531,  532,  530,   86,
    898 
    899        86,  528,   86,   86,   86,  533,   86,   86,   86,  534,
    900        86,  535,  538,  541,   86,  543,  539,   86,   86,   86,
    901        86,  536,   86,  542,  537,  544,   86,  540,   86,  551,
    902        86,   86,  547,   86,  549,   86,  546,   86,   86,   86,
    903       548,   86,  550,  552,   86,   86,  558,   86,   86,   86,
    904       555,  553,  554,  556,  560,  561,  559,  557,   86,   86,
    905       567,  566,   86,  716,  563,  562,  199,  564,   86,  568,
    906       486,  569,  570,  209,  209,  209,  209,  565,  482,  482,
    907       482,  482,  482,  482,  372,  372,  372,  372,  372,  372,
    908       616,   86,  486,  486,  232,  592,  486,  234,  235,  588,
    909 
    910        86,  588,  487,  591,  589,  589,  589,  589,  589,  589,
    911       483,  614,   86,  612,   86,  232,  484,  232,  486,  486,
    912       234,  592,  235,  492,  492,  492,  492,  492,  492,  611,
    913        86,   86,   86,   86,  621,  620,  590,  593,  593,  593,
    914       593,  593,  593,   86,  615,  613,  617,   86,  618,   86,
    915        86,   86,   86,  594,  626,  875,  595,  596,  491,  856,
    916       491,  619,  622,  492,  492,  492,  492,  492,  492,  597,
    917       623,   86,   86,  624,  594,   86,  594,   86,   86,  595,
    918       625,  596,   86,  627,   86,   86,  630,   86,  628,  635,
    919       634,   86,   86,  633,   86,   86,  636,   86,   86,  632,
    920 
    921       631,   86,   86,  641,   86,   86,   86,   86,   86,  638,
    922       642,   86,  639,  640,   86,   86,  644,  637,   86,  643,
    923       645,  646,   86,  647,  648,  652,   86,  651,   86,  650,
    924        86,  649,   86,  656,  653,  658,   86,  655,  654,   86,
    925        86,   86,   86,   86,  657,  659,   86,   86,  682,  660,
    926       682,   86,  696,  695,  700,  662,  749,  661,  482,  482,
    927       482,  482,  482,  482,  589,  589,  589,  589,  589,  589,
    928       588,  682,  588,  682,   86,  589,  589,  589,  589,  589,
    929       589,  593,  593,  593,  593,  593,  593,  697,   86,   86,
    930       587,  680,  680,  680,  680,  680,  680,  683,   86,   86,
    931 
    932        86,  683,   86,  693,   86,  698,   86,  594,  701,  703,
    933       595,  596,  699,  597,   86,   86,  694,  704,  683,  702,
    934       683,  705,   86,  681,   86,  683,   86,  712,  594,  706,
    935       594,   86,   86,  595,  710,  596,   86,  707,   86,  708,
    936        86,   86,   86,  711,   86,   86,  709,  713,   86,  715,
    937       718,   86,   86,   86,   86,   86,  714,   86,   86,   86,
    938       717,  722,  726,   86,  719,  723,  727,  720,   86,   86,
    939       721,   86,  725,  729,   86,  875,  875,  728,  724,  745,
    940       730,  748,   86,  747,  731,  680,  680,  680,  680,  680,
    941       680,  593,  593,  593,  593,  593,  593,   86,   86,   86,
    942 
    943        86,  594,  750,  751,  595,  596,   86,  746,   86,  752,
    944        86,   86,  755,  759,  754,   86,  753,  681,  757,  756,
    945       762,   86,  594,  684,  594,   86,   86,  595,  760,  596,
    946       761,   86,  758,   86,  763,   86,   86,   86,   86,  764,
    947        86,   86,   86,  765,   86,   86,  766,  769,   86,   86,
    948       767,   86,   86,   86,  768,   86,   86,  774,  790,   86,
    949       775,   86,  771,  770,   86,  792,  772,  791,   86,  773,
    950       680,  680,  680,  680,  680,  680,  788,   86,  789,   86,
    951       796,  794,  793,  798,   86,   86,   86,  799,  800,   86,
    952        86,   86,  797,  801,  795,   86,   86,   86,  802,  803,
    953 
    954        86,   86,  738,   86,  804,   86,  823,   86,   86,   86,
    955        86,  825,  826,  805,  806,  828,   86,   86,   86,  822,
    956       829,  821,   86,   86,  820,  827,  831,  824,   86,   86,
    957        86,  832,   86,   86,  834,   86,  846,   86,  830,  833,
    958        86,  847,  845,  844,   86,  835,   86,  849,   86,   86,
    959        86,  851,  852,   86,   86,  848,   86,  859,   86,  853,
    960        86,   86,  854,  850,   86,  857,  858,  861,  860,   86,
    961        86,   86,  862,  863,   86,   86,   86,  866,   86,  868,
    962       864,   86,   86,   86,   86,  867,  865,  875,   86,  875,
    963       855,  871,   86,   86,  874,   86,   86,   86,  875,  875,
    964 
    965       869,  843,  870,  875,  842,  872,  873,   68,   68,   68,
    966        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
    967        74,   74,   74,   74,   74,   74,   74,   74,   74,   74,
    968        74,   74,   74,   77,   77,   77,   77,   77,   77,   77,
    969        77,   77,   77,   77,   77,   77,   85,  875,  840,   85,
    970       875,   85,   85,   85,   85,   85,  139,  839,  875,  838,
    971       139,  139,  139,  139,  139,  139,  197,  197,  197,  197,
    972       197,  197,  197,  197,  197,  197,  197,  197,  197,  202,
    973       875,  837,  202,   86,  202,  202,  202,  202,  202,  206,
    974        86,  206,  206,   86,  206,  206,  206,  206,  206,  206,
    975 
    976       875,  206,  214,  819,  875,  214,  214,  214,  214,  214,
    977       214,  214,  214,  818,  214,  237,  237,  237,  237,  237,
    978       237,  237,  237,  237,  237,  237,  237,  237,  251,  251,
    979       816,  251,  875,  814,  875,  251,  267,  812,  875,  267,
    980       810,  267,  267,  267,  267,  267,  271,  808,  271,   86,
    981        86,   86,  271,  273,   86,  273,   86,   86,   86,  273,
    982       344,   86,  344,   86,   86,   86,  344,  346,   86,  346,
    983       875,  787,  785,  346,  350,  875,  350,  875,  782,  780,
    984       350,  352,  778,  352,   86,   86,   86,  352,  354,   86,
    985       354,   86,   86,   86,  354,  361,   86,  361,  744,  741,
    986 
    987       740,  361,  363,  738,  363,  203,  734,  733,  363,  237,
    988       237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
    989       237,  237,  376,  664,  376,  378,  378,   86,  378,  378,
    990       378,   86,  378,  251,  251,   86,  251,  388,   86,  388,
    991        86,   86,   86,  388,  390,   86,  390,   86,   86,   86,
    992       390,  392,   86,  392,   86,   86,   86,  392,  271,  691,
    993       271,  394,  690,  394,  688,  686,  684,  394,  273,  591,
    994       273,   85,  679,  678,   85,  676,   85,   85,   85,   85,
    995        85,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    996       197,  197,  197,  197,  462,  462,  462,  462,  462,  462,
    997 
    998       462,  462,  462,  462,  462,  462,  462,  463,  674,  463,
    999       672,  670,  668,  463,  465,  666,  465,  664,   86,   86,
    1000       465,  467,   86,  467,   86,   86,   86,  467,  344,   86,
    1001       344,  469,   86,  469,   86,  610,  608,  469,  346,  606,
    1002       346,  472,  604,  472,  602,  600,  496,  472,  350,  598,
    1003       350,  474,  598,  474,  587,  586,  584,  474,  352,  477,
    1004       352,  476,  477,  476,  582,  580,  578,  476,  354,  576,
    1005       354,  478,  574,  478,  572,   86,   86,  478,  361,   86,
    1006       361,  480,   86,  480,   86,   86,   86,  480,  363,   86,
    1007       363,  485,  508,  485,  506,  485,  504,  485,  376,  502,
    1008 
    1009       376,  500,  376,  498,  376,  378,  378,  484,  378,  378,
    1010       378,  481,  378,  497,  479,  497,  357,  357,  477,  497,
    1011       499,  475,  499,  473,  470,  468,  499,  501,  466,  501,
    1012       464,   86,   86,  501,  388,   86,  388,  503,  396,  503,
    1013       395,  393,  391,  503,  390,  389,  390,  505,  268,  505,
    1014       263,  262,  385,  505,  392,  385,  392,  507,  250,  507,
    1015       375,  375,  238,  507,  394,  370,  394,   85,  364,  362,
    1016        85,  360,   85,   85,   85,   85,   85,  462,  462,  462,
    1017       462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
    1018       571,  356,  571,  355,  353,  351,  571,  463,  347,  463,
    1019 
    1020       573,  345,  573,  203,  199,   86,  573,  465,  275,  465,
    1021       575,  274,  575,  272,  268,  263,  575,  467,  266,  467,
    1022       577,  263,  577,  261,  260,  259,  577,  469,  238,  469,
    1023       579,  230,  579,   84,   84,   86,  579,  472,  203,  472,
    1024       581,  201,  581,   84,  121,  116,  581,  474,   86,  474,
    1025       476,  875,  476,   69,   69,  875,  476,  583,  875,  583,
    1026       875,  875,  875,  583,  478,  875,  478,  585,  875,  585,
    1027       875,  875,  875,  585,  480,  875,  480,  485,  875,  485,
    1028       875,  485,  875,  485,  378,  875,  378,  875,  875,  875,
    1029       378,  599,  875,  599,  875,  875,  875,  599,  497,  875,
    1030 
    1031       497,  601,  875,  601,  875,  875,  875,  601,  499,  875,
    1032       499,  603,  875,  603,  875,  875,  875,  603,  501,  875,
    1033       501,  605,  875,  605,  875,  875,  875,  605,  503,  875,
    1034       503,  607,  875,  607,  875,  875,  875,  607,  505,  875,
    1035       505,  609,  875,  609,  875,  875,  875,  609,  507,  875,
    1036       507,   85,  875,  875,   85,  875,   85,   85,   85,   85,
    1037        85,  663,  663,  663,  663,  663,  663,  663,  663,  663,
    1038       663,  663,  663,  663,  665,  875,  665,  875,  875,  875,
    1039       665,  571,  875,  571,  667,  875,  667,  875,  875,  875,
    1040       667,  573,  875,  573,  669,  875,  669,  875,  875,  875,
    1041 
    1042       669,  575,  875,  575,  671,  875,  671,  875,  875,  875,
    1043       671,  577,  875,  577,  673,  875,  673,  875,  875,  875,
    1044       673,  579,  875,  579,  675,  875,  675,  875,  875,  875,
    1045       675,  581,  875,  581,  677,  875,  677,  875,  875,  875,
    1046       677,  583,  875,  583,   85,  875,   85,  875,  875,  875,
    1047        85,  585,  875,  585,  485,  875,  485,  875,  875,  875,
    1048       485,  685,  875,  685,  875,  875,  875,  685,  599,  875,
    1049       599,  687,  875,  687,  875,  875,  875,  687,  601,  875,
    1050       601,  689,  875,  689,  875,  875,  875,  689,  603,  875,
    1051       603,  139,  875,  139,  875,  875,  875,  139,  605,  875,
    1052 
    1053       605,  692,  875,  692,  607,  875,  607,   85,  875,  875,
    1054        85,  875,   85,   85,   85,   85,   85,  609,  875,  609,
    1055       663,  663,  663,  663,  663,  663,  663,  663,  663,  663,
    1056       663,  663,  663,  732,  875,  732,  875,  875,  875,  732,
    1057       665,  875,  665,  202,  875,  202,  875,  875,  875,  202,
    1058       667,  875,  667,  735,  875,  735,  669,  875,  669,  202,
    1059       875,  875,  202,  875,  202,  202,  202,  202,  202,  671,
    1060       875,  671,  736,  875,  736,  673,  875,  673,  675,  875,
    1061       675,  737,  875,  737,  677,  875,  677,   85,  875,   85,
    1062       739,  875,  739,  875,  875,  875,  739,  685,  875,  685,
    1063 
    1064       267,  875,  267,  875,  875,  875,  267,  687,  875,  687,
    1065       742,  875,  742,  689,  875,  689,  139,  875,  139,  743,
    1066       875,  743,  875,  875,  875,  743,   85,  875,  875,   85,
    1067       875,   85,   85,   85,   85,   85,  776,  875,  776,  732,
    1068       875,  732,  202,  875,  202,  777,  875,  777,  875,  875,
    1069       875,  777,  779,  875,  779,  875,  875,  875,  779,  781,
    1070       875,  781,  875,  875,  875,  781,  783,  875,  783,  784,
    1071       875,  784,  875,  875,  875,  784,  786,  875,  786,  875,
    1072       875,  875,  786,  807,  875,  807,  875,  875,  875,  807,
    1073       809,  875,  809,  875,  875,  875,  809,  811,  875,  811,
    1074 
    1075       875,  875,  875,  811,  813,  875,  813,  875,  875,  875,
    1076       813,  815,  875,  815,  875,  875,  875,  815,  817,  875,
    1077       817,  875,  875,  875,  817,  609,  875,  609,  875,  875,
    1078       875,  609,  836,  875,  836,  875,  875,  875,  836,  671,
    1079       875,  671,  875,  875,  875,  671,  675,  875,  675,  875,
    1080       875,  875,  675,   85,  875,   85,  875,  875,  875,   85,
    1081       841,  875,  841,  875,  875,  875,  841,  139,  875,  139,
    1082       875,  875,  875,  139,  202,  875,  202,  875,  875,  875,
    1083       202,   11,  875,  875,  875,  875,  875,  875,  875,  875,
    1084       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1085 
    1086       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1087       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1088       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1089       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1090       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1091       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1092       875,  875,  875,  875,  875,  875
     796       71,   71,   71,   71,   71,   71,   71,   71,   72,   72,
     797       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
     798       72,   72,   72,   71,   73,   71,   71,   72,   74,   72,
     799       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
     800       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
     801       72,   72,   72,   71,   71,   71,   71,   76,   76,   79,
     802       79,  123,  124,   90,  141,   79,   79,   87,   76,   76,
     803       80,   81,   82,   82,   82,   80,   82,   81,   83,   83,
     804
     805       83,   82,   91,   93,  142,  146,   87,   98,   95,   99,
     806       99,   99,   99,   99,   99,  252,  887,   94,  100,   85,
     807       96,   97,   85,  101,  177,  118,   77,   77,   77,   77,
     808      143,  147,   87,  102,  103,  144,  104,  104,  104,  104,
     809      105,  105,  119,   87,  120,  121,  148,   87,  149,  254,
     810      260,   87,  161,  106,  427,  194,  107,   87,   87,  150,
     811      151,  152,  108,  109,  153,  154,  183,  155,  110,   87,
     812      156,  157,   87,   87,  106,   87,  145,  162,  158,  159,
     813      111,  160,   87,  195,  163,   87,   87,  180,  108,  206,
     814      164,  109,  103,  181,  112,  112,  112,  112,  112,  112,
     815
     816       87,  169,  305,  170,  182,   87,   87,   87,   87,  165,
     817       87,  106,  171,  166,  113,  207,  178,   87,  167,  188,
     818      114,  283,  168,  179,  230,   87,  115,  189,  193,  184,
     819      185,  143,  106,  196,  190,  263,  144,  264,  116,  186,
     820       87,  298,  187,  200,  201,  172,  114,  125,  200,  191,
     821      231,  126,  127,  173,  128,  174,  129,  130,  175,  131,
     822      250,  132,  176,  258,  202,  202,  202,  202,  202,  202,
     823      133,  134,  135,  263,   87,  264,   87,  145,  197,   81,
     824       82,   82,   82,  197,  251,  282,  198,  259,   87,   87,
     825      136,  192,   87,  137,   80,   81,   82,   82,   82,   80,
     826
     827       82,   81,   82,   82,   82,   82,   82,   81,   83,   83,
     828       83,   82,  263,  307,  264,  242,  242,  242,  242,  248,
     829      138,  139,  209,  210,   87,  249,  256,  209,   87,  211,
     830      249,  263,  257,  264,  211,   99,   99,   99,   99,   99,
     831       99,  265,  887,  212,  212,  212,  212,  243,  248,  310,
     832      887,  249,  265,  263,  211,  264,  249,  103,  257,  105,
     833      105,  105,  105,  105,  105,   87,  263,  241,  264,  213,
     834      887,  263,  211,  264,   87,  257,  106,  211,  211,  887,
     835      271,  211,  211,  280,  255,  266,  263,   87,  264,  211,
     836      404,  244,  211,  256,  211,  214,  211,  106,  215,  217,
     837
     838      263,  257,  264,  218,  219,  281,  272,  887,  220,  221,
     839      245,  222,  245,  223,   87,  246,  246,  246,  246,  246,
     840      246,   87,  224,  225,  226,  263,  267,  264,  263,  143,
     841      264,   87,  284,   87,  144,   87,  278,   87,   87,   87,
     842       87,   87,  227,  279,  300,  228,   87,  247,   87,  286,
     843      306,  303,   87,  285,   87,  299,   87,   87,   87,  301,
     844      302,  323,  308,  311,  304,   87,   87,  314,  309,   87,
     845      313,  315,   87,  229,  233,  233,  233,  233,  233,  233,
     846       87,  312,   87,  316,  318,   87,  317,   87,   87,   87,
     847      234,  235,   87,  236,  237,  627,  324,  320,  325,  360,
     848
     849      329,  361,  319,  328,  321,  322,  238,  143,  326,  327,
     850       87,  234,  235,  234,   87,  331,  236,  330,  237,  287,
     851      288,  289,   87,  290,  291,   87,   87,  292,   87,  293,
     852      332,  346,   87,  335,  294,  295,  296,   87,  297,  333,
     853      709,   87,  334,   87,  337,  341,  360,  342,  361,  360,
     854       87,  361,  378,  338,  339,  336,  343,  347,  360,  360,
     855      361,  361,  340,  197,   81,   82,   82,   82,  197,  200,
     856      201,  198,  209,  210,  200,  200,  201,  209,  378,   87,
     857      200,  344,  201,   87,  362,  360,  344,  361,  345,  434,
     858      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
     859
     860      202,  202,  202,  202,  202,  202,  202,  202,  352,  352,
     861      352,  352,  361,  361,  360,  363,  361,  360,  360,  361,
     862      361,  369,  887,  369,  143,  360,  360,  361,  361,  370,
     863       87,  370,  388,   87,  371,  371,  371,  371,  371,  371,
     864      353,  373,  390,  401,  369,  373,  369,   87,   87,  234,
     865      235,  402,  236,  237,   87,  263,  375,  264,  388,  263,
     866       87,  264,  373,  416,  373,  403,  372,   87,  391,  373,
     867      234,  235,  234,   87,  407,  236,   87,  237,  105,  105,
     868      105,  105,  105,  105,  246,  246,  246,  246,  246,  246,
     869      405,  245,   87,  245,  414,  106,  246,  246,  246,  246,
     870
     871      246,  246,  105,  105,  105,  105,  105,  105,   87,   87,
     872      255,   87,  409,  406,  408,   87,  106,  376,  376,  376,
     873      376,  376,  376,  381,  421,   87,  112,  112,  112,  112,
     874      112,  112,  887,  234,  255,   87,  236,  237,  413,   87,
     875       87,  417,  418,   87,  419,  383,   87,  384,   87,  377,
     876       87,  385,  420,  425,  234,   87,  234,  386,  260,  236,
     877       87,  237,  422,   87,  423,  410,  415,   87,   87,  387,
     878       87,  411,  412,  384,   87,  428,  426,  385,  424,  432,
     879       87,  429,   87,   87,   87,  433,  438,   87,   87,  430,
     880      431,   87,  436,  437,   87,   87,  441,  439,   87,  440,
     881
     882      442,  435,   87,  443,   87,   87,   87,   87,   87,   87,
     883       87,   87,   87,  445,   87,  447,  448,   87,   87,   87,
     884      444,  449,  446,  451,   87,   87,  450,  456,   87,  455,
     885      452,  454,  453,   87,   87,   87,  457,  462,  461,   87,
     886      458,  459,  460,  465,  466,   87,  201,  464,  344,  201,
     887      887,  463,  199,  344,  500,  345,  211,  211,  211,  211,
     888      467,  352,  352,  352,  352,  360,  360,  361,  361,  371,
     889      371,  371,  371,  371,  371,  370,  492,  370,  501,   87,
     890      371,  371,  371,  371,  371,  371,  493,   87,  477,  488,
     891      488,  488,  488,  488,  488,  233,  233,  233,  233,  233,
     892
     893      233,   87,  492,  516,  496,  234,  492,   87,  236,  237,
     894      242,  242,  242,  242,  105,  105,  494,  495,  515,  381,
     895      518,  489,  495,  496,   87,   87,  234,  374,  234,   87,
     896      496,  236,  492,  237,  376,  376,  376,  376,  376,  376,
     897      887,  383,  375,  384,  517,   87,  522,  385,  545,  496,
     898      497,   87,  497,  386,  519,  498,  498,  498,  498,  498,
     899      498,   87,  383,   87,  384,  387,  377,   87,  385,  384,
     900       87,   87,  520,  385,  502,   87,  521,   87,   87,  523,
     901       87,   87,   87,   87,  524,  526,  387,  499,  532,   87,
     902      384,  525,   87,  527,  385,   87,  531,  528,  529,  530,
     903
     904       87,  535,   87,  536,  533,   87,   87,  539,   87,   87,
     905       87,  534,   87,  537,   87,   87,   87,  541,  546,  538,
     906      540,   87,   87,  544,   87,  548,   87,   87,   87,  542,
     907      547,  543,   87,   87,  550,   87,  549,  556,   87,  552,
     908       87,   87,  554,   87,  551,   87,   87,  559,  553,   87,
     909      557,   87,  555,   87,   87,   87,  492,   87,  558,  565,
     910      564,  560,  566,  561,  567,  562,   87,   87,  563,   87,
     911       87,  201,  573,  568,   87,  571,  570,  577,  569,  599,
     912      574,  492,  492,  576,   87,  572,  211,  211,  211,  211,
     913      718,  493,  575,  488,  488,  488,  488,  488,  488,  376,
     914
     915      376,  376,  376,  376,  376,  599,  623,  492,  492,  234,
     916       87,   87,  236,  237,  595,   87,  595,   87,  598,  596,
     917      596,  596,  596,  596,  596,  489,  620,  618,  619,   87,
     918      234,  490,  234,   87,  492,  236,   87,  237,  498,  498,
     919      498,  498,  498,  498,   87,   87,  622,  626,   87,  621,
     920       87,  597,  600,  600,  600,  600,  600,  600,  624,   87,
     921       87,   87,   87,  629,  625,  631,   87,  633,  601,  632,
     922      628,  602,  603,  497,  635,  497,   87,  636,  498,  498,
     923      498,  498,  498,  498,  604,  630,   87,  634,   87,  601,
     924       87,  601,   87,   87,  602,  637,  603,  642,  641,   87,
     925
     926       87,  640,   87,   87,   87,   87,   87,  639,  643,   87,
     927      638,  647,   87,   87,   87,   87,   87,  644,  648,  645,
     928       87,  646,   87,  654,   87,  650,   87,  653,   87,  649,
     929      651,  652,   87,  655,   87,   87,   87,   87,   87,  657,
     930      659,  664,  656,  661,  660,  658,   87,   87,  666,  663,
     931       87,   87,  688,   87,  688,  665,   87,  662,  488,  488,
     932      488,  488,  488,  488,  668,  702,  703,  667,  596,  596,
     933      596,  596,  596,  596,  595,  688,  595,  688,   87,  596,
     934      596,  596,  596,  596,  596,  689,   87,  721,   87,  689,
     935      594,  686,  686,  686,  686,  686,  686,  600,  600,  600,
     936
     937      600,  600,  600,  704,   87,   87,  689,  601,  689,  699,
     938      602,  603,  701,  689,   87,   87,   87,   87,   87,   87,
     939       87,   87,  700,  687,  706,   87,  707,   87,  601,  604,
     940      601,   87,  708,  602,  710,  603,   87,  705,  711,  716,
     941      712,  713,  715,   87,  714,   87,   87,   87,  717,   87,
     942       87,   87,   87,   87,   87,   87,   87,   87,  719,  724,
     943       87,  727,  732,   87,  722,  720,  731,   87,   87,  723,
     944       87,  736,  725,  726,  728,   87,  733,  730,  734,  735,
     945      729,  686,  686,  686,  686,  686,  686,  600,  600,  600,
     946      600,  600,  600,   87,   87,   87,  750,  601,   87,  754,
     947
     948      602,  603,   87,  751,   87,  753,   87,  756,   87,  757,
     949       87,   87,   87,  687,   87,  762,  759,  764,  601,  690,
     950      601,  752,  755,  602,  760,  603,  758,   87,   87,   87,
     951      767,  765,   87,   87,   87,  763,  761,  768,  766,   87,
     952      770,   87,   87,   87,   87,   87,  769,   87,   87,  771,
     953       87,   87,  774,   87,  772,   87,   87,   87,   87,  779,
     954       87,  795,  780,  773,   87,   87,   87,  775,  776,  777,
     955      797,  778,  686,  686,  686,  686,  686,  686,  793,   87,
     956      796,  794,   87,  800,   87,  801,  803,   87,   87,  798,
     957      804,  805,   87,   87,   87,   87,  799,  802,  807,  806,
     958
     959       87,   87,   87,  808,  743,   87,   87,   87,  809,  828,
     960       87,   87,   87,   87,  830,  831,   87,  810,  833,   87,
     961       87,   87,  834,   87,  811,  827,  826,   87,   87,  825,
     962      836,  837,  829,   87,  832,   87,   87,  839,   87,  840,
     963       87,   87,  835,   87,  838,  850,   87,  887,   87,  851,
     964      852,  855,   87,  856,  849,  857,   87,   87,  853,  858,
     965       87,   87,   87,   87,  854,   87,  859,  864,  865,  860,
     966      863,   87,   87,  866,   87,  868,  867,  869,   87,   87,
     967       87,  870,   87,   87,   87,  873,   87,  875,   87,  876,
     968       87,   87,   87,  874,   87,  872,   87,   87,   87,  871,
     969
     970       87,  880,   87,  887,  862,  887,  879,  881,  887,  887,
     971      877,  878,  886,  887,  861,  884,   87,   87,  882,  883,
     972       87,   87,  885,   69,   69,   69,   69,   69,   69,   69,
     973       69,   69,   69,   69,   69,   69,   75,   75,   75,   75,
     974       75,   75,   75,   75,   75,   75,   75,   75,   75,   78,
     975       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
     976       78,   78,   86,   87,  887,   86,  887,   86,   86,   86,
     977       86,   86,  140,  848,  887,  847,  140,  140,  140,  140,
     978      140,  140,  199,  199,  199,  199,  199,  199,  199,  199,
     979      199,  199,  199,  199,  199,  204,  887,  845,  204,  887,
     980
     981      204,  204,  204,  204,  204,  208,  844,  208,  208,  887,
     982      208,  208,  208,  208,  208,  208,  843,  208,  216,  887,
     983      842,  216,  216,  216,  216,  216,  216,  216,  216,   87,
     984      216,  239,  239,  239,  239,  239,  239,  239,  239,  239,
     985      239,  239,  239,  239,  253,  253,   87,  253,   87,  887,
     986      824,  253,  269,  887,  823,  269,  821,  269,  269,  269,
     987      269,  269,  273,  887,  273,  819,  887,  817,  273,  275,
     988      887,  275,  815,  813,   87,  275,  348,   87,  348,   87,
     989       87,   87,  348,  350,   87,  350,   87,   87,   87,  350,
     990      354,   87,  354,   87,   87,  887,  354,  356,  792,  356,
     991
     992      790,  887,  887,  356,  358,  787,  358,  785,  783,   87,
     993      358,  365,   87,  365,   87,   87,   87,  365,  367,   87,
     994      367,   87,  749,  746,  367,  239,  239,  239,  239,  239,
     995      239,  239,  239,  239,  239,  239,  239,  239,  380,  745,
     996      380,  382,  382,  743,  382,  382,  382,  205,  382,  253,
     997      253,  739,  253,  392,  738,  392,  670,   87,   87,  392,
     998      394,   87,  394,   87,   87,   87,  394,  396,   87,  396,
     999       87,   87,   87,  396,  273,   87,  273,  398,   87,  398,
     1000       87,   87,   87,  398,  275,  697,  275,   86,  696,  694,
     1001       86,  692,   86,   86,   86,   86,   86,  199,  199,  199,
     1002
     1003      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
     1004      468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
     1005      468,  468,  468,  469,  690,  469,  598,  685,  684,  469,
     1006      471,  682,  471,  680,  678,  676,  471,  473,  674,  473,
     1007      672,  670,   87,  473,  348,   87,  348,  475,   87,  475,
     1008       87,   87,   87,  475,  350,   87,  350,  478,   87,  478,
     1009       87,   87,   87,  478,  354,  617,  354,  480,  615,  480,
     1010      613,  611,  609,  480,  356,  607,  356,  482,  502,  482,
     1011      605,  605,  594,  482,  358,  593,  358,  484,  591,  484,
     1012      483,  483,  589,  484,  365,  587,  365,  486,  585,  486,
     1013
     1014      583,  581,  579,  486,  367,   87,  367,  491,   87,  491,
     1015       87,  491,   87,  491,  380,   87,  380,   87,  380,   87,
     1016      380,  382,  382,   87,  382,  382,  382,  514,  382,  503,
     1017      512,  503,  510,  508,  506,  503,  505,  504,  505,  490,
     1018      487,  485,  505,  507,  361,  507,  361,  483,  481,  507,
     1019      392,  479,  392,  509,  476,  509,  474,  472,  470,  509,
     1020      394,   87,  394,  511,   87,  511,   87,  400,  399,  511,
     1021      396,  397,  396,  513,  395,  513,  393,  270,  265,  513,
     1022      398,  264,  398,   86,  389,  389,   86,  252,   86,   86,
     1023       86,   86,   86,  468,  468,  468,  468,  468,  468,  468,
     1024
     1025      468,  468,  468,  468,  468,  468,  578,  379,  578,  379,
     1026      240,  374,  578,  469,  368,  469,  580,  366,  580,  364,
     1027      360,  359,  580,  471,  357,  471,  582,  355,  582,  351,
     1028      349,  205,  582,  473,  201,  473,  584,   87,  584,  277,
     1029      276,  274,  584,  475,  270,  475,  586,  265,  586,  268,
     1030      265,  263,  586,  478,  262,  478,  588,  261,  588,  240,
     1031      232,   85,  588,  480,   85,  480,  482,   87,  482,  205,
     1032      203,   85,  482,  590,  122,  590,  117,   87,  887,  590,
     1033      484,   70,  484,  592,   70,  592,  887,  887,  887,  592,
     1034      486,  887,  486,  491,  887,  491,  887,  491,  887,  491,
     1035
     1036      382,  887,  382,  887,  887,  887,  382,  606,  887,  606,
     1037      887,  887,  887,  606,  503,  887,  503,  608,  887,  608,
     1038      887,  887,  887,  608,  505,  887,  505,  610,  887,  610,
     1039      887,  887,  887,  610,  507,  887,  507,  612,  887,  612,
     1040      887,  887,  887,  612,  509,  887,  509,  614,  887,  614,
     1041      887,  887,  887,  614,  511,  887,  511,  616,  887,  616,
     1042      887,  887,  887,  616,  513,  887,  513,   86,  887,  887,
     1043       86,  887,   86,   86,   86,   86,   86,  669,  669,  669,
     1044      669,  669,  669,  669,  669,  669,  669,  669,  669,  669,
     1045      671,  887,  671,  887,  887,  887,  671,  578,  887,  578,
     1046
     1047      673,  887,  673,  887,  887,  887,  673,  580,  887,  580,
     1048      675,  887,  675,  887,  887,  887,  675,  582,  887,  582,
     1049      677,  887,  677,  887,  887,  887,  677,  584,  887,  584,
     1050      679,  887,  679,  887,  887,  887,  679,  586,  887,  586,
     1051      681,  887,  681,  887,  887,  887,  681,  588,  887,  588,
     1052      683,  887,  683,  887,  887,  887,  683,  590,  887,  590,
     1053       86,  887,   86,  887,  887,  887,   86,  592,  887,  592,
     1054      491,  887,  491,  887,  887,  887,  491,  691,  887,  691,
     1055      887,  887,  887,  691,  606,  887,  606,  693,  887,  693,
     1056      887,  887,  887,  693,  608,  887,  608,  695,  887,  695,
     1057
     1058      887,  887,  887,  695,  610,  887,  610,  140,  887,  140,
     1059      887,  887,  887,  140,  612,  887,  612,  698,  887,  698,
     1060      614,  887,  614,   86,  887,  887,   86,  887,   86,   86,
     1061       86,   86,   86,  616,  887,  616,  669,  669,  669,  669,
     1062      669,  669,  669,  669,  669,  669,  669,  669,  669,  737,
     1063      887,  737,  887,  887,  887,  737,  671,  887,  671,  204,
     1064      887,  204,  887,  887,  887,  204,  673,  887,  673,  740,
     1065      887,  740,  675,  887,  675,  204,  887,  887,  204,  887,
     1066      204,  204,  204,  204,  204,  677,  887,  677,  741,  887,
     1067      741,  679,  887,  679,  681,  887,  681,  742,  887,  742,
     1068
     1069      683,  887,  683,   86,  887,   86,  744,  887,  744,  887,
     1070      887,  887,  744,  691,  887,  691,  269,  887,  269,  887,
     1071      887,  887,  269,  693,  887,  693,  747,  887,  747,  695,
     1072      887,  695,  140,  887,  140,  748,  887,  748,  887,  887,
     1073      887,  748,   86,  887,  887,   86,  887,   86,   86,   86,
     1074       86,   86,  781,  887,  781,  737,  887,  737,  204,  887,
     1075      204,  782,  887,  782,  887,  887,  887,  782,  784,  887,
     1076      784,  887,  887,  887,  784,  786,  887,  786,  887,  887,
     1077      887,  786,  788,  887,  788,  789,  887,  789,  887,  887,
     1078      887,  789,  791,  887,  791,  887,  887,  887,  791,  812,
     1079
     1080      887,  812,  887,  887,  887,  812,  814,  887,  814,  887,
     1081      887,  887,  814,  816,  887,  816,  887,  887,  887,  816,
     1082      818,  887,  818,  887,  887,  887,  818,  820,  887,  820,
     1083      887,  887,  887,  820,  822,  887,  822,  887,  887,  887,
     1084      822,  616,  887,  616,  887,  887,  887,  616,  841,  887,
     1085      841,  887,  887,  887,  841,  677,  887,  677,  887,  887,
     1086      887,  677,  681,  887,  681,  887,  887,  887,  681,   86,
     1087      887,   86,  887,  887,  887,   86,  846,  887,  846,  887,
     1088      887,  887,  846,  140,  887,  140,  887,  887,  887,  140,
     1089      204,  887,  204,  887,  887,  887,  204,   11,  887,  887,
     1090
     1091      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1092      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1093      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1094      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1095      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1096      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1097      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1098      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1099      887,  887
    10931100    } ;
    10941101
    1095 static yyconst flex_int16_t yy_chk[2867] =
     1102static yyconst flex_int16_t yy_chk[2883] =
    10961103    {   0,
    10971104        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    11141121        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    11151122        5,    5,    5,    5,    5,    5,    5,    7,    8,    9,
    1116        10,   37,   37,   20,   39,    9,   10,  874,    7,    8,
     1123       10,   37,   37,   20,   39,    9,   10,  886,    7,    8,
    11171124       13,   13,   13,   13,   13,   13,   15,   15,   15,   15,
    11181125
    11191126       15,   15,   20,   25,   39,   42,   53,   28,   27,   28,
    1120        28,   28,   28,   28,   28,  108,  114,   25,   29,   25,
     1127       28,   28,   28,   28,   28,  109,  115,   25,   29,   25,
    11211128       27,   27,   27,   29,   53,   35,    7,    8,    9,   10,
    11221129       40,   42,   48,   29,   30,   40,   30,   30,   30,   30,
    1123        30,   30,   35,   61,   35,   35,   44,  869,   44,  108,
    1124       114,  868,   48,   30,   63,   61,   30,   56,   47,   45,
    1125        45,   45,   30,   30,   45,   45,   56,   45,   30,   55,
     1130       30,   30,   35,   62,   35,   35,   44,  302,   44,  109,
     1131      115,  885,   48,   30,  302,   62,   30,   57,   47,   45,
     1132       45,   45,   30,   30,   45,   45,   57,   45,   30,   55,
    11261133       45,   45,   49,   40,   30,   45,   40,   49,   45,   47,
    1127        30,   47,   72,  125,   49,  125,   51,   55,   30,   86,
     1134       30,   47,   56,   64,   49,  164,   51,   55,   30,   73,
    11281135       49,   30,   31,   55,   31,   31,   31,   31,   31,   31,
    11291136
    1130        50,   51,  866,   51,   63,  153,   54,   58,   72,   50,
    1131        60,   31,   51,   50,   31,   86,   54,   57,   50,   58,
    1132        31,  153,   50,   54,  141,  156,   31,   58,   60,   57,
    1133        57,   59,   31,  126,   58,  126,   59,  156,   31,   57,
    1134        52,  865,   57,   67,   67,   52,   31,   38,   67,   59,
    1135       141,   38,   38,   52,   38,   52,   38,   38,   52,   38,
    1136       107,   38,   52,  113,   67,   67,   67,   67,   67,   67,
    1137        38,   38,   38,  128,   59,  128,  152,   59,   66,   66,
    1138        66,   66,   66,   66,  107,  152,   66,  113,  863,  862,
    1139        38,   59,  165,   38,   79,   79,   79,   79,   79,   79,
    1140 
    1141        81,   81,   81,   81,   81,   81,   82,   82,   82,   82,
    1142        82,   82,  131,  165,  131,  103,  103,  103,  103,  106,
    1143        38,   38,   76,   76,  856,  106,  112,   76,  168,   76,
    1144       110,  133,  112,  133,   76,  102,  102,  102,  102,  102,
    1145       102,  130,  103,   76,   76,   76,   76,  103,  110,  168,
    1146       109,  106,  129,  130,   76,  130,  110,  104,  112,  104,
    1147       104,  104,  104,  104,  104,  149,  129,  102,  129,   76,
    1148       103,  136,   76,  136,  158,  115,  104,   76,   76,  109,
    1149       149,   76,   76,  155,  109,  132,  132,  149,  132,   76,
    1150       158,  104,   76,  115,   76,   76,   76,  104,   76,   84,
    1151 
    1152       138,  115,  138,   84,   84,  155,  166,  109,   84,   84,
    1153       105,   84,  105,   84,  150,  105,  105,  105,  105,  105,
    1154       105,  151,   84,   84,   84,  134,  134,  134,  144,  166,
    1155       154,  157,  150,  144,  159,  167,  157,  157,  157,  151,
    1156       157,  157,   84,  161,  157,   84,  157,  105,  154,  160,
    1157       163,  157,  157,  157,  162,  157,  159,  855,  160,  162,
    1158       164,  169,  167,  170,  161,  161,  169,  163,  171,  172,
    1159       164,  144,  162,   84,   98,   98,   98,   98,   98,   98,
    1160       173,  174,  175,  171,  169,  170,  172,  179,  176,  185,
    1161        98,   98,  178,   98,   98,  180,  189,  182,  173,  187,
    1162 
    1163       180,  174,  185,  186,  179,  188,   98,  178,  181,  175,
    1164       176,   98,   98,   98,  178,  182,   98,  183,   98,  181,
    1165       184,  191,  190,  186,  188,  184,  187,  528,  183,  181,
    1166       181,  192,  207,  207,  191,  190,  191,  207,  232,  189,
    1167       184,  203,  189,  190,  192,  183,  195,  195,  195,  195,
    1168       195,  195,  196,  196,  195,  528,  854,  196,  198,  198,
    1169       216,  232,  216,  198,  200,  200,  217,  203,  217,  200,
    1170       218,  200,  218,  196,  196,  196,  196,  196,  196,  198,
    1171       198,  198,  198,  198,  198,  200,  200,  200,  200,  200,
    1172       200,  210,  210,  210,  210,  219,  220,  221,  282,  221,
    1173 
    1174       222,  222,  223,  222,  223,  224,  224,  224,  220,  219,
    1175       220,  219,  226,  227,  226,  227,  234,  235,  282,  233,
    1176       234,  233,  284,  210,  233,  233,  233,  233,  233,  233,
    1177       241,  239,  239,  277,  239,  239,  264,  234,  264,  234,
    1178       235,  265,  284,  265,  234,  242,  242,  242,  242,  242,
    1179       242,  277,  239,  239,  239,  246,  233,  239,  278,  239,
    1180       276,  280,  242,  279,  241,  243,  243,  243,  243,  243,
    1181       243,  254,  268,  276,  853,  281,  278,  242,  280,  279,
    1182       281,  246,  288,  242,  244,  244,  244,  244,  244,  244,
    1183       253,  253,  253,  253,  253,  253,  251,  254,  268,  287,
    1184 
    1185       244,  283,  286,  244,  244,  245,  283,  245,  288,  295,
    1186       245,  245,  245,  245,  245,  245,  244,  287,  251,  849,
    1187       251,  244,  253,  244,  251,  286,  244,  295,  244,  289,
    1188       251,  258,  258,  258,  258,  258,  258,  285,  290,  292,
    1189       291,  294,  251,  293,  289,  291,  251,  297,  292,  301,
    1190       251,  299,  285,  303,  290,  290,  293,  298,  285,  285,
    1191       299,  302,  298,  258,  300,  297,  307,  304,  294,  301,
    1192       306,  300,  304,  305,  303,  303,  306,  308,  305,  302,
    1193       310,  309,  311,  312,  313,  307,  308,  309,  314,  313,
    1194       315,  311,  316,  314,  318,  315,  310,  317,  312,  320,
    1195 
    1196       322,  321,  323,  324,  326,  325,  328,  318,  327,  329,
    1197       320,  316,  315,  322,  330,  317,  321,  327,  333,  331,
    1198       334,  326,  335,  337,  323,  325,  324,  333,  328,  336,
    1199       338,  337,  329,  339,  381,  338,  330,  331,  340,  340,
    1200       335,  341,  336,  340,  358,  340,  358,  341,  339,  348,
    1201       348,  348,  348,  349,  349,  349,  349,  359,  381,  359,
    1202       397,  846,  402,  334,  366,  366,  366,  366,  366,  366,
    1203       368,  397,  368,  402,  404,  368,  368,  368,  368,  368,
    1204       368,  348,  367,  367,  367,  367,  367,  367,  370,  370,
    1205       370,  370,  370,  370,  400,  398,  404,  435,  367,  376,
    1206 
    1207       843,  367,  367,  371,  371,  371,  371,  371,  371,  376,
    1208       379,  398,  377,  400,  367,  378,  379,  435,  383,  367,
    1209       370,  367,  377,  412,  367,  376,  367,  372,  372,  372,
    1210       372,  372,  372,  399,  382,  371,  383,  378,  377,  378,
    1211       415,  412,  379,  378,  383,  380,  415,  380,  399,  378,
    1212       380,  380,  380,  380,  380,  380,  382,  401,  382,  372,
    1213       407,  378,  382,  403,  405,  378,  401,  408,  382,  378,
    1214       406,  411,  403,  405,  409,  410,  407,  416,  418,  414,
    1215       382,  413,  380,  406,  382,  417,  413,  409,  382,  408,
    1216       419,  410,  410,  411,  414,  421,  417,  418,  416,  423,
    1217 
    1218       425,  414,  426,  427,  428,  419,  431,  429,  430,  421,
    1219       433,  423,  427,  429,  436,  431,  427,  437,  438,  439,
    1220       441,  425,  440,  430,  426,  433,  443,  428,  445,  441,
    1221       447,  446,  437,  448,  439,  449,  436,  450,  451,  455,
    1222       438,  452,  440,  443,  457,  633,  450,  460,  453,  458,
    1223       447,  445,  446,  448,  452,  453,  451,  449,  454,  456,
    1224       458,  457,  461,  633,  455,  454,  462,  456,  515,  460,
    1225       488,  461,  462,  471,  471,  471,  471,  456,  482,  482,
    1226       482,  482,  482,  482,  484,  484,  484,  484,  484,  484,
    1227       515,  513,  485,  487,  482,  489,  488,  482,  482,  486,
    1228 
    1229       510,  486,  485,  487,  486,  486,  486,  486,  486,  486,
    1230       482,  513,  509,  510,  520,  482,  484,  482,  485,  487,
    1231       482,  489,  482,  491,  491,  491,  491,  491,  491,  509,
    1232       512,  514,  519,  516,  520,  519,  486,  492,  492,  492,
    1233       492,  492,  492,  517,  514,  512,  516,  521,  517,  525,
    1234       518,  522,  523,  492,  525,  842,  492,  492,  493,  841,
    1235       493,  518,  521,  493,  493,  493,  493,  493,  493,  492,
    1236       522,  524,  526,  523,  492,  527,  492,  529,  530,  492,
    1237       524,  492,  531,  526,  532,  533,  529,  536,  527,  535,
    1238       533,  538,  539,  532,  542,  535,  536,  540,  541,  531,
    1239 
    1240       530,  544,  545,  542,  546,  547,  549,  554,  556,  539,
    1241       544,  561,  540,  541,  555,  552,  546,  538,  550,  545,
    1242       547,  549,  553,  550,  552,  556,  558,  555,  559,  554,
    1243       560,  553,  562,  561,  558,  563,  564,  560,  559,  565,
    1244       567,  563,  568,  613,  562,  564,  612,  617,  594,  565,
    1245       596,  698,  613,  612,  617,  568,  698,  567,  587,  587,
    1246       587,  587,  587,  587,  588,  588,  588,  588,  588,  588,
    1247       590,  594,  590,  596,  614,  590,  590,  590,  590,  590,
    1248       590,  593,  593,  593,  593,  593,  593,  614,  615,  616,
    1249       587,  589,  589,  589,  589,  589,  589,  595,  611,  622,
    1250 
    1251       618,  595,  619,  611,  621,  615,  620,  589,  618,  620,
    1252       589,  589,  616,  593,  623,  624,  611,  621,  595,  619,
    1253       595,  622,  625,  589,  626,  595,  628,  629,  589,  623,
    1254       589,  627,  630,  589,  627,  589,  631,  624,  634,  625,
    1255       632,  635,  637,  628,  638,  644,  626,  630,  639,  632,
    1256       635,  645,  640,  650,  629,  647,  631,  696,  693,  651,
    1257       634,  640,  650,  659,  637,  644,  651,  638,  658,  662,
    1258       639,  661,  647,  659,  697,  840,  839,  658,  645,  693,
    1259       661,  697,  699,  696,  662,  680,  680,  680,  680,  680,
    1260       680,  684,  684,  684,  684,  684,  684,  694,  702,  705,
    1261 
    1262       700,  680,  699,  700,  680,  680,  701,  694,  704,  701,
    1263       706,  708,  705,  709,  704,  707,  702,  680,  707,  706,
    1264       712,  711,  680,  684,  680,  710,  714,  680,  710,  680,
    1265       711,  713,  708,  718,  713,  715,  716,  717,  720,  714,
    1266       723,  709,  726,  715,  727,  712,  716,  720,  728,  730,
    1267       717,  731,  752,  751,  718,  753,  749,  730,  751,  754,
    1268       731,  750,  726,  723,  755,  753,  727,  752,  756,  728,
    1269       738,  738,  738,  738,  738,  738,  749,  757,  750,  758,
    1270       757,  755,  754,  759,  761,  763,  764,  761,  763,  767,
    1271       768,  773,  758,  764,  756,  765,  766,  788,  765,  766,
    1272 
    1273       790,  791,  738,  792,  767,  793,  792,  797,  794,  795,
    1274       759,  794,  795,  768,  773,  798,  801,  799,  805,  791,
    1275       799,  790,  821,  802,  788,  797,  802,  793,  803,  806,
    1276       804,  803,  824,  823,  805,  822,  823,  825,  801,  804,
    1277       798,  824,  822,  821,  826,  806,  827,  826,  830,  833,
    1278       834,  830,  833,  835,  847,  825,  844,  847,  848,  834,
    1279       857,  845,  835,  827,  850,  844,  845,  850,  848,  851,
    1280       852,  858,  851,  852,  859,  860,  861,  859,  864,  861,
    1281       857,  867,  870,  871,  873,  860,  858,  838,  872,  837,
    1282       836,  870,  832,  831,  873,  829,  828,  820,  819,  818,
    1283 
    1284       864,  817,  867,  816,  815,  871,  872,  876,  876,  876,
    1285       876,  876,  876,  876,  876,  876,  876,  876,  876,  876,
    1286       877,  877,  877,  877,  877,  877,  877,  877,  877,  877,
    1287       877,  877,  877,  878,  878,  878,  878,  878,  878,  878,
    1288       878,  878,  878,  878,  878,  878,  879,  814,  813,  879,
    1289       812,  879,  879,  879,  879,  879,  880,  811,  810,  809,
    1290       880,  880,  880,  880,  880,  880,  881,  881,  881,  881,
    1291       881,  881,  881,  881,  881,  881,  881,  881,  881,  882,
    1292       808,  807,  882,  800,  882,  882,  882,  882,  882,  883,
    1293       796,  883,  883,  789,  883,  883,  883,  883,  883,  883,
    1294 
    1295       787,  883,  884,  786,  785,  884,  884,  884,  884,  884,
    1296       884,  884,  884,  784,  884,  885,  885,  885,  885,  885,
    1297       885,  885,  885,  885,  885,  885,  885,  885,  886,  886,
    1298       783,  886,  782,  781,  780,  886,  887,  779,  778,  887,
    1299       777,  887,  887,  887,  887,  887,  888,  776,  888,  775,
    1300       774,  772,  888,  889,  771,  889,  770,  769,  762,  889,
    1301       890,  760,  890,  748,  747,  746,  890,  891,  745,  891,
    1302       744,  743,  742,  891,  892,  741,  892,  740,  737,  736,
    1303       892,  893,  735,  893,  729,  725,  724,  893,  894,  722,
    1304       894,  721,  719,  703,  894,  895,  695,  895,  692,  687,
    1305 
    1306       685,  895,  896,  681,  896,  671,  667,  665,  896,  897,
    1307       897,  897,  897,  897,  897,  897,  897,  897,  897,  897,
    1308       897,  897,  898,  663,  898,  899,  899,  660,  899,  899,
    1309       899,  657,  899,  900,  900,  656,  900,  901,  655,  901,
    1310       654,  653,  652,  901,  902,  649,  902,  648,  646,  643,
    1311       902,  903,  642,  903,  641,  636,  609,  903,  904,  605,
    1312       904,  905,  603,  905,  601,  599,  597,  905,  906,  591,
    1313       906,  907,  585,  583,  907,  581,  907,  907,  907,  907,
    1314       907,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1315       908,  908,  908,  908,  909,  909,  909,  909,  909,  909,
    1316 
    1317       909,  909,  909,  909,  909,  909,  909,  910,  579,  910,
    1318       577,  575,  573,  910,  911,  571,  911,  570,  569,  566,
    1319       911,  912,  557,  912,  551,  548,  543,  912,  913,  537,
    1320       913,  914,  534,  914,  511,  507,  505,  914,  915,  503,
    1321       915,  916,  501,  916,  499,  497,  496,  916,  917,  495,
    1322       917,  918,  494,  918,  483,  480,  478,  918,  919,  477,
    1323       919,  920,  476,  920,  474,  472,  469,  920,  921,  467,
    1324       921,  922,  465,  922,  463,  459,  444,  922,  923,  442,
    1325       923,  924,  434,  924,  432,  424,  422,  924,  925,  420,
    1326       925,  926,  394,  926,  392,  926,  390,  926,  927,  388,
    1327 
    1328       927,  387,  927,  386,  927,  928,  928,  373,  928,  928,
    1329       928,  363,  928,  929,  361,  929,  360,  356,  354,  929,
    1330       930,  352,  930,  350,  346,  344,  930,  931,  343,  931,
    1331       342,  332,  319,  931,  932,  296,  932,  933,  275,  933,
    1332       273,  271,  270,  933,  934,  269,  934,  935,  267,  935,
    1333       266,  261,  257,  935,  936,  256,  936,  937,  252,  937,
    1334       249,  248,  237,  937,  938,  236,  938,  939,  229,  228,
    1335       939,  225,  939,  939,  939,  939,  939,  940,  940,  940,
    1336       940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
    1337       941,  215,  941,  213,  212,  211,  941,  942,  205,  942,
    1338 
    1339       943,  204,  943,  202,  197,  177,  943,  944,  148,  944,
    1340       945,  146,  945,  145,  139,  137,  945,  946,  135,  946,
    1341       947,  127,  947,  124,  123,  119,  947,  948,  100,  948,
    1342       949,   97,  949,   94,   92,   85,  949,  950,   71,  950,
    1343       951,   69,  951,   65,   36,   33,  951,  952,   18,  952,
    1344       953,   11,  953,    4,    3,    0,  953,  954,    0,  954,
    1345         0,    0,    0,  954,  955,    0,  955,  956,    0,  956,
    1346         0,    0,    0,  956,  957,    0,  957,  958,    0,  958,
    1347         0,  958,    0,  958,  959,    0,  959,    0,    0,    0,
    1348       959,  960,    0,  960,    0,    0,    0,  960,  961,    0,
    1349 
    1350       961,  962,    0,  962,    0,    0,    0,  962,  963,    0,
    1351       963,  964,    0,  964,    0,    0,    0,  964,  965,    0,
    1352       965,  966,    0,  966,    0,    0,    0,  966,  967,    0,
    1353       967,  968,    0,  968,    0,    0,    0,  968,  969,    0,
    1354       969,  970,    0,  970,    0,    0,    0,  970,  971,    0,
    1355       971,  972,    0,    0,  972,    0,  972,  972,  972,  972,
    1356       972,  973,  973,  973,  973,  973,  973,  973,  973,  973,
    1357       973,  973,  973,  973,  974,    0,  974,    0,    0,    0,
    1358       974,  975,    0,  975,  976,    0,  976,    0,    0,    0,
    1359       976,  977,    0,  977,  978,    0,  978,    0,    0,    0,
    1360 
    1361       978,  979,    0,  979,  980,    0,  980,    0,    0,    0,
    1362       980,  981,    0,  981,  982,    0,  982,    0,    0,    0,
    1363       982,  983,    0,  983,  984,    0,  984,    0,    0,    0,
    1364       984,  985,    0,  985,  986,    0,  986,    0,    0,    0,
    1365       986,  987,    0,  987,  988,    0,  988,    0,    0,    0,
    1366       988,  989,    0,  989,  990,    0,  990,    0,    0,    0,
    1367       990,  991,    0,  991,    0,    0,    0,  991,  992,    0,
    1368       992,  993,    0,  993,    0,    0,    0,  993,  994,    0,
    1369       994,  995,    0,  995,    0,    0,    0,  995,  996,    0,
    1370       996,  997,    0,  997,    0,    0,    0,  997,  998,    0,
    1371 
    1372       998,  999,    0,  999, 1000,    0, 1000, 1001,    0,    0,
    1373      1001,    0, 1001, 1001, 1001, 1001, 1001, 1002,    0, 1002,
    1374      1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003,
    1375      1003, 1003, 1003, 1004,    0, 1004,    0,    0,    0, 1004,
    1376      1005,    0, 1005, 1006,    0, 1006,    0,    0,    0, 1006,
    1377      1007,    0, 1007, 1008,    0, 1008, 1009,    0, 1009, 1010,
    1378         0,    0, 1010,    0, 1010, 1010, 1010, 1010, 1010, 1011,
    1379         0, 1011, 1012,    0, 1012, 1013,    0, 1013, 1014,    0,
    1380      1014, 1015,    0, 1015, 1016,    0, 1016, 1017,    0, 1017,
    1381      1018,    0, 1018,    0,    0,    0, 1018, 1019,    0, 1019,
    1382 
    1383      1020,    0, 1020,    0,    0,    0, 1020, 1021,    0, 1021,
    1384      1022,    0, 1022, 1023,    0, 1023, 1024,    0, 1024, 1025,
    1385         0, 1025,    0,    0,    0, 1025, 1026,    0,    0, 1026,
    1386         0, 1026, 1026, 1026, 1026, 1026, 1027,    0, 1027, 1028,
    1387         0, 1028, 1029,    0, 1029, 1030,    0, 1030,    0,    0,
    1388         0, 1030, 1031,    0, 1031,    0,    0,    0, 1031, 1032,
    1389         0, 1032,    0,    0,    0, 1032, 1033,    0, 1033, 1034,
    1390         0, 1034,    0,    0,    0, 1034, 1035,    0, 1035,    0,
    1391         0,    0, 1035, 1036,    0, 1036,    0,    0,    0, 1036,
    1392      1037,    0, 1037,    0,    0,    0, 1037, 1038,    0, 1038,
    1393 
    1394         0,    0,    0, 1038, 1039,    0, 1039,    0,    0,    0,
    1395      1039, 1040,    0, 1040,    0,    0,    0, 1040, 1041,    0,
    1396      1041,    0,    0,    0, 1041, 1042,    0, 1042,    0,    0,
    1397         0, 1042, 1043,    0, 1043,    0,    0,    0, 1043, 1044,
    1398         0, 1044,    0,    0,    0, 1044, 1045,    0, 1045,    0,
    1399         0,    0, 1045, 1046,    0, 1046,    0,    0,    0, 1046,
    1400      1047,    0, 1047,    0,    0,    0, 1047, 1048,    0, 1048,
    1401         0,    0,    0, 1048, 1049,    0, 1049,    0,    0,    0,
    1402      1049,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1403       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1404 
    1405       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1406       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1407       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1408       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1409       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1410       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1411       875,  875,  875,  875,  875,  875
     1137       50,   51,  164,   51,   56,  154,   54,   59,  877,   50,
     1138       61,   31,   51,   50,   31,   73,   54,   58,   50,   59,
     1139       31,  154,   50,   54,   87,  159,   31,   59,   61,   58,
     1140       58,   60,   31,   64,   59,  126,   60,  126,   31,   58,
     1141       52,  159,   58,   68,   68,   52,   31,   38,   68,   60,
     1142       87,   38,   38,   52,   38,   52,   38,   38,   52,   38,
     1143      108,   38,   52,  114,   68,   68,   68,   68,   68,   68,
     1144       38,   38,   38,  127,   60,  127,  153,   60,   67,   67,
     1145       67,   67,   67,   67,  108,  153,   67,  114,  876,  873,
     1146       38,   60,  166,   38,   80,   80,   80,   80,   80,   80,
     1147
     1148       82,   82,   82,   82,   82,   82,   83,   83,   83,   83,
     1149       83,   83,  129,  166,  129,  104,  104,  104,  104,  107,
     1150       38,   38,   77,   77,  872,  107,  113,   77,  169,   77,
     1151      111,  132,  113,  132,   77,  103,  103,  103,  103,  103,
     1152      103,  131,  104,   77,   77,   77,   77,  104,  111,  169,
     1153      110,  107,  130,  131,   77,  131,  111,  105,  113,  105,
     1154      105,  105,  105,  105,  105,  151,  130,  103,  130,   77,
     1155      104,  134,   77,  134,  281,  116,  105,   77,   77,  110,
     1156      142,   77,   77,  151,  110,  133,  133,  152,  133,   77,
     1157      281,  105,   77,  116,   77,   77,   77,  105,   77,   85,
     1158
     1159      137,  116,  137,   85,   85,  152,  142,  110,   85,   85,
     1160      106,   85,  106,   85,  155,  106,  106,  106,  106,  106,
     1161      106,  150,   85,   85,   85,  135,  135,  135,  139,  145,
     1162      139,  156,  155,  160,  145,  161,  150,  157,  162,  167,
     1163      165,  168,   85,  150,  161,   85,  163,  106,  171,  157,
     1164      165,  163,  172,  156,  173,  160,  181,  176,  170,  162,
     1165      162,  181,  167,  170,  163,  174,  175,  172,  168,  182,
     1166      171,  173,  145,   85,   99,   99,   99,   99,   99,   99,
     1167      177,  170,  179,  174,  176,  184,  175,  183,  180,  185,
     1168       99,   99,  525,   99,   99,  525,  182,  179,  183,  218,
     1169
     1170      185,  218,  177,  184,  179,  180,   99,  191,  183,  183,
     1171      186,   99,   99,   99,  158,  186,   99,  185,   99,  158,
     1172      158,  158,  188,  158,  158,  190,  187,  158,  189,  158,
     1173      186,  205,  193,  189,  158,  158,  158,  627,  158,  187,
     1174      627,  192,  188,  194,  190,  193,  219,  193,  219,  220,
     1175      191,  220,  248,  191,  192,  189,  194,  205,  223,  225,
     1176      223,  225,  192,  197,  197,  197,  197,  197,  197,  198,
     1177      198,  197,  209,  209,  198,  200,  200,  209,  248,  870,
     1178      200,  202,  202,  308,  224,  224,  202,  224,  202,  308,
     1179      198,  198,  198,  198,  198,  198,  200,  200,  200,  200,
     1180
     1181      200,  200,  202,  202,  202,  202,  202,  202,  212,  212,
     1182      212,  212,  221,  222,  226,  226,  226,  228,  229,  228,
     1183      229,  234,  243,  237,  338,  222,  221,  222,  221,  235,
     1184      278,  235,  256,  279,  235,  235,  235,  235,  235,  235,
     1185      212,  236,  270,  278,  234,  236,  237,  280,  291,  241,
     1186      241,  279,  241,  241,  284,  266,  243,  266,  256,  267,
     1187      869,  267,  236,  291,  236,  280,  235,  338,  270,  236,
     1188      241,  241,  241,  282,  284,  241,  289,  241,  244,  244,
     1189      244,  244,  244,  244,  245,  245,  245,  245,  245,  245,
     1190      282,  247,  286,  247,  289,  244,  247,  247,  247,  247,
     1191
     1192      247,  247,  255,  255,  255,  255,  255,  255,  283,  285,
     1193      244,  295,  286,  283,  285,  288,  244,  246,  246,  246,
     1194      246,  246,  246,  253,  295,  292,  260,  260,  260,  260,
     1195      260,  260,  862,  246,  255,  296,  246,  246,  288,  293,
     1196      290,  292,  292,  294,  293,  253,  297,  253,  300,  246,
     1197      287,  253,  294,  300,  246,  303,  246,  253,  260,  246,
     1198      299,  246,  296,  304,  297,  287,  290,  301,  305,  253,
     1199      312,  287,  287,  253,  306,  303,  301,  253,  299,  306,
     1200      307,  304,  309,  310,  314,  307,  312,  311,  313,  305,
     1201      305,  315,  310,  311,  318,  316,  315,  313,  317,  314,
     1202
     1203      316,  309,  320,  317,  319,  322,  323,  324,  326,  327,
     1204      325,  328,  329,  318,  331,  320,  322,  332,  330,  333,
     1205      317,  323,  319,  325,  334,  335,  324,  330,  337,  329,
     1206      326,  328,  327,  339,  340,  341,  331,  337,  335,  342,
     1207      332,  333,  334,  341,  342,  343,  345,  340,  344,  344,
     1208      861,  339,  345,  344,  385,  344,  352,  352,  352,  352,
     1209      343,  353,  353,  353,  353,  362,  363,  362,  363,  370,
     1210      370,  370,  370,  370,  370,  372,  380,  372,  385,  860,
     1211      372,  372,  372,  372,  372,  372,  380,  402,  352,  371,
     1212      371,  371,  371,  371,  371,  374,  374,  374,  374,  374,
     1213
     1214      374,  404,  380,  402,  387,  371,  381,  401,  371,  371,
     1215      375,  375,  375,  375,  375,  375,  381,  383,  401,  382,
     1216      404,  371,  387,  383,  408,  432,  371,  374,  371,  403,
     1217      387,  371,  381,  371,  376,  376,  376,  376,  376,  376,
     1218      386,  382,  375,  382,  403,  405,  408,  382,  432,  383,
     1219      384,  859,  384,  382,  405,  384,  384,  384,  384,  384,
     1220      384,  406,  386,  412,  386,  382,  376,  407,  386,  382,
     1221      409,  410,  406,  382,  386,  411,  407,  415,  416,  409,
     1222      413,  414,  420,  417,  410,  412,  386,  384,  417,  418,
     1223      386,  411,  423,  413,  386,  419,  416,  414,  414,  415,
     1224
     1225      422,  419,  421,  420,  418,  427,  425,  423,  429,  430,
     1226      431,  418,  433,  421,  439,  434,  435,  427,  433,  422,
     1227      425,  437,  440,  431,  441,  435,  442,  443,  445,  429,
     1228      434,  430,  444,  447,  439,  449,  437,  445,  450,  441,
     1229      451,  456,  443,  452,  440,  453,  454,  450,  442,  457,
     1230      447,  455,  444,  460,  461,  463,  494,  458,  449,  456,
     1231      455,  451,  457,  452,  458,  453,  459,  462,  454,  464,
     1232      466,  468,  463,  459,  467,  462,  461,  468,  460,  495,
     1233      464,  491,  494,  467,  521,  462,  477,  477,  477,  477,
     1234      636,  491,  466,  488,  488,  488,  488,  488,  488,  490,
     1235
     1236      490,  490,  490,  490,  490,  495,  521,  491,  493,  488,
     1237      515,  518,  488,  488,  492,  516,  492,  636,  493,  492,
     1238      492,  492,  492,  492,  492,  488,  518,  515,  516,  519,
     1239      488,  490,  488,  520,  493,  488,  524,  488,  497,  497,
     1240      497,  497,  497,  497,  529,  522,  520,  524,  527,  519,
     1241      526,  492,  498,  498,  498,  498,  498,  498,  522,  523,
     1242      530,  533,  531,  527,  523,  529,  528,  531,  498,  530,
     1243      526,  498,  498,  499,  533,  499,  532,  534,  499,  499,
     1244      499,  499,  499,  499,  498,  528,  535,  532,  536,  498,
     1245      537,  498,  538,  539,  498,  535,  498,  541,  539,  542,
     1246
     1247      544,  538,  547,  541,  545,  534,  546,  537,  542,  549,
     1248      536,  547,  550,  551,  557,  552,  554,  544,  549,  545,
     1249      560,  546,  555,  557,  558,  551,  561,  555,  562,  550,
     1250      552,  554,  564,  558,  565,  567,  566,  568,  572,  561,
     1251      564,  569,  560,  566,  565,  562,  571,  569,  572,  568,
     1252      574,  575,  601,  621,  603,  571,  620,  567,  594,  594,
     1253      594,  594,  594,  594,  575,  620,  621,  574,  595,  595,
     1254      595,  595,  595,  595,  597,  601,  597,  603,  639,  597,
     1255      597,  597,  597,  597,  597,  602,  622,  639,  855,  602,
     1256      594,  596,  596,  596,  596,  596,  596,  600,  600,  600,
     1257
     1258      600,  600,  600,  622,  618,  619,  602,  596,  602,  618,
     1259      596,  596,  619,  602,  623,  626,  629,  624,  625,  631,
     1260      633,  628,  618,  596,  624,  630,  625,  632,  596,  600,
     1261      596,  635,  626,  596,  628,  596,  634,  623,  629,  634,
     1262      630,  631,  633,  637,  632,  638,  640,  641,  635,  644,
     1263      642,  645,  646,  651,  650,  657,  668,  656,  637,  642,
     1264      653,  646,  657,  851,  640,  638,  656,  664,  665,  641,
     1265      667,  668,  644,  645,  650,  699,  664,  653,  665,  667,
     1266      651,  686,  686,  686,  686,  686,  686,  690,  690,  690,
     1267      690,  690,  690,  700,  704,  702,  699,  686,  703,  704,
     1268
     1269      686,  686,  705,  700,  706,  703,  707,  706,  708,  707,
     1270      710,  711,  713,  686,  714,  713,  710,  715,  686,  690,
     1271      686,  702,  705,  686,  711,  686,  708,  712,  716,  717,
     1272      718,  716,  721,  720,  719,  714,  712,  719,  717,  722,
     1273      721,  723,  724,  725,  728,  715,  720,  732,  731,  722,
     1274      733,  735,  725,  736,  723,  718,  756,  761,  754,  735,
     1275      758,  756,  736,  724,  755,  757,  759,  728,  731,  732,
     1276      758,  733,  743,  743,  743,  743,  743,  743,  754,  760,
     1277      757,  755,  762,  761,  763,  762,  764,  766,  768,  759,
     1278      766,  768,  769,  772,  773,  770,  760,  763,  770,  769,
     1279
     1280      771,  778,  793,  771,  743,  795,  797,  796,  772,  797,
     1281      798,  799,  800,  764,  799,  800,  802,  773,  803,  804,
     1282      806,  810,  804,  811,  778,  796,  795,  807,  808,  793,
     1283      807,  808,  798,  826,  802,  809,  832,  810,  827,  811,
     1284      830,  829,  806,  803,  809,  827,  828,  848,  831,  828,
     1285      829,  831,  835,  832,  826,  835,  838,  839,  830,  838,
     1286      840,  849,  850,  853,  830,  852,  839,  850,  852,  840,
     1287      849,  854,  856,  853,  857,  856,  854,  857,  858,  863,
     1288      864,  858,  865,  866,  867,  865,  868,  867,  871,  868,
     1289      874,  875,  878,  866,  879,  864,  880,  882,  881,  863,
     1290
     1291      883,  878,  884,  847,  846,  845,  875,  879,  844,  843,
     1292      871,  874,  884,  842,  841,  882,  837,  836,  880,  881,
     1293      834,  833,  883,  888,  888,  888,  888,  888,  888,  888,
     1294      888,  888,  888,  888,  888,  888,  889,  889,  889,  889,
     1295      889,  889,  889,  889,  889,  889,  889,  889,  889,  890,
     1296      890,  890,  890,  890,  890,  890,  890,  890,  890,  890,
     1297      890,  890,  891,  825,  824,  891,  823,  891,  891,  891,
     1298      891,  891,  892,  822,  821,  820,  892,  892,  892,  892,
     1299      892,  892,  893,  893,  893,  893,  893,  893,  893,  893,
     1300      893,  893,  893,  893,  893,  894,  819,  818,  894,  817,
     1301
     1302      894,  894,  894,  894,  894,  895,  816,  895,  895,  815,
     1303      895,  895,  895,  895,  895,  895,  814,  895,  896,  813,
     1304      812,  896,  896,  896,  896,  896,  896,  896,  896,  805,
     1305      896,  897,  897,  897,  897,  897,  897,  897,  897,  897,
     1306      897,  897,  897,  897,  898,  898,  801,  898,  794,  792,
     1307      791,  898,  899,  790,  789,  899,  788,  899,  899,  899,
     1308      899,  899,  900,  787,  900,  786,  785,  784,  900,  901,
     1309      783,  901,  782,  781,  780,  901,  902,  779,  902,  777,
     1310      776,  775,  902,  903,  774,  903,  767,  765,  753,  903,
     1311      904,  752,  904,  751,  750,  749,  904,  905,  748,  905,
     1312
     1313      747,  746,  745,  905,  906,  742,  906,  741,  740,  734,
     1314      906,  907,  730,  907,  729,  727,  726,  907,  908,  709,
     1315      908,  701,  698,  693,  908,  909,  909,  909,  909,  909,
     1316      909,  909,  909,  909,  909,  909,  909,  909,  910,  691,
     1317      910,  911,  911,  687,  911,  911,  911,  677,  911,  912,
     1318      912,  673,  912,  913,  671,  913,  669,  666,  663,  913,
     1319      914,  662,  914,  661,  660,  659,  914,  915,  658,  915,
     1320      655,  654,  652,  915,  916,  649,  916,  917,  648,  917,
     1321      647,  643,  616,  917,  918,  612,  918,  919,  610,  608,
     1322      919,  606,  919,  919,  919,  919,  919,  920,  920,  920,
     1323
     1324      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     1325      921,  921,  921,  921,  921,  921,  921,  921,  921,  921,
     1326      921,  921,  921,  922,  604,  922,  598,  592,  590,  922,
     1327      923,  588,  923,  586,  584,  582,  923,  924,  580,  924,
     1328      578,  577,  576,  924,  925,  573,  925,  926,  570,  926,
     1329      563,  559,  556,  926,  927,  553,  927,  928,  548,  928,
     1330      543,  540,  517,  928,  929,  513,  929,  930,  511,  930,
     1331      509,  507,  505,  930,  931,  503,  931,  932,  502,  932,
     1332      501,  500,  489,  932,  933,  486,  933,  934,  484,  934,
     1333      483,  482,  480,  934,  935,  478,  935,  936,  475,  936,
     1334
     1335      473,  471,  469,  936,  937,  465,  937,  938,  448,  938,
     1336      446,  938,  438,  938,  939,  436,  939,  428,  939,  426,
     1337      939,  940,  940,  424,  940,  940,  940,  398,  940,  941,
     1338      396,  941,  394,  392,  391,  941,  942,  390,  942,  377,
     1339      367,  365,  942,  943,  364,  943,  360,  358,  356,  943,
     1340      944,  354,  944,  945,  350,  945,  348,  347,  346,  945,
     1341      946,  336,  946,  947,  321,  947,  298,  277,  275,  947,
     1342      948,  273,  948,  949,  272,  949,  271,  269,  268,  949,
     1343      950,  263,  950,  951,  259,  258,  951,  254,  951,  951,
     1344      951,  951,  951,  952,  952,  952,  952,  952,  952,  952,
     1345
     1346      952,  952,  952,  952,  952,  952,  953,  251,  953,  250,
     1347      239,  238,  953,  954,  231,  954,  955,  230,  955,  227,
     1348      217,  215,  955,  956,  214,  956,  957,  213,  957,  207,
     1349      206,  204,  957,  958,  199,  958,  959,  178,  959,  149,
     1350      147,  146,  959,  960,  140,  960,  961,  138,  961,  136,
     1351      128,  125,  961,  962,  124,  962,  963,  120,  963,  101,
     1352       98,   95,  963,  964,   93,  964,  965,   86,  965,   72,
     1353       70,   66,  965,  966,   36,  966,   33,   18,   11,  966,
     1354      967,    4,  967,  968,    3,  968,    0,    0,    0,  968,
     1355      969,    0,  969,  970,    0,  970,    0,  970,    0,  970,
     1356
     1357      971,    0,  971,    0,    0,    0,  971,  972,    0,  972,
     1358        0,    0,    0,  972,  973,    0,  973,  974,    0,  974,
     1359        0,    0,    0,  974,  975,    0,  975,  976,    0,  976,
     1360        0,    0,    0,  976,  977,    0,  977,  978,    0,  978,
     1361        0,    0,    0,  978,  979,    0,  979,  980,    0,  980,
     1362        0,    0,    0,  980,  981,    0,  981,  982,    0,  982,
     1363        0,    0,    0,  982,  983,    0,  983,  984,    0,    0,
     1364      984,    0,  984,  984,  984,  984,  984,  985,  985,  985,
     1365      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     1366      986,    0,  986,    0,    0,    0,  986,  987,    0,  987,
     1367
     1368      988,    0,  988,    0,    0,    0,  988,  989,    0,  989,
     1369      990,    0,  990,    0,    0,    0,  990,  991,    0,  991,
     1370      992,    0,  992,    0,    0,    0,  992,  993,    0,  993,
     1371      994,    0,  994,    0,    0,    0,  994,  995,    0,  995,
     1372      996,    0,  996,    0,    0,    0,  996,  997,    0,  997,
     1373      998,    0,  998,    0,    0,    0,  998,  999,    0,  999,
     1374     1000,    0, 1000,    0,    0,    0, 1000, 1001,    0, 1001,
     1375     1002,    0, 1002,    0,    0,    0, 1002, 1003,    0, 1003,
     1376        0,    0,    0, 1003, 1004,    0, 1004, 1005,    0, 1005,
     1377        0,    0,    0, 1005, 1006,    0, 1006, 1007,    0, 1007,
     1378
     1379        0,    0,    0, 1007, 1008,    0, 1008, 1009,    0, 1009,
     1380        0,    0,    0, 1009, 1010,    0, 1010, 1011,    0, 1011,
     1381     1012,    0, 1012, 1013,    0,    0, 1013,    0, 1013, 1013,
     1382     1013, 1013, 1013, 1014,    0, 1014, 1015, 1015, 1015, 1015,
     1383     1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1016,
     1384        0, 1016,    0,    0,    0, 1016, 1017,    0, 1017, 1018,
     1385        0, 1018,    0,    0,    0, 1018, 1019,    0, 1019, 1020,
     1386        0, 1020, 1021,    0, 1021, 1022,    0,    0, 1022,    0,
     1387     1022, 1022, 1022, 1022, 1022, 1023,    0, 1023, 1024,    0,
     1388     1024, 1025,    0, 1025, 1026,    0, 1026, 1027,    0, 1027,
     1389
     1390     1028,    0, 1028, 1029,    0, 1029, 1030,    0, 1030,    0,
     1391        0,    0, 1030, 1031,    0, 1031, 1032,    0, 1032,    0,
     1392        0,    0, 1032, 1033,    0, 1033, 1034,    0, 1034, 1035,
     1393        0, 1035, 1036,    0, 1036, 1037,    0, 1037,    0,    0,
     1394        0, 1037, 1038,    0,    0, 1038,    0, 1038, 1038, 1038,
     1395     1038, 1038, 1039,    0, 1039, 1040,    0, 1040, 1041,    0,
     1396     1041, 1042,    0, 1042,    0,    0,    0, 1042, 1043,    0,
     1397     1043,    0,    0,    0, 1043, 1044,    0, 1044,    0,    0,
     1398        0, 1044, 1045,    0, 1045, 1046,    0, 1046,    0,    0,
     1399        0, 1046, 1047,    0, 1047,    0,    0,    0, 1047, 1048,
     1400
     1401        0, 1048,    0,    0,    0, 1048, 1049,    0, 1049,    0,
     1402        0,    0, 1049, 1050,    0, 1050,    0,    0,    0, 1050,
     1403     1051,    0, 1051,    0,    0,    0, 1051, 1052,    0, 1052,
     1404        0,    0,    0, 1052, 1053,    0, 1053,    0,    0,    0,
     1405     1053, 1054,    0, 1054,    0,    0,    0, 1054, 1055,    0,
     1406     1055,    0,    0,    0, 1055, 1056,    0, 1056,    0,    0,
     1407        0, 1056, 1057,    0, 1057,    0,    0,    0, 1057, 1058,
     1408        0, 1058,    0,    0,    0, 1058, 1059,    0, 1059,    0,
     1409        0,    0, 1059, 1060,    0, 1060,    0,    0,    0, 1060,
     1410     1061,    0, 1061,    0,    0,    0, 1061,  887,  887,  887,
     1411
     1412      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1413      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1414      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1415      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1416      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1417      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1418      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1419      887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
     1420      887,  887
    14121421    } ;
    14131422
    14141423/* Table of booleans, true if rule could match eol. */
    1415 static yyconst flex_int32_t yy_rule_can_match_eol[180] =
     1424static yyconst flex_int32_t yy_rule_can_match_eol[181] =
    14161425    {   0,
    141714261, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     
    14201429    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14211430    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1422     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
    1423     1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     1431    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
     1432    0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14241433    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14251434    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1426         };
     1435    0,     };
    14271436
    14281437static yy_state_type yy_last_accepting_state;
     
    14521461 * Created On       : Sat Sep 22 08:58:10 2001
    14531462 * Last Modified By : Peter A. Buhr
    1454  * Last Modified On : Tue Feb  2 15:06:54 2016
    1455  * Update Count     : 426
     1463 * Last Modified On : Wed Mar  2 18:07:20 2016
     1464 * Update Count     : 434
    14561465 */
    14571466#line 20 "lex.ll"
     
    15111520
    15121521
    1513 #line 1514 "Parser/lex.cc"
     1522#line 1523 "Parser/lex.cc"
    15141523
    15151524#define INITIAL 0
     
    17061715
    17071716                                   /* line directives */
    1708 #line 1709 "Parser/lex.cc"
     1717#line 1718 "Parser/lex.cc"
    17091718
    17101719        if ( !(yy_init) )
     
    17601769                                {
    17611770                                yy_current_state = (int) yy_def[yy_current_state];
    1762                                 if ( yy_current_state >= 876 )
     1771                                if ( yy_current_state >= 888 )
    17631772                                        yy_c = yy_meta[(unsigned int) yy_c];
    17641773                                }
     
    17661775                        ++yy_cp;
    17671776                        }
    1768                 while ( yy_base[yy_current_state] != 2782 );
     1777                while ( yy_base[yy_current_state] != 2798 );
    17691778
    17701779yy_find_action:
     
    20032012YY_RULE_SETUP
    20042013#line 203 "lex.ll"
    2005 { KEYWORD_RETURN(CONTEXT); }                    // CFA
     2014{ KEYWORD_RETURN(CONTINUE); }
    20062015        YY_BREAK
    20072016case 36:
    20082017YY_RULE_SETUP
    20092018#line 204 "lex.ll"
    2010 { KEYWORD_RETURN(CONTINUE); }
     2019{ KEYWORD_RETURN(DEFAULT); }
    20112020        YY_BREAK
    20122021case 37:
    20132022YY_RULE_SETUP
    20142023#line 205 "lex.ll"
    2015 { KEYWORD_RETURN(DEFAULT); }
     2024{ KEYWORD_RETURN(DISABLE); }                    // CFA
    20162025        YY_BREAK
    20172026case 38:
    20182027YY_RULE_SETUP
    20192028#line 206 "lex.ll"
    2020 { KEYWORD_RETURN(DISABLE); }                    // CFA
     2029{ KEYWORD_RETURN(DO); }
    20212030        YY_BREAK
    20222031case 39:
    20232032YY_RULE_SETUP
    20242033#line 207 "lex.ll"
    2025 { KEYWORD_RETURN(DO); }
     2034{ KEYWORD_RETURN(DOUBLE); }
    20262035        YY_BREAK
    20272036case 40:
    20282037YY_RULE_SETUP
    20292038#line 208 "lex.ll"
    2030 { KEYWORD_RETURN(DOUBLE); }
     2039{ KEYWORD_RETURN(DTYPE); }                              // CFA
    20312040        YY_BREAK
    20322041case 41:
    20332042YY_RULE_SETUP
    20342043#line 209 "lex.ll"
    2035 { KEYWORD_RETURN(DTYPE); }                              // CFA
     2044{ KEYWORD_RETURN(ELSE); }
    20362045        YY_BREAK
    20372046case 42:
    20382047YY_RULE_SETUP
    20392048#line 210 "lex.ll"
    2040 { KEYWORD_RETURN(ELSE); }
     2049{ KEYWORD_RETURN(ENABLE); }                             // CFA
    20412050        YY_BREAK
    20422051case 43:
    20432052YY_RULE_SETUP
    20442053#line 211 "lex.ll"
    2045 { KEYWORD_RETURN(ENABLE); }                             // CFA
     2054{ KEYWORD_RETURN(ENUM); }
    20462055        YY_BREAK
    20472056case 44:
    20482057YY_RULE_SETUP
    20492058#line 212 "lex.ll"
    2050 { KEYWORD_RETURN(ENUM); }
     2059{ KEYWORD_RETURN(EXTENSION); }                  // GCC
    20512060        YY_BREAK
    20522061case 45:
    20532062YY_RULE_SETUP
    20542063#line 213 "lex.ll"
    2055 { KEYWORD_RETURN(EXTENSION); }                  // GCC
     2064{ KEYWORD_RETURN(EXTERN); }
    20562065        YY_BREAK
    20572066case 46:
    20582067YY_RULE_SETUP
    20592068#line 214 "lex.ll"
    2060 { KEYWORD_RETURN(EXTERN); }
     2069{ KEYWORD_RETURN(FALLTHRU); }                   // CFA
    20612070        YY_BREAK
    20622071case 47:
    20632072YY_RULE_SETUP
    20642073#line 215 "lex.ll"
    2065 { KEYWORD_RETURN(FALLTHRU); }                   // CFA
     2074{ KEYWORD_RETURN(FINALLY); }                    // CFA
    20662075        YY_BREAK
    20672076case 48:
    20682077YY_RULE_SETUP
    20692078#line 216 "lex.ll"
    2070 { KEYWORD_RETURN(FINALLY); }                    // CFA
     2079{ KEYWORD_RETURN(FLOAT); }
    20712080        YY_BREAK
    20722081case 49:
    20732082YY_RULE_SETUP
    20742083#line 217 "lex.ll"
    2075 { KEYWORD_RETURN(FLOAT); }
     2084{ KEYWORD_RETURN(FLOAT); }                              // GCC
    20762085        YY_BREAK
    20772086case 50:
    20782087YY_RULE_SETUP
    20792088#line 218 "lex.ll"
    2080 { KEYWORD_RETURN(FLOAT); }                              // GCC
     2089{ KEYWORD_RETURN(FOR); }
    20812090        YY_BREAK
    20822091case 51:
    20832092YY_RULE_SETUP
    20842093#line 219 "lex.ll"
    2085 { KEYWORD_RETURN(FOR); }
     2094{ KEYWORD_RETURN(FORALL); }                             // CFA
    20862095        YY_BREAK
    20872096case 52:
    20882097YY_RULE_SETUP
    20892098#line 220 "lex.ll"
    2090 { KEYWORD_RETURN(FORALL); }                             // CFA
     2099{ KEYWORD_RETURN(FORTRAN); }
    20912100        YY_BREAK
    20922101case 53:
    20932102YY_RULE_SETUP
    20942103#line 221 "lex.ll"
    2095 { KEYWORD_RETURN(FORTRAN); }
     2104{ KEYWORD_RETURN(FTYPE); }                              // CFA
    20962105        YY_BREAK
    20972106case 54:
    20982107YY_RULE_SETUP
    20992108#line 222 "lex.ll"
    2100 { KEYWORD_RETURN(FTYPE); }                              // CFA
     2109{ KEYWORD_RETURN(GENERIC); }                    // C11
    21012110        YY_BREAK
    21022111case 55:
    21032112YY_RULE_SETUP
    21042113#line 223 "lex.ll"
    2105 { KEYWORD_RETURN(GENERIC); }                    // C11
     2114{ KEYWORD_RETURN(GOTO); }
    21062115        YY_BREAK
    21072116case 56:
    21082117YY_RULE_SETUP
    21092118#line 224 "lex.ll"
    2110 { KEYWORD_RETURN(GOTO); }
     2119{ KEYWORD_RETURN(IF); }
    21112120        YY_BREAK
    21122121case 57:
    21132122YY_RULE_SETUP
    21142123#line 225 "lex.ll"
    2115 { KEYWORD_RETURN(IF); }
     2124{ KEYWORD_RETURN(IMAGINARY); }                  // C99
    21162125        YY_BREAK
    21172126case 58:
    21182127YY_RULE_SETUP
    21192128#line 226 "lex.ll"
    2120 { KEYWORD_RETURN(IMAGINARY); }                  // C99
     2129{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
    21212130        YY_BREAK
    21222131case 59:
     
    21282137YY_RULE_SETUP
    21292138#line 228 "lex.ll"
    2130 { KEYWORD_RETURN(IMAGINARY); }                  // GCC
     2139{ KEYWORD_RETURN(INLINE); }                             // C99
    21312140        YY_BREAK
    21322141case 61:
    21332142YY_RULE_SETUP
    21342143#line 229 "lex.ll"
    2135 { KEYWORD_RETURN(INLINE); }                             // C99
     2144{ KEYWORD_RETURN(INLINE); }                             // GCC
    21362145        YY_BREAK
    21372146case 62:
     
    21432152YY_RULE_SETUP
    21442153#line 231 "lex.ll"
    2145 { KEYWORD_RETURN(INLINE); }                             // GCC
     2154{ KEYWORD_RETURN(INT); }
    21462155        YY_BREAK
    21472156case 64:
    21482157YY_RULE_SETUP
    21492158#line 232 "lex.ll"
    2150 { KEYWORD_RETURN(INT); }
     2159{ KEYWORD_RETURN(INT); }                                // GCC
    21512160        YY_BREAK
    21522161case 65:
    21532162YY_RULE_SETUP
    21542163#line 233 "lex.ll"
    2155 { KEYWORD_RETURN(INT); }                                // GCC
     2164{ KEYWORD_RETURN(LABEL); }                              // GCC
    21562165        YY_BREAK
    21572166case 66:
    21582167YY_RULE_SETUP
    21592168#line 234 "lex.ll"
    2160 { KEYWORD_RETURN(LABEL); }                              // GCC
     2169{ KEYWORD_RETURN(LONG); }
    21612170        YY_BREAK
    21622171case 67:
    21632172YY_RULE_SETUP
    21642173#line 235 "lex.ll"
    2165 { KEYWORD_RETURN(LONG); }
     2174{ KEYWORD_RETURN(LVALUE); }                             // CFA
    21662175        YY_BREAK
    21672176case 68:
    21682177YY_RULE_SETUP
    21692178#line 236 "lex.ll"
    2170 { KEYWORD_RETURN(LVALUE); }                             // CFA
     2179{ KEYWORD_RETURN(NORETURN); }                   // C11
    21712180        YY_BREAK
    21722181case 69:
    21732182YY_RULE_SETUP
    21742183#line 237 "lex.ll"
    2175 { KEYWORD_RETURN(NORETURN); }                   // C11
     2184{ KEYWORD_RETURN(OFFSETOF); }           // GCC
    21762185        YY_BREAK
    21772186case 70:
    21782187YY_RULE_SETUP
    21792188#line 238 "lex.ll"
    2180 { KEYWORD_RETURN(OFFSETOF); }           // GCC
     2189{ KEYWORD_RETURN(OTYPE); }                              // CFA
    21812190        YY_BREAK
    21822191case 71:
     
    22682277YY_RULE_SETUP
    22692278#line 256 "lex.ll"
     2279{ KEYWORD_RETURN(TRAIT); }                              // CFA
     2280        YY_BREAK
     2281case 89:
     2282YY_RULE_SETUP
     2283#line 257 "lex.ll"
    22702284{ KEYWORD_RETURN(TRY); }                                // CFA
    2271         YY_BREAK
    2272 case 89:
    2273 YY_RULE_SETUP
    2274 #line 257 "lex.ll"
    2275 { KEYWORD_RETURN(TYPE); }                               // CFA
    22762285        YY_BREAK
    22772286case 90:
     
    23082317YY_RULE_SETUP
    23092318#line 264 "lex.ll"
     2319{ KEYWORD_RETURN(VALIST); }                     // GCC
     2320        YY_BREAK
     2321case 97:
     2322YY_RULE_SETUP
     2323#line 265 "lex.ll"
    23102324{ KEYWORD_RETURN(VOID); }
    23112325        YY_BREAK
    2312 case 97:
    2313 YY_RULE_SETUP
    2314 #line 265 "lex.ll"
     2326case 98:
     2327YY_RULE_SETUP
     2328#line 266 "lex.ll"
    23152329{ KEYWORD_RETURN(VOLATILE); }
    2316         YY_BREAK
    2317 case 98:
    2318 YY_RULE_SETUP
    2319 #line 266 "lex.ll"
    2320 { KEYWORD_RETURN(VOLATILE); }                   // GCC
    23212330        YY_BREAK
    23222331case 99:
     
    23282337YY_RULE_SETUP
    23292338#line 268 "lex.ll"
     2339{ KEYWORD_RETURN(VOLATILE); }                   // GCC
     2340        YY_BREAK
     2341case 101:
     2342YY_RULE_SETUP
     2343#line 269 "lex.ll"
    23302344{ KEYWORD_RETURN(WHILE); }
    23312345        YY_BREAK
    23322346/* identifier */
    2333 case 101:
    2334 YY_RULE_SETUP
    2335 #line 271 "lex.ll"
     2347case 102:
     2348YY_RULE_SETUP
     2349#line 272 "lex.ll"
    23362350{ IDENTIFIER_RETURN(); }
    23372351        YY_BREAK
    2338 case 102:
    2339 YY_RULE_SETUP
    2340 #line 272 "lex.ll"
     2352case 103:
     2353YY_RULE_SETUP
     2354#line 273 "lex.ll"
    23412355{ ATTRIBUTE_RETURN(); }
    23422356        YY_BREAK
    2343 case 103:
    2344 YY_RULE_SETUP
    2345 #line 273 "lex.ll"
     2357case 104:
     2358YY_RULE_SETUP
     2359#line 274 "lex.ll"
    23462360{ BEGIN BKQUOTE; }
    23472361        YY_BREAK
    2348 case 104:
    2349 YY_RULE_SETUP
    2350 #line 274 "lex.ll"
     2362case 105:
     2363YY_RULE_SETUP
     2364#line 275 "lex.ll"
    23512365{ IDENTIFIER_RETURN(); }
    23522366        YY_BREAK
    2353 case 105:
    2354 YY_RULE_SETUP
    2355 #line 275 "lex.ll"
     2367case 106:
     2368YY_RULE_SETUP
     2369#line 276 "lex.ll"
    23562370{ BEGIN 0; }
    23572371        YY_BREAK
    23582372/* numeric constants */
    2359 case 106:
    2360 YY_RULE_SETUP
    2361 #line 278 "lex.ll"
     2373case 107:
     2374YY_RULE_SETUP
     2375#line 279 "lex.ll"
    23622376{ NUMERIC_RETURN(ZERO); }                               // CFA
    23632377        YY_BREAK
    2364 case 107:
    2365 YY_RULE_SETUP
    2366 #line 279 "lex.ll"
     2378case 108:
     2379YY_RULE_SETUP
     2380#line 280 "lex.ll"
    23672381{ NUMERIC_RETURN(ONE); }                                // CFA
    2368         YY_BREAK
    2369 case 108:
    2370 YY_RULE_SETUP
    2371 #line 280 "lex.ll"
    2372 { NUMERIC_RETURN(INTEGERconstant); }
    23732382        YY_BREAK
    23742383case 109:
     
    23852394YY_RULE_SETUP
    23862395#line 283 "lex.ll"
    2387 { NUMERIC_RETURN(FLOATINGconstant); }
     2396{ NUMERIC_RETURN(INTEGERconstant); }
    23882397        YY_BREAK
    23892398case 112:
     
    23922401{ NUMERIC_RETURN(FLOATINGconstant); }
    23932402        YY_BREAK
     2403case 113:
     2404YY_RULE_SETUP
     2405#line 285 "lex.ll"
     2406{ NUMERIC_RETURN(FLOATINGconstant); }
     2407        YY_BREAK
    23942408/* character constant, allows empty value */
    2395 case 113:
    2396 YY_RULE_SETUP
    2397 #line 287 "lex.ll"
     2409case 114:
     2410YY_RULE_SETUP
     2411#line 288 "lex.ll"
    23982412{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    23992413        YY_BREAK
    2400 case 114:
    2401 YY_RULE_SETUP
    2402 #line 288 "lex.ll"
     2414case 115:
     2415YY_RULE_SETUP
     2416#line 289 "lex.ll"
    24032417{ *strtext += std::string( yytext ); }
    24042418        YY_BREAK
    2405 case 115:
    2406 /* rule 115 can match eol */
    2407 YY_RULE_SETUP
    2408 #line 289 "lex.ll"
     2419case 116:
     2420/* rule 116 can match eol */
     2421YY_RULE_SETUP
     2422#line 290 "lex.ll"
    24092423{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
    24102424        YY_BREAK
    24112425/* ' stop highlighting */
    24122426/* string constant */
    2413 case 116:
    2414 YY_RULE_SETUP
    2415 #line 293 "lex.ll"
     2427case 117:
     2428YY_RULE_SETUP
     2429#line 294 "lex.ll"
    24162430{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    24172431        YY_BREAK
    2418 case 117:
    2419 YY_RULE_SETUP
    2420 #line 294 "lex.ll"
     2432case 118:
     2433YY_RULE_SETUP
     2434#line 295 "lex.ll"
    24212435{ *strtext += std::string( yytext ); }
    24222436        YY_BREAK
    2423 case 118:
    2424 /* rule 118 can match eol */
    2425 YY_RULE_SETUP
    2426 #line 295 "lex.ll"
     2437case 119:
     2438/* rule 119 can match eol */
     2439YY_RULE_SETUP
     2440#line 296 "lex.ll"
    24272441{ BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }
    24282442        YY_BREAK
    24292443/* " stop highlighting */
    24302444/* common character/string constant */
    2431 case 119:
    2432 YY_RULE_SETUP
    2433 #line 299 "lex.ll"
     2445case 120:
     2446YY_RULE_SETUP
     2447#line 300 "lex.ll"
    24342448{ rm_underscore(); *strtext += std::string( yytext ); }
    24352449        YY_BREAK
    2436 case 120:
    2437 /* rule 120 can match eol */
    2438 YY_RULE_SETUP
    2439 #line 300 "lex.ll"
     2450case 121:
     2451/* rule 121 can match eol */
     2452YY_RULE_SETUP
     2453#line 301 "lex.ll"
    24402454{}                                              // continuation (ALSO HANDLED BY CPP)
    24412455        YY_BREAK
    2442 case 121:
    2443 YY_RULE_SETUP
    2444 #line 301 "lex.ll"
     2456case 122:
     2457YY_RULE_SETUP
     2458#line 302 "lex.ll"
    24452459{ *strtext += std::string( yytext ); } // unknown escape character
    24462460        YY_BREAK
    24472461/* punctuation */
    2448 case 122:
    2449 YY_RULE_SETUP
    2450 #line 304 "lex.ll"
    2451 { ASCIIOP_RETURN(); }
    2452         YY_BREAK
    24532462case 123:
    24542463YY_RULE_SETUP
     
    24792488YY_RULE_SETUP
    24802489#line 310 "lex.ll"
     2490{ ASCIIOP_RETURN(); }
     2491        YY_BREAK
     2492case 129:
     2493YY_RULE_SETUP
     2494#line 311 "lex.ll"
    24812495{ ASCIIOP_RETURN(); }                                   // also operator
    2482         YY_BREAK
    2483 case 129:
    2484 YY_RULE_SETUP
    2485 #line 311 "lex.ll"
    2486 { ASCIIOP_RETURN(); }
    24872496        YY_BREAK
    24882497case 130:
     
    24942503YY_RULE_SETUP
    24952504#line 313 "lex.ll"
     2505{ ASCIIOP_RETURN(); }
     2506        YY_BREAK
     2507case 132:
     2508YY_RULE_SETUP
     2509#line 314 "lex.ll"
    24962510{ ASCIIOP_RETURN(); }                                   // also operator
    24972511        YY_BREAK
    2498 case 132:
    2499 YY_RULE_SETUP
    2500 #line 314 "lex.ll"
     2512case 133:
     2513YY_RULE_SETUP
     2514#line 315 "lex.ll"
    25012515{ NAMEDOP_RETURN(ELLIPSIS); }
    25022516        YY_BREAK
    25032517/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
    2504 case 133:
    2505 YY_RULE_SETUP
    2506 #line 317 "lex.ll"
     2518case 134:
     2519YY_RULE_SETUP
     2520#line 318 "lex.ll"
    25072521{ RETURN_VAL('['); }
    25082522        YY_BREAK
    2509 case 134:
    2510 YY_RULE_SETUP
    2511 #line 318 "lex.ll"
     2523case 135:
     2524YY_RULE_SETUP
     2525#line 319 "lex.ll"
    25122526{ RETURN_VAL(']'); }
    25132527        YY_BREAK
    2514 case 135:
    2515 YY_RULE_SETUP
    2516 #line 319 "lex.ll"
     2528case 136:
     2529YY_RULE_SETUP
     2530#line 320 "lex.ll"
    25172531{ RETURN_VAL('{'); }
    25182532        YY_BREAK
    2519 case 136:
    2520 YY_RULE_SETUP
    2521 #line 320 "lex.ll"
     2533case 137:
     2534YY_RULE_SETUP
     2535#line 321 "lex.ll"
    25222536{ RETURN_VAL('}'); }
    25232537        YY_BREAK
    25242538/* operators */
    2525 case 137:
    2526 YY_RULE_SETUP
    2527 #line 323 "lex.ll"
    2528 { ASCIIOP_RETURN(); }
    2529         YY_BREAK
    25302539case 138:
    25312540YY_RULE_SETUP
     
    25952604case 151:
    25962605YY_RULE_SETUP
    2597 #line 338 "lex.ll"
     2606#line 337 "lex.ll"
     2607{ ASCIIOP_RETURN(); }
     2608        YY_BREAK
     2609case 152:
     2610YY_RULE_SETUP
     2611#line 339 "lex.ll"
    25982612{ NAMEDOP_RETURN(ICR); }
    25992613        YY_BREAK
    2600 case 152:
    2601 YY_RULE_SETUP
    2602 #line 339 "lex.ll"
     2614case 153:
     2615YY_RULE_SETUP
     2616#line 340 "lex.ll"
    26032617{ NAMEDOP_RETURN(DECR); }
    26042618        YY_BREAK
    2605 case 153:
    2606 YY_RULE_SETUP
    2607 #line 340 "lex.ll"
     2619case 154:
     2620YY_RULE_SETUP
     2621#line 341 "lex.ll"
    26082622{ NAMEDOP_RETURN(EQ); }
    26092623        YY_BREAK
    2610 case 154:
    2611 YY_RULE_SETUP
    2612 #line 341 "lex.ll"
     2624case 155:
     2625YY_RULE_SETUP
     2626#line 342 "lex.ll"
    26132627{ NAMEDOP_RETURN(NE); }
    26142628        YY_BREAK
    2615 case 155:
    2616 YY_RULE_SETUP
    2617 #line 342 "lex.ll"
     2629case 156:
     2630YY_RULE_SETUP
     2631#line 343 "lex.ll"
    26182632{ NAMEDOP_RETURN(LS); }
    26192633        YY_BREAK
    2620 case 156:
    2621 YY_RULE_SETUP
    2622 #line 343 "lex.ll"
     2634case 157:
     2635YY_RULE_SETUP
     2636#line 344 "lex.ll"
    26232637{ NAMEDOP_RETURN(RS); }
    26242638        YY_BREAK
    2625 case 157:
    2626 YY_RULE_SETUP
    2627 #line 344 "lex.ll"
     2639case 158:
     2640YY_RULE_SETUP
     2641#line 345 "lex.ll"
    26282642{ NAMEDOP_RETURN(LE); }
    26292643        YY_BREAK
    2630 case 158:
    2631 YY_RULE_SETUP
    2632 #line 345 "lex.ll"
     2644case 159:
     2645YY_RULE_SETUP
     2646#line 346 "lex.ll"
    26332647{ NAMEDOP_RETURN(GE); }
    26342648        YY_BREAK
    2635 case 159:
    2636 YY_RULE_SETUP
    2637 #line 346 "lex.ll"
     2649case 160:
     2650YY_RULE_SETUP
     2651#line 347 "lex.ll"
    26382652{ NAMEDOP_RETURN(ANDAND); }
    26392653        YY_BREAK
    2640 case 160:
    2641 YY_RULE_SETUP
    2642 #line 347 "lex.ll"
     2654case 161:
     2655YY_RULE_SETUP
     2656#line 348 "lex.ll"
    26432657{ NAMEDOP_RETURN(OROR); }
    26442658        YY_BREAK
    2645 case 161:
    2646 YY_RULE_SETUP
    2647 #line 348 "lex.ll"
     2659case 162:
     2660YY_RULE_SETUP
     2661#line 349 "lex.ll"
    26482662{ NAMEDOP_RETURN(ARROW); }
    26492663        YY_BREAK
    2650 case 162:
    2651 YY_RULE_SETUP
    2652 #line 349 "lex.ll"
     2664case 163:
     2665YY_RULE_SETUP
     2666#line 350 "lex.ll"
    26532667{ NAMEDOP_RETURN(PLUSassign); }
    26542668        YY_BREAK
    2655 case 163:
    2656 YY_RULE_SETUP
    2657 #line 350 "lex.ll"
     2669case 164:
     2670YY_RULE_SETUP
     2671#line 351 "lex.ll"
    26582672{ NAMEDOP_RETURN(MINUSassign); }
    26592673        YY_BREAK
    2660 case 164:
    2661 YY_RULE_SETUP
    2662 #line 351 "lex.ll"
     2674case 165:
     2675YY_RULE_SETUP
     2676#line 352 "lex.ll"
    26632677{ NAMEDOP_RETURN(MULTassign); }
    26642678        YY_BREAK
    2665 case 165:
    2666 YY_RULE_SETUP
    2667 #line 352 "lex.ll"
     2679case 166:
     2680YY_RULE_SETUP
     2681#line 353 "lex.ll"
    26682682{ NAMEDOP_RETURN(DIVassign); }
    26692683        YY_BREAK
    2670 case 166:
    2671 YY_RULE_SETUP
    2672 #line 353 "lex.ll"
     2684case 167:
     2685YY_RULE_SETUP
     2686#line 354 "lex.ll"
    26732687{ NAMEDOP_RETURN(MODassign); }
    26742688        YY_BREAK
    2675 case 167:
    2676 YY_RULE_SETUP
    2677 #line 354 "lex.ll"
     2689case 168:
     2690YY_RULE_SETUP
     2691#line 355 "lex.ll"
    26782692{ NAMEDOP_RETURN(ANDassign); }
    26792693        YY_BREAK
    2680 case 168:
    2681 YY_RULE_SETUP
    2682 #line 355 "lex.ll"
     2694case 169:
     2695YY_RULE_SETUP
     2696#line 356 "lex.ll"
    26832697{ NAMEDOP_RETURN(ORassign); }
    26842698        YY_BREAK
    2685 case 169:
    2686 YY_RULE_SETUP
    2687 #line 356 "lex.ll"
     2699case 170:
     2700YY_RULE_SETUP
     2701#line 357 "lex.ll"
    26882702{ NAMEDOP_RETURN(ERassign); }
    26892703        YY_BREAK
    2690 case 170:
    2691 YY_RULE_SETUP
    2692 #line 357 "lex.ll"
     2704case 171:
     2705YY_RULE_SETUP
     2706#line 358 "lex.ll"
    26932707{ NAMEDOP_RETURN(LSassign); }
    26942708        YY_BREAK
    2695 case 171:
    2696 YY_RULE_SETUP
    2697 #line 358 "lex.ll"
     2709case 172:
     2710YY_RULE_SETUP
     2711#line 359 "lex.ll"
    26982712{ NAMEDOP_RETURN(RSassign); }
    26992713        YY_BREAK
    2700 case 172:
    2701 YY_RULE_SETUP
    2702 #line 360 "lex.ll"
     2714case 173:
     2715YY_RULE_SETUP
     2716#line 361 "lex.ll"
    27032717{ NAMEDOP_RETURN(ATassign); }
    27042718        YY_BREAK
    27052719/* CFA, operator identifier */
    2706 case 173:
    2707 YY_RULE_SETUP
    2708 #line 363 "lex.ll"
     2720case 174:
     2721YY_RULE_SETUP
     2722#line 364 "lex.ll"
    27092723{ IDENTIFIER_RETURN(); }                                // unary
    2710         YY_BREAK
    2711 case 174:
    2712 YY_RULE_SETUP
    2713 #line 364 "lex.ll"
    2714 { IDENTIFIER_RETURN(); }
    27152724        YY_BREAK
    27162725case 175:
     
    27222731YY_RULE_SETUP
    27232732#line 366 "lex.ll"
     2733{ IDENTIFIER_RETURN(); }
     2734        YY_BREAK
     2735case 177:
     2736YY_RULE_SETUP
     2737#line 367 "lex.ll"
    27242738{ IDENTIFIER_RETURN(); }                // binary
    27252739        YY_BREAK
     
    27502764          an argument list.
    27512765        */
    2752 case 177:
    2753 YY_RULE_SETUP
    2754 #line 393 "lex.ll"
     2766case 178:
     2767YY_RULE_SETUP
     2768#line 394 "lex.ll"
    27552769{
    27562770        // 1 or 2 character unary operator ?
     
    27652779        YY_BREAK
    27662780/* unknown characters */
    2767 case 178:
    2768 YY_RULE_SETUP
    2769 #line 405 "lex.ll"
     2781case 179:
     2782YY_RULE_SETUP
     2783#line 406 "lex.ll"
    27702784{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    27712785        YY_BREAK
    2772 case 179:
    2773 YY_RULE_SETUP
    2774 #line 407 "lex.ll"
     2786case 180:
     2787YY_RULE_SETUP
     2788#line 408 "lex.ll"
    27752789ECHO;
    27762790        YY_BREAK
    2777 #line 2778 "Parser/lex.cc"
     2791#line 2792 "Parser/lex.cc"
    27782792case YY_STATE_EOF(INITIAL):
    27792793case YY_STATE_EOF(COMMENT):
     
    30723086                        {
    30733087                        yy_current_state = (int) yy_def[yy_current_state];
    3074                         if ( yy_current_state >= 876 )
     3088                        if ( yy_current_state >= 888 )
    30753089                                yy_c = yy_meta[(unsigned int) yy_c];
    30763090                        }
     
    31003114                {
    31013115                yy_current_state = (int) yy_def[yy_current_state];
    3102                 if ( yy_current_state >= 876 )
     3116                if ( yy_current_state >= 888 )
    31033117                        yy_c = yy_meta[(unsigned int) yy_c];
    31043118                }
    31053119        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3106         yy_is_jam = (yy_current_state == 875);
     3120        yy_is_jam = (yy_current_state == 887);
    31073121
    31083122        return yy_is_jam ? 0 : yy_current_state;
     
    37503764#define YYTABLES_NAME "yytables"
    37513765
    3752 #line 407 "lex.ll"
     3766#line 408 "lex.ll"
    37533767
    37543768
Note: See TracChangeset for help on using the changeset viewer.