/*******************************************************************************
* Copyright (c) 2006, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*********************************************************************************/
// This file was generated by LPG
package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CPPNoCastExpressionParsersym {
public interface IsKeyword {
public final static byte isKeyword[] = {0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
public final boolean isKeyword(int index) { return isKeyword[index] != 0; }
public interface BaseCheck {
public final static short baseCheck[] = {0,
0,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,3,1,1,1,1,1,1,
1,1,2,2,1,1,0,1,0,4,
2,3,2,3,2,2,1,0,1,1,
4,4,4,8,8,3,3,4,4,3,
3,2,2,7,7,7,7,4,4,5,
6,3,2,2,1,1,1,2,2,2,
2,2,2,2,2,2,4,7,9,3,
0,1,2,2,1,2,3,4,1,0,
3,1,0,3,5,1,1,3,3,1,
3,3,3,1,3,3,1,3,3,1,
3,3,3,3,1,3,3,1,3,1,
3,1,3,1,3,1,3,1,5,1,
2,1,1,3,3,3,3,3,3,3,
3,3,3,3,1,2,1,3,1,0,
1,0,1,1,0,1,1,1,1,1,
1,1,1,1,3,4,3,2,1,4,
2,1,2,5,7,5,1,4,1,0,
5,7,2,8,1,1,2,2,3,2,
3,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,2,1,0,
4,4,2,2,2,2,2,1,0,1,
1,1,1,1,1,2,1,2,2,2,
1,1,2,2,1,2,2,1,2,2,
1,2,2,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,3,4,4,5,2,
5,6,5,0,1,0,7,8,0,1,
3,1,0,1,3,1,7,6,0,7,
6,1,0,6,5,6,4,1,3,1,
0,1,1,2,1,1,3,1,3,1,
1,1,1,3,9,2,2,3,2,5,
3,7,0,1,2,2,1,0,1,1,
1,3,1,2,1,1,2,3,1,1,
1,3,2,1,2,2,9,8,2,1,
3,1,3,1,0,1,0,2,1,1,
3,1,3,2,1,5,8,1,2,3,
1,1,7,6,3,0,0,1,3,1,
1,5,6,6,7,7,0,0,1,0,
1,1,1,2,4,2,2,1,5,1,
1,1,1,1,1,1,2,1,0,1,
3,1,1,2,3,2,1,2,2,1,
0,1,3,3,5,5,4,1,1,1,
1,0,1,5,2,2,1,2,2,1,
0,1,3,4,3,1,1,5,2,1,
1,3,3,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,2,
2,7,1,0,1,3,1,1,2,4,
2,4,7,9,5,1,3,1,0,1,
1,2,4,4,2,1,2,5,5,3,
3,1,4,3,1,0,1,3,1,1,
-107,0,0,0,-2,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-4,0,0,0,0,0,
-536,0,0,0,-10,0,0,0,0,0,
-49,0,0,-54,0,-289,0,0,0,0,
0,0,0,0,0,0,0,0,-58,0,
0,0,-59,0,-306,0,0,0,0,0,
0,0,0,0,0,0,0,0,-5,0,
-414,0,0,0,-187,0,0,0,0,-177,
0,0,-16,0,0,0,0,0,0,0,
0,0,0,-121,-1,0,0,0,0,0,
0,-176,0,0,0,0,0,0,0,0,
0,0,0,-62,0,0,0,0,0,0,
-262,0,-357,0,0,-271,0,0,0,0,
0,0,-300,-50,0,0,0,0,0,0,
0,0,0,0,-114,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-57,0,0,0,0,0,
0,0,0,-116,0,0,0,-118,0,-275,
0,-135,0,0,0,-234,-317,0,0,0,
0,0,0,-115,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-104,-61,0,
0,0,0,0,0,0,0,0,-6,0,
0,-126,0,0,0,0,0,-68,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-7,0,0,
-224,0,0,0,-130,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-53,-196,
0,0,0,0,-389,0,0,-181,-162,-8,
0,0,0,0,0,0,0,0,0,0,
0,-9,0,-218,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-128,0,0,0,0,0,0,
0,0,-11,-165,0,0,0,0,0,0,
-105,-170,0,0,-51,0,0,0,0,-12,
0,0,-69,0,0,0,-129,0,0,0,
0,0,0,0,0,0,0,0,-166,0,
-513,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-13,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-537,0,0,0,-15,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-132,
0,0,0,-28,-113,0,0,0,-163,0,
0,0,-119,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-395,0,0,0,0,0,0,
0,-103,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-255,0,0,0,0,
0,0,0,0,0,-123,0,0,-29,-297,
0,0,0,0,0,-272,0,0,-17,0,
-137,-142,0,-30,-444,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-417,
0,0,0,0,-141,0,0,0,-3,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-228,0,0,0,0,0,0,0,
0,0,-31,0,0,0,0,0,0,0,
0,-319,0,0,0,-32,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-184,0,0,0,0,-322,0,0,0,
-257,-33,0,0,0,-283,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-34,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-334,0,0,0,-335,0,
0,0,0,-35,0,0,0,0,0,0,
-323,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-225,0,0,0,0,0,
-386,0,0,0,0,0,0,0,0,-36,
-205,0,0,-18,0,0,0,0,-324,0,
0,0,-37,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-186,-39,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-299,0,0,0,
0,0,0,0,0,0,-377,0,0,0,
0,0,0,0,0,-41,0,0,0,-38,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-40,0,0,0,0,
-342,0,0,0,-55,0,0,0,-91,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-56,0,0,0,0,0,-188,0,
0,0,-405,0,0,0,0,-197,-337,0,
0,-92,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-202,0,0,0,0,
0,0,0,0,0,0,-376,0,0,0,
-344,0,0,0,-93,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-195,0,0,0,0,0,
0,0,0,-207,-219,0,0,-94,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-209,0,0,0,0,-220,0,0,
-95,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-229,0,0,0,0,-478,0,0,0,-233,
-221,0,0,-96,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-240,-296,0,0,-97,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-63,0,0,0,0,0,0,0,0,0,
-469,-303,0,0,0,-247,0,0,0,-98,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-211,0,0,0,0,0,0,
0,0,0,0,-385,0,0,0,-248,0,
0,0,-99,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-64,0,0,0,
0,0,0,0,0,0,-528,-399,0,0,
0,-249,0,0,0,-100,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-298,
0,0,0,0,0,0,0,0,0,0,
-66,0,0,0,-250,-286,0,0,-101,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-67,0,0,0,0,0,0,0,
0,0,-529,-254,0,0,0,0,-108,0,
0,-203,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-327,0,0,0,0,
0,0,0,0,0,0,-267,0,0,0,
0,-109,0,0,-531,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-320,0,
0,0,0,0,-268,0,0,0,0,-270,
0,0,0,0,-279,0,0,-345,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-498,0,0,0,0,0,-274,0,0,
0,0,-110,0,0,0,-356,0,0,0,
-111,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-282,0,0,0,
0,-360,0,0,0,-223,0,0,0,-435,
0,0,0,-131,-380,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-143,-287,
0,0,0,-381,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-144,0,
0,0,-232,0,0,0,-437,0,0,0,
-145,-455,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-146,-292,0,0,0,
-90,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-147,0,0,0,0,0,
0,0,0,0,-138,0,0,0,-294,0,
0,0,0,0,0,0,0,-148,-88,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-347,0,
0,-89,0,0,0,-149,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-150,0,0,0,0,
0,-151,0,-85,0,0,0,-152,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-265,0,0,
0,0,0,-86,0,0,0,-153,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-154,0,0,
0,0,-87,0,0,0,-314,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-355,0,0,0,
0,-396,0,0,0,0,0,0,0,0,
0,0,0,0,-79,0,0,0,-155,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-156,0,
0,0,-71,-310,-365,0,0,-140,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-375,0,0,
0,0,0,0,0,0,0,0,0,-378,
0,0,0,0,0,-157,-80,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-465,0,0,0,0,-158,-471,0,0,0,
-472,0,0,0,0,0,0,-538,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-354,0,-238,0,0,0,-159,0,0,
0,0,0,0,-266,0,-81,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-160,0,0,0,-82,0,0,0,-161,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-167,0,
0,0,-242,0,0,0,0,0,0,0,
0,0,0,0,0,-290,-47,0,0,0,
0,-168,-321,-305,0,0,0,0,0,0,
0,0,0,0,0,0,-295,-190,0,0,
0,0,0,0,-112,-52,0,0,0,-136,
0,0,0,-169,-127,0,0,0,0,0,
0,0,0,0,0,0,0,0,-172,-236,
0,-48,0,0,0,0,-173,-102,0,0,
0,0,0,0,0,0,0,0,0,0,
-239,0,0,0,0,0,0,0,0,0,
0,0,0,-328,0,-174,-388,0,0,-106,
0,0,0,0,-373,0,-392,0,-343,0,
0,0,-175,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-20,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-359,0,0,-178,
-201,0,0,0,0,-179,0,0,0,0,
0,0,0,0,0,0,-180,0,0,0,
0,0,0,0,0,0,0,0,0,-183,
0,0,0,0,0,0,-120,0,0,0,
-83,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-311,0,0,-84,0,0,
0,-191,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-433,0,0,-164,0,-212,0,0,0,
0,-304,0,-390,-117,0,-182,0,0,0,
-246,0,0,0,0,0,-308,0,0,-192,
0,0,0,0,0,-418,0,-412,0,-453,
0,0,0,0,0,-198,0,0,0,0,
0,0,0,0,0,0,0,0,-309,-206,
0,0,0,0,-259,0,0,-216,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-325,0,0,0,0,0,0,0,-363,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-217,0,0,0,0,
0,0,0,0,0,-530,0,0,0,0,
0,0,0,0,0,0,0,0,-74,0,
0,0,-351,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-326,0,0,0,-331,-427,
-244,-333,0,0,0,0,-226,0,-336,-434,
0,0,0,-413,0,0,0,0,0,0,
0,-237,0,0,0,-204,0,0,0,0,
0,0,0,-330,0,0,0,-364,0,0,
0,0,0,0,0,0,-475,0,0,0,
0,-75,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-139,0,0,
0,0,0,0,0,-273,0,0,0,0,
0,0,0,0,0,0,-424,0,0,-462,
0,0,-241,0,0,0,0,-291,-243,0,
-352,0,0,-452,0,-122,-253,0,0,0,
0,0,0,0,-258,0,0,0,0,0,
0,0,0,0,0,0,0,-485,0,0,
-353,0,0,-260,-425,0,0,0,0,0,
0,0,0,0,0,0,-339,-261,-313,0,
0,0,-293,0,0,0,0,0,0,0,
0,0,0,0,0,-487,0,0,0,0,
0,0,0,0,0,0,0,-470,0,0,
0,0,0,0,-372,0,0,0,-276,0,
-404,0,0,0,0,0,0,0,0,0,
0,0,0,-504,0,0,-280,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-312,0,0,0,-341,0,-281,0,
0,0,0,0,0,0,0,0,0,0,
0,-518,0,0,-542,0,0,-284,-235,-285,
0,0,0,0,0,0,0,0,0,0,
-361,-499,-421,-367,0,0,0,0,-473,0,
0,0,0,0,0,0,0,0,0,-520,
0,0,-391,0,0,-422,0,0,0,0,
0,-301,0,0,0,0,0,0,0,-302,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-134,0,0,
-278,0,0,-307,0,0,0,0,0,0,
0,0,0,0,0,0,-171,0,0,0,
-185,0,0,0,-464,0,0,0,0,0,
0,0,0,0,0,-522,0,0,0,0,
0,0,0,0,0,0,0,0,-362,-70,
0,0,0,0,-490,0,-468,0,0,0,
0,0,-524,-416,0,0,0,0,-402,0,
0,0,0,0,-403,0,0,-124,0,0,
-350,-231,0,0,0,0,0,-358,0,-245,
0,0,0,0,0,0,0,0,-315,0,
0,0,0,-406,-43,0,-316,0,0,0,
0,0,0,0,0,0,0,0,0,-332,
-382,0,-227,0,0,0,-346,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-446,-420,0,-539,0,0,0,0,-457,
0,0,0,0,0,0,-476,0,0,0,
0,-441,0,0,0,0,0,0,0,0,
0,0,-213,-443,0,0,0,0,-526,0,
0,0,0,0,0,-429,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-544,0,0,-466,0,-467,-199,0,0,
0,0,0,0,0,0,0,0,0,0,
-348,-368,-480,-44,0,0,0,0,-493,0,
-432,0,0,-371,0,-474,-384,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-477,0,
0,0,0,-269,0,0,-494,0,0,0,
0,0,0,0,0,0,0,-76,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-77,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-78,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-21,
0,0,0,-397,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-22,0,0,0,-398,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-23,0,0,0,-400,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-24,0,
0,0,-401,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-25,0,0,0,-407,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-26,0,0,0,-409,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-27,0,0,
0,-415,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-60,0,0,0,-423,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-72,0,0,0,-430,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-73,0,0,0,
-431,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-193,
0,0,0,-454,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-379,0,0,0,0,0,0,0,
0,0,0,0,0,-482,-445,0,0,0,
0,0,0,0,0,0,0,0,0,-19,
0,0,0,-456,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-366,-214,-458,-215,0,0,-251,0,-459,
-460,0,0,0,0,-394,0,0,-501,0,
-496,-448,0,0,0,0,0,0,0,0,
0,0,0,-461,0,-463,-500,0,-505,0,
0,-481,0,0,0,-514,0,0,0,0,
0,-483,0,0,0,0,0,0,-479,0,
0,-509,0,0,0,0,0,0,0,0,
0,-507,0,-189,0,0,0,0,-484,0,
0,0,0,-14,0,0,0,0,-442,0,
0,0,0,0,0,0,0,-511,0,0,
0,-486,-45,0,-410,0,0,0,0,0,
-512,-517,0,-491,0,0,0,0,0,0,
0,0,-515,-277,0,-516,0,0,0,0,
0,0,-525,-495,-533,0,0,0,0,0,
0,0,0,0,-125,0,0,0,0,0,
-502,-510,0,0,-519,-527,0,0,0,0,
0,0,-532,0,0,-521,0,0,0,0,
-543,0,0,0,0,-383,0,0,0,0,
0,0,0,0,0,0,0,0,-506,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-534,0,-263,0,
0,0,0,0,0,0,0,0,0,0,
0,-535,0,-540,0,0,0,0,-541,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-338,0,0,0,0,0,0,0,
0,0,0,0,-369,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-230,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-393,0,0,0,0,0,0,0,0,0,
0,0,-419,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,-288,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-428,0,
0,0,0,0,0,0,0,0,0,0,
-252,0,-318,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-370,0,0,0,0,0,
0,0,0,0,0,0,0,-436,0,-523,
-222,0,0,0,0,0,0,0,0,0,
-264,0,0,0,0,0,-208,0,0,-46,
0,0,0,0,0,0,-329,0,0,0,
0,0,0,0,0,0,0,-133,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-340,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-349,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-387,0,0,0,
0,0,0,-408,0,0,0,-411,0,0,
0,0,0,0,0,0,0,0,0,0,
0,-426,0,0,0,0,-438,0,0,0,
-374,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,-508,0,0,0,0,0,0,
0,0,-439,0,0,0,0,0,0,-447,
0,0,0,0,0,0,-449,0,-42,0,
0,-65,0,0,0,0,0,-200,0,0,
0,-440,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-488,0,0,0,0,0,
-210,0,0,0,-256,0,0,0,0,0,
0,0,-489,0,0,0,0,-492,0,-194,
0,0,0,0,0,0,0,-450,0,-451,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
-497,0,-503,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
public final int baseCheck(int index) { return baseCheck[index]; }
public final static short rhs[] = baseCheck;
public final int rhs(int index) { return rhs[index]; };
public interface BaseAction {
public final static char baseAction[] = {
176,4,137,82,82,34,34,68,68,39,
39,43,43,202,1,1,16,16,16,16,
16,16,16,17,17,17,15,11,11,6,
6,6,6,6,6,2,66,66,5,5,
12,12,45,45,138,138,139,57,57,44,
18,18,18,18,18,18,18,18,18,18,
18,18,18,18,18,18,18,18,18,18,
140,140,140,114,114,19,19,19,19,19,
19,19,19,19,19,19,19,19,20,20,
177,177,178,178,179,143,143,144,144,141,
141,145,142,142,21,21,22,23,23,23,
25,25,25,25,26,26,26,27,27,27,
28,28,28,28,28,29,29,29,31,31,
32,32,33,33,36,36,37,37,38,38,
42,42,41,41,41,41,41,41,41,41,
41,41,41,41,41,40,30,146,146,96,
96,180,180,91,203,203,69,69,69,69,
69,69,69,69,69,70,70,70,67,67,
56,56,181,181,71,71,71,102,102,182,
182,72,72,72,72,183,183,73,73,73,
73,73,74,74,83,83,83,83,83,83,
83,83,51,51,51,51,51,115,115,113,
113,52,184,24,24,24,24,24,49,49,
86,86,86,86,86,153,153,148,148,148,
148,148,149,149,149,150,150,150,151,151,
151,152,152,152,87,87,87,87,87,88,
88,88,13,14,14,14,14,14,14,14,
14,14,14,14,97,119,119,119,119,119,
119,117,117,117,154,155,155,118,118,185,
157,157,156,156,121,121,103,80,80,122,
54,48,158,158,55,53,85,85,159,159,
147,147,123,124,124,125,77,77,160,160,
64,64,64,61,61,60,65,65,76,76,
59,59,59,50,89,89,99,98,98,63,
63,62,62,58,58,46,100,100,100,92,
92,92,93,93,94,94,94,95,95,104,
104,104,106,106,105,105,204,204,90,90,
187,187,187,187,187,127,47,47,162,186,
186,128,128,129,129,129,130,164,188,188,
35,35,116,131,131,131,131,190,108,107,
107,120,120,120,165,166,166,166,166,166,
166,166,166,166,166,166,192,192,189,189,
191,191,167,168,168,168,168,169,193,110,
109,109,194,194,170,170,170,170,101,101,
101,195,195,8,8,9,196,196,197,171,
161,161,172,172,173,174,174,7,7,10,
198,198,198,198,198,198,198,198,198,198,
198,198,198,198,198,198,198,198,198,198,
198,198,198,198,198,198,198,198,198,198,
198,198,198,198,198,198,198,198,198,198,
198,198,78,81,81,175,175,133,133,134,
134,134,134,134,134,3,135,135,132,132,
111,111,84,79,75,75,163,163,112,112,
199,199,199,136,136,126,126,200,200,176,
176,1119,35,2754,2722,1791,3467,27,30,31,
995,1019,26,28,2699,262,25,23,50,1054,
106,76,77,107,1139,73,1233,1154,1282,1246,
1334,150,1310,1393,1380,155,274,1480,1506,142,
2717,49,157,143,1618,695,1892,35,950,32,
4557,4443,27,30,31,995,1019,341,28,587,
1941,2164,34,1618,232,1869,35,950,32,3531,
4443,27,30,31,995,1019,341,28,500,71,
353,587,35,1887,391,2275,1223,235,230,231,
587,35,3066,1504,35,950,32,24,275,41,
30,31,995,1019,1229,2253,321,2200,323,1199,
316,1946,587,35,2164,3028,434,242,245,248,
251,644,354,2804,1312,321,2200,323,1721,316,
1946,322,1063,587,3549,155,1476,3549,346,969,
934,351,2804,135,49,539,1644,565,754,2975,
738,2907,3236,3528,4245,2320,35,950,32,2746,
1384,27,30,31,995,1019,26,28,933,262,
25,23,50,1054,106,76,77,107,1139,345,
1233,1154,1282,1246,1334,49,1310,1393,1380,835,
742,1480,1506,142,1446,384,520,143,1225,2977,
2493,2810,1718,35,950,32,1631,1631,40,30,
31,995,1019,521,2320,35,950,32,2746,1384,
27,30,31,995,1019,26,28,933,262,25,
23,50,1054,106,76,77,107,1139,345,1233,
1154,1282,1246,1334,2900,1310,1393,1380,1618,1547,
1480,1506,142,334,291,520,143,290,1432,1592,
2810,232,327,35,280,1559,516,4174,1217,35,
950,32,521,3198,27,30,31,995,1019,57,
28,545,69,878,244,230,231,2870,1766,1812,
2876,69,2467,3557,3471,2320,35,950,32,2746,
1384,27,30,31,995,1019,26,28,933,262,
25,23,50,1054,106,76,77,107,1139,345,
1233,1154,1282,1246,1334,516,1310,1393,1380,1088,
2125,1480,1506,142,3379,1906,520,143,2038,1446,
1853,2810,88,2977,2977,102,2887,740,3538,2876,
3319,3319,2086,521,2528,35,950,32,2746,1384,
27,30,31,995,1019,26,28,933,262,25,
23,50,1054,106,76,77,107,1139,345,1233,
1154,1282,1246,1334,1088,1310,1393,1380,2900,2900,
1480,1506,142,1377,1456,520,143,335,334,2027,
2810,1618,327,35,280,1603,516,4811,61,734,
2229,501,521,1381,35,950,32,1088,3198,27,
30,31,995,1019,56,28,4568,2990,3146,1877,
2876,2663,35,950,32,68,1384,27,30,31,
995,1019,26,28,933,262,25,23,50,1054,
106,76,77,107,1139,2230,1233,1154,1282,1246,
1334,358,1310,1393,1380,517,463,1480,1506,142,
355,535,381,143,3709,2389,35,950,32,2246,
1384,27,30,31,995,1019,26,28,933,262,
25,23,50,1054,106,76,77,107,1139,462,
1233,1154,1282,1246,1334,356,1310,1393,1380,93,
1088,1480,1506,142,2249,1618,381,143,3709,2837,
35,950,32,1611,1384,27,30,31,995,1019,
26,28,933,262,25,23,50,1054,106,76,
77,107,1139,3375,1233,1154,1282,1246,1334,53,
1310,1393,1380,60,2075,1480,3020,163,4413,388,
382,1726,3127,35,950,32,1272,1384,27,30,
31,995,1019,26,28,933,262,25,23,50,
1054,106,76,77,107,1139,752,1233,1154,1282,
1246,1334,4030,1310,1393,1380,241,3593,2679,413,
1800,329,446,389,382,1726,587,35,283,49,
1381,1618,1088,1199,1449,2595,35,950,32,3629,
1384,27,30,31,995,1019,26,28,933,262,
25,23,50,1054,106,76,77,107,1139,155,
1233,1154,1282,1246,1334,87,1310,1393,1380,603,
1906,1480,1506,142,392,1618,381,143,3709,2892,
35,950,32,1325,1384,27,30,31,995,1019,
26,28,933,262,25,23,50,1054,106,76,
77,107,1139,1611,1233,1154,1282,1246,1334,52,
1310,1393,1380,64,51,1480,1506,142,330,337,
157,143,3127,35,950,32,2288,1384,27,30,
31,995,1019,26,28,933,262,25,23,50,
1054,106,76,77,107,1139,2070,1233,1154,1282,
1246,1334,49,1310,1393,1380,4531,1800,1480,3020,
163,1621,330,379,382,1726,2892,35,950,32,
1549,1384,27,30,31,995,1019,26,28,933,
262,25,23,50,1054,106,76,77,107,1139,
494,1233,1154,1282,1246,1334,357,1310,1393,1380,
407,625,1480,1506,142,1800,535,375,143,1718,
35,950,32,2152,1243,2535,30,31,995,1019,
1325,2892,35,950,32,565,1384,27,30,31,
995,1019,26,28,933,262,25,23,50,1054,
106,76,77,107,1139,2448,1233,1154,1282,1246,
1334,1951,1310,1393,1380,3391,337,1480,1506,142,
400,1088,375,143,2156,35,1887,391,1325,2892,
35,950,32,1409,1384,27,30,31,995,1019,
26,28,933,262,25,23,50,1054,106,76,
77,107,1139,374,1233,1154,1282,1246,1334,49,
1310,1393,1380,336,337,1480,1506,142,1801,664,
375,143,155,2461,35,950,32,3573,1384,27,
30,31,995,1019,26,28,933,262,25,23,
50,1054,106,76,77,107,1139,1611,1233,1154,
1282,1246,1334,328,1310,1393,1380,1611,373,1480,
1506,142,441,2065,141,143,2892,35,950,32,
1105,1384,27,30,31,995,1019,26,28,933,
262,25,23,50,1054,106,76,77,107,1139,
3129,1233,1154,1282,1246,1334,1620,1310,1393,1380,
3554,2519,1480,1506,142,416,371,158,143,2892,
35,950,32,378,1384,27,30,31,995,1019,
26,28,933,262,25,23,50,1054,106,76,
77,107,1139,1447,1233,1154,1282,1246,1334,155,
1310,1393,1380,1611,4385,1480,1506,142,1618,1611,
154,143,2892,35,950,32,3134,1384,27,30,
31,995,1019,26,28,933,262,25,23,50,
1054,106,76,77,107,1139,1336,1233,1154,1282,
1246,1334,90,1310,1393,1380,3554,2519,1480,1506,
142,2556,3394,153,143,2892,35,950,32,378,
1384,27,30,31,995,1019,26,28,933,262,
25,23,50,1054,106,76,77,107,1139,376,
1233,1154,1282,1246,1334,49,1310,1393,1380,746,
405,1480,1506,142,1618,56,152,143,2892,35,
950,32,742,1384,27,30,31,995,1019,26,
28,933,262,25,23,50,1054,106,76,77,
107,1139,1467,1233,1154,1282,1246,1334,352,1310,
1393,1380,450,49,1480,1506,142,3121,56,151,
143,2892,35,950,32,3237,1384,27,30,31,
995,1019,26,28,933,262,25,23,50,1054,
106,76,77,107,1139,3681,1233,1154,1282,1246,
1334,49,1310,1393,1380,676,1611,1480,1506,142,
1618,56,150,143,2892,35,950,32,331,1384,
27,30,31,995,1019,26,28,933,262,25,
23,50,1054,106,76,77,107,1139,1553,1233,
1154,1282,1246,1334,2108,1310,1393,1380,450,4137,
1480,1506,142,1618,56,149,143,2892,35,950,
32,1984,1384,27,30,31,995,1019,26,28,
933,262,25,23,50,1054,106,76,77,107,
1139,1174,1233,1154,1282,1246,1334,2147,1310,1393,
1380,1611,155,1480,1506,142,1618,4582,148,143,
2892,35,950,32,3122,1384,27,30,31,995,
1019,26,28,933,262,25,23,50,1054,106,
76,77,107,1139,1864,1233,1154,1282,1246,1334,
67,1310,1393,1380,3554,2631,1480,1506,142,1618,
4668,147,143,2892,35,950,32,4121,1384,27,
30,31,995,1019,26,28,933,262,25,23,
50,1054,106,76,77,107,1139,2686,1233,1154,
1282,1246,1334,66,1310,1393,1380,1611,155,1480,
1506,142,1618,4682,146,143,2892,35,950,32,
742,1384,27,30,31,995,1019,26,28,933,
262,25,23,50,1054,106,76,77,107,1139,
1312,1233,1154,1282,1246,1334,65,1310,1393,1380,
3554,1324,1480,1506,142,1618,2559,145,143,2892,
35,950,32,529,1384,27,30,31,995,1019,
26,28,933,262,25,23,50,1054,106,76,
77,107,1139,1445,1233,1154,1282,1246,1334,64,
1310,1393,1380,1611,49,1480,1506,142,1140,160,
144,143,2892,35,950,32,1329,1384,27,30,
31,995,1019,26,28,933,262,25,23,50,
1054,106,76,77,107,1139,2488,1233,1154,1282,
1246,1334,326,1310,1393,1380,3554,49,1480,1506,
142,2534,246,139,143,3011,35,950,32,528,
1384,27,30,31,995,1019,26,28,933,262,
25,23,50,1054,106,76,77,107,1139,1088,
1233,1154,1282,1246,1334,49,1310,1393,1380,2935,
49,1480,1506,142,3279,666,188,143,3127,35,
950,32,742,1384,27,30,31,995,1019,26,
28,933,262,25,23,50,1054,106,76,77,
107,1139,1906,1233,1154,1282,1246,1334,49,1310,
1393,1380,747,590,1480,3020,163,3127,35,950,
32,848,1384,27,30,31,995,1019,26,28,
933,262,25,23,50,1054,106,76,77,107,
1139,97,1233,1154,1282,1246,1334,49,1310,1393,
1380,1277,1088,1480,3020,163,587,35,2645,2428,
587,35,1887,391,2687,3127,35,950,32,426,
1384,27,30,31,995,1019,26,28,933,262,
25,23,50,1054,106,76,77,107,1139,70,
1233,1154,1282,1246,1334,455,1310,1393,1380,408,
1964,1480,3020,163,3127,35,950,32,295,1384,
27,30,31,995,1019,26,28,933,262,25,
23,50,1054,106,76,77,107,1139,325,1233,
1154,1282,1246,1334,98,1310,1393,1380,535,580,
1480,3020,163,587,35,2164,277,587,35,1887,
391,1015,3182,35,950,32,425,1384,27,30,
31,995,1019,26,28,933,262,25,23,50,
1054,106,76,77,107,1139,327,1233,1154,1282,
1246,1334,437,1310,1393,1380,1234,1618,1480,3020,
163,3127,35,950,32,428,1384,27,30,31,
995,1019,26,28,933,262,25,23,50,1054,
106,76,77,107,1139,1378,1233,1154,1282,1246,
1334,3119,1310,1393,2638,1785,35,950,32,1618,
4758,27,30,31,995,1019,59,28,846,3127,
35,950,32,4202,1384,27,30,31,995,1019,
26,28,933,262,25,23,50,1054,106,76,
77,107,1139,55,1233,1154,1282,1246,1334,2720,
1310,2576,3127,35,950,32,932,1384,27,30,
31,995,1019,26,28,933,262,25,23,50,
1054,106,76,77,107,1139,1311,1233,1154,1282,
1246,1334,1548,2606,3127,35,950,32,1591,1384,
27,30,31,995,1019,26,28,933,262,25,
23,50,1054,106,76,77,107,1139,69,1233,
1154,1282,1246,2458,3127,35,950,32,1679,1384,
27,30,31,995,1019,26,28,933,262,25,
23,50,1054,106,76,77,107,1139,1278,1233,
1154,1282,2509,3127,35,950,32,2585,1384,27,
30,31,995,1019,26,28,933,262,25,23,
50,1054,106,76,77,107,1139,752,1233,1154,
1282,2529,1522,35,950,32,3531,4599,27,30,
31,995,1019,341,28,3127,35,950,32,2429,
1384,27,30,31,995,1019,26,28,933,262,
25,23,50,1054,106,76,77,107,1139,2562,
1233,1154,2338,49,2437,1795,2987,1199,1785,35,
950,32,2900,4758,27,30,31,995,1019,58,
28,334,321,2200,323,287,316,1946,1718,35,
950,32,424,155,3321,30,31,995,1019,315,
327,35,456,1152,409,4664,1707,3127,35,950,
32,2819,1384,27,30,31,995,1019,26,28,
933,262,25,23,50,1054,106,76,77,107,
1139,2560,1233,1154,2376,1199,2139,587,35,1887,
391,587,35,1887,391,308,312,3416,2347,35,
950,32,2487,4758,27,30,31,995,1019,26,
28,155,2585,514,587,3337,2164,74,486,3393,
200,3717,436,393,430,2695,435,3127,35,950,
32,3965,1384,27,30,31,995,1019,26,28,
933,262,25,23,50,1054,106,76,77,107,
1139,2066,1233,1154,2396,3127,35,950,32,1127,
1384,27,30,31,995,1019,26,28,933,262,
25,23,50,1054,106,76,77,107,1139,2050,
1233,1154,2402,2067,35,950,32,2716,4443,27,
30,31,995,1019,341,28,1446,587,35,1887,
391,2977,3327,666,1401,35,3671,32,3531,4599,
27,30,31,995,1019,341,28,1618,587,35,
1887,391,449,3896,3919,1280,3237,35,1887,391,
1352,2755,49,3019,1457,674,35,1887,391,237,
262,1801,2745,321,2200,323,2900,316,1946,2132,
2411,54,1355,274,2900,334,1199,2225,49,354,
3380,274,1199,334,321,2200,323,2807,316,1946,
49,1101,35,2164,3359,346,969,934,351,1801,
2942,2369,159,3378,1618,3154,2235,752,155,232,
2151,652,2738,2819,879,1706,3658,752,2671,1956,
35,950,32,2350,4599,27,30,31,995,1019,
341,28,235,230,231,276,3658,71,324,3127,
35,950,32,275,1384,27,30,31,995,1019,
26,28,933,262,25,23,50,1054,106,76,
77,85,242,245,248,251,644,1618,1055,2900,
1267,757,35,1887,391,288,761,1063,335,321,
2200,323,630,319,1946,298,354,1726,42,3006,
368,420,422,3577,2975,738,2907,3236,3528,4245,
1226,101,346,969,934,351,274,1240,44,3006,
344,3127,35,950,32,1601,1384,27,30,31,
995,1019,26,28,933,262,25,23,50,1054,
106,76,77,107,1139,2437,1233,2408,3127,35,
950,32,2085,1384,27,30,31,995,1019,26,
28,933,262,25,23,50,1054,106,76,77,
107,1139,259,1233,2438,2555,541,49,3142,4547,
232,1199,2384,1812,1618,3353,1511,587,35,1887,
391,1101,35,2164,277,72,228,49,239,262,
2310,3093,155,247,230,231,752,155,155,353,
1,179,3600,4687,541,3554,2416,1816,3514,203,
215,4515,49,202,212,213,214,216,168,49,
2280,1801,1645,3231,228,1244,35,296,2418,167,
155,182,166,169,170,171,172,173,232,179,
3600,354,49,3554,394,430,3499,203,215,4515,
1800,202,212,213,214,216,168,346,969,934,
351,240,230,231,297,1644,2419,167,180,183,
166,169,170,171,172,173,2077,35,950,32,
2716,4443,27,30,31,995,1019,341,28,3127,
35,950,32,2437,1384,27,30,31,995,1019,
26,28,933,262,25,23,50,1054,106,76,
77,107,1139,1325,2199,587,35,1887,391,49,
2650,1879,49,3050,2746,2746,3158,2289,683,49,
843,35,456,4102,155,4664,321,2200,323,4733,
316,1946,2491,3000,2703,2703,1980,1457,3413,337,
274,2977,354,530,1364,35,950,32,1800,4599,
27,30,31,995,1019,341,28,752,346,969,
934,351,3127,35,950,32,531,1384,27,30,
31,995,1019,26,28,933,262,25,23,50,
1054,106,76,77,107,1139,2900,2239,929,35,
1887,391,396,430,2900,335,587,35,2164,279,
508,362,342,335,321,2200,323,1618,317,1946,
345,1325,354,2226,541,2287,3223,3229,2643,2143,
354,2437,2746,49,2213,306,1610,2516,348,969,
934,351,1801,1586,228,2155,348,969,934,351,
155,3592,2703,506,507,2871,332,337,431,179,
3600,2447,541,3554,2694,155,4657,203,215,4515,
4740,202,212,213,214,216,168,49,2153,1476,
3549,4691,228,587,35,2164,3570,167,155,4214,
166,169,170,171,172,173,517,179,3600,232,
541,3554,453,3896,3919,203,215,4515,1618,202,
212,213,214,216,168,1244,3827,296,363,1988,
228,1795,250,230,231,167,155,177,166,169,
170,171,172,173,603,179,3600,2696,541,3554,
395,430,454,203,215,4515,526,202,212,213,
214,216,168,587,35,2164,282,49,228,2557,
301,1597,1855,167,155,175,166,169,170,171,
172,173,689,179,3600,150,541,3554,2424,1446,
2450,203,215,4515,2977,202,212,213,214,216,
168,49,752,1795,49,875,228,4066,4116,1979,
290,167,155,176,166,169,170,171,172,173,
775,179,3600,49,541,3554,1356,1190,683,203,
215,4515,2417,202,212,213,214,216,168,2900,
2697,432,221,533,228,2632,3557,1457,3451,167,
155,186,166,169,170,171,172,173,49,179,
3600,2241,1199,3554,2586,3687,2977,203,215,4515,
385,202,212,213,214,216,168,2216,35,1887,
391,1016,35,3127,1365,587,3679,167,1558,4263,
166,169,170,171,172,173,1695,35,950,32,
3531,4443,27,30,31,995,1019,341,28,1879,
1355,2900,49,2746,1199,2560,49,587,4234,541,
3451,1801,1844,861,49,1801,2156,541,3612,1016,
35,399,94,2703,2738,1016,35,399,1784,4162,
159,1446,2375,35,278,155,2977,228,2493,383,
2444,35,278,155,179,3600,321,2200,323,2703,
316,1946,179,3600,1882,49,3554,2658,2962,2746,
203,215,4515,315,202,212,213,214,216,168,
2623,1777,195,929,35,1887,391,2711,831,345,
167,2900,191,166,169,170,171,172,173,362,
334,232,1795,49,96,947,1195,4189,3206,541,
1795,2810,314,2974,3223,3229,3283,1618,49,308,
312,3416,1800,1989,253,230,231,1801,47,228,
4276,3237,181,49,49,155,3988,1199,1199,2240,
3714,305,4011,4307,179,3600,49,742,3554,178,
4747,380,203,215,4515,3965,202,212,213,214,
216,168,1033,155,3607,1795,541,1795,587,35,
1887,391,167,1859,185,166,169,170,171,172,
173,1738,2726,1795,49,1325,228,630,2746,1795,
89,49,155,102,2734,3234,49,2732,4724,196,
2102,179,3600,49,198,3554,197,571,345,203,
215,4515,46,202,212,213,214,216,168,49,
3686,337,304,3392,2453,35,281,1795,201,167,
2810,194,166,169,170,171,172,173,3127,35,
950,32,2032,1384,27,30,31,995,1019,26,
28,933,262,25,23,50,1054,106,76,77,
107,2251,3127,35,950,32,199,1384,27,30,
31,995,1019,26,28,933,262,25,23,50,
1054,106,76,77,107,2286,3127,35,950,32,
3353,1384,27,30,31,995,1019,26,28,933,
262,25,23,50,1054,106,76,77,107,2315,
3127,1941,950,1973,2738,1384,27,30,31,995,
1019,26,28,933,262,25,23,50,1054,106,
76,77,84,3127,35,950,32,2739,1384,27,
30,31,995,1019,26,28,933,262,25,23,
50,1054,106,76,77,83,3127,35,950,32,
1713,1384,27,30,31,995,1019,26,28,933,
262,25,23,50,1054,106,76,77,82,3127,
35,950,32,2743,1384,27,30,31,995,1019,
26,28,933,262,25,23,50,1054,106,76,
77,81,3127,35,950,32,2753,1384,27,30,
31,995,1019,26,28,933,262,25,23,50,
1054,106,76,77,80,3127,35,950,32,2759,
1384,27,30,31,995,1019,26,28,933,262,
25,23,50,1054,106,76,77,79,3127,35,
950,32,2761,1384,27,30,31,995,1019,26,
28,933,262,25,23,50,1054,106,76,77,
78,2956,35,950,32,2754,1384,27,30,31,
995,1019,26,28,933,262,25,23,50,1054,
106,76,77,104,3127,35,950,32,2794,1384,
27,30,31,995,1019,26,28,933,262,25,
23,50,1054,106,76,77,109,3127,35,950,
32,2795,1384,27,30,31,995,1019,26,28,
933,262,25,23,50,1054,106,76,77,108,
3127,35,950,32,2796,1384,27,30,31,995,
1019,26,28,933,262,25,23,50,1054,106,
76,77,105,1992,35,3671,32,3531,4443,27,
30,31,995,1019,341,28,2775,1869,35,950,
32,3531,4443,27,30,31,995,1019,341,28,
3072,35,950,32,2797,1384,27,30,31,995,
1019,26,28,933,262,25,23,50,1054,86,
76,77,1566,49,87,49,2746,1199,1355,1199,
2763,2767,1199,321,2200,323,1827,316,1946,1795,
2746,2821,587,35,296,4211,228,321,2200,323,
2369,316,1946,155,2768,155,2769,49,159,1618,
228,971,1977,1902,315,1945,1016,35,399,205,
215,4515,2776,204,212,213,214,216,300,587,
35,296,49,205,215,4515,3486,204,212,213,
214,216,1618,3372,587,35,1887,391,527,173,
206,208,210,3278,2719,217,207,209,2746,1914,
309,312,3416,2746,206,208,210,3278,1618,217,
207,209,2799,49,2329,2447,3410,2746,345,49,
4657,2213,2619,228,2584,2817,3076,4401,1801,3532,
421,422,3577,1618,49,3673,1618,345,1199,2996,
945,4401,3513,2824,2800,2685,205,215,4515,1199,
204,212,213,214,216,3286,35,1887,391,2810,
2755,2826,2778,4256,155,2802,2803,1897,238,262,
1983,2113,4119,2746,2059,155,1795,206,208,210,
3278,1990,217,207,209,161,1956,35,950,32,
274,4599,27,30,31,995,1019,341,28,1869,
35,950,32,3531,4443,27,30,31,995,1019,
341,28,3167,5442,4401,4235,1855,1795,232,1494,
35,950,32,2724,4443,27,30,31,995,1019,
341,28,1618,526,1618,5442,2900,5442,5442,1795,
5442,236,230,231,5442,335,321,2200,323,5442,
317,1946,275,2001,5442,527,222,2746,406,321,
2200,323,5442,316,1946,1653,4329,5442,3652,2746,
5442,243,246,249,252,644,4255,228,192,318,
3454,323,5442,5442,4233,433,1063,5442,5442,228,
445,5442,459,5442,5442,674,35,1887,391,5442,
205,215,4515,5442,204,212,213,214,216,5442,
5442,1740,205,215,4515,2746,204,212,213,214,
216,5442,5442,2088,5442,4324,5442,2746,5442,5442,
49,206,208,210,3278,228,523,207,209,1801,
47,5442,5442,206,208,210,3278,228,522,207,
209,5442,1146,674,35,1887,391,5442,205,215,
4515,5442,204,212,213,214,216,5442,5442,2175,
205,215,4515,2746,204,212,213,214,216,2972,
5442,1355,5442,1355,5442,1199,5442,1199,49,206,
208,210,3278,228,218,207,209,1801,2016,5442,
5442,206,208,210,3278,5442,307,207,209,5442,
3115,159,5442,159,5442,5442,205,215,4515,5442,
204,212,213,214,216,2160,35,950,32,2492,
4443,27,30,31,995,1019,341,28,1355,5442,
49,1180,1199,5442,1199,2746,4815,206,208,210,
3278,1286,502,207,209,2746,4815,1901,5442,5442,
49,2746,2977,5442,2746,228,5442,1901,159,5442,
155,2746,2977,5442,5442,228,5442,2737,1878,2867,
4322,2703,2746,5442,345,318,3454,323,1281,410,
4309,2703,929,35,1887,391,5442,5442,1281,410,
4309,5442,345,5442,5442,5442,2810,2900,5442,674,
35,1887,391,5442,5442,5442,334,2900,2121,411,
412,413,3278,5442,870,5442,334,49,5442,411,
412,413,3278,5442,3308,5442,1801,47,5442,5442,
5442,5442,3245,5442,49,5442,3146,362,5442,2558,
5442,5442,3245,1801,3571,5442,3154,362,5442,5442,
5442,1773,3223,3229,5442,5442,3115,674,35,1887,
391,1773,3223,3229,674,35,1887,391,674,35,
1887,391,5442,5442,5442,2972,5442,5442,5442,5442,
5442,5442,1649,35,1887,391,5442,674,35,1887,
391,2650,49,5442,5442,2746,414,416,5442,49,
5442,1801,47,49,5442,5442,414,417,1801,47,
5442,5442,1801,47,621,2703,5442,49,5442,5442,
1126,2160,49,4541,2721,2247,1801,47,541,5442,
5442,1801,47,674,35,1887,391,5442,5442,4122,
2168,35,1887,391,2607,5442,1635,2651,345,49,
5442,2746,49,541,155,5442,541,5442,587,35,
1887,391,2517,5442,187,5442,2746,5442,49,5442,
4289,2703,5442,345,5442,49,345,1801,47,155,
5442,508,155,5442,1801,47,345,5442,5442,941,
2611,5442,603,49,5442,2810,534,4159,2810,5442,
5442,5442,1801,664,5442,49,5442,788,2810,541,
1151,587,35,1887,391,587,35,1887,391,5442,
537,5442,5442,49,505,507,189,541,49,345,
49,5442,541,5442,2746,155,5442,508,49,5442,
49,5442,2746,5442,2746,187,49,345,5442,5442,
49,4289,345,155,345,1801,3540,5442,155,1801,
1930,5442,345,187,345,5442,3850,5442,187,4289,
5442,49,5442,2810,4289,2746,2810,2746,5442,5442,
505,507,5442,5442,2810,5442,2810,5442,1730,5442,
5442,5442,5442,5442,5442,345,512,345,510,5442,
5442,5442,5442,5442,5442,5442,4266,4139,5442,5442,
5442,5442,5442,5442,5442,5442,5442,2810,5442,4212,
5442,5442,4142,5442,5442,4172,5442,5442,5442,538,
4198,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,3399,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,4226,5442,0,39,5457,0,39,5456,
0,581,29,0,443,684,0,457,725,0,
38,599,0,38,5457,0,38,5456,0,2647,
125,0,1,447,0,461,924,0,460,957,
0,3448,91,0,581,390,0,35,33,0,
32,34,0,39,599,0,1,575,0,1,
5715,0,1,5714,0,1,5713,0,1,5712,
0,1,5711,0,1,5710,0,1,5709,0,
1,5708,0,1,5707,0,1,5706,0,1,
5705,0,39,1,5457,0,39,1,5456,0,
633,1,0,284,397,0,284,289,0,5676,
241,0,5675,241,0,5782,241,0,5781,241,
0,5703,241,0,5702,241,0,5701,241,0,
5700,241,0,5699,241,0,5698,241,0,5697,
241,0,5696,241,0,5715,241,0,5714,241,
0,5713,241,0,5712,241,0,5711,241,0,
5710,241,0,5709,241,0,5708,241,0,5707,
241,0,5706,241,0,5705,241,0,39,5457,
241,0,39,5456,241,0,5480,241,0,5457,
48,0,5456,48,0,43,5478,0,43,37,
0,2647,127,0,2647,126,0,5448,1,0,
5447,1,0,2772,237,0,32,391,0,29,
390,0,333,448,0,1,92,0,47,37,
0,5480,1,0,39,1,0,504,3264,0,
5480,1,229,0,39,1,229,0,229,419,
0,5457,37,0,5456,37,0,5478,45,0,
37,45,0,5457,36,0,5456,36,0,5457,
2,37,0,5456,2,37,0,5452,408,0,
5451,408,0,1,605,0,1,4184,0,1,
599,0,229,418,0,333,95,0,35,73,
0,3042,320,0,1,333,0,4108,279,0,
504,4355,0,1,229,0,229,220,0,1,
3519,0,1,3525,0,229,219,0,5454,1,
0,5450,1,0,1,229,4084,0,5451,229,
0,4104,229,0,5454,386,0,5453,386,0,
4179,229,0,10,12,0,8,10,12,0,
4252,193,0,184,3595,0,4271,386,0,8,
12,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
public final int baseAction(int index) { return baseAction[index]; }
public final static char lhs[] = baseAction;
public final int lhs(int index) { return lhs[index]; };
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,0,49,
50,51,52,53,54,0,56,57,58,59,
60,61,62,0,64,65,66,67,0,6,
0,71,0,3,74,75,76,77,78,79,
80,81,82,83,84,85,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
44,45,46,47,0,49,50,51,52,53,
54,69,56,57,58,59,60,61,62,0,
64,65,66,67,0,92,93,71,4,0,
74,75,76,77,78,79,80,81,82,83,
84,85,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,43,44,45,46,47,
0,49,50,51,52,53,54,68,56,57,
58,59,60,61,62,0,64,65,66,67,
0,1,2,71,4,0,74,75,76,77,
78,79,80,81,82,83,84,85,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,43,44,45,46,47,0,49,50,51,
52,53,54,68,56,57,58,59,60,61,
62,0,64,65,66,67,0,1,2,0,
4,10,74,75,76,77,78,79,80,81,
82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
46,47,0,49,50,51,52,53,54,0,
56,57,58,59,60,61,62,0,64,65,
66,67,0,6,0,0,87,88,74,75,
76,77,78,79,80,81,82,83,84,85,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,63,49,
50,51,52,53,54,0,56,57,58,59,
60,61,62,0,64,65,66,67,99,92,
93,89,9,91,74,75,76,77,78,79,
80,81,82,83,84,85,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
44,45,46,47,0,49,50,51,52,53,
54,0,56,57,58,59,60,61,62,0,
64,65,66,67,99,6,0,1,2,0,
74,75,76,77,78,79,80,81,82,83,
84,85,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,43,44,45,46,47,
0,49,50,51,52,53,54,68,56,57,
58,59,60,61,62,0,64,65,66,67,
5,92,93,0,1,2,74,75,76,77,
78,79,80,81,82,83,84,85,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,43,44,45,46,47,0,49,50,51,
52,53,54,0,56,57,58,59,60,61,
62,0,64,65,66,67,0,1,2,8,
0,5,74,75,76,77,78,79,80,81,
82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
46,47,71,49,50,51,52,53,54,69,
56,57,58,59,60,61,62,0,64,65,
66,67,0,1,2,0,4,0,74,75,
76,77,78,79,80,81,82,83,84,85,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,0,49,
50,51,52,53,54,68,56,57,58,59,
60,61,62,0,64,65,66,67,0,1,
2,0,87,88,74,75,76,77,78,79,
80,81,82,83,84,85,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
44,45,46,47,0,49,50,51,52,53,
54,0,56,57,58,59,60,61,62,0,
64,65,66,67,0,0,1,2,87,88,
74,75,76,77,78,79,80,81,82,83,
84,85,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,43,44,45,46,47,
0,49,50,51,52,53,54,0,56,57,
58,59,60,61,62,8,64,65,66,67,
0,1,2,89,0,91,74,75,76,77,
78,79,80,81,82,83,84,85,0,1,
2,3,4,5,6,7,0,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,0,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,43,44,45,46,47,0,49,50,51,
52,53,54,0,56,57,58,4,60,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,100,118,27,28,29,30,
31,32,33,34,35,36,0,1,2,40,
4,5,0,7,0,0,100,48,0,1,
2,6,4,0,9,56,57,58,59,0,
61,62,0,0,1,2,22,23,24,0,
71,72,28,29,30,31,32,33,34,35,
36,22,23,24,48,86,0,28,29,30,
31,32,33,34,35,36,48,0,0,0,
1,2,103,104,105,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
0,0,27,28,29,30,31,32,33,34,
35,36,89,0,91,40,3,48,0,6,
0,8,9,48,68,0,1,2,96,97,
5,56,57,58,59,0,61,62,25,26,
27,0,1,2,0,0,71,72,3,48,
37,38,8,0,1,2,3,4,5,6,
7,86,9,96,97,0,0,0,55,3,
0,1,2,48,4,5,63,7,103,104,
105,68,69,70,71,72,73,87,88,48,
0,1,2,3,4,5,6,7,0,9,
87,88,89,90,91,92,93,94,95,96,
97,98,99,100,101,70,63,73,48,106,
107,108,109,110,111,112,113,114,115,116,
117,118,119,120,0,0,0,3,0,4,
6,6,8,9,9,0,0,1,2,3,
4,5,6,7,8,9,89,0,91,25,
26,27,72,25,26,0,1,2,22,23,
24,37,38,27,28,29,30,31,32,33,
34,35,36,0,1,2,3,4,5,55,
7,8,0,0,1,2,98,63,5,63,
7,55,68,69,70,71,72,73,63,63,
27,0,1,2,3,4,5,6,7,73,
9,87,88,89,90,91,92,93,94,95,
96,97,98,99,100,101,0,0,0,3,
106,107,108,109,110,111,112,113,114,115,
116,117,118,119,120,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
0,0,27,28,29,30,31,32,33,34,
35,36,0,1,2,40,4,0,6,0,
0,9,0,48,0,25,26,0,8,0,
0,56,57,58,59,8,61,62,8,64,
0,22,23,24,87,88,71,28,29,30,
31,32,33,34,35,36,55,27,0,1,
2,86,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,67,0,27,
28,29,30,31,32,33,34,35,36,70,
73,0,40,63,0,1,2,3,4,5,
48,7,8,25,26,0,0,55,56,57,
58,59,0,61,62,10,64,0,1,2,
101,27,5,0,7,0,107,108,109,110,
111,112,113,114,115,116,117,0,86,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,59,0,27,28,29,30,
31,32,33,34,35,36,0,1,2,40,
68,69,6,0,0,1,2,48,4,5,
0,7,55,68,0,56,57,58,59,0,
61,62,8,64,98,22,23,24,0,72,
71,28,29,30,31,32,33,34,35,36,
55,27,23,24,48,86,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,0,0,27,28,29,30,31,32,33,
34,35,36,0,1,2,40,0,0,1,
2,3,4,5,48,7,0,0,0,3,
3,0,56,57,58,59,8,61,62,8,
64,0,1,2,3,4,5,71,7,8,
0,1,2,0,4,0,6,55,8,9,
120,48,86,0,1,2,3,4,5,6,
7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,0,63,
27,28,29,30,31,32,33,34,35,36,
0,73,71,40,63,0,1,2,3,4,
5,48,7,0,73,60,3,0,90,56,
57,58,59,73,61,62,0,64,0,0,
1,2,3,4,71,6,8,0,9,0,
90,0,1,2,3,4,5,8,7,86,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,0,63,27,28,29,
30,31,32,33,34,35,36,0,1,2,
40,4,63,6,68,69,9,69,48,0,
63,73,3,103,104,105,56,57,58,59,
71,61,62,72,64,0,0,1,2,3,
4,5,6,7,0,9,0,1,2,3,
4,5,8,7,0,0,86,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,0,0,27,28,29,30,31,32,
33,34,35,36,0,1,2,40,4,63,
6,0,48,9,3,48,70,72,0,63,
55,67,0,56,57,58,59,9,61,62,
0,64,0,3,0,0,1,2,8,0,
1,2,3,4,5,0,7,0,1,2,
0,1,2,86,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,0,
48,27,28,29,30,31,32,33,34,35,
36,69,0,63,40,0,1,2,68,69,
65,66,48,73,0,0,72,3,0,0,
56,57,58,59,0,61,62,3,64,0,
0,1,2,0,4,0,6,8,0,9,
0,3,0,1,2,3,4,5,6,7,
86,9,10,11,12,13,14,15,16,17,
18,19,20,21,0,1,2,25,26,0,
65,66,8,55,55,37,38,0,0,37,
38,39,4,41,42,43,44,45,46,47,
55,49,50,51,52,53,54,0,69,0,
71,63,60,61,102,90,0,65,66,0,
1,2,3,4,5,6,7,0,9,10,
11,12,13,14,15,16,17,18,19,20,
21,67,55,55,25,26,0,1,2,0,
4,5,3,7,106,68,37,38,39,0,
41,42,43,44,45,46,47,119,49,50,
51,52,53,54,0,1,2,68,0,60,
101,94,95,0,65,66,107,68,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
0,1,2,25,26,0,0,0,0,4,
3,3,48,0,0,37,38,39,0,41,
42,43,44,45,46,47,0,49,50,51,
52,53,54,0,1,2,0,0,60,0,
4,4,0,1,2,67,0,74,48,71,
0,1,2,3,4,5,6,7,22,9,
10,11,12,13,14,15,16,17,18,19,
20,21,0,55,68,25,26,0,1,2,
0,48,0,70,4,3,68,37,38,39,
48,41,42,43,44,45,46,47,72,49,
50,51,52,53,54,0,0,0,0,70,
60,6,94,95,8,65,66,0,1,2,
3,4,5,6,7,48,9,10,11,12,
13,14,15,16,17,18,19,20,21,103,
104,105,25,26,0,0,0,3,0,0,
4,0,8,8,37,38,39,8,41,42,
43,44,45,46,47,0,49,50,51,52,
53,54,27,0,0,0,27,60,3,73,
72,0,65,66,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,55,63,0,25,
26,63,0,0,69,3,8,73,0,68,
0,37,38,39,4,41,42,43,44,45,
46,47,0,49,50,51,52,53,54,0,
0,0,22,69,60,94,95,0,75,10,
10,67,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,0,0,0,25,26,40,
40,73,8,0,0,0,0,48,48,37,
38,39,0,41,42,43,44,45,46,47,
0,49,50,51,52,53,54,0,0,0,
0,3,60,5,6,0,69,9,8,67,
0,0,90,0,4,0,3,0,0,4,
55,55,0,25,26,0,0,27,55,55,
55,55,0,0,0,37,38,73,0,41,
0,3,0,3,39,3,0,0,0,3,
3,3,70,55,0,0,39,0,3,0,
3,63,72,65,66,55,68,69,70,70,
55,0,0,0,0,0,0,55,0,0,
69,0,0,0,0,87,88,89,70,0,
92,93,94,95,96,97,98,99,100,101,
0,69,69,0,106,0,108,109,110,111,
112,113,114,115,116,117,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,55,0,
0,25,26,70,70,40,121,72,72,70,
72,70,70,37,38,39,102,41,42,43,
44,45,46,47,0,49,50,51,52,53,
54,0,1,2,3,4,5,6,7,90,
9,10,11,12,13,14,15,16,17,18,
19,20,21,0,0,0,25,26,0,0,
0,0,102,39,0,102,0,0,37,38,
39,0,41,42,43,44,45,46,47,0,
49,50,51,52,53,54,0,0,0,0,
0,60,0,0,118,0,1,2,3,4,
5,6,7,0,9,10,11,12,13,14,
15,16,17,18,19,20,21,0,0,0,
25,26,0,0,0,0,0,0,0,0,
0,0,37,38,39,0,41,42,43,44,
45,46,47,0,49,50,51,52,53,54,
0,1,2,3,4,5,6,7,63,9,
10,11,12,13,14,15,16,17,18,19,
20,21,0,0,0,25,26,0,0,0,
0,0,0,0,0,0,0,37,38,39,
0,41,42,43,44,45,46,47,0,49,
50,51,52,53,54,0,0,0,0,0,
60,0,1,2,3,4,5,6,7,0,
9,10,11,12,13,14,15,16,17,18,
19,20,21,0,0,0,25,26,0,0,
0,0,0,0,0,0,0,0,37,38,
39,0,41,42,43,44,45,46,47,0,
49,50,51,52,53,54,0,1,2,3,
4,5,6,7,0,9,10,11,12,13,
14,15,16,17,18,19,20,21,0,0,
0,25,26,0,0,0,0,0,0,0,
0,0,0,37,38,39,0,41,42,43,
44,45,46,47,0,49,50,51,52,53,
54,0,1,2,3,4,5,6,7,0,
9,10,11,12,13,14,15,16,17,18,
19,20,21,0,0,0,25,26,0,0,
0,0,0,0,0,0,0,0,37,38,
39,0,41,42,43,44,45,46,47,0,
49,50,51,52,53,54,0,1,2,0,
4,0,0,0,0,0,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,0,0,0,28,29,30,31,32,33,
34,35,36,0,0,0,40,0,0,0,
0,0,0,0,0,0,1,2,0,4,
0,0,56,57,58,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
0,0,0,28,29,30,31,32,33,34,
35,36,0,0,0,40,0,1,2,3,
4,5,6,7,8,9,0,0,0,0,
0,56,57,58,0,0,0,0,22,23,
24,0,0,27,28,29,30,31,32,33,
34,35,36,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,0,0,0,
28,29,30,31,32,33,34,35,36,63,
0,0,0,0,0,0,0,0,0,73,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
public final int termCheck(int index) { return termCheck[index]; }
public interface TermAction {
public final static char termAction[] = {0,
5442,5404,5383,5383,5383,5383,5383,5383,5420,5383,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,5408,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,333,1,1,1,3507,
1,5616,2815,114,3684,1,1,5453,398,3776,
5442,5449,156,4749,1811,4136,3657,2252,3655,4034,
3220,4134,3475,4111,2601,4110,10,5423,5423,5423,
5423,5423,5423,5423,5423,5423,5423,5423,5423,5423,
5423,5423,5423,5423,5423,5423,5423,5423,5423,5423,
5423,5423,5423,5423,5423,5423,5423,5423,5423,5423,
5423,5423,5423,5423,5423,5423,5423,5423,5423,5423,
5423,5423,5423,5423,299,5423,5423,5423,5423,5423,
5423,1476,5423,5423,5423,5423,5423,5423,5423,387,
5423,5423,5423,5423,39,3752,3728,5423,5480,5442,
5423,5423,5423,5423,5423,5423,5423,5423,5423,5423,
5423,5423,8,5426,5426,5426,5426,5426,5426,5426,
5426,5426,5426,5426,5426,5426,5426,5426,5426,5426,
5426,5426,5426,5426,5426,5426,5426,5426,5426,5426,
5426,5426,5426,5426,5426,5426,5426,5426,5426,5426,
5426,5426,5426,5426,5426,5426,5426,5426,5426,5426,
5442,5426,5426,5426,5426,5426,5426,2769,5426,5426,
5426,5426,5426,5426,5426,5442,5426,5426,5426,5426,
289,5176,5176,5426,284,5442,5426,5426,5426,5426,
5426,5426,5426,5426,5426,5426,5426,5426,5442,5404,
5383,5383,5383,5383,5383,5383,5411,5383,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,5408,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,5442,1,1,1,
1,1,1,2777,1,1,1,3507,1,5616,
2815,303,3684,1,1,5453,5442,5078,5075,120,
5480,5744,1811,4136,3657,2252,3655,4034,3220,4134,
3475,4111,2601,4110,5442,5404,5383,5383,5383,5383,
5383,5383,5411,5383,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,5408,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,5442,1,1,1,1,1,1,134,
1,1,1,3507,1,5616,2815,116,3684,1,
1,5453,110,3776,5442,461,2911,2938,1811,4136,
3657,2252,3655,4034,3220,4134,3475,4111,2601,4110,
5442,5404,5383,5383,5383,5383,5383,5383,5411,5383,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,5408,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,5105,1,
1,1,1,1,1,135,1,1,1,3507,
1,5616,2815,130,3684,1,1,5453,2339,3752,
3728,3984,2404,4007,1811,4136,3657,2252,3655,4034,
3220,4134,3475,4111,2601,4110,5442,5404,5383,5383,
5383,5383,5383,5383,5411,5383,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,5408,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,5442,1,1,1,1,1,
1,5442,1,1,1,3507,1,5616,2815,115,
3684,1,1,5453,2339,3776,5442,5456,5457,5442,
1811,4136,3657,2252,3655,4034,3220,4134,3475,4111,
2601,4110,5442,5404,5383,5383,5383,5383,5383,5383,
5411,5383,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,5408,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
5442,1,1,1,1,1,1,2806,1,1,
1,3507,1,5616,2815,5442,3684,1,1,5453,
2634,3752,3728,5442,5262,5259,1811,4136,3657,2252,
3655,4034,3220,4134,3475,4111,2601,4110,5442,5404,
5383,5383,5383,5383,5383,5383,5411,5383,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,5408,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,5442,1,1,1,
1,1,1,5442,1,1,1,3507,1,5616,
2815,5442,3684,1,1,5453,5442,5456,5457,5450,
518,2634,1811,4136,3657,2252,3655,4034,3220,4134,
3475,4111,2601,4110,5442,5404,5383,5383,5383,5383,
5383,5383,5411,5383,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,5408,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,5449,1,1,1,1,1,1,894,
1,1,1,3507,1,5616,2815,5442,3684,1,
1,5453,5442,5078,5075,124,5480,5442,1811,4136,
3657,2252,3655,4034,3220,4134,3475,4111,2601,4110,
5442,5404,5383,5383,5383,5383,5383,5383,5411,5383,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,5408,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,5442,1,
1,1,1,1,1,2823,1,1,1,3507,
1,5616,2815,5442,3684,1,1,5453,48,5262,
5259,123,2911,2938,1811,4136,3657,2252,3655,4034,
3220,4134,3475,4111,2601,4110,5442,5404,5383,5383,
5383,5383,5383,5383,5411,5383,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,5408,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,5442,1,1,1,1,1,
1,5442,1,1,1,3507,1,5616,2815,5442,
3684,1,1,5453,113,400,5456,5457,2911,2938,
1811,4136,3657,2252,3655,4034,3220,4134,3475,4111,
2601,4110,5442,4084,1,1,1,1,1,1,
4104,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,5451,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
5442,1,1,1,1,1,1,5442,1,1,
1,3507,1,5616,2815,5446,3684,1,1,5453,
36,5336,5333,3984,136,4007,1811,4136,3657,2252,
3655,4034,3220,4134,3475,4111,2601,4110,39,5078,
5075,1149,633,3800,3869,4184,137,3892,942,5707,
5705,5714,5713,5709,5710,5708,5711,5712,5715,5706,
5702,5781,5782,3846,3823,5442,5696,5703,5699,5675,
5701,5700,5697,5698,5676,3938,3915,5461,5843,2839,
799,892,5463,828,4080,880,5442,5464,5462,619,
5458,5459,5460,5442,1136,5844,5845,2750,1433,5442,
5314,5314,229,5310,229,229,229,5318,229,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,2291,5445,229,1,1,1,
1,1,1,1,1,1,5442,5078,5075,1,
633,5123,5442,4184,224,5442,2291,5307,397,5173,
5173,1731,284,112,1688,1,1,1,3025,225,
5857,671,128,299,5456,5457,5702,5781,5782,5442,
419,229,5696,5703,5699,5675,5701,5700,5697,5698,
5676,5702,5781,5782,2325,5945,5442,5696,5703,5699,
5675,5701,5700,5697,5698,5676,284,129,5442,5442,
8786,8786,5880,5881,5882,5442,5314,5314,229,5310,
229,229,229,5362,229,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
122,37,229,1,1,1,1,1,1,1,
1,1,3984,33,4007,1,5117,5478,5442,5117,
5442,5117,5117,5307,5957,37,5298,5298,2463,2434,
5298,1,1,1,3025,5442,5857,671,5117,5117,
5117,43,5268,5268,1,313,418,229,3624,5478,
5117,5117,160,347,5078,5075,586,633,599,333,
4184,5945,333,2463,2434,5442,5442,111,5117,2772,
5442,5078,5075,2791,633,5123,5117,4184,5880,5881,
5882,5117,5117,5117,5117,5117,5117,2911,2938,5265,
5442,5166,5162,605,5170,599,5374,4184,132,5374,
5117,5117,5117,5117,5117,5117,5117,5117,5117,5117,
5117,5117,5117,5117,5117,1155,1059,160,2538,5117,
5117,5117,5117,5117,5117,5117,5117,5117,5117,5117,
5117,5117,5117,5117,5442,39,460,5120,117,5480,
5120,333,5120,5120,333,350,29,390,390,5289,
390,390,5289,390,5289,5289,3984,5442,4007,5120,
5120,5120,2078,3172,3089,293,5456,5457,390,390,
390,5120,5120,5289,390,390,390,390,390,390,
390,390,390,1,5166,5162,5353,5170,5359,5120,
5356,5452,5442,38,5096,5093,2372,5120,5090,5108,
4184,5081,5120,5120,5120,5120,5120,5120,1059,5289,
5451,311,5166,5162,605,5170,599,5374,4184,5289,
5374,5120,5120,5120,5120,5120,5120,5120,5120,5120,
5120,5120,5120,5120,5120,5120,91,121,5442,5111,
5120,5120,5120,5120,5120,5120,5120,5120,5120,5120,
5120,5120,5120,5120,5120,5442,5383,5383,229,5383,
229,229,229,5386,229,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
119,5442,229,1,1,8867,1,1,1,1,
1,1,447,1,1,1,1,5442,5102,226,
5442,5102,5442,5380,5442,3172,3089,5442,5454,138,
408,1,1,1,3315,5448,5653,2815,5347,3684,
100,5702,5781,5782,2911,2938,220,5696,5703,5699,
5675,5701,5700,5697,5698,5676,3555,5350,5442,8718,
8713,5945,5442,5383,5383,229,5383,229,229,229,
229,229,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,5453,118,229,
1,1,8867,1,1,1,1,1,1,1949,
5447,5442,1,4224,1,5166,5162,605,5170,599,
5380,4184,311,3172,3089,303,133,3422,1,1,
1,3315,5442,5653,2815,5744,3684,5442,5456,5457,
1102,311,599,5442,4184,5442,2778,1906,1863,1820,
1777,1734,1691,1648,1605,1562,1519,29,5945,5442,
5383,5383,229,5383,229,229,229,5395,229,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1898,5442,229,1,1,8867,
1,1,1,1,1,1,37,5298,5298,1,
4459,3120,333,227,5442,5078,5075,5380,633,599,
5442,4184,581,5886,5442,1,1,1,3315,338,
5653,2815,5452,3684,2372,5702,5781,5782,5442,427,
219,5696,5703,5699,5675,5701,5700,5697,5698,5676,
3674,5451,5781,5782,5478,5945,5442,5383,5383,229,
5383,229,229,229,5386,229,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,5442,5442,229,1,1,8867,1,1,1,
1,1,1,37,5298,5298,1,5442,1,5166,
5162,605,5170,599,5380,4184,349,1,1,1683,
4830,1,1,1,1,3315,365,5653,2815,5401,
3684,1,5166,5162,586,5170,599,220,4184,5277,
1,5304,5304,5442,5301,536,333,4203,365,333,
5074,2981,5945,5442,5383,5383,229,5383,229,229,
229,5386,229,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,5442,1059,
229,1,1,8867,1,1,1,1,1,1,
442,365,5449,1,1059,333,5078,5075,605,633,
599,5380,4184,320,5280,3942,5371,5442,365,1,
1,1,3315,365,5653,2815,5442,3684,5442,347,
39,39,2965,5480,220,333,5448,99,333,8,
365,1,5166,5162,605,5170,599,5439,4184,5945,
5442,5383,5383,229,5383,229,229,229,229,229,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,5442,1059,229,1,1,
8867,1,1,1,1,1,1,448,39,39,
1,5480,1059,5292,4251,3120,5292,4871,5380,237,
1242,5447,5283,5880,5881,5882,1,1,1,3315,
5439,5653,2815,2078,3684,5442,369,5166,5162,586,
5170,599,1,4184,1,1,1,5166,5162,586,
5170,599,5398,4184,47,5442,5945,5442,5383,5383,
229,5383,229,229,229,229,229,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,5442,5442,229,1,1,8867,1,1,
1,1,1,1,92,1,1,1,1,1059,
5295,5442,2243,5295,2967,5380,1286,1992,131,1059,
4550,5453,364,1,1,1,3315,2404,5653,2815,
1,3684,5442,2965,5442,5442,5456,5457,343,1,
5166,5162,5353,5170,5359,5442,5356,5442,8718,8713,
292,673,673,5945,5442,5383,5383,229,5383,229,
229,229,229,229,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,5442,
3430,229,1,1,8867,1,1,1,1,1,
1,3228,5442,1059,1,5442,5262,5259,343,343,
3961,789,5380,343,5442,360,5846,3623,29,443,
1,1,1,3315,5442,5653,2815,4103,3684,5442,
95,39,39,5442,5480,457,5365,5450,75,5365,
5442,3500,5442,1,1,1,1,1,1,1,
5945,1,1,1,1,1,1,1,1,1,
1,1,1,1,5442,5456,5457,1,1,138,
3961,789,5454,5081,5084,5504,5505,125,399,1,
1,1,390,1,1,1,1,1,1,1,
5087,1,1,1,1,1,1,5442,1015,5442,
5449,2533,1,5982,4152,5801,5442,1,1,1,
5166,5162,1149,5170,3800,3869,4184,5442,3892,5126,
5153,5159,5132,5135,5147,5144,5150,5141,5138,5129,
5156,5453,2675,581,3846,3823,5442,5078,5075,5442,
633,599,4105,4184,808,5099,3938,3915,5461,5442,
2839,799,892,5463,828,4080,880,953,5464,5462,
619,5458,5459,5460,5442,5324,5321,5900,5442,1433,
1102,2577,2505,1,39,39,2778,519,39,5078,
5075,1149,633,3800,3869,4184,5436,3892,575,5707,
5705,5714,5713,5709,5710,5708,5711,5712,5715,5706,
45,5330,5330,3846,3823,5442,5442,5442,5442,2770,
4108,4471,5478,372,5442,3938,3915,5461,127,2839,
799,892,5463,828,4080,880,431,5464,5462,619,
5458,5459,5460,5442,5343,5339,39,398,1433,370,
5480,391,5442,5324,5321,5417,5442,3357,5327,5449,
140,5078,5075,1149,633,3800,3869,4184,1371,3892,
575,5707,5705,5714,5713,5709,5710,5708,5711,5712,
5715,5706,5442,2675,4343,3846,3823,37,5298,5298,
5442,5478,103,1341,2075,4473,5271,3938,3915,5461,
5478,2839,799,892,5463,828,4080,880,3261,5464,
5462,619,5458,5459,5460,5442,1,5442,451,1389,
1433,1774,2577,2505,5448,39,39,1,5166,5162,
1149,5170,3800,3869,4184,5478,3892,5126,5153,5159,
5132,5135,5147,5144,5150,5141,5138,5129,5156,5880,
5881,5882,3846,3823,1,5442,5442,2965,322,1,
2723,126,5277,5452,3938,3915,5461,5452,2839,799,
892,5463,828,4080,880,5442,5464,5462,619,5458,
5459,5460,5451,193,286,5442,5451,1433,3042,5447,
2570,5442,39,39,39,5078,5075,1149,633,3800,
3869,4184,5414,3892,575,5707,5705,5714,5713,5709,
5710,5708,5711,5712,5715,5706,2675,1059,1,3846,
3823,1059,279,5442,4053,5377,532,5280,5442,5274,
39,3938,3915,5461,5480,2839,799,892,5463,828,
4080,880,1,5464,5462,619,5458,5459,5460,1,
1,5442,2998,5727,1433,2577,2505,292,5430,5389,
5389,5417,39,5078,5075,1149,633,3800,3869,4184,
5414,3892,575,5707,5705,5714,5713,5709,5710,5708,
5711,5712,5715,5706,1,390,5442,3846,3823,5392,
5392,532,162,5442,398,73,5442,3873,3873,3938,
3915,5461,294,2839,799,892,5463,828,4080,880,
5442,5464,5462,619,5458,5459,5460,5442,1,423,
1,584,1433,5914,5908,5442,8153,5912,190,5417,
48,429,5803,5442,5457,48,3804,5442,35,5456,
5114,581,5442,5906,5907,184,5442,190,3422,581,
5368,3277,452,310,5442,5937,5938,162,5442,5915,
5442,4528,5442,4762,1094,4805,5442,5442,5442,4823,
3505,4828,2117,5917,377,5442,3217,5442,4873,5442,
4530,869,2165,1515,1543,5457,5918,5939,5916,2204,
5456,5442,5442,511,509,5442,5442,3636,5442,5442,
4205,5442,513,2,5442,5928,5927,5940,3265,1,
5909,5910,5933,5934,5931,5932,5911,5913,5935,5936,
525,3130,4067,524,5941,5442,5921,5922,5923,5919,
5920,5929,5930,5925,5924,5926,39,5078,5075,1149,
633,3800,3869,4184,5446,3892,575,5707,5705,5714,
5713,5709,5710,5708,5711,5712,5715,5706,37,5442,
5442,3846,3823,4838,4840,4146,5433,3258,3296,3265,
3334,2035,2618,3938,3915,5461,4152,2839,799,892,
5463,828,4080,880,1,5464,5462,619,5458,5459,
5460,39,5078,5075,1149,633,3800,3869,4184,4223,
3892,575,5707,5705,5714,5713,5709,5710,5708,5711,
5712,5715,5706,5442,5442,5442,3846,3823,5442,5442,
5442,5442,1,3672,5442,4152,5442,5442,3938,3915,
5461,5442,2839,799,892,5463,828,4080,880,5442,
5464,5462,619,5458,5459,5460,5442,5442,5442,5442,
5442,1433,5442,5442,5445,39,5078,5075,1149,633,
3800,3869,4184,5442,3892,575,5707,5705,5714,5713,
5709,5710,5708,5711,5712,5715,5706,5442,5442,5442,
3846,3823,5442,5442,5442,5442,5442,5442,5442,5442,
5442,5442,3938,3915,5461,5442,2839,799,892,5463,
828,4080,880,5442,5464,5462,619,5458,5459,5460,
39,5078,5075,1149,633,3800,3869,4184,1050,3892,
575,5707,5705,5714,5713,5709,5710,5708,5711,5712,
5715,5706,5442,5442,5442,3846,3823,5442,5442,5442,
5442,5442,5442,5442,5442,5442,5442,3938,3915,5461,
5442,2839,799,892,5463,828,4080,880,5442,5464,
5462,619,5458,5459,5460,5442,5442,5442,5442,5442,
1433,39,5078,5075,4752,633,3800,3869,4184,5442,
3892,575,5707,5705,5714,5713,5709,5710,5708,5711,
5712,5715,5706,5442,5442,5442,3846,3823,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,3938,3915,
5461,5442,2839,799,892,5463,828,4080,880,5442,
5464,5462,619,5458,5459,5460,39,5078,5075,1149,
633,3800,3869,4184,5442,3892,575,5707,5705,5714,
5713,5709,5710,5708,5711,5712,5715,5706,5442,5442,
5442,3846,3823,5442,5442,5442,5442,5442,5442,5442,
5442,5442,5442,3938,3915,5461,5442,2839,799,892,
5463,828,4080,880,5442,5464,5462,619,5458,5459,
5460,39,5078,5075,1149,633,3800,3869,4184,5442,
3892,575,5707,5705,5714,5713,5709,5710,5708,5711,
5712,5715,5706,5442,5442,5442,3846,3823,5442,5442,
5442,5442,5442,5442,5442,5442,5442,5442,3938,3915,
5461,5442,2839,799,892,5463,828,4080,880,5442,
5464,5462,619,5458,5459,5460,5442,5078,5075,5442,
5480,5442,5442,5442,5442,5442,802,5707,5705,5714,
5713,5709,5710,5708,5711,5712,5715,5706,5702,5781,
5782,5442,5442,5442,5696,5703,5699,5675,5701,5700,
5697,5698,5676,5442,5442,5442,5843,5442,5442,5442,
5442,5442,5442,5442,5442,241,5252,5248,5442,5256,
5442,5442,1136,5844,5845,802,5239,5245,5218,5221,
5233,5230,5236,5227,5224,5215,5242,5194,5188,5185,
5442,5442,5442,5212,5191,5203,5182,5197,5200,5209,
5206,5179,5442,5442,5442,5843,32,391,391,5286,
391,391,5286,391,5286,5286,5442,5442,5442,5442,
5442,1136,5844,5845,5442,5442,5442,5442,391,391,
391,5442,223,5286,391,391,391,391,391,391,
391,391,391,5707,5705,5714,5713,5709,5710,5708,
5711,5712,5715,5706,5702,5781,5782,5442,5442,5442,
5696,5703,5699,5675,5701,5700,5697,5698,5676,5286,
5442,5442,5442,5442,5442,5442,5442,5442,5442,5286
};
};
public final static char termAction[] = TermAction.termAction;
public final int termAction(int index) { return termAction[index]; }
public interface Asb {
public final static char asb[] = {0,
117,7,865,1,158,767,767,767,767,1058,
158,404,404,907,404,245,865,247,866,866,
866,866,866,866,866,866,866,406,412,417,
414,421,419,426,424,428,427,429,459,430,
865,849,947,947,947,947,904,592,9,9,
401,947,292,204,404,404,9,904,204,779,
946,1114,1060,995,849,404,406,686,686,592,
865,866,866,866,866,866,866,866,866,866,
866,866,866,866,866,866,866,866,866,866,
865,865,865,865,865,865,865,865,865,865,
865,865,866,204,204,195,849,747,747,747,
747,392,204,9,9,1056,984,995,114,995,
109,995,341,995,979,1058,904,292,292,9,
767,292,946,865,902,1113,204,901,903,901,
204,292,414,414,412,412,412,419,419,419,
419,417,417,424,421,421,427,426,428,1072,
429,1056,252,70,584,583,540,1002,1002,1058,
247,158,158,158,158,904,904,747,746,747,
401,904,508,347,111,391,112,1058,904,904,
392,747,866,947,410,160,204,1060,904,904,
903,1114,865,195,292,445,204,72,74,904,
1114,865,865,865,865,158,158,849,509,399,
397,347,904,643,454,641,392,114,511,904,
392,904,204,410,1056,1113,1060,904,902,204,
588,576,587,74,392,902,204,204,204,204,
592,592,509,397,514,904,347,1072,112,767,
394,61,1062,347,643,642,643,643,392,511,
511,904,904,410,411,410,865,160,66,406,
1060,530,865,585,585,517,517,904,68,1056,
693,204,904,204,204,397,397,1114,114,114,
747,767,901,636,1064,898,158,643,643,643,
643,904,511,513,755,513,410,592,866,292,
66,530,865,865,74,904,1114,204,72,576,
530,1037,397,396,902,647,114,296,363,902,
643,643,898,450,866,1072,525,760,904,1056,
643,643,726,513,514,866,904,411,204,292,
741,74,530,397,451,647,647,634,1074,500,
158,112,333,363,902,643,114,1058,1064,866,
866,1113,898,771,974,727,904,514,741,204,
741,514,647,647,295,500,634,775,1058,746,
767,749,749,451,114,829,771,904,158,726,
904,1058,1058,904,158,734,741,514,296,647,
451,524,450,204,1058,904,363,296,363,745,
745,769,830,1058,904,592,904,904,904,75,
734,647,865,208,898,451,904,904,363,947,
947,769,829,1072,866,1072,451,828,158,158,
158,830,158,904,467,451,451,904,114,204,
904,904,203,736,514,204,514,114,904,451,
746,821,158,821,830,1072,830,849,849,847,
828,849,451,451,528,827,947,736,514,208,
451,107,693,830,204,898,204,847,500,158,
204,769,208,749,204,204,1050,830,528,830,
451,500,865,830,827,513,745,114,114,1052,
865,828,592,451,204,449,207,901,830,204,
451,449,449,830
};
};
public final static char asb[] = Asb.asb;
public final int asb(int index) { return asb[index]; }
public interface Asr {
public final static byte asr[] = {0,
8,72,118,73,27,69,120,0,28,11,
12,40,23,42,65,13,43,56,29,30,
44,14,31,32,15,16,33,66,34,45,
17,18,46,35,47,57,49,60,50,36,
51,58,19,22,20,24,21,52,53,54,
39,3,37,38,9,6,25,26,41,68,
7,1,2,4,10,5,0,5,7,3,
63,6,9,90,28,11,12,23,13,56,
29,30,14,31,32,15,16,33,34,17,
18,35,57,36,10,58,19,22,20,24,
21,1,2,4,73,8,40,0,48,4,
72,1,2,67,8,0,11,12,42,65,
13,43,44,14,15,16,66,7,45,17,
18,46,47,49,60,50,51,10,19,20,
21,52,53,54,39,1,2,37,38,9,
6,25,26,5,41,4,61,3,0,91,
89,25,26,92,93,87,88,55,94,95,
96,97,98,99,100,101,107,72,90,70,
108,109,110,111,112,113,114,115,116,117,
118,71,27,120,68,1,2,9,6,4,
3,63,69,73,8,0,71,60,37,38,
9,6,25,26,41,46,3,4,52,53,
54,39,50,44,49,12,21,11,17,15,
16,18,19,14,13,20,10,43,47,45,
42,51,67,8,7,5,1,2,66,65,
0,65,66,10,43,47,45,42,51,12,
21,11,17,15,16,18,19,14,13,20,
52,53,54,39,50,44,49,5,7,4,
3,37,38,9,6,25,26,41,46,1,
2,118,8,0,67,40,23,13,56,29,
14,31,32,15,16,33,34,17,18,35,
57,36,58,19,22,20,24,21,12,11,
28,8,3,9,6,27,62,64,86,30,
61,48,7,1,2,5,4,10,59,0,
4,8,67,1,2,0,86,59,7,103,
104,105,62,8,3,9,6,5,72,71,
27,61,28,11,12,40,23,13,56,29,
30,14,31,32,15,16,33,34,17,18,
35,57,36,10,58,19,22,20,24,21,
4,1,2,48,0,60,23,24,7,5,
1,2,4,74,67,119,106,37,38,63,
3,91,89,6,92,93,25,26,88,87,
55,94,95,96,97,9,98,99,100,68,
90,73,120,70,108,109,110,111,112,113,
114,115,116,117,72,118,101,107,71,69,
27,8,0,4,8,72,67,0,68,72,
90,69,118,73,71,120,11,12,42,65,
13,43,44,14,15,16,66,45,17,18,
46,47,49,60,50,51,10,19,20,21,
52,53,54,39,37,38,25,26,41,8,
27,5,7,1,2,4,3,9,6,0,
1,2,69,71,8,0,74,68,72,90,
73,67,63,3,8,69,27,70,0,23,
60,24,8,68,90,70,69,73,0,28,
11,12,23,13,29,30,14,31,32,15,
16,33,7,34,17,18,35,36,19,22,
20,24,21,1,2,8,63,9,6,5,
4,73,27,3,0,9,6,7,5,4,
1,2,3,63,68,70,69,8,73,90,
0,8,73,11,12,42,65,13,43,44,
14,15,16,66,7,45,17,18,46,47,
49,60,50,51,10,19,20,21,52,53,
54,1,2,3,37,38,9,6,25,26,
5,41,4,39,0,8,72,67,74,0,
4,55,8,72,67,0,64,28,11,12,
40,23,13,56,29,86,30,14,31,32,
15,16,33,59,34,17,18,35,57,36,
10,58,19,62,22,20,24,21,8,3,
9,6,71,27,61,7,4,48,5,1,
2,0,28,11,12,40,23,13,56,29,
30,14,31,32,15,16,33,34,17,18,
35,57,36,10,58,19,22,20,24,21,
1,2,4,90,0,22,1,2,4,103,
104,105,0,23,24,74,3,72,27,67,
60,8,90,73,70,69,68,0,68,70,
69,1,2,0,8,69,71,70,0,72,
8,63,3,70,69,27,55,0,102,0,
8,67,69,0,8,67,70,0,65,66,
37,38,9,6,25,26,5,41,46,3,
4,7,52,53,54,39,50,44,49,12,
21,11,17,15,16,18,19,14,13,20,
10,43,47,45,42,51,63,1,2,0,
86,103,104,105,48,72,102,121,71,61,
74,62,59,64,76,78,84,82,75,80,
81,83,85,67,77,79,27,8,28,40,
23,56,29,30,31,32,33,34,35,57,
36,58,22,24,60,65,66,10,43,47,
45,42,51,12,21,11,17,15,16,18,
19,14,13,20,52,53,54,39,50,44,
49,37,38,25,26,41,46,9,6,3,
4,7,5,1,2,0,66,65,25,26,
6,92,93,98,9,99,5,41,70,55,
68,111,112,108,109,110,116,115,117,88,
87,113,114,96,97,94,95,100,101,37,
38,69,89,106,63,3,28,11,12,40,
23,13,56,29,30,14,31,32,15,16,
33,34,17,18,35,57,36,10,58,19,
20,24,21,1,2,4,22,0,10,56,
40,57,58,12,21,11,17,15,16,18,
19,14,13,20,74,72,90,118,71,67,
120,119,91,106,89,37,38,25,26,92,
93,87,88,55,68,94,95,96,97,98,
99,100,101,107,70,108,109,110,111,112,
113,114,115,116,117,69,28,23,29,30,
31,32,33,34,35,36,22,24,27,8,
73,3,63,7,5,9,6,1,2,4,
0,27,8,3,7,5,9,6,4,1,
2,72,0,40,23,13,56,29,14,31,
32,15,16,33,34,17,18,35,57,36,
10,58,19,22,20,24,21,12,11,28,
8,3,9,27,62,59,64,86,30,61,
55,4,6,7,1,2,5,48,0
};
};
public final static byte asr[] = Asr.asr;
public final int asr(int index) { return asr[index]; }
public interface Nasb {
public final static char nasb[] = {0,
31,12,71,12,12,12,12,12,12,75,
12,12,12,227,12,171,141,91,71,71,
213,71,71,71,71,71,71,12,12,12,
12,12,12,12,12,12,12,12,71,12,
71,277,41,41,41,41,91,132,23,23,
65,5,82,283,12,12,23,217,283,71,
48,202,12,12,277,12,12,50,50,132,
141,71,71,71,71,71,71,71,71,71,
71,71,71,71,71,71,71,71,71,71,
71,71,71,71,71,71,71,71,71,71,
71,141,71,283,283,145,1,12,12,12,
12,125,283,36,36,121,244,245,154,245,
28,245,84,245,238,10,91,82,82,36,
12,82,41,186,171,128,283,170,91,170,
283,82,12,12,12,12,12,12,12,12,
12,12,12,12,12,12,12,12,12,12,
12,121,77,144,63,63,12,12,12,10,
91,12,12,12,12,190,11,12,12,12,
161,91,12,23,189,75,25,75,91,11,
12,12,71,41,23,58,283,12,11,91,
135,202,71,159,82,12,283,267,23,91,
202,141,141,141,141,12,12,36,123,123,
123,260,190,56,56,12,210,154,23,210,
201,190,283,46,161,128,12,217,190,283,
12,16,12,270,200,190,283,283,283,283,
132,132,12,23,205,91,114,12,156,12,
12,34,247,260,56,56,23,23,201,23,
218,11,190,23,44,12,141,161,136,12,
12,23,71,12,12,63,63,91,15,121,
270,283,190,283,283,123,87,202,154,182,
12,12,75,23,116,18,12,23,23,106,
106,190,218,104,12,12,46,132,71,82,
136,87,71,71,23,11,202,283,267,165,
23,12,23,87,171,23,154,255,23,210,
23,97,167,114,71,12,102,12,91,121,
106,106,177,104,205,71,218,44,283,82,
23,270,87,87,114,222,23,12,255,248,
12,181,34,270,171,97,94,108,18,71,
71,207,167,12,75,89,210,205,61,283,
23,205,255,222,153,116,12,12,75,12,
12,198,198,114,94,204,12,210,12,231,
210,75,75,11,12,23,61,205,255,23,
114,184,12,283,75,210,270,255,23,12,
12,23,138,108,11,132,11,210,210,281,
87,222,186,69,18,114,210,157,270,41,
41,175,149,12,71,12,114,12,12,12,
12,150,12,218,112,114,114,218,99,283,
11,11,283,23,205,283,23,154,157,114,
12,220,12,12,150,12,150,285,285,193,
12,285,114,114,12,23,41,61,205,23,
114,12,41,150,283,18,283,273,23,12,
283,175,69,198,283,283,23,150,12,150,
114,18,141,150,220,205,12,99,99,16,
71,12,235,114,283,13,68,170,150,283,
114,13,12,150
};
};
public final static char nasb[] = Nasb.nasb;
public final int nasb(int index) { return nasb[index]; }
public interface Nasr {
public final static char nasr[] = {0,
3,13,10,9,153,151,120,150,149,5,
2,0,164,0,34,94,93,65,5,2,
9,10,4,0,43,1,0,154,190,0,
4,176,0,158,0,5,10,9,2,13,
4,46,0,142,0,144,0,177,0,5,
2,9,10,140,0,108,0,4,179,0,
126,0,76,0,4,197,0,68,130,43,
10,9,2,13,5,0,13,2,9,10,
5,82,0,154,185,0,63,0,195,0,
2,45,0,43,162,0,161,0,43,56,
0,193,0,155,0,109,0,174,5,173,
0,4,40,39,0,4,10,9,2,65,
5,89,50,0,137,66,0,66,139,138,
0,4,96,0,2,114,0,49,43,181,
4,40,0,34,93,94,4,0,68,40,
49,69,4,43,0,122,103,0,94,93,
50,5,59,0,94,93,50,65,59,5,
10,9,2,0,163,0,5,101,194,0,
1,122,0,186,0,4,30,0,45,2,
3,0,40,4,24,183,0,107,0,137,
2,66,0,4,68,0,66,50,0,2,
57,0,5,10,9,13,3,1,0,112,
0,115,4,49,81,0,4,46,198,0,
5,101,170,0,4,180,0,2,5,120,
116,117,118,13,86,0,39,5,2,9,
10,4,160,0,4,49,81,83,0,4,
49,81,101,47,5,0,50,5,89,24,
4,0,46,4,182,0,4,46,40,0,
46,4,34,0,4,46,102,0
};
};
public final static char nasr[] = Nasr.nasr;
public final int nasr(int index) { return nasr[index]; }
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
113,114,2,31,13,10,79,115,9,100,
48,52,60,68,74,75,86,87,102,105,
107,104,54,106,11,12,120,47,64,66,
70,73,76,83,89,98,7,8,112,53,
14,55,61,67,84,88,90,93,94,97,
99,109,110,111,19,63,91,101,77,95,
122,103,1,46,58,78,121,20,44,33,
119,30,118,96,108,49,50,56,57,59,
69,71,72,85,92,65,17,18,6,32,
4,15,16,21,22,23,24,25,26,27,
28,51,80,81,82,5,29,34,35,36,
37,38,39,40,41,42,43,117,3,123,
62,116
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
public final int terminalIndex(int index) { return terminalIndex[index]; }
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
130,135,136,0,0,134,0,0,229,235,
133,0,143,0,132,0,0,142,148,0,
0,149,158,180,159,160,161,162,163,151,
164,165,166,126,141,167,168,0,128,131,
169,0,129,138,137,152,177,0,0,0,
0,0,0,0,0,172,0,145,155,0,
204,0,187,201,205,0,0,127,171,0,
0,0,0,0,0,206,175,0,0,0,
0,125,178,0,0,186,0,0,202,212,
157,208,209,210,0,0,146,0,0,207,
220,174,196,0,0,211,0,0,0,0,
240,241,0,147,179,189,190,191,192,193,
195,0,198,0,199,0,214,217,0,0,
219,0,238,0,239,0,0,139,140,144,
0,0,154,156,0,170,0,181,182,183,
184,185,188,0,0,0,194,0,197,203,
0,215,216,0,0,221,224,0,226,228,
0,232,233,234,237,124,0,150,153,0,
173,0,176,0,0,200,213,218,0,0,
222,223,225,227,0,230,231,236,242,243,
0,0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }
public interface ScopePrefix {
public final static char scopePrefix[] = {
159,311,583,602,304,319,534,550,561,572,
372,267,281,298,333,42,292,392,430,167,
591,477,20,51,71,80,85,90,130,195,
326,341,346,144,273,287,505,27,144,382,
346,610,27,217,246,1,14,61,76,106,
351,361,365,448,470,499,526,530,620,624,
628,97,7,97,410,426,439,460,518,116,
116,232,439,541,557,568,579,207,488,56,
56,156,222,225,56,241,262,225,225,56,
369,467,474,156,56,643,110,355,414,454,
56,355,401,177,104,452,632,639,632,639,
65,420,137,104,104,251
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
public final int scopePrefix(int index) { return scopePrefix[index]; }
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
18,135,5,5,135,135,5,5,5,5,
379,135,95,135,339,48,278,398,436,173,
67,483,25,25,25,59,59,95,135,200,
331,331,339,149,278,101,510,38,152,387,
597,615,32,211,211,5,18,5,59,95,
331,95,95,135,244,5,5,5,5,5,
244,641,11,101,379,379,379,464,510,120,
125,236,443,545,545,545,545,211,492,59,
59,5,5,228,230,244,5,265,265,230,
95,5,244,5,503,5,113,358,417,457,
522,513,404,180,95,95,634,634,636,636,
67,422,139,202,187,253
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
public final int scopeSuffix(int index) { return scopeSuffix[index]; }
public interface ScopeLhs {
public final static char scopeLhs[] = {
47,118,18,18,80,118,18,18,18,18,
72,85,48,80,117,78,54,72,71,47,
18,20,3,7,8,170,170,166,116,47,
117,117,119,129,55,48,140,134,129,72,
18,18,134,95,60,136,75,173,170,166,
119,184,52,56,144,19,18,18,18,18,
18,12,112,166,72,71,71,38,140,131,
131,59,71,18,18,18,18,95,20,174,
170,186,93,100,62,76,61,160,77,119,
73,145,144,177,140,17,166,119,102,70,
140,140,72,47,166,67,138,45,138,45,
173,102,116,47,47,60
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
public final int scopeLhs(int index) { return scopeLhs[index]; }
public interface ScopeLa {
public final static byte scopeLa[] = {
102,71,73,73,71,71,73,73,73,73,
73,71,27,71,1,68,1,73,121,67,
3,73,68,68,68,1,1,27,71,67,
1,1,1,71,1,1,4,68,69,27,
1,1,68,73,73,73,102,73,1,27,
1,27,27,71,118,73,73,73,73,73,
118,1,73,1,73,73,73,72,4,1,
1,6,73,68,68,68,68,73,3,1,
1,73,73,3,1,118,73,1,1,1,
27,73,118,73,5,73,1,48,70,72,
1,48,75,74,27,27,4,4,4,4,
3,1,67,1,1,3
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
public final int scopeLa(int index) { return scopeLa[index]; }
public interface ScopeStateSet {
public final static char scopeStateSet[] = {
85,154,250,250,107,154,250,250,250,250,
95,109,85,107,154,107,87,95,95,85,
250,250,182,226,226,54,54,82,154,85,
154,154,154,312,87,85,149,50,312,95,
250,250,50,141,63,26,95,30,54,82,
154,22,87,33,79,250,250,250,250,250,
250,230,6,82,95,95,95,281,149,154,
154,121,95,250,250,250,250,141,250,30,
54,24,141,143,63,137,63,60,68,154,
95,57,79,152,149,250,82,154,1,95,
149,149,95,85,82,11,118,158,118,158,
30,1,154,85,85,63
};
};
public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
public final int scopeStateSet(int index) { return scopeStateSet[index]; }
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
322,3,60,0,126,0,321,3,102,0,
126,172,0,126,178,74,0,216,0,254,
126,55,124,0,20,0,297,126,55,48,
0,20,53,0,33,132,0,20,53,0,
0,297,126,55,48,203,0,20,178,0,
254,126,55,132,0,179,127,0,141,0,
218,3,296,0,296,0,2,0,126,0,
254,126,55,131,0,179,127,223,0,179,
127,22,223,0,179,127,317,22,0,128,
188,167,127,0,128,0,188,167,127,0,
134,128,0,171,0,313,126,171,0,126,
171,0,222,128,0,167,312,242,0,136,
0,0,0,0,135,0,0,0,0,311,
126,165,253,0,127,0,253,0,129,0,
0,127,0,310,126,165,252,0,127,0,
0,44,127,0,0,152,3,0,126,284,
283,126,74,282,171,0,283,126,74,282,
171,0,215,0,216,0,282,171,0,96,
0,0,215,0,216,0,203,96,0,0,
215,0,216,0,283,126,282,171,0,215,
0,203,0,0,215,0,226,126,3,0,
126,0,0,0,0,0,226,126,3,215,
0,222,3,0,211,126,0,208,0,146,
0,172,167,127,0,10,0,0,0,0,
213,63,0,125,0,226,126,3,183,0,
183,0,2,0,0,126,0,0,0,0,
0,199,3,0,201,0,235,126,165,39,
30,0,179,127,59,62,0,196,128,0,
128,179,127,280,62,0,179,127,280,62,
0,179,127,70,123,59,0,235,126,165,
244,59,0,235,126,165,244,225,59,0,
277,278,126,165,123,307,56,0,277,278,
126,165,307,56,0,179,127,276,56,0,
135,0,188,179,127,276,242,0,136,0,
179,127,276,242,0,188,167,127,10,0,
167,127,10,0,167,127,0,93,136,0,
269,126,146,0,269,126,171,0,162,84,
0,302,161,304,305,3,81,0,126,171,
0,304,305,3,81,0,128,0,126,171,
0,162,3,75,191,80,0,126,128,0,
191,80,0,108,2,131,126,128,0,224,
3,75,0,199,168,0,33,169,0,168,
0,175,33,169,0,224,3,85,0,191,
156,224,3,83,0,62,171,0,224,3,
83,0,126,171,62,171,0,303,126,165,
0,162,0,213,77,0,30,171,0,162,
107,159,0,30,169,0,218,3,0,213,
63,266,0,162,63,0,180,3,299,66,
127,0,126,0,0,0,0,299,66,127,
0,2,145,126,0,0,0,0,180,3,
46,0,147,0,125,48,167,127,0,31,
147,0,93,136,31,147,0,219,179,127,
0,146,31,147,0,180,3,51,0,162,
3,51,0,162,3,68,180,55,42,0,
180,55,42,0,20,2,131,126,0,162,
3,68,180,55,45,0,180,55,45,0,
162,3,68,180,55,47,0,180,55,47,
0,162,3,68,180,55,43,0,180,55,
43,0,218,3,125,188,167,127,10,0,
125,188,167,127,10,0,136,2,0,126,
0,218,3,124,259,167,127,10,0,259,
167,127,10,0,135,2,0,126,0,218,
3,135,0,218,3,140,0,162,63,140,
0,261,0,31,0,31,139,0,166,0,
134,0,162,3,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
public final int scopeRhs(int index) { return scopeRhs[index]; }
public interface ScopeState {
public final static char scopeState[] = {0,
4724,4828,4823,4805,0,4233,4211,4066,3234,0,
3652,3595,3513,3410,3372,3334,3296,3258,3220,3000,
2962,3505,0,3416,0,2102,1190,875,0,3130,
2570,0,3652,3595,1983,1897,3513,3410,3372,3334,
3296,3258,1811,3220,3000,2962,1553,1467,0,4747,
3120,4691,0,4205,3261,0,3538,740,0,4515,
4309,0,4276,4515,2819,3154,4309,3076,3486,4289,
4067,2492,4053,605,2724,586,2703,0,747,746,
0,4541,4531,0,4541,4531,4189,4459,4413,4116,
4401,4355,4102,4343,3652,3595,3513,3410,3372,3334,
3296,3258,3220,3000,2962,0,4541,4531,4189,4459,
4413,4116,4401,4355,4102,4343,0,2770,2750,0,
2492,4276,3531,2819,3154,4557,2724,2716,3451,3379,
4547,3146,878,879,734,0,2200,1946,969,934,
3154,3146,3076,586,2703,2965,2810,0,953,808,
0,789,0,4245,541,2746,0,4740,4733,4687,
4682,4668,4664,4657,4599,4582,4443,4815,4385,3573,
4811,4758,4174,3471,2977,3467,3198,2755,2717,1384,
0,2611,2607,4740,4733,4687,2247,2160,4682,621,
4668,4664,4657,4599,4582,3115,3353,3283,4443,3206,
4815,2981,2791,2634,2243,4385,3573,2156,4811,2871,
4758,3658,2738,4174,3471,2977,652,3467,3198,2755,
4245,599,2746,2717,1384,2558,1329,742,633,2618,
3076,3486,4289,4067,2492,4276,4053,4515,2819,3154,
605,2724,586,4309,2703,2538,2325,953,808,4030,
1102,2291,2372,2339,2463,2434,2404,2938,2911,2675,
2647,2577,2505,3776,3752,3728,3172,3089,4007,3984,
3961,3938,3915,3892,3869,3846,3823,3800,2839,4080,
2035,2252,2204,2165,2117,2078,1389,1341,1242,1286,
894,1992,1059,835,754,695,541,1949,1906,1863,
1820,1777,1734,1691,1648,1605,1562,1519,1476,1433,
1199,1015,971,1155,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
public final int scopeState(int index) { return scopeState[index]; }
public interface InSymb {
public final static char inSymb[] = {0,
0,298,126,268,51,42,45,47,43,10,
135,124,131,7,132,4,3,127,46,41,
5,26,25,6,9,38,37,140,145,148,
147,150,149,153,151,155,154,158,60,159,
69,3,55,55,55,55,127,3,55,55,
168,126,63,3,65,66,55,5,162,65,
66,167,166,124,3,123,125,106,119,3,
63,89,91,26,25,93,92,6,95,94,
68,55,87,88,9,97,96,99,98,100,
117,116,115,114,113,112,111,110,109,108,
70,107,101,180,162,168,126,180,180,180,
180,167,218,126,126,126,270,271,253,272,
242,273,56,274,275,10,127,63,63,126,
124,63,299,3,188,4,180,48,127,48,
218,162,147,147,145,145,145,149,149,149,
149,148,148,151,150,150,154,153,155,162,
158,126,63,3,216,215,135,125,124,10,
127,68,68,68,68,188,259,254,257,254,
211,127,172,165,312,276,307,276,127,179,
167,254,204,3,300,168,152,261,188,127,
179,167,72,211,213,159,222,126,3,127,
167,3,3,3,3,125,124,69,167,9,
6,126,167,229,125,124,127,123,165,127,
167,48,180,126,126,4,219,5,48,226,
227,146,228,126,167,48,162,162,162,162,
3,3,172,172,311,127,169,223,59,48,
203,62,171,314,125,124,230,230,179,165,
126,179,188,156,263,266,63,181,4,123,
125,156,70,222,199,187,183,127,3,126,
69,226,188,218,218,6,126,167,244,225,
55,48,280,282,126,3,183,230,230,126,
126,188,126,278,123,279,126,3,63,162,
4,126,70,70,3,179,167,199,126,211,
156,125,172,185,188,165,244,68,55,127,
74,126,211,313,72,291,199,124,127,126,
126,126,72,278,277,70,69,263,218,213,
220,126,126,126,128,126,165,30,48,171,
64,59,62,126,179,126,283,72,69,72,
70,167,211,316,223,22,127,277,126,226,
220,235,237,126,39,126,3,123,59,297,
48,10,40,128,283,165,295,127,296,69,
127,22,317,179,60,156,126,235,126,165,
269,247,281,39,70,127,69,68,55,229,
229,284,126,69,179,3,179,127,127,3,
126,126,3,70,69,156,127,179,126,70,
70,126,303,79,77,1,162,8,85,83,
81,80,75,82,84,78,76,59,74,218,
179,179,322,220,235,152,165,252,179,225,
297,285,102,8,72,213,72,3,3,3,
191,3,123,162,123,178,69,126,126,165,
225,68,3,72,224,168,224,305,146,75,
224,126,126,40,90,321,168,156,199,156,
304,126,3,156,285,310,229,156,156,126,
70,191,161,269,162,190,69,70,121,302,
156,190,8,156
};
};
public final static char inSymb[] = InSymb.inSymb;
public final int inSymb(int index) { return inSymb[index]; }
public interface Name {
public final static String name[] = {
"",
"[",
"(",
".",
".*",
"->",
"->*",
"++",
"--",
"&",
"*",
"+",
"-",
"~",
"!",
"/",
"%",
">>",
"<<",
"<",
">",
"<=",
">=",
"==",
"!=",
"^",
"|",
"&&",
"||",
"?",
":",
"::",
"...",
"=",
"*=",
"/=",
"%=",
"+=",
"-=",
">>=",
"<<=",
"&=",
"^=",
"|=",
",",
"$empty",
"asm",
"auto",
"bool",
"break",
"case",
"catch",
"char",
"class",
"const",
"const_cast",
"continue",
"default",
"delete",
"do",
"double",
"dynamic_cast",
"else",
"enum",
"explicit",
"export",
"extern",
"false",
"float",
"for",
"friend",
"goto",
"if",
"inline",
"int",
"long",
"mutable",
"namespace",
"new",
"operator",
"private",
"protected",
"public",
"register",
"reinterpret_cast",
"return",
"short",
"signed",
"sizeof",
"static",
"static_cast",
"struct",
"switch",
"template",
"this",
"throw",
"try",
"true",
"typedef",
"typeid",
"typename",
"union",
"unsigned",
"using",
"virtual",
"void",
"volatile",
"wchar_t",
"while",
"integer",
"floating",
"charconst",
"stringlit",
"identifier",
"Completion",
"EndOfCompletion",
"Invalid",
"RightBracket",
"RightParen",
"RightBrace",
"SemiColon",
"LeftBrace",
"ERROR_TOKEN",
"EOF_TOKEN",
"no_cast_start",
"]",
")",
"}",
";",
"{",
"identifier_token",
"expression",
"id_expression",
"qualified_or_unqualified_name",
"unqualified_id_name",
"identifier_name",
"template_id_name",
"nested_name_specifier",
"class_or_namespace_name",
"nested_name_specifier_with_tem" +
"plate",
"class_or_namespace_name_with_t" +
"emplate",
"class_name",
"postfix_expression",
"simple_type_specifier",
"pseudo_destructor_name",
"type_id",
"type_name",
"destructor_type_name",
"unary_expression",
"cast_expression",
"new_type_id",
"expression_list",
"type_specifier_seq",
"new_declarator",
"new_pointer_operators",
"ptr_operator",
"new_array_expressions",
"constant_expression",
"pm_expression",
"multiplicative_expression",
"additive_expression",
"shift_expression",
"relational_expression",
"equality_expression",
"and_expression",
"exclusive_or_expression",
"inclusive_or_expression",
"logical_and_expression",
"logical_or_expression",
"assignment_expression",
"expression_list_actual",
"statement",
"compound_statement",
"statement_seq",
"condition",
"declarator",
"for_init_statement",
"function_definition",
"declaration",
"declaration_seq",
"declaration_specifiers",
"simple_declaration_specifiers",
"class_declaration_specifiers",
"elaborated_declaration_specifi" +
"ers",
"enum_declaration_specifiers",
"type_name_declaration_specifie" +
"rs",
"no_type_declaration_specifier",
"cv_qualifier",
"no_type_declaration_specifiers",
"class_specifier",
"elaborated_type_specifier",
"enum_specifier",
"type_name_specifier",
"class_keyword",
"enumerator_list",
"enumerator_definition",
"namespace_name",
"init_declarator_list",
"init_declarator_complete",
"complete_declarator",
"initializer",
"direct_declarator",
"ptr_operator_seq",
"function_declarator",
"basic_direct_declarator",
"array_direct_declarator",
"array_modifier",
"abstract_declarator",
"direct_abstract_declarator",
"basic_direct_abstract_declarat" +
"or",
"array_direct_abstract_declarat" +
"or",
"parameter_declaration_list",
"parameter_declaration",
"parameter_init_declarator",
"parameter_initializer",
"function_body",
"handler_seq",
"initializer_clause",
"initializer_seq",
"class_head",
"access_specifier_keyword",
"member_declaration",
"member_declarator_list",
"member_declaration_list",
"member_declarator_complete",
"constant_initializer",
"bit_field_declarator",
"base_specifier_list",
"base_specifier",
"conversion_function_id",
"conversion_type_id",
"conversion_declarator",
"mem_initializer_list",
"mem_initializer",
"mem_initializer_name",
"operator_id_name",
"overloadable_operator",
"template_parameter_list",
"template_parameter",
"template_argument_list",
"template_argument",
"handler",
"exception_declaration",
"type_id_list"
};
};
public final static String name[] = Name.name;
public final String name(int index) { return name[index]; }
public final static int
ERROR_SYMBOL = 61,
SCOPE_UBOUND = 115,
SCOPE_SIZE = 116,
MAX_NAME_LENGTH = 37;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
public final int getScopeUbound() { return SCOPE_UBOUND; }
public final int getScopeSize() { return SCOPE_SIZE; }
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
NUM_STATES = 544,
NT_OFFSET = 122,
LA_STATE_OFFSET = 5982,
MAX_LA = 2147483647,
NUM_RULES = 540,
NUM_NONTERMINALS = 204,
NUM_SYMBOLS = 326,
SEGMENT_SIZE = 8192,
START_STATE = 645,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 120,
EOLT_SYMBOL = 120,
ACCEPT_ACTION = 5074,
ERROR_ACTION = 5442;
public final static boolean BACKTRACK = true;
public final int getNumStates() { return NUM_STATES; }
public final int getNtOffset() { return NT_OFFSET; }
public final int getLaStateOffset() { return LA_STATE_OFFSET; }
public final int getMaxLa() { return MAX_LA; }
public final int getNumRules() { return NUM_RULES; }
public final int getNumNonterminals() { return NUM_NONTERMINALS; }
public final int getNumSymbols() { return NUM_SYMBOLS; }
public final int getSegmentSize() { return SEGMENT_SIZE; }
public final int getStartState() { return START_STATE; }
public final int getStartSymbol() { return lhs[0]; }
public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
public final int getEoftSymbol() { return EOFT_SYMBOL; }
public final int getEoltSymbol() { return EOLT_SYMBOL; }
public final int getAcceptAction() { return ACCEPT_ACTION; }
public final int getErrorAction() { return ERROR_ACTION; }
public final boolean isValidForParser() { return isValidForParser; }
public final boolean getBacktrack() { return BACKTRACK; }
public final int originalState(int state) {
return -baseCheck[state];
}
public final int asi(int state) {
return asb[originalState(state)];
}
public final int nasi(int state) {
return nasb[originalState(state)];
}
public final int inSymbol(int state) {
return inSymb[originalState(state)];
}
public final int ntAction(int state, int sym) {
return baseAction[state + sym];
}
public final int tAction(int state, int sym) {
int i = baseAction[state],
k = i + sym;
return termAction[termCheck[k] == sym ? k : i];
}
public final int lookAhead(int la_state, int sym) {
int k = la_state + sym;
return termAction[termCheck[k] == sym ? k : la_state];
}
}