From a6d874156fba3f9f699e36d253c623d82d647cdc Mon Sep 17 00:00:00 2001 From: Mike Kucera Date: Tue, 1 Apr 2008 22:01:15 +0000 Subject: [PATCH] for loop conditions now work --- .../core/parser/tests/ast2/AST2CPPTests.java | 16 +- .../core/lrparser/tests/cpp/ISOCPPTests.java | 24 +- .../grammar/c99/C99Grammar.g | 2 +- .../grammar/cpp/CPPGrammar.g | 19 +- .../lrparser/action/BuildASTParserAction.java | 50 +- .../dom/lrparser/action/IASTNodeFactory.java | 6 +- .../action/c99/C99BuildASTParserAction.java | 36 + .../action/c99/IC99ASTNodeFactory.java | 3 +- .../action/cpp/CPPASTNodeFactory.java | 7 + .../action/cpp/CPPBuildASTParserAction.java | 26 + .../action/cpp/ICPPASTNodeFactory.java | 4 + .../c99/C99ExpressionStatementParser.java | 4 +- .../c99/C99NoCastExpressionParser.java | 4 +- .../core/dom/lrparser/c99/C99Parser.java | 4 +- .../c99/C99SizeofExpressionParser.java | 4 +- .../cpp/CPPExpressionStatementParser.java | 821 ++-- .../cpp/CPPExpressionStatementParserprs.java | 3731 ++++++++-------- .../cpp/CPPExpressionStatementParsersym.java | 80 +- .../cpp/CPPNoCastExpressionParser.java | 821 ++-- .../cpp/CPPNoCastExpressionParserprs.java | 3681 ++++++++-------- .../cpp/CPPNoCastExpressionParsersym.java | 80 +- .../cpp/CPPNoFunctionDeclaratorParser.java | 825 ++-- .../cpp/CPPNoFunctionDeclaratorParserprs.java | 3711 ++++++++-------- .../cpp/CPPNoFunctionDeclaratorParsersym.java | 76 +- .../core/dom/lrparser/cpp/CPPParser.java | 817 ++-- .../core/dom/lrparser/cpp/CPPParserprs.java | 3895 ++++++++--------- .../core/dom/lrparser/cpp/CPPParsersym.java | 28 +- .../cpp/CPPSizeofExpressionParser.java | 821 ++-- .../cpp/CPPSizeofExpressionParserprs.java | 3749 ++++++++-------- .../cpp/CPPSizeofExpressionParsersym.java | 80 +- 30 files changed, 11708 insertions(+), 11717 deletions(-) diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java index 43187345274..283e67e2b5e 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java @@ -2386,7 +2386,7 @@ public class AST2CPPTests extends AST2BaseTest { buffer.append("struct B : public A { \n"); //$NON-NLS-1$ buffer.append(" int a1; \n"); //$NON-NLS-1$ buffer.append(" void f(); \n"); //$NON-NLS-1$ - buffer.append("} \n"); //$NON-NLS-1$ + buffer.append("}; \n"); //$NON-NLS-1$ buffer.append("int a3; \n"); //$NON-NLS-1$ buffer.append("void B::f(){ \n"); //$NON-NLS-1$ buffer.append(" int a4; \n"); //$NON-NLS-1$ @@ -3340,23 +3340,19 @@ public class AST2CPPTests extends AST2BaseTest { IFunction f2 = (IFunction) col.getName(3).resolveBinding(); IFunction f3 = (IFunction) col.getName(6).resolveBinding(); - IASTFunctionDefinition def = (IASTFunctionDefinition) col.getName(5) - .getParent().getParent(); + IASTFunctionDefinition def = (IASTFunctionDefinition) col.getName(5).getParent().getParent(); IScope scope = ((IASTCompoundStatement) def.getBody()).getScope(); IBinding[] bs = scope.find("f"); //$NON-NLS-1$ - assertEquals(bs.length, 3); + assertEquals(3, bs.length); assertSame(bs[0], f3); - assertSame( bs[1], f1); - assertSame( bs[2], f2); - + assertSame(bs[1], f1); + assertSame(bs[2], f2); String[] s = ((ICPPBinding) bs[1]).getQualifiedName(); assertEquals(s.length, 2); assertEquals(s[0], "A"); //$NON-NLS-1$ assertEquals(s[1], "f"); //$NON-NLS-1$ - assertTrue(((ICPPBinding) bs[1]) - .isGloballyQualified()); - + assertTrue(((ICPPBinding) bs[1]).isGloballyQualified()); } public void testFind_4() throws Exception { diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/cpp/ISOCPPTests.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/cpp/ISOCPPTests.java index 4307ebdd683..18870cce78c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/cpp/ISOCPPTests.java +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/cpp/ISOCPPTests.java @@ -1,5 +1,6 @@ package org.eclipse.cdt.core.lrparser.tests.cpp; +import junit.framework.AssertionFailedError; import junit.framework.TestSuite; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; @@ -36,7 +37,6 @@ public class ISOCPPTests extends AST2CPPTests { return ParseHelper.parse(code, language, expectNoProblems); } - protected ILanguage getC99Language() { return C99Language.getDefault(); } @@ -45,9 +45,29 @@ public class ISOCPPTests extends AST2CPPTests { return ISOCPPLanguage.getDefault(); } - public void testBug98704() throws Exception { + + @Override + public void testBug98704() throws Exception { // this one gets stuck in infinite loop } + @Override + public void testBug87424() throws Exception { // gcc extension + try { + super.testBug87424(); + fail(); + } catch(AssertionFailedError _) { + } + } + + + @Override + public void testBug95757() throws Exception { // gcc extension + try { + super.testBug95757(); + fail(); + } catch(AssertionFailedError _) { + } + } } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g index aa933844657..c9795f23fe7 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g @@ -424,7 +424,7 @@ block_item_list block_item ::= statement | declaration - /. $Build consumeStatementDeclaration(); $EndBuild ./ + /. $Build consumeStatementDeclarationWithDisambiguation(); $EndBuild ./ expression_statement diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g index 516d2a134d7..92566041278 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g @@ -882,6 +882,10 @@ condition | type_specifier_seq declarator '=' assignment_expression /. $Build consumeConditionDeclaration(); $EndBuild ./ +condition_opt + ::= condition + | $empty + /. $Build consumeEmpty(); $EndBuild ./ iteration_statement @@ -889,11 +893,16 @@ iteration_statement /. $Build consumeStatementWhileLoop(); $EndBuild ./ | 'do' statement 'while' '(' expression ')' ';' /. $Build consumeStatementDoLoop(); $EndBuild ./ - | 'for' '(' expression_opt ';' expression_opt ';' expression_opt ')' statement + | 'for' '(' for_init_statement condition_opt ';' expression_opt ')' statement /. $Build consumeStatementForLoop(); $EndBuild ./ - | 'for' '(' simple_declaration_with_declspec expression_opt ';' expression_opt ')' statement - /. $Build consumeStatementForLoop(); $EndBuild ./ - + + +-- I'm sure there are ambiguities here but we won't worry about it +for_init_statement + ::= expression_statement + | simple_declaration_with_declspec + /. $Build consumeStatementDeclaration(); $EndBuild ./ + jump_statement ::= 'break' ';' @@ -912,7 +921,7 @@ jump_statement -- of the parser test cases expect them to work. declaration_statement ::= block_declaration - /. $Build consumeStatementDeclaration(); $EndBuild ./ + /. $Build consumeStatementDeclarationWithDisambiguation(); $EndBuild ./ | function_definition -- not spec /. $Build consumeStatementDeclaration(); $EndBuild ./ diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java index 36621d5a1fa..c4badb840c3 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java @@ -482,9 +482,9 @@ public abstract class BuildASTParserAction { /** * block_item ::= declaration | statement * - * Wrap a declaration in a DeclarationStatement. + * TODO, be careful where exactly in the grammar this is called, it may be called unnecessarily */ - public void consumeStatementDeclaration() { + public void consumeStatementDeclarationWithDisambiguation() { if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); IASTDeclaration decl = (IASTDeclaration) astStack.pop(); @@ -519,6 +519,21 @@ public abstract class BuildASTParserAction { } + /** + * Wrap a declaration in a DeclarationStatement. + */ + public void consumeStatementDeclaration() { + if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); + + IASTDeclaration decl = (IASTDeclaration) astStack.pop(); + IASTDeclarationStatement declarationStatement = nodeFactory.newDeclarationStatement(decl); + setOffsetAndLength(declarationStatement); + astStack.push(declarationStatement); + + if(TRACE_AST_STACK) System.out.println(astStack); + } + + /** * Returns true if the given declaration has unspecified type, * in this case the type defaults to int and is know as "implicit int". @@ -957,37 +972,6 @@ public abstract class BuildASTParserAction { } - - /** - * iteration_statement_matched - * ::= 'for' '(' expression_opt ';' expression_opt ';' expression_opt ')' statement - */ - public void consumeStatementForLoop() { - if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); - - IASTStatement body = (IASTStatement) astStack.pop(); - // these two expressions may be null, see consumeExpressionOptional() - IASTExpression expr3 = (IASTExpression) astStack.pop(); - IASTExpression expr2 = (IASTExpression) astStack.pop(); - IASTNode node = (IASTNode) astStack.pop(); // may be an expression or a declaration - - IASTStatement initializer; - if(node instanceof IASTExpression) - initializer = nodeFactory.newExpressionStatement((IASTExpression)node); - else if(node instanceof IASTDeclaration) - initializer = nodeFactory.newDeclarationStatement((IASTDeclaration)node); - else // its null - initializer = nodeFactory.newNullStatement(); - - if(node != null) - setOffsetAndLength(initializer, offset(node), length(node)); - - IASTForStatement forStat = nodeFactory.newForStatement(initializer, expr2, expr3, body); - setOffsetAndLength(forStat); - astStack.push(forStat); - - if(TRACE_AST_STACK) System.out.println(astStack); - } /** diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/IASTNodeFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/IASTNodeFactory.java index a049d0a72b5..4b43b75ee16 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/IASTNodeFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/IASTNodeFactory.java @@ -119,6 +119,9 @@ public interface IASTNodeFactory { public IASTDoStatement newDoStatement(IASTStatement body, IASTExpression condition); + public IASTForStatement newForStatement(IASTStatement init, IASTExpression condition, + IASTExpression iterationExpression, IASTStatement body); + public IASTGotoStatement newGotoStatement(IASTName name); public IASTContinueStatement newContinueStatement(); @@ -127,9 +130,6 @@ public interface IASTNodeFactory { public IASTReturnStatement newReturnStatement(IASTExpression retValue); - public IASTForStatement newForStatement(IASTStatement init, IASTExpression condition, - IASTExpression iterationExpression, IASTStatement body); - public IASTDeclarationStatement newDeclarationStatement(IASTDeclaration declaration); public IASTTypeIdExpression newTypeIdExpression(int operator, IASTTypeId typeId); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java index 9c256a42df0..177770231b1 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java @@ -46,12 +46,14 @@ import org.eclipse.cdt.core.dom.ast.IASTDeclarator; import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IASTFieldReference; +import org.eclipse.cdt.core.dom.ast.IASTForStatement; import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; import org.eclipse.cdt.core.dom.ast.IASTIfStatement; import org.eclipse.cdt.core.dom.ast.IASTInitializer; import org.eclipse.cdt.core.dom.ast.IASTInitializerList; import org.eclipse.cdt.core.dom.ast.IASTName; +import org.eclipse.cdt.core.dom.ast.IASTNode; import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration; import org.eclipse.cdt.core.dom.ast.IASTPointer; import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier; @@ -671,6 +673,40 @@ public class C99BuildASTParserAction extends BuildASTParserAction { } + + /** + * iteration_statement_matched + * ::= 'for' '(' expression_opt ';' expression_opt ';' expression_opt ')' statement + */ + public void consumeStatementForLoop() { + if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); + + IASTStatement body = (IASTStatement) astStack.pop(); + // these two expressions may be null, see consumeExpressionOptional() + IASTExpression expr3 = (IASTExpression) astStack.pop(); + IASTExpression expr2 = (IASTExpression) astStack.pop(); + IASTNode node = (IASTNode) astStack.pop(); // may be an expression or a declaration + + IASTStatement initializer; + if(node instanceof IASTExpression) + initializer = nodeFactory.newExpressionStatement((IASTExpression)node); + else if(node instanceof IASTDeclaration) + initializer = nodeFactory.newDeclarationStatement((IASTDeclaration)node); + else // its null + initializer = nodeFactory.newNullStatement(); + + if(node != null) + setOffsetAndLength(initializer, offset(node), length(node)); + + IASTForStatement forStat = nodeFactory.newForStatement(initializer, expr2, expr3, body); + setOffsetAndLength(forStat); + astStack.push(forStat); + + if(TRACE_AST_STACK) System.out.println(astStack); + } + + + /** * selection_statement ::= switch '(' expression ')' statement */ diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/IC99ASTNodeFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/IC99ASTNodeFactory.java index 7c0fcda16f1..98525d4cb87 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/IC99ASTNodeFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/IC99ASTNodeFactory.java @@ -12,9 +12,11 @@ package org.eclipse.cdt.core.dom.lrparser.action.c99; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IASTFieldReference; +import org.eclipse.cdt.core.dom.ast.IASTForStatement; import org.eclipse.cdt.core.dom.ast.IASTInitializer; import org.eclipse.cdt.core.dom.ast.IASTInitializerList; import org.eclipse.cdt.core.dom.ast.IASTName; +import org.eclipse.cdt.core.dom.ast.IASTStatement; import org.eclipse.cdt.core.dom.ast.IASTTypeId; import org.eclipse.cdt.core.dom.ast.c.ICASTArrayDesignator; import org.eclipse.cdt.core.dom.ast.c.ICASTArrayModifier; @@ -35,7 +37,6 @@ import org.eclipse.cdt.core.dom.lrparser.action.IASTNodeFactory; */ public interface IC99ASTNodeFactory extends IASTNodeFactory { - public IASTFieldReference newFieldReference(IASTName name, IASTExpression owner, boolean isPointerDereference); public ICASTTypeIdInitializerExpression newCTypeIdInitializerExpression(IASTTypeId typeId, IASTInitializerList list); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java index 8299843e6c9..2f85c60e191 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java @@ -358,6 +358,11 @@ public class CPPASTNodeFactory implements ICPPASTNodeFactory { return new CPPASTForStatement(init, condition, iterationExpr, body); } + public IASTForStatement newForStatement(IASTStatement init, IASTDeclaration condition, + IASTExpression iterationExpression, IASTStatement body) { + return new CPPASTForStatement(init, condition, iterationExpression, body); + } + public IASTDeclarationStatement newDeclarationStatement(IASTDeclaration declaration) { return new CPPASTDeclarationStatement(declaration); } @@ -555,4 +560,6 @@ public class CPPASTNodeFactory implements ICPPASTNodeFactory { return newCPPSimpleDeclSpecifier(); } + + } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java index 15c81cc6695..3380267b31a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java @@ -17,6 +17,7 @@ import static org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym.*; import java.util.Collections; import java.util.LinkedList; import java.util.List; +import java.util.concurrent.locks.Condition; import lpg.lpgjavaruntime.IToken; @@ -30,6 +31,7 @@ import org.eclipse.cdt.core.dom.ast.IASTDeclarator; import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IASTFieldReference; +import org.eclipse.cdt.core.dom.ast.IASTForStatement; import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; import org.eclipse.cdt.core.dom.ast.IASTIfStatement; @@ -97,6 +99,7 @@ import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym; import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPSizeofExpressionParser; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTQualifiedName; import org.eclipse.cdt.internal.core.dom.parser.cpp.OverloadableOperator; +import org.osgi.service.condpermadmin.ConditionInfo; /** * Semantic actions that build the AST during the parse. @@ -571,6 +574,29 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { } + /** + */ + public void consumeStatementForLoop() { + if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); + + IASTStatement body = (IASTStatement) astStack.pop(); + IASTExpression expr = (IASTExpression) astStack.pop(); + Object condition = astStack.pop(); // can be an expression or a declaration + IASTStatement initializer = (IASTStatement) astStack.pop(); + + IASTForStatement forStat; + if(condition instanceof IASTExpression) + forStat = nodeFactory.newForStatement(initializer, (IASTExpression)condition, expr, body); + else // its a declaration or its null + forStat = nodeFactory.newForStatement(initializer, (IASTDeclaration)condition, expr, body); + + setOffsetAndLength(forStat); + astStack.push(forStat); + + if(TRACE_AST_STACK) System.out.println(astStack); + } + + /** * try_block * ::= 'try' compound_statement handler_seq diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPASTNodeFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPASTNodeFactory.java index aafb7d28ea1..6e599d3e40c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPASTNodeFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPASTNodeFactory.java @@ -13,6 +13,7 @@ package org.eclipse.cdt.core.dom.lrparser.action.cpp; import org.eclipse.cdt.core.dom.ast.IASTDeclaration; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IASTFieldReference; +import org.eclipse.cdt.core.dom.ast.IASTForStatement; import org.eclipse.cdt.core.dom.ast.IASTIfStatement; import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IASTPointer; @@ -79,6 +80,9 @@ public interface ICPPASTNodeFactory extends IASTNodeFactory { public IASTIfStatement newIfStatement(IASTDeclaration condition, IASTStatement then, IASTStatement elseClause); + public IASTForStatement newForStatement(IASTStatement init, IASTDeclaration condition, + IASTExpression iterationExpression, IASTStatement body); + public IASTWhileStatement newWhileStatement(IASTDeclaration condition, IASTStatement body); public ICPPASTDeleteExpression newDeleteExpression(IASTExpression operand); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java index 0649d95285c..f29493506ac 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java @@ -212,7 +212,7 @@ public String[] getOrderedTerminalSymbols() { } public String getName() { - return "C99ExpressionStatementParser";//$NON-NLS-1$ + return "C99ExpressionStatementParser"; //$NON-NLS-1$ } @@ -621,7 +621,7 @@ public C99ExpressionStatementParser(String[] mapFrom) { // constructor // // Rule 109: block_item ::= declaration // - case 109: { action. consumeStatementDeclaration(); break; + case 109: { action. consumeStatementDeclarationWithDisambiguation(); break; } // diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java index 09a1f2d9498..85077dd3016 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java @@ -212,7 +212,7 @@ public String[] getOrderedTerminalSymbols() { } public String getName() { - return "C99NoCastExpressionParser"; + return "C99NoCastExpressionParser"; //$NON-NLS-1$ } @@ -615,7 +615,7 @@ public C99NoCastExpressionParser(String[] mapFrom) { // constructor // // Rule 108: block_item ::= declaration // - case 108: { action. consumeStatementDeclaration(); break; + case 108: { action. consumeStatementDeclarationWithDisambiguation(); break; } // diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java index 2e9c648f86c..d7636fa486f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java @@ -212,7 +212,7 @@ public String[] getOrderedTerminalSymbols() { } public String getName() { - return "C99Parser"; + return "C99Parser"; //$NON-NLS-1$ } @@ -621,7 +621,7 @@ public C99Parser(String[] mapFrom) { // constructor // // Rule 109: block_item ::= declaration // - case 109: { action. consumeStatementDeclaration(); break; + case 109: { action. consumeStatementDeclarationWithDisambiguation(); break; } // diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java index 6da80220b4d..e7e5aae0f16 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java @@ -212,7 +212,7 @@ public String[] getOrderedTerminalSymbols() { } public String getName() { - return "C99SizeofExpressionParser"; + return "C99SizeofExpressionParser"; //$NON-NLS-1$ } @@ -615,7 +615,7 @@ public C99SizeofExpressionParser(String[] mapFrom) { // constructor // // Rule 108: block_item ::= declaration // - case 108: { action. consumeStatementDeclaration(); break; + case 108: { action. consumeStatementDeclarationWithDisambiguation(); break; } // diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java index 6898e64f9c7..967aeadb713 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java @@ -1155,1108 +1155,1115 @@ public CPPExpressionStatementParser(String[] mapFrom) { // constructor } // - // Rule 196: iteration_statement ::= while ( condition ) statement + // Rule 197: condition_opt ::= $Empty // - case 196: { action.builder. + case 197: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 198: iteration_statement ::= while ( condition ) statement + // + case 198: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 197: iteration_statement ::= do statement while ( expression ) ; + // Rule 199: iteration_statement ::= do statement while ( expression ) ; // - case 197: { action.builder. + case 199: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 198: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - case 198: { action.builder. - consumeStatementForLoop(); break; - } - - // - // Rule 199: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement - // - case 199: { action.builder. - consumeStatementForLoop(); break; - } - - // - // Rule 200: jump_statement ::= break ; + // Rule 200: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // case 200: { action.builder. + consumeStatementForLoop(); break; + } + + // + // Rule 202: for_init_statement ::= simple_declaration_with_declspec + // + case 202: { action.builder. + consumeStatementDeclaration(); break; + } + + // + // Rule 203: jump_statement ::= break ; + // + case 203: { action.builder. consumeStatementBreak(); break; } // - // Rule 201: jump_statement ::= continue ; + // Rule 204: jump_statement ::= continue ; // - case 201: { action.builder. + case 204: { action.builder. consumeStatementContinue(); break; } // - // Rule 202: jump_statement ::= return expression ; + // Rule 205: jump_statement ::= return expression ; // - case 202: { action.builder. + case 205: { action.builder. consumeStatementReturn(true); break; } // - // Rule 203: jump_statement ::= return ; + // Rule 206: jump_statement ::= return ; // - case 203: { action.builder. + case 206: { action.builder. consumeStatementReturn(false); break; } // - // Rule 204: jump_statement ::= goto identifier_token ; + // Rule 207: jump_statement ::= goto identifier_token ; // - case 204: { action.builder. + case 207: { action.builder. consumeStatementGoto(); break; } // - // Rule 205: declaration_statement ::= block_declaration + // Rule 208: declaration_statement ::= block_declaration // - case 205: { action.builder. + case 208: { action.builder. + consumeStatementDeclarationWithDisambiguation(); break; + } + + // + // Rule 209: declaration_statement ::= function_definition + // + case 209: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 206: declaration_statement ::= function_definition + // Rule 226: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; // - case 206: { action.builder. - consumeStatementDeclaration(); break; - } - - // - // Rule 223: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; - // - case 223: { action.builder. + case 226: { action.builder. consumeDeclarationSimple(true, true); break; } // - // Rule 224: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; + // Rule 227: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; // - case 224: { action.builder. + case 227: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 225: declaration_specifiers ::= simple_declaration_specifiers + // Rule 228: declaration_specifiers ::= simple_declaration_specifiers // - case 225: { action.builder. + case 228: { action.builder. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 226: declaration_specifiers ::= class_declaration_specifiers - // - case 226: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 227: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 227: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 228: declaration_specifiers ::= enum_declaration_specifiers - // - case 228: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 229: declaration_specifiers ::= type_name_declaration_specifiers + // Rule 229: declaration_specifiers ::= class_declaration_specifiers // case 229: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 230: declaration_specifiers ::= elaborated_declaration_specifiers + // + case 230: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 231: declaration_specifiers ::= enum_declaration_specifiers + // + case 231: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 232: declaration_specifiers ::= type_name_declaration_specifiers + // + case 232: { action.builder. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 230: declaration_specifiers_opt ::= $Empty + // Rule 233: declaration_specifiers_opt ::= $Empty // - case 230: { action.builder. + case 233: { action.builder. consumeEmpty(); break; } // - // Rule 235: no_type_declaration_specifier ::= friend + // Rule 238: no_type_declaration_specifier ::= friend // - case 235: { action.builder. + case 238: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 236: no_type_declaration_specifier ::= typedef + // Rule 239: no_type_declaration_specifier ::= typedef // - case 236: { action.builder. + case 239: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 256: storage_class_specifier ::= auto - // - case 256: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 257: storage_class_specifier ::= register - // - case 257: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 258: storage_class_specifier ::= static - // - case 258: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 259: storage_class_specifier ::= extern + // Rule 259: storage_class_specifier ::= auto // case 259: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 260: storage_class_specifier ::= mutable + // Rule 260: storage_class_specifier ::= register // case 260: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 261: function_specifier ::= inline + // Rule 261: storage_class_specifier ::= static // case 261: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 262: function_specifier ::= virtual + // Rule 262: storage_class_specifier ::= extern // case 262: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 263: function_specifier ::= explicit + // Rule 263: storage_class_specifier ::= mutable // case 263: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 264: simple_type_specifier ::= char + // Rule 264: function_specifier ::= inline // case 264: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 265: simple_type_specifier ::= wchar_t + // Rule 265: function_specifier ::= virtual // case 265: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 266: simple_type_specifier ::= bool + // Rule 266: function_specifier ::= explicit // case 266: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 267: simple_type_specifier ::= short + // Rule 267: simple_type_specifier ::= char // case 267: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 268: simple_type_specifier ::= int + // Rule 268: simple_type_specifier ::= wchar_t // case 268: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 269: simple_type_specifier ::= long + // Rule 269: simple_type_specifier ::= bool // case 269: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 270: simple_type_specifier ::= signed + // Rule 270: simple_type_specifier ::= short // case 270: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 271: simple_type_specifier ::= unsigned + // Rule 271: simple_type_specifier ::= int // case 271: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 272: simple_type_specifier ::= float + // Rule 272: simple_type_specifier ::= long // case 272: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 273: simple_type_specifier ::= double + // Rule 273: simple_type_specifier ::= signed // case 273: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 274: simple_type_specifier ::= void + // Rule 274: simple_type_specifier ::= unsigned // case 274: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 275: simple_type_specifier ::= float + // + case 275: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 276: simple_type_specifier ::= double + // + case 276: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 277: simple_type_specifier ::= void // case 277: { action.builder. - consumeQualifiedId(false); break; + consumeDeclSpecToken(); break; } // - // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name - // - case 278: { action.builder. - consumeQualifiedId(false); break; - } - - // - // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 279: { action.builder. - consumeQualifiedId(false); break; - } - - // - // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 280: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 280: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 281: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // + case 281: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 282: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // + case 282: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 283: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // + case 283: { action.builder. consumeQualifiedId(true); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name + // Rule 284: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name // - case 281: { action.builder. + case 284: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 282: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 285: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 282: { action.builder. + case 285: { action.builder. consumeTypeSpecifierElaborated(true); break; } // - // Rule 283: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name + // Rule 286: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name // - case 283: { action.builder. + case 286: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 284: enum_specifier ::= enum { enumerator_list_opt } + // Rule 287: enum_specifier ::= enum { enumerator_list_opt } // - case 284: { action.builder. + case 287: { action.builder. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 285: enum_specifier ::= enum identifier_token { enumerator_list_opt } + // Rule 288: enum_specifier ::= enum identifier_token { enumerator_list_opt } // - case 285: { action.builder. + case 288: { action.builder. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 290: enumerator_definition ::= identifier_token + // Rule 293: enumerator_definition ::= identifier_token // - case 290: { action.builder. + case 293: { action.builder. consumeEnumerator(false); break; } // - // Rule 291: enumerator_definition ::= identifier_token = constant_expression + // Rule 294: enumerator_definition ::= identifier_token = constant_expression // - case 291: { action.builder. + case 294: { action.builder. consumeEnumerator(true); break; } // - // Rule 297: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } + // Rule 300: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } // - case 297: { action.builder. + case 300: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 298: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } + // Rule 301: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } // - case 298: { action.builder. + case 301: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 299: unnamed_namespace_definition ::= namespace { declaration_seq_opt } + // Rule 302: unnamed_namespace_definition ::= namespace { declaration_seq_opt } // - case 299: { action.builder. + case 302: { action.builder. consumeNamespaceDefinition(false); break; } // - // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 300: { action.builder. + case 303: { action.builder. consumeNamespaceAliasDefinition(); break; } // - // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 304: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 301: { action.builder. + case 304: { action.builder. consumeUsingDeclaration(); break; } // - // Rule 302: typename_opt ::= typename + // Rule 305: typename_opt ::= typename // - case 302: { action.builder. + case 305: { action.builder. consumePlaceHolder(); break; } // - // Rule 303: typename_opt ::= $Empty + // Rule 306: typename_opt ::= $Empty // - case 303: { action.builder. + case 306: { action.builder. consumeEmpty(); break; } // - // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 307: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 304: { action.builder. + case 307: { action.builder. consumeUsingDirective(); break; } // - // Rule 305: asm_definition ::= asm ( stringlit ) ; + // Rule 308: asm_definition ::= asm ( stringlit ) ; // - case 305: { action.builder. + case 308: { action.builder. consumeDeclarationASM(); break; } // - // Rule 306: linkage_specification ::= extern stringlit { declaration_seq_opt } + // Rule 309: linkage_specification ::= extern stringlit { declaration_seq_opt } // - case 306: { action.builder. + case 309: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 307: linkage_specification ::= extern stringlit declaration + // Rule 310: linkage_specification ::= extern stringlit declaration // - case 307: { action.builder. + case 310: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 312: init_declarator_complete ::= init_declarator + // Rule 315: init_declarator_complete ::= init_declarator // - case 312: { action.builder. + case 315: { action.builder. consumeInitDeclaratorComplete(); break; } // - // Rule 314: init_declarator ::= declarator initializer + // Rule 317: init_declarator ::= declarator initializer // - case 314: { action.builder. + case 317: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 316: declarator ::= ptr_operator_seq direct_declarator + // Rule 319: declarator ::= ptr_operator_seq direct_declarator // - case 316: { action.builder. + case 319: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 318: function_declarator ::= ptr_operator_seq direct_declarator + // Rule 321: function_declarator ::= ptr_operator_seq direct_declarator // - case 318: { action.builder. + case 321: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 322: basic_direct_declarator ::= declarator_id_name + // Rule 325: basic_direct_declarator ::= declarator_id_name // - case 322: { action.builder. + case 325: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 323: basic_direct_declarator ::= ( declarator ) + // Rule 326: basic_direct_declarator ::= ( declarator ) // - case 323: { action.builder. + case 326: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 324: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 327: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 324: { action.builder. + case 327: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 328: array_direct_declarator ::= array_direct_declarator array_modifier // - case 325: { action.builder. + case 328: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 329: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 326: { action.builder. + case 329: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 327: array_modifier ::= [ constant_expression ] + // Rule 330: array_modifier ::= [ constant_expression ] // - case 327: { action.builder. + case 330: { action.builder. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 328: array_modifier ::= [ ] + // Rule 331: array_modifier ::= [ ] // - case 328: { action.builder. + case 331: { action.builder. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 329: ptr_operator ::= * cv_qualifier_seq_opt + // Rule 332: ptr_operator ::= * cv_qualifier_seq_opt // - case 329: { action.builder. + case 332: { action.builder. consumePointer(); break; } // - // Rule 330: ptr_operator ::= & + // Rule 333: ptr_operator ::= & // - case 330: { action.builder. + case 333: { action.builder. consumeReferenceOperator(); break; } // - // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt + // Rule 334: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt // - case 331: { action.builder. + case 334: { action.builder. consumePointerToMember(); break; } // - // Rule 337: cv_qualifier ::= const - // - case 337: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 338: cv_qualifier ::= volatile - // - case 338: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 340: declarator_id_name ::= nested_name_specifier template_opt unqualified_id_name + // Rule 340: cv_qualifier ::= const // case 340: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 341: cv_qualifier ::= volatile + // + case 341: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 343: declarator_id_name ::= nested_name_specifier template_opt unqualified_id_name + // + case 343: { action.builder. consumeQualifiedId(true); break; } // - // Rule 341: type_id ::= type_specifier_seq + // Rule 344: type_id ::= type_specifier_seq // - case 341: { action.builder. + case 344: { action.builder. consumeTypeId(false); break; } // - // Rule 342: type_id ::= type_specifier_seq abstract_declarator + // Rule 345: type_id ::= type_specifier_seq abstract_declarator // - case 342: { action.builder. + case 345: { action.builder. consumeTypeId(true); break; } // - // Rule 345: abstract_declarator ::= ptr_operator_seq + // Rule 348: abstract_declarator ::= ptr_operator_seq // - case 345: { action.builder. + case 348: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 346: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator + // Rule 349: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator // - case 346: { action.builder. + case 349: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 353: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 350: { action.builder. + case 353: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_modifier + // Rule 354: array_direct_abstract_declarator ::= array_modifier // - case 351: { action.builder. + case 354: { action.builder. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 352: { action.builder. + case 355: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 353: { action.builder. + case 356: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 357: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 354: { action.builder. + case 357: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 355: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 358: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 355: { action.builder. + case 358: { action.builder. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 356: { action.builder. + case 359: { action.builder. consumePlaceHolder(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 357: { action.builder. + case 360: { action.builder. consumeEmpty(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 358: { action.builder. + case 361: { action.builder. consumePlaceHolder(); break; } // - // Rule 364: abstract_declarator_opt ::= $Empty + // Rule 367: abstract_declarator_opt ::= $Empty // - case 364: { action.builder. + case 367: { action.builder. consumeEmpty(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 365: { action.builder. + case 368: { action.builder. consumeParameterDeclaration(); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers + // Rule 369: parameter_declaration ::= declaration_specifiers // - case 366: { action.builder. + case 369: { action.builder. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer - // - case 368: { action.builder. - consumeDeclaratorWithInitializer(true); break; - } - - // - // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 370: { action.builder. - consumeDeclaratorWithInitializer(true); break; - } - - // - // Rule 371: parameter_init_declarator ::= = parameter_initializer + // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer // case 371: { action.builder. + consumeDeclaratorWithInitializer(true); break; + } + + // + // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // + case 373: { action.builder. + consumeDeclaratorWithInitializer(true); break; + } + + // + // Rule 374: parameter_init_declarator ::= = parameter_initializer + // + case 374: { action.builder. consumeDeclaratorWithInitializer(false); break; } // - // Rule 372: parameter_initializer ::= assignment_expression + // Rule 375: parameter_initializer ::= assignment_expression // - case 372: { action.builder. + case 375: { action.builder. consumeInitializer(); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body // - case 373: { action.builder. + case 376: { action.builder. consumeFunctionDefinition(false); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq // - case 374: { action.builder. + case 377: { action.builder. consumeFunctionDefinition(true); break; } // - // Rule 377: initializer ::= ( expression_list ) + // Rule 380: initializer ::= ( expression_list ) // - case 377: { action.builder. + case 380: { action.builder. consumeInitializerConstructor(); break; } // - // Rule 378: initializer_clause ::= assignment_expression + // Rule 381: initializer_clause ::= assignment_expression // - case 378: { action.builder. + case 381: { action.builder. consumeInitializer(); break; } // - // Rule 379: initializer_clause ::= { initializer_list , } + // Rule 382: initializer_clause ::= { initializer_list , } // - case 379: { action.builder. + case 382: { action.builder. consumeInitializerList(); break; } // - // Rule 380: initializer_clause ::= { initializer_list } + // Rule 383: initializer_clause ::= { initializer_list } // - case 380: { action.builder. + case 383: { action.builder. consumeInitializerList(); break; } // - // Rule 381: initializer_clause ::= { } + // Rule 384: initializer_clause ::= { } // - case 381: { action.builder. + case 384: { action.builder. consumeInitializerList(); break; } // - // Rule 386: class_specifier ::= class_head { member_declaration_list_opt } + // Rule 389: class_specifier ::= class_head { member_declaration_list_opt } // - case 386: { action.builder. + case 389: { action.builder. consumeClassSpecifier(); break; } // - // Rule 387: class_head ::= class_keyword identifier_name_opt base_clause_opt - // - case 387: { action.builder. - consumeClassHead(false); break; - } - - // - // Rule 388: class_head ::= class_keyword template_id_name base_clause_opt - // - case 388: { action.builder. - consumeClassHead(false); break; - } - - // - // Rule 389: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt - // - case 389: { action.builder. - consumeClassHead(true); break; - } - - // - // Rule 390: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt + // Rule 390: class_head ::= class_keyword identifier_name_opt base_clause_opt // case 390: { action.builder. + consumeClassHead(false); break; + } + + // + // Rule 391: class_head ::= class_keyword template_id_name base_clause_opt + // + case 391: { action.builder. + consumeClassHead(false); break; + } + + // + // Rule 392: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt + // + case 392: { action.builder. consumeClassHead(true); break; } // - // Rule 392: identifier_name_opt ::= $Empty + // Rule 393: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt // - case 392: { action.builder. + case 393: { action.builder. + consumeClassHead(true); break; + } + + // + // Rule 395: identifier_name_opt ::= $Empty + // + case 395: { action.builder. consumeEmpty(); break; } // - // Rule 396: visibility_label ::= access_specifier_keyword : + // Rule 399: visibility_label ::= access_specifier_keyword : // - case 396: { action.builder. + case 399: { action.builder. consumeVisibilityLabel(); break; } // - // Rule 397: member_declaration ::= declaration_specifiers_opt member_declarator_list ; + // Rule 400: member_declaration ::= declaration_specifiers_opt member_declarator_list ; // - case 397: { action.builder. + case 400: { action.builder. consumeDeclarationSimple(true, true); break; } // - // Rule 398: member_declaration ::= declaration_specifiers_opt ; + // Rule 401: member_declaration ::= declaration_specifiers_opt ; // - case 398: { action.builder. + case 401: { action.builder. consumeDeclarationSimple(false, false); break; } // - // Rule 401: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 404: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 401: { action.builder. + case 404: { action.builder. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 405: member_declaration ::= ERROR_TOKEN + // Rule 408: member_declaration ::= ERROR_TOKEN // - case 405: { action.builder. + case 408: { action.builder. consumeDeclarationProblem(); break; } // - // Rule 413: member_declarator ::= declarator constant_initializer + // Rule 416: member_declarator ::= declarator constant_initializer // - case 413: { action.builder. + case 416: { action.builder. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 414: member_declarator ::= bit_field_declarator : constant_expression + // Rule 417: member_declarator ::= bit_field_declarator : constant_expression // - case 414: { action.builder. + case 417: { action.builder. consumeBitField(true); break; } // - // Rule 415: member_declarator ::= : constant_expression + // Rule 418: member_declarator ::= : constant_expression // - case 415: { action.builder. + case 418: { action.builder. consumeBitField(false); break; } // - // Rule 416: bit_field_declarator ::= identifier_name + // Rule 419: bit_field_declarator ::= identifier_name // - case 416: { action.builder. + case 419: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 417: constant_initializer ::= = constant_expression + // Rule 420: constant_initializer ::= = constant_expression // - case 417: { action.builder. + case 420: { action.builder. consumeInitializer(); break; } // - // Rule 423: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 426: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 423: { action.builder. + case 426: { action.builder. consumeBaseSpecifier(false, false); break; } // - // Rule 424: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 427: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 424: { action.builder. + case 427: { action.builder. consumeBaseSpecifier(true, true); break; } // - // Rule 425: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 428: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 425: { action.builder. + case 428: { action.builder. consumeBaseSpecifier(true, true); break; } // - // Rule 426: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 429: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 426: { action.builder. + case 429: { action.builder. consumeBaseSpecifier(true, false); break; } // - // Rule 427: access_specifier_keyword ::= private + // Rule 430: access_specifier_keyword ::= private // - case 427: { action.builder. + case 430: { action.builder. consumeAccessKeywordToken(); break; } // - // Rule 428: access_specifier_keyword ::= protected - // - case 428: { action.builder. - consumeAccessKeywordToken(); break; - } - - // - // Rule 429: access_specifier_keyword ::= public - // - case 429: { action.builder. - consumeAccessKeywordToken(); break; - } - - // - // Rule 431: access_specifier_keyword_opt ::= $Empty + // Rule 431: access_specifier_keyword ::= protected // case 431: { action.builder. + consumeAccessKeywordToken(); break; + } + + // + // Rule 432: access_specifier_keyword ::= public + // + case 432: { action.builder. + consumeAccessKeywordToken(); break; + } + + // + // Rule 434: access_specifier_keyword_opt ::= $Empty + // + case 434: { action.builder. consumeEmpty(); break; } // - // Rule 432: conversion_function_id_name ::= operator conversion_type_id + // Rule 435: conversion_function_id_name ::= operator conversion_type_id // - case 432: { action.builder. + case 435: { action.builder. consumeConversionName(); break; } // - // Rule 433: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 436: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 433: { action.builder. + case 436: { action.builder. consumeTypeId(true); break; } // - // Rule 434: conversion_type_id ::= type_specifier_seq + // Rule 437: conversion_type_id ::= type_specifier_seq // - case 434: { action.builder. + case 437: { action.builder. consumeTypeId(false); break; } // - // Rule 435: conversion_declarator ::= ptr_operator_seq + // Rule 438: conversion_declarator ::= ptr_operator_seq // - case 435: { action.builder. + case 438: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 441: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 444: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 441: { action.builder. + case 444: { action.builder. consumeConstructorChainInitializer(); break; } // - // Rule 442: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 445: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 442: { action.builder. + case 445: { action.builder. consumeQualifiedId(false); break; } // - // Rule 445: operator_function_id_name ::= operator_id_name < template_argument_list_opt > + // Rule 448: operator_function_id_name ::= operator_id_name < template_argument_list_opt > // - case 445: { action.builder. + case 448: { action.builder. consumeTemplateId(); break; } // - // Rule 446: operator_id_name ::= operator overloadable_operator + // Rule 449: operator_id_name ::= operator overloadable_operator // - case 446: { action.builder. + case 449: { action.builder. consumeOperatorName(); break; } // - // Rule 489: template_declaration ::= export_opt template < template_parameter_list > declaration + // Rule 492: template_declaration ::= export_opt template < template_parameter_list > declaration // - case 489: { action.builder. + case 492: { action.builder. consumeTemplateDeclaration(); break; } // - // Rule 490: export_opt ::= export + // Rule 493: export_opt ::= export // - case 490: { action.builder. + case 493: { action.builder. consumePlaceHolder(); break; } // - // Rule 491: export_opt ::= $Empty + // Rule 494: export_opt ::= $Empty // - case 491: { action.builder. + case 494: { action.builder. consumeEmpty(); break; } // - // Rule 495: template_parameter ::= parameter_declaration + // Rule 498: template_parameter ::= parameter_declaration // - case 495: { action.builder. + case 498: { action.builder. consumeTemplateParamterDeclaration(); break; } // - // Rule 496: type_parameter ::= class identifier_name_opt - // - case 496: { action.builder. - consumeSimpleTypeTemplateParameter(false); break; - } - - // - // Rule 497: type_parameter ::= class identifier_name_opt = type_id - // - case 497: { action.builder. - consumeSimpleTypeTemplateParameter(true); break; - } - - // - // Rule 498: type_parameter ::= typename identifier_name_opt - // - case 498: { action.builder. - consumeSimpleTypeTemplateParameter(false); break; - } - - // - // Rule 499: type_parameter ::= typename identifier_name_opt = type_id + // Rule 499: type_parameter ::= class identifier_name_opt // case 499: { action.builder. + consumeSimpleTypeTemplateParameter(false); break; + } + + // + // Rule 500: type_parameter ::= class identifier_name_opt = type_id + // + case 500: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 500: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // Rule 501: type_parameter ::= typename identifier_name_opt // - case 500: { action.builder. + case 501: { action.builder. + consumeSimpleTypeTemplateParameter(false); break; + } + + // + // Rule 502: type_parameter ::= typename identifier_name_opt = type_id + // + case 502: { action.builder. + consumeSimpleTypeTemplateParameter(true); break; + } + + // + // Rule 503: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // + case 503: { action.builder. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 501: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression + // Rule 504: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression // - case 501: { action.builder. + case 504: { action.builder. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 502: template_id_name ::= identifier_name < template_argument_list_opt > + // Rule 505: template_id_name ::= identifier_name < template_argument_list_opt > // - case 502: { action.builder. + case 505: { action.builder. consumeTemplateId(); break; } // - // Rule 510: explicit_instantiation ::= template declaration + // Rule 513: explicit_instantiation ::= template declaration // - case 510: { action.builder. + case 513: { action.builder. consumeTemplateExplicitInstantiation(); break; } // - // Rule 511: explicit_specialization ::= template < > declaration + // Rule 514: explicit_specialization ::= template < > declaration // - case 511: { action.builder. + case 514: { action.builder. consumeTemplateExplicitSpecialization(); break; } // - // Rule 512: try_block ::= try compound_statement handler_seq + // Rule 515: try_block ::= try compound_statement handler_seq // - case 512: { action.builder. + case 515: { action.builder. consumeStatementTryBlock(); break; } // - // Rule 515: handler ::= catch ( exception_declaration ) compound_statement + // Rule 518: handler ::= catch ( exception_declaration ) compound_statement // - case 515: { action.builder. + case 518: { action.builder. consumeStatementCatchHandler(false); break; } // - // Rule 516: handler ::= catch ( ... ) compound_statement + // Rule 519: handler ::= catch ( ... ) compound_statement // - case 516: { action.builder. + case 519: { action.builder. consumeStatementCatchHandler(true); break; } // - // Rule 517: exception_declaration ::= type_specifier_seq declarator + // Rule 520: exception_declaration ::= type_specifier_seq declarator // - case 517: { action.builder. + case 520: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 518: exception_declaration ::= type_specifier_seq abstract_declarator + // Rule 521: exception_declaration ::= type_specifier_seq abstract_declarator // - case 518: { action.builder. + case 521: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 519: exception_declaration ::= type_specifier_seq + // Rule 522: exception_declaration ::= type_specifier_seq // - case 519: { action.builder. + case 522: { action.builder. consumeDeclarationSimple(false, false); break; } // - // Rule 527: expression_parser_start ::= ERROR_TOKEN + // Rule 530: expression_parser_start ::= ERROR_TOKEN // - case 527: { action.builder. + case 530: { action.builder. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java index ad24e22176c..2031c22df73 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java @@ -56,438 +56,442 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 3,1,2,1,3,1,0,1,0,1, 1,0,1,1,1,1,1,1,1,1, 1,3,3,2,2,1,4,2,1,2, - 5,7,5,1,4,5,7,9,8,2, - 2,3,2,3,1,1,1,1,1,1, + 5,7,5,1,4,1,0,5,7,8, + 1,1,2,2,3,2,3,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,0,1,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,3, + 4,4,5,4,5,4,5,6,1,3, + 1,0,1,3,1,1,1,1,1,6, + 6,5,7,6,1,0,6,5,6,4, + 1,3,1,0,1,1,2,1,3,1, + 3,1,1,1,1,3,9,2,2,3, + 2,3,1,5,1,2,2,1,0,1, + 1,1,4,1,2,1,1,2,3,1, + 1,1,3,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,5,4,3,1,3,1,1,5,4, + 4,5,5,1,0,1,1,1,2,4, + 2,2,1,5,1,1,1,1,1,2, + 1,0,1,3,1,2,3,2,1,2, + 2,1,0,1,3,3,5,5,4,1, + 1,1,1,0,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, - 1,0,4,4,2,2,2,2,2,0, - 1,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,3,4,4,5, - 4,5,4,5,6,1,3,1,0,1, - 3,1,1,1,1,1,6,6,5,7, - 6,1,0,6,5,6,4,1,3,1, - 0,1,1,2,1,3,1,3,1,1, - 1,1,3,9,2,2,3,2,3,1, - 5,1,2,2,1,0,1,1,1,4, - 1,2,1,1,2,3,1,1,1,3, - 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,5,4, - 3,1,3,1,1,5,4,4,5,5, - 1,0,1,1,1,2,4,2,2,1, - 5,1,1,1,1,1,2,1,0,1, - 3,1,2,3,2,1,2,2,1,0, - 1,3,3,5,5,4,1,1,1,1, - 0,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,1,2, - 4,4,1,2,5,5,3,3,1,4, - 3,1,0,1,3,2,1,-62,0,0, - 0,-64,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-11, - 0,0,0,0,0,0,0,0,-2,0, - 0,0,0,0,-416,0,0,0,-321,0, - 0,0,-5,0,0,0,0,0,-149,0, - 0,0,-91,0,0,0,0,0,0,0, + 2,7,1,0,1,3,1,1,2,4, + 2,4,7,9,5,1,3,1,0,1, + 1,1,2,4,4,1,2,5,5,3, + 3,1,4,3,1,0,1,3,2,1, + -62,0,0,0,-2,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-405,0,0,0,0,-74, - 0,0,0,0,0,0,0,-242,-6,-50, - 0,0,0,0,0,0,0,0,-3,0, - 0,-49,-123,0,0,0,0,0,-52,0, - -7,-146,0,0,0,0,0,0,-65,-148, + 0,0,-52,0,0,0,0,0,0,-128, + 0,0,-11,0,0,0,0,0,-5,0, + 0,-321,0,0,0,-53,0,0,0,0, + 0,-149,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,-226,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,-230,0,0,0,0,0, + -48,-6,0,0,0,0,0,0,0,0, + 0,-59,0,0,-123,0,-49,0,-56,0, + 0,-146,0,-7,0,0,0,0,0,0, + -65,-148,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-226, + 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,-182,0, + -290,0,0,0,0,0,0,0,-8,0, + -16,0,0,0,0,0,0,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,-126, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-177,0,0,0,-129,-86, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-375,0,0,0,0,-224,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-142,0,0,-340,0, + 0,0,0,0,0,0,0,0,0,0, + -186,0,0,0,-237,0,0,0,0,0, + -512,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-153,0,0,0,0,0,0,-366, + 0,0,-199,0,0,0,0,0,-135,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,0,0,0,0,0, + -520,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-294, + 0,0,0,0,0,0,0,-136,-9,0, + 0,-178,0,0,-243,0,0,-232,-10,-305, + 0,0,0,0,0,0,0,0,0,-4, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-8,0,0,0,0,0,0,-177,0, - 0,0,-128,0,0,0,0,0,-130,0, + 0,0,0,-50,0,0,0,0,0,0, + -350,0,-259,0,0,0,0,-12,0,0, + 0,0,-244,0,0,0,-13,-3,0,-281, + -278,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-246, + 0,0,-15,0,0,0,0,0,0,0, + 0,0,-28,-315,0,0,0,-333,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-9,0,0,0,0, - 0,0,-455,0,0,0,0,0,0,-129, - -135,0,0,0,-178,0,0,-82,0,0, + 0,0,-309,0,0,-29,0,0,0,0, + 0,0,0,0,-57,-316,0,0,0,-328, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-324,0,0, + 0,0,0,0,0,0,0,0,0,-30, + 0,0,-327,0,0,0,-313,0,-475,0, + 0,0,-31,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-224,0,0,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,0,0,0,0,0,0,0, - 0,0,0,-56,0,0,0,0,0,-16, - 0,0,0,-262,-10,0,0,0,0,-515, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-205,0,0,0,0,-290,0,0,0, - 0,0,0,0,0,0,0,-340,0,0, - -525,0,0,0,-12,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-113,0,0, - 0,-350,0,0,0,0,0,0,-335,0, - 0,-4,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-333,0, - 0,0,-230,0,0,0,0,0,-126,0, - 0,0,-48,0,0,-13,0,-278,0,0, - 0,0,0,0,0,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,0,0,-186,0, - 0,0,-315,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-140,0,0,0,0,0, - 0,0,0,-246,0,0,0,0,0,0, - -324,0,0,-237,0,0,0,0,0,0, - 0,-57,0,0,-316,0,0,0,-216,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-300,0,0,0, - 0,0,0,0,0,-15,0,0,-28,0, - 0,0,-136,0,0,-476,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-281,0,0, - 0,0,0,0,0,0,0,0,0,-29, - 0,0,-313,0,0,0,-39,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-30,0,0,0,0,0,0, - 0,0,0,-353,0,0,0,0,0,-41, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-247,0,0,0,0,0,0,0,0, - 0,0,0,-435,0,0,-142,0,0,0, - 0,-94,0,0,0,-265,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-318,0,0,0,0,-366,0, - 0,0,0,0,0,0,0,0,-31,-383, - 0,0,-95,0,0,0,-401,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-32,0,0,0,0,-450, - 0,0,0,0,0,0,-184,0,0,-59, - 0,0,0,-96,0,0,0,0,0,0, + -32,0,0,0,0,0,0,-64,0,0, + 0,0,0,0,0,0,0,0,0,-205, + -39,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,-33,0,0,0,0,0, - -34,-282,0,0,-97,0,0,0,-35,0, + 0,-41,0,0,0,-265,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-36,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-37,0,0,0,-98,0,0,0,0, + 0,0,0,0,0,0,0,0,-34,0, + 0,0,0,-94,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-216,0,0,0,0, + 0,0,-35,0,0,-140,0,-144,0,0, + 0,0,0,0,-95,0,0,0,-36,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-37,0,0,0,0,-474,0, + 0,-38,0,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,-302,0,-40, + 0,0,0,-60,0,0,-97,0,0,0, + -435,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-300,0, + 0,0,0,0,0,0,0,0,-308,0, + -352,0,0,0,-107,0,0,-98,0,0, + 0,-495,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-318, + 0,0,0,0,0,0,0,0,0,-343, + 0,-54,0,0,0,-108,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,0,0,0,0,0,0,0,0, - 0,0,-60,-38,0,0,-99,0,0,0, - -40,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-54,0, - 0,0,0,0,0,0,0,-421,0,0, - -185,0,0,-107,0,0,0,-100,0,0, + -344,0,0,0,0,0,-114,0,0,-100, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, 0,-55,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-58, - 0,0,0,0,0,0,0,0,-506,0, - 0,-187,0,0,-108,0,0,0,-101,0, + 0,-58,0,0,0,0,-401,-147,0,0, + -101,0,0,0,-66,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,-433,0,-69,0,0,0,-152,0, + 0,-102,0,0,0,-282,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-70,0,0,0,0,0,0, + 0,0,0,-461,0,-109,0,0,0,-356, + 0,0,-103,0,0,0,-405,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-110,0,0,0,0,0, + 0,0,0,0,-111,0,-184,0,0,-112, + 0,0,0,-104,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, - -66,0,0,0,0,0,0,0,0,-507, - 0,0,-189,0,0,-67,0,0,0,-102, + 0,0,-137,0,0,-138,0,-185,0,0, + -139,0,0,0,-133,0,0,0,-383,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-154,0,0,0, + 0,0,0,-450,0,0,-155,0,0,0, + 0,-156,-217,0,0,0,-157,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-158,0,0,0,0,0, + 0,0,0,0,0,0,-159,0,0,0, + 0,0,0,-250,0,0,0,-345,0,0, + 0,-160,-507,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-161,0,0,0,0,0, + 0,0,0,0,-162,0,-163,0,0,-260, + 0,0,0,-312,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-69,0,0,0,0,-209,0,0,0, - 0,0,0,-192,0,0,-114,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,-70,0,0,0,0,0,0,0, - 0,-109,0,0,-203,0,0,-147,0,0, - 0,-104,0,0,0,-110,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-111,0,0,0,0,0,0, - 0,0,-112,0,0,-153,0,0,-199,-294, - 0,0,-133,0,0,0,-119,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-260,0,0,0,0,-259, - 0,0,0,-137,0,0,-144,0,0,-138, - 0,-217,0,0,0,-373,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,0,0,0,0, - 0,0,0,-212,0,0,0,0,0,-328, - -509,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-262,0,-201,0,0, + -326,0,0,0,-164,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-154,0,0,0,0,0,0,0,0, - 0,-312,0,0,0,-410,0,0,0,0, + 0,0,0,0,-209,0,0,-165,0,-71, + 0,0,0,-335,0,0,0,0,0,0, + 0,-338,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-155,0,0,0,0,-208,0, - 0,0,0,0,0,-156,0,0,-326,0, + 0,0,0,-166,0,0,0,0,0,0, + 0,0,0,-353,0,-210,0,0,-361,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -273,0,0,0,0,-232,0,0,0,-157, - 0,0,0,0,0,-71,0,0,0,-158, - 0,0,0,0,0,0,0,-420,0,-338, + -273,0,0,0,0,0,0,0,0,0, + 0,0,-187,0,0,-167,0,-72,0,0, + 0,-373,0,0,0,0,0,0,0,-362, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-159,0,0,0,0,-228,0,0,0, - 0,0,0,0,0,0,-361,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-311,0, - 0,0,0,-229,0,0,0,0,0,0, - -160,0,0,-72,0,0,0,-161,0,0, - 0,0,0,0,0,0,0,-362,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-302, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-408,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-162,0,0,0, - 0,-233,0,0,0,0,0,0,-163,0, - 0,-517,0,0,0,-164,0,0,0,0, - 0,0,0,-165,0,-106,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-308,0,0, - 0,0,0,0,0,0,0,0,0,-235, - 0,0,-93,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-166,0,0,0,0,-258, - 0,0,0,0,0,-92,0,0,0,-327, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-343,0,0, - 0,0,0,0,0,-88,0,0,0,-167, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-344,0,0, - 0,0,0,0,-89,0,0,0,-168,0, + 0,-410,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-408,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-90,0,0,0,-169,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-170,0,0,0,0,-51,0, - 0,0,-152,0,-171,-172,-83,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-173,0, - 0,0,0,0,-201,-84,0,0,0,-174, + 0,0,0,0,0,0,0,0,-168,0, + -169,0,0,-514,0,0,0,-238,0,0, + 0,0,0,0,0,-170,0,-106,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,-418,0,0,0, + 0,-235,0,0,-91,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-175,0,0,0,0,-195,0, - 0,0,-176,-418,-151,0,0,0,0,0, - 0,0,0,0,0,0,-244,0,0,0, - -371,0,0,0,0,0,0,0,-116,-484, - 0,0,0,0,0,-359,0,0,0,0, - 0,0,0,0,0,-231,0,0,-179,0, - 0,0,0,0,0,-85,0,0,0,-180, + 0,0,0,0,0,0,-171,0,0,0, + 0,0,0,0,0,-88,0,0,0,-172, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-390,0,0, - 0,0,0,-358,0,0,-181,0,0,-190, - -202,0,0,0,0,0,0,0,0,0, - -121,0,0,0,0,0,-400,0,0,0, - -356,0,0,-14,0,0,-406,0,0,-479, + 0,0,0,0,0,0,0,-173,0,0, + 0,0,0,-89,0,0,0,-174,0,0, 0,0,0,0,0,0,0,0,0,0, - -191,-196,0,-299,0,0,-347,-419,0,-197, + 0,0,0,0,0,-175,0,0,0,0, + -90,0,0,0,-357,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-458,0,-200,0,0, - 0,0,0,0,0,0,0,0,-391,0, - 0,0,-277,0,0,-211,0,0,0,0, - 0,0,0,-214,0,0,0,0,0,0, - 0,0,0,0,0,-222,0,0,0,0, - 0,0,0,0,0,0,0,-474,-320,0, - -223,0,0,0,-234,0,-236,0,0,-352, - 0,-498,0,-250,0,0,0,0,-225,0, + 0,0,-176,0,0,0,0,-51,0,0, + 0,-245,0,-416,0,-82,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-239,-241, + 0,0,0,0,0,0,0,-419,0,0, + 0,0,0,0,-83,0,0,0,-179,0, 0,0,0,0,0,0,0,0,0,0, - 0,-267,0,0,-249,0,0,-127,0,0, - 0,0,0,-481,0,-263,-433,0,-264,0, - 0,0,-210,0,0,0,0,0,0,0, - 0,0,0,0,-274,0,0,0,0,0, - -61,0,-238,-275,0,0,0,0,0,0, - -279,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-482,0,0,0,0, - 0,0,0,0,0,-280,-245,-182,0,-118, - 0,-464,0,-291,-289,0,-43,0,0,-501, 0,0,0,0,0,0,0,0,0,0, - -461,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-145, - 0,0,0,-497,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-105,0,0, - -295,0,0,0,0,0,0,0,0,0, - 0,0,0,-329,0,0,0,0,0,0, - 0,0,0,-445,0,-268,0,0,0,0, - 0,-86,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,-502,0,0,-87,0,0,0, + 0,0,-180,0,0,0,0,-121,0,0, + 0,-181,0,-151,0,0,0,0,0,0, + 0,0,0,0,0,-190,-73,-400,0,0, + 0,0,0,0,0,0,-191,-145,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-296,0, - 0,-240,0,0,0,0,-357,0,0,0, - 0,-78,0,0,0,0,0,0,0,0, + -196,-195,0,0,0,0,-268,0,0,0, + 0,0,0,-84,0,0,0,-269,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-303,0,-252,0,0,-414,-372, - 0,0,0,-348,0,0,0,0,-301,0, - 0,0,0,0,-306,0,0,0,0,0, - 0,0,0,0,-1,0,0,0,0,-307, - -345,0,0,0,-253,0,0,0,-323,-272, - 0,-337,0,0,0,0,0,0,0,0, - -339,0,-369,0,0,0,0,0,-251,0, + 0,0,0,0,0,0,0,0,0,-85, + 0,0,0,-197,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-390,0,0,0,0,0,-200,-113,-334, + 0,0,0,0,0,0,0,0,0,-329, + 0,0,0,0,-211,0,0,0,0,-189, + 0,-192,-202,0,-214,0,0,0,0,0, + -118,0,-483,0,0,0,0,0,0,0, + 0,0,0,-299,0,-222,0,0,-406,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-223,-348,0,0,0,0,0,0,0, + 0,0,-501,0,0,0,0,-458,-225,0, + -445,0,0,0,0,0,0,0,0,0, + -203,-239,0,-116,0,-472,0,-421,0,0, + -208,0,0,0,0,-248,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-473, + -311,0,0,0,-363,0,0,0,-125,0, + 0,0,0,0,0,-420,0,0,0,-43, + 0,0,-241,0,0,0,0,0,0,0, + 0,0,0,0,-127,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-379,0,0,0,-141,0, + 0,0,0,0,0,-480,0,0,0,0, + 0,-249,0,-263,-478,0,0,0,0,0, + 0,0,0,0,0,0,-264,0,0,-228, + 0,-455,0,0,0,0,0,0,-286,0, + 0,-446,0,0,0,0,0,-274,0,0, + 0,0,0,0,0,0,0,-481,0,0, + 0,0,0,0,0,0,0,-231,0,0, + 0,-229,0,0,-374,0,0,0,0,0, + -212,0,0,0,0,0,0,0,0,0, + 0,0,-18,0,0,0,-380,0,0,0, + -275,0,0,0,0,0,0,0,0,0, + 0,-233,-258,-320,0,0,0,0,0,-279, + -280,0,0,-252,0,-291,0,-295,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-240,0,0,0,0,-296, + 0,0,0,0,-454,0,-150,0,0,0, + -504,0,0,-87,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-414,0,0,-1,0, + 0,0,0,-371,0,0,0,0,0,0, + 0,0,-301,0,0,0,0,0,0,-253, + 0,-277,-254,0,0,0,0,0,0,0, + 0,0,0,0,-255,-306,0,0,-307,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-270,0,0,0,-247,0,-289,-323, + -132,0,0,0,-496,0,0,0,0,0, 0,0,0,0,-427,0,0,0,0,0, - 0,0,0,0,-79,0,0,0,-446,0, + 0,0,0,0,-78,0,0,0,-499,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-73,-439,0,-317, - 0,0,-309,0,-370,-398,0,0,0,0, - 0,0,0,0,0,0,0,-376,0,0, - 0,0,0,0,0,0,0,0,-378,-522, - -355,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-337,0,-339,-61, + 0,-439,0,0,0,0,-266,0,0,0, + 0,-369,0,0,0,0,0,0,0,0, + 0,0,0,0,-370,0,0,-303,-74,-376, + 0,0,0,0,-392,0,0,0,0,0, + 0,0,-378,0,0,0,0,0,0,0, + 0,0,0,-120,0,-381,0,0,0,0, + -488,0,0,0,0,0,0,-287,0,0, + -297,-117,-314,0,0,0,0,0,0,0, + -500,0,0,0,0,0,-317,-234,0,0, + 0,-285,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -248,-489,0,-293,0,0,-254,0,0,-120, - -394,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-381,-387,0,0,0,-243, - 0,0,0,0,-388,0,0,0,0,0, - -491,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-18,0, - 0,0,0,0,0,0,-374,0,0,0, - 0,0,0,0,0,0,0,0,0,-496, - -396,0,-454,0,0,0,0,0,0,0, - 0,0,0,0,-399,0,0,0,0,0, - 0,0,-47,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-518,0, - -407,0,0,0,0,0,0,0,0,0, - 0,0,0,-417,0,0,0,0,-322,0, - 0,-255,0,0,0,0,-409,0,0,0, - 0,0,0,0,0,0,0,-523,-411,-412, + 0,0,0,-122,0,-298,-387,-490,0,-505, + -124,0,-358,0,0,-322,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-269,-141,0,0,0,0, - -183,0,0,0,0,-413,0,0,0,0, - 0,0,0,0,0,0,-526,0,-415,-469, + 0,0,0,0,-134,0,0,0,0,-477, + -491,-236,0,0,0,0,-319,0,0,0, + 0,0,0,0,0,0,0,0,0,-330, + 0,0,0,0,-494,0,-442,0,0,0, + 0,0,-272,0,-351,0,0,0,0,0, + 0,0,0,0,0,0,0,-388,0,-396, + 0,0,0,0,-367,0,0,0,0,0, + 0,0,0,0,0,0,0,-399,0,0, + 0,0,0,0,0,0,-502,-215,0,0, + 0,-515,0,0,0,0,0,0,0,0, + 0,-407,0,-409,0,0,0,0,0,0, + 0,0,0,0,-422,-423,-188,0,0,0, + 0,0,-457,0,-355,0,0,0,0,0, + 0,0,0,0,-411,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-519,0, + 0,-354,0,-510,0,0,-332,0,0,0, + 0,0,-412,0,0,0,0,0,0,0, + 0,-346,-413,0,-415,0,0,0,-251,0, + 0,0,-426,-465,-428,0,0,0,0,0, + 0,-513,0,0,0,0,0,0,0,0, + 0,-284,0,0,0,0,0,0,0,0, + 0,0,0,-368,-293,0,0,0,-430,0, + 0,0,0,0,0,0,0,-431,0,-304, + 0,0,0,0,0,0,0,0,0,-384, + -382,-386,0,0,0,0,-391,0,0,-432, + -468,0,-517,0,0,-389,0,0,0,0, + -385,0,0,0,0,-424,-434,0,0,0, + 0,-256,0,-436,-437,0,-425,0,0,0, + 0,0,0,0,0,0,0,-438,0,0, + 0,0,-518,0,0,0,0,0,0,-105, + 0,-467,0,0,0,0,0,0,0,0, + 0,0,-397,-443,-242,-447,0,0,0,0, + -271,0,0,0,-341,0,-456,0,0,0, + 0,0,-471,0,0,-463,0,0,-485,0, + 0,0,0,0,0,0,0,-17,-429,0, + -448,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-451,0,0, + 0,0,-276,0,0,0,0,0,-470,0, + -372,0,0,0,-44,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-489, + 0,-193,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-453, + 0,0,0,0,0,-503,0,0,-288,0, + 0,0,0,-508,0,0,-452,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -426,-468,0,-122,0,0,0,0,0,-287, - 0,0,0,0,-428,0,0,0,0,0, - 0,0,0,0,0,0,0,-430,0,-431, - 0,0,0,0,0,0,0,0,-432,0, - 0,0,-284,0,0,0,0,-198,0,0, - 0,0,0,-434,0,0,0,0,0,0, - 0,0,0,-304,0,0,0,0,0,0, - 0,0,0,-44,0,0,-297,0,-363,0, - 0,0,-475,-385,-218,-330,0,0,0,0, - 0,0,0,-332,0,0,-436,0,0,0, - 0,0,0,0,0,0,-346,0,0,0, - 0,0,0,0,-473,0,0,0,0,0, - 0,0,0,-298,0,0,0,0,0,0, + 0,0,0,0,-310,0,0,0,-459,-486, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-368,-437,-319,0,0, - 0,-397,-438,0,0,0,-271,0,0,0, - -443,0,0,0,0,0,0,0,0,0, - -503,0,0,0,-20,0,0,0,0,0, + 0,-479,-460,0,-198,0,0,-257,-469,0, + 0,0,0,0,0,0,0,-336,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-487,-417,-498, + 0,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,-497, + 0,0,0,-440,-42,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-511,-484, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-451,-132,-447,-382,0,-117,0, - 0,-456,-215,0,0,0,0,-463,0,-285, - 0,0,0,-45,0,0,0,0,-478,0, - 0,0,0,0,0,0,0,0,-150,0, - 0,0,0,-351,-367,0,0,0,0,0, - 0,0,0,0,0,-453,-354,-124,0,0, - 0,-276,0,0,0,0,0,0,0,0, - 0,-492,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -188,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-480,0,0, - -134,0,0,-386,0,-471,0,0,-422,0, - 0,-490,0,-270,0,0,-389,-505,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-510,-504,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-508, - 0,0,0,0,-423,0,0,0,0,-219, - 0,-512,0,0,0,-17,0,-424,-425,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, - -429,0,0,0,0,0,0,0,0,-513, - 0,0,0,0,0,0,0,0,0,0, - 0,-21,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-80,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-81, + 0,0,0,-516,0,0,0,0,0,0, + 0,0,0,-79,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-22,0,0,0,0,0,0,0,0, + -80,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-23,0,0,0,0,0,0,0, + 0,0,-81,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-24,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,-25,0,0,0,0,0, + 0,0,0,0,0,-21,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-26,0,0,0,0, + 0,0,0,0,0,0,-22,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-27,0,0,0, + 0,0,0,0,0,0,0,-23,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,0,-24,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,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,-76, + 0,0,0,0,0,0,0,0,0,-25, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -131,0,0,0,0,0,0,0,0,0, + -26,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-206,0,0,0,0,0,0,0,0, + 0,-27,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-494,0,0,0,0,-457,0,0, - 0,0,-19,0,0,0,-314,0,0,0, + 0,0,-63,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-125,0,0,0,0,0,0,-516, - -334,0,0,0,0,0,0,0,0,0, - -379,0,0,0,0,-485,0,0,0,0, - 0,-448,0,0,0,0,0,-452,-402,-465, - -459,0,0,-46,0,0,0,0,0,-477, - 0,0,0,0,0,0,0,0,0,-460, - 0,0,0,0,0,0,0,0,0,-467, - 0,0,0,-472,-305,0,0,0,0,0, - 0,0,0,0,0,0,0,-521,-470,0, - 0,0,0,0,0,-220,0,0,0,0, + 0,0,0,-75,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-380,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,-131,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-206,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-492,0,0, + 0,0,0,0,0,0,0,-19,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-359,0,0, + 0,0,0,0,0,0,0,0,-476,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,-360,0,0, - 0,-349,0,0,0,0,0,0,0,0, - 0,-466,0,0,0,0,-486,0,0,0, - 0,0,0,-42,-341,0,0,0,-488,0, - 0,0,0,-266,0,0,0,0,0,0, - 0,0,0,0,-256,0,-395,0,0,0, - 0,0,-227,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-193, - 0,0,0,0,-500,0,0,0,0,0, - 0,0,-310,0,0,0,0,0,0,0, - 0,-331,0,0,0,0,-342,0,0,0, - -257,-221,0,0,0,0,0,0,0,0, - 0,0,-364,0,0,0,0,0,-365,0, - 0,0,-384,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -487,0,0,0,0,0,0,-377,0,0, - 0,0,0,0,0,-499,0,0,0,0, - 0,-462,0,0,0,0,0,-483,0,0, - 0,0,0,-514,0,0,0,0,0,-519, - -524,0,-194,0,0,0,0,-292,0,0, - -68,0,0,0,0,0,-286,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-493,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-204, - 0,0,0,0,-213,0,0,0,-261,0, - 0,0,0,0,-283,0,0,0,0,0, - 0,0,-143,0,-325,-440,0,0,0,0, - 0,-441,-442,0,0,0,0,0,0,-444, + 0,0,0,0,0,0,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,-207,0,0, - 0,0,-403,0,0,0,0,0,-392,0, - 0,0,0,-404,-449,0,0,0,0,0, - 0,-511,-336,0,0,0,-520,0,0,0, - 0,0,0,-393,-495,0,0,0,0,0, + 0,0,0,0,-227,0,0,0,0,0, + -331,0,0,0,0,0,-509,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-466,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-219,0,0,0,0,0,0, + 0,0,-342,0,0,0,0,0,0,0, + 0,0,-398,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -267,0,0,0,0,0,0,0,-402,0, + 0,0,0,0,0,0,0,-364,0,0, + 0,-395,0,-220,0,-68,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -365,0,0,0,0,0,0,0,0,-143, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-14,0,0,0,0, + 0,0,0,-377,0,0,0,-462,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-482,0,0,0,-47,0,0, + 0,0,-183,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-194,0,0, + 0,-347,0,0,0,0,-204,0,0,0, + -213,0,0,0,0,-261,0,0,0,-283, + 0,0,0,0,-45,0,0,0,0,0, + 0,0,-394,-441,0,0,0,0,0,0, + 0,-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,-46,-207, + 0,0,0,0,-403,0,0,0,0,0, + 0,0,-404,-464,0,0,0,0,0,-325, + 0,0,0,0,-449,-221,0,0,0,0, + 0,0,-292,0,0,0,0,0,0,0, + -393,0,0,0,0,0,0,0,0,-493, 0,0,0,0,0,0,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,7 +501,13 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,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; @@ -507,505 +517,515 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface BaseAction { public final static char baseAction[] = { - 169,4,52,77,77,31,31,63,63,37, - 37,189,189,190,190,191,191,1,1,14, + 168,4,52,70,70,32,32,63,63,37, + 37,191,191,192,192,193,193,1,1,14, 14,14,14,14,14,14,14,15,15,15, 13,10,10,8,8,8,8,8,8,2, 64,64,5,5,11,11,11,11,42,42, - 131,131,132,60,60,41,16,16,16,16, + 130,130,131,60,60,41,16,16,16,16, 16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,133,133,133,113, + 16,16,16,16,16,16,132,132,132,113, 113,17,17,17,17,17,17,17,17,17, - 17,17,17,17,18,18,170,170,171,171, - 172,136,136,137,137,134,134,138,135,135, + 17,17,17,17,18,18,169,169,170,170, + 171,135,135,136,136,133,133,137,134,134, 19,19,20,20,21,21,21,23,23,23, 23,24,24,24,25,25,25,26,26,26, - 26,26,28,28,28,29,29,30,30,32, - 32,33,33,35,35,36,36,40,40,39, + 26,26,27,27,27,28,28,30,30,31, + 31,33,33,35,35,36,36,40,40,39, 39,39,39,39,39,39,39,39,39,39, - 39,39,38,27,139,139,97,97,101,101, - 92,192,192,68,68,68,68,68,68,68, - 68,68,69,69,69,70,70,55,55,173, - 173,71,71,71,114,114,72,72,72,72, - 73,73,73,73,73,74,74,78,78,78, - 78,78,78,78,47,47,47,47,47,104, - 104,105,105,48,174,22,22,22,22,22, - 46,46,87,87,87,87,87,146,146,141, - 141,141,141,141,142,142,142,143,143,143, - 144,144,144,145,145,145,88,88,88,88, - 88,89,89,89,12,12,12,12,12,12, - 12,12,12,12,12,100,118,118,118,118, - 118,116,116,116,117,117,148,148,147,147, - 120,120,149,82,82,83,83,85,86,84, - 50,45,150,150,51,49,81,81,151,151, - 140,140,121,122,122,76,76,152,152,61, - 61,61,57,57,56,62,62,66,66,54, - 54,54,90,90,99,98,98,59,59,58, - 58,53,53,43,102,102,102,93,93,93, - 94,95,95,95,96,96,106,106,106,108, - 108,107,107,193,193,91,91,176,176,176, - 176,176,124,44,44,154,175,175,125,125, - 125,125,177,177,34,34,115,126,126,126, - 126,109,109,119,119,119,156,157,157,157, - 157,157,157,157,157,157,180,180,178,178, - 179,179,158,158,158,158,159,181,111,110, - 110,182,182,160,160,160,160,103,103,103, - 183,183,9,184,184,185,161,153,153,162, - 162,163,164,164,6,6,7,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,65, - 67,67,167,167,127,127,128,128,128,128, - 128,128,3,168,168,165,165,129,129,129, - 79,80,75,155,155,112,112,186,186,186, - 130,130,123,123,187,187,169,169,969,39, - 1769,1740,1360,3226,34,1116,31,35,30,32, - 1734,29,27,56,1119,112,82,83,114,1160, - 860,1289,1194,1365,1315,3153,1379,1371,1412,38, - 1397,1454,275,1461,149,418,2794,164,150,1328, - 39,986,36,1096,3231,34,1116,339,35,418, - 1602,2554,38,2359,39,986,36,234,3109,34, - 1116,31,35,30,32,905,29,27,56,1119, - 112,82,83,114,1160,1757,1289,1194,1365,1315, - 31,1379,1371,2229,942,237,232,233,1546,776, - 1489,4415,2279,333,2399,320,1372,322,276,2019, - 316,1148,31,1374,2501,351,675,162,4240,1203, - 2852,126,1428,244,247,250,253,2471,1696,390, - 1500,39,986,36,1707,4405,34,1116,31,35, - 65,32,346,1123,771,349,526,573,2233,3469, - 2710,3060,3264,3518,4023,1509,39,986,36,2279, - 3109,34,1116,31,35,2430,32,905,29,27, - 56,1119,112,82,83,114,1160,343,1289,1194, - 1365,1315,4423,1379,1371,1412,1784,1397,1454,359, - 1461,149,214,2750,507,150,488,513,2671,418, - 39,2554,2566,1203,3270,2619,2620,1730,508,1509, - 39,986,36,2279,3109,34,1116,31,35,2430, - 32,905,29,27,56,1119,112,82,83,114, - 1160,343,1289,1194,1365,1315,302,1379,1371,1412, - 1244,1397,1454,1117,1461,149,329,335,507,150, - 1203,1565,2671,48,2546,418,39,2581,2359,39, - 986,36,508,3109,34,1116,31,35,30,32, - 905,29,27,56,1119,112,82,83,114,1160, - 450,1289,1194,1942,503,433,1774,39,986,36, - 2279,3109,34,1116,31,35,2430,32,905,29, - 27,56,1119,112,82,83,114,1160,343,1289, - 1194,1365,1315,1921,1379,1371,1412,352,1397,1454, - 2419,1461,149,2457,31,507,150,449,729,2671, - 66,39,1520,47,2658,654,46,1116,503,508, - 1575,39,986,36,487,3109,34,1116,31,35, - 30,32,905,29,27,56,1119,112,82,83, - 114,1160,1568,1289,1194,1365,1315,2748,1379,1371, - 1412,399,1397,1454,2510,1461,149,2457,2754,378, - 150,1647,39,986,36,952,3109,34,1116,31, - 35,30,32,905,29,27,56,1119,112,82, - 83,114,1160,381,1289,1194,1365,1315,1234,1379, - 1371,1412,2748,1397,1454,504,1461,149,314,2599, - 378,150,1944,39,986,36,2750,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,114,1160,379,1289,1194,1365,1315,611, - 1379,1371,1412,425,1397,1454,397,1461,149,860, - 775,164,150,1075,4353,382,742,942,1944,39, - 986,36,719,3109,34,1116,31,35,30,32, - 905,29,27,56,1119,112,82,83,114,1160, - 166,1289,1194,1365,1315,2256,1379,1371,1412,2448, - 1397,1454,94,1461,149,108,383,372,150,418, - 39,1984,1947,1944,39,986,36,3030,3109,34, - 1116,31,35,30,32,905,29,27,56,1119, - 112,82,83,114,1160,860,1289,1194,1365,1315, - 4400,1379,1371,1412,2074,1397,1454,95,1461,149, - 108,2074,372,150,418,39,2554,278,188,413, - 1617,573,2105,387,419,1944,39,986,36,2455, - 3109,34,1116,31,35,30,32,905,29,27, - 56,1119,112,82,83,114,1160,390,1289,1194, - 1365,1315,371,1379,1371,1412,1006,1397,1454,1079, - 1461,149,2857,2106,372,150,1884,39,986,36, - 437,3109,34,1116,31,35,30,32,905,29, - 27,56,1119,112,82,83,114,1160,2701,1289, - 1194,1365,1315,2750,1379,1371,1412,370,1397,1454, - 2452,1461,149,418,2665,378,150,1709,39,986, - 36,2784,3109,34,1116,31,35,30,32,905, - 29,27,56,1119,112,82,83,114,1160,353, - 1289,1194,1365,1315,1981,1379,1371,1412,887,1397, - 1454,2714,1461,149,2019,932,148,150,2714,368, - 1944,39,986,36,325,3109,34,1116,31,35, - 30,32,905,29,27,56,1119,112,82,83, - 114,1160,1697,1289,1194,1365,1315,3231,1379,1371, - 1412,401,1397,1454,2816,1461,149,1203,446,165, - 150,376,1944,39,986,36,777,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,114,1160,390,1289,1194,1365,1315,1627, - 1379,1371,1412,287,1397,1454,3054,1461,149,1097, - 1627,161,150,1944,39,986,36,1190,3109,34, - 1116,31,35,30,32,905,29,27,56,1119, - 112,82,83,114,1160,1167,1289,1194,1365,1315, - 1627,1379,1371,1412,3972,1397,1454,31,1461,149, - 1921,668,160,150,1944,39,986,36,2894,3109, - 34,1116,31,35,30,32,905,29,27,56, - 1119,112,82,83,114,1160,514,1289,1194,1365, - 1315,3951,1379,1371,1412,154,1397,1454,100,1461, - 149,75,2697,159,150,1944,39,986,36,233, - 3109,34,1116,31,35,30,32,905,29,27, - 56,1119,112,82,83,114,1160,1052,1289,1194, - 1365,1315,355,1379,1371,1412,2030,1397,1454,522, - 1461,149,1080,354,158,150,1944,39,986,36, - 522,3109,34,1116,31,35,30,32,905,29, - 27,56,1119,112,82,83,114,1160,326,1289, - 1194,1365,1315,324,1379,1371,1412,2030,1397,1454, - 522,1461,149,1921,1107,157,150,1944,39,986, - 36,1245,3109,34,1116,31,35,30,32,905, - 29,27,56,1119,112,82,83,114,1160,1202, - 1289,1194,1365,1315,28,1379,1371,1412,2313,1397, - 1454,31,1461,149,1921,4213,156,150,1944,39, - 986,36,1257,3109,34,1116,31,35,30,32, - 905,29,27,56,1119,112,82,83,114,1160, - 1153,1289,1194,1365,1315,75,1379,1371,1412,2313, - 1397,1454,31,1461,149,1921,973,155,150,1944, - 39,986,36,4052,3109,34,1116,31,35,30, - 32,905,29,27,56,1119,112,82,83,114, - 1160,978,1289,1194,1365,1315,74,1379,1371,1412, - 2313,1397,1454,2185,1461,149,1630,1896,154,150, - 1944,39,986,36,516,3109,34,1116,31,35, - 30,32,905,29,27,56,1119,112,82,83, - 114,1160,1198,1289,1194,1365,1315,2023,1379,1371, - 1412,1232,1397,1454,31,1461,149,1921,2585,153, - 150,1944,39,986,36,515,3109,34,1116,31, - 35,30,32,905,29,27,56,1119,112,82, - 83,114,1160,1314,1289,1194,1365,1315,59,1379, - 1371,1412,1324,1397,1454,31,1461,149,1921,618, - 152,150,1944,39,986,36,1506,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,114,1160,1643,1289,1194,1365,1315,93, - 1379,1371,1412,1739,1397,1454,1203,1461,149,1203, - 1343,151,150,1839,39,986,36,1760,3109,34, - 1116,31,35,30,32,905,29,27,56,1119, - 112,82,83,114,1160,1754,1289,1194,1365,1315, - 2233,1379,1371,1412,1699,1397,1454,31,2528,170, - 2589,942,1944,39,986,36,2019,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,114,1160,2653,1289,1194,1365,1315,2532, - 1379,1371,1412,57,1397,1454,327,1461,149,99, - 328,146,150,301,418,39,1576,385,386,1730, - 1343,2266,39,986,36,1699,3109,34,1116,31, - 35,30,32,905,29,27,56,1119,112,82, - 83,114,1160,76,1289,1194,1365,1315,55,1379, - 1371,1412,1761,1397,1454,52,1461,149,334,335, - 195,150,2359,39,986,36,2019,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,114,1160,2072,1289,1194,1365,1315,31, - 1379,1371,1412,1064,1397,1454,2564,2528,170,2359, - 39,986,36,185,3109,34,1116,31,35,30, - 32,905,29,27,56,1119,112,82,83,114, - 1160,1754,1289,1194,1365,1315,425,1379,1371,1412, - 2566,1397,1454,77,2528,170,1114,39,986,36, - 2600,3499,34,1116,31,35,63,32,418,3466, - 2359,39,986,36,291,3109,34,1116,31,35, - 30,32,905,29,27,56,1119,112,82,83, - 114,1160,248,1289,1194,1365,1315,31,1379,1371, - 1412,2796,1397,1454,284,2528,170,2359,39,986, - 36,2590,3109,34,1116,31,35,30,32,905, - 29,27,56,1119,112,82,83,114,1160,1754, - 1289,1194,1365,1315,2461,1379,1371,1412,3225,1397, - 1454,424,2528,170,1624,39,986,36,600,3499, - 34,1116,31,35,62,32,388,419,2359,39, - 986,36,415,3109,34,1116,31,35,30,32, - 905,29,27,56,1119,112,82,83,114,1160, - 860,1289,1194,1365,1315,4262,1379,1371,1412,67, - 1397,1454,285,2528,170,2404,39,986,36,414, - 3109,34,1116,31,35,30,32,905,29,27, - 56,1119,112,82,83,114,1160,682,1289,1194, - 1365,1315,31,1379,1371,1412,2930,1397,1454,2022, - 2528,170,2173,39,986,36,2048,4405,34,1116, - 31,35,30,32,761,501,2359,39,986,36, - 417,3109,34,1116,31,35,30,32,905,29, - 27,56,1119,112,82,83,114,1160,1342,1289, - 1194,1365,1315,4267,1379,1371,1412,66,1397,2286, - 418,39,283,2359,39,986,36,3413,3109,34, - 1116,31,35,30,32,905,29,27,56,1119, - 112,82,83,114,1160,2479,1289,1194,1365,1315, - 31,1379,1371,1412,2504,2274,2359,39,986,36, - 1203,3109,34,1116,31,35,30,32,905,29, - 27,56,1119,112,82,83,114,1160,860,1289, - 1194,1365,1315,4283,1379,2256,2359,39,986,36, - 2601,3109,34,1116,31,35,30,32,905,29, - 27,56,1119,112,82,83,114,1160,860,1289, - 1194,1365,1315,4289,2094,2359,39,986,36,1262, - 3109,34,1116,31,35,30,32,905,29,27, - 56,1119,112,82,83,114,1160,103,1289,1194, - 1365,2155,2359,39,986,36,155,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,114,1160,1372,1289,1194,1365,2200,2449, - 39,1576,385,1921,2638,249,1267,2359,39,986, - 36,239,3109,34,1116,31,35,30,32,905, - 29,27,56,1119,112,82,83,114,1160,1929, - 1289,1194,1991,275,58,1921,2359,39,986,36, - 1939,3109,34,1116,31,35,30,32,905,29, - 27,56,1119,112,82,83,114,1160,234,1289, - 1194,1998,2359,39,986,36,350,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,114,1160,2184,1822,237,232,233,418, - 39,1576,385,2478,2019,1500,39,986,36,276, - 4405,34,1116,31,35,64,32,2569,39,2554, - 278,2626,39,391,244,247,250,253,2471,1697, - 418,39,292,275,3231,1707,1693,39,2932,36, - 4493,201,34,1116,339,35,2075,39,281,1762, - 3469,2710,3060,3264,3518,4023,2359,39,986,36, - 1383,3109,34,1116,31,35,30,32,905,29, - 27,56,1119,112,82,83,114,1160,177,1289, - 1194,2067,528,332,1240,39,443,1567,4415,4318, - 1226,1157,320,1372,322,2279,3231,315,1148,277, - 231,2049,39,2460,1573,162,3551,2190,3299,3290, - 3417,611,898,2852,1991,186,1836,1,2279,2708, - 1754,528,206,217,3006,205,214,215,216,218, - 3076,2141,478,175,2233,55,343,1546,2019,231, - 1893,2279,1561,1029,162,332,189,173,174,176, - 177,178,179,180,186,1836,2678,620,1401,2852, - 2279,206,217,3006,205,214,215,216,218,2485, - 39,443,175,31,4318,200,2228,4007,231,3604, - 187,3308,359,299,1677,190,173,174,176,177, - 178,179,180,1730,411,2941,2490,2673,2619,2620, - 208,217,3006,207,214,215,216,218,2703,1157, - 1532,2669,2279,2279,3231,2165,2665,2075,39,279, - 1203,209,1754,2649,418,2771,2554,80,359,1931, - 231,2852,331,335,219,210,211,212,213,293, - 294,295,296,3505,2619,2620,436,3018,3029,471, - 2351,2487,208,217,3006,207,214,215,216,218, - 3568,2490,1123,332,3117,2543,2279,4409,506,39, - 1576,385,437,209,2790,2649,601,860,2279,830, - 446,3522,4332,1921,231,306,219,210,211,212, - 213,293,294,295,296,2413,231,104,432,569, - 359,1755,55,1921,2549,3465,854,402,4194,1561, - 2502,2565,3568,2592,96,2673,2619,2620,208,217, - 3006,207,214,215,216,218,2805,403,2369,2649, - 2279,440,3018,3029,2543,286,2689,1921,1822,209, - 1229,2649,1444,3231,2714,31,2279,31,231,1071, - 1754,2279,219,210,211,212,213,293,294,295, - 296,860,1891,2674,343,2646,4338,351,2715,343, - 208,217,3006,207,214,215,216,218,3568,2720, - 2181,39,986,36,2824,4189,34,1116,44,35, - 2671,209,333,2649,344,1123,771,349,31,234, - 1652,2735,942,342,219,210,211,212,213,293, - 294,295,296,298,2181,39,986,36,404,407, - 34,1116,1204,35,2019,162,425,246,232,233, - 3568,2824,2359,39,986,36,2285,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,114,1160,1754,1289,2079,2359,39,986, - 36,204,3109,34,1116,31,35,30,32,905, - 29,27,56,1119,112,82,83,114,1160,2563, - 1289,2086,1556,39,986,36,3480,2313,34,1116, - 339,35,2359,39,986,36,514,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,114,1160,2659,1854,1921,297,969,265, - 2626,39,391,528,2181,39,986,36,4311,2747, - 34,1116,340,35,4415,2766,390,419,320,1372, - 322,231,375,315,1148,1435,162,73,351,942, - 2607,418,39,1576,385,1921,186,1836,2706,2768, - 2165,2665,1150,206,217,3006,205,214,215,216, - 218,865,162,1523,175,344,1123,771,349,2569, - 39,2554,2849,629,2681,423,72,3421,173,174, - 176,177,178,179,180,1480,39,986,36,4493, - 3231,34,1116,339,35,2359,39,986,36,2019, - 3109,34,1116,31,35,30,32,905,29,27, - 56,1119,112,82,83,114,1866,1075,353,3085, - 31,942,528,2368,2507,2752,2153,39,986,36, - 2965,373,34,1116,339,35,202,4415,2633,332, - 231,320,1372,322,166,162,315,1148,365,2772, - 2604,2181,39,986,36,186,1836,34,1116,1746, - 35,763,206,217,3006,205,214,215,216,218, - 286,2513,441,175,2136,4031,528,1921,4415,3231, - 1345,2728,317,2905,322,2279,182,173,174,176, - 177,178,179,180,231,2780,2758,1979,2674,162, - 2475,39,279,343,559,2762,308,312,71,186, - 1836,529,521,380,2283,528,206,217,3006,205, - 214,215,216,218,2671,3133,430,175,3054,1769, - 39,1576,385,231,524,1784,3472,2313,162,234, - 193,173,174,176,177,178,179,180,186,1836, - 617,1494,775,2019,528,206,217,3006,205,214, - 215,216,218,55,3659,2781,175,249,232,233, - 1561,649,231,418,39,1576,385,162,2884,3603, - 173,174,176,177,178,179,180,186,1836,705, - 223,953,375,528,206,217,3006,205,214,215, - 216,218,50,2546,2733,175,2218,55,942,31, - 102,231,1921,4162,1561,928,162,963,196,173, - 174,176,177,178,179,180,186,1836,793,2817, - 2823,162,528,206,217,3006,205,214,215,216, - 218,203,2979,70,175,425,1834,39,1576,385, - 231,418,39,1576,385,162,2846,192,173,174, - 176,177,178,179,180,186,1836,881,3625,2852, - 2019,528,206,217,3006,205,214,215,216,218, - 55,2114,2655,175,2016,55,942,1561,882,231, - 1921,3587,1561,2599,162,1998,199,173,174,176, - 177,178,179,180,186,1836,2369,4386,2788,162, - 2801,206,217,3006,205,214,215,216,218,2773, - 168,3189,175,1027,39,986,36,2579,1636,34, - 1116,339,35,3231,1722,198,173,174,176,177, - 178,179,180,234,1213,39,2932,36,4493,3231, - 34,1116,339,35,31,389,419,1921,2279,418, - 39,1576,385,31,2830,31,31,942,2279,942, - 3517,252,232,233,31,4415,343,2853,2481,320, - 1372,322,333,3532,315,1148,231,31,61,351, - 4326,1279,162,426,351,1757,4415,2671,332,3408, - 320,1372,322,2886,1921,315,1148,1666,208,217, - 3006,207,214,215,216,218,344,1123,771,349, - 898,346,1123,771,349,2315,31,89,1921,209, - 1290,2649,2616,1974,4031,60,2279,418,39,2554, - 282,2828,489,210,211,212,213,293,294,295, - 296,418,39,292,231,2359,39,986,36,323, - 3109,34,1116,31,35,30,32,905,29,27, - 56,1119,112,82,83,91,208,217,3006,207, - 214,215,216,218,2892,1697,2787,31,2279,1990, - 3231,4207,2841,1099,39,1576,385,209,57,2649, - 1697,241,410,2941,31,3231,231,513,2279,2019, - 510,210,211,212,213,293,294,295,296,594, - 39,1576,385,939,1921,1921,343,275,208,217, - 3006,207,214,215,216,218,2917,2139,2073,332, - 2279,2279,418,39,2554,280,305,2671,234,209, - 2754,2649,2019,55,332,107,3467,1684,231,2852, - 1561,1089,307,210,211,212,213,293,294,295, - 296,946,39,1576,385,3308,242,232,233,3473, - 208,217,3006,207,214,215,216,218,2718,4492, - 569,1078,2279,2635,31,2461,2859,234,4059,1921, - 4030,209,2822,2649,1223,55,78,31,2869,4253, - 231,605,1561,53,511,210,211,212,213,293, - 294,295,296,2143,2019,255,232,233,495,4990, - 441,2416,208,217,3006,207,214,215,216,218, - 1933,39,986,36,3480,2693,34,1116,339,35, - 31,4990,2019,209,942,2649,31,351,31,2786, - 528,304,1320,3464,492,494,220,210,211,212, - 213,293,294,295,296,4990,520,162,343,418, - 39,2554,2929,162,344,1123,771,349,2925,4497, - 4990,31,4415,2315,1453,2526,320,1372,322,2671, - 2019,315,1148,4990,2943,4990,351,2118,4990,1330, - 4990,4990,2359,1602,986,1643,517,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,90,344,1123,771,349,224,2359,39, - 986,36,518,3109,34,1116,31,35,30,32, - 905,29,27,56,1119,112,82,83,114,1900, - 2359,39,986,36,421,3109,34,1116,31,35, - 30,32,905,29,27,56,1119,112,82,83, - 114,1910,2359,39,986,36,2920,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,89,2359,39,986,36,4990,3109,34, - 1116,31,35,30,32,905,29,27,56,1119, - 112,82,83,88,2359,39,986,36,4990,3109, - 34,1116,31,35,30,32,905,29,27,56, - 1119,112,82,83,87,2359,39,986,36,4990, - 3109,34,1116,31,35,30,32,905,29,27, - 56,1119,112,82,83,86,2359,39,986,36, - 4990,3109,34,1116,31,35,30,32,905,29, - 27,56,1119,112,82,83,85,2359,39,986, - 36,4990,3109,34,1116,31,35,30,32,905, - 29,27,56,1119,112,82,83,84,2219,39, - 986,36,4990,3109,34,1116,31,35,30,32, - 905,29,27,56,1119,112,82,83,110,2359, - 39,986,36,4990,3109,34,1116,31,35,30, - 32,905,29,27,56,1119,112,82,83,116, - 2359,39,986,36,4990,3109,34,1116,31,35, - 30,32,905,29,27,56,1119,112,82,83, - 115,2359,39,986,36,4990,3109,34,1116,31, - 35,30,32,905,29,27,56,1119,112,82, - 83,113,2359,39,986,36,4990,3109,34,1116, - 31,35,30,32,905,29,27,56,1119,112, - 82,83,111,1364,39,986,36,4493,1921,34, - 1116,339,35,2314,39,986,36,2233,3109,34, - 1116,31,35,30,32,905,29,27,56,1119, - 92,82,83,2506,39,1576,385,4990,2638,3489, - 2019,1066,39,986,36,240,3231,34,1116,339, - 35,418,39,1576,385,4415,2626,39,391,320, - 1372,322,31,4990,315,1148,3375,275,31,2651, - 1921,31,2578,2279,31,2644,1730,300,2279,763, - 2145,39,986,36,4493,425,34,1116,339,35, - 31,2852,234,4415,2696,333,343,320,1372,322, - 1921,3052,318,1148,1921,2145,39,986,36,4493, - 4990,34,1116,339,35,3367,335,2671,2019,31, - 238,232,233,3993,308,312,31,1693,4990,4990, - 942,3091,4415,276,4990,3130,320,1372,322,4990, - 4990,315,1148,3680,418,39,1576,385,245,248, - 251,254,2471,162,3472,197,763,4415,4990,1707, - 495,320,1372,322,3057,3588,315,1148,1066,39, - 986,36,2233,3231,34,1116,339,35,424,4990, - 4990,3408,2145,39,986,36,4493,1921,34,1116, - 339,35,4990,4990,31,1223,492,494,528,2741, - 4253,309,312,3620,1246,39,986,36,3324,4990, - 34,1116,339,35,4990,1075,343,2233,1529,942, - 4415,162,333,1040,320,1372,322,2279,4409,316, - 1148,1730,1535,4990,4415,4990,3314,2671,320,1372, - 322,398,166,315,1148,231,4990,1494,4990,4990, - 506,39,1576,385,4990,31,4415,4990,3582,860, - 317,2905,322,2609,39,1576,385,854,402,4194, - 3406,335,594,39,1576,385,1730,2609,39,1576, - 385,1075,31,4990,55,942,942,4990,403,4990, - 2649,1561,53,2609,39,1576,385,55,2118,2609, - 39,1576,385,2139,1561,53,55,2279,166,162, - 2130,55,3337,1561,53,3638,335,4990,1561,53, - 3192,1921,4990,2921,4990,2852,2646,55,2609,39, - 1576,385,3031,55,1561,53,1921,3339,4990,4990, - 1561,53,2647,39,1576,385,4990,4990,2743,39, - 1576,385,1570,4041,1921,422,2884,4990,4990,4134, - 1921,1921,55,418,39,1576,385,377,31,1561, - 53,31,942,4990,4990,528,55,823,3384,404, - 406,2279,55,1561,53,4108,4990,4990,4479,1561, - 53,3208,3247,343,495,162,2655,55,162,2852, - 942,1725,2400,2632,1561,2587,2170,4990,3431,1453, - 418,39,1576,385,2671,418,39,1576,385,418, - 39,1576,385,162,1658,418,39,1576,385,4990, - 493,494,4990,1756,168,1075,31,2279,4990,942, - 528,4990,31,2655,55,4990,528,528,4990,55, - 31,1561,3080,55,528,343,1561,649,343,55, - 1561,1107,166,162,343,4109,1561,1274,360,162, - 162,4990,343,4990,194,4990,1607,162,31,4172, - 194,168,2279,31,4990,4172,4990,2279,194,418, - 39,1576,385,4172,31,31,4990,3632,2279,2279, - 343,4990,2655,1697,4990,343,942,2655,3231,4990, - 4990,942,4990,4990,1075,31,343,343,942,942, - 4990,2671,4990,442,4990,4990,2671,4990,4990,162, - 4990,2707,3504,4990,162,4990,499,2671,2671,4990, - 168,166,162,4990,3250,168,4990,497,525,4990, - 4060,4990,4990,4344,4990,4990,4090,332,4990,4990, - 4990,4990,4990,4990,4094,4990,4990,4990,4990,4990, - 4990,4990,4990,4990,4990,4990,4990,4990,4990,4990, - 4990,4990,4990,4990,4990,4990,4990,4990,4990,4990, - 4990,4990,4990,4158,4990,4990,4990,4990,4990,4990, - 4990,4990,4990,4350,1859,4990,4990,4990,4351,4990, - 4990,3579,4990,4990,4990,4990,4990,3262,4990,0, - 43,5008,0,43,5007,0,632,33,0,444, - 844,0,42,5008,0,42,5007,0,2316,132, - 0,1,434,0,448,723,0,447,770,0, - 632,45,0,1737,97,0,632,384,0,39, - 37,0,36,38,0,43,579,0,1,550, - 0,1,5264,0,1,5263,0,1,5262,0, - 1,5261,0,1,5260,0,1,5259,0,1, - 5258,0,1,5257,0,1,5256,0,1,5255, - 0,1,5254,0,43,1,5008,0,43,1, - 5007,0,850,1,0,5226,243,0,5225,243, - 0,5328,243,0,5327,243,0,5253,243,0, - 5252,243,0,5251,243,0,5250,243,0,5249, - 243,0,5248,243,0,5247,243,0,5246,243, - 0,5264,243,0,5263,243,0,5262,243,0, - 5261,243,0,5260,243,0,5259,243,0,5258, - 243,0,5257,243,0,5256,243,0,5255,243, - 0,5254,243,0,43,243,5008,0,43,243, - 5007,0,5032,243,0,54,5008,0,54,5007, - 0,239,983,0,385,36,0,36,385,0, - 384,33,0,33,384,0,49,5030,0,49, - 41,0,5008,54,0,5007,54,0,2316,134, - 0,2316,133,0,30,509,0,5320,435,0, - 1327,435,0,5032,1,0,43,1,0,53, - 41,0,1,98,0,41,53,0,5032,230, - 1,0,43,230,1,0,230,409,0,41, - 5008,0,41,5007,0,1,5008,2,0,1, - 5007,2,0,41,5008,2,0,41,5007,2, - 0,5008,40,0,5007,40,0,5030,51,0, - 51,41,0,5000,400,0,4999,400,0,1, - 4095,0,1,579,0,1,2484,0,230,408, - 0,3000,319,0,5320,101,0,1327,101,0, - 39,79,0,1,5320,0,1,1327,0,43, - 1,5008,2,0,43,1,5007,2,0,43, - 5008,2,0,43,5007,2,0,280,4205,0, - 1,2391,0,1,2890,0,4998,1,0,491, - 3412,0,230,1,0,230,1,3197,0,5000, - 230,0,4999,230,0,3407,230,0,8,10, - 0,230,222,0,230,221,0,191,3169,0 + 39,39,38,29,138,138,97,97,172,172, + 92,194,194,72,72,72,72,72,72,72, + 72,72,73,73,73,68,68,58,58,173, + 173,74,74,74,103,103,174,174,75,75, + 75,175,175,76,76,76,76,76,77,77, + 71,71,71,71,71,71,71,47,47,47, + 47,47,104,104,105,105,48,176,22,22, + 22,22,22,46,46,87,87,87,87,87, + 145,145,140,140,140,140,140,141,141,141, + 142,142,142,143,143,143,144,144,144,88, + 88,88,88,88,89,89,89,12,12,12, + 12,12,12,12,12,12,12,12,100,117, + 117,117,117,117,115,115,115,116,116,147, + 147,146,146,119,119,148,82,82,83,83, + 85,86,84,50,45,149,149,51,49,81, + 81,150,150,139,139,120,121,121,69,69, + 151,151,61,61,61,56,56,55,62,62, + 66,66,54,54,54,90,90,99,98,98, + 59,59,57,57,53,53,43,101,101,101, + 93,93,93,94,95,95,95,96,96,106, + 106,106,108,108,107,107,195,195,91,91, + 178,178,178,178,178,123,44,44,153,177, + 177,124,124,124,124,179,179,34,34,114, + 125,125,125,125,109,109,118,118,118,155, + 156,156,156,156,156,156,156,156,156,182, + 182,180,180,181,181,157,157,157,157,158, + 183,111,110,110,184,184,159,159,159,159, + 102,102,102,185,185,9,186,186,187,160, + 152,152,161,161,162,163,163,6,6,7, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,65,67,67,166,166,126,126,127, + 127,127,127,127,127,3,167,167,164,164, + 128,128,128,79,80,78,154,154,112,112, + 188,188,188,129,129,122,122,189,189,168, + 168,881,39,1751,1746,823,2699,34,1083,31, + 35,30,32,1743,29,27,56,1093,112,82, + 83,114,1126,1107,1183,1170,1255,1201,1333,1299, + 1107,1374,1349,997,1382,278,1420,149,4378,1065, + 164,150,1233,39,1047,36,1736,4383,34,1083, + 342,35,331,1625,2525,38,2272,39,1047,36, + 237,2793,34,1083,31,35,30,32,1038,29, + 27,56,1093,112,82,83,114,1126,490,1183, + 1170,1255,1201,1333,1299,2209,1374,2146,240,235, + 236,1279,513,491,4450,990,336,323,1636,325, + 453,279,1736,319,1050,1543,2417,32,354,32, + 3542,677,1923,731,1369,247,250,253,256,2388, + 166,208,1013,39,1047,36,1718,4441,34,1083, + 31,35,65,32,4036,349,968,899,352,569, + 425,3072,2531,3054,3114,3121,2649,1414,39,1047, + 36,2298,2793,34,1083,31,35,2383,32,1038, + 29,27,56,1093,112,82,83,114,1126,346, + 1183,1170,1255,1201,1333,1299,2781,1374,1349,2030, + 1382,2485,1420,149,4383,2418,510,150,1547,1886, + 3000,243,39,1582,47,390,422,46,1083,1033, + 511,1414,39,1047,36,2298,2793,34,1083,31, + 35,2383,32,1038,29,27,56,1093,112,82, + 83,114,1126,346,1183,1170,1255,1201,1333,1299, + 997,1374,1349,336,1382,4428,1420,149,332,338, + 510,150,48,2515,3000,331,39,2525,2546,1107, + 2272,39,1047,36,511,2793,34,1083,31,35, + 30,32,1038,29,27,56,1093,112,82,83, + 114,1126,2093,1183,1877,506,2492,1684,39,1047, + 36,2298,2793,34,1083,31,35,2383,32,1038, + 29,27,56,1093,112,82,83,114,1126,346, + 1183,1170,1255,1201,1333,1299,1107,1374,1349,2596, + 1382,2339,1420,149,2392,94,510,150,108,452, + 3000,331,39,2772,2730,331,39,2525,281,506, + 511,1480,39,1047,36,188,2793,34,1083,31, + 35,30,32,1038,29,27,56,1093,112,82, + 83,114,1126,1107,1183,1170,1255,1201,1333,1299, + 767,1374,1349,1107,1382,2474,1420,149,2392,1715, + 381,150,2272,39,1047,36,4057,2793,34,1083, + 31,35,30,32,1038,29,27,56,1093,112, + 82,83,114,1126,384,1183,1170,1255,1201,1333, + 2131,1549,39,1047,36,507,2793,34,1083,31, + 35,30,32,1038,29,27,56,1093,112,82, + 83,114,1126,57,1183,1170,1255,1201,1333,1299, + 1348,1374,1349,330,1382,355,1420,149,2044,1900, + 381,150,331,39,2572,2388,39,282,2209,1909, + 1088,39,1047,36,3628,385,34,1083,342,35, + 1855,39,1047,36,382,2793,34,1083,31,35, + 30,32,1038,29,27,56,1093,112,82,83, + 114,1126,358,1183,1170,1255,1201,1333,1299,525, + 1374,1349,416,1382,1840,1420,149,972,2604,164, + 150,2485,4450,425,356,323,1636,325,601,3569, + 3433,318,1050,771,39,2525,281,1987,1154,3157, + 2177,1855,39,1047,36,386,2793,34,1083,31, + 35,30,32,1038,29,27,56,1093,112,82, + 83,114,1126,76,1183,1170,1255,1201,1333,1299, + 2144,1374,1349,2068,1382,529,1420,149,391,422, + 375,150,1033,1915,1855,39,1047,36,2302,2793, + 34,1083,31,35,30,32,1038,29,27,56, + 1093,112,82,83,114,1126,328,1183,1170,1255, + 1201,1333,1299,1411,1374,1349,1127,1382,569,1420, + 149,337,338,375,150,2016,1855,39,1047,36, + 1348,2793,34,1083,31,35,30,32,1038,29, + 27,56,1093,112,82,83,114,1126,2144,1183, + 1170,1255,1201,1333,1299,95,1374,1349,108,1382, + 1986,1420,149,1107,374,375,150,331,2748,1795, + 39,1047,36,1982,2793,34,1083,31,35,30, + 32,1038,29,27,56,1093,112,82,83,114, + 1126,2365,1183,1170,1255,1201,1333,1299,689,1374, + 1349,436,1382,711,1420,149,2826,373,381,150, + 1945,1618,39,1047,36,433,2793,34,1083,31, + 35,30,32,1038,29,27,56,1093,112,82, + 83,114,1126,103,1183,1170,1255,1201,1333,1299, + 2275,1374,1349,77,1382,31,1420,149,440,371, + 148,150,1855,39,1047,36,2056,2793,34,1083, + 31,35,30,32,1038,29,27,56,1093,112, + 82,83,114,1126,2418,1183,1170,1255,1201,1333, + 1299,1031,1374,1349,2826,1382,290,1420,149,68, + 449,165,150,379,1855,39,1047,36,1541,2793, + 34,1083,31,35,30,32,1038,29,27,56, + 1093,112,82,83,114,1126,2070,1183,1170,1255, + 1201,1333,1299,1600,1374,1349,997,1382,32,1420, + 149,4437,990,161,150,1855,39,1047,36,865, + 2793,34,1083,31,35,30,32,1038,29,27, + 56,1093,112,82,83,114,1126,2006,1183,1170, + 1255,1201,1333,1299,327,1374,1349,4320,1382,32, + 1420,149,63,990,160,150,1855,39,1047,36, + 2418,2793,34,1083,31,35,30,32,1038,29, + 27,56,1093,112,82,83,114,1126,3680,1183, + 1170,1255,1201,1333,1299,1418,1374,1349,997,1382, + 1165,1420,149,4191,1736,159,150,1855,39,1047, + 36,736,2793,34,1083,31,35,30,32,1038, + 29,27,56,1093,112,82,83,114,1126,208, + 1183,1170,1255,1201,1333,1299,28,1374,1349,1242, + 1382,1107,1420,149,4243,1736,158,150,1855,39, + 1047,36,1530,2793,34,1083,31,35,30,32, + 1038,29,27,56,1093,112,82,83,114,1126, + 208,1183,1170,1255,1201,1333,1299,75,1374,1349, + 997,1382,1216,1420,149,4288,1736,157,150,1855, + 39,1047,36,2510,2793,34,1083,31,35,30, + 32,1038,29,27,56,1093,112,82,83,114, + 1126,104,1183,1170,1255,1201,1333,1299,74,1374, + 1349,997,1382,517,1420,149,4311,1736,156,150, + 1855,39,1047,36,2573,2793,34,1083,31,35, + 30,32,1038,29,27,56,1093,112,82,83, + 114,1126,1445,1183,1170,1255,1201,1333,1299,59, + 1374,1349,2210,1382,517,1420,149,1843,1736,155, + 150,1855,39,1047,36,1177,2793,34,1083,31, + 35,30,32,1038,29,27,56,1093,112,82, + 83,114,1126,2399,1183,1170,1255,1201,1333,1299, + 93,1374,1349,997,1382,1102,1420,149,4358,1736, + 154,150,1855,39,1047,36,2091,2793,34,1083, + 31,35,30,32,1038,29,27,56,1093,112, + 82,83,114,1126,1218,1183,1170,1255,1201,1333, + 1299,58,1374,1349,997,1382,964,1420,149,4374, + 2302,153,150,1855,39,1047,36,384,2793,34, + 1083,31,35,30,32,1038,29,27,56,1093, + 112,82,83,114,1126,1166,1183,1170,1255,1201, + 1333,1299,329,1374,1349,1542,1382,32,1420,149, + 1631,670,152,150,1855,39,1047,36,1472,2793, + 34,1083,31,35,30,32,1038,29,27,56, + 1093,112,82,83,114,1126,1418,1183,1170,1255, + 1201,1333,1299,777,1374,1349,2504,1382,32,1420, + 149,2447,4185,151,150,1750,39,1047,36,767, + 2793,34,1083,31,35,30,32,1038,29,27, + 56,1093,112,82,83,114,1126,2020,1183,1170, + 1255,1201,1333,1299,767,1374,1349,2084,1382,516, + 2498,170,1305,1855,39,1047,36,1648,2793,34, + 1083,31,35,30,32,1038,29,27,56,1093, + 112,82,83,114,1126,1847,1183,1170,1255,1201, + 1333,1299,2775,1374,1349,331,1382,67,1420,149, + 440,1431,146,150,331,2828,2525,80,331,39, + 1613,388,73,2179,39,1047,36,893,2793,34, + 1083,31,35,30,32,1038,29,27,56,1093, + 112,82,83,114,1126,207,1183,1170,1255,1201, + 1333,1299,426,1374,1349,249,1382,2076,1420,149, + 1971,357,195,150,2272,39,1047,36,525,2793, + 34,1083,31,35,30,32,1038,29,27,56, + 1093,112,82,83,114,1126,327,1183,1170,1255, + 1201,1333,1299,525,1374,1349,2086,1382,1736,2498, + 170,2272,39,1047,36,2085,2793,34,1083,31, + 35,30,32,1038,29,27,56,1093,112,82, + 83,114,1126,389,1183,1170,1255,1201,1333,1299, + 353,1374,1349,402,1382,2049,2498,170,1632,2947, + 1117,39,1047,36,1064,2857,34,1083,31,35, + 63,32,2272,39,1047,36,294,2793,34,1083, + 31,35,30,32,1038,29,27,56,1093,112, + 82,83,114,1126,2607,1183,1170,1255,1201,1333, + 1299,400,1374,1349,1154,1382,1736,2498,170,2272, + 39,1047,36,1461,2793,34,1083,31,35,30, + 32,1038,29,27,56,1093,112,82,83,114, + 1126,1971,1183,1170,1255,1201,1333,1299,96,1374, + 1349,404,1382,32,2498,170,2715,615,1258,39, + 1047,36,1154,2857,34,1083,31,35,62,32, + 2272,39,1047,36,418,2793,34,1083,31,35, + 30,32,1038,29,27,56,1093,112,82,83, + 114,1126,1154,1183,1170,1255,1201,1333,1299,304, + 1374,1349,67,1382,287,2498,170,2317,39,1047, + 36,417,2793,34,1083,31,35,30,32,1038, + 29,27,56,1093,112,82,83,114,1126,185, + 1183,1170,1255,1201,1333,1299,99,1374,1349,415, + 1382,1086,2498,170,1609,39,1047,36,1736,4441, + 34,1083,31,35,30,32,1428,504,2272,39, + 1047,36,420,2793,34,1083,31,35,30,32, + 1038,29,27,56,1093,112,82,83,114,1126, + 2912,1183,1170,1255,1201,1333,1299,1154,1374,1349, + 66,2220,331,39,286,2272,39,1047,36,3428, + 2793,34,1083,31,35,30,32,1038,29,27, + 56,1093,112,82,83,114,1126,1337,1183,1170, + 1255,1201,1333,1299,204,2129,2272,39,1047,36, + 151,2793,34,1083,31,35,30,32,1038,29, + 27,56,1093,112,82,83,114,1126,1146,1183, + 1170,1255,1201,1958,2272,39,1047,36,1919,2793, + 34,1083,31,35,30,32,1038,29,27,56, + 1093,112,82,83,114,1126,2100,1183,1170,1255, + 1994,2272,39,1047,36,2576,2793,34,1083,31, + 35,30,32,1038,29,27,56,1093,112,82, + 83,114,1126,2370,1183,1170,1255,2046,2362,39, + 1613,388,1736,2675,331,2591,2272,39,1047,36, + 242,2793,34,1083,31,35,30,32,1038,29, + 27,56,1093,112,82,83,114,1126,1154,1183, + 1170,1827,278,378,2949,2272,39,1047,36,1746, + 2793,34,1083,31,35,30,32,1038,29,27, + 56,1093,112,82,83,114,1126,237,1183,1170, + 1842,2272,39,1047,36,203,2793,34,1083,31, + 35,30,32,1038,29,27,56,1093,112,82, + 83,114,1126,1681,1777,240,235,236,979,39, + 2406,2520,1304,3257,1013,39,1047,36,279,4441, + 34,1083,31,35,64,32,1066,1279,2403,3390, + 3368,990,247,250,253,256,2388,1911,1972,39, + 1047,36,55,1718,34,1083,44,35,376,1595, + 851,560,331,39,1613,388,166,2209,3072,2531, + 3054,3114,3121,2649,2272,39,1047,36,2209,2793, + 34,1083,31,35,30,32,1038,29,27,56, + 1093,112,82,83,114,1126,278,1183,1170,1865, + 2272,39,1047,36,2224,2793,34,1083,31,35, + 30,32,1038,29,27,56,1093,112,82,83, + 114,1126,177,1183,1170,1875,531,2043,939,859, + 1134,39,1047,36,1629,4383,34,1083,342,35, + 1972,39,1047,36,234,1423,34,1083,2004,35, + 1388,162,32,1532,978,2545,3088,2298,4383,186, + 2082,1106,280,331,39,295,209,220,4253,208, + 217,218,219,221,425,2845,2479,393,422,1, + 175,972,4450,531,336,323,1636,325,392,422, + 174,321,1050,775,189,173,176,177,178,179, + 180,234,2484,1972,39,1047,36,335,162,34, + 1083,343,35,331,39,295,186,2082,2597,1921, + 237,1154,2298,209,220,4253,208,217,218,219, + 221,32,1295,1033,1394,3455,384,175,2576,4383, + 234,32,187,3615,362,1080,2392,174,249,235, + 236,190,173,176,177,178,179,180,207,2138, + 2602,2663,211,220,4253,210,217,218,219,221, + 2613,1971,334,338,2298,331,39,1613,388,2420, + 39,1613,388,212,2675,2727,331,3456,335,222, + 32,243,234,2077,2298,2549,3491,213,214,215, + 216,296,297,298,299,419,39,1613,388,429, + 2781,3227,346,278,211,220,4253,210,217,218, + 219,221,3612,2715,709,331,39,1613,388,1061, + 39,1613,388,3000,288,212,2705,2727,237,55, + 2298,222,2025,1666,2258,1971,1595,2431,516,213, + 214,215,216,296,297,298,299,648,234,428, + 32,3332,1612,55,2437,2432,241,235,236,2478, + 1595,1220,1154,2298,3612,2955,50,2515,1444,279, + 211,220,4253,210,217,218,219,221,2721,2432, + 1472,2845,2298,248,251,254,257,2388,2367,39, + 284,212,2564,2727,1718,2576,2448,222,302,205, + 234,331,39,1613,388,213,214,215,216,296, + 297,298,299,994,39,1613,388,331,39,1613, + 388,2160,211,220,4253,210,217,218,219,221, + 3612,2979,32,32,1532,55,3183,2544,2298,4383, + 2522,2526,52,212,1736,2727,2193,55,2595,222, + 363,427,3461,378,1595,651,2845,213,214,215, + 216,296,297,298,299,1462,39,1047,36,3092, + 2630,34,1083,342,35,1154,73,507,39,1613, + 388,2576,3612,3081,2272,39,1047,36,335,2793, + 34,1083,31,35,30,32,1038,29,27,56, + 1093,112,82,83,114,1126,265,1183,1925,1339, + 531,55,226,990,1459,39,394,4450,1595,1326, + 323,1636,325,2612,572,362,318,1050,234,317, + 1736,354,32,1736,2821,162,3073,3228,162,519, + 2138,2602,2663,186,2082,1736,2629,1048,3396,2463, + 209,220,4253,208,217,218,219,221,347,968, + 899,352,72,1944,175,71,2820,1394,3595,32, + 2645,1394,4383,1158,174,1971,4383,70,3454,173, + 176,177,178,179,180,1249,39,1047,36,3628, + 4383,34,1083,342,35,2272,39,1047,36,1971, + 2793,34,1083,31,35,30,32,1038,29,27, + 56,1093,112,82,83,114,1126,2396,1787,2590, + 1975,3355,353,3117,2951,335,531,1384,39,1047, + 36,3370,2480,34,1083,342,35,4450,309,335, + 323,1636,325,368,234,2646,318,1050,2326,32, + 2651,162,1098,990,2732,331,39,1613,388,186, + 2082,3615,301,2647,401,1459,209,220,4253,208, + 217,218,219,221,1133,2500,2656,535,162,4450, + 175,441,320,2926,325,531,354,883,1736,445, + 174,1736,2516,425,182,173,176,177,178,179, + 180,1971,100,234,244,311,315,32,683,2748, + 162,4432,1394,347,968,899,352,4383,186,2082, + 3126,345,424,61,2855,209,220,4253,208,217, + 218,219,221,237,1247,3467,1736,2666,529,175, + 2576,1906,531,1473,39,446,32,2929,4354,174, + 4124,237,1033,193,173,176,177,178,179,180, + 234,252,235,236,300,1901,335,162,60,2523, + 1154,1154,2367,39,282,186,2082,1736,3028,245, + 235,236,209,220,4253,208,217,218,219,221, + 32,3312,338,237,3292,617,175,2397,518,531, + 237,531,572,683,2748,1736,174,308,4197,326, + 3574,173,176,177,178,179,180,234,2670,3619, + 866,255,235,236,162,1736,162,289,258,235, + 236,354,186,2082,186,2082,3513,107,2661,209, + 220,4253,208,217,218,219,221,1154,1171,39, + 1613,388,705,175,2031,2801,531,3381,347,968, + 899,352,2660,174,2667,201,1918,198,173,176, + 177,178,179,180,234,1736,2391,595,39,1613, + 388,162,278,1736,307,1972,39,1047,36,186, + 2082,34,1083,2052,35,2677,209,220,4253,208, + 217,218,219,221,439,3030,3043,444,523,793, + 175,55,2623,531,1154,3150,2298,32,1595,53, + 174,1670,289,2679,192,173,176,177,178,179, + 180,234,32,2684,2845,2738,890,2768,162,771, + 39,2525,2850,2285,1736,1535,186,2082,2712,2641, + 2801,227,1154,209,220,4253,208,217,218,219, + 221,78,1732,39,1047,36,2814,175,34,1083, + 342,35,3391,202,32,2061,3061,174,1759,2685, + 4383,200,173,176,177,178,179,180,2748,303, + 985,39,2997,36,3628,4383,34,1083,342,35, + 2623,32,32,498,2298,4292,4279,1676,39,446, + 2675,2514,4354,1154,4450,531,32,323,1636,325, + 1677,2797,2845,318,1050,2298,32,2481,354,3355, + 1784,3157,1279,346,2740,89,990,2624,495,497, + 162,3508,4450,234,335,323,1636,325,2751,194, + 199,318,1050,1917,4212,347,968,899,352,839, + 32,166,1736,1918,990,211,220,4253,210,217, + 218,219,221,2578,2762,1731,2758,2298,3012,2298, + 2500,331,39,2525,285,1944,212,2746,2727,162, + 3595,498,492,1736,3118,234,74,2845,2207,1736, + 213,214,215,216,296,297,298,299,32,32, + 102,32,531,2588,196,2606,383,211,220,4253, + 210,217,218,219,221,3175,496,497,2813,3071, + 346,2861,2298,331,39,2525,283,162,212,2756, + 2727,1459,39,394,513,32,1424,413,2999,2298, + 234,3000,213,214,215,216,296,297,298,299, + 2774,632,419,39,1613,388,362,346,443,3030, + 3043,1964,211,220,4253,210,217,218,219,221, + 2829,3068,2602,2663,2298,3151,2778,1459,3000,331, + 39,2525,2950,212,1764,2727,55,32,1695,310, + 5085,2640,234,1595,53,5085,5085,213,214,215, + 216,296,297,298,299,1332,39,1613,388,32, + 1736,5085,2182,2706,211,220,4253,210,217,218, + 219,221,2689,32,5085,1666,2298,2758,1279,32, + 4383,5085,990,4078,425,212,5085,2727,1394,55, + 3198,514,3120,4383,234,5085,1595,53,5085,213, + 214,215,216,296,297,298,299,166,2631,2397, + 32,5085,3664,990,861,1838,211,220,4253,210, + 217,218,219,221,1933,39,1047,36,3092,336, + 34,1083,342,35,5085,5085,5085,212,162,2727, + 1736,354,335,223,32,32,206,2742,531,531, + 5085,213,214,215,216,296,297,298,299,1736, + 1459,39,394,5085,5085,5085,346,346,349,968, + 899,352,380,162,162,3116,4450,5085,4148,323, + 1636,325,194,1506,1736,318,1050,4212,3000,5085, + 354,3393,5085,520,2272,39,1047,36,1465,2793, + 34,1083,31,35,30,32,1038,29,27,56, + 1093,112,82,83,114,1792,3289,347,968,899, + 352,2272,39,1047,36,521,2793,34,1083,31, + 35,30,32,1038,29,27,56,1093,112,82, + 83,114,1797,2272,39,1047,36,3324,2793,34, + 1083,31,35,30,32,1038,29,27,56,1093, + 112,82,83,114,1815,2272,39,1047,36,3566, + 2793,34,1083,31,35,30,32,1038,29,27, + 56,1093,112,82,83,91,2272,1625,1047,1654, + 5085,2793,34,1083,31,35,30,32,1038,29, + 27,56,1093,112,82,83,90,2272,39,1047, + 36,5085,2793,34,1083,31,35,30,32,1038, + 29,27,56,1093,112,82,83,89,2272,39, + 1047,36,5085,2793,34,1083,31,35,30,32, + 1038,29,27,56,1093,112,82,83,88,2272, + 39,1047,36,5085,2793,34,1083,31,35,30, + 32,1038,29,27,56,1093,112,82,83,87, + 2272,39,1047,36,5085,2793,34,1083,31,35, + 30,32,1038,29,27,56,1093,112,82,83, + 86,2272,39,1047,36,5085,2793,34,1083,31, + 35,30,32,1038,29,27,56,1093,112,82, + 83,85,2272,39,1047,36,5085,2793,34,1083, + 31,35,30,32,1038,29,27,56,1093,112, + 82,83,84,2130,39,1047,36,5085,2793,34, + 1083,31,35,30,32,1038,29,27,56,1093, + 112,82,83,110,2272,39,1047,36,5085,2793, + 34,1083,31,35,30,32,1038,29,27,56, + 1093,112,82,83,116,2272,39,1047,36,5085, + 2793,34,1083,31,35,30,32,1038,29,27, + 56,1093,112,82,83,115,2272,39,1047,36, + 5085,2793,34,1083,31,35,30,32,1038,29, + 27,56,1093,112,82,83,113,2272,39,1047, + 36,5085,2793,34,1083,31,35,30,32,1038, + 29,27,56,1093,112,82,83,111,1594,39, + 1047,36,3628,5085,34,1083,342,35,2227,39, + 1047,36,5085,2793,34,1083,31,35,30,32, + 1038,29,27,56,1093,92,82,83,940,39, + 2997,36,3628,5085,34,1083,342,35,5085,1088, + 39,1047,36,3628,425,34,1083,342,35,5085, + 4450,5085,5085,323,1636,325,5085,5085,5085,318, + 1050,5085,5085,5085,5085,5085,5085,2732,1134,39, + 1047,36,5085,4383,34,1083,342,35,32,5085, + 4450,5085,990,323,1636,325,5085,5085,5085,318, + 1050,4450,5085,5085,323,1636,325,839,5085,5085, + 318,1050,5085,1033,5085,953,5085,162,2732,2298, + 4446,507,39,1613,388,5085,2824,2643,311,315, + 4450,990,336,323,1636,325,5085,234,5085,319, + 1050,5085,1088,39,1047,36,3628,3294,34,1083, + 342,35,3354,338,5085,55,162,5085,3467,1916, + 405,3007,1595,53,32,168,5085,5085,990,312, + 315,5085,5085,1332,39,1613,388,5085,5085,5085, + 406,3265,2727,1405,39,1047,36,2965,5085,34, + 1083,342,35,162,4450,414,2999,323,1636,325, + 5085,1029,2910,318,1050,2298,4446,55,5085,2668, + 5085,3540,5085,2298,1595,53,5085,2714,1332,39, + 1613,388,425,234,32,5085,32,5085,990,5085, + 531,2845,5085,2645,5085,4450,5085,5085,320,2926, + 325,1332,39,1613,388,1916,405,3007,346,5085, + 1109,5085,55,162,2298,162,5085,5085,5085,1595, + 53,5085,2913,5085,1424,5085,406,5085,2727,3000, + 407,409,346,5085,5085,55,1902,5085,2695,1588, + 2298,1033,1595,53,1332,39,1613,388,1663,39, + 1613,388,5085,1955,5085,1880,5085,4271,346,3724, + 498,2797,5085,2714,1849,39,1613,388,331,39, + 1613,388,5085,331,39,1613,388,5085,55,1024, + 3406,338,55,5085,5085,1595,53,5085,5085,1595, + 53,5085,5085,5085,3028,495,497,5085,55,5085, + 5085,5085,55,5085,3035,1595,53,55,2533,1595, + 2499,5085,5085,5085,1595,2589,407,410,331,39, + 1613,388,1731,5085,2583,5085,2298,331,39,1613, + 388,331,39,1613,388,3407,331,39,1613,388, + 331,39,1613,388,2845,32,5085,5085,5085,2298, + 5085,5085,55,2515,32,5085,5085,2298,531,1595, + 3152,55,32,5085,5085,55,531,346,1595,975, + 55,5085,1595,651,55,346,346,1595,1449,5085, + 2611,1595,1490,162,346,524,5085,5085,3000,32, + 32,162,194,2298,2298,32,3000,4212,1705,2298, + 194,449,5085,32,2753,4212,527,2298,2298,5085, + 1279,346,346,362,990,32,32,346,5085,2298, + 990,5085,435,32,5085,346,346,990,3205,2602, + 2663,1279,3000,3000,5085,990,5085,346,3000,166, + 32,5085,1710,2302,990,162,3000,3648,502,5085, + 5085,5085,162,5085,2925,5085,500,3442,3000,5085, + 166,1173,5085,5085,5085,3473,5085,5085,528,162, + 5085,5085,5085,5085,5085,5085,5085,5085,3699,5085, + 5085,5085,5085,5085,5085,5085,5085,5085,5085,5085, + 5085,5085,5085,5085,5085,5085,5085,5085,5085,5085, + 5085,5085,5085,5085,5085,5085,5085,3185,5085,5085, + 5085,5085,5085,5085,5085,5085,5085,5085,5085,5085, + 5085,5085,5085,5085,5085,5085,5085,5085,3255,5085, + 5085,5085,5085,5085,5085,5085,5085,5085,5085,5085, + 5085,5085,3256,5085,5085,5085,5085,5085,5085,5085, + 5085,5085,5085,5085,5085,5085,5085,5085,5085,5085, + 5085,5085,5085,5085,5085,5085,5085,5085,5085,5085, + 5085,5085,5085,5085,5085,5085,5085,5085,5085,5085, + 5085,5085,5085,5085,5085,5085,5085,5085,5085,5085, + 5085,5085,3600,5085,0,43,5103,0,43,5102, + 0,637,33,0,447,639,0,42,5103,0, + 42,5102,0,2444,132,0,1,437,0,451, + 560,0,450,779,0,637,45,0,1338,97, + 0,637,387,0,39,37,0,36,38,0, + 43,582,0,1,563,0,1,5362,0,1, + 5361,0,1,5360,0,1,5359,0,1,5358, + 0,1,5357,0,1,5356,0,1,5355,0, + 1,5354,0,1,5353,0,1,5352,0,43, + 1,5103,0,43,1,5102,0,721,1,0, + 5324,246,0,5323,246,0,5426,246,0,5425, + 246,0,5351,246,0,5350,246,0,5349,246, + 0,5348,246,0,5347,246,0,5346,246,0, + 5345,246,0,5344,246,0,5362,246,0,5361, + 246,0,5360,246,0,5359,246,0,5358,246, + 0,5357,246,0,5356,246,0,5355,246,0, + 5354,246,0,5353,246,0,5352,246,0,43, + 246,5103,0,43,246,5102,0,5127,246,0, + 54,5103,0,54,5102,0,242,621,0,388, + 36,0,36,388,0,387,33,0,33,387, + 0,49,5125,0,49,41,0,5103,54,0, + 5102,54,0,2444,134,0,2444,133,0,30, + 512,0,5418,438,0,1707,438,0,5127,1, + 0,43,1,0,53,41,0,1,98,0, + 41,53,0,5127,233,1,0,43,233,1, + 0,233,412,0,41,5103,0,41,5102,0, + 1,5103,2,0,1,5102,2,0,41,5103, + 2,0,41,5102,2,0,5103,40,0,5102, + 40,0,5125,51,0,51,41,0,5095,403, + 0,5094,403,0,1,980,0,1,582,0, + 1,4346,0,233,411,0,3087,322,0,5418, + 101,0,1707,101,0,39,79,0,1,5418, + 0,1,1707,0,43,1,5103,2,0,43, + 1,5102,2,0,43,5103,2,0,43,5102, + 2,0,283,3412,0,1,2894,0,1,3521, + 0,5093,1,0,494,3453,0,233,1,0, + 233,1,3244,0,5095,233,0,5094,233,0, + 3415,233,0,8,10,0,233,225,0,233, + 224,0,191,3232,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1018,308 +1038,299 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 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, - 0,31,32,33,34,35,36,0,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,0,57,58,59, - 60,61,62,63,64,0,1,2,68,69, - 70,71,7,73,0,75,76,77,78,79, - 80,81,8,83,84,85,86,87,0,1, + 0,0,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,0,63,64,65,0,0,68,69, + 70,71,0,0,74,8,76,77,78,79, + 80,81,82,83,84,85,86,87,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,62,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,57,58,59,60,61, - 62,63,64,0,0,30,68,69,70,71, - 123,73,8,75,76,77,78,79,80,81, - 0,83,84,85,86,87,0,1,2,3, + 22,23,24,25,26,27,28,29,88,89, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,63,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 0,63,64,65,88,89,68,69,70,71, + 88,89,74,101,76,77,78,79,80,81, + 82,83,84,85,86,87,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,0,31,32,33, - 34,35,36,0,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,0,57,58,59,60,61,62,63, - 64,88,89,30,68,69,70,0,0,73, - 0,75,76,77,78,79,80,81,0,83, + 24,25,26,27,28,29,0,0,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,55,56,57,58,59,60,61,31,63, + 64,65,0,1,2,69,70,71,0,7, + 74,101,76,77,78,79,80,81,82,83, 84,85,86,87,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,0,31,32,33,34,35, - 36,0,38,39,40,41,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 72,57,58,59,60,61,62,63,64,97, - 98,30,68,69,70,88,89,73,0,75, - 76,77,78,79,80,81,0,83,84,85, + 26,27,28,29,88,89,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,55, + 56,57,58,59,60,61,0,63,64,65, + 0,1,2,69,70,71,88,89,74,0, + 76,77,78,79,80,81,82,83,84,85, 86,87,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,0,31,32,33,34,35,36,0, + 28,29,0,0,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,0,57, - 58,59,60,61,62,63,64,0,1,2, - 68,69,70,0,0,73,37,75,76,77, - 78,79,80,81,0,83,84,85,86,87, + 0,49,50,51,52,53,54,55,56,57, + 58,59,60,61,0,63,64,65,0,1, + 2,69,70,71,0,99,74,0,76,77, + 78,79,80,81,82,83,84,85,86,87, 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, - 0,31,32,33,34,35,36,0,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,72,57,58,59, - 60,61,62,63,64,0,1,2,68,69, - 70,88,89,73,37,75,76,77,78,79, - 80,81,0,83,84,85,86,87,0,1, + 46,47,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,119,63,64,65,0,1,2,69, + 70,71,0,99,74,3,76,77,78,79, + 80,81,82,83,84,85,86,87,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,0,31, - 32,33,34,35,36,95,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,57,58,59,60,61, - 62,63,64,0,1,2,68,69,70,0, - 0,73,0,75,76,77,78,79,80,81, - 0,83,84,85,86,87,0,1,2,3, + 22,23,24,25,26,27,28,29,0,0, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,0,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 31,63,64,65,0,1,2,69,70,71, + 0,0,74,3,76,77,78,79,80,81, + 82,83,84,85,86,87,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,0,31,32,33, - 34,35,36,0,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,72,57,58,59,60,61,62,63, - 64,0,72,30,68,69,70,88,89,73, - 0,75,76,77,78,79,80,81,0,83, + 24,25,26,27,28,29,0,0,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,55,56,57,58,59,60,61,31,63, + 64,65,0,1,2,69,70,71,0,0, + 74,3,76,77,78,79,80,81,82,83, 84,85,86,87,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,0,31,32,33,34,35, - 36,0,38,39,40,41,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 0,57,58,59,60,61,62,63,64,88, - 89,30,68,69,70,0,0,73,3,75, - 76,77,78,79,80,81,10,83,84,85, + 26,27,28,29,0,0,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,55, + 56,57,58,59,60,61,0,63,64,65, + 0,1,2,69,70,71,0,0,74,3, + 76,77,78,79,80,81,82,83,84,85, 86,87,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,0,31,32,33,34,35,36,0, + 28,29,0,57,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,0,57, - 58,59,60,61,62,63,64,97,98,0, - 68,69,70,4,0,73,37,75,76,77, - 78,79,80,81,0,83,84,85,86,87, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, + 0,49,50,51,52,53,54,55,56,57, + 58,59,60,61,119,63,64,65,0,1, + 2,69,70,71,0,0,74,0,76,77, + 78,79,80,81,82,83,84,85,86,87, + 0,1,2,3,4,5,6,7,8,31, + 10,11,12,28,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 0,31,32,33,34,35,36,95,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,72,57,58,59, - 60,61,62,63,64,0,1,2,68,69, - 70,0,0,73,3,75,76,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,0,10,11, - 12,4,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,72,57,0,1,2,3, - 62,5,0,7,72,30,68,69,70,0, - 1,2,3,4,5,6,7,8,9,10, - 0,0,13,14,15,16,17,18,19,20, - 21,22,23,24,25,0,1,2,3,4, - 5,6,7,8,0,0,37,0,0,0, - 3,3,56,9,45,46,47,48,49,50, - 51,52,53,54,55,0,0,58,0,1, - 2,62,6,5,26,27,0,68,69,70, - 71,72,73,0,1,2,0,4,5,3, - 7,82,0,1,2,3,4,5,6,7, - 8,9,10,56,56,13,14,15,16,17, - 18,19,20,21,22,23,24,25,74,0, - 37,100,0,114,115,116,0,1,2,37, - 4,66,6,0,8,9,0,45,46,47, - 48,49,50,51,52,53,54,55,99,30, - 58,103,30,67,62,0,0,91,92,0, - 68,69,70,71,72,73,30,0,120,10, - 3,0,0,6,82,8,9,101,11,12, - 13,9,0,1,2,3,4,5,6,7, - 8,72,0,26,27,0,4,30,0,4, - 74,65,0,0,1,2,114,115,116,0, - 1,2,14,4,0,0,1,2,3,60, - 5,95,7,56,9,30,0,56,13,93, - 94,0,65,66,67,0,0,45,71,72, - 37,74,0,45,46,47,48,49,50,51, - 52,53,54,55,72,88,89,90,91,92, + 0,0,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,0,0, + 1,2,3,63,5,123,7,0,0,69, + 70,71,0,1,2,3,4,5,6,7, + 8,9,10,0,100,13,14,15,16,17, + 18,19,20,21,22,23,24,25,0,1, + 2,0,4,31,0,1,2,3,4,5, + 6,7,8,0,1,2,0,45,46,47, + 4,49,50,51,52,53,54,55,56,31, + 58,72,0,1,2,63,4,5,0,7, + 68,69,70,71,72,62,74,75,0,1, + 2,3,4,5,6,7,8,9,10,0, + 102,13,14,15,16,17,18,19,20,21, + 22,23,24,25,0,117,72,64,65,31, + 0,1,2,0,0,0,114,115,116,4, + 0,0,9,45,46,47,13,49,50,51, + 52,53,54,55,56,0,58,0,1,2, + 3,63,5,8,7,30,68,69,70,71, + 72,0,74,75,3,0,0,6,0,8, + 9,3,11,12,13,9,0,1,2,14, + 4,5,0,7,64,65,0,26,27,66, + 66,30,0,0,1,2,3,4,5,6, + 7,8,114,115,116,0,14,31,3,48, + 45,46,47,0,49,50,51,52,53,54, + 55,56,9,62,0,0,13,66,67,68, + 0,1,2,72,73,5,0,45,46,47, + 4,49,50,51,52,53,54,55,56,88, + 89,90,91,92,93,94,95,96,97,98, + 99,100,101,102,103,104,105,106,107,108, + 109,110,111,112,113,0,90,0,117,118, + 3,120,96,6,118,8,9,62,11,12, + 13,67,0,1,2,3,4,5,6,7, + 8,0,0,26,27,4,0,30,0,1, + 2,3,4,5,6,7,8,0,1,2, + 14,4,5,48,7,48,102,0,104,105, + 106,107,108,109,110,111,112,113,0,62, + 48,117,0,66,67,68,45,9,31,72, + 73,45,46,47,0,49,50,51,52,53, + 54,55,56,0,0,88,89,90,91,92, 93,94,95,96,97,98,99,100,101,102, 103,104,105,106,107,108,109,110,111,112, - 113,67,56,0,117,118,3,120,0,6, - 118,8,9,0,11,12,13,0,1,2, - 3,4,5,6,7,8,114,115,116,26, - 27,0,0,30,0,4,102,5,104,105, - 106,107,108,109,110,111,112,113,14,0, - 99,117,3,0,1,2,3,101,5,56, - 7,0,9,0,1,2,13,4,65,66, - 67,0,0,56,71,72,45,74,65,45, - 46,47,48,49,50,51,52,53,54,55, - 0,88,89,90,91,92,93,94,95,96, - 97,98,99,100,101,102,103,104,105,106, - 107,108,109,110,111,112,113,0,1,2, - 117,118,59,120,0,1,2,3,4,5, - 6,7,8,0,10,11,12,65,66,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,37,31,32,33,34,35, - 36,100,38,39,40,41,42,43,44,0, - 1,2,3,4,5,6,7,8,0,1, - 2,57,4,0,6,0,8,63,64,0, - 1,2,102,4,5,0,7,73,0,1, - 2,3,4,5,6,7,8,117,10,11, - 12,28,0,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,95,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,0,9,0,1,2,3,4, - 5,6,7,8,0,57,0,0,1,2, - 65,63,64,65,0,1,2,3,4,5, - 6,7,8,9,10,11,12,65,66,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,37,31,32,33,34,35, - 36,56,38,39,40,41,42,43,44,74, - 56,0,67,0,1,2,0,4,5,0, - 7,57,66,59,0,0,1,2,3,4, - 95,6,0,8,0,71,0,1,2,3, - 4,5,6,7,8,9,10,11,12,30, - 37,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,31,32,33, - 34,35,36,57,38,39,40,41,42,43, - 44,56,0,1,2,3,0,5,0,7, - 4,3,6,57,8,59,30,65,0,1, - 2,3,4,5,6,7,8,71,10,11, - 12,0,0,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,0,0,0,0,3,3,0, - 0,0,9,9,72,57,6,0,0,1, - 2,63,64,0,1,2,3,4,5,6, - 7,8,0,10,11,12,65,66,15,16, + 113,0,1,2,117,118,0,120,0,1, + 2,3,4,5,6,7,8,0,10,11, + 12,73,5,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,0,66, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,0,1,2,3,0,5,95, + 7,4,9,0,90,57,13,4,30,6, + 96,8,64,65,0,1,2,3,72,5, + 0,7,74,0,1,2,3,4,5,6, + 7,8,0,10,11,12,4,0,15,16, 17,18,19,20,21,22,23,24,25,26, - 27,28,29,65,31,32,33,34,35,36, - 56,38,39,40,41,42,43,44,59,65, - 66,0,1,2,71,4,65,6,74,8, - 57,63,64,0,1,2,63,64,0,1, + 27,28,29,0,0,32,33,34,35,36, + 37,38,39,40,41,42,43,44,0,1, + 2,0,1,2,3,4,5,6,7,8, + 57,0,0,1,2,62,4,64,65,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,48,0,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,48, + 67,32,33,34,35,36,37,38,39,40, + 41,42,43,44,114,115,116,100,67,0, + 59,0,1,2,0,4,57,6,59,8, + 9,0,0,1,2,0,4,68,0,1, 2,3,4,5,6,7,8,9,10,11, - 12,91,92,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,31, - 32,33,34,35,36,119,38,39,40,41, - 42,43,44,0,1,2,3,4,5,6, - 7,8,0,10,11,12,63,64,15,16, + 12,0,28,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,0,0, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,0,1,2,3,0,5,0, + 7,59,9,62,73,57,13,59,0,1, + 2,0,4,5,3,7,68,0,1,2, + 3,4,5,6,7,8,95,10,11,12, + 0,0,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,0,119,32, + 33,34,35,36,37,38,39,40,41,42, + 43,44,0,1,2,0,1,2,3,4, + 0,6,0,8,57,0,1,2,67,4, + 0,64,65,0,1,2,3,4,5,6, + 7,8,62,10,11,12,97,98,15,16, 17,18,19,20,21,22,23,24,25,26, - 27,28,29,0,31,32,33,34,35,36, - 0,38,39,40,41,42,43,44,0,9, - 0,3,0,1,2,3,6,5,0,7, - 57,3,59,0,1,2,3,4,5,6, - 7,8,0,10,11,12,118,65,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,0,31,32,33,34,35,36, - 0,38,39,40,41,42,43,44,56,0, - 0,11,12,3,74,5,6,0,8,0, - 57,11,12,14,15,16,17,18,19,20, - 21,22,23,24,25,0,26,27,0,29, - 30,0,0,1,2,28,4,9,6,14, - 8,13,11,12,45,46,47,48,49,50, - 51,52,53,54,55,72,56,0,0,1, - 2,0,4,63,64,65,66,67,11,12, - 45,46,47,48,49,50,51,52,53,54, - 55,0,0,0,0,1,2,6,88,89, - 90,91,92,93,94,37,14,97,98,99, - 100,101,102,103,104,105,106,107,108,109, - 110,111,112,113,0,0,0,3,3,5, - 6,37,8,0,0,11,12,45,46,47, - 48,49,50,51,52,53,54,55,0,56, - 26,27,4,29,30,0,1,2,0,4, - 0,6,0,8,0,1,2,3,10,5, - 0,7,0,1,2,3,0,5,30,7, - 56,56,91,92,0,1,2,63,64,65, - 66,67,0,1,2,37,4,5,65,7, - 0,1,2,0,0,5,3,7,4,0, - 1,2,88,89,90,91,92,93,94,59, - 62,97,98,99,100,101,102,103,104,105, - 106,107,108,109,110,111,112,113,0,1, + 27,28,29,48,0,32,33,34,35,36, + 37,38,39,40,41,42,43,44,97,98, + 0,0,1,2,3,0,5,90,7,9, + 57,0,62,96,9,0,66,64,65,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,48,0,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,48, + 0,32,33,34,35,36,37,38,39,40, + 41,42,43,44,0,1,2,3,4,5, + 6,7,8,73,10,11,12,62,73,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,0,95,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 1,2,0,4,0,6,0,8,0,1, + 2,57,10,59,0,1,2,3,4,5, + 6,7,8,0,10,11,12,118,0,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,121,0,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 0,0,60,3,3,0,5,6,0,8, + 0,57,11,12,0,30,0,3,0,14, + 0,3,0,1,2,9,6,26,27,30, + 29,30,0,1,2,3,90,5,30,7, + 26,27,96,0,0,1,2,4,48,48, + 45,46,47,31,49,50,51,52,53,54, + 55,56,48,62,0,64,65,66,67,59, + 0,0,1,2,0,31,5,3,7,9, + 48,0,66,9,68,0,0,6,45,88, + 89,90,91,92,93,94,11,12,97,98, + 99,100,101,102,103,104,105,106,107,108, + 109,110,111,112,113,0,30,103,3,0, + 5,6,48,8,0,6,11,12,4,0, + 1,2,0,4,120,6,62,8,68,0, + 66,26,27,0,29,30,3,73,0,1, + 2,0,4,0,6,0,8,114,115,116, + 0,1,2,48,4,10,6,0,8,0, + 1,2,91,92,5,0,0,62,0,64, + 65,66,67,0,0,0,11,12,0,6, + 0,48,0,3,9,11,12,30,13,0, + 31,9,3,88,89,90,91,92,93,94, + 91,92,97,98,99,100,101,102,103,104, + 105,106,107,108,109,110,111,112,113,0, + 1,2,3,4,5,6,7,8,48,10, + 11,12,66,0,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,0, + 68,32,33,34,35,36,37,38,39,40, + 41,42,43,44,91,92,0,48,0,1, 2,3,4,5,6,7,8,0,10,11, - 12,4,0,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,59,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,121,9,0,1,2,3,4, - 5,6,7,8,56,10,11,12,46,47, + 12,48,0,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,0,0, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,0,48,66,0,1,2,3, + 4,5,6,7,8,57,10,11,12,30, + 48,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,0,0,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,0,1,2,3,4,5,6,7,8, + 72,10,11,12,0,62,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,0,0,32,33,34,35,36,37,38, + 39,40,41,42,43,44,0,1,2,3, + 4,5,6,7,8,0,10,11,12,72, + 28,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,62,0,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,0,1,2,0,4,0,1,2,0, + 0,10,3,72,4,14,15,16,17,18, + 19,20,21,22,23,24,25,0,1,2, + 0,0,1,2,30,0,0,31,0,9, + 30,76,0,1,2,9,45,46,47,13, + 49,50,51,52,53,54,55,56,31,0, + 1,2,31,4,63,30,62,0,30,10, + 69,70,71,14,15,16,17,18,19,20, + 21,22,23,24,25,0,0,1,2,3, + 4,5,6,7,8,9,66,93,94,13, + 14,59,0,73,45,46,47,72,49,50, + 51,52,53,54,55,56,30,0,0,0, + 0,3,63,0,0,0,3,3,69,70, + 71,45,46,47,48,49,50,51,52,53, + 54,55,56,0,1,2,3,4,5,6, + 7,8,9,0,0,0,13,14,0,73, + 0,0,9,9,122,0,13,0,66,14, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,0,31,32,33,34, - 35,36,0,38,39,40,41,42,43,44, - 0,122,0,0,1,2,3,4,5,6, - 7,8,57,10,11,12,71,0,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,0,31,32,33,34,35,36, - 0,38,39,40,41,42,43,44,0,1, - 2,3,4,5,6,7,8,0,10,11, - 12,59,0,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,0,1,2,3,4,5,6, - 7,8,0,10,11,12,66,0,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,0,31,32,33,34,35,36, - 0,38,39,40,41,42,43,44,0,1, - 2,0,4,0,0,1,2,0,10,5, - 0,4,14,15,16,17,18,19,20,21, - 22,23,24,25,0,1,2,0,0,67, - 3,114,115,116,0,1,2,30,4,0, - 30,37,3,45,46,47,48,49,50,51, - 52,53,54,55,0,0,1,2,30,4, - 62,37,0,1,2,10,68,69,70,14, - 15,16,17,18,19,20,21,22,23,24, - 25,0,1,2,3,4,5,6,7,8, - 9,90,0,65,13,14,4,96,0,37, - 45,46,47,48,49,50,51,52,53,54, - 55,30,0,0,0,0,4,62,0,1, - 2,93,94,68,69,70,45,46,47,48, - 49,50,51,52,53,54,55,56,0,1, - 2,3,4,5,6,7,8,9,0,0, - 0,13,14,0,0,74,0,9,0,1, - 2,13,9,0,66,0,1,2,3,4, - 5,6,7,8,9,0,1,2,13,14, - 30,67,0,45,46,47,48,49,50,51, - 52,53,54,55,56,30,0,1,2,0, - 0,0,37,90,0,90,0,0,0,96, - 10,96,74,9,66,65,9,13,0,66, - 13,3,66,58,71,60,61,0,1,2, - 3,4,5,6,7,8,9,37,0,90, - 13,14,0,93,94,96,0,82,66,3, - 0,9,0,1,2,3,4,5,6,7, - 8,9,62,0,37,13,14,0,1,2, - 3,4,5,6,7,8,9,0,74,0, - 13,14,0,75,0,58,9,60,61,37, - 0,9,0,1,2,13,0,0,71,9, - 3,0,56,0,37,67,56,0,66,82, - 58,0,60,61,30,0,74,0,3,56, - 3,0,0,71,3,58,30,60,61,0, - 0,30,3,3,82,0,0,0,71,0, - 1,2,3,4,5,6,7,8,9,82, - 0,74,13,14,0,1,2,3,4,5, - 6,7,8,9,74,0,0,13,14,3, - 67,0,0,0,67,3,37,0,67,0, - 1,2,3,4,5,6,7,8,9,67, - 0,37,13,14,59,0,59,58,3,60, - 61,0,0,67,3,3,0,0,0,59, - 71,3,58,0,60,61,37,0,0,0, - 0,82,0,0,0,71,0,0,0,0, - 0,0,0,0,28,0,82,58,67,60, - 61,0,1,2,3,4,5,6,7,8, - 9,0,30,76,13,14,66,0,0,0, - 0,82,0,0,0,0,0,1,2,3, - 4,5,6,7,8,9,0,0,37,13, - 14,0,0,0,119,67,0,0,0,0, - 0,0,119,0,0,0,0,0,0,58, - 0,60,61,37,0,0,0,0,0,0, + 25,62,62,0,0,66,66,4,45,46, + 47,48,49,50,51,52,53,54,55,56, + 45,46,47,0,49,50,51,52,53,54, + 55,56,95,30,30,0,73,0,1,2, + 3,4,5,6,7,8,9,73,67,0, + 13,14,67,30,0,0,0,1,2,3, + 4,5,6,7,8,9,0,30,31,13, + 14,0,0,1,2,3,4,5,6,7, + 8,9,0,0,30,13,14,31,0,0, + 0,3,10,4,59,58,30,60,61,9, + 0,30,0,31,0,0,0,3,0,3, + 0,9,75,31,58,0,60,61,3,0, + 0,72,67,3,68,0,0,0,62,0, + 58,75,60,61,0,30,0,10,0,3, + 68,3,59,0,0,63,3,75,0,1, + 2,3,4,5,6,7,8,9,31,93, + 94,13,14,73,0,1,2,3,4,5, + 6,7,8,9,0,73,66,13,14,31, + 0,1,2,3,4,5,6,7,8,9, + 63,72,67,13,14,31,67,0,72,0, + 3,67,3,59,30,0,58,0,60,61, + 0,31,0,0,0,0,68,0,3,0, + 0,0,58,75,60,61,0,0,0,0, + 0,0,68,0,0,0,62,0,58,75, + 60,61,0,30,0,0,0,0,68,0, + 0,0,0,0,0,75,0,1,2,3, + 4,5,6,7,8,9,59,93,94,13, + 14,66,0,1,2,3,4,5,6,7, + 8,9,72,0,67,13,14,31,0,1, + 2,3,4,5,6,7,8,9,77,0, + 67,13,14,31,67,0,0,95,0,0, + 0,0,0,0,58,0,60,61,0,31, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,82,58,0,60,61,0,0, + 58,75,60,61,0,0,0,0,0,0, + 0,0,0,0,0,0,58,75,60,61, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,82,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,0, 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; @@ -1327,306 +1338,297 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface TermAction { public final static char termAction[] = {0, - 4990,4965,4962,4962,4962,4962,4962,4962,4962,4975, - 1,1,1,4972,1,1,1,1,1,1, + 5085,5060,5057,5057,5057,5057,5057,5057,5057,5070, + 1,1,1,5067,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,4990,1,1, + 127,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5085,1, + 1,1,1,1,1,1,1,1,1587,802, + 2656,3218,143,1,1,1,131,137,5092,1, + 1,1,130,5085,5266,2216,2608,3315,2328,2097, + 2177,3242,2886,3313,2304,3303,3649,3275,8,5073, + 5073,5073,5073,5073,5073,5073,5073,5073,5073,5073, + 5073,5073,5073,5073,5073,5073,5073,5073,5073,5073, + 5073,5073,5073,5073,5073,5073,5073,5073,780,2864, + 5073,5073,5073,5073,5073,5073,5073,5073,5073,5073, + 5073,5073,5073,5073,5073,5073,3700,5073,5073,5073, + 5073,5073,5073,5073,5073,5073,5073,5073,5073,5073, + 144,5073,5073,5073,780,2864,5073,5073,5073,5073, + 780,2864,5073,586,5073,5073,5073,5073,5073,5073, + 5073,5073,5073,5073,5073,5073,5085,5060,5057,5057, + 5057,5057,5057,5057,5057,5064,1,1,1,5067, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,4990,1,1297,1015, - 1918,3145,1,1,1,42,4625,4622,1,1, - 1,4997,1082,5171,137,1488,3249,2508,2045,2374, - 3171,2889,2196,3236,565,3210,3184,3209,8,4978, - 4978,4978,4978,4978,4978,4978,4978,4978,4978,4978, - 4978,4978,4978,4978,4978,4978,4978,4978,4978,4978, - 4978,4978,4978,4978,4978,4978,4978,4978,4046,4978, - 4978,4978,4978,4978,4978,4990,4978,4978,4978,4978, - 4978,4978,4978,4978,4978,4978,4978,4978,4978,4978, - 4978,4978,4978,4978,4990,4978,4978,4978,4978,4978, - 4978,4978,4978,127,138,2717,4978,4978,4978,4978, - 4609,4978,2196,4978,4978,4978,4978,4978,4978,4978, - 4990,4978,4978,4978,4978,4978,4990,4965,4962,4962, - 4962,4962,4962,4962,4962,4969,1,1,1,4972, + 1,1,1,1,1,1,129,41,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,4990,1,1,1, - 1,1,1,4990,1,1,1,1,1,1, + 1,1,1,1,5085,1,1,1,1,1, + 1,1,1,1,1587,802,2656,3218,5125,1, + 1,1,42,4720,4717,1,1,1,128,1135, + 5266,586,2608,3315,2328,2097,2177,3242,2886,3313, + 2304,3303,3649,3275,5085,5060,5057,5057,5057,5057, + 5057,5057,5057,5064,1,1,1,5067,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,135,1,1297,1015,1918,3145,1,1, - 1,2802,2827,3334,1,1,1,131,4990,5171, - 4990,1488,3249,2508,2045,2374,3171,2889,4990,3236, - 565,3210,3184,3209,4990,4965,4962,4962,4962,4962, - 4962,4962,4962,4969,1,1,1,4972,1,1, + 1,1,1,1,780,2864,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,4990,1,1,1,1,1, - 1,4990,1,1,1,1,1,1,1,1, + 1,1,5085,1,1,1,1,1,1,1, + 1,1,1587,802,2656,3218,139,1,1,1, + 5085,5102,5103,1,1,1,780,2864,5266,5085, + 2608,3315,2328,2097,2177,3242,2886,3313,2304,3303, + 3649,3275,5085,5060,5057,5057,5057,5057,5057,5057, + 5057,5064,1,1,1,5067,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1742,1,1297,1015,1918,3145,1,1,1,2252, - 2225,3484,1,1,1,2802,2827,5171,4990,1488, - 3249,2508,2045,2374,3171,2889,4990,3236,565,3210, - 3184,3209,4990,4965,4962,4962,4962,4962,4962,4962, - 4962,4969,1,1,1,4972,1,1,1,1, + 1,1,5085,5085,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,4990,1,1,1,1,1,1,41, + 5085,1,1,1,1,1,1,1,1,1, + 1587,802,2656,3218,140,1,1,1,5085,4883, + 4880,1,1,1,339,902,5266,5085,2608,3315, + 2328,2097,2177,3242,2886,3313,2304,3303,3649,3275, + 5085,5060,5057,5057,5057,5057,5057,5057,5057,5064, + 1,1,1,5067,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,4990,1, - 1297,1015,1918,3145,1,1,1,4990,5007,5008, - 1,1,1,130,420,5171,5030,1488,3249,2508, - 2045,2374,3171,2889,4990,3236,565,3210,3184,3209, - 4990,4965,4962,4962,4962,4962,4962,4962,4962,4969, - 1,1,1,4972,1,1,1,1,1,1, + 5425,5426,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5085,1, + 1,1,1,1,1,1,1,1,1587,802, + 2656,3218,3414,1,1,1,54,4910,4907,1, + 1,1,5085,902,5266,3685,2608,3315,2328,2097, + 2177,3242,2886,3313,2304,3303,3649,3275,5085,5060, + 5057,5057,5057,5057,5057,5057,5057,5064,1,1, + 1,5067,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5085,53, 1,1,1,1,1,1,1,1,1,1, - 357,1,1,1,1,1,1,53,1,1, + 1,1,1,1,1,1,5085,1,1,1, + 1,1,1,1,1,1,1587,802,2656,3218, + 855,1,1,1,54,4883,4880,1,1,1, + 5085,5085,5266,621,2608,3315,2328,2097,2177,3242, + 2886,3313,2304,3303,3649,3275,5085,5060,5057,5057, + 5057,5057,5057,5057,5057,5064,1,1,1,5067, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3584,1,1297,1015, - 1918,3145,1,1,1,4990,4788,4785,1,1, - 1,2802,2827,5171,1074,1488,3249,2508,2045,2374, - 3171,2889,4990,3236,565,3210,3184,3209,4990,4965, - 4962,4962,4962,4962,4962,4962,4962,4969,1,1, - 1,4972,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,4990,1, - 1,1,1,1,1,5346,1,1,1,1, + 1,1,1,1,1,1,5085,5085,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,4990,1,1297,1015,1918,3145, - 1,1,1,54,4815,4812,1,1,1,129, - 4990,5171,4990,1488,3249,2508,2045,2374,3171,2889, - 438,3236,565,3210,3184,3209,4990,4965,4962,4962, - 4962,4962,4962,4962,4962,4969,1,1,1,4972, + 1,1,1,1,5085,1,1,1,1,1, + 1,1,1,1,1587,802,2656,3218,2903,1, + 1,1,292,5102,5103,1,1,1,97,5085, + 5266,4738,2608,3315,2328,2097,2177,3242,2886,3313, + 2304,3303,3649,3275,5085,5060,5057,5057,5057,5057, + 5057,5057,5057,5064,1,1,1,5067,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,4990,1,1,1, - 1,1,1,4990,1,1,1,1,1,1, + 1,1,1,1,5085,377,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5386,1,1297,1015,1918,3145,1,1, - 1,128,2454,4064,1,1,1,2802,2827,5171, - 4990,1488,3249,2508,2045,2374,3171,2889,4990,3236, - 565,3210,3184,3209,4990,4965,4962,4962,4962,4962, - 4962,4962,4962,4969,1,1,1,4972,1,1, + 1,1,5085,1,1,1,1,1,1,1, + 1,1,1587,802,2656,3218,526,1,1,1, + 40,4979,4976,1,1,1,242,5085,5266,4886, + 2608,3315,2328,2097,2177,3242,2886,3313,2304,3303, + 3649,3275,5085,5060,5057,5057,5057,5057,5057,5057, + 5057,5064,1,1,1,5067,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,4990,1,1,1,1,1, - 1,33,1,1,1,1,1,1,1,1, + 1,1,5085,3056,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 136,1,1297,1015,1918,3145,1,1,1,2802, - 2827,4616,1,1,1,4990,303,5171,4184,1488, - 3249,2508,2045,2374,3171,2889,5292,3236,565,3210, - 3184,3209,4990,4965,4962,4962,4962,4962,4962,4962, - 4962,4969,1,1,1,4972,1,1,1,1, + 5085,1,1,1,1,1,1,1,1,1, + 1587,802,2656,3218,3414,1,1,1,5085,8369, + 8369,1,1,1,141,5085,5266,5085,2608,3315, + 2328,2097,2177,3242,2886,3313,2304,3303,3649,3275, + 43,4708,4705,3488,721,3826,3889,4346,3910,5125, + 1336,3868,3847,3417,5347,5354,5352,5361,5360,5356, + 5357,5355,5358,5359,5362,5353,3952,3931,5108,3805, + 5085,5085,644,979,5110,719,4088,969,5111,5109, + 622,5104,5106,5107,5105,5350,5425,5426,5085,5344, + 5351,5323,5349,5348,5345,5346,5324,1221,145,1, + 4964,4960,980,5481,582,4704,4346,5085,5085,635, + 5482,5483,5085,4947,4947,233,4943,233,233,233, + 233,4951,1,5085,2185,233,1,1,1,1, + 1,1,1,1,1,1,1,1,395,4708, + 4705,5085,5127,494,5085,5029,5024,980,4928,582, + 5021,4346,5018,5085,5102,5103,43,1,1,1, + 5127,1,1,1,1,1,1,1,1,43, + 1266,1972,5085,4708,4705,1,721,582,5085,4346, + 412,1,1,1,233,2238,5493,5578,5085,4947, + 4947,233,4943,233,233,233,233,5003,1,5085, + 2148,233,1,1,1,1,1,1,1,1, + 1,1,1,1,5085,3440,1972,3973,1208,494, + 5085,4883,4880,5085,163,394,5515,5516,5517,387, + 5085,5085,5095,1,1,1,5094,1,1,1, + 1,1,1,1,1,138,1266,1,4964,4960, + 980,1,582,2216,4346,637,411,1,1,1, + 233,37,5493,5578,4744,229,5085,4744,1,4744, + 4744,4500,4744,4744,4744,5089,5085,4708,4705,5347, + 721,4750,5085,4346,3973,1208,117,4744,4744,4108, + 1262,4744,230,5085,5038,5034,980,5127,582,1707, + 4346,5418,5515,5516,5517,5085,5347,652,4158,4744, + 5350,5425,5426,5085,5344,5351,5323,5349,5348,5345, + 5346,5324,5095,4744,145,5085,5094,4744,4744,4744, + 5085,5102,5103,4744,4744,1834,5085,5350,5425,5426, + 642,5344,5351,5323,5349,5348,5345,5346,5324,4744, + 4744,4744,4744,4744,4744,4744,4744,4744,4744,4744, + 4744,4744,4744,4744,4744,4744,4744,4744,4744,4744, + 4744,4744,4744,4744,4744,451,3994,5085,4744,4744, + 4747,4744,4015,4747,5088,4747,4747,2248,4747,4747, + 4747,1714,348,5038,5034,3342,5127,582,1707,4346, + 5418,43,5085,4747,4747,5127,231,4747,314,5029, + 5024,980,4928,582,5021,4346,5018,5085,4708,4705, + 5347,721,4750,4729,4346,4747,2148,5085,1673,1632, + 1591,1550,1509,1468,1427,1386,1345,1304,1,4747, + 1755,3440,5085,4747,4747,4747,1500,167,2394,4747, + 4747,5350,5425,5426,360,5344,5351,5323,5349,5348, + 5345,5346,5324,508,120,4747,4747,4747,4747,4747, + 4747,4747,4747,4747,4747,4747,4747,4747,4747,4747, + 4747,4747,4747,4747,4747,4747,4747,4747,4747,4747, + 4747,5085,4910,4907,4747,4747,5085,4747,5085,1, + 1,1,1,1,1,1,1,5085,1,1, + 1,167,1834,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5085,807, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,4990, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,4990,1, - 1297,1015,1918,3145,1,1,1,2252,2225,43, - 1,1,1,5032,4990,5171,2899,1488,3249,2508, - 2045,2374,3171,2889,4990,3236,565,3210,3184,3209, - 4990,3197,1,1,1,1,1,1,1,5000, - 1,1,1,4999,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 4990,1,1,1,1,1,1,5348,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1957,1,1297,1015, - 1918,3145,1,1,1,54,4788,4785,1,1, - 1,4990,4990,5171,983,1488,3249,2508,2045,2374, - 3171,2889,4990,3236,565,3210,3184,3209,43,4613, - 4610,3636,850,3692,3804,2484,3825,4990,1055,3783, - 3762,642,5249,5256,5254,5263,5262,5258,5259,5257, - 5260,5261,5264,5255,3867,3846,5013,3435,4990,641, - 855,5015,712,4003,756,444,5016,5014,619,5009, - 5011,5012,5010,5252,5327,5328,5246,5253,5225,5251, - 5250,5247,5248,5226,5174,1167,1,4869,4865,3303, - 5383,579,4990,2484,2998,4619,633,5384,5385,4990, - 4852,4852,230,4848,230,230,230,230,4856,1, - 4990,141,230,1,1,1,1,1,1,1, - 1,1,1,1,1,4990,4943,4939,4095,5032, - 579,1327,2484,5320,1,4990,491,1,81,139, - 3571,2997,1703,167,1,1,1,1,1,1, - 1,1,1,1,1,163,121,1256,4990,5007, - 5008,1,3740,2594,5058,5059,143,1,1,1, - 409,230,5395,4990,4613,4610,313,850,4655,3343, - 2484,5480,4990,4852,4852,230,4848,230,230,230, - 230,4908,1,1703,610,230,1,1,1,1, - 1,1,1,1,1,1,1,1,167,33, - 650,583,45,5417,5418,5419,1,4836,4836,491, - 4833,1210,1327,4990,5320,362,132,1,1,1, - 1,1,1,1,1,1,1,1,2166,632, - 1256,1906,4640,1126,1,4990,4990,3718,2975,303, - 1,1,1,408,230,5395,2426,37,1994,5292, - 4649,448,4990,4649,5480,4649,4649,2133,4649,4649, - 4649,4994,4990,4934,4929,4095,4833,579,4926,2484, - 4923,416,43,4649,4649,391,5032,4649,226,384, - 362,4628,4990,4990,8390,8390,5417,5418,5419,4990, - 4613,4610,5249,5032,145,1,4869,4865,4899,2647, - 4902,362,4905,4649,5000,632,447,4634,4999,2287, - 778,140,4649,4649,4649,4990,144,3003,4649,4649, - 5030,4649,4990,5252,5327,5328,5246,5253,5225,5251, - 5250,5247,5248,5226,1920,4649,4649,4649,4649,4649, - 4649,4649,4649,4649,4649,4649,4649,4649,4649,4649, - 4649,4649,4649,4649,4649,4649,4649,4649,4649,4649, - 4649,1662,4637,4990,4649,4649,4652,4649,4990,4652, - 4993,4652,4652,4990,4652,4652,4652,345,4943,4939, - 3303,5032,579,1327,2484,5320,5417,5418,5419,4652, - 4652,43,4990,4652,227,5032,2096,2594,1621,1580, - 1539,1498,1457,1416,1375,1334,1293,1252,5249,97, - 2166,2768,4643,1,4869,4865,4095,2133,579,4652, - 2484,142,311,4990,4613,4610,311,5032,4652,4652, - 4652,4990,30,1703,4652,4652,2188,4652,2309,5252, - 5327,5328,5246,5253,5225,5251,5250,5247,5248,5226, - 145,4652,4652,4652,4652,4652,4652,4652,4652,4652, - 4652,4652,4652,4652,4652,4652,4652,4652,4652,4652, - 4652,4652,4652,4652,4652,4652,4652,49,4809,4809, - 4652,4652,1614,4652,4990,1,1,1,1,1, - 1,1,1,1,1,1,1,4824,4824,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,4806,1,1,1,1,1, - 1,583,1,1,1,1,1,1,1,311, - 4934,4929,4095,4833,579,4926,2484,4923,434,1, - 1,1,1,4990,4631,4990,4631,1,1,4990, - 4613,4610,2096,850,579,4990,2484,5517,1,4698, - 4694,3636,4702,3692,3804,2484,3825,2768,4658,3783, - 3762,3639,4990,4685,4691,4664,4667,4679,4676,4682, - 4673,4670,4661,4688,3867,3846,5013,3435,4177,641, - 855,5015,712,4003,756,1,5016,5014,619,5009, - 5011,5012,5010,4990,362,366,4869,4865,3303,1, - 579,1,2484,1,348,1167,505,41,4839,4839, - 2320,43,43,506,43,4613,4610,3636,850,3692, - 3804,2484,3825,4998,550,3783,3762,3344,4293,5256, - 5254,5263,5262,5258,5259,5257,5260,5261,5264,5255, - 3867,3846,5013,3435,2387,641,855,5015,712,4003, - 756,1703,5016,5014,619,5009,5011,5012,5010,362, - 1703,4990,988,4990,4613,4610,523,850,4655,384, - 2484,1167,806,4245,4990,345,43,43,3571,5032, - 362,1327,4990,5320,4990,4997,43,4613,4610,3636, - 850,3692,3804,2484,3825,4998,550,3783,3762,4646, - 2375,5256,5254,5263,5262,5258,5259,5257,5260,5261, - 5264,5255,3867,3846,5013,3435,4990,641,855,5015, - 712,4003,756,3075,5016,5014,619,5009,5011,5012, - 5010,1703,1,4869,4865,4095,43,579,239,2484, - 5032,4791,1327,1167,5320,4245,632,2364,147,4613, - 4610,3636,850,3692,3804,2484,3825,4997,550,3783, - 3762,4990,4990,5256,5254,5263,5262,5258,5259,5257, - 5260,5261,5264,5255,3867,3846,5013,3435,4990,641, - 855,5015,712,4003,756,4990,5016,5014,619,5009, - 5011,5012,5010,4990,1,1,4990,3571,4468,4990, - 123,4990,4998,341,1920,1167,3740,4990,4990,5007, - 5008,43,43,1,4698,4694,3636,4702,3692,3804, - 2484,3825,4990,4658,3783,3762,3478,4293,4685,4691, - 4664,4667,4679,4676,4682,4673,4670,4661,4688,3867, - 3846,5013,3435,2373,641,855,5015,712,4003,756, - 1703,5016,5014,619,5009,5011,5012,5010,1491,341, - 341,435,43,43,4997,5032,5492,4830,341,4827, - 1167,3888,532,4990,4788,4785,43,43,43,4613, - 4610,3636,850,3692,3804,2484,3825,4994,550,3783, - 3762,3718,2975,5256,5254,5263,5262,5258,5259,5257, - 5260,5261,5264,5255,3867,3846,5013,3435,4990,641, - 855,5015,712,4003,756,3357,5016,5014,619,5009, - 5011,5012,5010,43,4613,4610,3636,850,3692,3804, - 2484,3825,4990,550,3783,3762,3888,532,5256,5254, - 5263,5262,5258,5259,5257,5260,5261,5264,5255,3867, - 3846,5013,3435,4990,641,855,5015,712,4003,756, - 4990,5016,5014,619,5009,5011,5012,5010,4990,4996, - 4990,3345,1,4869,4865,3303,2160,579,4990,2484, - 1167,3630,4245,43,4613,4610,3636,850,3692,3804, - 2484,3825,4990,550,3783,3762,4993,5435,5256,5254, - 5263,5262,5258,5259,5257,5260,5261,5264,5255,3867, - 3846,5013,3435,4990,641,855,5015,712,4003,756, - 124,5016,5014,619,5009,5011,5012,5010,1703,225, - 1,2862,2342,833,4995,5449,5443,4990,5447,4990, - 1167,5441,5442,5249,5256,5254,5263,5262,5258,5259, - 5257,5260,5261,5264,5255,228,5472,5473,4990,5450, - 5452,126,98,1,1,3998,1,5000,4842,5249, - 4842,4999,2862,2342,5252,5327,5328,5246,5253,5225, - 5251,5250,5247,5248,5226,5173,639,125,392,4613, - 4610,4990,5032,1479,1502,5453,5474,5451,2862,2342, - 5252,5327,5328,5246,5253,5225,5251,5250,5247,5248, - 5226,122,229,106,4990,4862,4859,3740,5463,5462, - 5475,5444,5445,5468,5469,43,5249,5466,5467,5446, - 5448,5470,5471,5476,5456,5457,5458,5454,5455,5464, - 5465,5460,5459,5461,4990,347,4990,833,1655,5449, - 5443,5030,5447,4990,4990,5441,5442,5252,5327,5328, - 5246,5253,5225,5251,5250,5247,5248,5226,54,4358, - 5472,5473,5008,5450,5452,101,43,43,1,5032, - 4990,4917,191,4914,1,4869,4865,4095,4950,579, - 4990,2484,1,4869,4865,4899,4990,4902,5008,4905, - 639,1703,3718,2975,289,5007,5008,1479,1502,5453, - 5474,5451,4990,4613,4610,3005,850,579,3516,2484, - 4990,5007,5008,4990,1,579,4116,2484,385,4990, - 5007,5008,5463,5462,5475,5444,5445,5468,5469,2072, - 4953,5466,5467,5446,5448,5470,5471,5476,5456,5457, - 5458,5454,5455,5464,5465,5460,5459,5461,43,4613, - 4610,3636,850,3692,3804,2484,3825,4990,550,3783, - 3762,3051,336,5256,5254,5263,5262,5258,5259,5257, - 5260,5261,5264,5255,3867,3846,5013,3435,3671,641, - 855,5015,712,4003,756,1,5016,5014,619,5009, - 5011,5012,5010,4987,4956,43,4613,4610,3636,850, - 3692,3804,2484,3825,1247,550,3783,3762,5327,5328, - 5256,5254,5263,5262,5258,5259,5257,5260,5261,5264, - 5255,3867,3846,5013,3435,4990,641,855,5015,712, - 4003,756,4990,5016,5014,619,5009,5011,5012,5010, - 4990,3288,4990,43,4613,4610,4361,850,3692,3804, - 2484,3825,1167,550,3783,3762,4997,4990,5256,5254, - 5263,5262,5258,5259,5257,5260,5261,5264,5255,3867, - 3846,5013,3435,4990,641,855,5015,712,4003,756, - 361,5016,5014,619,5009,5011,5012,5010,43,4613, - 4610,3636,850,3692,3804,2484,3825,431,550,3783, - 3762,1015,4990,5256,5254,5263,5262,5258,5259,5257, - 5260,5261,5264,5255,3867,3846,5013,3435,4990,641, - 855,5015,712,4003,756,4990,5016,5014,619,5009, - 5011,5012,5010,43,4613,4610,3636,850,3692,3804, - 2484,3825,290,550,3783,3762,4367,4990,5256,5254, - 5263,5262,5258,5259,5257,5260,5261,5264,5255,3867, - 3846,5013,3435,4990,641,855,5015,712,4003,756, - 4990,5016,5014,619,5009,5011,5012,5010,4990,4613, - 4610,117,5032,4990,41,4845,4845,54,979,4845, - 1,5007,5249,5256,5254,5263,5262,5258,5259,5257, - 5260,5261,5264,5255,4990,4877,4873,4990,134,1832, - 4272,5417,5418,5419,4990,4613,4610,5007,5032,4990, - 632,2949,4205,5252,5327,5328,5246,5253,5225,5251, - 5250,5247,5248,5226,4990,243,4778,4774,2426,4782, - 5383,5030,51,4890,4890,979,633,5384,5385,4729, - 4765,4771,4744,4747,4759,4756,4762,4753,4750,4741, - 4768,33,384,384,4800,384,384,4800,384,4800, - 4803,3909,4990,4818,4800,384,1700,3930,288,4887, - 4720,4714,4711,4738,4717,4708,4723,4726,4735,4732, - 4705,4616,4990,120,369,119,1790,5383,40,4884, - 4881,2287,778,633,5384,5385,384,384,384,384, - 384,384,384,384,384,384,384,4803,36,385, - 385,4794,385,385,4794,385,4794,4797,4990,118, - 133,4794,385,4990,4990,4803,418,5000,4990,4815, - 4812,4999,4998,4990,1163,1,4962,4962,230,4962, - 230,230,230,230,230,392,5007,5008,230,8374, - 2426,1033,439,385,385,385,385,385,385,385, - 385,385,385,385,4797,3261,4990,7975,7646,4990, - 1,4990,4959,3909,1,3909,4990,400,1,3930, - 4950,3930,4797,169,2406,4821,4893,169,4990,901, - 4896,4271,4185,1297,4997,2477,3145,1,4962,4962, - 230,4962,230,230,230,230,4981,3005,367,3909, - 230,8374,4990,2287,778,3930,319,5480,2539,4911, - 321,4996,1,4962,4962,230,4962,230,230,230, - 230,4981,4953,105,4959,230,8374,1,4962,4962, - 230,4962,230,230,230,230,4984,1,169,4990, - 230,8374,1,3354,79,1297,4996,2477,3145,4959, - 1,5000,4990,7975,7646,4999,4990,109,222,519, - 4425,4990,1703,412,4959,1085,1703,498,4485,5480, - 1297,496,2477,3145,4920,4990,4995,280,3000,1869, - 4947,4990,39,222,4504,1297,3346,2477,3145,4990, - 4990,3574,3061,3275,5480,1,4990,4990,221,1, - 4962,4962,230,4962,230,230,230,230,4981,5480, - 4990,4995,230,8374,1,4962,4962,230,4962,230, - 230,230,230,4981,519,374,4990,230,8374,4426, - 2008,4990,4990,512,4473,4432,4959,4990,4484,1, - 4962,4962,230,4962,230,230,230,230,230,2731, - 310,4959,230,8374,4058,4990,4061,1297,4433,2477, - 3145,4990,4990,2731,4440,2712,1,4990,4990,4080, - 222,4505,1297,4990,2477,3145,4959,4990,500,4990, - 4990,5480,2,4990,4990,222,4990,4990,4990,4990, - 4990,4990,4990,4990,3131,4990,5480,1297,1791,2477, - 3145,1,4962,4962,230,4962,230,230,230,230, - 230,4990,41,3576,230,8374,4070,4990,4990,4990, - 4990,5480,4990,4990,4990,4990,1,4962,4962,230, - 4962,230,230,230,230,230,4990,4990,4959,230, - 8374,4990,4990,4990,3357,2082,4990,4990,4990,4990, - 4990,4990,3357,4990,4990,4990,4990,4990,4990,1297, - 4990,2477,3145,4959,4990,4990,4990,4990,4990,4990, - 4990,4990,4990,4990,4990,4990,4990,4990,4990,4990, - 4990,4990,4990,5480,1297,4990,2477,3145,4990,4990, - 4990,4990,4990,4990,4990,4990,4990,4990,4990,4990, - 4990,4990,4990,4990,4990,4990,4990,4990,5480 + 1,1,1,1,4964,4960,4994,1,4997,5444, + 5000,388,5095,43,3994,1,5094,5127,2660,1707, + 4015,5418,1,1,1,4964,4960,4994,1793,4997, + 434,5000,5615,1,4793,4789,3488,4797,3826,3889, + 4346,3910,5085,4753,3868,3847,2616,142,4780,4786, + 4759,4762,4774,4771,4777,4768,4765,4756,4783,3952, + 3931,5108,3805,293,450,644,979,5110,719,4088, + 969,5111,5109,622,5104,5106,5107,5105,395,5102, + 5103,369,4964,4960,3342,1,582,1,4346,1, + 1221,5085,5085,4708,4705,509,5127,43,43,43, + 4708,4705,3488,721,3826,3889,4346,3910,5093,563, + 3868,3847,4732,5085,5354,5352,5361,5360,5356,5357, + 5355,5358,5359,5362,5353,3952,3931,5108,3805,1755, + 1884,644,979,5110,719,4088,969,5111,5109,622, + 5104,5106,5107,5105,5515,5516,5517,2185,1051,515, + 1748,1,4931,4931,5085,4928,1221,1707,3650,5418, + 365,5085,5085,4708,4705,5085,5127,5092,43,5102, + 5103,3488,721,3826,3889,4346,3910,5093,563,3868, + 3847,5085,3263,5354,5352,5361,5360,5356,5357,5355, + 5358,5359,5362,5353,3952,3931,5108,3805,5085,5085, + 644,979,5110,719,4088,969,5111,5109,622,5104, + 5106,5107,5105,1,4964,4960,980,5085,582,135, + 4346,2522,314,2266,365,1221,314,3650,5085,4708, + 4705,316,721,582,1379,4346,5092,147,4708,4705, + 3488,721,3826,3889,4346,3910,365,563,3868,3847, + 5085,136,5354,5352,5361,5360,5356,5357,5355,5358, + 5359,5362,5353,3952,3931,5108,3805,119,3414,644, + 979,5110,719,4088,969,5111,5109,622,5104,5106, + 5107,5105,5085,8159,7986,348,43,43,3145,5127, + 5085,1707,5085,5418,1221,5085,4708,4705,1179,5127, + 30,43,43,1,4793,4789,3488,4797,3826,3889, + 4346,3910,2293,4753,3868,3847,2271,2244,4780,4786, + 4759,4762,4774,4771,4777,4768,4765,4756,4783,3952, + 3931,5108,3805,1755,351,644,979,5110,719,4088, + 969,5111,5109,622,5104,5106,5107,5105,2271,2244, + 1,1,4964,4960,3342,5085,582,3994,4346,365, + 1221,5085,4919,4015,5091,5085,4919,43,43,43, + 4708,4705,3488,721,3826,3889,4346,3910,5089,563, + 3868,3847,1755,191,5354,5352,5361,5360,5356,5357, + 5355,5358,5359,5362,5353,3952,3931,5108,3805,1755, + 5085,644,979,5110,719,4088,969,5111,5109,622, + 5104,5106,5107,5105,43,4708,4705,3488,721,3826, + 3889,4346,3910,365,563,3868,3847,5590,5090,5354, + 5352,5361,5360,5356,5357,5355,5358,5359,5362,5353, + 3952,3931,5108,3805,5085,365,644,979,5110,719, + 4088,969,5111,5109,622,5104,5106,5107,5105,437, + 1,1,306,1,5085,4726,118,4726,5085,8159, + 7986,1221,5390,3650,43,4708,4705,3488,721,3826, + 3889,4346,3910,5085,563,3868,3847,5088,5085,5354, + 5352,5361,5360,5356,5357,5355,5358,5359,5362,5353, + 3952,3931,5108,3805,5082,5085,644,979,5110,719, + 4088,969,5111,5109,622,5104,5106,5107,5105,5085, + 1,1,1623,3145,576,232,5547,5541,5085,5545, + 5085,1221,5539,5540,81,3525,5085,2407,5085,5347, + 5085,4234,49,4904,4904,5093,2813,5570,5571,4455, + 5548,5550,1,4964,4960,3342,3994,582,4499,4346, + 5153,5154,4015,43,41,4934,4934,5127,1755,553, + 5350,5425,5426,4901,5344,5351,5323,5349,5348,5345, + 5346,5324,3029,5551,5085,1502,1572,5572,5549,2812, + 5085,5085,5102,5103,1,1043,582,3145,4346,5093, + 1755,121,931,344,5092,124,33,3783,1123,5561, + 5560,5573,5542,5543,5566,5567,2975,2361,5564,5565, + 5544,5546,5568,5569,5574,5554,5555,5556,5552,5553, + 5562,5563,5558,5557,5559,5085,4711,1960,576,123, + 5547,5541,1755,5545,5085,3783,5539,5540,960,438, + 43,43,5085,5127,2048,4925,344,4922,5092,5085, + 344,5570,5571,350,5548,5550,2601,344,98,1, + 1,5085,1,5085,4937,306,4937,5515,5516,5517, + 101,43,43,553,5127,5390,5012,447,5009,41, + 4940,4940,3761,3734,4940,126,364,5551,5085,1502, + 1572,5572,5549,122,125,403,2975,2361,5085,3783, + 322,1755,1,5006,4988,2975,2361,4714,4991,5085, + 3319,5051,4294,5561,5560,5573,5542,5543,5566,5567, + 3761,3734,5564,5565,5544,5546,5568,5569,5574,5554, + 5555,5556,5552,5553,5562,5563,5558,5557,5559,43, + 4708,4705,3488,721,3826,3889,4346,3910,1755,563, + 3868,3847,2739,106,5354,5352,5361,5360,5356,5357, + 5355,5358,5359,5362,5353,3952,3931,5108,3805,291, + 5092,644,979,5110,719,4088,969,5111,5109,622, + 5104,5106,5107,5105,3761,3734,324,836,43,4708, + 4705,3488,721,3826,3889,4346,3910,5085,563,3868, + 3847,4533,105,5354,5352,5361,5360,5356,5357,5355, + 5358,5359,5362,5353,3952,3931,5108,3805,423,45, + 644,979,5110,719,4088,969,5111,5109,622,5104, + 5106,5107,5105,5085,1755,1177,43,4708,4705,4296, + 721,3826,3889,4346,3910,1221,563,3868,3847,4735, + 1921,5354,5352,5361,5360,5356,5357,5355,5358,5359, + 5362,5353,3952,3931,5108,3805,5085,5085,644,979, + 5110,719,4088,969,5111,5109,622,5104,5106,5107, + 5105,43,4708,4705,3488,721,3826,3889,4346,3910, + 2943,563,3868,3847,5085,5533,5354,5352,5361,5360, + 5356,5357,5355,5358,5359,5362,5353,3952,3931,5108, + 3805,441,1,644,979,5110,719,4088,969,5111, + 5109,622,5104,5106,5107,5105,43,4708,4705,3488, + 721,3826,3889,4346,3910,1,563,3868,3847,5484, + 3200,5354,5352,5361,5360,5356,5357,5355,5358,5359, + 5362,5353,3952,3931,5108,3805,3560,5085,644,979, + 5110,719,4088,969,5111,5109,622,5104,5106,5107, + 5105,5085,4708,4705,132,5127,5085,4957,4954,5085, + 54,760,4526,3123,5103,5347,5354,5352,5361,5360, + 5356,5357,5355,5358,5359,5362,5353,5085,4972,4968, + 5085,51,4985,4985,2470,33,1,5125,387,5091, + 5103,3297,5085,5102,5103,5095,5350,5425,5426,5094, + 5344,5351,5323,5349,5348,5345,5346,5324,5125,246, + 4873,4869,4982,4877,5481,637,4723,5085,4741,760, + 635,5482,5483,4824,4860,4866,4839,4842,4854,4851, + 4857,4848,4845,4836,4863,5085,33,387,387,4895, + 387,387,4895,387,4895,4898,4525,2335,2306,4895, + 387,3489,421,5090,4815,4809,4806,419,4833,4812, + 4803,4818,4821,4830,4827,4800,4711,1,5085,5085, + 5085,3412,5481,5085,109,5085,3618,4520,635,5482, + 5483,387,387,387,4898,387,387,387,387,387, + 387,387,387,36,388,388,4889,388,388,4889, + 388,4889,4892,1,1,228,4889,388,5085,4898, + 5085,372,197,5091,3359,370,197,5085,3465,5347, + 5354,5352,5361,5360,5356,5357,5355,5358,5359,5362, + 5353,3401,3476,54,5085,3380,3380,5102,388,388, + 388,4892,388,388,388,388,388,388,388,388, + 5350,5425,5426,1,5344,5351,5323,5349,5348,5345, + 5346,5324,5446,5102,637,5085,4892,1,5057,5057, + 233,5057,233,233,233,233,233,5090,1094,5085, + 233,7918,1136,637,79,415,1,5057,5057,233, + 5057,233,233,233,233,5076,134,3323,5054,233, + 7918,5085,1,5057,5057,233,5057,233,233,233, + 233,5076,1,1,5015,233,7918,5054,5085,5085, + 1,3087,5045,1140,802,1587,2470,2408,3218,522, + 5085,3170,1,5054,283,5085,5085,5042,5085,4541, + 442,169,5578,3025,1587,5085,2408,3218,4463,5085, + 5085,2009,2060,3325,225,501,5085,1,4913,499, + 1587,5578,2408,3218,39,3382,5085,5045,5085,3684, + 225,4464,3577,5085,5085,5048,3177,5578,1,5057, + 5057,233,5057,233,233,233,233,5079,3025,2335, + 2306,233,7918,522,1,5057,5057,233,5057,233, + 233,233,233,5076,133,169,3387,233,7918,5054, + 1,5057,5057,233,5057,233,233,233,233,5076, + 5048,5269,4505,233,7918,5054,4513,5085,3002,5085, + 4472,1664,4514,3599,2470,313,1587,5085,2408,3218, + 5085,5054,1,2,5085,5085,224,5085,4550,5085, + 5085,5085,1587,5578,2408,3218,5085,5085,5085,5085, + 5085,5085,225,5085,5085,5085,4916,503,1587,5578, + 2408,3218,5085,41,5085,5085,5085,5085,225,5085, + 5085,5085,5085,5085,5085,5578,1,5057,5057,233, + 5057,233,233,233,233,233,3613,2335,2306,233, + 7918,4119,1,5057,5057,233,5057,233,233,233, + 233,233,5268,5085,1664,233,7918,5054,1,5057, + 5057,233,5057,233,233,233,233,233,3519,5085, + 1843,233,7918,5054,2134,5085,5085,3479,5085,5085, + 5085,5085,5085,5085,1587,5085,2408,3218,5085,5054, + 5085,5085,5085,5085,5085,5085,5085,5085,5085,5085, + 1587,5578,2408,3218,5085,5085,5085,5085,5085,5085, + 5085,5085,5085,5085,5085,5085,1587,5578,2408,3218, + 5085,5085,5085,5085,5085,5085,5085,5085,5085,5085, + 5085,5085,5085,5578 }; }; public final static char termAction[] = TermAction.termAction; @@ -1634,59 +1636,58 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Asb { public final static char asb[] = {0, - 637,1,468,224,3,940,691,691,691,691, - 66,940,422,530,422,108,208,110,225,225, - 225,225,225,225,225,225,225,424,430,435, - 432,439,437,444,442,446,445,447,128,448, - 224,208,38,38,38,38,264,70,10,419, - 38,411,362,422,422,10,561,424,362,362, - 353,208,899,37,848,68,958,208,422,424, - 775,775,70,224,225,225,225,225,225,225, - 225,225,225,225,225,225,225,225,225,225, - 225,225,225,224,224,224,224,224,224,224, - 224,224,224,224,224,225,362,362,1022,1022, - 1022,1022,311,362,10,174,947,958,523,958, - 518,958,520,958,942,66,264,411,411,10, - 225,174,370,698,625,624,471,964,964,66, - 110,411,37,224,262,847,362,261,264,263, - 261,362,411,432,432,430,430,430,437,437, - 437,437,435,435,442,439,439,445,444,446, - 1034,447,940,940,940,940,264,264,1022,984, - 1021,419,264,415,267,264,515,311,315,513, - 523,365,264,264,264,311,1022,353,411,462, - 362,700,702,264,848,225,38,428,319,362, - 68,264,264,691,263,848,224,224,224,224, - 224,940,940,208,178,415,267,515,514,515, - 311,515,365,365,264,311,264,362,629,617, - 628,702,311,262,362,428,174,847,68,264, - 262,362,362,362,362,70,70,415,414,614, - 264,267,1034,313,1075,1024,267,515,515,799, - 264,365,614,612,613,264,602,224,626,626, - 115,115,264,696,174,1082,362,264,428,429, - 428,224,319,1080,424,68,362,362,415,848, - 691,261,633,1026,258,940,681,65,800,264, - 614,225,264,602,224,224,702,848,362,700, - 617,602,482,428,70,225,411,1080,262,282, - 262,515,515,258,467,174,684,225,1034,123, - 799,264,66,66,264,791,702,262,602,429, - 362,411,468,282,262,515,523,66,1026,258, - 225,225,264,264,264,791,362,791,1021,691, - 507,507,468,523,188,681,264,940,264,264, - 940,784,791,282,855,282,1020,1020,807,189, - 66,264,70,703,784,679,737,169,940,525, - 891,282,38,38,807,188,1034,225,1034,468, - 940,940,940,189,940,264,135,468,468,264, - 523,362,361,786,809,1022,169,679,854,523, - 523,693,66,1021,180,940,180,1034,189,208, - 208,206,782,208,468,468,600,807,38,786, - 855,854,855,468,122,467,362,854,854,854, - 66,264,735,1082,362,258,362,135,468,169, - 940,362,807,854,224,1038,258,468,614,854, - 854,854,264,264,507,362,362,495,189,600, - 189,468,135,169,224,189,186,614,362,1036, - 614,614,264,468,1020,523,523,932,224,187, - 70,468,468,362,1036,468,261,189,362,70, - 468,613,189,362,1036,189 + 660,1,169,281,3,1041,738,738,738,738, + 111,1041,123,1043,123,48,265,50,282,282, + 282,282,282,282,282,282,282,125,131,136, + 133,140,138,145,143,147,146,148,185,149, + 281,265,83,83,83,83,321,10,55,120, + 83,449,495,123,123,55,1074,125,495,495, + 486,265,1000,82,856,113,540,265,123,125, + 900,900,10,281,282,282,282,282,282,282, + 282,282,282,282,282,282,282,282,282,282, + 282,282,282,281,281,281,281,281,281,281, + 281,281,281,281,281,282,495,495,604,604, + 604,604,404,495,55,231,529,540,503,540, + 498,540,500,540,524,111,321,449,449,55, + 282,231,408,758,652,651,324,546,546,111, + 50,449,82,281,319,855,495,318,321,320, + 318,495,449,133,133,131,131,131,138,138, + 138,138,136,136,143,140,140,146,145,147, + 750,148,1041,1041,1041,1041,321,321,604,566, + 603,120,321,116,360,321,507,404,515,505, + 503,519,321,321,321,404,604,486,449,163, + 495,760,762,321,856,282,83,129,452,495, + 113,321,321,738,320,856,281,281,281,281, + 281,1041,1041,265,235,116,360,507,506,507, + 404,507,519,519,321,404,321,495,656,644, + 655,762,404,319,495,129,231,855,113,321, + 319,495,495,495,495,10,10,116,115,641, + 321,360,750,406,993,740,360,507,507,723, + 321,519,641,639,640,321,710,281,653,653, + 172,172,321,756,231,606,495,321,129,130, + 129,281,452,998,125,113,495,495,116,856, + 738,318,752,742,315,1041,720,110,724,321, + 641,282,321,710,281,281,762,856,495,760, + 644,710,335,129,10,282,449,998,319,375, + 319,507,507,315,168,231,731,282,750,180, + 723,321,111,111,321,804,762,319,710,130, + 495,449,169,375,319,507,503,111,742,315, + 282,282,321,321,321,804,495,804,603,738, + 704,704,169,503,245,720,321,1041,321,321, + 1041,797,804,375,910,375,602,602,815,246, + 111,321,10,763,797,702,862,226,1041,510, + 946,375,83,83,815,245,750,282,750,169, + 1041,1041,1041,246,1041,321,192,169,169,321, + 503,495,494,799,817,604,226,702,909,503, + 503,812,111,603,237,1041,237,750,246,265, + 265,263,907,265,169,169,1113,815,83,799, + 910,909,910,169,179,168,495,909,909,909, + 111,321,795,606,495,315,495,263,226,1041, + 495,815,909,281,956,315,169,641,909,909, + 909,321,321,704,495,495,348,246,1113,246, + 169,226,281,246,243,641,495,954,641,641, + 321,169,602,503,503,1033,281,244,10,169, + 495,954,169,318,246,495,169,640,246,954 }; }; public final static char asb[] = Asb.asb; @@ -1694,118 +1695,118 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Asr { public final static byte asr[] = {0, - 123,0,9,72,118,74,13,66,0,31, - 63,32,33,64,7,34,35,36,38,57, - 39,40,41,42,43,28,26,27,8,6, - 11,12,5,29,65,44,3,48,15,16, - 62,46,17,68,49,14,18,50,51,19, - 20,52,53,21,22,54,69,55,10,70, - 23,24,47,25,45,1,2,4,0,9, - 74,15,16,31,17,32,33,18,19,20, - 34,21,22,35,36,38,57,39,40,10, + 123,0,9,72,118,73,13,66,0,9, + 73,15,16,32,17,33,34,18,19,20, + 35,21,22,36,37,38,57,39,40,10, 23,24,25,41,42,43,28,3,26,27, 8,6,11,12,29,4,44,5,7,1, - 2,64,63,0,75,59,65,72,95,74, - 56,3,9,66,13,67,0,65,72,95, - 66,118,74,71,15,16,31,63,17,32, - 33,18,19,20,64,34,21,22,35,36, - 38,57,39,40,10,23,24,25,41,42, - 43,28,26,27,11,12,29,44,9,13, - 7,5,3,1,2,8,4,6,0,82, - 114,115,116,37,72,119,121,71,73,75, - 58,60,61,77,79,86,84,76,81,83, - 85,87,59,78,80,9,13,48,62,46, - 68,49,14,50,51,52,53,54,69,55, - 70,45,47,57,63,64,10,32,36,34, - 31,40,16,25,15,21,19,20,22,23, - 18,17,24,41,44,42,43,28,39,33, - 38,26,27,11,12,29,35,8,6,3, - 4,7,5,1,2,0,82,7,114,115, - 116,58,9,3,8,6,5,72,71,13, - 73,48,15,16,62,46,17,68,49,14, - 18,50,51,19,20,52,53,21,22,54, - 69,55,10,70,23,45,24,47,25,4, - 1,2,37,0,4,59,72,0,96,90, - 11,12,91,92,88,89,30,93,94,97, - 98,99,100,101,102,117,72,95,67,104, - 105,106,107,108,109,110,111,112,113,118, - 71,13,65,1,2,8,6,4,3,56, - 66,74,9,0,1,2,9,71,0,63, - 64,3,10,32,36,34,31,40,16,25, - 15,21,19,20,22,23,18,17,24,41, - 44,42,43,28,39,33,38,5,7,4, - 26,27,8,6,11,12,29,35,1,2, - 118,9,0,57,46,7,47,5,1,2, - 4,75,59,120,103,26,27,56,3,96, - 90,6,91,92,11,12,89,88,30,93, - 94,97,98,8,99,100,101,65,95,74, - 67,104,105,106,107,108,109,110,111,112, - 113,72,118,71,102,117,66,13,9,0, - 15,16,17,18,19,20,21,22,23,24, - 25,48,46,49,14,50,51,52,53,54, - 55,45,47,13,9,74,7,1,2,56, - 3,8,6,5,4,0,65,67,66,1, - 2,0,4,30,59,72,0,37,72,4, - 1,2,59,0,1,2,122,59,0,48, - 15,16,62,46,17,68,49,14,18,50, - 51,19,20,52,53,21,22,54,69,55, - 10,70,23,45,24,47,25,1,2,4, - 64,63,11,12,6,91,92,99,8,100, - 5,29,30,65,107,108,104,105,106,112, - 111,113,89,88,109,110,97,98,93,94, - 101,102,26,27,66,90,103,3,56,67, - 0,46,57,47,9,65,95,67,66,74, - 0,67,66,71,9,0,8,6,4,5, - 7,1,2,3,56,65,67,66,9,74, - 95,0,59,72,75,0,15,16,31,63, - 17,32,33,18,19,20,64,7,34,21, - 22,35,36,38,57,39,40,10,23,24, - 25,41,42,43,1,2,3,26,27,8, - 6,11,12,5,29,4,44,73,28,0, - 59,66,0,72,9,56,3,67,66,13, - 30,0,59,67,0,7,5,3,56,6, - 8,95,48,15,16,46,17,68,49,14, - 18,50,51,19,20,52,53,21,22,54, - 69,55,10,70,23,45,24,47,25,1, - 2,4,74,9,62,0,62,46,17,68, - 49,18,50,51,19,20,52,53,21,22, - 54,69,55,10,70,23,45,24,47,25, - 16,15,48,9,3,8,6,13,58,60, - 61,82,14,30,7,4,37,5,1,2, - 0,76,0,46,47,75,3,59,72,13, - 57,9,65,95,67,66,74,0,45,1, - 2,4,114,115,116,0,119,0,61,48, - 15,16,62,46,17,68,49,82,14,18, - 50,51,19,20,52,60,53,21,22,54, - 69,55,10,70,23,58,45,24,47,25, - 9,3,8,4,13,59,6,7,1,2, - 5,37,0,71,62,46,17,68,49,18, - 50,51,19,20,52,53,21,22,54,69, - 55,70,23,45,24,47,25,16,15,48, - 9,3,8,6,13,58,61,82,14,37, - 7,1,2,5,4,10,60,0,63,64, - 26,27,11,12,29,35,41,44,42,43, - 28,39,33,38,16,25,15,21,19,20, - 22,23,18,17,24,10,32,36,34,31, - 40,8,6,4,56,7,5,1,2,3, - 0,10,68,62,69,70,16,25,15,21, - 19,20,22,23,18,17,24,75,59,72, - 95,118,71,7,53,54,55,45,47,1, - 2,52,51,50,14,49,5,4,46,48, - 9,74,13,56,3,120,96,103,90,26, - 27,8,6,11,12,91,92,88,89,30, - 93,94,97,98,99,100,101,102,117,104, - 105,106,107,108,109,110,111,112,113,67, - 66,65,0,13,9,7,5,3,1,2, - 6,8,4,72,0,9,71,63,64,57, - 26,27,8,6,11,12,29,35,3,41, - 44,42,43,28,39,33,38,16,25,15, - 21,19,20,22,23,18,17,24,32,36, - 34,31,40,59,7,1,2,4,10,5, - 0,48,15,16,62,46,17,68,49,14, - 18,50,51,19,20,52,53,21,22,54, - 69,55,10,70,23,45,24,47,25,1, - 2,4,95,0 + 2,65,64,0,32,64,33,34,65,7, + 35,36,37,38,57,39,40,41,42,43, + 28,26,27,8,6,11,12,5,29,62, + 44,3,49,15,16,63,46,17,69,50, + 14,18,51,52,19,20,53,54,21,22, + 55,70,56,10,71,23,24,47,25,45, + 1,2,4,0,57,46,7,47,5,1, + 2,4,76,59,120,103,26,27,48,3, + 96,90,6,91,92,11,12,89,88,30, + 93,94,97,98,8,99,100,101,62,95, + 73,67,104,105,106,107,108,109,110,111, + 112,113,72,118,68,102,117,66,13,9, + 0,76,59,62,72,95,73,48,3,9, + 66,13,67,0,62,72,95,66,118,73, + 68,15,16,32,64,17,33,34,18,19, + 20,65,35,21,22,36,37,38,57,39, + 40,10,23,24,25,41,42,43,28,26, + 27,11,12,29,44,9,13,7,5,3, + 1,2,8,4,6,0,75,114,115,116, + 31,72,119,121,68,74,76,58,60,61, + 78,80,86,84,77,82,83,85,87,59, + 79,81,13,9,49,63,46,69,50,14, + 51,52,53,54,55,70,56,71,45,47, + 57,64,65,10,33,37,35,32,40,16, + 25,15,21,19,20,22,23,18,17,24, + 41,44,42,43,28,39,34,38,26,27, + 11,12,29,36,8,6,3,4,7,5, + 1,2,0,15,16,17,18,19,20,21, + 22,23,24,25,49,46,50,14,51,52, + 53,54,55,56,45,47,13,9,73,7, + 1,2,48,3,8,6,5,4,0,75, + 7,114,115,116,58,9,3,8,6,5, + 72,68,13,74,49,15,16,63,46,17, + 69,50,14,18,51,52,19,20,53,54, + 21,22,55,70,56,10,71,23,45,24, + 47,25,4,1,2,31,0,64,65,3, + 10,33,37,35,32,40,16,25,15,21, + 19,20,22,23,18,17,24,41,44,42, + 43,28,39,34,38,5,7,4,26,27, + 8,6,11,12,29,36,1,2,118,9, + 0,96,90,11,12,91,92,88,89,30, + 93,94,97,98,99,100,101,102,117,72, + 95,67,104,105,106,107,108,109,110,111, + 112,113,118,68,13,62,1,2,8,6, + 4,3,48,66,73,9,0,31,72,4, + 1,2,59,0,4,30,59,72,0,1, + 2,122,59,0,4,59,72,0,1,2, + 9,68,0,10,69,63,70,71,16,25, + 15,21,19,20,22,23,18,17,24,76, + 59,72,95,118,68,7,54,55,56,45, + 47,1,2,53,52,51,14,50,5,4, + 46,49,9,73,13,48,3,120,96,103, + 90,26,27,8,6,11,12,91,92,88, + 89,30,93,94,97,98,99,100,101,102, + 117,104,105,106,107,108,109,110,111,112, + 113,67,66,62,0,49,15,16,63,46, + 17,69,50,14,18,51,52,19,20,53, + 54,21,22,55,70,56,10,71,23,45, + 24,47,25,1,2,4,95,0,67,66, + 68,9,0,8,6,4,5,7,1,2, + 3,48,62,67,66,9,73,95,0,15, + 16,32,64,17,33,34,18,19,20,65, + 7,35,21,22,36,37,38,57,39,40, + 10,23,24,25,41,42,43,1,2,3, + 26,27,8,6,11,12,5,29,4,44, + 74,28,0,62,67,66,1,2,0,46, + 57,47,9,62,95,67,66,73,0,59, + 66,0,45,1,2,4,114,115,116,0, + 72,9,48,3,67,66,13,30,0,13, + 9,7,5,3,1,2,6,8,4,72, + 0,59,72,76,0,7,5,3,48,6, + 8,95,49,15,16,46,17,69,50,14, + 18,51,52,19,20,53,54,21,22,55, + 70,56,10,71,23,45,24,47,25,1, + 2,4,73,9,63,0,46,47,76,3, + 59,72,13,57,9,62,95,67,66,73, + 0,59,67,0,119,0,61,49,15,16, + 63,46,17,69,50,75,14,18,51,52, + 19,20,53,60,54,21,22,55,70,56, + 10,71,23,58,45,24,47,25,9,3, + 8,4,13,59,6,7,1,2,5,31, + 0,63,46,17,69,50,18,51,52,19, + 20,53,54,21,22,55,70,56,10,71, + 23,45,24,47,25,16,15,49,9,3, + 8,6,13,58,60,61,75,14,30,7, + 4,31,5,1,2,0,77,0,68,63, + 46,17,69,50,18,51,52,19,20,53, + 54,21,22,55,70,56,71,23,45,24, + 47,25,16,15,49,9,3,8,6,13, + 58,61,75,14,31,7,1,2,5,4, + 10,60,0,9,68,64,65,57,26,27, + 8,6,11,12,29,36,3,41,44,42, + 43,28,39,34,38,16,25,15,21,19, + 20,22,23,18,17,24,33,37,35,32, + 40,59,7,1,2,4,10,5,0,64, + 65,26,27,11,12,29,36,41,44,42, + 43,28,39,34,38,16,25,15,21,19, + 20,22,23,18,17,24,10,33,37,35, + 32,40,8,6,4,48,7,5,1,2, + 3,0,49,15,16,63,46,17,69,50, + 14,18,51,52,19,20,53,54,21,22, + 55,70,56,10,71,23,45,24,47,25, + 1,2,4,65,64,11,12,6,91,92, + 99,8,100,5,29,30,62,107,108,104, + 105,106,112,111,113,89,88,109,110,97, + 98,93,94,101,102,26,27,66,90,103, + 3,48,67,0 }; }; public final static byte asr[] = Asr.asr; @@ -1813,59 +1814,58 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Nasb { public final static char nasb[] = {0, - 153,11,172,39,11,11,11,11,11,11, - 237,11,11,128,11,48,202,167,39,39, - 206,39,39,39,39,39,39,11,11,11, - 11,11,11,11,11,11,11,11,39,11, - 39,202,240,240,240,240,167,69,185,25, - 4,92,161,11,11,185,130,11,161,161, - 147,1,39,12,165,11,11,202,11,11, - 97,97,69,135,39,39,39,39,39,39, - 39,39,39,39,39,39,39,39,39,39, - 39,39,39,39,39,39,39,39,39,39, - 39,39,39,39,135,39,161,161,11,11, - 11,11,62,161,37,104,218,219,11,219, - 123,219,28,219,212,237,167,92,92,37, - 39,104,88,147,46,46,11,11,11,237, - 167,92,240,94,20,31,161,19,209,167, - 19,161,92,11,11,11,11,11,11,11, + 158,11,222,37,11,11,11,11,11,11, + 239,11,11,244,11,44,211,147,37,37, + 228,37,37,37,37,37,37,11,11,11, + 11,11,11,11,11,11,11,11,37,11, + 37,211,199,199,199,199,147,23,196,67, + 4,91,250,11,11,196,246,11,250,250, + 154,1,37,76,65,11,11,211,11,11, + 96,96,23,126,37,37,37,37,37,37, + 37,37,37,37,37,37,37,37,37,37, + 37,37,37,37,37,37,37,37,37,37, + 37,37,37,37,126,37,250,250,11,11, + 11,11,113,250,35,118,142,143,11,143, + 103,143,26,143,136,239,147,91,91,35, + 37,118,87,154,61,61,11,11,11,239, + 147,91,199,80,18,29,250,17,231,147, + 17,250,91,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11, - 11,11,11,11,11,11,125,10,11,11, - 11,176,167,185,185,125,185,195,185,11, - 11,185,195,167,10,11,11,174,92,11, - 161,118,185,167,165,39,240,185,85,161, - 11,10,167,11,192,165,39,135,135,135, - 135,11,11,37,11,35,232,185,185,67, - 164,67,185,210,10,164,125,161,11,143, - 11,120,163,125,161,75,176,31,11,209, - 125,161,161,161,161,69,69,185,35,56, - 167,172,11,11,79,225,232,67,67,198, - 125,210,56,11,11,125,185,39,11,11, - 46,46,167,143,104,120,161,125,185,58, - 11,135,176,193,11,11,161,161,35,165, - 11,237,185,179,181,11,11,237,157,195, - 56,39,210,35,39,39,185,165,161,118, - 14,185,11,75,69,39,92,193,20,185, - 195,185,65,16,172,104,11,39,11,60, - 221,195,237,237,10,185,120,20,35,58, - 161,92,172,120,20,65,151,114,181,16, - 39,39,10,195,195,81,161,185,11,11, - 102,102,172,151,72,11,195,11,10,10, - 11,185,81,120,187,185,11,11,185,109, - 114,10,69,159,35,11,187,226,11,210, - 79,120,240,240,23,132,11,39,11,172, - 11,11,11,133,11,210,170,172,172,210, - 83,161,161,185,185,11,179,11,185,11, - 11,11,237,11,77,11,11,11,133,239, - 239,243,11,239,172,172,11,185,240,81, - 187,185,187,172,44,11,161,138,185,185, - 237,195,11,240,161,181,161,245,172,185, - 11,161,23,138,94,39,181,172,56,187, - 138,138,195,107,102,161,161,185,133,11, - 133,172,245,181,135,133,77,56,161,185, - 56,56,107,172,11,83,83,143,39,11, - 245,172,172,161,52,172,19,133,161,245, - 172,56,133,161,52,133 + 11,11,11,11,11,11,105,10,11,11, + 11,217,147,196,196,105,196,187,196,11, + 11,196,187,147,10,11,11,215,91,11, + 250,116,196,147,65,37,199,196,93,250, + 11,10,147,11,184,65,37,126,126,126, + 126,11,11,35,11,33,234,196,196,21, + 64,21,196,232,10,64,105,250,11,150, + 11,181,63,105,250,70,217,29,11,231, + 105,250,250,250,250,23,23,196,33,57, + 147,222,11,11,78,168,234,21,21,164, + 105,232,57,11,11,105,196,37,11,11, + 61,61,147,150,118,181,250,105,196,42, + 11,126,217,185,11,11,250,250,33,65, + 11,239,196,190,192,11,11,239,74,187, + 57,37,232,33,37,37,196,65,250,116, + 12,196,11,70,23,37,91,185,18,196, + 187,196,72,14,222,118,11,37,11,51, + 207,187,239,239,10,196,181,18,33,42, + 250,91,222,181,18,72,101,175,192,14, + 37,37,10,187,187,59,250,196,11,11, + 162,162,222,101,48,11,187,11,10,10, + 11,196,59,181,202,196,11,11,196,108, + 175,10,23,248,33,11,202,169,11,232, + 78,181,199,199,85,123,11,37,11,222, + 11,11,11,124,11,232,220,222,222,232, + 134,250,250,196,196,11,190,11,196,11, + 11,11,239,11,83,11,11,11,124,224, + 224,179,11,224,222,222,11,196,199,59, + 202,196,202,222,145,11,250,129,196,196, + 239,187,11,199,250,192,250,198,196,11, + 250,85,129,80,37,192,222,57,202,129, + 129,187,121,162,250,250,196,124,11,124, + 222,192,126,124,83,57,250,196,57,57, + 121,222,11,134,134,150,37,11,241,222, + 250,53,222,17,124,250,222,57,124,53 }; }; public final static char nasb[] = Nasb.nasb; @@ -1873,31 +1873,32 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Nasr { public final static char nasr[] = {0, - 3,12,7,5,146,144,119,143,142,2, - 0,170,0,95,94,52,62,54,5,7, - 2,0,155,0,4,185,0,5,1,0, - 64,132,131,0,59,0,43,4,5,7, - 2,12,0,175,0,66,0,2,7,3, - 0,12,2,7,5,63,0,135,0,181, - 0,52,64,0,153,0,110,0,4,97, - 0,4,63,0,137,0,112,0,150,0, - 123,0,55,0,4,172,0,12,2,7, - 5,77,0,4,27,0,5,2,7,133, - 0,109,0,5,90,0,149,0,4,46, - 38,173,0,164,5,163,0,5,90,22, - 4,0,5,42,2,3,0,4,43,166, - 0,63,46,68,4,38,0,104,4,46, - 67,0,2,7,52,62,94,95,4,0, - 154,0,4,38,169,0,183,0,43,4, - 31,0,52,2,64,0,2,42,0,4, - 38,37,0,95,94,5,54,0,5,90, - 62,52,7,2,4,0,4,46,67,78, - 0,2,113,0,2,60,0,5,103,182, - 0,4,43,38,0,5,7,12,3,1, - 0,2,5,119,115,116,117,12,87,0, - 5,103,160,0,37,52,7,2,4,152, - 0,4,46,67,103,44,5,0,114,4, - 43,0,22,174,4,101,0 + 3,12,7,5,145,143,118,142,141,2, + 0,95,94,52,62,54,5,7,2,0, + 110,0,4,97,0,5,1,0,64,131, + 130,0,59,0,43,4,5,7,2,12, + 0,134,0,2,7,3,0,4,63,0, + 183,0,12,2,7,5,63,0,122,0, + 66,0,52,2,64,0,4,187,0,136, + 0,152,0,185,0,169,0,149,0,4, + 29,0,112,0,154,0,12,2,7,5, + 70,0,4,171,0,5,2,7,132,0, + 153,0,5,42,2,3,0,4,46,38, + 173,0,52,64,0,22,4,5,90,0, + 148,0,63,46,72,4,38,0,104,4, + 46,67,0,58,0,2,5,118,114,115, + 116,12,87,0,177,0,2,42,0,2, + 7,52,62,94,95,4,0,4,38,168, + 0,109,0,5,102,184,0,37,52,7, + 2,4,151,0,163,5,162,0,38,175, + 22,4,0,2,113,0,2,60,0,5, + 90,62,52,7,2,4,0,174,4,43, + 0,4,46,67,71,0,5,102,159,0, + 4,43,38,0,95,94,5,54,0,4, + 38,37,0,4,43,103,0,5,7,12, + 3,1,0,4,46,67,102,44,5,0, + 4,172,0,4,43,165,0,43,4,32, + 0 }; }; public final static char nasr[] = Nasr.nasr; @@ -1908,12 +1909,12 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 115,116,2,32,14,11,81,10,117,102, 12,13,122,68,50,54,62,70,76,77, 88,89,104,107,109,8,9,114,15,20, - 57,63,69,86,90,92,95,96,99,101, - 111,112,113,46,106,56,108,49,66,72, - 75,78,85,91,100,1,97,105,3,79, - 48,55,60,80,21,45,34,65,93,103, - 121,31,123,120,98,110,51,52,58,59, - 61,67,71,73,74,87,94,18,19,7, + 95,57,63,69,86,90,92,96,99,101, + 111,112,113,46,106,56,108,1,49,66, + 72,75,78,85,91,100,97,105,3,79, + 48,21,55,60,80,45,34,121,65,93, + 103,31,120,123,67,98,110,51,52,58, + 59,61,71,73,74,87,94,18,19,7, 16,17,22,23,33,5,24,25,26,27, 28,29,6,35,36,37,38,39,40,41, 42,43,44,82,83,84,30,119,53,4, @@ -1927,24 +1928,24 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final static char nonterminalIndex[] = {0, 132,137,139,0,0,138,235,136,0,135, 0,146,134,0,0,145,151,0,0,152, - 161,182,162,163,164,165,154,166,167,168, - 128,169,170,144,171,0,130,133,172,0, + 161,182,162,163,164,165,166,167,154,168, + 169,128,170,144,171,0,130,133,172,0, 141,140,155,180,0,0,0,0,0,0, - 0,0,148,158,175,0,205,0,189,0, - 202,206,129,0,0,207,0,174,0,0, - 0,0,0,0,0,178,127,131,0,0, + 0,0,148,158,0,205,0,175,189,0, + 202,206,129,0,0,207,0,0,178,127, + 131,174,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,188,0,0,203, 213,160,209,210,211,0,0,0,0,149, - 0,208,221,181,0,0,0,212,0,0, - 0,241,150,177,191,192,193,194,195,197, - 200,0,0,215,218,220,238,0,240,0, - 142,143,147,0,0,157,159,0,173,0, - 183,184,185,186,187,190,0,196,198,0, - 199,204,0,216,217,0,222,225,227,229, - 0,232,233,234,0,236,237,239,126,0, - 153,156,176,179,201,214,219,0,223,224, - 226,228,0,230,231,242,243,0,0,0, - 0,0,0 + 208,221,177,181,0,0,0,212,0,0, + 0,241,150,191,192,193,194,195,197,200, + 0,0,215,218,220,238,0,240,0,142, + 143,147,0,0,157,159,0,173,0,183, + 184,185,186,187,190,0,196,198,0,199, + 204,0,216,217,0,222,225,227,229,0, + 232,233,234,0,236,237,239,126,0,153, + 156,0,176,0,179,0,201,214,219,0, + 223,224,226,228,0,230,231,242,243,0, + 0,0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -1952,18 +1953,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopePrefix { public final static char scopePrefix[] = { - 146,598,617,377,549,565,576,587,357,256, - 270,292,298,304,42,281,402,440,154,606, - 385,492,20,51,75,80,85,122,182,287, - 310,321,332,262,276,520,27,367,332,625, - 27,204,235,1,14,61,71,101,136,217, - 315,328,337,346,350,458,485,514,541,545, - 635,639,643,92,7,92,136,420,436,449, - 469,533,449,556,572,583,594,194,391,503, - 56,56,143,209,212,230,251,212,212,56, - 354,464,482,489,143,56,656,105,223,424, - 476,111,111,223,56,223,411,164,99,462, - 647,654,647,654,65,430,129,99,99,240 + 146,573,592,524,540,551,562,357,256,270, + 292,298,304,42,281,377,415,154,581,467, + 20,51,75,80,85,122,182,287,310,321, + 332,262,276,495,27,367,332,600,27,204, + 235,1,14,61,71,101,136,217,315,328, + 337,346,350,433,460,489,516,520,610,614, + 618,92,7,92,136,395,411,424,444,508, + 424,531,547,558,569,194,478,56,56,143, + 209,212,230,251,212,212,56,354,439,457, + 464,143,56,631,105,223,399,451,111,111, + 223,56,223,386,164,99,437,622,629,622, + 629,65,405,129,99,99,240 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -1971,18 +1972,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,364,5,5,5,5,364,127, - 90,127,127,127,48,267,408,446,160,67, - 372,498,25,25,59,59,90,127,187,127, - 127,326,326,267,96,525,38,372,612,630, - 32,198,198,5,18,5,59,90,127,221, - 319,319,319,90,90,127,233,5,5,5, - 5,5,233,221,11,96,140,364,364,364, - 473,525,453,560,560,560,560,198,395,507, - 59,59,5,5,215,233,5,254,254,344, - 90,467,5,233,5,518,5,108,341,427, - 479,114,118,226,537,528,414,167,90,90, - 649,649,651,651,67,432,131,189,174,242 + 18,5,5,5,5,5,5,364,127,90, + 127,127,127,48,267,383,421,160,67,473, + 25,25,59,59,90,127,187,127,127,326, + 326,267,96,500,38,372,587,605,32,198, + 198,5,18,5,59,90,127,221,319,319, + 319,90,90,127,233,5,5,5,5,5, + 233,221,11,96,140,364,364,364,448,500, + 428,535,535,535,535,198,482,59,59,5, + 5,215,233,5,254,254,344,90,442,5, + 233,5,493,5,108,341,402,454,114,118, + 226,512,503,389,167,90,90,624,624,626, + 626,67,407,131,189,174,242 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -1990,18 +1991,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeLhs { public final static char scopeLhs[] = { - 44,16,16,72,16,16,16,16,72,81, - 45,86,85,117,65,50,72,71,44,16, - 72,18,3,6,160,160,157,115,44,84, - 117,116,118,51,45,133,128,72,16,16, - 128,96,56,130,75,163,160,157,125,58, - 116,116,118,174,48,55,137,17,16,16, - 16,16,16,11,112,157,125,72,71,71, - 36,133,71,16,16,16,16,96,72,18, - 164,160,175,94,102,66,57,152,76,118, - 73,69,138,137,170,133,15,157,118,114, - 20,126,126,54,133,133,72,44,157,70, - 131,42,131,42,163,114,115,44,44,56 + 44,16,16,16,16,16,16,75,81,45, + 86,85,116,65,50,75,74,44,16,18, + 3,6,159,159,156,114,44,84,116,115, + 117,51,45,132,127,75,16,16,127,96, + 55,129,78,162,159,156,124,57,115,115, + 117,176,48,58,136,17,16,16,16,16, + 16,11,112,156,124,75,74,74,36,132, + 74,16,16,16,16,96,18,163,159,177, + 94,101,66,56,151,69,117,76,73,137, + 136,169,132,15,156,117,103,20,125,125, + 54,132,132,75,44,156,68,130,42,130, + 42,162,103,114,44,44,55 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2009,18 +2010,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeLa { public final static byte scopeLa[] = { - 119,74,74,74,74,74,74,74,74,71, - 13,71,71,71,65,1,74,121,59,3, - 13,74,65,65,1,1,13,71,59,71, - 71,1,1,1,1,4,65,13,1,1, - 65,74,74,74,119,74,1,13,71,1, - 1,1,1,13,13,71,118,74,74,74, - 74,74,118,1,74,1,66,74,74,74, - 72,4,74,65,65,65,65,74,13,3, - 1,1,74,74,3,118,74,1,1,1, - 13,72,74,118,74,5,74,1,37,67, - 74,1,1,6,1,37,76,75,13,13, - 4,4,4,4,3,1,59,1,1,3 + 119,73,73,73,73,73,73,73,68,13, + 68,68,68,62,1,73,121,59,3,73, + 62,62,1,1,13,68,59,68,68,1, + 1,1,1,4,62,13,1,1,62,73, + 73,73,119,73,1,13,68,1,1,1, + 1,13,13,68,118,73,73,73,73,73, + 118,1,73,1,66,73,73,73,72,4, + 73,62,62,62,62,73,3,1,1,73, + 73,3,118,73,1,1,1,13,72,73, + 118,73,5,73,1,31,67,73,1,1, + 6,1,31,77,76,13,13,4,4,4, + 4,3,1,59,1,1,3 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2028,18 +2029,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeStateSet { public final static char scopeStateSet[] = { - 72,236,236,83,236,236,236,236,83,96, - 72,96,96,142,94,74,83,83,72,236, - 83,236,169,211,44,44,69,142,72,96, - 142,142,142,74,72,125,37,83,236,236, - 37,134,53,14,83,18,44,69,298,53, - 142,142,142,3,74,21,50,236,236,236, - 236,236,236,231,9,69,298,83,83,83, - 268,125,83,236,236,236,236,134,83,236, - 18,44,1,134,136,130,53,47,58,142, - 83,83,41,50,128,125,236,69,142,5, - 237,142,142,109,125,125,83,72,69,83, - 106,146,106,146,18,5,142,72,72,53 + 78,241,241,241,241,241,241,36,89,78, + 89,89,147,99,80,36,36,78,241,241, + 174,216,53,53,108,147,78,89,147,147, + 147,80,78,130,46,36,241,241,46,139, + 62,24,36,28,53,108,303,62,147,147, + 147,22,80,31,59,241,241,241,241,241, + 241,236,8,108,303,36,36,36,273,130, + 36,241,241,241,241,139,241,28,53,1, + 139,141,135,62,56,67,147,36,36,50, + 59,133,130,241,108,147,3,242,147,147, + 114,130,130,36,78,108,13,111,151,111, + 151,28,3,147,78,78,62 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2047,72 +2048,70 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeRhs { public final static char scopeRhs[] = {0, - 311,3,57,0,128,0,310,3,119,0, - 128,175,0,128,179,75,0,217,0,289, - 128,30,126,0,21,0,291,128,30,37, + 313,3,57,0,128,0,312,3,119,0, + 128,175,0,128,182,76,0,217,0,288, + 128,30,126,0,21,0,290,128,30,31, 0,21,55,0,34,134,0,21,55,0, - 0,291,128,30,37,191,0,21,131,0, - 289,128,30,131,0,184,129,0,144,0, - 221,3,288,0,288,0,2,0,128,0, - 184,129,227,0,184,129,45,227,0,184, - 129,307,45,0,132,188,166,129,0,130, + 0,290,128,30,31,191,0,21,131,0, + 288,128,30,131,0,184,129,0,144,0, + 221,3,287,0,287,0,2,0,128,0, + 184,129,226,0,184,129,45,226,0,184, + 129,309,45,0,132,188,166,129,0,130, 0,188,166,129,0,136,130,0,170,0, - 303,128,170,0,128,170,0,223,130,0, - 166,243,0,139,0,0,0,137,0,0, - 0,302,128,59,250,0,129,0,250,0, - 3,0,0,129,0,301,128,59,0,45, - 129,0,151,3,0,128,278,277,128,75, - 276,170,0,277,128,75,276,170,0,216, - 0,217,0,276,170,0,98,0,0,216, + 305,128,170,0,128,170,0,223,130,0, + 166,242,0,139,0,0,0,137,0,0, + 0,304,128,59,249,0,129,0,249,0, + 3,0,0,129,0,303,128,59,0,45, + 129,0,153,3,0,128,277,276,128,76, + 275,170,0,276,128,76,275,170,0,216, + 0,217,0,275,170,0,98,0,0,216, 0,217,0,204,98,0,0,216,0,217, - 0,277,128,276,170,0,216,0,204,0, + 0,276,128,275,170,0,216,0,204,0, 0,216,0,230,128,3,0,128,0,0, - 0,0,0,230,128,3,218,0,226,3, + 0,0,0,230,128,3,218,0,225,3, 0,214,128,0,209,0,188,166,176,0, 136,0,166,129,0,11,0,0,0,216, - 56,0,127,0,230,128,3,181,0,181, + 48,0,127,0,230,128,3,180,0,180, 0,2,0,0,128,0,0,0,0,0, - 200,3,0,202,0,229,128,59,28,14, + 193,3,0,202,0,229,128,59,28,14, 0,184,129,60,58,0,198,130,0,132, - 184,129,274,58,0,184,129,274,58,0, + 184,129,273,58,0,184,129,273,58,0, 184,129,67,125,60,0,229,128,59,60, 0,229,128,59,122,60,0,229,128,59, - 126,60,0,271,128,59,125,68,0,271, - 128,59,68,0,184,129,68,0,137,0, - 188,184,129,243,0,139,0,184,129,243, + 126,60,0,270,128,59,125,69,0,270, + 128,59,69,0,184,129,69,0,137,0, + 188,184,129,242,0,139,0,184,129,242, 0,188,166,129,10,0,166,129,10,0, - 95,139,0,149,0,264,128,146,0,264, - 128,170,0,162,86,0,225,161,225,298, - 3,83,0,128,174,0,225,298,3,83, - 0,130,0,128,174,0,225,161,225,161, - 225,3,83,0,225,161,225,3,83,0, - 225,3,83,0,130,0,130,0,128,174, - 0,162,3,76,192,81,0,128,130,0, - 192,81,0,110,2,133,128,130,0,238, - 3,76,0,200,167,0,34,172,0,167, - 0,178,34,172,0,238,3,87,0,192, - 155,238,3,85,0,64,174,0,238,3, - 85,0,128,174,64,174,0,297,128,59, - 0,162,0,216,78,0,31,0,162,117, - 159,0,31,172,0,177,3,0,128,152, - 0,221,3,0,216,56,261,0,162,56, - 0,177,3,294,64,129,0,128,0,0, - 0,0,294,64,129,0,2,148,128,0, - 0,0,0,177,3,35,0,150,0,127, - 37,166,129,0,32,150,0,95,139,32, - 150,0,224,184,129,0,149,32,150,0, - 177,3,40,0,162,3,40,0,162,3, - 65,177,30,31,0,177,30,31,0,21, - 2,133,128,0,162,3,65,177,30,34, - 0,177,30,34,0,162,3,65,177,30, - 36,0,177,30,36,0,162,3,65,177, - 30,32,0,177,30,32,0,221,3,127, - 188,166,129,10,0,127,188,166,129,10, - 0,139,2,0,128,0,221,3,126,176, - 166,129,10,0,176,166,129,10,0,137, - 2,0,128,0,221,3,136,0,221,3, - 140,0,162,56,140,0,256,0,32,0, - 32,142,0,165,0,162,3,0 + 95,139,0,149,0,263,128,146,0,263, + 128,170,0,162,86,0,296,161,298,299, + 3,83,0,128,174,0,298,299,3,83, + 0,130,0,128,174,0,162,3,77,196, + 82,0,128,130,0,196,82,0,110,2, + 133,128,130,0,227,3,77,0,193,167, + 0,34,172,0,167,0,178,34,172,0, + 227,3,87,0,196,156,227,3,85,0, + 64,174,0,227,3,85,0,128,174,64, + 174,0,297,128,59,0,162,0,216,79, + 0,31,0,162,117,159,0,31,172,0, + 177,3,0,128,152,0,221,3,0,216, + 48,260,0,162,48,0,177,3,293,65, + 129,0,128,0,0,0,0,293,65,129, + 0,2,148,128,0,0,0,0,177,3, + 36,0,150,0,127,31,166,129,0,32, + 150,0,95,139,32,150,0,224,184,129, + 0,149,32,150,0,177,3,40,0,162, + 3,40,0,162,3,62,177,30,32,0, + 177,30,32,0,21,2,133,128,0,162, + 3,62,177,30,35,0,177,30,35,0, + 162,3,62,177,30,37,0,177,30,37, + 0,162,3,62,177,30,33,0,177,30, + 33,0,221,3,127,188,166,129,10,0, + 127,188,166,129,10,0,139,2,0,128, + 0,221,3,126,176,166,129,10,0,176, + 166,129,10,0,137,2,0,128,0,221, + 3,136,0,221,3,140,0,162,48,140, + 0,255,0,32,0,32,142,0,165,0, + 162,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2120,37 +2119,37 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeState { public final static char scopeState[] = {0, - 763,0,4433,0,4440,4432,4426,0,2754,3375, - 1244,605,0,1320,1290,1279,0,2539,2454,0, - 3247,3208,3169,1570,1529,3130,3091,3052,2998,1488, - 2889,2487,2448,3117,2857,0,4059,4293,3517,0, - 932,887,0,4185,3584,0,3006,4194,0,1071, - 1064,0,3006,4158,4031,569,4194,3620,3993,4070, - 4172,2965,2406,4095,3324,3303,2852,0,2632,4213, - 0,2632,4213,2696,2644,3568,2578,2526,3516,3464, - 3412,3344,3247,3208,3169,3130,3091,3052,2998,2889, - 2487,2448,0,2632,4213,2696,2644,3568,2578,2526, - 3516,3464,3412,3344,0,3051,642,0,2965,4158, - 4493,4031,569,2579,3324,3054,3480,1232,2461,3308, - 2708,3465,2399,0,1994,1906,0,532,0,1372, - 1148,1123,771,569,3308,3620,3303,2852,3571,2671, - 0,4023,528,2279,0,4338,4332,4318,4289,4283, - 4267,4262,4253,4415,4409,4405,4400,4353,4240,3551, - 3231,3499,3226,2638,2471,3153,3109,0,4338,4332, - 4479,4134,4041,4318,4289,4283,3339,2921,4267,4262, - 4253,3659,4415,3522,3417,4409,2949,2594,2387,1074, - 3473,4405,1784,4400,2369,4353,4240,3551,1029,3231, - 719,3499,579,3226,2638,4023,2471,2279,3153,3109, - 3620,3993,4070,4172,2965,3006,4158,2406,3031,2894, - 4031,2784,569,4095,3324,3303,4194,2852,2750,850, - 2082,2375,650,1994,1906,4003,3972,3951,2096,2133, - 2166,583,2252,2225,2196,2827,2802,2426,2316,2287, - 778,3740,3718,2975,2862,2342,3930,3909,3888,3867, - 3846,3825,3804,3783,3762,3692,3435,1791,2045,2008, - 1957,1920,1869,1085,1033,1832,988,806,1742,1703, - 729,675,1662,1621,1580,1539,1498,1457,1416,1375, - 1334,1293,1252,528,1210,1167,942,901,860,1126, - 0 + 2732,0,3391,4472,4464,3684,0,1472,2606,1431, + 1677,0,3289,3232,3175,3118,3061,3002,2886,2549, + 2492,3177,0,1784,1759,890,0,3387,3123,0, + 3120,2861,2608,2775,2275,3289,3232,3175,3118,3061, + 3002,2886,2549,2492,0,4279,3380,3292,0,1031, + 711,0,3465,2943,0,4253,3007,0,1158,1080, + 0,4253,4148,2500,572,3007,3664,4078,4119,4212, + 2965,4108,980,3370,3342,2845,0,4271,4185,3289, + 3232,3175,3118,3061,3002,2886,2549,2492,2758,2706, + 3612,2640,2588,3560,3508,3453,3401,0,2758,2706, + 3612,2640,2588,3560,3508,3453,3401,4271,4185,0, + 2616,642,0,2965,4148,3628,2500,572,2814,3370, + 3355,3092,2947,2523,3615,709,2951,2604,0,2048, + 1960,0,1208,0,1636,1050,968,899,572,3615, + 3664,3342,2845,3145,3000,0,2649,531,2298,0, + 4374,4358,4354,4311,4288,4243,4191,3595,4450,4446, + 4441,4437,4428,3542,3257,4383,2857,2699,2675,2388, + 4378,2793,0,4374,4358,3035,2797,2695,4354,4311, + 4288,2645,1838,4243,4191,3595,3569,4450,3513,3461, + 4446,3319,1834,1043,855,3228,4441,2781,4437,2432, + 4428,3542,3257,851,4383,775,2857,582,2699,2675, + 2649,2388,2298,4378,2793,3664,4078,4119,4212,2965, + 4253,4148,4108,3265,2573,2500,2510,572,980,3370, + 3342,3007,2845,2418,721,2134,2394,652,2048,1960, + 4088,4057,4036,2148,586,902,2185,2271,2244,2216, + 2864,780,2470,2444,2335,2306,3783,3761,3734,2975, + 2361,4015,3994,3973,3952,3931,3910,3889,3868,3847, + 3826,3805,1843,2097,2060,2009,1972,1921,1136,1094, + 1884,1051,807,1793,1755,731,677,1714,1673,1632, + 1591,1550,1509,1468,1427,1386,1345,1304,531,1262, + 1221,990,931,861,1179,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2158,59 +2157,58 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface InSymb { public final static char inSymb[] = {0, - 0,293,162,128,263,40,31,34,36,32, - 10,136,126,7,131,4,3,129,35,29, + 0,292,162,128,262,40,32,35,37,33, + 10,136,126,7,131,4,3,129,36,29, 5,12,11,6,8,27,26,140,145,148, - 147,150,149,153,152,156,154,157,57,159, + 147,150,149,152,151,155,154,157,57,159, 66,3,30,30,30,30,129,3,30,167, - 128,56,3,63,64,30,7,126,177,162, - 167,128,63,64,166,165,126,3,125,127, - 103,120,3,56,90,96,12,11,92,91, - 6,94,93,65,30,88,89,8,98,97, + 128,48,3,64,65,30,7,126,177,162, + 167,128,64,65,166,165,126,3,125,127, + 103,120,3,48,90,96,12,11,92,91, + 6,94,93,62,30,88,89,8,98,97, 100,99,101,113,112,111,110,109,108,107, 106,105,104,67,117,102,177,162,177,177, - 177,177,166,221,128,128,265,266,250,267, - 243,268,68,269,270,10,129,56,56,128, - 155,128,56,3,219,218,136,127,126,10, - 129,56,294,3,188,4,177,37,5,129, - 37,221,162,147,147,145,145,145,149,149, - 149,149,148,148,152,150,150,154,153,156, - 162,157,65,65,65,65,188,176,289,134, - 292,214,129,6,59,166,233,129,127,126, - 125,59,129,129,184,166,289,214,216,159, - 226,128,3,129,166,201,3,295,167,151, - 256,188,129,126,184,166,72,3,3,3, + 177,177,166,221,128,128,264,265,249,266, + 242,267,69,268,269,10,129,48,48,128, + 156,128,48,3,219,218,136,127,126,10, + 129,48,293,3,188,4,177,31,5,129, + 31,221,162,147,147,145,145,145,149,149, + 149,149,148,148,151,150,150,154,152,155, + 162,157,62,62,62,62,188,176,288,134, + 291,214,129,6,59,166,233,129,127,126, + 125,59,129,129,184,166,288,214,216,159, + 225,128,3,129,166,194,3,294,167,153, + 255,188,129,126,184,166,72,3,3,3, 3,127,126,66,166,128,128,127,126,128, - 184,128,59,128,184,166,37,230,231,146, - 232,128,166,37,177,128,128,4,224,5, - 37,162,162,162,162,3,3,6,183,302, - 129,168,227,191,58,170,304,128,128,72, - 188,128,271,125,272,188,155,67,226,200, - 186,181,176,3,128,66,230,188,155,258, - 261,56,178,4,125,127,221,221,128,166, - 37,274,276,128,3,181,306,227,45,129, - 271,67,66,128,67,67,3,166,200,128, - 214,155,127,128,3,56,162,4,188,30, - 129,75,128,214,303,128,126,72,283,200, - 66,129,45,307,184,222,128,188,128,258, - 221,216,132,128,184,128,277,72,66,214, - 72,67,184,129,129,128,230,222,291,37, - 10,62,132,277,59,287,129,288,184,184, - 57,155,128,66,65,30,233,233,278,128, - 66,184,3,3,128,14,37,170,61,60, - 58,128,67,67,128,297,80,78,1,162, - 87,85,83,81,76,84,86,79,77,60, - 75,221,311,222,28,30,128,3,59,122, - 126,125,60,291,279,119,9,216,72,3, - 3,3,192,3,125,162,125,179,66,128, - 128,59,65,264,200,275,28,128,59,59, - 67,129,65,3,238,167,238,298,225,146, - 76,238,128,128,3,67,66,155,229,228, - 128,128,129,184,62,95,310,167,155,200, - 155,225,161,128,3,155,279,229,151,59, - 229,229,184,273,233,155,155,128,67,192, - 161,225,264,162,128,273,67,121,225,161, - 155,301,155,225,66,155 + 184,128,59,128,184,166,31,230,231,146, + 232,128,166,31,177,128,128,4,224,5, + 31,162,162,162,162,3,3,6,183,304, + 129,168,226,191,58,170,306,128,128,72, + 188,128,270,125,271,188,156,67,225,193, + 186,180,176,3,128,66,230,188,156,257, + 260,48,178,4,125,127,221,221,128,166, + 31,273,275,128,3,180,308,226,45,129, + 270,67,66,128,67,67,3,166,193,128, + 214,156,127,128,3,48,162,4,188,30, + 129,76,128,214,305,128,126,72,282,193, + 66,129,45,309,184,222,128,188,128,257, + 221,216,132,128,184,128,276,72,66,214, + 72,67,184,129,129,128,230,222,290,31, + 10,63,132,276,59,286,129,287,184,184, + 57,156,128,66,62,30,233,233,277,128, + 66,184,3,3,128,14,31,170,61,60, + 58,128,67,67,128,297,81,79,1,162, + 87,85,83,82,77,84,86,80,78,60, + 76,221,313,222,28,30,128,3,59,122, + 126,125,60,290,278,119,9,216,72,3, + 3,3,196,3,125,162,125,182,66,128, + 128,59,62,263,193,274,28,128,59,59, + 67,129,62,3,227,167,227,299,146,77, + 227,128,128,3,67,66,156,229,228,128, + 128,129,184,63,95,312,167,156,193,156, + 298,128,3,156,278,229,153,59,229,229, + 184,272,233,156,156,128,67,196,161,263, + 162,128,272,67,121,296,156,303,156,66 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2399,8 +2397,7 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse "statement_seq", "condition", "declarator", - "simple_declaration_with_declsp" + - "ec", + "for_init_statement", "function_definition", "declaration_seq", "declaration_specifiers", @@ -2475,9 +2472,9 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 73, - SCOPE_UBOUND = 119, - SCOPE_SIZE = 120, + ERROR_SYMBOL = 74, + SCOPE_UBOUND = 116, + SCOPE_SIZE = 117, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -2486,20 +2483,20 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 526, + NUM_STATES = 520, NT_OFFSET = 124, - LA_STATE_OFFSET = 5517, + LA_STATE_OFFSET = 5615, MAX_LA = 2147483647, - NUM_RULES = 527, - NUM_NONTERMINALS = 193, - NUM_SYMBOLS = 317, + NUM_RULES = 530, + NUM_NONTERMINALS = 195, + NUM_SYMBOLS = 319, SEGMENT_SIZE = 8192, - START_STATE = 2915, + START_STATE = 2889, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 123, EOLT_SYMBOL = 123, - ACCEPT_ACTION = 4609, - ERROR_ACTION = 4990; + ACCEPT_ACTION = 4704, + ERROR_ACTION = 5085; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java index eeebceb9487..0228b102210 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java @@ -16,68 +16,68 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPExpressionStatementParsersym { public final static int TK_asm = 61, - TK_auto = 48, + TK_auto = 49, TK_bool = 15, - TK_break = 77, - TK_case = 78, + TK_break = 78, + TK_case = 79, TK_catch = 119, TK_char = 16, - TK_class = 62, + TK_class = 63, TK_const = 46, - TK_const_cast = 31, - TK_continue = 79, - TK_default = 80, - TK_delete = 63, - TK_do = 81, + TK_const_cast = 32, + TK_continue = 80, + TK_default = 81, + TK_delete = 64, + TK_do = 82, TK_double = 17, - TK_dynamic_cast = 32, + TK_dynamic_cast = 33, TK_else = 121, - TK_enum = 68, - TK_explicit = 49, - TK_export = 82, + TK_enum = 69, + TK_explicit = 50, + TK_export = 75, TK_extern = 14, - TK_false = 33, + TK_false = 34, TK_float = 18, TK_for = 83, - TK_friend = 50, + TK_friend = 51, TK_goto = 84, TK_if = 85, - TK_inline = 51, + TK_inline = 52, TK_int = 19, TK_long = 20, - TK_mutable = 52, + TK_mutable = 53, TK_namespace = 60, - TK_new = 64, + TK_new = 65, TK_operator = 7, TK_private = 114, TK_protected = 115, TK_public = 116, - TK_register = 53, - TK_reinterpret_cast = 34, + TK_register = 54, + TK_reinterpret_cast = 35, TK_return = 86, TK_short = 21, TK_signed = 22, - TK_sizeof = 35, - TK_static = 54, - TK_static_cast = 36, - TK_struct = 69, + TK_sizeof = 36, + TK_static = 55, + TK_static_cast = 37, + TK_struct = 70, TK_switch = 87, - TK_template = 37, + TK_template = 31, TK_this = 38, TK_throw = 57, - TK_try = 75, + TK_try = 76, TK_true = 39, - TK_typedef = 55, + TK_typedef = 56, TK_typeid = 40, TK_typename = 10, - TK_union = 70, + TK_union = 71, TK_unsigned = 23, TK_using = 58, TK_virtual = 45, TK_void = 24, TK_volatile = 47, TK_wchar_t = 25, - TK_while = 76, + TK_while = 77, TK_integer = 41, TK_floating = 42, TK_charconst = 43, @@ -86,7 +86,7 @@ public interface CPPExpressionStatementParsersym { TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 124, - TK_LeftBracket = 56, + TK_LeftBracket = 48, TK_LeftParen = 3, TK_LeftBrace = 59, TK_Dot = 120, @@ -106,7 +106,7 @@ public interface CPPExpressionStatementParsersym { TK_RightShift = 88, TK_LeftShift = 89, TK_LT = 30, - TK_GT = 65, + TK_GT = 62, TK_LE = 93, TK_GE = 94, TK_EQ = 97, @@ -133,10 +133,10 @@ public interface CPPExpressionStatementParsersym { TK_Comma = 66, TK_zero = 44, TK_RightBracket = 118, - TK_RightParen = 74, - TK_RightBrace = 71, + TK_RightParen = 73, + TK_RightBrace = 68, TK_SemiColon = 13, - TK_ERROR_TOKEN = 73, + TK_ERROR_TOKEN = 74, TK_original_namespace_name = 122, TK_EOF_TOKEN = 123; @@ -172,13 +172,13 @@ public interface CPPExpressionStatementParsersym { "stringlit", "Bang", "LT", + "template", "const_cast", "dynamic_cast", "false", "reinterpret_cast", "sizeof", "static_cast", - "template", "this", "true", "typeid", @@ -189,6 +189,7 @@ public interface CPPExpressionStatementParsersym { "virtual", "const", "volatile", + "LeftBracket", "auto", "explicit", "friend", @@ -197,25 +198,25 @@ public interface CPPExpressionStatementParsersym { "register", "static", "typedef", - "LeftBracket", "throw", "using", "LeftBrace", "namespace", "asm", + "GT", "class", "delete", "new", - "GT", "Comma", "Assign", + "RightBrace", "enum", "struct", "union", - "RightBrace", "Colon", - "ERROR_TOKEN", "RightParen", + "ERROR_TOKEN", + "export", "try", "while", "break", @@ -223,7 +224,6 @@ public interface CPPExpressionStatementParsersym { "continue", "default", "do", - "export", "for", "goto", "if", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java index 37c9b995c22..eec73693722 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java @@ -1148,1108 +1148,1115 @@ public CPPNoCastExpressionParser(String[] mapFrom) { // constructor } // - // Rule 195: iteration_statement ::= while ( condition ) statement + // Rule 196: condition_opt ::= $Empty // - case 195: { action.builder. + case 196: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 197: iteration_statement ::= while ( condition ) statement + // + case 197: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 196: iteration_statement ::= do statement while ( expression ) ; + // Rule 198: iteration_statement ::= do statement while ( expression ) ; // - case 196: { action.builder. + case 198: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 197: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - case 197: { action.builder. - consumeStatementForLoop(); break; - } - - // - // Rule 198: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement - // - case 198: { action.builder. - consumeStatementForLoop(); break; - } - - // - // Rule 199: jump_statement ::= break ; + // Rule 199: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // case 199: { action.builder. + consumeStatementForLoop(); break; + } + + // + // Rule 201: for_init_statement ::= simple_declaration_with_declspec + // + case 201: { action.builder. + consumeStatementDeclaration(); break; + } + + // + // Rule 202: jump_statement ::= break ; + // + case 202: { action.builder. consumeStatementBreak(); break; } // - // Rule 200: jump_statement ::= continue ; + // Rule 203: jump_statement ::= continue ; // - case 200: { action.builder. + case 203: { action.builder. consumeStatementContinue(); break; } // - // Rule 201: jump_statement ::= return expression ; + // Rule 204: jump_statement ::= return expression ; // - case 201: { action.builder. + case 204: { action.builder. consumeStatementReturn(true); break; } // - // Rule 202: jump_statement ::= return ; + // Rule 205: jump_statement ::= return ; // - case 202: { action.builder. + case 205: { action.builder. consumeStatementReturn(false); break; } // - // Rule 203: jump_statement ::= goto identifier_token ; + // Rule 206: jump_statement ::= goto identifier_token ; // - case 203: { action.builder. + case 206: { action.builder. consumeStatementGoto(); break; } // - // Rule 204: declaration_statement ::= block_declaration + // Rule 207: declaration_statement ::= block_declaration // - case 204: { action.builder. + case 207: { action.builder. + consumeStatementDeclarationWithDisambiguation(); break; + } + + // + // Rule 208: declaration_statement ::= function_definition + // + case 208: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 205: declaration_statement ::= function_definition + // Rule 225: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; // - case 205: { action.builder. - consumeStatementDeclaration(); break; - } - - // - // Rule 222: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; - // - case 222: { action.builder. + case 225: { action.builder. consumeDeclarationSimple(true, true); break; } // - // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; + // Rule 226: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; // - case 223: { action.builder. + case 226: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 224: declaration_specifiers ::= simple_declaration_specifiers + // Rule 227: declaration_specifiers ::= simple_declaration_specifiers // - case 224: { action.builder. + case 227: { action.builder. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= class_declaration_specifiers - // - case 225: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 226: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 226: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 227: declaration_specifiers ::= enum_declaration_specifiers - // - case 227: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 228: declaration_specifiers ::= type_name_declaration_specifiers + // Rule 228: declaration_specifiers ::= class_declaration_specifiers // case 228: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 229: declaration_specifiers ::= elaborated_declaration_specifiers + // + case 229: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 230: declaration_specifiers ::= enum_declaration_specifiers + // + case 230: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 231: declaration_specifiers ::= type_name_declaration_specifiers + // + case 231: { action.builder. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 232: declaration_specifiers_opt ::= $Empty // - case 229: { action.builder. + case 232: { action.builder. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= friend + // Rule 237: no_type_declaration_specifier ::= friend // - case 234: { action.builder. + case 237: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 235: no_type_declaration_specifier ::= typedef + // Rule 238: no_type_declaration_specifier ::= typedef // - case 235: { action.builder. + case 238: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 255: storage_class_specifier ::= auto - // - case 255: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 256: storage_class_specifier ::= register - // - case 256: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 257: storage_class_specifier ::= static - // - case 257: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 258: storage_class_specifier ::= extern + // Rule 258: storage_class_specifier ::= auto // case 258: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 259: storage_class_specifier ::= mutable + // Rule 259: storage_class_specifier ::= register // case 259: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 260: function_specifier ::= inline + // Rule 260: storage_class_specifier ::= static // case 260: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 261: function_specifier ::= virtual + // Rule 261: storage_class_specifier ::= extern // case 261: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 262: function_specifier ::= explicit + // Rule 262: storage_class_specifier ::= mutable // case 262: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 263: simple_type_specifier ::= char + // Rule 263: function_specifier ::= inline // case 263: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 264: simple_type_specifier ::= wchar_t + // Rule 264: function_specifier ::= virtual // case 264: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 265: simple_type_specifier ::= bool + // Rule 265: function_specifier ::= explicit // case 265: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 266: simple_type_specifier ::= short + // Rule 266: simple_type_specifier ::= char // case 266: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 267: simple_type_specifier ::= int + // Rule 267: simple_type_specifier ::= wchar_t // case 267: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 268: simple_type_specifier ::= long + // Rule 268: simple_type_specifier ::= bool // case 268: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 269: simple_type_specifier ::= signed + // Rule 269: simple_type_specifier ::= short // case 269: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 270: simple_type_specifier ::= unsigned + // Rule 270: simple_type_specifier ::= int // case 270: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 271: simple_type_specifier ::= float + // Rule 271: simple_type_specifier ::= long // case 271: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 272: simple_type_specifier ::= double + // Rule 272: simple_type_specifier ::= signed // case 272: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 273: simple_type_specifier ::= void + // Rule 273: simple_type_specifier ::= unsigned // case 273: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 274: simple_type_specifier ::= float + // + case 274: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 275: simple_type_specifier ::= double + // + case 275: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 276: simple_type_specifier ::= void // case 276: { action.builder. - consumeQualifiedId(false); break; + consumeDeclSpecToken(); break; } // - // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name - // - case 277: { action.builder. - consumeQualifiedId(false); break; - } - - // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 278: { action.builder. - consumeQualifiedId(false); break; - } - - // - // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 279: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 279: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 280: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // + case 280: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 281: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // + case 281: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 282: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // + case 282: { action.builder. consumeQualifiedId(true); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name + // Rule 283: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name // - case 280: { action.builder. + case 283: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 284: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 281: { action.builder. + case 284: { action.builder. consumeTypeSpecifierElaborated(true); break; } // - // Rule 282: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name + // Rule 285: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name // - case 282: { action.builder. + case 285: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 283: enum_specifier ::= enum { enumerator_list_opt } + // Rule 286: enum_specifier ::= enum { enumerator_list_opt } // - case 283: { action.builder. + case 286: { action.builder. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 284: enum_specifier ::= enum identifier_token { enumerator_list_opt } + // Rule 287: enum_specifier ::= enum identifier_token { enumerator_list_opt } // - case 284: { action.builder. + case 287: { action.builder. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 289: enumerator_definition ::= identifier_token + // Rule 292: enumerator_definition ::= identifier_token // - case 289: { action.builder. + case 292: { action.builder. consumeEnumerator(false); break; } // - // Rule 290: enumerator_definition ::= identifier_token = constant_expression + // Rule 293: enumerator_definition ::= identifier_token = constant_expression // - case 290: { action.builder. + case 293: { action.builder. consumeEnumerator(true); break; } // - // Rule 296: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } + // Rule 299: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } // - case 296: { action.builder. + case 299: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 297: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } + // Rule 300: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } // - case 297: { action.builder. + case 300: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 298: unnamed_namespace_definition ::= namespace { declaration_seq_opt } + // Rule 301: unnamed_namespace_definition ::= namespace { declaration_seq_opt } // - case 298: { action.builder. + case 301: { action.builder. consumeNamespaceDefinition(false); break; } // - // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 302: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action.builder. + case 302: { action.builder. consumeNamespaceAliasDefinition(); break; } // - // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 303: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 300: { action.builder. + case 303: { action.builder. consumeUsingDeclaration(); break; } // - // Rule 301: typename_opt ::= typename + // Rule 304: typename_opt ::= typename // - case 301: { action.builder. + case 304: { action.builder. consumePlaceHolder(); break; } // - // Rule 302: typename_opt ::= $Empty + // Rule 305: typename_opt ::= $Empty // - case 302: { action.builder. + case 305: { action.builder. consumeEmpty(); break; } // - // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 306: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 303: { action.builder. + case 306: { action.builder. consumeUsingDirective(); break; } // - // Rule 304: asm_definition ::= asm ( stringlit ) ; + // Rule 307: asm_definition ::= asm ( stringlit ) ; // - case 304: { action.builder. + case 307: { action.builder. consumeDeclarationASM(); break; } // - // Rule 305: linkage_specification ::= extern stringlit { declaration_seq_opt } + // Rule 308: linkage_specification ::= extern stringlit { declaration_seq_opt } // - case 305: { action.builder. + case 308: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 306: linkage_specification ::= extern stringlit declaration + // Rule 309: linkage_specification ::= extern stringlit declaration // - case 306: { action.builder. + case 309: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 311: init_declarator_complete ::= init_declarator + // Rule 314: init_declarator_complete ::= init_declarator // - case 311: { action.builder. + case 314: { action.builder. consumeInitDeclaratorComplete(); break; } // - // Rule 313: init_declarator ::= declarator initializer + // Rule 316: init_declarator ::= declarator initializer // - case 313: { action.builder. + case 316: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 315: declarator ::= ptr_operator_seq direct_declarator + // Rule 318: declarator ::= ptr_operator_seq direct_declarator // - case 315: { action.builder. + case 318: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 317: function_declarator ::= ptr_operator_seq direct_declarator + // Rule 320: function_declarator ::= ptr_operator_seq direct_declarator // - case 317: { action.builder. + case 320: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 321: basic_direct_declarator ::= declarator_id_name + // Rule 324: basic_direct_declarator ::= declarator_id_name // - case 321: { action.builder. + case 324: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 322: basic_direct_declarator ::= ( declarator ) + // Rule 325: basic_direct_declarator ::= ( declarator ) // - case 322: { action.builder. + case 325: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 323: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 326: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 323: { action.builder. + case 326: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 327: array_direct_declarator ::= array_direct_declarator array_modifier // - case 324: { action.builder. + case 327: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 328: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 325: { action.builder. + case 328: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 326: array_modifier ::= [ constant_expression ] + // Rule 329: array_modifier ::= [ constant_expression ] // - case 326: { action.builder. + case 329: { action.builder. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 327: array_modifier ::= [ ] + // Rule 330: array_modifier ::= [ ] // - case 327: { action.builder. + case 330: { action.builder. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 328: ptr_operator ::= * cv_qualifier_seq_opt + // Rule 331: ptr_operator ::= * cv_qualifier_seq_opt // - case 328: { action.builder. + case 331: { action.builder. consumePointer(); break; } // - // Rule 329: ptr_operator ::= & + // Rule 332: ptr_operator ::= & // - case 329: { action.builder. + case 332: { action.builder. consumeReferenceOperator(); break; } // - // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt + // Rule 333: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt // - case 330: { action.builder. + case 333: { action.builder. consumePointerToMember(); break; } // - // Rule 336: cv_qualifier ::= const - // - case 336: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 337: cv_qualifier ::= volatile - // - case 337: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 339: declarator_id_name ::= nested_name_specifier template_opt unqualified_id_name + // Rule 339: cv_qualifier ::= const // case 339: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 340: cv_qualifier ::= volatile + // + case 340: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 342: declarator_id_name ::= nested_name_specifier template_opt unqualified_id_name + // + case 342: { action.builder. consumeQualifiedId(true); break; } // - // Rule 340: type_id ::= type_specifier_seq + // Rule 343: type_id ::= type_specifier_seq // - case 340: { action.builder. + case 343: { action.builder. consumeTypeId(false); break; } // - // Rule 341: type_id ::= type_specifier_seq abstract_declarator + // Rule 344: type_id ::= type_specifier_seq abstract_declarator // - case 341: { action.builder. + case 344: { action.builder. consumeTypeId(true); break; } // - // Rule 344: abstract_declarator ::= ptr_operator_seq + // Rule 347: abstract_declarator ::= ptr_operator_seq // - case 344: { action.builder. + case 347: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 345: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator + // Rule 348: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator // - case 345: { action.builder. + case 348: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 349: { action.builder. + case 352: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 350: array_direct_abstract_declarator ::= array_modifier + // Rule 353: array_direct_abstract_declarator ::= array_modifier // - case 350: { action.builder. + case 353: { action.builder. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 351: { action.builder. + case 354: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 352: { action.builder. + case 355: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 353: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 356: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 353: { action.builder. + case 356: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 354: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 357: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 354: { action.builder. + case 357: { action.builder. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 355: { action.builder. + case 358: { action.builder. consumePlaceHolder(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 356: { action.builder. + case 359: { action.builder. consumeEmpty(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 357: { action.builder. + case 360: { action.builder. consumePlaceHolder(); break; } // - // Rule 363: abstract_declarator_opt ::= $Empty + // Rule 366: abstract_declarator_opt ::= $Empty // - case 363: { action.builder. + case 366: { action.builder. consumeEmpty(); break; } // - // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 364: { action.builder. + case 367: { action.builder. consumeParameterDeclaration(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers + // Rule 368: parameter_declaration ::= declaration_specifiers // - case 365: { action.builder. + case 368: { action.builder. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer - // - case 367: { action.builder. - consumeDeclaratorWithInitializer(true); break; - } - - // - // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 369: { action.builder. - consumeDeclaratorWithInitializer(true); break; - } - - // - // Rule 370: parameter_init_declarator ::= = parameter_initializer + // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer // case 370: { action.builder. + consumeDeclaratorWithInitializer(true); break; + } + + // + // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // + case 372: { action.builder. + consumeDeclaratorWithInitializer(true); break; + } + + // + // Rule 373: parameter_init_declarator ::= = parameter_initializer + // + case 373: { action.builder. consumeDeclaratorWithInitializer(false); break; } // - // Rule 371: parameter_initializer ::= assignment_expression + // Rule 374: parameter_initializer ::= assignment_expression // - case 371: { action.builder. + case 374: { action.builder. consumeInitializer(); break; } // - // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body + // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body // - case 372: { action.builder. + case 375: { action.builder. consumeFunctionDefinition(false); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq // - case 373: { action.builder. + case 376: { action.builder. consumeFunctionDefinition(true); break; } // - // Rule 376: initializer ::= ( expression_list ) + // Rule 379: initializer ::= ( expression_list ) // - case 376: { action.builder. + case 379: { action.builder. consumeInitializerConstructor(); break; } // - // Rule 377: initializer_clause ::= assignment_expression + // Rule 380: initializer_clause ::= assignment_expression // - case 377: { action.builder. + case 380: { action.builder. consumeInitializer(); break; } // - // Rule 378: initializer_clause ::= { initializer_list , } + // Rule 381: initializer_clause ::= { initializer_list , } // - case 378: { action.builder. + case 381: { action.builder. consumeInitializerList(); break; } // - // Rule 379: initializer_clause ::= { initializer_list } + // Rule 382: initializer_clause ::= { initializer_list } // - case 379: { action.builder. + case 382: { action.builder. consumeInitializerList(); break; } // - // Rule 380: initializer_clause ::= { } + // Rule 383: initializer_clause ::= { } // - case 380: { action.builder. + case 383: { action.builder. consumeInitializerList(); break; } // - // Rule 385: class_specifier ::= class_head { member_declaration_list_opt } + // Rule 388: class_specifier ::= class_head { member_declaration_list_opt } // - case 385: { action.builder. + case 388: { action.builder. consumeClassSpecifier(); break; } // - // Rule 386: class_head ::= class_keyword identifier_name_opt base_clause_opt - // - case 386: { action.builder. - consumeClassHead(false); break; - } - - // - // Rule 387: class_head ::= class_keyword template_id_name base_clause_opt - // - case 387: { action.builder. - consumeClassHead(false); break; - } - - // - // Rule 388: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt - // - case 388: { action.builder. - consumeClassHead(true); break; - } - - // - // Rule 389: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt + // Rule 389: class_head ::= class_keyword identifier_name_opt base_clause_opt // case 389: { action.builder. + consumeClassHead(false); break; + } + + // + // Rule 390: class_head ::= class_keyword template_id_name base_clause_opt + // + case 390: { action.builder. + consumeClassHead(false); break; + } + + // + // Rule 391: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt + // + case 391: { action.builder. consumeClassHead(true); break; } // - // Rule 391: identifier_name_opt ::= $Empty + // Rule 392: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt // - case 391: { action.builder. + case 392: { action.builder. + consumeClassHead(true); break; + } + + // + // Rule 394: identifier_name_opt ::= $Empty + // + case 394: { action.builder. consumeEmpty(); break; } // - // Rule 395: visibility_label ::= access_specifier_keyword : + // Rule 398: visibility_label ::= access_specifier_keyword : // - case 395: { action.builder. + case 398: { action.builder. consumeVisibilityLabel(); break; } // - // Rule 396: member_declaration ::= declaration_specifiers_opt member_declarator_list ; + // Rule 399: member_declaration ::= declaration_specifiers_opt member_declarator_list ; // - case 396: { action.builder. + case 399: { action.builder. consumeDeclarationSimple(true, true); break; } // - // Rule 397: member_declaration ::= declaration_specifiers_opt ; + // Rule 400: member_declaration ::= declaration_specifiers_opt ; // - case 397: { action.builder. + case 400: { action.builder. consumeDeclarationSimple(false, false); break; } // - // Rule 400: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 403: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 400: { action.builder. + case 403: { action.builder. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 404: member_declaration ::= ERROR_TOKEN + // Rule 407: member_declaration ::= ERROR_TOKEN // - case 404: { action.builder. + case 407: { action.builder. consumeDeclarationProblem(); break; } // - // Rule 412: member_declarator ::= declarator constant_initializer + // Rule 415: member_declarator ::= declarator constant_initializer // - case 412: { action.builder. + case 415: { action.builder. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 413: member_declarator ::= bit_field_declarator : constant_expression + // Rule 416: member_declarator ::= bit_field_declarator : constant_expression // - case 413: { action.builder. + case 416: { action.builder. consumeBitField(true); break; } // - // Rule 414: member_declarator ::= : constant_expression + // Rule 417: member_declarator ::= : constant_expression // - case 414: { action.builder. + case 417: { action.builder. consumeBitField(false); break; } // - // Rule 415: bit_field_declarator ::= identifier_name + // Rule 418: bit_field_declarator ::= identifier_name // - case 415: { action.builder. + case 418: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 416: constant_initializer ::= = constant_expression + // Rule 419: constant_initializer ::= = constant_expression // - case 416: { action.builder. + case 419: { action.builder. consumeInitializer(); break; } // - // Rule 422: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 425: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 422: { action.builder. + case 425: { action.builder. consumeBaseSpecifier(false, false); break; } // - // Rule 423: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 426: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 423: { action.builder. + case 426: { action.builder. consumeBaseSpecifier(true, true); break; } // - // Rule 424: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 427: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 424: { action.builder. + case 427: { action.builder. consumeBaseSpecifier(true, true); break; } // - // Rule 425: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 428: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 425: { action.builder. + case 428: { action.builder. consumeBaseSpecifier(true, false); break; } // - // Rule 426: access_specifier_keyword ::= private + // Rule 429: access_specifier_keyword ::= private // - case 426: { action.builder. + case 429: { action.builder. consumeAccessKeywordToken(); break; } // - // Rule 427: access_specifier_keyword ::= protected - // - case 427: { action.builder. - consumeAccessKeywordToken(); break; - } - - // - // Rule 428: access_specifier_keyword ::= public - // - case 428: { action.builder. - consumeAccessKeywordToken(); break; - } - - // - // Rule 430: access_specifier_keyword_opt ::= $Empty + // Rule 430: access_specifier_keyword ::= protected // case 430: { action.builder. + consumeAccessKeywordToken(); break; + } + + // + // Rule 431: access_specifier_keyword ::= public + // + case 431: { action.builder. + consumeAccessKeywordToken(); break; + } + + // + // Rule 433: access_specifier_keyword_opt ::= $Empty + // + case 433: { action.builder. consumeEmpty(); break; } // - // Rule 431: conversion_function_id_name ::= operator conversion_type_id + // Rule 434: conversion_function_id_name ::= operator conversion_type_id // - case 431: { action.builder. + case 434: { action.builder. consumeConversionName(); break; } // - // Rule 432: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 435: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 432: { action.builder. + case 435: { action.builder. consumeTypeId(true); break; } // - // Rule 433: conversion_type_id ::= type_specifier_seq + // Rule 436: conversion_type_id ::= type_specifier_seq // - case 433: { action.builder. + case 436: { action.builder. consumeTypeId(false); break; } // - // Rule 434: conversion_declarator ::= ptr_operator_seq + // Rule 437: conversion_declarator ::= ptr_operator_seq // - case 434: { action.builder. + case 437: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 440: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 443: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 440: { action.builder. + case 443: { action.builder. consumeConstructorChainInitializer(); break; } // - // Rule 441: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 444: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 441: { action.builder. + case 444: { action.builder. consumeQualifiedId(false); break; } // - // Rule 444: operator_function_id_name ::= operator_id_name < template_argument_list_opt > + // Rule 447: operator_function_id_name ::= operator_id_name < template_argument_list_opt > // - case 444: { action.builder. + case 447: { action.builder. consumeTemplateId(); break; } // - // Rule 445: operator_id_name ::= operator overloadable_operator + // Rule 448: operator_id_name ::= operator overloadable_operator // - case 445: { action.builder. + case 448: { action.builder. consumeOperatorName(); break; } // - // Rule 488: template_declaration ::= export_opt template < template_parameter_list > declaration + // Rule 491: template_declaration ::= export_opt template < template_parameter_list > declaration // - case 488: { action.builder. + case 491: { action.builder. consumeTemplateDeclaration(); break; } // - // Rule 489: export_opt ::= export + // Rule 492: export_opt ::= export // - case 489: { action.builder. + case 492: { action.builder. consumePlaceHolder(); break; } // - // Rule 490: export_opt ::= $Empty + // Rule 493: export_opt ::= $Empty // - case 490: { action.builder. + case 493: { action.builder. consumeEmpty(); break; } // - // Rule 494: template_parameter ::= parameter_declaration + // Rule 497: template_parameter ::= parameter_declaration // - case 494: { action.builder. + case 497: { action.builder. consumeTemplateParamterDeclaration(); break; } // - // Rule 495: type_parameter ::= class identifier_name_opt - // - case 495: { action.builder. - consumeSimpleTypeTemplateParameter(false); break; - } - - // - // Rule 496: type_parameter ::= class identifier_name_opt = type_id - // - case 496: { action.builder. - consumeSimpleTypeTemplateParameter(true); break; - } - - // - // Rule 497: type_parameter ::= typename identifier_name_opt - // - case 497: { action.builder. - consumeSimpleTypeTemplateParameter(false); break; - } - - // - // Rule 498: type_parameter ::= typename identifier_name_opt = type_id + // Rule 498: type_parameter ::= class identifier_name_opt // case 498: { action.builder. + consumeSimpleTypeTemplateParameter(false); break; + } + + // + // Rule 499: type_parameter ::= class identifier_name_opt = type_id + // + case 499: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 499: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // Rule 500: type_parameter ::= typename identifier_name_opt // - case 499: { action.builder. + case 500: { action.builder. + consumeSimpleTypeTemplateParameter(false); break; + } + + // + // Rule 501: type_parameter ::= typename identifier_name_opt = type_id + // + case 501: { action.builder. + consumeSimpleTypeTemplateParameter(true); break; + } + + // + // Rule 502: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // + case 502: { action.builder. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 500: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression + // Rule 503: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression // - case 500: { action.builder. + case 503: { action.builder. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 501: template_id_name ::= identifier_name < template_argument_list_opt > + // Rule 504: template_id_name ::= identifier_name < template_argument_list_opt > // - case 501: { action.builder. + case 504: { action.builder. consumeTemplateId(); break; } // - // Rule 509: explicit_instantiation ::= template declaration + // Rule 512: explicit_instantiation ::= template declaration // - case 509: { action.builder. + case 512: { action.builder. consumeTemplateExplicitInstantiation(); break; } // - // Rule 510: explicit_specialization ::= template < > declaration + // Rule 513: explicit_specialization ::= template < > declaration // - case 510: { action.builder. + case 513: { action.builder. consumeTemplateExplicitSpecialization(); break; } // - // Rule 511: try_block ::= try compound_statement handler_seq + // Rule 514: try_block ::= try compound_statement handler_seq // - case 511: { action.builder. + case 514: { action.builder. consumeStatementTryBlock(); break; } // - // Rule 514: handler ::= catch ( exception_declaration ) compound_statement + // Rule 517: handler ::= catch ( exception_declaration ) compound_statement // - case 514: { action.builder. + case 517: { action.builder. consumeStatementCatchHandler(false); break; } // - // Rule 515: handler ::= catch ( ... ) compound_statement + // Rule 518: handler ::= catch ( ... ) compound_statement // - case 515: { action.builder. + case 518: { action.builder. consumeStatementCatchHandler(true); break; } // - // Rule 516: exception_declaration ::= type_specifier_seq declarator + // Rule 519: exception_declaration ::= type_specifier_seq declarator // - case 516: { action.builder. + case 519: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 517: exception_declaration ::= type_specifier_seq abstract_declarator + // Rule 520: exception_declaration ::= type_specifier_seq abstract_declarator // - case 517: { action.builder. + case 520: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 518: exception_declaration ::= type_specifier_seq + // Rule 521: exception_declaration ::= type_specifier_seq // - case 518: { action.builder. + case 521: { action.builder. consumeDeclarationSimple(false, false); break; } // - // Rule 526: no_cast_start ::= ERROR_TOKEN + // Rule 529: no_cast_start ::= ERROR_TOKEN // - case 526: { action.builder. + case 529: { action.builder. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java index dd760cd6d0f..47bfa4950b0 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java @@ -56,381 +56,371 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,2,1,3,1,0,1,0,1,1, 0,1,1,1,1,1,1,1,1,1, 3,3,2,2,1,4,2,1,2,5, - 7,5,1,4,5,7,9,8,2,2, - 3,2,3,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,0,1, - 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, + 7,5,1,4,1,0,5,7,8,1, + 1,2,2,3,2,3,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3,4,4,5,4, - 5,4,5,6,1,3,1,0,1,3, - 1,1,1,1,1,6,6,5,7,6, - 1,0,6,5,6,4,1,3,1,0, - 1,1,2,1,3,1,3,1,1,1, - 1,3,9,2,2,3,2,3,1,5, - 1,2,2,1,0,1,1,1,4,1, - 2,1,1,2,3,1,1,1,3,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,5,4,3, - 1,3,1,1,5,4,4,5,5,1, - 0,1,1,1,2,4,2,2,1,5, - 1,1,1,1,1,2,1,0,1,3, - 1,2,3,2,1,2,2,1,0,1, - 3,3,5,5,4,1,1,1,1,0, - 2,2,1,2,2,1,0,1,3,4, - 3,1,1,5,2,1,1,3,3,1, + 1,2,1,0,4,4,2,2,2,2, + 2,0,1,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,3,4, + 4,5,4,5,4,5,6,1,3,1, + 0,1,3,1,1,1,1,1,6,6, + 5,7,6,1,0,6,5,6,4,1, + 3,1,0,1,1,2,1,3,1,3, + 1,1,1,1,3,9,2,2,3,2, + 3,1,5,1,2,2,1,0,1,1, + 1,4,1,2,1,1,2,3,1,1, + 1,3,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, + 5,4,3,1,3,1,1,5,4,4, + 5,5,1,0,1,1,1,2,4,2, + 2,1,5,1,1,1,1,1,2,1, + 0,1,3,1,2,3,2,1,2,2, + 1,0,1,3,3,5,5,4,1,1, + 1,1,0,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,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,1,2,4, - 4,1,2,5,5,3,3,1,4,3, - 1,0,1,3,1,1,-106,0,0,0, - -337,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-10,0, - 0,0,0,0,0,0,0,0,-2,0, - 0,0,0,-61,-418,0,0,-323,0,0, - 0,-52,0,0,0,0,0,-136,0,0, - 0,-89,0,0,0,0,0,0,0,0, + 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, + 1,2,4,4,1,2,5,5,3,3, + 1,4,3,1,0,1,3,1,1,-106, + 0,0,0,-52,0,0,0,0,0,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,0,0,-121,0,0,0, - 0,0,0,0,0,-452,0,0,0,0, - -175,0,0,0,-174,0,0,0,-232,0, - 0,0,0,0,0,0,-310,0,-67,0, + 0,-2,0,0,0,0,0,0,-51,0, + 0,0,-10,0,0,0,0,0,0,0, + -323,0,0,0,-262,0,0,0,0,0, + -136,0,0,0,-89,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-236,0,-306,0,0,0, - 0,0,0,-113,0,0,0,0,0,0, + 0,0,0,0,0,0,-227,0,0,0, + 0,0,0,-4,0,0,0,0,0,-480, + 0,0,0,0,0,0,0,-60,0,0, + -5,0,0,-121,0,-48,0,-124,0,0, + -133,-236,0,0,0,0,0,0,-6,-61, + -67,0,0,0,0,0,0,0,0,0, + 0,0,-279,0,0,0,0,0,-257,0, + 0,0,0,0,0,-113,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -51,0,0,0,0,-5,0,-275,0,0, - -49,0,0,0,0,-68,0,0,0,0, - 0,0,0,0,0,0,0,-183,0,0, - 0,0,-128,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-55,-275, + 0,0,0,0,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,-124, - 0,0,0,0,0,0,0,0,0,0, - -126,0,0,-15,0,0,0,0,0,0, - 0,0,-228,0,0,-56,-514,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-111,-221,0,0,0,0,0, + 0,0,0,-128,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-127,0,0,0,0,-330,0,0,0, + 0,0,-181,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-511,0, 0,0,0,0,0,0,0,0,0,0, - 0,-132,0,0,0,0,-6,0,0,0, - 0,0,0,-512,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-168,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-7,0,0,-82,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-522, + 0,0,-132,0,0,0,0,-179,0,0, + 0,0,0,0,-7,-221,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-133,0,0,0, - 0,-205,0,-131,0,0,-8,0,0,0, - -135,0,0,0,-9,0,0,0,0,0, - 0,0,-114,-58,-233,0,0,0,0,0, - 0,-11,0,-3,0,0,0,0,0,0, + 0,0,0,0,-58,0,0,0,-126,0, + 0,0,0,0,0,0,0,-56,0,-337, + 0,0,-15,0,0,0,-131,-8,0,0, + 0,0,0,-509,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-291,0,0, - -48,0,0,0,0,0,-138,0,0,0, + 0,0,-9,0,0,0,-114,0,0,0, + 0,0,0,0,-517,0,0,0,0,0, 0,0,0,0,0,0,0,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,0,0,0,-299,0,0, - 0,0,0,0,-12,0,0,0,0,0, - 0,-317,0,0,0,-14,0,0,0,0, + 0,0,0,0,0,0,0,-49,-182,0, + 0,0,0,0,0,-3,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-27,0,0,0,0,0,0, - 0,0,0,-179,0,-198,0,0,0,0, - 0,0,0,-318,0,0,0,-259,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-28,0,0,0,0, - -60,0,0,0,0,-305,0,-103,0,0, - 0,-363,0,0,0,0,0,-473,0,0, - 0,-29,0,0,0,0,0,0,0,0, + 0,0,0,0,-270,0,0,0,-198,-363, + 0,0,0,-168,0,0,0,0,0,-11, + -283,0,0,0,-103,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-340,0,0,0,0,0, - 0,-30,0,0,-16,0,0,0,0,-38, - 0,0,0,-31,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-237, + 0,0,0,-259,0,0,0,0,0,0, + 0,-12,0,-342,0,0,0,0,-317,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-32,0,0,0, - 0,0,0,-354,0,0,-33,0,0,0, - -40,0,0,0,-402,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-163,0,0,0,0,-237,0,0, - 0,0,0,0,0,0,0,0,-262,0, - 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,-343,0,0,0,0, - 0,0,0,0,0,-371,0,-34,0,0, - 0,-380,0,0,-91,0,0,0,0,0, + 0,-184,0,0,0,0,-380,0,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,-14,0,0,0,-310,0,0,0, + -472,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-27,0,0,0,0,0,0,0, + 0,0,0,-104,0,0,0,-278,-127,0, + 0,0,0,-28,-38,0,0,0,-402,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,0,0,0,0,0,0, + 0,-29,0,0,0,0,-40,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-413, + 0,0,0,-112,0,0,0,-90,0,0, + 0,-134,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-111, + 0,0,0,0,0,0,0,0,0,0, + 0,-471,0,0,0,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,0,0,0,0,0,-30,0,0, + 0,0,0,0,0,-139,-163,0,0,-92, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-205,0,0,0,0,0,0,0,0, + 0,0,-189,-129,0,0,0,-332,0,0, + -93,0,0,0,-140,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-197, + 0,0,0,0,0,0,0,-199,-164,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,-208,0,0,-210,-31, + 0,0,-95,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,0,0,0,-212,-225,0,0,0, + 0,0,0,-96,0,0,0,-235,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-226,0,0,0,0,-230,0,0, + 0,0,0,0,-97,0,0,0,-242,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,-214,0,0,0, - 0,-447,0,0,0,0,0,0,-55,0, - 0,-129,0,0,0,-92,0,0,0,0, + 0,0,0,-255,0,0,0,0,-274,0, + 0,0,0,0,0,-98,0,0,0,-286, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-33,0,0, + 0,0,0,0,-282,0,0,0,0,-34, + 0,0,-330,-287,0,0,-99,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-35,0, + 0,0,0,0,0,0,0,0,0,-160, + -314,0,0,-249,0,0,0,-100,0,0, + 0,-250,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-341,0,0,0,0,0,0,0, - 0,0,-140,0,0,0,-93,0,0,0, + -299,-36,0,0,0,0,0,0,-161,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-208,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-94,0,0, + 0,0,0,0,0,0,0,-447,0,0, + 0,-417,0,0,0,-206,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-37,0,0, + 0,0,0,0,0,0,0,0,0,-300, + 0,0,0,0,0,0,-326,0,0,0, + -39,-53,0,0,0,0,-504,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-452,0, + 0,0,0,0,0,-290,0,0,0,-305, + 0,0,0,-308,0,0,0,-309,0,0, + 0,-315,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-279,-164,0,0,-95,0, - 0,0,-297,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-314,0,0,0,0, - -315,0,-181,0,0,-345,0,0,0,-96, - 0,0,0,-35,0,0,0,0,0,0, + -251,-350,0,0,-313,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-430,0,-182,0,0,0,0,0,0, - -97,0,0,0,-320,0,0,0,0,0, + 0,0,0,0,0,0,0,-54,0,0, + 0,-135,0,0,0,0,0,0,0,0, + 0,0,0,-398,-57,-335,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-297,0,0, + 0,0,0,0,0,0,0,0,-252,-370, + 0,0,-358,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-62,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-138, + 0,0,0,-63,0,0,0,0,0,0, + 0,0,-65,-359,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-66,0,0,0,0, + 0,0,-340,0,0,0,-292,0,0,0, + -405,0,0,0,0,0,0,0,0,0, 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,-36,0,0, - 0,-98,0,0,0,-37,0,0,0,0, + 0,0,0,-107,-108,0,0,-348,0,0, + 0,-109,-110,0,0,0,0,-174,0,0, + 0,-102,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-117,0,0,0,0,0,0, + -407,0,0,0,-183,0,0,0,-87,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-458,0,-186,0,0,0,0, - 0,0,-99,0,0,0,-39,0,0,0, + -345,0,0,0,0,0,0,0,0,-88, + 0,0,0,-141,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-278,0,0,0,0,0, - 0,0,0,0,-503,0,-189,0,0,-53, - 0,0,0,-100,0,0,0,-54,0,0, + 0,-142,0,0,0,0,0,0,-84,0, + 0,0,-143,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, - -62,0,0,0,0,-63,0,0,0,0, - -413,0,0,0,-161,0,0,0,0,0, + -320,0,0,0,0,0,-85,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-65,0,0,0, - 0,-223,0,0,0,0,-66,0,-70,0, - 0,-107,0,-206,0,0,0,-108,0,0, + 0,0,0,0,0,0,0,0,-144,0, + 0,0,0,-86,0,0,0,-354,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-145,0,0,0,0, + -50,0,0,0,0,0,-146,-147,-78,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -504,0,0,0,0,0,0,-109,0,0, - 0,0,0,0,-160,-201,0,0,0,0, - 0,-110,-506,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-117,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-309,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-141,0,0,0,0, - -104,0,0,0,0,-112,0,-142,0,0, - -313,0,0,0,0,0,0,0,0,0, + -415,0,0,0,0,0,-341,-79,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,0,-144,0,0,-326,0,0, - 0,-134,-145,0,0,0,0,-234,0,0, - 0,-335,0,0,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,-139,0, - 0,0,0,-199,0,-146,0,0,-358,0, + 0,0,0,0,0,-148,0,0,0,0, + -119,0,0,0,-149,0,-352,0,0,0, + 0,-150,0,0,0,0,-294,-130,-319,-47, + -151,0,0,0,0,0,0,0,0,-234, + 0,0,0,-152,0,0,-498,0,0,0, + 0,0,0,-153,-192,0,0,0,0,0, + 0,0,0,0,0,0,-80,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-81,0,0,0,-116,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -147,0,-148,0,0,-348,0,0,0,-210, - -149,0,0,0,0,-240,0,0,0,-359, + 0,0,0,0,-387,0,0,0,0,0, + -154,-432,-360,0,0,0,0,-155,-16,-324, + -105,-229,0,0,0,-156,0,-157,-492,-125, + 0,0,0,0,-418,-211,-158,-159,-333,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-175,0, + 0,-403,0,0,-207,0,-232,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-295,0,0,0,0, + 0,0,0,-204,0,0,0,-265,0,0, + -455,-368,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -371,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-235,0,0,0, - 0,-242,0,-150,0,0,-405,0,0,0, + 0,0,-470,-397,0,0,0,0,0,0, + 0,-123,0,0,0,0,0,0,-351,-165, + -338,0,0,0,0,0,-475,0,0,0, + 0,0,0,0,0,0,0,-439,-321,-430, + 0,0,-223,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-137,0,0,0,-166,0,0,-477,0, + 0,0,0,0,0,0,-376,0,0,0, + -501,0,0,0,0,0,0,0,0,0, + 0,-240,0,0,0,0,-306,-266,0,0, + 0,0,0,0,-327,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-398,0, - -197,0,0,-151,0,-342,0,0,0,-152, - -119,0,0,0,-153,0,-154,-102,0,0, + -478,0,0,0,0,0,0,0,0,0, + -329,-115,-167,0,0,0,0,-416,0,0, + 0,0,0,0,0,0,-170,0,0,0, + 0,0,0,0,0,-169,0,0,0,-247, + 0,0,-171,-172,0,0,0,0,0,0, + 0,0,0,0,0,-17,0,0,0,0, + -46,0,0,0,0,0,-173,0,-176,0, + 0,0,-241,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-372, - 0,0,0,0,-87,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-155,0,0,0, - 0,-432,0,0,0,-88,0,0,0,-156, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-157,0,0, - 0,0,0,0,0,-84,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-332,0,0, - 0,0,-257,0,-85,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-350,0,0,0, - 0,-86,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-50,0, - 0,0,-249,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,-158,0, - 0,0,0,-159,0,-79,0,0,0,-165, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-73,0,0,0,-353,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-166,0,0,0,0,-167,-125, - 0,0,0,-352,0,0,0,-494,0,0, - 0,0,0,-204,0,0,0,-241,0,0, - 0,-227,-270,0,0,0,0,0,-417,0, - -355,0,0,0,0,0,-248,0,0,0, - 0,0,-170,-192,0,0,0,0,-171,0, - 0,0,0,0,0,-80,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-81,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,-302,0, - 0,0,0,0,0,0,0,0,-172,0, - -130,-173,-470,-105,0,0,0,0,0,-250, - 0,0,0,-211,-267,-176,0,0,0,0, - 0,0,0,0,-177,-351,0,0,0,0, - 0,0,0,0,0,0,-256,0,-403,-251, + -343,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-82,0,0,0, + -177,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,-178,0, - 0,0,0,0,0,0,0,0,0,-252, - 0,-292,-229,-101,0,0,0,0,-187,0, - -308,0,0,0,0,0,0,-368,0,0, - -455,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-188,0,0,0,0,0, + 0,-83,0,0,0,-187,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-193,0,0,-311,0, - 0,0,-47,0,0,0,0,0,0,0, - 0,0,-471,0,0,0,0,-162,-397,0, - 0,0,-247,0,0,0,-212,0,-265,0, - 0,-472,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-137,0,0, + 0,0,0,-188,0,0,-244,0,0,0, + 0,0,0,0,0,0,-74,0,0,0, + -193,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-458,0, + -344,-1,-70,0,-162,0,0,-411,0,-194, + -364,0,-377,0,0,0,-200,-256,0,-322, + 0,0,0,0,0,-353,-442,0,0,0, + 0,0,0,0,0,0,0,0,-372,0, + 0,0,0,0,0,0,0,-248,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-17,0,0, - 0,-225,0,-194,0,0,0,0,-478,0, - -322,0,0,0,0,0,0,-286,0,0, + 0,0,0,0,-203,0,-493,0,-267,-419, + 0,-420,0,0,-41,0,0,-209,0,0, + 0,0,0,0,0,0,-424,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-360,0,0,0,0,0,0, - 0,0,0,0,-226,-200,0,0,0,0, - -230,0,0,0,0,0,0,0,0,0, - -479,-203,0,0,0,0,-207,0,0,0, - -255,0,-209,0,0,0,-268,0,0,0, - -231,0,0,0,-219,-220,0,0,0,0, - 0,0,0,0,0,-46,0,0,0,-238, - 0,0,-274,0,0,0,0,0,0,0, - 0,0,0,0,-222,-239,0,0,0,0, - -282,-388,0,0,0,0,0,0,-243,0, - -246,-245,0,-260,0,-287,0,0,0,0, - 0,0,0,0,0,0,0,-244,0,0, - 0,0,0,0,0,0,0,-261,-271,0, - 0,0,0,0,0,0,-83,0,0,0, - -272,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-266,0, - 0,-180,0,0,0,-273,0,0,0,0, - 0,0,0,0,0,-276,-300,-411,0,0, - 0,0,-280,0,-123,0,0,0,-319,0, - -69,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-324,0,0,0,0, - 0,0,0,0,0,0,-281,0,0,0, - 0,0,0,-284,0,0,0,0,0,-370, - -294,0,-285,-424,0,0,0,0,0,0, - 0,0,0,0,-298,0,0,0,0,0, - 0,0,0,0,0,0,-303,-304,-407,-347, - -399,-264,0,0,0,0,0,0,0,0, - -436,0,0,0,0,-325,-42,-334,-336,-295, + 0,0,0,0,0,0,-355,0,0,0, + 0,0,0,-219,-436,0,0,0,0,-389, + 0,0,0,-454,-42,0,0,0,0,0, + -238,0,-180,0,0,0,0,-220,0,0, + 0,0,0,0,0,-346,0,0,0,0, + -365,0,0,0,0,0,0,-222,0,0, + 0,0,0,0,0,0,0,0,-496,0, + 0,-485,0,0,0,0,0,0,-388,0, + 0,0,0,0,-239,0,0,0,0,0, + 0,0,0,0,0,-118,-185,0,0,0, + 0,-201,0,0,0,-120,0,0,0,0, + -268,0,0,0,-243,0,0,0,0,0, + 0,0,0,-245,-260,0,-261,0,-487,0, + 0,0,0,-443,-497,0,0,0,0,0, + -502,-271,0,0,0,0,0,0,0,0, + 0,-379,0,-451,0,0,0,0,-381,-246, 0,0,0,0,0,0,0,0,0,0, - 0,-366,0,0,0,0,0,0,0,0, + 0,-469,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-491,0,-231,0,0, + 0,-383,0,0,0,0,0,0,0,-311, + 0,0,0,0,0,0,0,0,-474,-122, + -190,0,0,0,0,-272,-347,-228,0,0, + 0,-462,0,0,-273,0,0,0,-276,0, + 0,0,0,0,0,0,0,-280,0,0, + 0,0,-512,0,0,0,0,-269,0,0, + 0,0,0,0,0,-281,-284,0,0,0, + 0,0,0,0,0,0,0,0,0,-285, + 0,0,-399,-69,-386,-298,0,0,0,0, + 0,0,-303,0,0,0,0,0,0,0, + 0,0,0,0,0,-304,0,0,0,-516, + 0,-325,0,0,-334,-291,0,0,-43,0, + 0,-336,0,-366,0,0,0,0,0,0, + 0,0,0,0,0,0,-367,0,0,-464, + 0,-373,0,0,0,0,0,0,-233,0, + 0,-296,-488,0,0,0,0,0,0,0, + 0,0,-289,0,0,0,0,0,0,0, + 0,0,0,0,-421,0,0,0,0,-375, + 0,0,0,0,0,0,0,0,-378,0, + -301,0,0,0,0,0,0,0,0,0, + -499,-422,-384,0,0,0,0,-426,0,0, + 0,0,0,-385,0,-393,0,0,0,-307, + 0,0,0,0,0,-382,-445,-396,0,0, + 0,0,-356,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,0,0,-41,0,-321,0,0, - -367,-486,-329,-215,0,0,0,0,0,0, - 0,0,0,0,0,0,-373,0,-296,-375, - 0,0,0,0,0,0,-378,-344,0,0, - 0,-364,0,-384,0,0,0,0,0,0, - 0,0,-385,0,0,0,0,-393,0,0, - 0,0,0,0,0,0,-488,0,0,0, - 0,-396,-404,0,-116,-293,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-169, - 0,0,0,0,-115,-1,-391,0,0,0, - 0,-346,-406,0,0,0,0,0,-365,0, - 0,0,0,0,0,0,0,0,0,-415, - 0,-493,0,0,-476,0,0,0,0,-118, + 0,0,0,0,-404,0,0,0,0,0, + 0,0,-406,0,-293,0,0,0,-408,0, + 0,0,0,0,0,0,0,-449,-394,0, + 0,0,0,-468,0,-456,0,0,0,0, + 0,-457,0,0,0,0,0,-409,-44,-45, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-185,0,0,0,0,0, - -408,-43,-379,0,0,0,0,0,0,0, - -409,0,0,0,0,0,0,-410,0,0, - 0,0,0,0,-412,0,-515,-416,0,-423, - 0,0,0,0,-120,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-190, - 0,0,0,0,0,-269,0,-383,-386,0, - -419,0,0,0,0,0,0,0,0,0, - 0,0,-425,0,0,0,0,0,-442,-338, - 0,-520,-122,0,0,0,-376,0,0,0, + 0,0,-328,0,0,0,0,-482,-483,-410, 0,0,0,0,0,0,0,0,0,0, - 0,0,-420,0,-307,0,0,0,0,0, - -377,0,0,0,0,-454,0,-427,0,0, - 0,0,0,0,0,0,0,-443,0,0, - 0,0,0,0,0,0,-523,-428,0,-439, - 0,0,-429,0,0,0,0,0,-431,0, - 0,0,0,0,0,0,0,-316,0,-433, - -434,0,-435,0,0,0,0,-440,-421,0, - 0,0,0,0,0,0,0,-444,-453,0, - 0,0,0,0,0,0,0,0,-460,-468, - 0,-289,0,0,0,0,-487,0,0,0, - 0,-502,0,0,0,0,0,0,0,0, - 0,0,-74,0,0,0,0,0,0,0, + -448,-369,0,0,0,-466,-507,-316,-412,0, + -253,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-422,0,-495,-253,0,0, - 0,0,-507,0,-451,-426,0,0,0,0, - -445,-466,0,0,0,0,0,0,-44,-13, - 0,-449,0,0,0,0,0,0,-301,0, - 0,0,0,0,0,0,0,0,0,-456, - 0,0,0,0,0,0,0,0,-382,0, - -462,-498,0,0,-395,0,0,0,0,0, - 0,0,0,0,0,0,-191,0,0,0, - 0,-464,-290,0,-457,-216,0,0,0,0, - 0,0,0,0,0,0,-475,-469,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-381,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-394,-467,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-369,0,0,0,-18, + 0,0,0,0,0,-339,0,0,0,0, + -494,0,0,0,0,0,0,0,0,0, + 0,0,-450,-484,-495,-510,0,0,0,0, + 0,-508,-515,-423,-254,0,0,0,0,0, + -425,0,-514,0,0,-427,0,0,-428,0, + 0,0,0,0,0,0,0,-361,0,0, + 0,-513,0,0,0,0,0,0,0,0, + 0,0,0,0,-476,0,0,0,0,0, + 0,-481,0,0,-429,-431,-312,0,-433,0, + 0,0,-434,0,0,0,0,-435,0,0, + -440,0,0,0,0,0,0,0,0,-362, + 0,0,0,-444,-453,0,-460,0,0,0, + 0,0,0,0,0,0,-503,0,0,0, + 0,0,0,0,0,0,-414,-467,-101,0, + 0,0,0,0,-486,0,-500,-505,-13,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-448,-485, - 0,-489,0,0,-389,0,0,0,-254,-349, - -497,0,0,0,0,0,0,0,0,-501, - 0,-483,0,-484,0,0,0,0,0,0, - 0,0,0,0,-496,0,0,0,0,0, - -499,0,0,0,0,0,0,0,0,0, - -450,-333,0,0,0,0,0,0,0,0, - -519,0,0,0,-511,0,0,-45,0,0, - 0,0,0,-509,0,0,0,0,0,0, - 0,0,0,0,0,-202,0,0,0,0, - -482,0,0,0,0,0,0,0,0,0, - 0,0,-477,0,0,0,0,0,0,0, - -516,0,0,0,0,0,-312,0,0,0, - 0,-510,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-328,0,0, - 0,0,0,0,-196,0,0,0,0,0, - 0,0,0,0,-505,0,0,0,0,0, - 0,0,0,0,-217,-513,0,0,0,0, - -518,0,-521,-481,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-500,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-19,0,0,0, + 0,0,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,-75,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,-76,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,-77,0,0,0, + 0,0,0,0,0,0,0,-19,0,0, 0,0,0,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, @@ -455,43 +445,50 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 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,0,0,0, - 0,0,0,0,0,0,0,0,0,-491, + 0,0,0,0,0,0,0,0,0,-489, + 0,0,0,0,0,0,0,0,0,-18, 0,0,0,0,0,0,0,0,0,0, - -356,0,0,0,0,0,0,0,0,0, - 0,-474,0,0,0,0,0,0,0,0, - 0,0,-331,0,0,0,0,0,0,0, - 0,0,-414,-390,0,0,0,0,0,0, - -392,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-349, + -473,0,0,0,0,0,0,0,0,0, + 0,-302,0,0,0,0,-392,0,0,0, + 0,0,-215,0,0,0,0,0,-390,0, + 0,0,0,0,0,0,0,0,0,-331, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-357, - 0,0,0,0,0,0,0,0,0,0, - -463,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-263,0,0,0,0, - 0,0,0,0,0,0,0,-64,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-224,0,0,0,0,0,0, + 0,0,0,0,0,0,-357,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-339,0,0, - 0,-361,0,0,0,0,0,0,0,0, - -362,0,0,0,-374,0,0,0,0,0, - 0,0,-218,-437,0,-400,0,0,0,0, - 0,0,0,0,0,0,-401,0,0,0, + 0,0,0,-463,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-224,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-263, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-459,0,0,0,0,0,-277,0, - 0,0,0,0,0,-480,0,0,0,0, - 0,-465,0,0,0,0,0,0,0,-213, - 0,0,0,0,0,0,0,0,-258,0, - 0,0,-446,0,0,0,0,0,0,0, - -288,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-438,0,0,0,0,0, - 0,0,-441,0,0,-461,0,0,0,0, - -490,0,0,0,0,0,0,0,-508,-517, - 0,0,0,0,0,0,-492,0,0,0, + -264,0,0,0,0,0,0,-395,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -374,0,0,0,-459,0,0,0,0,-479, + 0,0,0,0,0,0,0,0,-465,0, + 0,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,-191,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -391,0,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,-213,0,0,0,-258, + 0,0,0,0,-288,0,0,0,-196,-400, + -437,0,0,0,0,0,0,0,0,0, + -438,-441,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-461,-401,0,0, + 0,0,0,0,0,0,0,-506,-446,-216, + 0,0,0,0,0,0,0,-217,0,0, + -218,0,0,-277,0,0,0,0,-490,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -507,8 +504,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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; @@ -518,516 +514,512 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 169,4,52,77,77,32,32,63,63,38, - 38,189,189,190,190,191,191,1,1,14, + 168,4,52,70,70,33,33,63,63,37, + 37,191,191,192,192,193,193,1,1,14, 14,14,14,14,14,14,14,15,15,15, 13,10,10,8,8,8,8,8,8,2, 64,64,5,5,11,11,11,11,42,42, - 131,131,132,60,60,41,16,16,16,16, + 130,130,131,60,60,41,16,16,16,16, 16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,133,133,133,113, + 16,16,16,16,16,16,132,132,132,113, 113,17,17,17,17,17,17,17,17,17, - 17,17,17,17,18,18,170,170,171,171, - 172,136,136,137,137,134,134,138,135,135, + 17,17,17,17,18,18,169,169,170,170, + 171,135,135,136,136,133,133,137,134,134, 19,19,20,21,21,21,23,23,23,23, 24,24,24,25,25,25,26,26,26,26, - 26,28,28,28,29,29,30,30,31,31, - 33,33,35,35,36,36,40,40,39,39, + 26,27,27,27,28,28,30,30,31,31, + 32,32,35,35,36,36,40,40,39,39, 39,39,39,39,39,39,39,39,39,39, - 39,37,27,139,139,97,97,101,101,92, - 192,192,68,68,68,68,68,68,68,68, - 68,69,69,69,70,70,54,54,173,173, - 71,71,71,114,114,72,72,72,72,73, - 73,73,73,73,74,74,78,78,78,78, - 78,78,78,47,47,47,47,47,104,104, - 105,105,48,174,22,22,22,22,22,45, - 45,87,87,87,87,87,146,146,141,141, - 141,141,141,142,142,142,143,143,143,144, - 144,144,145,145,145,88,88,88,88,88, - 89,89,89,12,12,12,12,12,12,12, - 12,12,12,12,100,118,118,118,118,118, - 116,116,116,117,117,148,148,147,147,120, - 120,149,82,82,83,83,85,86,84,50, - 44,150,150,51,49,81,81,151,151,140, - 140,121,122,122,76,76,152,152,61,61, - 61,56,56,55,62,62,66,66,53,53, - 53,90,90,99,98,98,59,59,57,57, - 58,58,46,102,102,102,93,93,93,94, - 95,95,95,96,96,106,106,106,108,108, - 107,107,193,193,91,91,176,176,176,176, - 176,124,43,43,154,175,175,125,125,125, - 125,177,177,34,34,115,126,126,126,126, - 109,109,119,119,119,156,157,157,157,157, - 157,157,157,157,157,180,180,178,178,179, - 179,158,158,158,158,159,181,111,110,110, - 182,182,160,160,160,160,103,103,103,183, - 183,9,184,184,185,161,153,153,162,162, - 163,164,164,6,6,7,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,65,67, - 67,167,167,127,127,128,128,128,128,128, - 128,3,168,168,165,165,129,129,129,79, - 80,75,155,155,112,112,186,186,186,130, - 130,123,123,187,187,169,169,969,39,2419, - 2414,2705,3170,34,1096,31,35,30,32,2370, - 29,27,56,1114,112,82,83,113,1156,860, - 1212,1182,1247,1224,2826,1338,1257,1628,1554,982, - 1636,274,1677,148,390,2697,163,149,1071,39, - 1085,36,1540,2922,34,1096,338,35,418,1777, - 2792,38,2402,39,1085,36,233,2728,34,1096, - 31,35,30,32,992,29,27,56,1114,112, - 82,83,113,1156,486,1212,1182,1247,1224,1321, - 1338,1257,1628,2238,236,231,232,1806,2635,3481, - 4491,332,3280,319,2866,321,2609,275,852,315, - 2748,418,39,2816,350,418,39,2792,2815,418, - 39,282,243,246,249,252,2141,418,2889,1028, - 39,1085,36,1865,2708,34,1096,31,35,63, - 32,345,1506,1283,348,1980,609,1748,3175,3155, - 3210,3265,3313,2945,1552,39,1085,36,2329,2728, - 34,1096,31,35,2565,32,992,29,27,56, - 1114,112,82,83,113,1156,342,1212,1182,1247, - 1224,2032,1338,1257,1628,1554,776,1636,2652,1677, - 148,1337,412,506,149,983,1352,39,1085,36, - 2544,2708,34,1096,31,35,62,32,418,39, - 2775,2732,507,1552,39,1085,36,2329,2728,34, - 1096,31,35,2565,32,992,29,27,56,1114, - 112,82,83,113,1156,342,1212,1182,1247,1224, - 860,1338,1257,1628,1554,3537,1636,286,1677,148, - 429,2032,506,149,66,39,1736,47,487,2544, - 46,1096,67,2182,39,280,2148,1395,39,1085, - 36,507,3726,34,1096,31,35,30,32,708, - 500,313,2936,502,1611,1817,39,1085,36,2329, - 2728,34,1096,31,35,2565,32,992,29,27, - 56,1114,112,82,83,113,1156,342,1212,1182, - 1247,1224,2032,1338,1257,1628,1554,611,1636,2556, - 1677,148,2589,94,506,149,108,2807,449,66, - 1413,2544,1224,39,1085,36,631,126,34,1096, - 44,35,502,507,1618,39,1085,36,635,2728, - 34,1096,31,35,30,32,992,29,27,56, - 1114,112,82,83,113,1156,860,1212,1182,1247, - 1224,4470,1338,1257,1628,1554,432,1636,2734,1677, - 148,2589,214,377,149,2402,39,1085,36,448, - 2728,34,1096,31,35,30,32,992,29,27, - 56,1114,112,82,83,113,1156,380,1212,2094, - 1690,39,1085,36,503,2728,34,1096,31,35, - 30,32,992,29,27,56,1114,112,82,83, - 113,1156,445,1212,1182,1247,1224,2092,1338,1257, - 1628,1554,2065,1636,31,1677,148,302,994,377, - 149,1097,39,1085,36,654,3726,34,1096,31, - 35,65,32,1308,1540,2182,39,278,2922,381, - 1254,2004,952,378,1987,39,1085,36,436,2728, - 34,1096,31,35,30,32,992,29,27,56, - 1114,112,82,83,113,1156,28,1212,1182,1247, - 1224,1836,1338,1257,1628,1554,852,1636,1310,1677, - 148,31,2329,163,149,674,331,1097,39,1085, - 36,3701,3726,34,1096,31,35,64,32,2926, - 2878,1987,39,1085,36,382,2728,34,1096,31, - 35,30,32,992,29,27,56,1114,112,82, - 83,113,1156,1124,1212,1182,1247,1224,860,1338, - 1257,1628,1554,3778,1636,742,1677,148,48,2776, - 371,149,1987,39,1085,36,918,2728,34,1096, - 31,35,30,32,992,29,27,56,1114,112, - 82,83,113,1156,2587,1212,1182,1247,1224,359, - 1338,1257,1628,1554,1420,1636,1736,1677,148,2922, - 1288,371,149,609,1987,39,1085,36,2208,2728, - 34,1096,31,35,30,32,992,29,27,56, - 1114,112,82,83,113,1156,946,1212,1182,1247, - 1224,1401,1338,1257,1628,1554,1463,1636,1540,1677, - 148,4378,2657,371,149,370,398,332,1927,39, - 1085,36,1081,2728,34,1096,31,35,30,32, - 992,29,27,56,1114,112,82,83,113,1156, - 75,1212,1182,1247,1224,860,1338,1257,1628,1554, - 4382,1636,1063,1677,148,31,369,377,149,994, - 1752,39,1085,36,1782,2728,34,1096,31,35, - 30,32,992,29,27,56,1114,112,82,83, - 113,1156,161,1212,1182,1247,1224,154,1338,1257, - 1628,1554,984,1636,2697,1677,148,75,367,147, - 149,1987,39,1085,36,2416,2728,34,1096,31, - 35,30,32,992,29,27,56,1114,112,82, - 83,113,1156,1491,1212,1182,1247,1224,1308,1338, - 1257,1628,1554,2922,1636,354,1677,148,99,161, - 164,149,521,375,1987,39,1085,36,374,2728, - 34,1096,31,35,30,32,992,29,27,56, - 1114,112,82,83,113,1156,2652,1212,1182,1247, - 1224,2541,1338,1257,1628,1554,2697,1636,233,1677, - 148,1695,2657,160,149,1987,39,1085,36,351, - 2728,34,1096,31,35,30,32,992,29,27, - 56,1114,112,82,83,113,1156,2118,1212,1182, - 1247,1224,2657,1338,1257,1628,1554,512,1636,31, - 1677,148,2032,733,159,149,1987,39,1085,36, - 374,2728,34,1096,31,35,30,32,992,29, - 27,56,1114,112,82,83,113,1156,372,1212, - 1182,1247,1224,860,1338,1257,1628,1554,4391,1636, - 2212,1677,148,2032,100,158,149,1987,39,1085, - 36,852,2728,34,1096,31,35,30,32,992, - 29,27,56,1114,112,82,83,113,1156,1078, - 1212,1182,1247,1224,2032,1338,1257,1628,1554,4169, - 1636,95,1677,148,108,353,157,149,1987,39, - 1085,36,521,2728,34,1096,31,35,30,32, - 992,29,27,56,1114,112,82,83,113,1156, - 3289,1212,1182,1247,1224,323,1338,1257,1628,1554, - 57,1636,521,1677,148,1598,2149,156,149,1987, - 39,1085,36,390,2728,34,1096,31,35,30, - 32,992,29,27,56,1114,112,82,83,113, - 1156,326,1212,1182,1247,1224,2032,1338,1257,1628, - 1554,1598,1636,31,1677,148,2032,1782,155,149, - 1987,39,1085,36,947,2728,34,1096,31,35, - 30,32,992,29,27,56,1114,112,82,83, - 113,1156,352,1212,1182,1247,1224,1958,1338,1257, - 1628,1554,860,1636,31,1677,148,4443,4344,154, - 149,1987,39,1085,36,390,2728,34,1096,31, - 35,30,32,992,29,27,56,1114,112,82, - 83,113,1156,103,1212,1182,1247,1224,76,1338, - 1257,1628,1554,104,1636,31,1677,148,1027,2442, - 153,149,1987,39,1085,36,1188,2728,34,1096, - 31,35,30,32,992,29,27,56,1114,112, - 82,83,113,1156,77,1212,1182,1247,1224,2046, - 1338,1257,1628,1554,860,1636,1561,1677,148,4456, - 2603,152,149,1987,39,1085,36,978,2728,34, - 1096,31,35,30,32,992,29,27,56,1114, - 112,82,83,113,1156,1797,1212,1182,1247,1224, - 2922,1338,1257,1628,1554,2697,1636,31,1677,148, - 1163,2811,151,149,1987,39,1085,36,1418,2728, - 34,1096,31,35,30,32,992,29,27,56, - 1114,112,82,83,113,1156,1170,1212,1182,1247, - 1224,1441,1338,1257,1628,1554,1342,1636,1695,1677, - 148,418,3309,150,149,1882,39,1085,36,515, - 2728,34,1096,31,35,30,32,992,29,27, - 56,1114,112,82,83,113,1156,1040,1212,1182, - 1247,1224,1344,1338,1257,1628,1554,1156,1636,31, - 2803,169,1465,994,1987,39,1085,36,1678,2728, - 34,1096,31,35,30,32,992,29,27,56, - 1114,112,82,83,113,1156,161,1212,1182,1247, - 1224,2697,1338,1257,1628,1554,1423,1636,1766,1677, - 148,102,327,145,149,1308,418,39,1746,384, - 2922,2577,1789,2309,39,1085,36,1454,2728,34, - 1096,31,35,30,32,992,29,27,56,1114, - 112,82,83,113,1156,1607,1212,1182,1247,1224, - 55,1338,1257,1628,1554,514,1636,52,1677,148, - 328,334,194,149,2402,39,1085,36,331,2728, - 34,1096,31,35,30,32,992,29,27,56, - 1114,112,82,83,113,1156,2089,1212,1182,1247, - 1224,1540,1338,1257,1628,1554,1540,1636,2115,2803, - 169,2402,39,1085,36,2797,2728,34,1096,31, - 35,30,32,992,29,27,56,1114,112,82, - 83,113,1156,74,1212,1182,1247,1224,59,1338, - 1257,1628,1554,1972,1636,1979,2803,169,1224,39, - 1085,36,1540,2103,34,1096,2297,35,418,39, - 2792,277,2402,39,1085,36,290,2728,34,1096, - 31,35,30,32,992,29,27,56,1114,112, - 82,83,113,1156,93,1212,1182,1247,1224,1540, - 1338,1257,1628,1554,1540,1636,248,2803,169,2402, - 39,1085,36,1546,2728,34,1096,31,35,30, - 32,992,29,27,56,1114,112,82,83,113, - 1156,58,1212,1182,1247,1224,96,1338,1257,1628, - 1554,424,1636,600,2803,169,1224,39,1085,36, - 1540,682,34,1096,339,35,418,2943,2792,80, - 2402,39,1085,36,414,2728,34,1096,31,35, - 30,32,992,29,27,56,1114,112,82,83, - 113,1156,349,1212,1182,1247,1224,1540,1338,1257, - 1628,1554,1540,1636,1435,2803,169,2447,39,1085, - 36,413,2728,34,1096,31,35,30,32,992, - 29,27,56,1114,112,82,83,113,1156,2833, - 1212,1182,1247,1224,2851,1338,1257,1628,1554,2216, - 1636,31,2803,169,1676,665,418,39,1746,384, - 761,1318,39,2609,1666,2644,3225,2715,2402,39, - 1085,36,416,2728,34,1096,31,35,30,32, - 992,29,27,56,1114,112,82,83,113,1156, - 422,1212,1182,1247,1224,55,1338,1257,1628,1554, - 2299,2364,1741,728,2524,2402,39,1085,36,3393, - 2728,34,1096,31,35,30,32,992,29,27, - 56,1114,112,82,83,113,1156,1388,1212,1182, - 1247,1224,2693,1338,1257,2207,2402,39,1085,36, - 155,2728,34,1096,31,35,30,32,992,29, - 27,56,1114,112,82,83,113,1156,1425,1212, - 1182,1247,1224,187,1338,2220,2402,39,1085,36, - 1625,2728,34,1096,31,35,30,32,992,29, - 27,56,1114,112,82,83,113,1156,1100,1212, - 1182,1247,1224,1802,2140,2402,39,1085,36,1078, - 2728,34,1096,31,35,30,32,992,29,27, - 56,1114,112,82,83,113,1156,2218,1212,1182, - 1247,2145,2402,39,1085,36,396,2728,34,1096, - 31,35,30,32,992,29,27,56,1114,112, - 82,83,113,1156,513,1212,1182,1247,2147,2492, - 39,1746,384,1540,2420,400,385,2402,39,1085, - 36,238,2728,34,1096,31,35,30,32,992, - 29,27,56,1114,112,82,83,113,1156,249, - 1212,1182,2006,274,1189,73,2402,39,1085,36, - 2220,2728,34,1096,31,35,30,32,992,29, - 27,56,1114,112,82,83,113,1156,233,1212, - 1182,2041,2402,39,1085,36,611,2728,34,1096, - 31,35,30,32,992,29,27,56,1114,112, - 82,83,113,1156,2632,1906,236,231,232,2575, - 506,39,1746,384,1224,39,1085,36,2795,275, - 34,1096,2990,35,1270,39,1746,384,2194,39, - 2792,2977,425,1802,243,246,249,252,2141,418, - 3408,1469,39,442,55,1865,4395,2194,39,2792, - 277,1741,2656,2232,418,39,1746,384,274,2500, - 3175,3155,3210,3265,3313,2945,2402,39,1085,36, - 2464,2728,34,1096,31,35,30,32,992,29, - 27,56,1114,112,82,83,113,1156,274,1212, - 1182,2043,2402,39,1085,36,283,2728,34,1096, - 31,35,30,32,992,29,27,56,1114,112, - 82,83,113,1156,177,1212,1182,2051,527,1213, - 39,1085,36,3692,2846,34,1096,338,35,2501, - 513,2071,2533,2416,1599,2329,230,78,1835,1336, - 1540,161,386,418,1116,1867,1936,436,2329,2922, - 3335,3019,185,342,276,1119,2495,205,216,3525, - 2329,204,213,214,215,217,2878,1344,174,1, - 1540,4491,72,527,319,2866,321,1126,2878,1919, - 314,2748,188,172,173,175,176,177,178,179, - 1540,230,1540,425,31,3088,161,331,994,1064, - 350,1802,71,435,3107,3110,3019,185,2354,39, - 390,2721,205,216,3525,2329,204,213,214,215, - 217,161,70,174,2966,2017,2577,343,1506,1283, - 348,2359,186,230,2797,358,341,189,172,173, - 175,176,177,178,179,512,478,494,1166,1980, - 2092,2859,2862,1041,207,216,3525,994,206,213, - 214,215,217,2746,284,333,334,2329,2035,1604, - 3373,3368,2554,2188,39,278,208,31,2888,425, - 165,2861,31,491,493,230,994,2579,2428,218, - 209,210,211,212,292,293,294,295,594,39, - 1746,384,2131,387,418,420,207,216,3525,3675, - 206,213,214,215,217,3743,3205,3124,1537,39, - 1746,384,31,3052,2179,631,2689,3018,208,2833, - 2888,1116,55,2329,350,2329,2922,3156,2654,1741, - 962,218,209,210,211,212,292,293,294,295, - 1916,230,55,2878,418,39,1746,384,2434,1741, - 564,343,1506,1283,348,2198,1741,3743,3467,2919, - 2050,31,207,216,3525,3286,206,213,214,215, - 217,2848,1866,1326,331,2329,2936,1436,425,389, - 418,31,2922,1006,208,3109,2888,418,39,2792, - 281,1976,2889,230,324,2552,2647,218,209,210, - 211,212,292,293,294,295,418,39,1746,384, - 2185,568,358,31,207,216,3525,2659,206,213, - 214,215,217,3743,3522,2191,2230,2092,2859,2862, - 332,31,1868,39,442,3388,208,4395,2888,471, - 55,1515,2158,350,601,2329,2173,1741,804,218, - 209,210,211,212,292,293,294,295,1054,39, - 1085,36,3543,2878,34,1096,338,35,830,1746, - 345,1506,1283,348,1836,3743,3681,2402,39,1085, - 36,2394,2728,34,1096,31,35,30,32,992, - 29,27,56,1114,112,82,83,113,1156,425, - 1212,2134,418,39,1746,384,418,39,2792,279, - 4491,285,325,319,2866,321,2648,2117,265,314, - 2748,837,527,2292,350,2549,39,1746,384,31, - 2420,1041,358,3020,2993,994,55,239,2443,2901, - 230,50,2776,1741,2845,161,31,2602,2859,2862, - 3650,343,1506,1283,348,3019,185,2411,165,274, - 2984,205,216,3525,1957,204,213,214,215,217, - 2218,1540,174,2669,1202,39,1085,36,3692,2922, - 34,1096,338,35,233,2526,3398,172,173,175, - 176,177,178,179,439,3107,3110,2653,2691,2218, - 1515,2548,1361,61,2329,2329,2329,4479,300,388, - 418,353,237,231,232,527,2692,31,2203,777, - 1540,2329,2878,2878,230,275,4491,331,1999,319, - 2866,321,1566,230,364,314,2748,184,161,342, - 244,247,250,253,2141,1138,401,4316,3019,185, - 626,1865,60,31,205,216,3525,2566,204,213, - 214,215,217,2544,4223,174,31,402,1540,2888, - 527,2670,441,31,31,1792,527,2396,994,181, - 172,173,175,176,177,178,179,2711,342,1344, - 2699,358,494,161,230,307,311,2739,1540,161, - 322,161,1540,1911,2718,2864,3122,2859,2862,3019, - 185,2333,2544,2732,3475,205,216,3525,2243,204, - 213,214,215,217,1168,3409,174,529,491,493, - 107,527,2740,865,3233,1187,418,39,2792,3036, - 192,172,173,175,176,177,178,179,2577,230, - 1877,39,1746,384,161,2033,1478,2518,403,406, - 994,2329,31,953,3019,185,1172,240,3379,31, - 205,216,3525,1342,204,213,214,215,217,342, - 2218,174,617,161,55,1802,527,330,334,520, - 1403,1741,1367,525,233,3473,172,173,175,176, - 177,178,179,2544,230,1973,39,1746,384,161, - 2464,2773,31,31,233,523,2329,4241,200,3019, - 185,2784,245,231,232,205,216,3525,2786,204, - 213,214,215,217,342,2788,174,705,2218,55, - 2713,527,241,231,232,2059,1741,53,298,233, - 195,172,173,175,176,177,178,179,2544,230, - 506,39,1746,384,161,783,1976,2889,31,31, - 1798,1540,3021,1265,3019,185,199,248,231,232, - 205,216,3525,2456,204,213,214,215,217,2218, - 1867,174,793,2116,55,3335,527,418,39,1746, - 384,1741,53,440,233,191,172,173,175,176, - 177,178,179,2642,230,2200,39,1746,384,161, - 639,418,39,1746,384,559,1540,203,2731,3019, - 185,424,251,231,232,205,216,3525,2218,204, - 213,214,215,217,3333,519,174,881,2800,55, - 1523,527,233,2744,527,423,1741,53,3557,1685, - 198,172,173,175,176,177,178,179,1344,230, - 2793,89,3588,2733,161,2136,201,161,1996,31, - 254,231,232,1372,3019,185,285,167,2797,2794, - 205,216,3525,1166,204,213,214,215,217,57, - 2810,174,1526,39,1085,36,2741,2801,34,1096, - 338,35,2802,2611,2901,197,172,173,175,176, - 177,178,179,2402,39,1085,36,2577,2728,34, - 1096,31,35,30,32,992,29,27,56,1114, - 112,82,83,113,1156,2712,1918,1802,1041,3639, - 421,3482,994,1704,4491,2218,31,319,2866,321, - 2621,31,2218,314,2748,2543,3182,334,350,31, - 2034,5095,31,2329,2329,165,2673,5095,3088,1171, - 39,3038,36,3692,2922,34,1096,338,35,5095, - 31,342,342,222,2739,343,1506,1283,348,2873, - 4531,1540,1802,2329,2050,1543,39,1085,36,2994, - 305,34,1096,338,35,2544,711,418,39,1746, - 384,230,1540,1308,4462,31,31,1828,2922,2791, - 994,4491,331,3092,319,2866,321,2218,1540,5095, - 314,2748,207,216,3525,2991,206,213,214,215, - 217,55,2495,161,3147,531,2329,4491,1741,985, - 316,3017,321,2550,208,297,2888,2659,31,4223, - 3202,2329,4190,5095,2878,304,331,488,209,210, - 211,212,292,293,294,295,2354,39,390,230, - 2357,39,1085,36,5095,2728,34,1096,31,35, - 30,32,992,29,27,56,1114,92,82,83, - 207,216,3525,568,206,213,214,215,217,2935, - 2519,5095,2218,2329,3795,418,39,1746,384,1041, - 1344,31,208,994,2888,864,445,409,3039,5095, - 2218,230,1540,494,1540,509,209,210,211,212, - 292,293,294,295,431,1540,165,2937,2268,441, - 4539,1802,207,216,3525,5095,206,213,214,215, - 217,2960,1308,5095,1705,2329,1821,2922,303,492, - 493,2520,5095,5095,208,1540,2888,376,31,2577, - 5095,5095,2329,230,2218,3133,5095,306,209,210, - 211,212,292,293,294,295,418,39,1746,384, - 342,2354,39,390,207,216,3525,3811,206,213, - 214,215,217,2761,296,331,3040,2329,3189,334, - 5095,1540,4540,5095,2544,5095,208,1041,2888,5095, - 55,994,2218,5095,379,230,1842,1741,564,510, - 209,210,211,212,292,293,294,295,594,39, - 1746,384,4290,3312,165,31,207,216,3525,2329, - 206,213,214,215,217,1679,39,1085,36,3543, - 223,34,1096,338,35,31,2218,342,208,994, - 2888,2218,55,1540,418,39,291,5095,5095,1741, - 53,219,209,210,211,212,292,293,294,295, - 5095,2544,161,5095,5095,418,39,291,2424,5095, - 3432,5095,2580,2087,299,3367,5095,4491,5095,196, - 319,2866,321,5095,3118,5095,314,2748,5095,5095, - 5095,350,5095,5095,5095,5095,5095,2402,39,1085, - 36,516,2728,34,1096,31,35,30,32,992, - 29,27,56,1114,112,82,83,91,343,1506, - 1283,348,5095,2402,39,1085,36,517,2728,34, - 1096,31,35,30,32,992,29,27,56,1114, - 112,82,83,113,1953,2402,39,1085,36,5095, - 2728,34,1096,31,35,30,32,992,29,27, - 56,1114,112,82,83,113,1955,2402,39,1085, - 36,5095,2728,34,1096,31,35,30,32,992, - 29,27,56,1114,112,82,83,113,1963,2402, - 1777,1085,1787,3660,2728,34,1096,31,35,30, - 32,992,29,27,56,1114,112,82,83,90, - 2402,39,1085,36,3806,2728,34,1096,31,35, - 30,32,992,29,27,56,1114,112,82,83, - 89,2402,39,1085,36,5095,2728,34,1096,31, - 35,30,32,992,29,27,56,1114,112,82, - 83,88,2402,39,1085,36,5095,2728,34,1096, - 31,35,30,32,992,29,27,56,1114,112, - 82,83,87,2402,39,1085,36,5095,2728,34, - 1096,31,35,30,32,992,29,27,56,1114, - 112,82,83,86,2402,39,1085,36,5095,2728, - 34,1096,31,35,30,32,992,29,27,56, - 1114,112,82,83,85,2402,39,1085,36,5095, - 2728,34,1096,31,35,30,32,992,29,27, - 56,1114,112,82,83,84,2262,39,1085,36, - 5095,2728,34,1096,31,35,30,32,992,29, - 27,56,1114,112,82,83,110,2402,39,1085, - 36,5095,2728,34,1096,31,35,30,32,992, - 29,27,56,1114,112,82,83,115,2402,39, - 1085,36,5095,2728,34,1096,31,35,30,32, - 992,29,27,56,1114,112,82,83,114,2402, - 39,1085,36,5095,2728,34,1096,31,35,30, - 32,992,29,27,56,1114,112,82,83,111, - 1459,39,1085,36,3692,5095,34,1096,338,35, - 5095,1667,39,3038,36,3692,5095,34,1096,338, - 35,5095,1213,39,1085,36,3692,5095,34,1096, - 338,35,5095,1191,39,1085,36,5095,2922,34, - 1096,338,35,2521,1041,5095,5095,994,994,5095, - 5095,1344,4491,5095,5095,319,2866,321,5095,5095, - 5095,314,2748,4491,5095,5095,319,2866,321,5095, - 161,165,314,2748,4491,5095,626,319,2866,321, - 3358,202,5095,314,2748,4491,332,531,319,2866, - 321,5095,5095,5095,317,2748,5095,5095,626,5095, - 1191,39,1085,36,5095,2922,34,1096,338,35, - 2577,1213,39,1085,36,3692,5095,34,1096,338, - 35,307,311,5095,5095,5095,1304,39,1085,36, - 3499,5095,34,1096,338,35,5095,5095,31,5095, - 3762,3291,527,308,311,5095,5095,5095,5095,3399, - 334,3409,4491,332,1278,319,2866,321,2329,4479, - 342,315,2748,4491,397,161,319,2866,321,410, - 3039,5095,314,2748,5095,984,230,5095,4491,5095, - 5095,316,3017,321,2544,5095,5095,3427,2200,39, - 1746,384,2200,39,1746,384,1962,1138,401,4316, - 5095,2200,39,1746,384,2200,39,1746,384,5095, - 5095,5095,5095,31,31,5095,31,994,527,402, - 2329,2888,55,5095,5095,5095,55,31,5095,1741, - 53,2329,5095,1741,53,55,342,5095,342,55, - 161,161,1741,53,5095,5095,1741,53,2764,342, - 2600,193,3317,2497,39,1746,384,2864,5095,31, - 4301,3341,2544,994,5095,3645,2522,39,1746,384, - 5095,5095,1523,2544,498,5095,994,5095,2937,5095, - 418,39,1746,384,5095,496,161,55,5095,418, - 39,1746,384,31,1741,53,1536,2329,5095,161, - 55,418,39,1746,384,5095,5095,1741,53,167, - 403,405,5095,3814,55,342,5095,5095,5095,5095, - 5095,1741,2683,55,5095,31,3835,5095,3521,527, - 1741,1513,2273,31,3022,55,2077,527,5095,2544, - 2329,1523,1741,1595,5095,994,5095,342,5095,1523, - 1523,524,161,994,994,342,5095,31,342,5095, - 161,994,193,5095,5095,5095,5095,5095,161,5095, - 193,4301,5095,3642,5095,5095,161,161,167,4301, - 5095,5095,3640,5095,161,5095,167,167,5095,5095, - 5095,5095,5095,5095,3705,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,3542, - 5095,5095,3714,5095,5095,5095,5095,3558,5095,5095, - 3751,3813,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,3664,5095,0,43,5113,0,43,5112, - 0,1031,33,0,443,1379,0,42,5113,0, - 42,5112,0,2476,131,0,1,433,0,447, - 771,0,446,832,0,1031,45,0,964,97, - 0,1031,383,0,39,37,0,36,38,0, - 43,578,0,1,549,0,1,5368,0,1, - 5367,0,1,5366,0,1,5365,0,1,5364, - 0,1,5363,0,1,5362,0,1,5361,0, - 1,5360,0,1,5359,0,1,5358,0,43, - 1,5113,0,43,1,5112,0,774,1,0, - 5330,242,0,5329,242,0,5432,242,0,5431, - 242,0,5357,242,0,5356,242,0,5355,242, - 0,5354,242,0,5353,242,0,5352,242,0, - 5351,242,0,5350,242,0,5368,242,0,5367, - 242,0,5366,242,0,5365,242,0,5364,242, - 0,5363,242,0,5362,242,0,5361,242,0, - 5360,242,0,5359,242,0,5358,242,0,43, - 242,5113,0,43,242,5112,0,5137,242,0, - 54,5113,0,54,5112,0,49,5135,0,49, - 41,0,5113,54,0,5112,54,0,2476,133, - 0,2476,132,0,238,2663,0,384,36,0, - 36,384,0,383,33,0,33,383,0,30, - 508,0,5424,434,0,1543,434,0,1,98, - 0,41,53,0,5137,1,0,43,1,0, - 53,41,0,5137,229,1,0,43,229,1, - 0,229,408,0,41,5113,0,41,5112,0, - 5135,51,0,51,41,0,5113,40,0,5112, - 40,0,1,5113,2,0,1,5112,2,0, - 41,5113,2,0,41,5112,2,0,5105,399, - 0,5104,399,0,1,2529,0,1,578,0, - 1,3490,0,229,407,0,5424,101,0,1543, - 101,0,39,79,0,2949,318,0,1,5424, - 0,1,1543,0,43,1,5113,2,0,43, - 1,5112,2,0,43,5113,2,0,43,5112, - 2,0,279,3468,0,1,2618,0,1,3606, - 0,5103,1,0,490,3587,0,229,1,0, - 229,1,3183,0,5105,229,0,5104,229,0, - 3391,229,0,8,10,0,229,221,0,229, - 220,0,190,3257,0 + 39,38,29,138,138,97,97,172,172,92, + 194,194,72,72,72,72,72,72,72,72, + 72,73,73,73,68,68,58,58,173,173, + 74,74,74,103,103,174,174,75,75,75, + 175,175,76,76,76,76,76,77,77,71, + 71,71,71,71,71,71,47,47,47,47, + 47,104,104,105,105,48,176,22,22,22, + 22,22,46,46,87,87,87,87,87,145, + 145,140,140,140,140,140,141,141,141,142, + 142,142,143,143,143,144,144,144,88,88, + 88,88,88,89,89,89,12,12,12,12, + 12,12,12,12,12,12,12,100,117,117, + 117,117,117,115,115,115,116,116,147,147, + 146,146,119,119,148,82,82,83,83,85, + 86,84,50,45,149,149,51,49,81,81, + 150,150,139,139,120,121,121,69,69,151, + 151,61,61,61,55,55,54,62,62,66, + 66,53,53,53,90,90,99,98,98,59, + 59,56,56,57,57,43,101,101,101,93, + 93,93,94,95,95,95,96,96,106,106, + 106,108,108,107,107,195,195,91,91,178, + 178,178,178,178,123,44,44,153,177,177, + 124,124,124,124,179,179,34,34,114,125, + 125,125,125,109,109,118,118,118,155,156, + 156,156,156,156,156,156,156,156,182,182, + 180,180,181,181,157,157,157,157,158,183, + 111,110,110,184,184,159,159,159,159,102, + 102,102,185,185,9,186,186,187,160,152, + 152,161,161,162,163,163,6,6,7,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,65,67,67,166,166,126,126,127,127, + 127,127,127,127,3,167,167,164,164,128, + 128,128,79,80,78,154,154,112,112,188, + 188,188,129,129,122,122,189,189,168,168, + 881,39,2743,2676,1447,2766,34,1113,31,35, + 30,32,2630,29,27,56,1143,112,82,83, + 113,1164,911,1318,1202,1457,1450,1610,1598,949, + 1692,1639,1758,1115,277,1781,148,489,2791,163, + 149,1345,39,1032,36,929,3053,34,1113,341, + 35,331,2003,2985,38,2317,39,1032,36,236, + 2786,34,1113,31,35,30,32,990,29,27, + 56,1143,112,82,83,113,1164,2043,1318,1202, + 1457,1450,1610,1598,894,1692,2488,239,234,235, + 331,39,294,4435,335,322,1614,324,689,490, + 278,513,318,1580,1375,2884,32,353,1115,3231, + 676,1217,1490,4373,246,249,252,255,2361,947, + 208,941,39,1032,36,2114,2672,34,1113,31, + 35,63,32,1430,348,1409,1327,351,614,1436, + 2742,2447,3116,3126,3230,2622,1459,39,1032,36, + 2271,2786,34,1113,31,35,2841,32,990,29, + 27,56,1143,112,82,83,113,1164,345,1318, + 1202,1457,1450,1610,1598,3122,1692,1639,1758,32, + 2436,1781,148,734,793,509,149,389,421,2481, + 1109,39,1032,36,1691,2672,34,1113,31,35, + 62,32,388,510,1459,39,1032,36,2271,2786, + 34,1113,31,35,2841,32,990,29,27,56, + 1143,112,82,83,113,1164,345,1318,1202,1457, + 1450,1610,1598,32,1692,1639,1758,2653,3411,1781, + 148,48,2937,509,149,710,76,2481,3249,1989, + 39,1032,36,67,4416,34,1113,31,35,30, + 32,510,503,2015,39,1032,36,2378,1639,34, + 1113,44,35,3053,505,988,1729,39,1032,36, + 2271,2786,34,1113,31,35,2841,32,990,29, + 27,56,1143,112,82,83,113,1164,345,1318, + 1202,1457,1450,1610,1598,1447,1692,1639,1758,949, + 2799,1781,148,2859,94,509,149,108,2061,2481, + 2590,335,66,243,39,1915,47,32,1202,46, + 1113,946,505,510,1525,39,1032,36,28,2786, + 34,1113,31,35,30,32,990,29,27,56, + 1143,112,82,83,113,1164,1408,1318,1202,1457, + 1450,1610,1598,1220,1692,1639,1758,1296,2930,1781, + 148,2859,3053,380,149,1594,39,1032,36,452, + 2786,34,1113,31,35,30,32,990,29,27, + 56,1143,112,82,83,113,1164,383,1318,1202, + 1457,1450,1610,1598,506,1692,1639,1758,1293,32, + 1781,148,897,4243,380,149,1900,39,1032,36, + 334,2786,34,1113,31,35,30,32,990,29, + 27,56,1143,112,82,83,113,1164,381,1318, + 1202,1457,1450,1610,1598,1436,1692,1639,1758,1709, + 767,1781,148,1020,1115,163,149,798,384,4426, + 601,1900,39,1032,36,1447,2786,34,1113,31, + 35,30,32,990,29,27,56,1143,112,82, + 83,113,1164,448,1318,1202,1457,1450,1610,1598, + 1296,1692,1639,1758,2124,3053,1781,148,75,385, + 374,149,1278,415,331,39,1994,387,286,1900, + 39,1032,36,3603,2786,34,1113,31,35,30, + 32,990,29,27,56,1143,112,82,83,113, + 1164,401,1318,1202,1457,1450,1610,1598,425,1692, + 1639,1758,32,1158,1781,148,607,767,374,149, + 1900,39,1032,36,614,2786,34,1113,31,35, + 30,32,990,29,27,56,1143,112,82,83, + 113,1164,357,1318,1202,1457,1450,1610,1598,524, + 1692,1639,1758,1443,373,1781,148,331,3162,374, + 149,1840,39,1032,36,435,2786,34,1113,31, + 35,30,32,990,29,27,56,1143,112,82, + 83,113,1164,1960,1318,1202,1457,1450,1610,1598, + 99,1692,1639,1758,1447,100,1781,148,1886,949, + 380,149,372,3053,1914,1663,39,1032,36,384, + 2786,34,1113,31,35,30,32,990,29,27, + 56,1143,112,82,83,113,1164,74,1318,1202, + 1457,1450,1610,1598,1644,1692,1639,1758,2482,356, + 1781,148,1332,370,147,149,524,1900,39,1032, + 36,1158,2786,34,1113,31,35,30,32,990, + 29,27,56,1143,112,82,83,113,1164,451, + 1318,1202,1457,1450,1610,1598,289,1692,1639,1758, + 331,2947,1781,148,1447,378,164,149,1900,39, + 1032,36,1447,2786,34,1113,31,35,30,32, + 990,29,27,56,1143,112,82,83,113,1164, + 859,1318,1202,1457,1450,1610,1598,59,1692,1639, + 1758,515,32,1781,148,93,946,160,149,1900, + 39,1032,36,102,2786,34,1113,31,35,30, + 32,990,29,27,56,1143,112,82,83,113, + 1164,3581,1318,1202,1457,1450,1610,1598,1992,1692, + 1639,1758,2519,2472,1781,148,1447,1457,159,149, + 1900,39,1032,36,2088,2786,34,1113,31,35, + 30,32,990,29,27,56,1143,112,82,83, + 113,1164,968,1318,1202,1457,1450,1610,1598,58, + 1692,1639,1758,32,949,1781,148,3208,2122,158, + 149,1900,39,1032,36,949,2786,34,1113,31, + 35,30,32,990,29,27,56,1143,112,82, + 83,113,1164,354,1318,1202,1457,1450,1610,1598, + 32,1692,1639,1758,642,399,1781,148,1447,2141, + 157,149,1900,39,1032,36,793,2786,34,1113, + 31,35,30,32,990,29,27,56,1143,112, + 82,83,113,1164,4069,1318,1202,1457,1450,1610, + 1598,96,1692,1639,1758,57,949,1781,148,1447, + 2003,156,149,1900,39,1032,36,31,2786,34, + 1113,31,35,30,32,990,29,27,56,1143, + 112,82,83,113,1164,355,1318,1202,1457,1450, + 1610,1598,352,1692,1639,1758,32,32,1781,148, + 3180,2558,155,149,1900,39,1032,36,1447,2786, + 34,1113,31,35,30,32,990,29,27,56, + 1143,112,82,83,113,1164,329,1318,1202,1457, + 1450,1610,1598,1954,1692,1639,1758,2708,32,1781, + 148,1569,3268,154,149,1900,39,1032,36,1447, + 2786,34,1113,31,35,30,32,990,29,27, + 56,1143,112,82,83,113,1164,1233,1318,1202, + 1457,1450,1610,1598,32,1692,1639,1758,3362,32, + 1781,148,1605,3220,153,149,1900,39,1032,36, + 2420,2786,34,1113,31,35,30,32,990,29, + 27,56,1143,112,82,83,113,1164,68,1318, + 1202,1457,1450,1610,1598,32,1692,1639,1758,3548, + 1257,1781,148,2566,2416,152,149,1900,39,1032, + 36,793,2786,34,1113,31,35,30,32,990, + 29,27,56,1143,112,82,83,113,1164,855, + 1318,1202,1457,1450,1610,1598,327,1692,1639,1758, + 1296,949,1781,148,1447,3053,151,149,1900,39, + 1032,36,1447,2786,34,1113,31,35,30,32, + 990,29,27,56,1143,112,82,83,113,1164, + 328,1318,1202,1457,1450,1610,1598,73,1692,1639, + 1758,1115,327,1781,148,72,3523,150,149,1795, + 39,1032,36,334,2786,34,1113,31,35,30, + 32,990,29,27,56,1143,112,82,83,113, + 1164,103,1318,1202,1457,1450,1610,1598,767,1692, + 1639,1758,331,3684,2998,169,1900,39,1032,36, + 2525,2786,34,1113,31,35,30,32,990,29, + 27,56,1143,112,82,83,113,1164,63,1318, + 1202,1457,1450,1610,1598,2248,1692,1639,1758,330, + 2449,1781,148,439,1613,145,149,2015,39,1032, + 36,1016,1028,34,1113,1862,35,2224,39,1032, + 36,1446,2786,34,1113,31,35,30,32,990, + 29,27,56,1143,112,82,83,113,1164,1895, + 1318,1202,1457,1450,1610,1598,1296,1692,1639,1758, + 1093,3053,1781,148,1436,3576,194,149,2317,39, + 1032,36,1430,2786,34,1113,31,35,30,32, + 990,29,27,56,1143,112,82,83,113,1164, + 326,1318,1202,1457,1450,1610,1598,524,1692,1639, + 1758,1447,2433,2998,169,2317,39,1032,36,334, + 2786,34,1113,31,35,30,32,990,29,27, + 56,1143,112,82,83,113,1164,287,1318,1202, + 1457,1450,1610,1598,71,1692,1639,1758,1315,403, + 2998,169,1251,39,1032,36,571,4416,34,1113, + 31,35,65,32,2513,1489,2317,39,1032,36, + 293,2786,34,1113,31,35,30,32,990,29, + 27,56,1143,112,82,83,113,1164,208,1318, + 1202,1457,1450,1610,1598,77,1692,1639,1758,1447, + 2433,2998,169,2317,39,1032,36,2151,2786,34, + 1113,31,35,30,32,990,29,27,56,1143, + 112,82,83,113,1164,1468,1318,1202,1457,1450, + 1610,1598,70,1692,1639,1758,316,303,2998,169, + 1251,39,1032,36,1624,4416,34,1113,31,35, + 64,32,1777,953,2317,39,1032,36,417,2786, + 34,1113,31,35,30,32,990,29,27,56, + 1143,112,82,83,113,1164,1069,1318,1202,1457, + 1450,1610,1598,1115,1692,1639,1758,1447,3628,2998, + 169,2362,39,1032,36,416,2786,34,1113,31, + 35,30,32,990,29,27,56,1143,112,82, + 83,113,1164,1691,1318,1202,1457,1450,1610,1598, + 2480,1692,1639,1758,1017,1791,2998,169,2015,39, + 1032,36,1808,1970,34,1113,342,35,331,39, + 2985,3034,2317,39,1032,36,419,2786,34,1113, + 31,35,30,32,990,29,27,56,1143,112, + 82,83,113,1164,1522,1318,1202,1457,1450,1610, + 1598,2433,1692,1639,2498,331,39,1523,1487,2317, + 39,1032,36,3668,2786,34,1113,31,35,30, + 32,990,29,27,56,1143,112,82,83,113, + 1164,949,1318,1202,1457,1450,1610,1598,184,2478, + 2317,39,1032,36,2021,2786,34,1113,31,35, + 30,32,990,29,27,56,1143,112,82,83, + 113,1164,2028,1318,1202,1457,1450,1610,2486,2317, + 39,1032,36,1972,2786,34,1113,31,35,30, + 32,990,29,27,56,1143,112,82,83,113, + 1164,208,1318,1202,1457,1450,2394,2317,39,1032, + 36,104,2786,34,1113,31,35,30,32,990, + 29,27,56,1143,112,82,83,113,1164,2002, + 1318,1202,1457,2404,2317,39,1032,36,1909,2786, + 34,1113,31,35,30,32,990,29,27,56, + 1143,112,82,83,113,1164,2042,1318,1202,1457, + 2471,2407,39,1994,387,2078,2490,67,73,2317, + 39,1032,36,241,2786,34,1113,31,35,30, + 32,990,29,27,56,1143,112,82,83,113, + 1164,2433,1318,1202,2277,277,377,1115,2317,39, + 1032,36,3680,2786,34,1113,31,35,30,32, + 990,29,27,56,1143,112,82,83,113,1164, + 236,1318,1202,2278,2317,39,1032,36,203,2786, + 34,1113,31,35,30,32,990,29,27,56, + 1143,112,82,83,113,1164,207,2164,239,234, + 235,974,39,2866,1194,249,3117,2015,39,1032, + 36,278,2007,34,1113,1950,35,1447,777,32, + 1130,2106,2271,3237,946,246,249,252,255,2361, + 331,39,2985,280,1334,55,2114,331,39,294, + 345,375,1975,2125,2410,331,39,1994,387,165, + 61,2742,2447,3116,3126,3230,2622,2317,39,1032, + 36,979,2786,34,1113,31,35,30,32,990, + 29,27,56,1143,112,82,83,113,1164,277, + 1318,1202,2356,2317,39,1032,36,940,2786,34, + 1113,31,35,30,32,990,29,27,56,1143, + 112,82,83,113,1164,177,1318,1202,2365,530, + 1072,2652,1506,331,39,1994,387,1244,415,32, + 32,1646,2043,946,4120,1650,1642,233,1556,1607, + 419,39,1994,387,161,1909,1356,1380,151,1296, + 2271,3053,185,2121,3053,279,236,428,161,208, + 219,4298,207,216,217,218,220,835,2887,331, + 39,3058,1,174,55,1507,530,331,39,285, + 3053,1975,2901,173,248,234,235,188,172,175, + 176,177,178,179,233,3596,1447,353,1400,334, + 2405,161,334,3437,1022,39,1994,387,2043,185, + 2121,2642,2029,39,393,2271,208,219,4298,207, + 216,217,218,220,346,1409,1327,351,335,60, + 174,1909,344,233,516,186,2525,361,277,4197, + 173,353,390,421,189,172,175,176,177,178, + 179,516,1539,3135,3144,210,219,4298,209,216, + 217,218,220,2658,2023,3655,3619,2271,348,1409, + 1327,351,2465,39,1994,387,211,2490,3147,2071, + 997,1885,221,2271,242,233,3430,1436,2522,377, + 212,213,214,215,295,296,297,298,2434,1447, + 1115,2887,530,425,3105,4325,277,210,219,4298, + 209,216,217,218,220,3645,2637,78,392,421, + 3546,3413,507,39,1994,387,2549,161,211,2750, + 3147,236,325,2271,221,185,2121,331,39,1994, + 387,1909,212,213,214,215,295,296,297,298, + 301,233,331,3258,2985,80,55,1660,2043,240, + 234,235,2938,1975,1352,32,200,3645,2987,2629, + 497,427,278,210,219,4298,209,216,217,218, + 220,2766,2554,1820,3295,2271,247,250,253,256, + 2361,32,2561,2492,211,2946,3147,2114,2433,518, + 221,331,337,233,243,494,496,1893,212,213, + 214,215,295,296,297,298,1657,39,1994,387, + 2077,39,281,1948,2086,210,219,4298,209,216, + 217,218,220,3645,3089,202,1453,39,1994,387, + 424,331,39,1994,387,3334,211,2104,3147,2094, + 55,236,221,771,39,2985,3276,1975,1557,432, + 212,213,214,215,295,296,297,298,391,421, + 55,2436,2519,4339,201,55,2405,1975,650,244, + 234,235,1975,1270,3475,3645,3155,2317,39,1032, + 36,1512,2786,34,1113,31,35,30,32,990, + 29,27,56,1143,112,82,83,113,1164,1068, + 1318,2372,2317,39,1032,36,1945,2786,34,1113, + 31,35,30,32,990,29,27,56,1143,112, + 82,83,113,1164,1724,1318,2381,1366,39,1032, + 36,1816,2307,34,1113,341,35,2317,39,1032, + 36,560,2786,34,1113,31,35,30,32,990, + 29,27,56,1143,112,82,83,113,1164,1115, + 2182,1447,1384,32,4330,2136,946,946,265,2496, + 2143,1447,530,331,39,1994,387,1781,425,4435, + 1356,322,1614,324,2271,3053,2566,2433,317,1580, + 233,161,161,353,107,95,3290,161,108,2524, + 528,1375,2887,2465,3172,185,2121,426,771,39, + 2985,280,208,219,4298,207,216,217,218,220, + 346,1409,1327,351,206,1931,174,1436,3277,1885, + 1447,353,1652,334,3430,32,173,2938,865,530, + 3671,172,175,176,177,178,179,1223,39,1032, + 36,2499,3053,34,1113,341,35,345,346,1409, + 1327,351,187,443,161,522,1449,1788,39,445, + 571,361,4321,1154,2142,353,336,337,2481,530, + 331,39,1994,387,1447,32,1539,3135,3144,2271, + 308,2074,995,331,39,1994,387,233,2412,4435, + 334,322,1614,324,161,367,32,345,317,1580, + 980,32,185,2121,444,1077,1809,3229,1982,208, + 219,4298,207,216,217,218,220,55,2481,1436, + 552,1820,441,174,1975,3078,530,4160,2581,2099, + 39,445,2074,173,4321,2233,439,181,172,175, + 176,177,178,179,233,3122,957,595,39,1994, + 387,161,331,39,1994,387,984,310,314,185, + 2121,331,39,2985,284,868,208,219,4298,207, + 216,217,218,220,1155,2254,3174,648,423,529, + 174,55,300,530,2433,1436,55,3685,1975,53, + 173,1909,1693,52,192,172,175,176,177,178, + 179,233,32,3316,2433,236,4137,3238,161,2071, + 1714,50,2937,2271,2271,236,185,2121,438,3352, + 3390,204,384,208,219,4298,207,216,217,218, + 220,2887,2887,251,234,235,617,174,683,3162, + 530,225,32,254,234,235,3293,173,299,517, + 1490,3718,172,175,176,177,178,179,233,2433, + 1098,419,39,1994,387,161,1677,1714,1309,39, + 283,2271,1447,185,2121,331,39,2985,282,2238, + 208,219,4298,207,216,217,218,220,2255,2887, + 442,3352,3390,705,174,55,307,530,683,3162, + 497,361,1975,53,173,3092,2371,1759,197,172, + 175,176,177,178,179,233,2037,3135,3144,236, + 2347,2527,161,2085,1130,32,2529,2271,946,1169, + 185,2121,3131,2471,515,495,496,208,219,4298, + 207,216,217,218,220,2887,2568,257,234,235, + 793,174,2527,165,530,2502,2111,288,361,32, + 2271,173,2567,2271,1514,191,172,175,176,177, + 178,179,233,2931,3135,3144,2489,2588,2887,161, + 1447,345,2609,2821,975,3236,3249,185,2121,1309, + 39,281,425,2433,208,219,4298,207,216,217, + 218,220,2481,1777,39,1032,36,2940,174,34, + 1113,341,35,3149,497,32,2075,288,173,1728, + 2674,1326,199,172,175,176,177,178,179,2687, + 4498,1084,39,3325,36,2499,3053,34,1113,341, + 35,2433,1946,2621,1824,3236,3541,362,32,494, + 496,2938,2561,3245,2640,4435,2093,322,1614,324, + 1183,39,1994,387,317,1580,2842,32,2691,353, + 2271,3192,2649,1326,39,3325,36,2499,306,34, + 1113,341,35,4435,334,322,1614,324,233,3656, + 333,337,317,1580,55,2620,346,1409,1327,351, + 850,1975,53,2641,1449,331,39,2985,3322,2693, + 210,219,4298,209,216,217,218,220,32,2623, + 1034,4160,2613,2271,1447,4435,32,322,1614,324, + 2679,211,32,3147,317,1580,2731,491,2701,32, + 32,233,850,2271,2271,212,213,214,215,295, + 296,297,298,507,39,1994,387,3206,1447,1447, + 2705,345,345,210,219,4298,209,216,217,218, + 220,2858,2029,39,393,2271,32,2433,425,2706, + 4090,1130,2481,2481,211,946,3147,55,412,3332, + 512,2691,3161,233,1975,53,2082,2083,212,213, + 214,215,295,296,297,298,1183,39,1994,387, + 165,1447,1368,2367,226,210,219,4298,209,216, + 217,218,220,2874,2560,32,2433,2271,3697,864, + 413,3332,1447,2441,2330,1130,211,2938,3147,946, + 55,2129,309,2433,379,233,2668,1975,53,2669, + 212,213,214,215,295,296,297,298,1183,39, + 1994,387,1447,302,165,3613,2473,210,219,4298, + 209,216,217,218,220,2734,3066,337,2377,2271, + 198,3424,2029,39,393,2695,1676,1130,211,2712, + 3147,946,55,89,513,3320,382,233,2711,1975, + 53,2699,212,213,214,215,295,296,297,298, + 1183,39,1994,387,2720,2678,165,74,2687,210, + 219,4298,209,216,217,218,220,1978,39,1032, + 36,1816,2546,34,1113,341,35,2434,2721,32, + 211,946,3147,946,55,2722,222,2723,1239,1947, + 5058,1975,53,2271,212,213,214,215,295,296, + 297,298,5058,5058,5058,5058,161,5058,161,5058, + 2933,345,5058,5058,205,3154,5058,2497,5058,4435, + 5058,322,1614,324,2921,5058,5058,5058,317,1580, + 5058,3717,938,353,5058,5058,519,2317,39,1032, + 36,5058,2786,34,1113,31,35,30,32,990, + 29,27,56,1143,112,82,83,113,2193,5058, + 346,1409,1327,351,2317,39,1032,36,520,2786, + 34,1113,31,35,30,32,990,29,27,56, + 1143,112,82,83,113,2239,2317,39,1032,36, + 5058,2786,34,1113,31,35,30,32,990,29, + 27,56,1143,112,82,83,113,2266,2317,39, + 1032,36,5058,2786,34,1113,31,35,30,32, + 990,29,27,56,1143,112,82,83,91,2317, + 2003,1032,2026,5058,2786,34,1113,31,35,30, + 32,990,29,27,56,1143,112,82,83,90, + 2317,39,1032,36,448,2786,34,1113,31,35, + 30,32,990,29,27,56,1143,112,82,83, + 89,2317,39,1032,36,434,2786,34,1113,31, + 35,30,32,990,29,27,56,1143,112,82, + 83,88,2317,39,1032,36,5058,2786,34,1113, + 31,35,30,32,990,29,27,56,1143,112, + 82,83,87,2317,39,1032,36,5058,2786,34, + 1113,31,35,30,32,990,29,27,56,1143, + 112,82,83,86,2317,39,1032,36,5058,2786, + 34,1113,31,35,30,32,990,29,27,56, + 1143,112,82,83,85,2317,39,1032,36,5058, + 2786,34,1113,31,35,30,32,990,29,27, + 56,1143,112,82,83,84,2175,39,1032,36, + 5058,2786,34,1113,31,35,30,32,990,29, + 27,56,1143,112,82,83,110,2317,39,1032, + 36,5058,2786,34,1113,31,35,30,32,990, + 29,27,56,1143,112,82,83,115,2317,39, + 1032,36,5058,2786,34,1113,31,35,30,32, + 990,29,27,56,1143,112,82,83,114,2317, + 39,1032,36,5058,2786,34,1113,31,35,30, + 32,990,29,27,56,1143,112,82,83,111, + 1570,39,1032,36,2499,5058,34,1113,341,35, + 2272,39,1032,36,5058,2786,34,1113,31,35, + 30,32,990,29,27,56,1143,92,82,83, + 425,1585,39,1032,36,2499,5058,34,1113,341, + 35,5058,1585,39,1032,36,2499,425,34,1113, + 341,35,4435,32,322,1614,324,946,5058,1130, + 5058,317,1580,946,5058,5058,5058,5058,5058,1809, + 1100,39,1032,36,5058,3053,34,1113,341,35, + 5058,5058,161,4435,5058,322,1614,324,165,2938, + 5058,1654,317,1580,4435,5058,322,1614,324,5058, + 1809,5058,5058,317,1580,5058,2938,1100,39,1032, + 36,2649,3053,34,1113,341,35,5058,5058,5058, + 310,314,4435,335,322,1614,324,5058,3071,337, + 5058,320,1580,5058,1585,39,1032,36,2499,3547, + 34,1113,341,35,5058,3385,337,5058,5058,5058, + 3685,311,314,1191,5058,5058,2990,2271,4430,4435, + 335,322,1614,324,5058,5058,5058,5058,318,1580, + 1437,39,1032,36,3401,233,34,1113,341,35, + 5058,5058,5058,5058,5058,5058,4435,5058,322,1614, + 324,5058,5058,5058,5058,317,1580,1024,404,4260, + 5058,1267,5058,3715,5058,2271,4430,400,1964,39, + 1032,36,3007,5058,34,1113,341,35,405,5058, + 3147,5058,4435,233,319,3303,324,5058,5058,5058, + 5058,1183,39,1994,387,2220,39,1994,387,5058, + 2269,39,1994,387,5058,1024,404,4260,5058,2435, + 5058,5058,5058,530,5058,3145,5058,5058,5058,5058, + 4435,5058,319,3303,324,55,405,5058,3147,55, + 5058,345,1975,53,55,32,1975,53,161,530, + 5058,1975,53,331,39,1994,387,193,5058,5058, + 5058,3040,4224,5058,5058,620,5058,345,5058,5058, + 2397,1997,5058,3145,161,2271,5058,5058,406,408, + 5058,5058,5058,835,5058,5058,5058,55,2481,5058, + 5058,1770,5058,345,1975,3359,331,39,1994,387, + 5058,5058,1252,669,523,4291,331,39,1994,387, + 331,39,1994,387,2481,331,39,1994,387,32, + 32,32,195,2271,2271,530,406,409,526,1770, + 55,32,32,5058,5058,530,530,1975,650,5058, + 55,345,345,345,55,5058,5058,1975,2770,55, + 161,1975,1938,345,345,5058,1975,2211,5058,193, + 161,161,2481,2481,4224,5058,5058,2413,32,193, + 193,2271,2271,5058,4224,4224,1498,501,2676,32, + 32,5058,946,2271,946,5058,5058,5058,32,345, + 345,32,946,3363,32,946,5058,5058,946,32, + 5058,345,5058,946,5058,5058,5058,161,5058,161, + 3594,2481,5058,5058,5058,5058,167,161,1662,5058, + 161,5058,2481,161,3242,499,1861,5058,161,1949, + 5058,5058,1651,5058,3350,3494,527,3602,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 2992,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 3632,5058,5058,5058,5058,3529,5058,0,43,5076, + 0,43,5075,0,636,33,0,446,709,0, + 42,5076,0,42,5075,0,2417,131,0,1, + 436,0,450,839,0,449,1159,0,636,45, + 0,857,97,0,636,386,0,39,37,0, + 36,38,0,43,581,0,1,563,0,1, + 5334,0,1,5333,0,1,5332,0,1,5331, + 0,1,5330,0,1,5329,0,1,5328,0, + 1,5327,0,1,5326,0,1,5325,0,1, + 5324,0,43,1,5076,0,43,1,5075,0, + 853,1,0,5296,245,0,5295,245,0,5398, + 245,0,5397,245,0,5323,245,0,5322,245, + 0,5321,245,0,5320,245,0,5319,245,0, + 5318,245,0,5317,245,0,5316,245,0,5334, + 245,0,5333,245,0,5332,245,0,5331,245, + 0,5330,245,0,5329,245,0,5328,245,0, + 5327,245,0,5326,245,0,5325,245,0,5324, + 245,0,43,245,5076,0,43,245,5075,0, + 5100,245,0,54,5076,0,54,5075,0,49, + 5098,0,49,41,0,5076,54,0,5075,54, + 0,2417,133,0,2417,132,0,241,2380,0, + 387,36,0,36,387,0,386,33,0,33, + 386,0,30,511,0,5390,437,0,763,437, + 0,1,98,0,41,53,0,5100,1,0, + 43,1,0,53,41,0,5100,232,1,0, + 43,232,1,0,232,411,0,41,5076,0, + 41,5075,0,5098,51,0,51,41,0,5076, + 40,0,5075,40,0,1,5076,2,0,1, + 5075,2,0,41,5076,2,0,41,5075,2, + 0,5068,402,0,5067,402,0,1,4132,0, + 1,581,0,1,3719,0,232,410,0,5390, + 101,0,763,101,0,39,79,0,2379,321, + 0,1,5390,0,1,763,0,43,1,5076, + 2,0,43,1,5075,2,0,43,5076,2, + 0,43,5075,2,0,282,3551,0,1,2562, + 0,1,3542,0,5066,1,0,493,3489,0, + 232,1,0,232,1,3473,0,5068,232,0, + 5067,232,0,3663,232,0,8,10,0,232, + 224,0,232,223,0,190,3263,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1040,312 +1032,303 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 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, - 0,31,32,33,34,35,36,0,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,0,57,58,59, - 60,61,62,63,64,0,1,2,68,69, - 70,71,7,73,0,75,76,77,78,79, - 80,81,8,83,84,85,86,87,0,1, + 0,0,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,0,63,64,65,0,0,68,69, + 70,71,0,0,74,8,76,77,78,79, + 80,81,82,83,84,85,86,87,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,62,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,57,58,59,60,61, - 62,63,64,0,0,30,68,69,70,71, - 0,73,8,75,76,77,78,79,80,81, - 10,83,84,85,86,87,0,1,2,3, + 22,23,24,25,26,27,28,29,88,89, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,63,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 0,63,64,65,88,89,68,69,70,71, + 88,89,74,101,76,77,78,79,80,81, + 82,83,84,85,86,87,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,0,31,32,33, - 34,35,36,0,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,0,57,58,59,60,61,62,63, - 64,88,89,30,68,69,70,0,0,73, - 0,75,76,77,78,79,80,81,0,83, + 24,25,26,27,28,29,0,0,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,55,56,57,58,59,60,61,31,63, + 64,65,0,1,2,69,70,71,0,7, + 74,101,76,77,78,79,80,81,82,83, 84,85,86,87,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,0,31,32,33,34,35, - 36,0,38,39,40,41,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 72,57,58,59,60,61,62,63,64,97, - 98,30,68,69,70,88,89,73,0,75, - 76,77,78,79,80,81,0,83,84,85, + 26,27,28,29,88,89,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,55, + 56,57,58,59,60,61,0,63,64,65, + 0,1,2,69,70,71,88,89,74,0, + 76,77,78,79,80,81,82,83,84,85, 86,87,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,0,31,32,33,34,35,36,0, + 28,29,0,0,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,0,57, - 58,59,60,61,62,63,64,0,1,2, - 68,69,70,0,0,73,37,75,76,77, - 78,79,80,81,0,83,84,85,86,87, + 0,49,50,51,52,53,54,55,56,57, + 58,59,60,61,0,63,64,65,0,1, + 2,69,70,71,0,99,74,0,76,77, + 78,79,80,81,82,83,84,85,86,87, 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, - 0,31,32,33,34,35,36,0,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,72,57,58,59, - 60,61,62,63,64,0,1,2,68,69, - 70,88,89,73,37,75,76,77,78,79, - 80,81,0,83,84,85,86,87,0,1, + 46,47,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,119,63,64,65,0,1,2,69, + 70,71,0,99,74,3,76,77,78,79, + 80,81,82,83,84,85,86,87,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,0,31, - 32,33,34,35,36,95,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,57,58,59,60,61, - 62,63,64,0,1,2,68,69,70,0, - 0,73,0,75,76,77,78,79,80,81, - 0,83,84,85,86,87,0,1,2,3, + 22,23,24,25,26,27,28,29,0,0, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,0,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 31,63,64,65,0,1,2,69,70,71, + 0,0,74,3,76,77,78,79,80,81, + 82,83,84,85,86,87,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,0,31,32,33, - 34,35,36,0,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,72,57,58,59,60,61,62,63, - 64,0,72,30,68,69,70,88,89,73, - 0,75,76,77,78,79,80,81,0,83, + 24,25,26,27,28,29,0,0,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,55,56,57,58,59,60,61,31,63, + 64,65,0,1,2,69,70,71,0,0, + 74,3,76,77,78,79,80,81,82,83, 84,85,86,87,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,0,31,32,33,34,35, - 36,0,38,39,40,41,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 0,57,58,59,60,61,62,63,64,88, - 89,30,68,69,70,0,0,73,3,75, - 76,77,78,79,80,81,0,83,84,85, + 26,27,28,29,0,0,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,55, + 56,57,58,59,60,61,0,63,64,65, + 0,1,2,69,70,71,0,0,74,3, + 76,77,78,79,80,81,82,83,84,85, 86,87,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,0,31,32,33,34,35,36,0, + 28,29,0,57,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,72,57, - 58,59,60,61,62,63,64,97,98,0, - 68,69,70,4,0,73,37,75,76,77, - 78,79,80,81,0,83,84,85,86,87, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, + 0,49,50,51,52,53,54,55,56,57, + 58,59,60,61,0,63,64,65,0,1, + 2,69,70,71,0,0,74,0,76,77, + 78,79,80,81,82,83,84,85,86,87, + 0,1,2,3,4,5,6,7,8,31, + 10,11,12,0,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 0,31,32,33,34,35,36,0,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,72,57,58,59, - 60,61,62,63,64,0,0,30,68,69, - 70,0,0,73,3,75,76,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,0,10,11, - 12,0,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,72,57,0,0,1,2, - 62,4,5,0,7,90,68,69,70,0, - 0,96,3,0,67,6,100,8,9,9, - 11,12,13,0,1,2,3,4,5,6, - 7,8,0,0,37,26,27,4,6,30, - 0,1,2,3,4,5,6,7,8,102, - 0,104,105,106,107,108,109,110,111,112, - 113,11,12,30,117,56,0,1,2,0, - 4,5,121,7,65,66,67,102,9,56, - 71,72,13,74,74,0,1,2,0,4, - 67,6,117,8,9,99,56,88,89,90, - 91,92,93,94,95,96,97,98,99,100, - 101,102,103,104,105,106,107,108,109,110, - 111,112,113,91,92,0,117,118,3,120, - 121,6,0,8,9,66,11,12,13,0, - 0,1,2,3,4,5,6,7,8,0, - 0,26,27,65,66,30,0,0,0,74, - 0,1,2,3,4,5,6,7,8,30, - 14,0,1,2,3,4,5,6,7,8, - 95,56,0,1,2,3,0,5,56,7, - 65,66,67,0,1,2,71,72,5,74, - 7,45,46,47,48,49,50,51,52,53, - 54,55,72,88,89,90,91,92,93,94, - 95,96,97,98,99,100,101,102,103,104, + 0,0,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,10,0, + 0,1,2,63,4,5,0,7,0,69, + 70,71,0,14,100,3,0,9,6,66, + 8,9,95,11,12,13,102,0,1,2, + 14,31,5,0,1,2,30,4,26,27, + 0,117,30,0,45,46,47,0,49,50, + 51,52,53,54,55,56,0,14,31,3, + 48,45,46,47,31,49,50,51,52,53, + 54,55,56,0,62,0,0,30,66,67, + 68,0,1,2,72,73,5,0,45,46, + 47,121,49,50,51,52,53,54,55,56, + 88,89,90,91,92,93,94,95,96,97, + 98,99,100,101,102,103,104,105,106,107, + 108,109,110,111,112,113,118,0,0,117, + 118,3,120,121,6,48,8,9,62,11, + 12,13,67,0,1,2,3,4,5,6, + 7,8,0,0,26,27,4,0,30,0, + 1,2,3,4,5,6,7,8,0,1, + 2,14,4,5,0,7,48,102,4,104, 105,106,107,108,109,110,111,112,113,0, - 1,2,117,118,5,120,121,0,1,2, - 3,4,5,6,7,8,9,10,101,101, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,0,1,2,3,0,5,0, - 7,4,9,6,37,8,13,0,1,2, - 0,4,45,46,47,48,49,50,51,52, - 53,54,55,0,0,58,0,1,2,62, - 4,0,6,0,8,68,69,70,71,72, - 73,0,1,2,37,4,5,0,7,82, + 62,0,117,66,66,67,68,45,9,31, + 72,73,45,46,47,0,49,50,51,52, + 53,54,55,56,0,72,88,89,90,91, + 92,93,94,95,96,97,98,99,100,101, + 102,103,104,105,106,107,108,109,110,111, + 112,113,0,1,2,117,118,0,120,121, 0,1,2,3,4,5,6,7,8,9, - 10,30,0,13,14,15,16,17,18,19, - 20,21,22,23,24,25,66,0,37,46, - 47,114,115,116,0,1,2,37,4,5, - 0,7,0,3,95,45,46,47,48,49, - 50,51,52,53,54,55,14,0,58,0, - 1,2,62,4,0,6,0,8,68,69, - 70,71,72,73,0,0,1,2,3,4, - 0,6,82,8,4,11,12,45,46,47, - 48,49,50,51,52,53,54,55,0,1, - 2,3,0,5,0,7,4,9,0,1, - 2,13,4,56,114,115,116,0,1,2, - 3,4,5,6,7,8,99,10,11,12, - 0,56,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,45,31,32, - 33,34,35,36,0,38,39,40,41,42, - 43,44,0,9,100,0,1,2,3,65, - 5,9,7,0,57,13,0,1,2,0, - 63,64,0,1,2,3,56,5,9,7, - 73,0,1,2,3,4,5,6,7,8, - 0,10,11,12,4,0,15,16,17,18, + 10,0,73,13,14,15,16,17,18,19, + 20,21,22,23,24,25,0,1,2,0, + 66,31,0,1,2,3,4,5,6,7, + 8,30,0,1,2,45,46,47,0,49, + 50,51,52,53,54,55,56,31,58,30, + 0,1,2,63,4,5,0,7,68,69, + 70,71,72,31,74,75,0,1,2,3, + 4,5,6,7,8,9,10,0,0,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,0,1,2,0,4,31,6,4, + 8,6,0,8,114,115,116,30,0,1, + 2,45,46,47,0,49,50,51,52,53, + 54,55,56,0,58,0,1,2,3,63, + 5,0,7,0,68,69,70,71,72,31, + 74,75,11,12,0,1,2,3,4,5, + 6,7,8,97,98,0,1,2,0,4, + 122,6,48,8,9,0,1,2,3,4, + 5,6,7,8,0,1,2,0,4,0, + 114,115,116,0,1,2,3,4,5,6, + 7,8,48,10,11,12,0,72,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,48,0,32,33,34,35,36, + 37,38,39,40,41,42,43,44,73,0, + 97,98,67,59,5,0,0,1,2,3, + 57,5,0,7,9,9,0,64,65,13, + 95,72,0,1,2,9,0,74,0,1, + 2,3,4,5,6,7,8,0,10,11, + 12,4,30,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,0,0, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,68,48,0,0,1,2,3, + 4,0,6,0,8,57,64,65,30,73, + 62,0,64,65,0,1,2,3,4,5, + 6,7,8,9,10,11,12,48,0,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,48,0,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 1,2,3,62,5,62,7,66,9,66, + 59,57,13,59,0,1,2,3,0,5, + 0,7,68,0,1,2,3,4,5,6, + 7,8,9,10,11,12,0,0,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,0,119,32,33,34,35,36, + 37,38,39,40,41,42,43,44,0,1, + 2,0,4,0,6,0,8,4,3,8, + 57,0,59,30,9,100,0,1,2,0, + 9,68,0,1,2,3,4,5,6,7, + 8,0,10,11,12,0,0,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,0,48,32,33,34,35,36,37, + 38,39,40,41,42,43,44,62,0,1, + 2,66,4,0,6,0,8,66,73,57, + 64,65,9,0,73,119,64,65,0,1, + 2,3,4,5,6,7,8,62,10,11, + 12,66,66,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,0,67, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,114,115,116,0,1,2,3, + 0,5,59,7,4,57,73,0,1,2, + 0,4,64,65,0,1,2,3,4,5, + 6,7,8,9,10,11,12,0,95,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,48,67,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 1,2,3,4,5,6,7,8,0,10, + 11,12,62,0,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,62, + 0,32,33,34,35,36,37,38,39,40, + 41,42,43,44,0,0,1,2,4,4, + 0,6,0,8,0,3,57,3,59,0, + 1,2,3,4,5,6,7,8,0,10, + 11,12,118,0,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,45, + 0,32,33,34,35,36,37,38,39,40, + 41,42,43,44,0,0,0,0,4,3, + 3,5,6,0,8,0,57,11,12,0, + 30,67,3,0,1,2,3,59,5,0, + 7,0,26,27,30,29,30,0,1,2, + 3,0,5,30,7,26,27,6,0,1, + 2,0,4,5,48,7,0,6,114,115, + 116,0,0,90,59,9,0,48,62,96, + 64,65,66,67,0,1,2,11,12,5, + 0,7,0,1,2,48,6,0,0,1, + 2,62,30,6,88,89,90,91,92,93, + 94,0,0,97,98,99,100,101,102,103, + 104,105,106,107,108,109,110,111,112,113, + 0,90,103,3,62,5,6,96,8,73, + 0,11,12,0,1,2,0,1,2,120, + 10,59,91,92,0,0,26,27,3,29, + 30,90,0,0,10,93,94,96,0,1, + 2,31,4,0,31,0,3,31,48,0, + 0,91,92,4,72,31,11,12,91,92, + 28,0,62,0,64,65,66,67,0,0, + 9,90,9,63,13,0,13,96,3,30, + 0,0,0,3,3,123,0,63,88,89, + 90,91,92,93,94,62,28,97,98,99, + 100,101,102,103,104,105,106,107,108,109, + 110,111,112,113,0,1,2,3,4,5, + 6,7,8,48,10,11,12,66,48,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,62,95,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 1,2,48,0,1,2,3,4,5,6, + 7,8,0,10,11,12,4,0,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,0,0,32,33,34,35,36, + 37,38,39,40,41,42,43,44,0,1, + 2,0,1,2,3,4,5,6,7,8, + 57,10,11,12,30,48,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, - 29,56,31,32,33,34,35,36,74,38, - 39,40,41,42,43,44,74,0,0,63, - 64,3,5,0,1,2,0,9,57,95, - 0,1,2,74,63,64,65,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 65,66,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,37,31,32, - 33,34,35,36,56,38,39,40,41,42, - 43,44,59,65,66,59,0,1,2,3, - 0,5,74,7,57,0,59,0,0,1, - 2,3,0,5,0,7,11,12,71,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,0,0,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,0, - 31,32,33,34,35,36,123,38,39,40, - 41,42,43,44,56,0,1,2,72,4, - 0,6,65,8,4,0,57,0,59,65, - 66,0,1,2,3,4,5,6,7,8, - 71,10,11,12,0,0,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,0,31,32,33,34,35,36,0,38, - 39,40,41,42,43,44,0,1,2,0, - 4,0,6,4,8,0,1,2,57,4, - 9,30,67,0,63,64,0,1,2,3, - 4,5,6,7,8,122,10,11,12,30, - 65,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,65,31,32,33, - 34,35,36,65,38,39,40,41,42,43, - 44,114,115,116,59,0,0,0,1,2, - 4,4,71,57,93,94,0,1,2,63, - 64,0,1,2,3,4,5,6,7,8, - 9,10,11,12,0,30,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,45,31,32,33,34,35,36,0,38, + 29,0,0,32,33,34,35,36,37,38, 39,40,41,42,43,44,0,1,2,3, - 4,5,6,7,8,0,10,11,12,63, - 64,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,31,32,33, - 34,35,36,0,38,39,40,41,42,43, - 44,0,0,1,2,0,1,2,0,0, - 114,115,116,57,66,59,0,1,2,3, - 4,5,6,7,8,0,10,11,12,118, - 65,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,31,32,33, - 34,35,36,67,38,39,40,41,42,43, - 44,0,0,0,0,56,3,3,5,6, - 9,8,0,57,11,12,14,15,16,17, - 18,19,20,21,22,23,24,25,0,26, - 27,90,29,30,0,1,2,96,90,5, - 0,76,14,3,96,59,0,45,46,47, - 48,49,50,51,52,53,54,55,0,56, - 56,0,1,2,6,0,63,64,65,66, - 67,37,0,45,46,47,48,49,50,51, - 52,53,54,55,0,0,0,0,1,2, - 6,88,89,90,91,92,93,94,37,14, - 97,98,99,100,101,102,103,104,105,106, - 107,108,109,110,111,112,113,0,0,118, - 3,3,5,6,37,8,0,0,11,12, - 45,46,47,48,49,50,51,52,53,54, - 55,95,0,26,27,3,29,30,0,91, - 92,0,1,2,0,1,2,0,1,2, - 0,75,90,0,1,2,6,0,96,0, - 1,2,0,56,56,91,92,0,0,0, - 63,64,65,66,67,0,9,0,37,0, - 13,37,3,66,37,10,9,30,56,0, - 13,0,30,4,3,88,89,90,91,92, - 93,94,0,65,97,98,99,100,101,102, - 103,104,105,106,107,108,109,110,111,112, - 113,0,1,2,3,4,5,6,7,8, - 28,10,11,12,72,60,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,0,31,32,33,34,35,36,0,38, - 39,40,41,42,43,44,0,9,0,1, - 2,3,4,5,6,7,8,56,10,11, - 12,30,0,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,0,1,2,0,1,2,3, - 4,5,6,7,8,57,10,11,12,71, - 0,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,31,32,33, - 34,35,36,0,38,39,40,41,42,43, + 4,5,6,7,8,72,10,11,12,0, + 28,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,0,0,32,33, + 34,35,36,37,38,39,40,41,42,43, 44,0,1,2,3,4,5,6,7,8, 0,10,11,12,4,0,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, - 29,0,31,32,33,34,35,36,0,38, - 39,40,41,42,43,44,0,1,2,3, - 4,5,6,7,8,0,10,11,12,66, - 0,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,31,32,33, - 34,35,36,28,38,39,40,41,42,43, - 44,0,1,2,0,4,0,1,2,0, - 0,10,3,3,10,14,15,16,17,18, - 19,20,21,22,23,24,25,0,0,0, - 0,0,1,2,0,0,9,9,9,9, - 0,37,0,13,119,3,45,46,47,48, - 49,50,51,52,53,54,55,0,0,1, - 2,0,4,62,3,30,62,10,10,68, - 69,70,14,15,16,17,18,19,20,21, - 22,23,24,25,0,1,2,3,4,5, - 6,7,8,9,37,66,0,13,14,3, - 71,74,74,45,46,47,48,49,50,51, - 52,53,54,55,30,0,0,0,0,62, - 62,3,26,27,0,0,68,69,70,45, - 46,47,48,49,50,51,52,53,54,55, - 56,0,1,2,3,4,5,6,7,8, - 9,0,56,0,13,14,0,0,74,3, - 9,0,0,0,3,3,0,0,0,1, - 2,3,4,5,6,7,8,9,0,0, - 0,13,14,30,4,67,45,46,47,48, - 49,50,51,52,53,54,55,56,30,103, - 0,0,0,0,3,37,0,0,0,30, - 30,3,0,56,0,74,120,66,65,56, - 0,0,0,57,0,74,58,0,60,61, - 0,1,2,3,4,5,6,7,8,9, - 0,0,0,13,14,67,93,94,0,0, - 82,3,3,0,30,0,1,2,3,4, - 5,6,7,8,9,59,66,37,13,14, - 0,1,2,3,4,5,6,7,8,9, - 59,67,0,13,14,3,66,65,58,65, - 60,61,37,0,67,0,3,0,3,59, - 3,71,0,0,0,3,0,37,67,0, - 0,0,82,58,72,60,61,93,94,0, - 67,119,3,0,0,0,71,0,58,0, - 60,61,0,0,0,0,0,82,0,0, - 0,71,0,1,2,3,4,5,6,7, - 8,9,82,30,0,13,14,0,1,2, - 3,4,5,6,7,8,9,28,59,66, - 13,14,0,67,0,0,0,67,67,37, - 0,0,0,1,2,3,4,5,6,7, - 8,9,0,0,37,13,14,0,0,0, - 58,0,60,61,0,0,0,0,0,0, - 0,0,0,71,0,58,0,60,61,37, - 0,0,0,119,82,0,0,0,71,0, - 0,0,0,0,0,0,0,0,0,82, - 58,0,60,61,0,1,2,3,4,5, - 6,7,8,9,0,0,0,13,14,0, - 0,0,0,0,82,0,0,0,0,0, - 1,2,3,4,5,6,7,8,9,0, - 0,37,13,14,0,0,0,0,0,0, + 29,62,0,32,33,34,35,36,37,38, + 39,40,41,42,43,44,0,1,2,0, + 4,0,0,67,3,0,10,0,3,0, + 14,15,16,17,18,19,20,21,22,23, + 24,25,0,0,0,0,0,0,3,30, + 0,9,9,9,0,13,13,13,0,9, + 0,45,46,47,0,49,50,51,52,53, + 54,55,56,48,0,1,2,48,4,63, + 0,62,0,3,10,69,70,71,14,15, + 16,17,18,19,20,21,22,23,24,25, + 0,0,1,2,3,4,5,6,7,8, + 9,0,93,94,13,14,66,95,68,45, + 46,47,0,49,50,51,52,53,54,55, + 56,30,10,0,76,0,0,63,0,3, + 0,30,9,69,70,71,45,46,47,48, + 49,50,51,52,53,54,55,56,0,1, + 2,3,4,5,6,7,8,9,30,0, + 0,13,14,0,73,0,0,0,9,0, + 0,0,60,72,14,15,16,17,18,19, + 20,21,22,23,24,25,0,0,0,0, + 0,68,4,45,46,47,48,49,50,51, + 52,53,54,55,56,45,46,47,0,49, + 50,51,52,53,54,55,56,30,30,0, + 0,73,0,1,2,3,4,5,6,7, + 8,9,73,66,0,13,14,72,72,0, + 0,0,1,2,3,4,5,6,7,8, + 9,0,30,31,13,14,67,0,1,2, + 3,4,5,6,7,8,9,0,0,0, + 13,14,31,0,66,0,3,0,0,0, + 58,30,60,61,9,0,0,67,31,3, + 0,72,0,3,0,3,0,75,0,58, + 0,60,61,3,0,0,67,3,3,68, + 0,0,72,62,3,58,75,60,61,0, + 0,0,0,3,0,68,59,59,0,0, + 0,0,75,0,1,2,3,4,5,6, + 7,8,9,66,93,94,13,14,73,0, + 1,2,3,4,5,6,7,8,9,30, + 0,67,13,14,31,0,1,2,3,4, + 5,6,7,8,9,77,0,0,13,14, + 31,0,72,0,0,0,67,0,67,67, + 0,58,0,60,61,0,31,0,0,0, + 0,68,0,0,0,0,0,58,75,60, + 61,0,0,0,0,0,0,68,0,0, + 0,0,0,58,75,60,61,0,0,0, + 0,0,0,68,0,0,0,0,0,0, + 75,0,1,2,3,4,5,6,7,8, + 9,0,0,0,13,14,0,0,1,2, + 3,4,5,6,7,8,9,0,0,0, + 13,14,31,0,1,2,3,4,5,6, + 7,8,9,0,0,0,13,14,31,0, + 0,0,0,0,0,0,0,0,0,58, + 0,60,61,0,31,0,0,0,0,0, + 0,0,0,0,0,58,75,60,61,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,58,0,60,61,37,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,82,58,0,60, - 61,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,82,0,0,0,0,0,0,0,0, + 0,58,75,60,61,0,0,0,0,0, + 0,0,0,0,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,0,0,0,0,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; @@ -1353,311 +1336,301 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5095,5070,5067,5067,5067,5067,5067,5067,5067,5080, - 1,1,1,5077,1,1,1,1,1,1, + 5058,5033,5030,5030,5030,5030,5030,5030,5030,5043, + 1,1,1,5040,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5095,1,1, + 126,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5058,1, + 1,1,1,1,1,1,1,1,1914,2959, + 1732,3438,142,1,1,1,130,136,5065,1, + 1,1,129,5058,5238,2189,2495,3549,2748,2041, + 2301,3465,2928,3530,1240,3508,3707,3479,8,5046, + 5046,5046,5046,5046,5046,5046,5046,5046,5046,5046, + 5046,5046,5046,5046,5046,5046,5046,5046,5046,5046, + 5046,5046,5046,5046,5046,5046,5046,5046,2837,2862, + 5046,5046,5046,5046,5046,5046,5046,5046,5046,5046, + 5046,5046,5046,5046,5046,5046,3652,5046,5046,5046, + 5046,5046,5046,5046,5046,5046,5046,5046,5046,5046, + 143,5046,5046,5046,2837,2862,5046,5046,5046,5046, + 2837,2862,5046,585,5046,5046,5046,5046,5046,5046, + 5046,5046,5046,5046,5046,5046,5058,5033,5030,5030, + 5030,5030,5030,5030,5030,5037,1,1,1,5040, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5095,1,2129,2180, - 2449,3152,1,1,1,42,4730,4727,1,1, - 1,5102,786,5275,136,565,3255,3258,2097,3200, - 3153,2938,2246,3248,1751,3241,4233,3231,8,5083, - 5083,5083,5083,5083,5083,5083,5083,5083,5083,5083, - 5083,5083,5083,5083,5083,5083,5083,5083,5083,5083, - 5083,5083,5083,5083,5083,5083,5083,5083,3731,5083, - 5083,5083,5083,5083,5083,5095,5083,5083,5083,5083, - 5083,5083,5083,5083,5083,5083,5083,5083,5083,5083, - 5083,5083,5083,5083,5095,5083,5083,5083,5083,5083, - 5083,5083,5083,126,137,3037,5083,5083,5083,5083, - 302,5083,2246,5083,5083,5083,5083,5083,5083,5083, - 5396,5083,5083,5083,5083,5083,5095,5070,5067,5067, - 5067,5067,5067,5067,5067,5074,1,1,1,5077, + 1,1,1,1,1,1,128,41,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5095,1,1,1, - 1,1,1,5095,1,1,1,1,1,1, + 1,1,1,1,5058,1,1,1,1,1, + 1,1,1,1,1914,2959,1732,3438,5098,1, + 1,1,42,4693,4690,1,1,1,127,848, + 5238,585,2495,3549,2748,2041,2301,3465,2928,3530, + 1240,3508,3707,3479,5058,5033,5030,5030,5030,5030, + 5030,5030,5030,5037,1,1,1,5040,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,134,1,2129,2180,2449,3152,1,1, - 1,905,2897,3232,1,1,1,130,5095,5275, - 5095,565,3255,3258,2097,3200,3153,2938,5095,3248, - 1751,3241,4233,3231,5095,5070,5067,5067,5067,5067, - 5067,5067,5067,5074,1,1,1,5077,1,1, + 1,1,1,1,2837,2862,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5095,1,1,1,1,1, - 1,5095,1,1,1,1,1,1,1,1, + 1,1,5058,1,1,1,1,1,1,1, + 1,1,1914,2959,1732,3438,138,1,1,1, + 5058,5075,5076,1,1,1,2837,2862,5238,5058, + 2495,3549,2748,2041,2301,3465,2928,3530,1240,3508, + 3707,3479,5058,5033,5030,5030,5030,5030,5030,5030, + 5030,5037,1,1,1,5040,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1794,1,2129,2180,2449,3152,1,1,1,2302, - 2275,3489,1,1,1,905,2897,5275,5095,565, - 3255,3258,2097,3200,3153,2938,5095,3248,1751,3241, - 4233,3231,5095,5070,5067,5067,5067,5067,5067,5067, - 5067,5074,1,1,1,5077,1,1,1,1, + 1,1,5058,5058,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5095,1,1,1,1,1,1,41, + 5058,1,1,1,1,1,1,1,1,1, + 1914,2959,1732,3438,139,1,1,1,5058,4856, + 4853,1,1,1,338,2160,5238,5058,2495,3549, + 2748,2041,2301,3465,2928,3530,1240,3508,3707,3479, + 5058,5033,5030,5030,5030,5030,5030,5030,5030,5037, + 1,1,1,5040,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5095,1, - 2129,2180,2449,3152,1,1,1,5095,5112,5113, - 1,1,1,129,419,5275,5135,565,3255,3258, - 2097,3200,3153,2938,5095,3248,1751,3241,4233,3231, - 5095,5070,5067,5067,5067,5067,5067,5067,5067,5074, - 1,1,1,5077,1,1,1,1,1,1, + 5397,5398,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5058,1, + 1,1,1,1,1,1,1,1,1914,2959, + 1732,3438,3659,1,1,1,54,4868,4865,1, + 1,1,5058,2160,5238,2995,2495,3549,2748,2041, + 2301,3465,2928,3530,1240,3508,3707,3479,5058,5033, + 5030,5030,5030,5030,5030,5030,5030,5037,1,1, + 1,5040,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5058,53, 1,1,1,1,1,1,1,1,1,1, - 356,1,1,1,1,1,1,53,1,1, + 1,1,1,1,1,1,5058,1,1,1, + 1,1,1,1,1,1,1914,2959,1732,3438, + 2390,1,1,1,54,4856,4853,1,1,1, + 5058,5058,5238,2380,2495,3549,2748,2041,2301,3465, + 2928,3530,1240,3508,3707,3479,5058,5033,5030,5030, + 5030,5030,5030,5030,5030,5037,1,1,1,5040, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2555,1,2129,2180, - 2449,3152,1,1,1,5095,4893,4890,1,1, - 1,905,2897,5275,1968,565,3255,3258,2097,3200, - 3153,2938,5095,3248,1751,3241,4233,3231,5095,5070, - 5067,5067,5067,5067,5067,5067,5067,5074,1,1, - 1,5077,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5095,1, - 1,1,1,1,1,5450,1,1,1,1, + 1,1,1,1,1,1,5058,5058,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5095,1,2129,2180,2449,3152, - 1,1,1,54,4905,4902,1,1,1,128, - 5095,5275,5095,565,3255,3258,2097,3200,3153,2938, - 437,3248,1751,3241,4233,3231,5095,5070,5067,5067, - 5067,5067,5067,5067,5067,5074,1,1,1,5077, + 1,1,1,1,5058,1,1,1,1,1, + 1,1,1,1,1914,2959,1732,3438,3296,1, + 1,1,291,5075,5076,1,1,1,97,5058, + 5238,4711,2495,3549,2748,2041,2301,3465,2928,3530, + 1240,3508,3707,3479,5058,5033,5030,5030,5030,5030, + 5030,5030,5030,5037,1,1,1,5040,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5095,1,1,1, - 1,1,1,5095,1,1,1,1,1,1, + 1,1,1,1,5058,5058,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5490,1,2129,2180,2449,3152,1,1, - 1,127,2451,3708,1,1,1,905,2897,5275, - 5095,565,3255,3258,2097,3200,3153,2938,5095,3248, - 1751,3241,4233,3231,5095,5070,5067,5067,5067,5067, - 5067,5067,5067,5074,1,1,1,5077,1,1, + 1,1,5058,1,1,1,1,1,1,1, + 1,1,1914,2959,1732,3438,525,1,1,1, + 40,4942,4939,1,1,1,1,5058,5238,4439, + 2495,3549,2748,2041,2301,3465,2928,3530,1240,3508, + 3707,3479,5058,5033,5030,5030,5030,5030,5030,5030, + 5030,5037,1,1,1,5040,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5095,1,1,1,1,1, - 1,33,1,1,1,1,1,1,1,1, + 1,1,5058,3399,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 135,1,2129,2180,2449,3152,1,1,1,905, - 2897,4721,1,1,1,5095,5095,5275,3086,565, - 3255,3258,2097,3200,3153,2938,5095,3248,1751,3241, - 4233,3231,5095,5070,5067,5067,5067,5067,5067,5067, - 5067,5074,1,1,1,5077,1,1,1,1, + 5058,1,1,1,1,1,1,1,1,1, + 1914,2959,1732,3438,140,1,1,1,5058,8317, + 8317,1,1,1,144,5058,5238,359,2495,3549, + 2748,2041,2301,3465,2928,3530,1240,3508,3707,3479, + 43,4681,4678,2479,853,3859,3922,3719,3943,5098, + 984,3901,3880,162,5319,5326,5324,5333,5332,5328, + 5329,5327,5330,5331,5334,5325,3985,3964,5081,3838, + 5058,5058,649,893,5083,805,4100,858,5084,5082, + 631,5077,5079,5080,5078,5322,5397,5398,305,5316, + 5323,5295,5321,5320,5317,5318,5296,1165,5362,228, + 5058,4681,4678,5453,853,4723,5058,3719,5058,634, + 5454,5455,37,5319,2129,4717,229,5062,4717,1207, + 4717,4717,5416,4717,4717,4717,2092,41,4904,4904, + 5319,1902,4904,394,4681,4678,3045,5100,4717,4717, + 5058,3709,4717,230,5322,5397,5398,5058,5316,5323, + 5295,5321,5320,5317,5318,5296,241,5319,2803,4877, + 4717,5322,5397,5398,43,5316,5323,5295,5321,5320, + 5317,5318,5296,5058,4717,144,5058,3329,4717,4717, + 4717,5058,5075,5076,4717,4717,2702,450,5322,5397, + 5398,4677,5316,5323,5295,5321,5320,5317,5318,5296, + 4717,4717,4717,4717,4717,4717,4717,4717,4717,4717, + 4717,4717,4717,4717,4717,4717,4717,4717,4717,4717, + 4717,4717,4717,4717,4717,4717,5061,507,5058,4717, + 4717,4720,4717,4717,4720,4702,4720,4720,2757,4720, + 4720,4720,1658,5058,5002,4997,4132,4907,581,4994, + 3719,4991,43,5058,4720,4720,5100,231,4720,5058, + 5011,5007,4132,5100,581,763,3719,5390,5058,4681, + 4678,5319,853,4723,43,3719,4720,2092,5100,1617, + 1576,1535,1494,1453,1412,1371,1330,1289,1248,1, + 4720,5058,3709,806,4720,4720,4720,2033,166,1990, + 4720,4720,5322,5397,5398,5058,5316,5323,5295,5321, + 5320,5317,5318,5296,363,1916,4720,4720,4720,4720, + 4720,4720,4720,4720,4720,4720,4720,4720,4720,4720, + 4720,4720,4720,4720,4720,4720,4720,4720,4720,4720, + 4720,4720,5058,4868,4865,4720,4720,5058,4720,4720, + 5058,4920,4920,232,4916,232,232,232,232,4924, + 1,5058,166,232,1,1,1,1,1,1, + 1,1,1,1,1,1,49,4862,4862,5058, + 3326,493,313,5002,4997,4132,4907,581,4994,3719, + 4991,3509,41,4913,4913,1,1,1,190,1, + 1,1,1,1,1,1,1,4859,575,3510, + 5058,4681,4678,1,853,581,134,3719,411,1, + 1,1,232,2968,5465,5550,5058,4920,4920,232, + 4916,232,232,232,232,4976,1,33,5058,232, 1,1,1,1,1,1,1,1,1,1, - 1,1,5095,1,1,1,1,1,1,5095, + 1,1,436,1,1,43,1,493,4699,5100, + 4699,763,5058,5390,5487,5488,5489,4684,5058,4930, + 4927,1,1,1,449,1,1,1,1,1, + 1,1,1,5058,575,1,4949,4945,4132,1, + 581,123,3719,135,410,1,1,1,232,5098, + 5465,5550,2897,2334,347,5011,5007,3373,5100,581, + 763,3719,5390,2244,2217,1,4910,4910,5058,4907, + 5055,763,4705,5390,364,368,4949,4945,3373,1, + 581,1,3719,1,5058,4681,4678,5058,5100,5058, + 5487,5488,5489,5058,1,1,1,1,1,1, + 1,1,1699,1,1,1,5058,1916,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2009,1, - 2129,2180,2449,3152,1,1,1,2302,2275,43, - 1,1,1,5137,5095,5275,3005,565,3255,3258, - 2097,3200,3153,2938,5095,3248,1751,3241,4233,3231, - 5095,3183,1,1,1,1,1,1,1,5105, - 1,1,1,5104,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 5095,1,1,1,1,1,1,443,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5278,1,2129,2180, - 2449,3152,1,1,1,116,140,4724,1,1, - 1,5095,5095,5275,2663,565,3255,3258,2097,3200, - 3153,2938,5095,3248,1751,3241,4233,3231,43,4718, - 4715,1215,774,3959,4022,3490,4043,144,886,4001, - 3980,5095,5353,5360,5358,5367,5366,5362,5363,5361, - 5364,5365,5368,5359,4085,4064,5118,3867,5095,857, - 975,5120,902,3610,967,144,5121,5119,706,5114, - 5116,5117,5115,5356,5431,5432,5350,5357,5329,5355, - 5354,5351,5352,5330,3031,1220,138,5095,4718,4715, - 5487,774,4760,5095,3490,4127,617,5488,5489,37, - 1,4148,4754,5095,1714,4754,2185,4754,4754,166, - 4754,4754,4754,365,4986,4982,3422,1,578,1, - 3490,1,120,390,971,4754,4754,383,3937,4754, - 344,5048,5044,3422,5137,578,1543,3490,5424,2148, - 123,1673,1632,1591,1550,1509,1468,1427,1386,1345, - 1304,3443,2392,1031,2604,4754,5095,4718,4715,5095, - 774,578,4714,3490,4754,4754,4754,2148,5105,1755, - 4754,4754,5104,4754,166,1,4947,4947,30,4944, - 1051,1543,2604,5424,361,2216,1755,4754,4754,4754, - 4754,4754,4754,4754,4754,4754,4754,4754,4754,4754, - 4754,4754,4754,4754,4754,4754,4754,4754,4754,4754, - 4754,4754,4754,3915,3893,5095,4754,4754,4757,4754, - 4754,4757,447,4757,4757,4201,4757,4757,4757,45, - 5095,5039,5034,2529,4944,578,5031,3490,5028,5095, - 5095,4757,4757,4929,4929,4757,225,142,143,361, - 5095,5048,5044,2529,5137,578,1543,3490,5424,4745, - 5353,310,5039,5034,2529,4944,578,5031,3490,5028, - 361,4757,1,4986,4982,2529,5095,578,4739,3490, - 4757,4757,4757,5095,5112,5113,4757,4757,578,4757, - 3490,5356,5431,5432,5350,5357,5329,5355,5354,5351, - 5352,5330,1972,4757,4757,4757,4757,4757,4757,4757, - 4757,4757,4757,4757,4757,4757,4757,4757,4757,4757, - 4757,4757,4757,4757,4757,4757,4757,4757,4757,5095, - 5112,5113,4757,4757,2056,4757,4757,5095,4957,4957, - 229,4953,229,229,229,229,4961,1,582,582, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,4986,4982,5004,43,5007,1, - 5010,5137,5105,1543,490,5424,5104,391,4718,4715, - 162,5137,1,1,1,1,1,1,1,1, - 1,1,1,5095,5095,1299,433,1,1,1, - 1,383,4736,335,4736,1,1,1,408,229, - 5499,5095,4718,4715,43,774,4760,5095,3490,5584, - 5095,4957,4957,229,4953,229,229,229,229,5013, - 1,4751,5095,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1261,139,1037,5431, - 5432,5521,5522,5523,5095,4718,4715,490,774,578, - 97,3490,226,4748,5452,1,1,1,1,1, - 1,1,1,1,1,1,5353,446,1299,434, - 43,43,1,5137,141,4935,5095,4932,1,1, - 1,407,229,5499,125,344,43,43,2678,5137, - 5095,1543,5584,5424,957,3443,2392,5356,5431,5432, - 5350,5357,5329,5355,5354,5351,5352,5330,1,4986, - 4982,2529,43,578,5095,3490,5137,310,5095,4718, - 4715,310,5137,4742,5521,5522,5523,5095,1,1, - 1,1,1,1,1,1,2216,1,1,1, - 347,1755,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1205,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,361,2185,1,4986,4982,3422,2463, - 578,168,3490,5095,1,168,5095,5112,5113,5095, - 1,1,1,4986,4982,5004,1755,5007,5101,5010, - 5621,1,4803,4799,1215,4807,3959,4022,3490,4043, - 1,4763,4001,3980,384,5095,4790,4796,4769,4772, - 4784,4781,4787,4778,4775,4766,4793,4085,4064,5118, - 3867,1755,857,975,5120,902,3610,967,361,5121, - 5119,706,5114,5116,5117,5115,168,5095,1,4106, - 1161,2678,2056,5095,5112,5113,5095,340,1220,361, - 5095,8435,8435,5100,43,43,505,43,4718,4715, - 1215,774,3959,4022,3490,4043,5103,549,4001,3980, - 3519,3572,5360,5358,5367,5366,5362,5363,5361,5364, - 5365,5368,5359,4085,4064,5118,3867,5135,857,975, - 5120,902,3610,967,1755,5121,5119,706,5114,5116, - 5117,5115,3476,340,340,1584,1,4986,4982,2529, - 5095,578,340,3490,1220,124,3651,5095,1,4986, - 4982,3422,5095,578,5095,3490,3443,2392,5102,43, - 4718,4715,1215,774,3959,4022,3490,4043,5103,549, - 4001,3980,5095,190,5360,5358,5367,5366,5362,5363, - 5361,5364,5365,5368,5359,4085,4064,5118,3867,5095, - 857,975,5120,902,3610,967,3348,5121,5119,706, - 5114,5116,5117,5115,1755,98,1,1,1972,1, - 5095,4938,2469,4938,2830,289,1220,430,3651,3419, - 3572,146,4718,4715,1215,774,3959,4022,3490,4043, - 5102,549,4001,3980,5095,5095,5360,5358,5367,5366, - 5362,5363,5361,5364,5365,5368,5359,4085,4064,5118, - 3867,131,857,975,5120,902,3610,967,5095,5121, - 5119,706,5114,5116,5117,5115,101,43,43,54, - 5137,5095,5019,5113,5016,5095,4718,4715,1220,5137, - 5103,2502,1884,5095,43,43,1,4803,4799,1215, - 4807,3959,4022,3490,4043,5092,4763,4001,3980,5113, - 2539,4790,4796,4769,4772,4784,4781,4787,4778,4775, - 4766,4793,4085,4064,5118,3867,4733,857,975,5120, - 902,3610,967,2542,5121,5119,706,5114,5116,5117, - 5115,5521,5522,5523,1707,5095,43,5095,4718,4715, - 5137,5137,5102,1220,2366,2337,5095,4893,4890,43, - 43,43,4718,4715,1215,774,3959,4022,3490,4043, - 5099,549,4001,3980,5095,1031,5360,5358,5367,5366, - 5362,5363,5361,5364,5365,5368,5359,4085,4064,5118, - 3867,667,857,975,5120,902,3610,967,504,5121, - 5119,706,5114,5116,5117,5115,43,4718,4715,1215, - 774,3959,4022,3490,4043,5095,549,4001,3980,4106, - 1161,5360,5358,5367,5366,5362,5363,5361,5364,5365, - 5368,5359,4085,4064,5118,3867,368,857,975,5120, - 902,3610,967,5095,5121,5119,706,5114,5116,5117, - 5115,119,54,4893,4890,288,5112,5113,118,106, - 5521,5522,5523,1220,805,3651,43,4718,4715,1215, - 774,3959,4022,3490,4043,5095,549,4001,3980,5098, - 5596,5360,5358,5367,5366,5362,5363,5361,5364,5365, - 5368,5359,4085,4064,5118,3867,5095,857,975,5120, - 902,3610,967,1092,5121,5119,706,5114,5116,5117, - 5115,5095,224,1,1,4449,572,2678,5553,5547, - 5099,5551,5095,1220,5545,5546,5353,5360,5358,5367, - 5366,5362,5363,5361,5364,5365,5368,5359,227,5576, - 5577,4127,5554,5556,41,4941,4941,4148,4127,4941, - 1,3420,5353,3785,4148,2781,1,5356,5431,5432, - 5350,5357,5329,5355,5354,5351,5352,5330,122,701, - 1755,49,4899,4899,3937,5095,1710,1718,5557,5578, - 5555,2438,117,5356,5431,5432,5350,5357,5329,5355, - 5354,5351,5352,5330,121,228,1,41,4950,4950, - 3937,5567,5566,5579,5548,5549,5572,5573,4896,5353, - 5570,5571,5550,5552,5574,5575,5580,5560,5561,5562, - 5558,5559,5568,5569,5564,5563,5565,5095,346,5098, - 572,2687,5553,5547,2457,5551,5095,360,5545,5546, - 5356,5431,5432,5350,5357,5329,5355,5354,5351,5352, - 5330,3662,318,5576,5577,5025,5554,5556,5095,3915, - 3893,5095,4967,4964,51,4973,4973,5095,4994,4990, - 5095,3093,4127,40,4979,4976,2801,1,4148,5095, - 4905,4902,33,701,1755,3915,3893,399,5095,5095, - 1710,1718,5557,5578,5555,302,4998,5095,5135,238, - 5001,4970,4914,1028,5135,5396,5105,1031,1755,5095, - 5104,5095,1031,1505,3094,5567,5566,5579,5548,5549, - 5572,5573,5095,5539,5570,5571,5550,5552,5574,5575, - 5580,5560,5561,5562,5558,5559,5568,5569,5564,5563, - 5565,43,4718,4715,1215,774,3959,4022,3490,4043, - 3465,549,4001,3980,415,1582,5360,5358,5367,5366, - 5362,5363,5361,5364,5365,5368,5359,4085,4064,5118, - 3867,79,857,975,5120,902,3610,967,1,5121, - 5119,706,5114,5116,5117,5115,5095,5061,43,4718, - 4715,1215,774,3959,4022,3490,4043,1382,549,4001, - 3980,5022,5095,5360,5358,5367,5366,5362,5363,5361, - 5364,5365,5368,5359,4085,4064,5118,3867,5095,857, - 975,5120,902,3610,967,5095,5121,5119,706,5114, - 5116,5117,5115,391,5112,5113,43,4718,4715,4328, - 774,3959,4022,3490,4043,1220,549,4001,3980,5102, - 5095,5360,5358,5367,5366,5362,5363,5361,5364,5365, - 5368,5359,4085,4064,5118,3867,5095,857,975,5120, - 902,3610,967,287,5121,5119,706,5114,5116,5117, - 5115,43,4718,4715,1215,774,3959,4022,3490,4043, - 5095,549,4001,3980,1541,5095,5360,5358,5367,5366, - 5362,5363,5361,5364,5365,5368,5359,4085,4064,5118, - 3867,5095,857,975,5120,902,3610,967,5095,5121, - 5119,706,5114,5116,5117,5115,43,4718,4715,1215, - 774,3959,4022,3490,4043,5095,549,4001,3980,647, - 5095,5360,5358,5367,5366,5362,5363,5361,5364,5365, - 5368,5359,4085,4064,5118,3867,5095,857,975,5120, - 902,3610,967,3346,5121,5119,706,5114,5116,5117, - 5115,5095,4718,4715,1,5137,5095,8292,7421,5095, - 5095,760,3546,3805,5055,5353,5360,5358,5367,5366, - 5362,5363,5361,5364,5365,5368,5359,1,1,5095, - 1,5095,8292,7421,5095,5095,5101,518,5103,5105, - 5095,3091,5095,5104,3390,4403,5356,5431,5432,5350, - 5357,5329,5355,5354,5351,5352,5330,1,242,4883, - 4879,5095,4887,5487,3468,3073,5058,5055,760,617, - 5488,5489,4834,4870,4876,4849,4852,4864,4861,4867, - 4858,4855,4846,4873,33,383,383,4923,383,383, - 4923,383,4923,4926,3091,930,81,4923,383,2951, - 5102,5100,518,4825,4819,4816,4843,4822,4813,4828, - 4831,4840,4837,4810,4721,5095,5095,5095,312,5058, - 5487,2692,5163,5164,5095,5095,617,5488,5489,383, - 383,383,383,383,383,383,383,383,383,383, - 4926,36,384,384,4917,384,384,4917,384,4917, - 4920,5095,1789,133,4917,384,5095,105,4926,3649, - 5101,109,5095,320,3757,2949,522,5095,1,5067, - 5067,229,5067,229,229,229,229,229,366,5095, - 54,229,8451,2502,5112,1178,384,384,384,384, - 384,384,384,384,384,384,384,4920,3260,649, - 417,279,373,5095,5052,5064,5095,5095,5095,3288, - 5112,4234,5095,1921,411,4920,716,4483,4908,1755, - 438,1,5095,3117,132,5100,2129,497,2679,3152, - 1,5067,5067,229,5067,229,229,229,229,5086, - 5095,495,5095,229,8451,1134,2366,2337,5095,5095, - 5584,3177,3303,39,2502,1,5067,5067,229,5067, - 229,229,229,229,5086,2180,3310,5064,229,8451, - 1,5067,5067,229,5067,229,229,229,229,5089, - 3492,2060,5095,229,8451,4404,2852,3691,2129,4911, - 2679,3152,5064,5095,4406,5095,4515,5095,3370,3510, - 4523,221,5095,309,511,4526,5095,5064,4417,5095, - 5095,499,5584,2129,5277,2679,3152,2366,2337,5095, - 1664,3390,4547,2,5095,5095,221,5095,2129,5095, - 2679,3152,5095,5095,5095,5095,5095,5584,5095,1, - 5095,220,1,5067,5067,229,5067,229,229,229, - 229,5086,5584,41,5095,229,8451,1,5067,5067, - 229,5067,229,229,229,229,5086,3138,3545,4212, - 229,8451,5095,1664,5095,5095,5095,1843,787,5064, - 5095,5095,1,5067,5067,229,5067,229,229,229, - 229,229,5095,5095,5064,229,8451,5095,5095,5095, - 2129,5095,2679,3152,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,221,5095,2129,5095,2679,3152,5064, - 5095,5095,5095,3390,5584,5095,5095,5095,221,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5584, - 2129,5095,2679,3152,1,5067,5067,229,5067,229, - 229,229,229,229,5095,5095,5095,229,8451,5095, - 5095,5095,5095,5095,5584,5095,5095,5095,5095,1, - 5067,5067,229,5067,229,229,229,229,229,5095, - 5095,5064,229,8451,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,2129,5095,2679,3152,5064,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5584,2129,5095,2679, - 3152,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5584 + 1,1,1,1699,5058,1,1,1,1,1, + 1,1,1,1,1,1,1,1,364,5058, + 2244,2217,991,1363,2702,5058,1,4949,4945,4967, + 1,4970,446,4973,5066,5068,5058,1,1,5067, + 364,1736,5058,5075,5076,5064,350,5587,1,4766, + 4762,2479,4770,3859,3922,3719,3943,5058,4726,3901, + 3880,641,4687,4753,4759,4732,4735,4747,4744,4750, + 4741,4738,4729,4756,3985,3964,5081,3838,45,106, + 649,893,5083,805,4100,858,5084,5082,631,5077, + 5079,5080,5078,5065,1699,376,347,43,43,2925, + 5100,30,763,5058,5390,1165,4006,628,4708,5063, + 508,5058,43,43,43,4681,4678,2479,853,3859, + 3922,3719,3943,5066,563,3901,3880,4514,5058,5326, + 5324,5333,5332,5328,5329,5327,5330,5331,5334,5325, + 3985,3964,5081,3838,1699,141,649,893,5083,805, + 4100,858,5084,5082,631,5077,5079,5080,5078,1, + 4949,4945,4132,4892,581,3436,3719,4892,313,3179, + 939,1165,313,3595,1,4949,4945,4132,5058,581, + 5058,3719,5065,43,5075,5076,2479,853,3859,3922, + 3719,3943,5066,563,3901,3880,514,5058,5326,5324, + 5333,5332,5328,5329,5327,5330,5331,5334,5325,3985, + 3964,5081,3838,386,3659,649,893,5083,805,4100, + 858,5084,5082,631,5077,5079,5080,5078,437,43, + 43,137,5100,1,4898,1,4895,387,2925,2189, + 1165,5058,3595,4714,343,2129,5058,4856,4853,433, + 5064,5065,146,4681,4678,2479,853,3859,3922,3719, + 3943,5058,563,3901,3880,5058,290,5326,5324,5333, + 5332,5328,5329,5327,5330,5331,5334,5325,3985,3964, + 5081,3838,292,1699,649,893,5083,805,4100,858, + 5084,5082,631,5077,5079,5080,5078,343,98,1, + 1,343,1,1,4901,5058,4901,4499,343,1165, + 4006,628,364,5058,5063,3659,43,43,1,4766, + 4762,2479,4770,3859,3922,3719,3943,3687,4726,3901, + 3880,3179,1117,4753,4759,4732,4735,4747,4744,4750, + 4741,4738,4729,4756,3985,3964,5081,3838,371,1828, + 649,893,5083,805,4100,858,5084,5082,631,5077, + 5079,5080,5078,5487,5488,5489,1,4949,4945,3373, + 5058,581,1528,3719,3051,1165,364,5058,4681,4678, + 5058,5100,43,43,43,4681,4678,2479,853,3859, + 3922,3719,3943,5062,563,3901,3880,5058,364,5326, + 5324,5333,5332,5328,5329,5327,5330,5331,5334,5325, + 3985,3964,5081,3838,1699,1039,649,893,5083,805, + 4100,858,5084,5082,631,5077,5079,5080,5078,43, + 4681,4678,2479,853,3859,3922,3719,3943,5058,563, + 3901,3880,2773,5058,5326,5324,5333,5332,5328,5329, + 5327,5330,5331,5334,5325,3985,3964,5081,3838,2774, + 5058,649,893,5083,805,4100,858,5084,5082,631, + 5077,5079,5080,5078,43,101,43,43,5100,5100, + 5058,4982,5058,4979,315,4143,1165,1282,3595,43, + 4681,4678,2479,853,3859,3922,3719,3943,5058,563, + 3901,3880,5061,116,5326,5324,5333,5332,5328,5329, + 5327,5330,5331,5334,5325,3985,3964,5081,3838,2707, + 5058,649,893,5083,805,4100,858,5084,5082,631, + 5077,5079,5080,5078,393,1,1,5058,386,534, + 4500,5519,5513,1,5517,5058,1165,5511,5512,81, + 636,1121,3294,1,4949,4945,4967,2959,4970,5058, + 4973,119,5542,5543,636,5520,5522,1,4949,4945, + 3373,5058,581,636,3719,5126,5127,1564,5058,4681, + 4678,120,853,581,559,3719,1,3816,5487,5488, + 5489,118,131,4027,3488,5064,125,2923,5523,4048, + 1782,1898,5544,5521,5058,5075,5076,2897,2334,581, + 122,3719,5058,5075,5076,1699,3816,121,394,5075, + 5076,2797,2443,3816,5533,5532,5545,5514,5515,5538, + 5539,117,422,5536,5537,5516,5518,5540,5541,5546, + 5526,5527,5528,5524,5525,5534,5535,5530,5529,5531, + 5058,4027,651,534,4696,5519,5513,4048,5517,5063, + 1,5511,5512,51,4936,4936,5058,4957,4953,720, + 5018,3418,3794,3767,1,5058,5542,5543,4508,5520, + 5522,4027,5058,5058,5018,2308,2279,4048,5058,4681, + 4678,3347,5100,5058,4933,124,4511,5098,559,54, + 1,3794,3767,5076,2989,3347,2897,2334,3794,3767, + 3412,5058,5523,402,1782,1898,5544,5521,5058,5058, + 5068,4027,4961,5021,5067,1,4964,4048,2925,5076, + 349,5058,5058,1486,3551,3616,5058,5021,5533,5532, + 5545,5514,5515,5538,5539,5562,3044,5536,5537,5516, + 5518,5540,5541,5546,5526,5527,5528,5524,5525,5534, + 5535,5530,5529,5531,43,4681,4678,2479,853,3859, + 3922,3719,3943,1699,563,3901,3880,3443,1699,5326, + 5324,5333,5332,5328,5329,5327,5330,5331,5334,5325, + 3985,3964,5081,3838,5505,5418,649,893,5083,805, + 4100,858,5084,5082,631,5077,5079,5080,5078,5058, + 8176,7697,1364,43,4681,4678,2479,853,3859,3922, + 3719,3943,5058,563,3901,3880,663,105,5326,5324, + 5333,5332,5328,5329,5327,5330,5331,5334,5325,3985, + 3964,5081,3838,5058,79,649,893,5083,805,4100, + 858,5084,5082,631,5077,5079,5080,5078,5058,8176, + 7697,43,4681,4678,4365,853,3859,3922,3719,3943, + 1165,563,3901,3880,4985,1865,5326,5324,5333,5332, + 5328,5329,5327,5330,5331,5334,5325,3985,3964,5081, + 3838,5058,1,649,893,5083,805,4100,858,5084, + 5082,631,5077,5079,5080,5078,43,4681,4678,2479, + 853,3859,3922,3719,3943,5456,563,3901,3880,5058, + 3426,5326,5324,5333,5332,5328,5329,5327,5330,5331, + 5334,5325,3985,3964,5081,3838,369,5058,649,893, + 5083,805,4100,858,5084,5082,631,5077,5079,5080, + 5078,43,4681,4678,2479,853,3859,3922,3719,3943, + 5058,563,3901,3880,1832,5058,5326,5324,5333,5332, + 5328,5329,5327,5330,5331,5334,5325,3985,3964,5081, + 3838,3593,5058,649,893,5083,805,4100,858,5084, + 5082,631,5077,5079,5080,5078,5058,4681,4678,133, + 5100,5058,1,1080,3605,321,638,5058,4988,323, + 5319,5326,5324,5333,5332,5328,5329,5327,5330,5331, + 5334,5325,5058,1,1,109,5058,5058,3657,2443, + 5058,5068,5068,196,5058,5067,5067,196,1,5066, + 5058,5322,5397,5398,5058,5316,5323,5295,5321,5320, + 5317,5318,5296,1699,245,4846,4842,1699,4850,5453, + 5058,4871,5058,2379,638,634,5454,5455,4797,4833, + 4839,4812,4815,4827,4824,4830,4821,4818,4809,4836, + 5058,33,386,386,4886,386,386,4886,386,4886, + 4889,33,2308,2279,4886,386,905,3528,5065,4788, + 4782,4779,305,4806,4785,4776,4791,4794,4803,4800, + 4773,4684,5362,1,2741,5058,282,5453,5058,5015, + 5058,636,5024,634,5454,5455,386,386,386,4889, + 386,386,386,386,386,386,386,386,36,387, + 387,4880,387,387,4880,387,4880,4883,2715,1, + 227,4880,387,5058,4889,440,5058,420,521,5058, + 5058,5058,2650,418,5319,5326,5324,5333,5332,5328, + 5329,5327,5330,5331,5334,5325,5058,5058,54,414, + 5058,5065,5075,387,387,387,4883,387,387,387, + 387,387,387,387,387,5322,5397,5398,441,5316, + 5323,5295,5321,5320,5317,5318,5296,3212,5075,5058, + 500,4883,1,5030,5030,232,5030,232,232,232, + 232,232,521,2631,5058,232,7890,3027,1953,498, + 5058,1,5030,5030,232,5030,232,232,232,232, + 5049,132,3604,5027,232,7890,2004,1,5030,5030, + 232,5030,232,232,232,232,5049,5058,5058,5058, + 232,7890,5027,5058,3099,1,4149,312,5058,5058, + 1914,2443,2614,3438,168,5058,5058,4440,5027,4391, + 5058,5241,5058,3611,39,4441,5058,5550,5058,1914, + 5058,2614,3438,4451,5058,5058,4488,2648,4452,224, + 5058,5058,3035,4874,4487,1914,5550,2614,3438,5058, + 5058,5058,502,4519,5058,224,3496,3502,5058,2, + 5058,5058,5550,1,5030,5030,232,5030,232,232, + 232,232,5052,4121,2308,2279,232,7890,168,1, + 5030,5030,232,5030,232,232,232,232,5049,41, + 5058,2919,232,7890,5027,1,5030,5030,232,5030, + 232,232,232,232,5049,3708,5058,5058,232,7890, + 5027,5058,5240,5058,5058,5058,2919,5058,1787,779, + 5058,1914,5058,2614,3438,5058,5027,5058,5058,5058, + 5058,223,5058,5058,5058,5058,5058,1914,5550,2614, + 3438,5058,5058,5058,5058,5058,5058,224,5058,5058, + 5058,5058,5058,1914,5550,2614,3438,5058,5058,5058, + 5058,5058,5058,224,5058,5058,5058,5058,5058,5058, + 5550,1,5030,5030,232,5030,232,232,232,232, + 232,5058,5058,5058,232,7890,5058,1,5030,5030, + 232,5030,232,232,232,232,232,5058,5058,5058, + 232,7890,5027,1,5030,5030,232,5030,232,232, + 232,232,232,5058,5058,5058,232,7890,5027,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,1914, + 5058,2614,3438,5058,5027,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,1914,5550,2614,3438,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,1914,5550,2614,3438,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5550 }; }; public final static char termAction[] = TermAction.termAction; @@ -1665,59 +1638,58 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 703,7,354,1,1104,701,701,701,701,98, - 1104,449,900,449,548,354,550,355,355,355, - 355,355,355,355,355,355,451,457,462,459, - 466,464,471,469,473,472,474,149,475,354, - 338,70,70,70,70,394,510,42,446,70, - 300,146,449,449,42,931,451,146,1063,69, - 849,100,624,338,449,451,1010,1010,510,354, - 355,355,355,355,355,355,355,355,355,355, - 355,355,355,355,355,355,355,355,355,354, - 354,354,354,354,354,354,354,354,354,354, - 354,355,146,146,137,338,689,689,689,689, - 246,146,42,196,613,624,308,624,303,624, - 305,624,608,98,394,300,300,42,300,69, - 354,392,848,146,391,394,393,391,146,300, - 459,459,457,457,457,464,464,464,464,462, - 462,469,466,466,472,471,473,1116,474,196, - 259,771,591,590,397,631,631,98,550,1104, - 1104,1104,1104,394,394,689,651,688,446,394, - 442,202,394,501,246,250,499,308,254,394, - 394,394,246,689,355,70,455,102,146,100, - 394,394,701,393,849,354,137,300,490,146, - 773,775,394,849,354,354,354,354,1104,1104, - 338,200,442,202,501,500,501,246,501,254, - 254,394,246,394,146,455,196,848,100,394, - 392,146,595,583,594,775,246,392,146,146, - 146,146,510,510,442,441,601,394,202,1116, - 248,1056,1106,202,501,501,433,394,254,601, - 599,600,394,455,456,455,354,102,1061,451, - 100,573,354,592,592,560,560,394,769,196, - 9,146,394,146,146,442,849,701,391,604, - 1108,388,1104,691,97,434,394,601,355,394, - 455,510,355,300,1061,573,354,354,775,849, - 146,773,583,573,408,392,217,392,501,501, - 388,495,196,694,355,1116,568,433,394,98, - 98,394,456,146,300,754,775,392,573,496, - 217,392,501,308,98,1108,388,355,355,394, - 394,394,754,146,754,688,701,504,504,496, - 308,318,691,394,1104,394,394,1104,747,754, - 217,856,217,687,687,762,319,98,394,510, - 776,747,745,972,191,1104,555,892,217,70, - 70,762,318,1116,355,1116,496,1104,1104,1104, - 319,1104,394,157,496,496,394,308,146,145, - 749,810,689,191,745,855,308,308,764,98, - 688,310,1104,310,1116,319,338,338,336,767, - 338,496,496,970,762,70,749,856,855,856, - 496,567,495,146,855,855,855,98,394,808, - 9,146,388,146,157,496,191,1104,146,762, - 855,354,1019,388,496,601,855,855,855,394, - 394,504,146,146,421,319,970,319,496,157, - 191,354,319,316,601,146,1017,601,601,394, - 496,687,308,308,1096,354,317,510,496,496, - 146,1017,496,391,319,146,510,496,600,319, - 146,1017,319 + 587,7,393,1,1104,729,729,729,729,65, + 1104,639,991,639,342,393,344,394,394,394, + 394,394,394,394,394,394,641,647,652,649, + 656,654,661,659,663,662,664,164,665,393, + 377,37,37,37,37,433,304,9,636,37, + 290,161,639,639,9,1022,641,161,1063,36, + 844,67,463,377,639,641,933,933,304,393, + 394,394,394,394,394,394,394,394,394,394, + 394,394,394,394,394,394,394,394,394,393, + 393,393,393,393,393,393,393,393,393,393, + 393,394,161,161,152,377,528,528,528,528, + 113,161,9,211,452,463,302,463,297,463, + 299,463,447,65,433,290,290,9,290,36, + 393,431,843,161,430,433,432,430,161,290, + 649,649,647,647,647,654,654,654,654,652, + 652,659,656,656,662,661,663,1116,664,211, + 249,766,579,578,530,470,470,65,344,1104, + 1104,1104,1104,433,433,528,490,527,636,433, + 632,69,433,568,113,217,566,302,221,433, + 433,433,113,528,394,37,645,117,161,67, + 433,433,729,432,844,393,152,290,680,161, + 768,770,433,844,393,393,393,393,1104,1104, + 377,215,632,69,568,567,568,113,568,221, + 221,433,113,433,161,645,211,843,67,433, + 431,161,583,571,582,770,113,431,161,161, + 161,161,304,304,632,631,699,433,69,1116, + 115,979,1106,69,568,568,689,433,221,699, + 697,698,433,645,646,645,393,117,984,641, + 67,239,393,580,580,226,226,433,764,211, + 731,161,433,161,161,632,844,729,430,293, + 1108,427,1104,719,64,690,433,699,394,433, + 645,304,394,290,984,239,393,393,770,844, + 161,768,571,239,541,431,84,431,568,568, + 427,685,211,722,394,1116,234,689,433,65, + 65,433,646,161,290,709,770,431,239,686, + 84,431,568,302,65,1108,427,394,394,433, + 433,433,709,161,709,527,729,436,436,686, + 302,357,719,433,1104,433,433,1104,702,709, + 84,851,84,526,526,717,358,65,433,304, + 771,702,629,895,206,1104,442,887,84,37, + 37,717,357,1116,394,1116,686,1104,1104,1104, + 358,1104,433,172,686,686,433,302,161,160, + 704,805,528,206,629,850,302,302,986,65, + 527,349,1104,349,1116,358,377,377,375,989, + 377,686,686,1061,717,37,704,851,850,851, + 686,233,685,161,850,850,850,65,433,803, + 731,161,427,161,375,206,1104,161,717,850, + 393,942,427,686,699,850,850,850,433,433, + 436,161,161,554,358,1061,358,686,206,393, + 358,355,699,161,940,699,699,433,686,526, + 302,302,1096,393,356,304,686,161,940,686, + 430,358,161,686,698,358,940 }; }; public final static char asb[] = Asb.asb; @@ -1725,116 +1697,116 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 9,72,118,74,13,66,121,0,48,15, - 16,62,46,17,68,49,14,18,50,51, - 19,20,52,53,21,22,54,69,55,10, - 70,23,45,24,47,25,1,2,4,95, - 0,31,63,32,33,64,7,34,35,36, - 38,57,39,40,41,42,43,28,26,27, - 8,6,11,12,5,29,65,44,3,48, - 15,16,62,46,17,68,49,14,18,50, - 51,19,20,52,53,21,22,54,69,55, - 10,70,23,24,47,25,45,1,2,4, - 0,96,90,11,12,91,92,88,89,30, - 93,94,97,98,99,100,101,102,117,72, - 95,67,104,105,106,107,108,109,110,111, - 112,113,118,71,13,121,65,1,2,8, - 6,4,3,56,66,74,9,0,65,72, - 95,66,118,74,71,121,15,16,31,63, - 17,32,33,18,19,20,64,34,21,22, - 35,36,38,57,39,40,10,23,24,25, - 41,42,43,28,26,27,11,12,29,44, - 9,13,7,5,3,1,2,8,4,6, - 0,82,7,114,115,116,58,9,3,8, - 6,5,72,71,13,73,48,15,16,62, - 46,17,68,49,14,18,50,51,19,20, - 52,53,21,22,54,69,55,10,70,23, - 45,24,47,25,4,1,2,37,0,4, - 59,72,0,1,2,9,71,0,63,64, - 10,32,36,34,31,40,16,25,15,21, + 9,72,118,73,13,66,121,0,32,64, + 33,34,65,7,35,36,37,38,57,39, + 40,41,42,43,28,26,27,8,6,11, + 12,5,29,62,44,3,49,15,16,63, + 46,17,69,50,14,18,51,52,19,20, + 53,54,21,22,55,70,56,10,71,23, + 24,47,25,45,1,2,4,0,75,7, + 114,115,116,58,9,3,8,6,5,72, + 68,13,74,49,15,16,63,46,17,69, + 50,14,18,51,52,19,20,53,54,21, + 22,55,70,56,10,71,23,45,24,47, + 25,4,1,2,31,0,96,90,11,12, + 91,92,88,89,30,93,94,97,98,99, + 100,101,102,117,72,95,67,104,105,106, + 107,108,109,110,111,112,113,118,68,13, + 121,62,1,2,8,6,4,3,48,66, + 73,9,0,62,72,95,66,118,73,68, + 121,15,16,32,64,17,33,34,18,19, + 20,65,35,21,22,36,37,38,57,39, + 40,10,23,24,25,41,42,43,28,26, + 27,11,12,29,44,9,13,7,5,3, + 1,2,8,4,6,0,4,59,72,0, + 1,2,9,68,0,76,59,62,72,95, + 73,48,3,9,66,13,67,0,46,57, + 47,9,62,95,67,66,73,0,64,65, + 10,33,37,35,32,40,16,25,15,21, 19,20,22,23,18,17,24,41,44,42, - 43,28,39,33,38,5,7,4,3,26, - 27,8,6,11,12,29,35,1,2,118, - 9,0,37,72,4,1,2,59,0,82, - 114,115,116,37,72,119,122,71,73,75, - 58,60,61,77,79,86,84,76,81,83, - 85,87,59,78,80,9,13,48,62,46, - 68,49,14,50,51,52,53,54,69,55, - 70,45,47,57,63,64,10,32,36,34, - 31,40,16,25,15,21,19,20,22,23, - 18,17,24,41,44,42,43,28,39,33, - 38,26,27,11,12,29,35,8,6,3, - 4,7,5,1,2,0,15,16,17,18, - 19,20,21,22,23,24,25,48,46,49, - 14,50,51,52,53,54,55,45,47,13, - 9,74,7,1,2,56,3,8,6,5, - 4,0,45,1,2,4,114,115,116,0, - 57,46,7,47,5,1,2,4,75,59, - 120,103,26,27,56,3,96,90,6,91, - 92,11,12,89,88,30,93,94,97,98, - 8,99,100,101,65,95,74,121,67,104, - 105,106,107,108,109,110,111,112,113,72, - 118,71,102,117,66,13,9,0,4,30, - 59,72,0,65,67,66,1,2,0,9, - 74,15,16,31,17,32,33,18,19,20, - 34,21,22,35,36,38,57,39,40,10, - 23,24,25,41,42,43,28,3,26,27, - 8,6,11,12,29,4,44,5,7,1, - 2,64,63,0,1,2,123,59,0,75, - 59,65,72,95,74,56,3,9,66,13, - 67,0,46,57,47,9,65,95,67,66, - 74,0,8,6,4,5,7,1,2,3, - 56,65,67,66,9,74,95,0,67,66, - 71,9,0,59,72,75,0,10,68,62, - 69,70,16,25,15,21,19,20,22,23, - 18,17,24,75,59,72,95,118,71,121, - 7,53,54,55,45,47,1,2,52,51, - 50,14,49,5,4,46,48,9,74,13, - 56,3,120,96,103,90,26,27,8,6, - 11,12,91,92,88,89,30,93,94,97, - 98,99,100,101,102,117,104,105,106,107, - 108,109,110,111,112,113,67,66,65,0, - 59,66,0,72,9,56,3,67,66,13, - 30,0,15,16,31,63,17,32,33,18, - 19,20,64,7,34,21,22,35,36,38, + 43,28,39,34,38,5,7,4,3,26, + 27,8,6,11,12,29,36,1,2,118, + 9,0,59,72,76,0,31,72,4,1, + 2,59,0,9,73,15,16,32,17,33, + 34,18,19,20,35,21,22,36,37,38, 57,39,40,10,23,24,25,41,42,43, - 1,2,3,26,27,8,6,11,12,5, - 29,4,44,73,28,0,46,47,75,3, - 59,72,13,57,9,65,95,67,66,74, - 0,119,0,59,67,0,76,0,7,5, - 3,56,6,8,95,48,15,16,46,17, - 68,49,14,18,50,51,19,20,52,53, - 21,22,54,69,55,10,70,23,45,24, - 47,25,1,2,4,74,9,62,0,61, - 48,15,16,62,46,17,68,49,82,14, - 18,50,51,19,20,52,60,53,21,22, - 54,69,55,10,70,23,58,45,24,47, - 25,9,3,8,4,13,59,6,7,1, - 2,5,37,0,71,62,46,17,68,49, - 18,50,51,19,20,52,53,21,22,54, - 69,55,70,23,45,24,47,25,16,15, - 48,9,3,8,6,13,58,61,82,14, - 37,7,1,2,5,4,10,60,0,48, - 15,16,62,46,17,68,49,14,18,50, - 51,19,20,52,53,21,22,54,69,55, - 10,70,23,45,24,47,25,1,2,4, - 64,63,11,12,6,91,92,99,8,100, - 5,29,30,65,107,108,104,105,106,112, - 111,113,89,88,109,110,97,98,93,94, - 101,102,26,27,66,90,103,3,56,67, - 0,62,46,17,68,49,18,50,51,19, - 20,52,53,21,22,54,69,55,10,70, - 23,45,24,47,25,16,15,48,9,3, - 8,6,13,58,60,61,82,14,30,7, - 4,37,5,1,2,0,9,71,63,64, - 57,26,27,8,6,11,12,29,35,3, - 41,44,42,43,28,39,33,38,16,25, - 15,21,19,20,22,23,18,17,24,32, - 36,34,31,40,59,7,1,2,4,10, - 5,0,63,64,26,27,11,12,29,35, - 41,44,42,43,28,39,33,38,16,25, + 28,3,26,27,8,6,11,12,29,4, + 44,5,7,1,2,65,64,0,75,114, + 115,116,31,72,119,122,68,74,76,58, + 60,61,78,80,86,84,77,82,83,85, + 87,59,79,81,13,9,49,63,46,69, + 50,14,51,52,53,54,55,70,56,71, + 45,47,57,64,65,10,33,37,35,32, + 40,16,25,15,21,19,20,22,23,18, + 17,24,41,44,42,43,28,39,34,38, + 26,27,11,12,29,36,8,6,3,4, + 7,5,1,2,0,62,67,66,1,2, + 0,1,2,123,59,0,10,69,63,70, + 71,16,25,15,21,19,20,22,23,18, + 17,24,76,59,72,95,118,68,121,7, + 54,55,56,45,47,1,2,53,52,51, + 14,50,5,4,46,49,9,73,13,48, + 3,120,96,103,90,26,27,8,6,11, + 12,91,92,88,89,30,93,94,97,98, + 99,100,101,102,117,104,105,106,107,108, + 109,110,111,112,113,67,66,62,0,15, + 16,17,18,19,20,21,22,23,24,25, + 49,46,50,14,51,52,53,54,55,56, + 45,47,13,9,73,7,1,2,48,3, + 8,6,5,4,0,4,30,59,72,0, + 8,6,4,5,7,1,2,3,48,62, + 67,66,9,73,95,0,15,16,32,64, + 17,33,34,18,19,20,65,7,35,21, + 22,36,37,38,57,39,40,10,23,24, + 25,41,42,43,1,2,3,26,27,8, + 6,11,12,5,29,4,44,74,28,0, + 57,46,7,47,5,1,2,4,76,59, + 120,103,26,27,48,3,96,90,6,91, + 92,11,12,89,88,30,93,94,97,98, + 8,99,100,101,62,95,73,121,67,104, + 105,106,107,108,109,110,111,112,113,72, + 118,68,102,117,66,13,9,0,45,1, + 2,4,114,115,116,0,67,66,68,9, + 0,46,47,76,3,59,72,13,57,9, + 62,95,67,66,73,0,119,0,59,66, + 0,72,9,48,3,67,66,13,30,0, + 49,15,16,63,46,17,69,50,14,18, + 51,52,19,20,53,54,21,22,55,70, + 56,10,71,23,45,24,47,25,1,2, + 4,95,0,7,5,3,48,6,8,95, + 49,15,16,46,17,69,50,14,18,51, + 52,19,20,53,54,21,22,55,70,56, + 10,71,23,45,24,47,25,1,2,4, + 73,9,63,0,61,49,15,16,63,46, + 17,69,50,75,14,18,51,52,19,20, + 53,60,54,21,22,55,70,56,10,71, + 23,58,45,24,47,25,9,3,8,4, + 13,59,6,7,1,2,5,31,0,68, + 63,46,17,69,50,18,51,52,19,20, + 53,54,21,22,55,70,56,71,23,45, + 24,47,25,16,15,49,9,3,8,6, + 13,58,61,75,14,31,7,1,2,5, + 4,10,60,0,63,46,17,69,50,18, + 51,52,19,20,53,54,21,22,55,70, + 56,10,71,23,45,24,47,25,16,15, + 49,9,3,8,6,13,58,60,61,75, + 14,30,7,4,31,5,1,2,0,9, + 68,64,65,57,26,27,8,6,11,12, + 29,36,3,41,44,42,43,28,39,34, + 38,16,25,15,21,19,20,22,23,18, + 17,24,33,37,35,32,40,59,7,1, + 2,4,10,5,0,59,67,0,77,0, + 49,15,16,63,46,17,69,50,14,18, + 51,52,19,20,53,54,21,22,55,70, + 56,10,71,23,45,24,47,25,1,2, + 4,65,64,11,12,6,91,92,99,8, + 100,5,29,30,62,107,108,104,105,106, + 112,111,113,89,88,109,110,97,98,93, + 94,101,102,26,27,66,90,103,3,48, + 67,0,64,65,26,27,11,12,29,36, + 41,44,42,43,28,39,34,38,16,25, 15,21,19,20,22,23,18,17,24,10, - 32,36,34,31,40,8,6,4,56,7, + 33,37,35,32,40,8,6,4,48,7, 5,1,2,3,0,13,9,7,5,3, 1,2,6,8,4,72,0 }; @@ -1844,59 +1816,58 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 181,11,41,11,11,11,11,11,11,241, - 11,11,200,11,51,135,152,41,41,219, - 41,41,41,41,41,41,11,11,11,11, - 11,11,11,11,11,11,11,41,11,41, - 177,244,244,244,244,152,145,210,48,4, - 95,186,11,11,210,202,11,186,41,79, - 150,11,11,177,11,11,30,30,145,135, - 41,41,41,41,41,41,41,41,41,41, - 41,41,41,41,41,41,41,41,41,41, - 41,41,41,41,41,41,41,41,41,41, - 135,41,186,186,164,1,11,11,11,11, - 55,186,39,73,174,175,11,175,99,175, - 25,175,168,241,152,95,95,39,95,244, - 70,22,66,186,21,222,152,21,186,95, + 174,11,45,11,11,11,11,11,11,227, + 11,11,212,11,54,119,163,45,45,216, + 45,45,45,45,45,45,11,11,11,11, + 11,11,11,11,11,11,11,45,11,45, + 184,237,237,237,237,163,99,201,67,4, + 88,242,11,11,201,214,11,242,45,27, + 161,11,11,184,11,11,38,38,99,119, + 45,45,45,45,45,45,45,45,45,45, + 45,45,45,45,45,45,45,45,45,45, + 45,45,45,45,45,45,45,45,45,45, + 119,45,242,242,170,1,11,11,11,11, + 77,242,43,113,143,144,11,144,94,144, + 29,144,137,227,163,88,88,43,88,237, + 58,18,32,242,17,219,163,17,242,88, 11,11,11,11,11,11,11,11,11,11, - 11,11,11,11,11,11,11,11,11,73, - 91,164,87,87,11,11,11,241,152,11, - 11,11,11,101,10,11,11,11,157,152, - 210,210,101,210,188,210,11,11,210,188, - 152,10,11,11,41,244,210,76,186,11, - 10,152,11,109,150,41,155,95,11,186, - 123,210,152,150,135,135,135,135,11,11, - 39,11,97,236,210,210,112,149,112,210, - 223,10,149,101,186,35,157,66,11,222, - 101,186,11,160,11,125,148,101,186,186, - 186,186,145,145,210,97,64,152,227,11, - 11,89,229,236,112,112,128,101,223,64, - 11,11,101,210,46,11,135,157,110,11, - 11,210,41,11,11,87,87,152,160,73, - 125,186,101,186,186,97,150,11,241,210, - 204,206,11,11,241,37,188,64,41,223, - 35,145,41,95,110,97,41,41,210,150, - 186,123,16,210,11,22,210,188,210,58, - 18,227,73,11,41,11,12,191,188,241, - 241,10,46,186,95,210,125,22,97,227, - 125,22,58,83,114,206,18,41,41,10, - 188,188,81,186,210,11,11,138,138,227, - 83,104,11,188,11,10,10,11,210,81, - 125,212,210,11,11,210,118,114,10,145, - 184,97,11,212,230,11,223,89,125,244, - 244,85,132,11,41,11,227,11,11,11, - 133,11,223,225,227,227,223,14,186,186, - 210,210,11,204,11,210,11,11,11,241, - 11,107,11,11,11,133,243,243,195,11, - 243,227,227,11,210,244,81,212,210,212, - 227,28,11,186,140,210,210,241,188,11, - 244,186,206,186,197,227,210,11,186,85, - 140,70,41,206,227,64,212,140,140,188, - 217,138,186,186,210,133,11,133,227,197, - 206,135,133,107,64,186,210,64,64,217, - 227,11,14,14,160,41,11,197,227,227, - 186,60,227,21,133,186,197,227,64,133, - 186,60,133 + 11,11,11,11,11,11,11,11,11,113, + 84,170,80,80,11,11,11,227,163,11, + 11,11,11,96,10,11,11,11,124,163, + 201,201,96,201,192,201,11,11,201,192, + 163,10,11,11,45,237,201,70,242,11, + 10,163,11,127,161,45,122,88,11,242, + 111,201,163,161,119,119,119,119,11,11, + 43,11,155,222,201,201,23,160,23,201, + 220,10,160,96,242,36,124,32,11,219, + 96,242,11,166,11,152,159,96,242,242, + 242,242,99,99,201,155,65,163,210,11, + 11,21,229,222,23,23,180,96,220,65, + 11,11,96,201,50,11,119,124,128,11, + 11,201,45,11,11,80,80,163,166,113, + 152,242,96,242,242,155,161,11,227,201, + 195,197,11,11,227,157,192,65,45,220, + 36,99,45,88,128,155,45,45,201,161, + 242,111,12,201,11,18,201,192,201,82, + 14,210,113,11,45,11,52,146,192,227, + 227,10,50,242,88,201,152,18,155,210, + 152,18,82,92,188,197,14,45,45,10, + 192,192,73,242,201,11,11,135,135,210, + 92,177,11,192,11,10,10,11,201,73, + 152,203,201,11,11,201,102,188,10,99, + 240,155,11,203,230,11,220,21,152,237, + 237,75,116,11,45,11,210,11,11,11, + 117,11,220,208,210,210,220,109,242,242, + 201,201,11,195,11,201,11,11,11,227, + 11,107,11,11,11,117,244,244,150,11, + 244,210,210,11,201,237,73,203,201,203, + 210,90,11,242,130,201,201,227,192,11, + 237,242,197,242,236,201,11,242,75,130, + 58,45,197,210,65,203,130,130,192,25, + 135,242,242,201,117,11,117,210,197,119, + 117,107,65,242,201,65,65,25,210,11, + 109,109,166,45,11,248,210,242,61,210, + 17,117,242,210,65,117,61 }; }; public final static char nasb[] = Nasb.nasb; @@ -1904,31 +1875,31 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 3,12,7,5,146,144,119,143,142,2, - 0,181,0,54,0,95,94,52,62,53, - 5,7,2,0,5,1,0,175,0,5, - 2,7,133,0,137,0,183,0,46,4, - 5,7,2,12,0,135,0,4,185,0, - 2,7,3,0,52,64,0,153,0,12, - 2,7,5,63,0,64,132,131,0,4, - 27,0,5,90,0,4,172,0,170,0, - 123,0,154,0,155,0,66,0,150,0, - 12,2,7,5,77,0,59,0,5,42, - 2,3,0,4,63,0,112,0,2,113, - 0,110,0,164,5,163,0,4,45,37, - 173,0,5,90,22,4,0,5,103,182, - 0,63,45,68,4,37,0,109,0,104, - 4,45,67,0,4,97,0,52,2,64, - 0,2,42,0,95,94,5,53,0,2, - 7,52,62,94,95,4,0,2,5,119, - 115,116,117,12,87,0,4,46,37,0, - 4,169,0,46,4,32,0,2,60,0, - 5,103,160,0,22,174,4,101,0,4, - 46,166,0,5,90,62,52,7,2,4, - 0,4,45,67,78,0,149,0,5,7, - 12,3,1,0,4,37,38,0,38,52, - 7,2,4,152,0,4,45,67,103,43, - 5,0,114,4,46,0 + 3,12,7,5,145,143,118,142,141,2, + 0,95,94,52,62,53,5,7,2,0, + 149,0,110,0,148,0,169,0,5,1, + 0,64,131,130,0,136,0,5,2,7, + 132,0,43,4,5,7,2,12,0,134, + 0,183,0,2,7,3,0,4,29,0, + 12,2,7,5,63,0,4,187,0,4, + 171,0,122,0,154,0,52,64,0,66, + 0,152,0,12,2,7,5,70,0,177, + 0,153,0,5,42,2,3,0,4,97, + 0,4,46,38,173,0,112,0,58,0, + 22,4,5,90,0,63,46,72,4,38, + 0,95,94,5,53,0,2,113,0,104, + 4,46,67,0,109,0,2,5,118,114, + 115,116,12,87,0,5,102,159,0,38, + 175,22,4,0,59,0,185,0,52,2, + 64,0,2,42,0,2,7,52,62,94, + 95,4,0,4,168,0,4,63,0,5, + 102,184,0,4,43,38,0,163,5,162, + 0,2,60,0,5,90,62,52,7,2, + 4,0,4,46,67,71,0,4,38,37, + 0,4,43,165,0,5,7,12,3,1, + 0,4,46,67,102,44,5,0,37,52, + 7,2,4,151,0,174,4,43,0,43, + 4,33,0,4,43,103,0,4,172,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -1939,12 +1910,12 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 115,116,2,32,14,11,81,10,117,102, 12,13,122,68,50,54,62,70,76,77, 88,89,104,107,109,8,9,114,15,20, - 57,63,69,86,90,92,95,96,99,101, - 111,112,113,46,106,56,108,49,66,72, - 75,78,85,91,100,1,97,105,3,79, - 48,55,60,80,21,45,34,65,93,103, - 121,31,123,120,98,110,51,52,58,59, - 61,67,71,73,74,87,94,18,19,7, + 95,57,63,69,86,90,92,96,99,101, + 111,112,113,46,106,56,108,1,49,66, + 72,75,78,85,91,100,97,105,3,79, + 48,21,55,60,80,45,34,121,65,93, + 103,31,120,123,67,98,110,51,52,58, + 59,61,71,73,74,87,94,18,19,7, 16,17,22,23,33,5,24,25,26,27, 28,29,6,35,36,37,38,39,40,41, 42,43,44,82,83,84,30,119,53,4, @@ -1958,24 +1929,24 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static char nonterminalIndex[] = {0, 132,137,139,0,0,138,235,136,0,135, 0,146,134,0,0,145,151,0,0,152, - 161,182,162,163,164,165,154,166,167,168, - 169,128,170,144,171,0,133,130,172,0, - 141,140,180,0,0,155,0,0,0,0, - 0,0,158,175,0,205,0,148,189,0, - 202,206,129,0,0,207,0,174,0,0, - 0,0,0,0,0,178,127,131,0,0, + 161,182,162,163,164,165,166,167,154,168, + 169,170,128,144,171,0,130,133,172,0, + 141,140,155,180,0,0,0,0,0,0, + 0,0,158,0,205,0,148,175,189,0, + 202,206,129,0,0,207,0,0,178,127, + 131,174,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,188,0,0,203, 213,160,209,210,211,0,0,0,0,149, - 0,208,221,181,0,0,0,212,0,0, - 0,241,150,177,191,192,193,194,195,197, - 200,0,0,215,218,220,238,0,240,0, - 142,143,147,0,0,157,159,0,173,0, - 183,184,185,186,187,190,0,196,198,0, - 199,204,0,216,217,0,222,225,227,229, - 0,232,233,234,0,236,237,239,126,0, - 153,156,176,179,201,214,219,0,223,224, - 226,228,0,230,231,242,243,0,0,0, - 0,0,0 + 208,221,177,181,0,0,0,212,0,0, + 0,241,150,191,192,193,194,195,197,200, + 0,0,215,218,220,238,0,240,0,142, + 143,147,0,0,157,159,0,173,0,183, + 184,185,186,187,190,0,196,198,0,199, + 204,0,216,217,0,222,225,227,229,0, + 232,233,234,0,236,237,239,126,0,153, + 156,0,176,0,179,0,201,214,219,0, + 223,224,226,228,0,230,231,242,243,0, + 0,0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -1983,18 +1954,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 146,592,611,377,543,559,570,581,357,256, - 270,292,298,304,42,281,402,440,154,600, - 385,486,20,51,75,80,85,122,182,287, - 310,321,332,262,276,514,27,367,332,619, - 27,204,235,1,14,61,71,101,136,217, - 315,328,337,346,350,458,479,508,535,539, - 629,633,637,92,7,92,136,420,436,449, - 469,527,449,550,566,577,588,194,391,497, - 56,56,143,209,212,230,251,212,212,56, - 354,464,476,483,143,56,650,105,223,424, - 111,111,223,56,223,411,164,99,462,641, - 648,641,648,65,430,129,99,99,240 + 146,567,586,518,534,545,556,357,256,270, + 292,298,304,42,281,377,415,154,575,461, + 20,51,75,80,85,122,182,287,310,321, + 332,262,276,489,27,367,332,594,27,204, + 235,1,14,61,71,101,136,217,315,328, + 337,346,350,433,454,483,510,514,604,608, + 612,92,7,92,136,395,411,424,444,502, + 424,525,541,552,563,194,472,56,56,143, + 209,212,230,251,212,212,56,354,439,451, + 458,143,56,625,105,223,399,111,111,223, + 56,223,386,164,99,437,616,623,616,623, + 65,405,129,99,99,240 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2002,18 +1973,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,364,5,5,5,5,364,127, - 90,127,127,127,48,267,408,446,160,67, - 372,492,25,25,59,59,90,127,187,127, - 127,326,326,267,96,519,38,372,606,624, - 32,198,198,5,18,5,59,90,127,221, - 319,319,319,90,90,127,233,5,5,5, - 5,5,233,221,11,96,140,364,364,364, - 473,519,453,554,554,554,554,198,395,501, - 59,59,5,5,215,233,5,254,254,344, - 90,467,5,233,5,512,5,108,341,427, - 114,118,226,531,522,414,167,90,90,643, - 643,645,645,67,432,131,189,174,242 + 18,5,5,5,5,5,5,364,127,90, + 127,127,127,48,267,383,421,160,67,467, + 25,25,59,59,90,127,187,127,127,326, + 326,267,96,494,38,372,581,599,32,198, + 198,5,18,5,59,90,127,221,319,319, + 319,90,90,127,233,5,5,5,5,5, + 233,221,11,96,140,364,364,364,448,494, + 428,529,529,529,529,198,476,59,59,5, + 5,215,233,5,254,254,344,90,442,5, + 233,5,487,5,108,341,402,114,118,226, + 506,497,389,167,90,90,618,618,620,620, + 67,407,131,189,174,242 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2021,18 +1992,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 43,16,16,72,16,16,16,16,72,81, - 44,86,85,117,65,50,72,71,43,16, - 72,18,3,6,160,160,157,115,43,84, - 117,116,118,51,44,133,128,72,16,16, - 128,96,55,130,75,163,160,157,125,57, - 116,116,118,174,48,54,137,17,16,16, - 16,16,16,11,112,157,125,72,71,71, - 36,133,71,16,16,16,16,96,72,18, - 164,160,175,94,102,66,56,152,76,118, - 73,69,138,137,170,133,15,157,118,114, - 126,126,53,133,133,72,43,157,70,131, - 42,131,42,163,114,115,43,43,55 + 44,16,16,16,16,16,16,75,81,45, + 86,85,116,65,50,75,74,44,16,18, + 3,6,159,159,156,114,44,84,116,115, + 117,51,45,132,127,75,16,16,127,96, + 54,129,78,162,159,156,124,56,115,115, + 117,176,48,58,136,17,16,16,16,16, + 16,11,112,156,124,75,74,74,36,132, + 74,16,16,16,16,96,18,163,159,177, + 94,101,66,55,151,69,117,76,73,137, + 136,169,132,15,156,117,103,125,125,53, + 132,132,75,44,156,68,130,42,130,42, + 162,103,114,44,44,54 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2040,18 +2011,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 119,74,74,74,74,74,74,74,74,71, - 13,71,71,71,65,1,74,122,59,3, - 13,74,65,65,1,1,13,71,59,71, - 71,1,1,1,1,4,65,13,1,1, - 65,74,74,74,119,74,1,13,71,1, - 1,1,1,13,13,71,118,74,74,74, - 74,74,118,1,74,1,66,74,74,74, - 72,4,74,65,65,65,65,74,13,3, - 1,1,74,74,3,118,74,1,1,1, - 13,72,74,118,74,5,74,1,37,67, - 1,1,6,1,37,76,75,13,13,4, - 4,4,4,3,1,59,1,1,3 + 119,73,73,73,73,73,73,73,68,13, + 68,68,68,62,1,73,122,59,3,73, + 62,62,1,1,13,68,59,68,68,1, + 1,1,1,4,62,13,1,1,62,73, + 73,73,119,73,1,13,68,1,1,1, + 1,13,13,68,118,73,73,73,73,73, + 118,1,73,1,66,73,73,73,72,4, + 73,62,62,62,62,73,3,1,1,73, + 73,3,118,73,1,1,1,13,72,73, + 118,73,5,73,1,31,67,1,1,6, + 1,31,77,76,13,13,4,4,4,4, + 3,1,59,1,1,3 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2059,18 +2030,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 72,236,236,83,236,236,236,236,83,96, - 72,96,96,142,94,74,83,83,72,236, - 83,236,169,211,44,44,69,142,72,96, - 142,142,142,74,72,137,37,83,236,236, - 37,129,50,14,83,18,44,69,297,50, - 142,142,142,3,74,21,66,236,236,236, - 236,236,236,231,9,69,297,83,83,83, - 267,137,83,236,236,236,236,129,83,236, - 18,44,1,129,131,125,50,47,55,142, - 83,83,41,66,140,137,236,69,142,5, - 142,142,109,137,137,83,72,69,83,106, - 146,106,146,18,5,142,72,72,50 + 78,241,241,241,241,241,241,36,89,78, + 89,89,147,99,80,36,36,78,241,241, + 174,216,53,53,108,147,78,89,147,147, + 147,80,78,142,46,36,241,241,46,134, + 59,24,36,28,53,108,302,59,147,147, + 147,22,80,31,75,241,241,241,241,241, + 241,236,8,108,302,36,36,36,272,142, + 36,241,241,241,241,134,241,28,53,1, + 134,136,130,59,56,64,147,36,36,50, + 75,145,142,241,108,147,3,147,147,114, + 142,142,36,78,108,13,111,151,111,151, + 28,3,147,78,78,59 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2078,72 +2049,69 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 311,3,57,0,128,0,310,3,119,0, - 128,175,0,128,178,75,0,217,0,289, - 128,30,126,0,21,0,291,128,30,37, + 313,3,57,0,128,0,312,3,119,0, + 128,175,0,128,182,76,0,217,0,288, + 128,30,126,0,21,0,290,128,30,31, 0,21,55,0,34,134,0,21,55,0, - 0,291,128,30,37,191,0,21,131,0, - 289,128,30,131,0,184,129,0,144,0, - 221,3,288,0,288,0,2,0,128,0, - 184,129,227,0,184,129,45,227,0,184, - 129,307,45,0,132,188,166,129,0,130, - 0,188,166,129,0,136,130,0,169,0, - 303,128,169,0,128,169,0,223,130,0, - 166,243,0,139,0,0,0,137,0,0, - 0,302,128,59,250,0,129,0,250,0, - 3,0,0,129,0,301,128,59,0,45, - 129,0,151,3,0,128,278,277,128,75, - 276,169,0,277,128,75,276,169,0,216, - 0,217,0,276,169,0,98,0,0,216, + 0,290,128,30,31,191,0,21,131,0, + 288,128,30,131,0,184,129,0,144,0, + 221,3,287,0,287,0,2,0,128,0, + 184,129,226,0,184,129,45,226,0,184, + 129,309,45,0,132,188,166,129,0,130, + 0,188,166,129,0,136,130,0,170,0, + 305,128,170,0,128,170,0,223,130,0, + 166,242,0,139,0,0,0,137,0,0, + 0,304,128,59,249,0,129,0,249,0, + 3,0,0,129,0,303,128,59,0,45, + 129,0,153,3,0,128,277,276,128,76, + 275,170,0,276,128,76,275,170,0,216, + 0,217,0,275,170,0,98,0,0,216, 0,217,0,204,98,0,0,216,0,217, - 0,277,128,276,169,0,216,0,204,0, + 0,276,128,275,170,0,216,0,204,0, 0,216,0,230,128,3,0,128,0,0, - 0,0,0,230,128,3,218,0,226,3, + 0,0,0,230,128,3,218,0,225,3, 0,214,128,0,209,0,188,166,176,0, 136,0,166,129,0,11,0,0,0,216, - 56,0,127,0,230,128,3,180,0,180, + 48,0,127,0,230,128,3,179,0,179, 0,2,0,0,128,0,0,0,0,0, - 200,3,0,202,0,229,128,59,28,14, + 193,3,0,202,0,229,128,59,28,14, 0,184,129,60,58,0,198,130,0,132, - 184,129,274,58,0,184,129,274,58,0, + 184,129,273,58,0,184,129,273,58,0, 184,129,67,125,60,0,229,128,59,60, 0,229,128,59,123,60,0,229,128,59, - 126,60,0,271,128,59,125,68,0,271, - 128,59,68,0,184,129,68,0,137,0, - 188,184,129,243,0,139,0,184,129,243, + 126,60,0,270,128,59,125,69,0,270, + 128,59,69,0,184,129,69,0,137,0, + 188,184,129,242,0,139,0,184,129,242, 0,188,166,129,10,0,166,129,10,0, - 95,139,0,149,0,264,128,146,0,264, - 128,169,0,161,86,0,225,162,225,298, - 3,83,0,128,174,0,225,298,3,83, - 0,130,0,128,174,0,225,162,225,162, - 225,3,83,0,225,162,225,3,83,0, - 225,3,83,0,130,0,130,0,128,174, - 0,161,3,76,192,81,0,128,130,0, - 192,81,0,110,2,133,128,130,0,238, - 3,76,0,200,170,0,34,172,0,170, - 0,178,34,172,0,238,3,87,0,192, - 156,238,3,85,0,64,174,0,238,3, - 85,0,128,174,64,174,0,297,128,59, - 0,161,0,216,78,0,31,0,161,117, - 159,0,31,172,0,221,3,0,216,56, - 261,0,161,56,0,182,3,294,64,129, - 0,128,0,0,0,0,294,64,129,0, - 2,148,128,0,0,0,0,182,3,35, - 0,150,0,127,37,166,129,0,32,150, - 0,95,139,32,150,0,224,184,129,0, - 149,32,150,0,182,3,40,0,161,3, - 40,0,161,3,65,182,30,31,0,182, - 30,31,0,21,2,133,128,0,161,3, - 65,182,30,34,0,182,30,34,0,161, - 3,65,182,30,36,0,182,30,36,0, - 161,3,65,182,30,32,0,182,30,32, - 0,221,3,127,188,166,129,10,0,127, - 188,166,129,10,0,139,2,0,128,0, - 221,3,126,176,166,129,10,0,176,166, - 129,10,0,137,2,0,128,0,221,3, - 136,0,221,3,140,0,161,56,140,0, - 256,0,32,0,32,142,0,165,0,161, - 3,0 + 95,139,0,149,0,263,128,146,0,263, + 128,170,0,162,86,0,296,161,298,299, + 3,83,0,128,174,0,298,299,3,83, + 0,130,0,128,174,0,162,3,77,196, + 82,0,128,130,0,196,82,0,110,2, + 133,128,130,0,227,3,77,0,193,167, + 0,34,172,0,167,0,178,34,172,0, + 227,3,87,0,196,157,227,3,85,0, + 64,174,0,227,3,85,0,128,174,64, + 174,0,297,128,59,0,162,0,216,79, + 0,31,0,162,117,159,0,31,172,0, + 221,3,0,216,48,260,0,162,48,0, + 181,3,293,65,129,0,128,0,0,0, + 0,293,65,129,0,2,148,128,0,0, + 0,0,181,3,36,0,150,0,127,31, + 166,129,0,32,150,0,95,139,32,150, + 0,224,184,129,0,149,32,150,0,181, + 3,40,0,162,3,40,0,162,3,62, + 181,30,32,0,181,30,32,0,21,2, + 133,128,0,162,3,62,181,30,35,0, + 181,30,35,0,162,3,62,181,30,37, + 0,181,30,37,0,162,3,62,181,30, + 33,0,181,30,33,0,221,3,127,188, + 166,129,10,0,127,188,166,129,10,0, + 139,2,0,128,0,221,3,126,176,166, + 129,10,0,176,166,129,10,0,137,2, + 0,128,0,221,3,136,0,221,3,140, + 0,162,48,140,0,255,0,32,0,32, + 142,0,165,0,162,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2151,36 +2119,37 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 626,0,3370,0,4523,4515,4404,0,2428,2543, - 2212,1265,0,1372,1342,1172,0,2852,2451,0, - 3367,3312,3257,1821,1705,3202,3147,3092,3031,565, - 2938,2579,2524,1336,1254,0,3021,3572,2566,0, - 1326,708,0,3310,2555,0,3525,4316,0,3525, - 4290,4223,568,4316,3795,4190,4212,4301,2994,4201, - 2529,3499,3422,2878,0,2659,665,0,3022,4344, - 0,3022,4344,2791,2739,3743,2673,2621,3691,3639, - 3587,3519,3367,3312,3257,3202,3147,3092,3031,2938, - 2579,2524,0,3022,4344,2791,2739,3743,2673,2621, - 3691,3639,3587,3519,0,2830,957,0,2994,4290, - 3692,4223,568,2741,3499,3543,1695,1288,2554,2797, - 1124,1835,983,0,2866,2748,1506,1283,568,2797, - 3795,3422,2878,2678,2544,0,716,649,0,1161, - 0,2945,527,2329,0,4456,4443,4395,4391,4382, - 4378,3778,3335,4491,4479,4470,3726,3537,3280,3225, - 2922,3170,2708,2420,2141,2826,2728,0,4456,4443, - 3645,3341,3317,4395,4391,4382,2764,2136,4378,3778, - 3335,3156,4491,2926,2807,4479,2457,2438,2056,1968, - 4470,2434,3726,1836,2464,3537,3280,3225,728,2922, - 635,3170,2708,578,2420,2945,2141,2329,2826,2728, - 3795,4190,4212,4301,2994,3525,4290,4201,2424,2046, - 4223,1958,568,2529,3499,3422,4316,2878,852,774, - 787,1037,971,716,649,4169,2148,582,2216,2185, - 2302,2275,2246,2897,905,2502,2476,2366,2337,3937, - 3915,3893,3443,2392,4148,4127,4106,4085,4064,4043, - 4022,4001,3980,3959,3867,3610,1843,2097,2060,2009, - 1972,1134,1092,1921,1884,1051,805,1794,1755,733, - 674,527,1714,1673,1632,1591,1550,1509,1468,1427, - 1386,1345,1304,1261,1220,994,930,864,1178,0 + 1809,0,4339,4452,4451,4441,0,2489,3192,2472, + 1169,0,3320,3263,3206,3149,3092,3035,2928,2522, + 2465,2648,0,1728,1077,980,0,3099,3027,0, + 3161,2691,2495,2581,2248,3320,3263,3206,3149,3092, + 3035,2928,2522,2465,0,3293,3179,2629,0,2821, + 710,0,2631,2989,0,4298,4260,0,4298,4197, + 4160,571,4260,3697,4090,4121,4224,3007,3443,4132, + 3401,3373,2887,0,3220,642,0,4291,4243,3320, + 3263,3206,3149,3092,3035,2928,2522,2465,2731,2679, + 3645,2613,2561,3593,3541,3489,3436,0,2731,2679, + 3645,2613,2561,3593,3541,3489,3436,4291,4243,0, + 3051,641,0,3007,4197,2499,4160,571,2940,3401, + 1816,1158,1020,2496,2525,798,1650,897,0,1614, + 1580,1409,1327,571,2525,3697,3373,2887,2925,2481, + 0,720,651,0,628,0,2622,530,2271,0, + 4330,4325,4321,3680,3628,3576,3523,3430,4435,4430, + 4426,4416,4373,3231,3117,3053,2766,2672,2490,2361, + 2791,2786,0,4330,4325,3040,2933,2687,4321,3680, + 3628,2473,1034,3576,3523,3430,3475,4435,3245,3131, + 4430,2968,2803,2702,2390,4426,2554,4416,3122,2405, + 4373,3231,3117,2125,3053,2088,2766,2672,581,2490, + 2622,2361,2271,2791,2786,3697,4090,4121,4224,3007, + 4298,4197,3443,2367,2078,4160,1777,571,4132,3401, + 3373,4260,2887,793,853,779,1990,1902,720,651, + 4069,2092,585,2160,2129,2244,2217,2189,2862,2837, + 2443,2417,2308,2279,3816,3794,3767,2897,2334,4048, + 4027,4006,3985,3964,3943,3922,3901,3880,3859,3838, + 4100,1787,2041,2004,1953,1916,1080,1039,1865,1828, + 991,806,1736,1699,734,676,530,1658,1617,1576, + 1535,1494,1453,1412,1371,1330,1289,1248,1207,1165, + 946,905,864,1121,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2188,59 +2157,58 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,293,128,263,40,31,34,36,32,10, - 136,126,7,131,4,3,129,35,29,5, + 0,292,128,262,40,32,35,37,33,10, + 136,126,7,131,4,3,129,36,29,5, 12,11,6,8,27,26,140,145,148,147, - 150,149,153,152,155,154,157,57,159,66, - 3,30,30,30,30,129,3,30,170,128, - 56,3,63,64,30,7,126,161,63,64, - 166,165,126,3,125,127,103,120,3,56, - 90,96,12,11,92,91,6,94,93,65, + 150,149,152,151,155,154,156,57,159,66, + 3,30,30,30,30,129,3,30,167,128, + 48,3,64,65,30,7,126,162,64,65, + 166,165,126,3,125,127,103,120,3,48, + 90,96,12,11,92,91,6,94,93,62, 30,88,89,8,98,97,100,99,101,113, 112,111,110,109,108,107,106,105,104,67, - 117,102,182,161,170,128,182,182,182,182, - 166,221,128,128,265,266,250,267,243,268, - 68,269,270,10,129,56,56,128,56,294, - 3,188,4,182,37,5,129,37,221,161, + 117,102,181,162,167,128,181,181,181,181, + 166,221,128,128,264,265,249,266,242,267, + 69,268,269,10,129,48,48,128,48,293, + 3,188,4,181,31,5,129,31,221,162, 147,147,145,145,145,149,149,149,149,148, - 148,152,150,150,154,153,155,161,157,128, - 56,3,219,218,136,127,126,10,129,65, - 65,65,65,188,176,289,134,292,214,129, + 148,151,150,150,154,152,155,162,156,128, + 48,3,219,218,136,127,126,10,129,62, + 62,62,62,188,176,288,134,291,214,129, 6,59,166,233,129,127,126,125,59,129, - 129,184,166,289,201,3,295,170,151,256, - 188,129,126,184,166,72,214,216,159,226, + 129,184,166,288,194,3,294,167,153,255, + 188,129,126,184,166,72,214,216,159,225, 128,3,129,166,3,3,3,3,127,126, 66,166,128,128,127,126,128,184,128,59, - 128,184,166,37,182,128,128,4,224,5, - 37,230,231,146,232,128,166,37,161,161, - 161,161,3,3,6,183,302,129,167,227, - 191,58,169,304,128,128,72,188,128,271, - 125,272,188,156,258,261,56,177,4,125, - 127,156,67,226,200,186,180,176,3,128, - 66,230,188,221,221,128,166,37,274,276, - 128,3,180,306,227,45,129,271,67,66, - 128,3,56,161,4,128,67,67,3,166, - 200,128,214,156,127,188,30,129,75,128, - 214,303,128,126,72,283,200,66,129,45, - 307,184,258,221,216,222,128,188,128,132, - 128,184,128,277,72,66,214,72,67,184, - 129,129,128,230,222,291,37,10,62,132, - 277,59,287,129,288,184,184,57,156,128, - 66,65,30,233,233,278,128,66,184,3, - 3,128,14,37,169,61,60,58,128,67, - 67,128,297,80,78,1,161,87,85,83, - 81,76,84,86,79,77,60,75,221,311, + 128,184,166,31,181,128,128,4,224,5, + 31,230,231,146,232,128,166,31,162,162, + 162,162,3,3,6,183,304,129,168,226, + 191,58,170,306,128,128,72,188,128,270, + 125,271,188,157,257,260,48,177,4,125, + 127,157,67,225,193,186,179,176,3,128, + 66,230,188,221,221,128,166,31,273,275, + 128,3,179,308,226,45,129,270,67,66, + 128,3,48,162,4,128,67,67,3,166, + 193,128,214,157,127,188,30,129,76,128, + 214,305,128,126,72,282,193,66,129,45, + 309,184,257,221,216,222,128,188,128,132, + 128,184,128,276,72,66,214,72,67,184, + 129,129,128,230,222,290,31,10,63,132, + 276,59,286,129,287,184,184,57,157,128, + 66,62,30,233,233,277,128,66,184,3, + 3,128,14,31,170,61,60,58,128,67, + 67,128,297,81,79,1,162,87,85,83, + 82,77,84,86,80,78,60,76,221,313, 222,28,30,128,3,59,123,126,125,60, - 291,279,119,9,216,72,3,3,3,192, - 3,125,161,125,178,66,128,128,59,65, - 264,200,275,28,128,59,59,67,129,65, - 3,238,170,238,298,225,146,76,238,128, - 128,3,67,66,156,229,228,128,128,129, - 184,62,95,310,170,156,200,156,225,162, - 128,3,156,279,229,151,59,229,229,184, - 273,233,156,156,128,67,192,162,225,264, - 161,128,273,67,122,225,162,156,301,156, - 225,66,156 + 290,278,119,9,216,72,3,3,3,196, + 3,125,162,125,182,66,128,128,59,62, + 263,193,274,28,128,59,59,67,129,62, + 3,227,167,227,299,146,77,227,128,128, + 3,67,66,157,229,228,128,128,129,184, + 63,95,312,167,157,193,157,298,128,3, + 157,278,229,153,59,229,229,184,272,233, + 157,157,128,67,196,161,263,162,128,272, + 67,122,296,157,303,157,66 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2429,8 +2397,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "statement_seq", "condition", "declarator", - "simple_declaration_with_declsp" + - "ec", + "for_init_statement", "function_definition", "declaration_seq", "declaration_specifiers", @@ -2505,9 +2472,9 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 73, - SCOPE_UBOUND = 118, - SCOPE_SIZE = 119, + ERROR_SYMBOL = 74, + SCOPE_UBOUND = 115, + SCOPE_SIZE = 116, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -2516,20 +2483,20 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 523, + NUM_STATES = 517, NT_OFFSET = 124, - LA_STATE_OFFSET = 5621, + LA_STATE_OFFSET = 5587, MAX_LA = 2147483647, - NUM_RULES = 526, - NUM_NONTERMINALS = 193, - NUM_SYMBOLS = 317, + NUM_RULES = 529, + NUM_NONTERMINALS = 195, + NUM_SYMBOLS = 319, SEGMENT_SIZE = 8192, - START_STATE = 3176, + START_STATE = 2922, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 121, EOLT_SYMBOL = 121, - ACCEPT_ACTION = 4714, - ERROR_ACTION = 5095; + ACCEPT_ACTION = 4677, + ERROR_ACTION = 5058; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java index e831a41d2fd..23b53f95f56 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java @@ -16,68 +16,68 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPNoCastExpressionParsersym { public final static int TK_asm = 61, - TK_auto = 48, + TK_auto = 49, TK_bool = 15, - TK_break = 77, - TK_case = 78, + TK_break = 78, + TK_case = 79, TK_catch = 119, TK_char = 16, - TK_class = 62, + TK_class = 63, TK_const = 46, - TK_const_cast = 31, - TK_continue = 79, - TK_default = 80, - TK_delete = 63, - TK_do = 81, + TK_const_cast = 32, + TK_continue = 80, + TK_default = 81, + TK_delete = 64, + TK_do = 82, TK_double = 17, - TK_dynamic_cast = 32, + TK_dynamic_cast = 33, TK_else = 122, - TK_enum = 68, - TK_explicit = 49, - TK_export = 82, + TK_enum = 69, + TK_explicit = 50, + TK_export = 75, TK_extern = 14, - TK_false = 33, + TK_false = 34, TK_float = 18, TK_for = 83, - TK_friend = 50, + TK_friend = 51, TK_goto = 84, TK_if = 85, - TK_inline = 51, + TK_inline = 52, TK_int = 19, TK_long = 20, - TK_mutable = 52, + TK_mutable = 53, TK_namespace = 60, - TK_new = 64, + TK_new = 65, TK_operator = 7, TK_private = 114, TK_protected = 115, TK_public = 116, - TK_register = 53, - TK_reinterpret_cast = 34, + TK_register = 54, + TK_reinterpret_cast = 35, TK_return = 86, TK_short = 21, TK_signed = 22, - TK_sizeof = 35, - TK_static = 54, - TK_static_cast = 36, - TK_struct = 69, + TK_sizeof = 36, + TK_static = 55, + TK_static_cast = 37, + TK_struct = 70, TK_switch = 87, - TK_template = 37, + TK_template = 31, TK_this = 38, TK_throw = 57, - TK_try = 75, + TK_try = 76, TK_true = 39, - TK_typedef = 55, + TK_typedef = 56, TK_typeid = 40, TK_typename = 10, - TK_union = 70, + TK_union = 71, TK_unsigned = 23, TK_using = 58, TK_virtual = 45, TK_void = 24, TK_volatile = 47, TK_wchar_t = 25, - TK_while = 76, + TK_while = 77, TK_integer = 41, TK_floating = 42, TK_charconst = 43, @@ -86,7 +86,7 @@ public interface CPPNoCastExpressionParsersym { TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 124, - TK_LeftBracket = 56, + TK_LeftBracket = 48, TK_LeftParen = 3, TK_LeftBrace = 59, TK_Dot = 120, @@ -106,7 +106,7 @@ public interface CPPNoCastExpressionParsersym { TK_RightShift = 88, TK_LeftShift = 89, TK_LT = 30, - TK_GT = 65, + TK_GT = 62, TK_LE = 93, TK_GE = 94, TK_EQ = 97, @@ -133,10 +133,10 @@ public interface CPPNoCastExpressionParsersym { TK_Comma = 66, TK_zero = 44, TK_RightBracket = 118, - TK_RightParen = 74, - TK_RightBrace = 71, + TK_RightParen = 73, + TK_RightBrace = 68, TK_SemiColon = 13, - TK_ERROR_TOKEN = 73, + TK_ERROR_TOKEN = 74, TK_original_namespace_name = 123, TK_EOF_TOKEN = 121; @@ -172,13 +172,13 @@ public interface CPPNoCastExpressionParsersym { "stringlit", "Bang", "LT", + "template", "const_cast", "dynamic_cast", "false", "reinterpret_cast", "sizeof", "static_cast", - "template", "this", "true", "typeid", @@ -189,6 +189,7 @@ public interface CPPNoCastExpressionParsersym { "virtual", "const", "volatile", + "LeftBracket", "auto", "explicit", "friend", @@ -197,25 +198,25 @@ public interface CPPNoCastExpressionParsersym { "register", "static", "typedef", - "LeftBracket", "throw", "using", "LeftBrace", "namespace", "asm", + "GT", "class", "delete", "new", - "GT", "Comma", "Assign", + "RightBrace", "enum", "struct", "union", - "RightBrace", "Colon", - "ERROR_TOKEN", "RightParen", + "ERROR_TOKEN", + "export", "try", "while", "break", @@ -223,7 +224,6 @@ public interface CPPNoCastExpressionParsersym { "continue", "default", "do", - "export", "for", "goto", "if", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java index 569504758bc..b23f1676cfa 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java @@ -1155,1101 +1155,1108 @@ public CPPNoFunctionDeclaratorParser(String[] mapFrom) { // constructor } // - // Rule 196: iteration_statement ::= while ( condition ) statement + // Rule 197: condition_opt ::= $Empty // - case 196: { action.builder. + case 197: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 198: iteration_statement ::= while ( condition ) statement + // + case 198: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 197: iteration_statement ::= do statement while ( expression ) ; + // Rule 199: iteration_statement ::= do statement while ( expression ) ; // - case 197: { action.builder. + case 199: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 198: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - case 198: { action.builder. - consumeStatementForLoop(); break; - } - - // - // Rule 199: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement - // - case 199: { action.builder. - consumeStatementForLoop(); break; - } - - // - // Rule 200: jump_statement ::= break ; + // Rule 200: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // case 200: { action.builder. + consumeStatementForLoop(); break; + } + + // + // Rule 202: for_init_statement ::= simple_declaration_with_declspec + // + case 202: { action.builder. + consumeStatementDeclaration(); break; + } + + // + // Rule 203: jump_statement ::= break ; + // + case 203: { action.builder. consumeStatementBreak(); break; } // - // Rule 201: jump_statement ::= continue ; + // Rule 204: jump_statement ::= continue ; // - case 201: { action.builder. + case 204: { action.builder. consumeStatementContinue(); break; } // - // Rule 202: jump_statement ::= return expression ; + // Rule 205: jump_statement ::= return expression ; // - case 202: { action.builder. + case 205: { action.builder. consumeStatementReturn(true); break; } // - // Rule 203: jump_statement ::= return ; + // Rule 206: jump_statement ::= return ; // - case 203: { action.builder. + case 206: { action.builder. consumeStatementReturn(false); break; } // - // Rule 204: jump_statement ::= goto identifier_token ; + // Rule 207: jump_statement ::= goto identifier_token ; // - case 204: { action.builder. + case 207: { action.builder. consumeStatementGoto(); break; } // - // Rule 205: declaration_statement ::= block_declaration + // Rule 208: declaration_statement ::= block_declaration // - case 205: { action.builder. + case 208: { action.builder. + consumeStatementDeclarationWithDisambiguation(); break; + } + + // + // Rule 209: declaration_statement ::= function_definition + // + case 209: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 206: declaration_statement ::= function_definition + // Rule 226: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; // - case 206: { action.builder. - consumeStatementDeclaration(); break; - } - - // - // Rule 223: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; - // - case 223: { action.builder. + case 226: { action.builder. consumeDeclarationSimple(true, true); break; } // - // Rule 224: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; + // Rule 227: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; // - case 224: { action.builder. + case 227: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 225: declaration_specifiers ::= simple_declaration_specifiers + // Rule 228: declaration_specifiers ::= simple_declaration_specifiers // - case 225: { action.builder. + case 228: { action.builder. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 226: declaration_specifiers ::= class_declaration_specifiers - // - case 226: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 227: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 227: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 228: declaration_specifiers ::= enum_declaration_specifiers - // - case 228: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 229: declaration_specifiers ::= type_name_declaration_specifiers + // Rule 229: declaration_specifiers ::= class_declaration_specifiers // case 229: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 230: declaration_specifiers ::= elaborated_declaration_specifiers + // + case 230: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 231: declaration_specifiers ::= enum_declaration_specifiers + // + case 231: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 232: declaration_specifiers ::= type_name_declaration_specifiers + // + case 232: { action.builder. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 230: declaration_specifiers_opt ::= $Empty + // Rule 233: declaration_specifiers_opt ::= $Empty // - case 230: { action.builder. + case 233: { action.builder. consumeEmpty(); break; } // - // Rule 235: no_type_declaration_specifier ::= friend + // Rule 238: no_type_declaration_specifier ::= friend // - case 235: { action.builder. + case 238: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 236: no_type_declaration_specifier ::= typedef + // Rule 239: no_type_declaration_specifier ::= typedef // - case 236: { action.builder. + case 239: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 256: storage_class_specifier ::= auto - // - case 256: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 257: storage_class_specifier ::= register - // - case 257: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 258: storage_class_specifier ::= static - // - case 258: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 259: storage_class_specifier ::= extern + // Rule 259: storage_class_specifier ::= auto // case 259: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 260: storage_class_specifier ::= mutable + // Rule 260: storage_class_specifier ::= register // case 260: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 261: function_specifier ::= inline + // Rule 261: storage_class_specifier ::= static // case 261: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 262: function_specifier ::= virtual + // Rule 262: storage_class_specifier ::= extern // case 262: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 263: function_specifier ::= explicit + // Rule 263: storage_class_specifier ::= mutable // case 263: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 264: simple_type_specifier ::= char + // Rule 264: function_specifier ::= inline // case 264: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 265: simple_type_specifier ::= wchar_t + // Rule 265: function_specifier ::= virtual // case 265: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 266: simple_type_specifier ::= bool + // Rule 266: function_specifier ::= explicit // case 266: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 267: simple_type_specifier ::= short + // Rule 267: simple_type_specifier ::= char // case 267: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 268: simple_type_specifier ::= int + // Rule 268: simple_type_specifier ::= wchar_t // case 268: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 269: simple_type_specifier ::= long + // Rule 269: simple_type_specifier ::= bool // case 269: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 270: simple_type_specifier ::= signed + // Rule 270: simple_type_specifier ::= short // case 270: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 271: simple_type_specifier ::= unsigned + // Rule 271: simple_type_specifier ::= int // case 271: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 272: simple_type_specifier ::= float + // Rule 272: simple_type_specifier ::= long // case 272: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 273: simple_type_specifier ::= double + // Rule 273: simple_type_specifier ::= signed // case 273: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 274: simple_type_specifier ::= void + // Rule 274: simple_type_specifier ::= unsigned // case 274: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 275: simple_type_specifier ::= float + // + case 275: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 276: simple_type_specifier ::= double + // + case 276: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 277: simple_type_specifier ::= void // case 277: { action.builder. - consumeQualifiedId(false); break; + consumeDeclSpecToken(); break; } // - // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name - // - case 278: { action.builder. - consumeQualifiedId(false); break; - } - - // - // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 279: { action.builder. - consumeQualifiedId(false); break; - } - - // - // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 280: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 280: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 281: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // + case 281: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 282: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // + case 282: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 283: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // + case 283: { action.builder. consumeQualifiedId(true); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name + // Rule 284: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name // - case 281: { action.builder. + case 284: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 282: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 285: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 282: { action.builder. + case 285: { action.builder. consumeTypeSpecifierElaborated(true); break; } // - // Rule 283: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name + // Rule 286: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name // - case 283: { action.builder. + case 286: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 284: enum_specifier ::= enum { enumerator_list_opt } + // Rule 287: enum_specifier ::= enum { enumerator_list_opt } // - case 284: { action.builder. + case 287: { action.builder. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 285: enum_specifier ::= enum identifier_token { enumerator_list_opt } + // Rule 288: enum_specifier ::= enum identifier_token { enumerator_list_opt } // - case 285: { action.builder. + case 288: { action.builder. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 290: enumerator_definition ::= identifier_token + // Rule 293: enumerator_definition ::= identifier_token // - case 290: { action.builder. + case 293: { action.builder. consumeEnumerator(false); break; } // - // Rule 291: enumerator_definition ::= identifier_token = constant_expression + // Rule 294: enumerator_definition ::= identifier_token = constant_expression // - case 291: { action.builder. + case 294: { action.builder. consumeEnumerator(true); break; } // - // Rule 297: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } + // Rule 300: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } // - case 297: { action.builder. + case 300: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 298: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } + // Rule 301: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } // - case 298: { action.builder. + case 301: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 299: unnamed_namespace_definition ::= namespace { declaration_seq_opt } + // Rule 302: unnamed_namespace_definition ::= namespace { declaration_seq_opt } // - case 299: { action.builder. + case 302: { action.builder. consumeNamespaceDefinition(false); break; } // - // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 300: { action.builder. + case 303: { action.builder. consumeNamespaceAliasDefinition(); break; } // - // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 304: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 301: { action.builder. + case 304: { action.builder. consumeUsingDeclaration(); break; } // - // Rule 302: typename_opt ::= typename + // Rule 305: typename_opt ::= typename // - case 302: { action.builder. + case 305: { action.builder. consumePlaceHolder(); break; } // - // Rule 303: typename_opt ::= $Empty + // Rule 306: typename_opt ::= $Empty // - case 303: { action.builder. + case 306: { action.builder. consumeEmpty(); break; } // - // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 307: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 304: { action.builder. + case 307: { action.builder. consumeUsingDirective(); break; } // - // Rule 305: asm_definition ::= asm ( stringlit ) ; + // Rule 308: asm_definition ::= asm ( stringlit ) ; // - case 305: { action.builder. + case 308: { action.builder. consumeDeclarationASM(); break; } // - // Rule 306: linkage_specification ::= extern stringlit { declaration_seq_opt } + // Rule 309: linkage_specification ::= extern stringlit { declaration_seq_opt } // - case 306: { action.builder. + case 309: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 307: linkage_specification ::= extern stringlit declaration + // Rule 310: linkage_specification ::= extern stringlit declaration // - case 307: { action.builder. + case 310: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 313: init_declarator ::= declarator initializer + // Rule 316: init_declarator ::= declarator initializer // - case 313: { action.builder. + case 316: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 315: declarator ::= ptr_operator_seq direct_declarator + // Rule 318: declarator ::= ptr_operator_seq direct_declarator // - case 315: { action.builder. + case 318: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 317: function_declarator ::= ptr_operator_seq direct_declarator - // - case 317: { action.builder. - consumeDeclaratorWithPointer(true); break; - } - - // - // Rule 320: basic_direct_declarator ::= declarator_id_name + // Rule 320: function_declarator ::= ptr_operator_seq direct_declarator // case 320: { action.builder. + consumeDeclaratorWithPointer(true); break; + } + + // + // Rule 323: basic_direct_declarator ::= declarator_id_name + // + case 323: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 321: basic_direct_declarator ::= ( declarator ) + // Rule 324: basic_direct_declarator ::= ( declarator ) // - case 321: { action.builder. + case 324: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 322: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 325: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 322: { action.builder. + case 325: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier // - case 323: { action.builder. + case 326: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 324: { action.builder. + case 327: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 325: array_modifier ::= [ constant_expression ] + // Rule 328: array_modifier ::= [ constant_expression ] // - case 325: { action.builder. + case 328: { action.builder. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 326: array_modifier ::= [ ] + // Rule 329: array_modifier ::= [ ] // - case 326: { action.builder. + case 329: { action.builder. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 327: ptr_operator ::= * cv_qualifier_seq_opt + // Rule 330: ptr_operator ::= * cv_qualifier_seq_opt // - case 327: { action.builder. + case 330: { action.builder. consumePointer(); break; } // - // Rule 328: ptr_operator ::= & + // Rule 331: ptr_operator ::= & // - case 328: { action.builder. + case 331: { action.builder. consumeReferenceOperator(); break; } // - // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt + // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt // - case 329: { action.builder. + case 332: { action.builder. consumePointerToMember(); break; } // - // Rule 335: cv_qualifier ::= const - // - case 335: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 336: cv_qualifier ::= volatile - // - case 336: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 338: declarator_id_name ::= nested_name_specifier template_opt unqualified_id_name + // Rule 338: cv_qualifier ::= const // case 338: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 339: cv_qualifier ::= volatile + // + case 339: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 341: declarator_id_name ::= nested_name_specifier template_opt unqualified_id_name + // + case 341: { action.builder. consumeQualifiedId(true); break; } // - // Rule 339: type_id ::= type_specifier_seq + // Rule 342: type_id ::= type_specifier_seq // - case 339: { action.builder. + case 342: { action.builder. consumeTypeId(false); break; } // - // Rule 340: type_id ::= type_specifier_seq abstract_declarator + // Rule 343: type_id ::= type_specifier_seq abstract_declarator // - case 340: { action.builder. + case 343: { action.builder. consumeTypeId(true); break; } // - // Rule 343: abstract_declarator ::= ptr_operator_seq + // Rule 346: abstract_declarator ::= ptr_operator_seq // - case 343: { action.builder. + case 346: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 344: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator + // Rule 347: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator // - case 344: { action.builder. + case 347: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 348: { action.builder. + case 351: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 349: array_direct_abstract_declarator ::= array_modifier + // Rule 352: array_direct_abstract_declarator ::= array_modifier // - case 349: { action.builder. + case 352: { action.builder. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 350: { action.builder. + case 353: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 351: { action.builder. + case 354: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 352: { action.builder. + case 355: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 353: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 356: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 353: { action.builder. + case 356: { action.builder. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 354: { action.builder. + case 357: { action.builder. consumePlaceHolder(); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 355: { action.builder. + case 358: { action.builder. consumeEmpty(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 356: { action.builder. + case 359: { action.builder. consumePlaceHolder(); break; } // - // Rule 362: abstract_declarator_opt ::= $Empty + // Rule 365: abstract_declarator_opt ::= $Empty // - case 362: { action.builder. + case 365: { action.builder. consumeEmpty(); break; } // - // Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 363: { action.builder. + case 366: { action.builder. consumeParameterDeclaration(); break; } // - // Rule 364: parameter_declaration ::= declaration_specifiers + // Rule 367: parameter_declaration ::= declaration_specifiers // - case 364: { action.builder. + case 367: { action.builder. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 366: parameter_init_declarator ::= declarator = parameter_initializer - // - case 366: { action.builder. - consumeDeclaratorWithInitializer(true); break; - } - - // - // Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 368: { action.builder. - consumeDeclaratorWithInitializer(true); break; - } - - // - // Rule 369: parameter_init_declarator ::= = parameter_initializer + // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer // case 369: { action.builder. + consumeDeclaratorWithInitializer(true); break; + } + + // + // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // + case 371: { action.builder. + consumeDeclaratorWithInitializer(true); break; + } + + // + // Rule 372: parameter_init_declarator ::= = parameter_initializer + // + case 372: { action.builder. consumeDeclaratorWithInitializer(false); break; } // - // Rule 370: parameter_initializer ::= assignment_expression + // Rule 373: parameter_initializer ::= assignment_expression // - case 370: { action.builder. + case 373: { action.builder. consumeInitializer(); break; } // - // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body + // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body // - case 371: { action.builder. + case 374: { action.builder. consumeFunctionDefinition(false); break; } // - // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq + // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq // - case 372: { action.builder. + case 375: { action.builder. consumeFunctionDefinition(true); break; } // - // Rule 375: initializer ::= ( expression_list ) + // Rule 378: initializer ::= ( expression_list ) // - case 375: { action.builder. + case 378: { action.builder. consumeInitializerConstructor(); break; } // - // Rule 376: initializer_clause ::= assignment_expression + // Rule 379: initializer_clause ::= assignment_expression // - case 376: { action.builder. + case 379: { action.builder. consumeInitializer(); break; } // - // Rule 377: initializer_clause ::= { initializer_list , } + // Rule 380: initializer_clause ::= { initializer_list , } // - case 377: { action.builder. + case 380: { action.builder. consumeInitializerList(); break; } // - // Rule 378: initializer_clause ::= { initializer_list } + // Rule 381: initializer_clause ::= { initializer_list } // - case 378: { action.builder. + case 381: { action.builder. consumeInitializerList(); break; } // - // Rule 379: initializer_clause ::= { } + // Rule 382: initializer_clause ::= { } // - case 379: { action.builder. + case 382: { action.builder. consumeInitializerList(); break; } // - // Rule 384: class_specifier ::= class_head { member_declaration_list_opt } + // Rule 387: class_specifier ::= class_head { member_declaration_list_opt } // - case 384: { action.builder. + case 387: { action.builder. consumeClassSpecifier(); break; } // - // Rule 385: class_head ::= class_keyword identifier_name_opt base_clause_opt - // - case 385: { action.builder. - consumeClassHead(false); break; - } - - // - // Rule 386: class_head ::= class_keyword template_id_name base_clause_opt - // - case 386: { action.builder. - consumeClassHead(false); break; - } - - // - // Rule 387: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt - // - case 387: { action.builder. - consumeClassHead(true); break; - } - - // - // Rule 388: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt + // Rule 388: class_head ::= class_keyword identifier_name_opt base_clause_opt // case 388: { action.builder. + consumeClassHead(false); break; + } + + // + // Rule 389: class_head ::= class_keyword template_id_name base_clause_opt + // + case 389: { action.builder. + consumeClassHead(false); break; + } + + // + // Rule 390: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt + // + case 390: { action.builder. consumeClassHead(true); break; } // - // Rule 390: identifier_name_opt ::= $Empty + // Rule 391: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt // - case 390: { action.builder. + case 391: { action.builder. + consumeClassHead(true); break; + } + + // + // Rule 393: identifier_name_opt ::= $Empty + // + case 393: { action.builder. consumeEmpty(); break; } // - // Rule 394: visibility_label ::= access_specifier_keyword : + // Rule 397: visibility_label ::= access_specifier_keyword : // - case 394: { action.builder. + case 397: { action.builder. consumeVisibilityLabel(); break; } // - // Rule 395: member_declaration ::= declaration_specifiers_opt member_declarator_list ; + // Rule 398: member_declaration ::= declaration_specifiers_opt member_declarator_list ; // - case 395: { action.builder. + case 398: { action.builder. consumeDeclarationSimple(true, true); break; } // - // Rule 396: member_declaration ::= declaration_specifiers_opt ; + // Rule 399: member_declaration ::= declaration_specifiers_opt ; // - case 396: { action.builder. + case 399: { action.builder. consumeDeclarationSimple(false, false); break; } // - // Rule 399: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 402: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 399: { action.builder. + case 402: { action.builder. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 403: member_declaration ::= ERROR_TOKEN + // Rule 406: member_declaration ::= ERROR_TOKEN // - case 403: { action.builder. + case 406: { action.builder. consumeDeclarationProblem(); break; } // - // Rule 411: member_declarator ::= declarator constant_initializer + // Rule 414: member_declarator ::= declarator constant_initializer // - case 411: { action.builder. + case 414: { action.builder. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 412: member_declarator ::= bit_field_declarator : constant_expression + // Rule 415: member_declarator ::= bit_field_declarator : constant_expression // - case 412: { action.builder. + case 415: { action.builder. consumeBitField(true); break; } // - // Rule 413: member_declarator ::= : constant_expression + // Rule 416: member_declarator ::= : constant_expression // - case 413: { action.builder. + case 416: { action.builder. consumeBitField(false); break; } // - // Rule 414: bit_field_declarator ::= identifier_name + // Rule 417: bit_field_declarator ::= identifier_name // - case 414: { action.builder. + case 417: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 415: constant_initializer ::= = constant_expression + // Rule 418: constant_initializer ::= = constant_expression // - case 415: { action.builder. + case 418: { action.builder. consumeInitializer(); break; } // - // Rule 421: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 424: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 421: { action.builder. + case 424: { action.builder. consumeBaseSpecifier(false, false); break; } // - // Rule 422: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 425: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 422: { action.builder. + case 425: { action.builder. consumeBaseSpecifier(true, true); break; } // - // Rule 423: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 426: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 423: { action.builder. + case 426: { action.builder. consumeBaseSpecifier(true, true); break; } // - // Rule 424: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 427: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 424: { action.builder. + case 427: { action.builder. consumeBaseSpecifier(true, false); break; } // - // Rule 425: access_specifier_keyword ::= private + // Rule 428: access_specifier_keyword ::= private // - case 425: { action.builder. + case 428: { action.builder. consumeAccessKeywordToken(); break; } // - // Rule 426: access_specifier_keyword ::= protected - // - case 426: { action.builder. - consumeAccessKeywordToken(); break; - } - - // - // Rule 427: access_specifier_keyword ::= public - // - case 427: { action.builder. - consumeAccessKeywordToken(); break; - } - - // - // Rule 429: access_specifier_keyword_opt ::= $Empty + // Rule 429: access_specifier_keyword ::= protected // case 429: { action.builder. + consumeAccessKeywordToken(); break; + } + + // + // Rule 430: access_specifier_keyword ::= public + // + case 430: { action.builder. + consumeAccessKeywordToken(); break; + } + + // + // Rule 432: access_specifier_keyword_opt ::= $Empty + // + case 432: { action.builder. consumeEmpty(); break; } // - // Rule 430: conversion_function_id_name ::= operator conversion_type_id + // Rule 433: conversion_function_id_name ::= operator conversion_type_id // - case 430: { action.builder. + case 433: { action.builder. consumeConversionName(); break; } // - // Rule 431: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 434: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 431: { action.builder. + case 434: { action.builder. consumeTypeId(true); break; } // - // Rule 432: conversion_type_id ::= type_specifier_seq + // Rule 435: conversion_type_id ::= type_specifier_seq // - case 432: { action.builder. + case 435: { action.builder. consumeTypeId(false); break; } // - // Rule 433: conversion_declarator ::= ptr_operator_seq + // Rule 436: conversion_declarator ::= ptr_operator_seq // - case 433: { action.builder. + case 436: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 439: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 442: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 439: { action.builder. + case 442: { action.builder. consumeConstructorChainInitializer(); break; } // - // Rule 440: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 443: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 440: { action.builder. + case 443: { action.builder. consumeQualifiedId(false); break; } // - // Rule 443: operator_function_id_name ::= operator_id_name < template_argument_list_opt > + // Rule 446: operator_function_id_name ::= operator_id_name < template_argument_list_opt > // - case 443: { action.builder. + case 446: { action.builder. consumeTemplateId(); break; } // - // Rule 444: operator_id_name ::= operator overloadable_operator + // Rule 447: operator_id_name ::= operator overloadable_operator // - case 444: { action.builder. + case 447: { action.builder. consumeOperatorName(); break; } // - // Rule 487: template_declaration ::= export_opt template < template_parameter_list > declaration + // Rule 490: template_declaration ::= export_opt template < template_parameter_list > declaration // - case 487: { action.builder. + case 490: { action.builder. consumeTemplateDeclaration(); break; } // - // Rule 488: export_opt ::= export + // Rule 491: export_opt ::= export // - case 488: { action.builder. + case 491: { action.builder. consumePlaceHolder(); break; } // - // Rule 489: export_opt ::= $Empty + // Rule 492: export_opt ::= $Empty // - case 489: { action.builder. + case 492: { action.builder. consumeEmpty(); break; } // - // Rule 493: template_parameter ::= parameter_declaration + // Rule 496: template_parameter ::= parameter_declaration // - case 493: { action.builder. + case 496: { action.builder. consumeTemplateParamterDeclaration(); break; } // - // Rule 494: type_parameter ::= class identifier_name_opt - // - case 494: { action.builder. - consumeSimpleTypeTemplateParameter(false); break; - } - - // - // Rule 495: type_parameter ::= class identifier_name_opt = type_id - // - case 495: { action.builder. - consumeSimpleTypeTemplateParameter(true); break; - } - - // - // Rule 496: type_parameter ::= typename identifier_name_opt - // - case 496: { action.builder. - consumeSimpleTypeTemplateParameter(false); break; - } - - // - // Rule 497: type_parameter ::= typename identifier_name_opt = type_id + // Rule 497: type_parameter ::= class identifier_name_opt // case 497: { action.builder. + consumeSimpleTypeTemplateParameter(false); break; + } + + // + // Rule 498: type_parameter ::= class identifier_name_opt = type_id + // + case 498: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 498: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // Rule 499: type_parameter ::= typename identifier_name_opt // - case 498: { action.builder. + case 499: { action.builder. + consumeSimpleTypeTemplateParameter(false); break; + } + + // + // Rule 500: type_parameter ::= typename identifier_name_opt = type_id + // + case 500: { action.builder. + consumeSimpleTypeTemplateParameter(true); break; + } + + // + // Rule 501: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // + case 501: { action.builder. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 499: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression + // Rule 502: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression // - case 499: { action.builder. + case 502: { action.builder. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 500: template_id_name ::= identifier_name < template_argument_list_opt > + // Rule 503: template_id_name ::= identifier_name < template_argument_list_opt > // - case 500: { action.builder. + case 503: { action.builder. consumeTemplateId(); break; } // - // Rule 508: explicit_instantiation ::= template declaration + // Rule 511: explicit_instantiation ::= template declaration // - case 508: { action.builder. + case 511: { action.builder. consumeTemplateExplicitInstantiation(); break; } // - // Rule 509: explicit_specialization ::= template < > declaration + // Rule 512: explicit_specialization ::= template < > declaration // - case 509: { action.builder. + case 512: { action.builder. consumeTemplateExplicitSpecialization(); break; } // - // Rule 510: try_block ::= try compound_statement handler_seq + // Rule 513: try_block ::= try compound_statement handler_seq // - case 510: { action.builder. + case 513: { action.builder. consumeStatementTryBlock(); break; } // - // Rule 513: handler ::= catch ( exception_declaration ) compound_statement + // Rule 516: handler ::= catch ( exception_declaration ) compound_statement // - case 513: { action.builder. + case 516: { action.builder. consumeStatementCatchHandler(false); break; } // - // Rule 514: handler ::= catch ( ... ) compound_statement + // Rule 517: handler ::= catch ( ... ) compound_statement // - case 514: { action.builder. + case 517: { action.builder. consumeStatementCatchHandler(true); break; } // - // Rule 515: exception_declaration ::= type_specifier_seq declarator + // Rule 518: exception_declaration ::= type_specifier_seq declarator // - case 515: { action.builder. + case 518: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 516: exception_declaration ::= type_specifier_seq abstract_declarator + // Rule 519: exception_declaration ::= type_specifier_seq abstract_declarator // - case 516: { action.builder. + case 519: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 517: exception_declaration ::= type_specifier_seq + // Rule 520: exception_declaration ::= type_specifier_seq // - case 517: { action.builder. + case 520: { action.builder. consumeDeclarationSimple(false, false); break; } // - // Rule 525: no_function_declarator_start ::= ERROR_TOKEN + // Rule 528: no_function_declarator_start ::= ERROR_TOKEN // - case 525: { action.builder. + case 528: { action.builder. consumeDeclarationProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java index b6bd2c641b3..c0f4c3c2c38 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java @@ -56,447 +56,445 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 3,1,2,1,3,1,0,1,0,1, 1,0,1,1,1,1,1,1,1,1, 1,3,3,2,2,1,4,2,1,2, - 5,7,5,1,4,5,7,9,8,2, - 2,3,2,3,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,0, - 1,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, + 5,7,5,1,4,1,0,5,7,8, + 1,1,2,2,3,2,3,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3,4,4,5, - 4,5,4,5,6,1,3,1,0,1, - 3,1,1,1,1,1,6,6,5,7, - 6,1,0,6,5,6,4,1,3,1, - 0,1,2,1,3,1,3,1,1,1, - 3,9,2,2,3,2,3,1,5,1, - 2,2,1,0,1,1,1,4,1,2, - 1,1,2,3,1,1,1,3,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,5,4,3,1, - 3,1,1,5,4,4,5,5,1,0, - 1,1,1,2,4,2,2,1,5,1, - 1,1,1,1,2,1,0,1,3,1, - 2,3,2,1,2,2,1,0,1,3, - 3,5,5,4,1,1,1,1,0,2, - 2,1,2,2,1,0,1,3,4,3, - 1,1,5,2,1,1,3,3,1,1, + 1,1,2,1,0,4,4,2,2,2, + 2,2,0,1,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,3, + 4,4,5,4,5,4,5,6,1,3, + 1,0,1,3,1,1,1,1,1,6, + 6,5,7,6,1,0,6,5,6,4, + 1,3,1,0,1,2,1,3,1,3, + 1,1,1,3,9,2,2,3,2,3, + 1,5,1,2,2,1,0,1,1,1, + 4,1,2,1,1,2,3,1,1,1, + 3,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,5, + 4,3,1,3,1,1,5,4,4,5, + 5,1,0,1,1,1,2,4,2,2, + 1,5,1,1,1,1,1,2,1,0, + 1,3,1,2,3,2,1,2,2,1, + 0,1,3,3,5,5,4,1,1,1, + 1,0,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,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,1,2,4,4, - 1,2,5,5,3,3,1,4,3,1, - 0,1,3,1,1,1,-104,0,0,0, - -2,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-16,0, - 0,0,0,-19,0,0,0,0,0,0, - 0,0,0,-426,-257,0,0,-110,0,0, - 0,-23,0,0,0,0,0,0,0,-7, - -130,0,0,0,0,0,0,0,0,0, + 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,1, + 2,4,4,1,2,5,5,3,3,1, + 4,3,1,0,1,3,1,1,1,-104, + 0,0,0,-2,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-410,0,0, - 0,0,0,0,0,-9,0,0,0,-296, - 0,-47,0,0,0,0,0,0,0,0, + 0,-7,0,0,0,0,0,0,0,-16, + 0,-41,0,0,0,0,0,-257,0,0, + -192,0,0,0,-10,0,0,0,0,0, + 0,0,-17,-132,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-518,0,0, - 0,0,0,0,0,0,0,0,0,-10, - 0,-226,0,0,0,-440,0,0,0,0, - 0,0,-72,0,0,0,0,0,0,0, + 0,0,0,0,0,-18,0,0,0,0, + 0,0,0,-99,0,0,0,0,-9,0, + 0,0,0,-3,-46,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-110, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-175,0,0,-3,0,0,-284, - -17,0,0,0,0,0,-70,0,0,0, - 0,0,0,0,0,0,-18,0,-87,0, + 0,-153,0,0,0,-175,0,-106,0,0, + 0,0,0,0,-72,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-99, - 0,0,0,0,0,0,0,0,0,-300, - 0,0,-153,0,0,0,-225,0,0,-48, + 0,0,0,0,-328,0,-12,0,-107,0, + 0,0,0,0,0,0,-71,0,-70,0, + 0,0,-300,0,0,0,0,0,0,0, + -87,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-168,0,-217,0,0,0,0,0,0, + -19,0,0,0,0,0,0,-80,0,0, + 0,0,0,0,-228,0,0,0,0,0, + 0,-515,0,0,0,0,0,0,0,0, + 0,0,0,-24,0,0,-43,0,0,0, + 0,0,0,0,-217,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -98,0,0,0,0,0,0,0,0,0, - 0,-28,0,0,0,0,0,-43,0,0, - 0,-246,-24,0,0,0,0,0,0,-91, + 0,0,0,0,-25,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-340,0, + 0,0,-235,0,0,0,0,0,-321,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,0,0,0,0,0,0, - 0,0,0,0,0,0,-283,0,0,0, + -22,0,-68,0,0,0,0,0,-26,0, + 0,-47,0,0,0,-317,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -49,0,0,0,-25,0,0,0,0,0, + 0,0,0,-84,0,0,0,-230,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-26,0,0,-230,0,0, + 0,0,0,0,0,0,0,0,0,-23, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-27, - 0,0,0,0,-13,0,0,0,0,0, - 0,-20,0,0,-4,0,0,0,-111,0, - 0,0,-477,0,0,0,0,0,0,0, - -189,0,-36,0,0,-14,0,0,0,0, + 0,0,0,0,0,0,0,0,-111,0, 0,0,0,0,0,0,0,0,0,0, + -221,0,-358,0,0,-14,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-5,0,0,0,-75,0,0,0, - 0,0,0,0,0,0,-190,0,0,0, - 0,-37,0,0,0,0,0,-481,0,0, - 0,0,-38,0,0,0,0,-34,0,0, + 0,0,0,0,0,0,0,-27,0,0, + 0,0,0,0,0,-246,0,-83,0,0, + 0,0,0,-36,0,0,-194,0,0,0, + -37,0,0,0,0,0,0,0,0,0, + -426,0,-155,0,0,0,-34,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-39, + 0,0,0,0,0,0,0,0,-334,0, + 0,0,0,0,0,0,0,0,-296,0, + -85,0,0,0,0,0,0,-190,0,0, + 0,0,0,0,0,0,0,0,-86,0, + -375,0,0,0,-308,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-40,0,0,-42,0,0,0,-350,0, - 0,0,-228,0,0,0,0,0,-22,-106, - 0,0,0,0,0,-308,0,0,0,0, + 0,0,0,0,0,0,-38,0,0,0, + 0,0,0,0,0,0,-73,0,-254,0, + 0,0,0,0,0,-344,0,0,0,0, 0,0,0,0,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,-321, - 0,0,0,0,0,0,0,-344,0,0, - 0,-55,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-56, - 0,0,0,0,0,0,0,0,-57,0, - 0,-386,0,0,-32,0,0,0,0,-68, - -345,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-178,0,0, + 0,0,0,0,0,0,0,-39,-345,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-151,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-400,0,0, - 0,-15,0,0,0,-107,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-35,0, + 0,0,0,0,0,0,0,0,-28,0, + -40,0,0,0,0,0,0,0,0,-15, 0,0,0,0,0,0,0,0,0,0, - 0,-235,0,0,0,-478,-66,0,0,0, - -58,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-283, + 0,-42,0,0,0,0,0,0,-66,0, + 0,0,-4,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-85,0,0,-86,-133,0, + -55,0,0,0,0,0,0,0,0,0, + -350,0,-32,0,0,-35,0,0,0,0, + 0,-56,-6,0,0,0,-133,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,0,0,0,0, - 0,0,-59,0,0,-29,0,0,0,-134, - 0,0,0,-60,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-386,0, + -330,0,0,0,0,0,0,-134,0,0, + 0,-57,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-58, + 0,0,0,0,0,0,0,0,0,-400, + 0,0,0,0,0,-5,0,0,-135,0, + 0,0,-59,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-61,0,0,0,0,0,0,0,0, + -60,0,0,0,0,0,0,0,-61,0, + -410,0,0,0,0,0,-180,0,0,-136, + 0,0,0,-62,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -135,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-41,0,0,0,0,0,0,0, - 0,-62,0,0,-152,0,0,-33,0,0, - 0,-136,0,0,0,-63,0,0,0,0, + 0,-477,0,-152,0,0,0,0,0,0, + -137,0,0,0,-63,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,-354,0,0,0,0,0,-187,-180, - 0,0,-137,0,0,0,-65,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-83,0,0,0,0,0, - 0,0,0,-67,0,0,-154,0,0,-101, - 0,0,0,-138,0,0,0,-69,0,0, + 0,0,-476,0,-154,0,0,0,0,0, + 0,-138,0,0,0,-187,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-156,0,0, - -102,0,0,0,-139,0,0,0,-76,0, + 0,-156,0,-185,0,0,0,0,0,-64, + 0,0,-139,0,0,0,-196,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-88,0,0,-159,0, - 0,-196,0,0,0,-140,0,0,0,-90, + 0,0,0,0,0,0,-159,0,0,0, + 0,0,0,-140,0,0,0,-65,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-100,0,0, - 0,0,-165,0,0,0,0,0,0,-109, - 0,0,-169,-181,0,0,-141,0,0,0, - -146,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-148,0, 0,0,0,0,0,0,0,0,0,0, - -219,0,0,-170,0,0,0,-142,0,0, - 0,-149,0,0,0,0,0,0,0,0, + 0,0,0,-165,0,0,0,0,0,0, + -67,-181,0,0,-141,0,0,0,-69,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-150,0, - 0,-220,0,0,-176,0,0,0,-143,0, - 0,0,-157,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -158,0,0,0,0,0,0,0,0,-163, - 0,0,-224,0,0,-353,0,0,0,-167, - 0,0,0,-164,0,0,0,0,0,0, + 0,0,0,0,-219,0,-290,0,0,0, + 0,0,-406,0,0,-142,0,0,0,-76, 0,0,0,0,0,0,0,0,0,0, - 0,-185,0,0,0,0,0,0,0,0, - -171,0,0,-240,0,0,-191,0,0,0, - -251,0,0,0,-172,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-173,0,0,0,0,0,0,0, - 0,0,0,0,-245,0,0,-195,0,0, - 0,-511,0,0,0,-174,0,0,0,0, + 0,0,0,0,0,-220,0,-295,0,0, + 0,0,0,-88,0,0,-143,0,0,0, + -90,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-506,0, + 0,0,0,0,0,0,-224,0,-338,0, + 0,0,0,0,-100,0,0,-167,0,0, + 0,-353,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-507, + 0,0,0,0,0,0,0,-240,0,-339, + 0,0,0,0,0,0,0,0,-251,0, + 0,0,-372,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-182,0,0,0,0,0,0, - 0,0,-183,0,0,-184,0,0,-238,-252, - 0,0,-299,0,0,0,-254,0,0,0, + 0,0,0,0,0,0,0,0,-245,0, + 0,0,0,0,0,-354,0,0,0,-509, + 0,0,0,-109,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-197,0,0,0,0,0, - 0,0,0,-198,0,0,-199,0,0,-332, + 0,-146,0,0,0,0,0,0,0,-291, + 0,0,0,0,0,0,-440,-168,0,0, + -299,0,0,0,-242,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-148,0,0,0,0,0,0,0, + -307,0,-149,0,0,0,0,-332,0,0, + 0,-355,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-291,0,0,0, - 0,0,0,-317,0,0,-192,0,0,0, - -247,0,0,0,0,0,0,0,-200,-352, 0,0,0,0,0,0,0,0,0,0, + 0,-150,0,0,-324,0,0,0,0,-157, + 0,0,0,0,-226,0,0,-352,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-307,0,0,0, - 0,0,0,-330,0,0,-362,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-290,0, - 0,0,0,0,0,0,0,-201,0,0, - 0,0,0,-194,0,0,0,-275,0,0, - 0,0,0,0,0,-202,-363,0,0,0, + 0,0,0,0,0,0,0,-316,0,-377, + 0,0,0,0,-362,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-252,0,0,0, + 0,0,0,0,-325,0,0,0,0,0, + 0,-357,0,0,0,-421,0,0,0,0, + 0,-236,0,0,-363,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-203,0,0,0,0,0,0, - 0,0,0,-413,0,0,0,0,0,0, + 0,0,0,0,0,0,-415,0,0,0, + 0,0,0,0,-158,0,-423,0,0,0, + 0,-413,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-295,0,0,0,0, - 0,0,0,0,-204,0,0,-406,0,0, - -324,0,0,0,-282,-372,0,0,0,0, - -236,0,0,-145,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-327,0,0,0,0,0,0,-499,-365, + 0,0,0,-263,0,0,0,-384,0,0, + 0,-145,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -316,0,0,0,0,0,0,-222,0,0, - -132,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-71,0,0,0,0,-242,0,0, - 0,0,0,-131,0,0,0,-205,0,0, + 0,0,0,-359,0,-405,0,0,-130,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-206,0,0,0,0, - 0,0,0,-127,0,0,0,-207,0,0, 0,0,0,0,0,0,0,0,0,0, + -163,0,0,0,0,0,0,0,-131,0, + 0,0,-164,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,0,0,0,0,0,0,-127,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-265,0,0,0,0,-129, - 0,0,0,-250,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-171, + 0,0,0,0,0,-128,0,0,0,-172, 0,0,0,0,0,0,0,0,0,0, - 0,-334,0,0,0,0,-21,0,0,0, - -298,0,0,0,-121,0,0,0,0,0, + 0,0,0,0,0,0,0,-265,0,0, + 0,0,-129,0,0,0,-250,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-173,0,0,0,0,-21, + 0,0,0,-298,0,-174,0,-121,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-89,-122,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-116,0, + 0,0,0,0,-89,-122,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -355,0,0,0,0,-78,0,0,0,0, - 0,-50,0,0,0,0,0,0,0,0, + 0,-116,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-208,0, - -209,0,-263,0,0,0,0,0,0,0, - -103,-405,0,0,0,-288,0,0,0,0, - 0,0,-123,0,0,0,-210,0,0,0, + 0,0,0,-182,0,0,0,0,-78,0, + 0,0,0,0,-31,0,0,0,0,-385, + 0,0,0,-162,0,0,0,-183,-225,0, + -184,-222,0,0,0,0,0,0,0,-360, + 0,0,0,0,0,-487,0,0,0,0, + 0,0,0,0,-29,0,0,0,0,0, + 0,0,0,0,-123,0,0,0,-288,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -124,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-394,0,0,0,0,-379,0,-239, + -33,0,0,0,0,-268,0,0,0,-447, + -197,0,-198,0,0,-74,-45,0,0,0, + -199,0,0,-200,-280,0,0,0,0,0, + 0,0,0,-201,-264,0,0,0,0,0, + 0,0,0,0,0,-202,0,0,-411,0, + 0,-203,0,0,0,0,-284,0,0,0, + 0,0,-204,0,0,0,0,0,0,0, + 0,0,0,0,-503,0,0,0,0,-113, + 0,0,0,0,-205,0,0,0,0,0, + -206,-462,0,0,0,0,0,0,0,0, + 0,0,0,0,-207,0,0,0,0,0, + 0,-335,0,0,-348,0,0,0,0,0, + 0,0,0,0,0,0,-160,0,0,0, + -249,0,0,0,-101,0,0,0,-208,0, + 0,0,0,0,-258,0,0,0,0,-209, + 0,0,0,0,0,-479,0,-312,0,0, + 0,0,0,-210,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-438,0, + 0,0,-103,0,0,0,0,0,-211,-20, + 0,0,-75,0,0,0,-212,0,0,0, + 0,0,-223,0,0,0,0,0,-403,0, + 0,0,0,0,0,0,0,0,-213,-484, + 0,0,0,0,-179,0,-13,-368,0,0, + 0,0,-214,0,0,0,0,0,0,0, + 0,0,-215,-144,0,-387,0,0,0,0, + 0,-186,0,0,0,0,0,-166,0,0, + -260,0,0,0,0,0,-231,0,0,0, + 0,0,-261,0,0,0,0,0,0,0, + 0,0,0,-485,0,0,0,0,-102,0, + 0,-151,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-395,0,0,-424, + -232,0,0,0,0,0,0,0,0,0, + 0,-98,0,0,0,0,-189,0,0,0, + 0,0,0,0,0,0,-97,0,0,0, + -161,0,0,0,-233,-112,0,0,0,0, + 0,0,-465,0,0,0,0,0,0,0, + -169,0,0,0,0,0,0,0,0,-370, + 0,0,0,-450,0,0,0,0,0,-425, + 0,0,0,0,0,-378,0,0,-125,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-126,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-419,0,0,-237,0, + -234,0,0,0,-396,0,0,0,-241,0, + 0,0,-227,0,0,-218,-255,0,-269,0, + 0,-451,0,-482,-500,0,-77,0,0,0, + -390,-346,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-444,0,0,0,0,0,-459,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-170,0,-248,0,0,0, + 0,0,0,-176,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-211,0,0,0,-124,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -394,0,0,0,0,0,0,-77,0,-429, - -80,0,-325,0,-259,0,0,-327,0,0, - -221,0,0,-268,0,0,0,0,-280,0, - 0,0,0,0,0,0,0,0,0,-411, - 0,0,-223,0,0,0,0,0,0,0, - 0,0,0,-281,0,0,0,0,0,0, - 0,0,-377,-212,0,0,0,-216,0,0, - 0,0,0,0,0,0,0,0,-462,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-338,0,0,0,0,0,-335,0, - 0,0,0,-147,0,0,0,0,0,0, - 0,0,0,0,0,-328,0,-249,0,0, - 0,-260,0,0,0,0,0,0,0,0, - 0,0,0,-84,0,0,0,0,-155,0, - 0,0,-480,0,0,0,0,-262,-415,-421, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-425,0,0,-501,-301, - 0,0,0,0,0,0,-227,0,0,0, - 0,0,0,-302,-213,0,0,0,0,0, - 0,0,0,0,0,-214,0,0,0,0, - 0,-215,-160,0,0,0,-485,0,-79,0, - 0,-179,-231,-12,0,0,0,-303,0,0, - 0,0,0,0,0,0,0,0,0,-304, - -339,0,0,0,-112,0,0,-239,0,0, - -232,0,0,0,0,0,0,-314,0,0, - 0,0,0,0,0,0,0,0,-93,0, - 0,0,0,0,-233,-508,0,-237,0,0, - -486,0,0,0,0,-509,0,0,0,-359, - 0,0,-234,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-186,0,0, - 0,0,0,0,0,0,0,0,-255,0, - 0,-256,0,0,0,0,0,0,0,0, - 0,0,0,0,-348,-266,0,0,0,0, - 0,0,0,0,-267,0,0,0,0,0, - -286,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-264,0,0,0, - 0,0,0,-357,0,0,0,-74,-273,0, - 0,0,0,0,0,-125,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-274,0,0, - -126,0,0,0,-276,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-419,0,0,0,0,-81,-403,0, - 0,0,0,0,0,0,0,0,-278,-423, - -360,0,0,-166,0,0,-368,-341,-113,0, - 0,-438,0,0,0,0,0,-483,-229,0, - 0,-444,-343,-285,-378,0,0,0,0,0, - 0,0,0,0,-289,0,0,0,0,0, - 0,0,0,0,-465,0,0,-261,0,0, - 0,0,0,0,0,0,0,0,0,0, - -493,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-293,0,0, - 0,0,0,-287,0,0,0,0,-294,0, - 0,0,0,0,0,0,0,0,0,-495, - 0,0,-309,0,0,0,0,0,0,0, - 0,0,-310,-318,-422,0,0,0,0,0, - 0,0,-315,0,0,0,0,-322,0,0, - 0,0,0,0,0,0,0,0,-500,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-144,-323,-502,0,0,0,0, - 0,-331,0,0,0,0,-342,0,0,0, - 0,0,0,0,0,0,0,-519,0,-333, - 0,0,0,0,0,0,0,0,0,0, - -387,0,-269,-349,0,0,0,0,-369,0, - -395,0,0,-373,0,0,0,0,0,0, - 0,0,0,0,0,0,-523,0,-374,0, - 0,0,0,0,0,0,0,0,0,-390, - 0,-380,-393,0,0,-188,0,-358,0,0, - -488,0,0,0,-424,0,0,0,0,0, - 0,0,0,0,0,-525,0,0,-382,0, - 0,0,0,0,0,0,0,0,-398,-375, - 0,0,0,0,-391,-336,-392,0,0,-430, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-370,0,0,-399,-450,0, - 0,0,0,0,0,0,0,-277,0,0, - 0,0,0,0,0,0,0,-401,-404,-340, - 0,0,0,0,0,0,0,0,0,0, - 0,-117,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-365,0,0,0,0, - 0,0,0,0,0,-389,0,0,-434,0, - -412,0,0,0,-402,-414,-371,0,0,0, - -451,-346,-376,0,0,0,0,0,0,0, - 0,-416,-6,0,0,0,0,-417,0,0, - 0,0,0,0,-418,-383,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-420,0,-431, - 0,0,0,0,0,0,0,0,-433,0, - -459,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -432,0,0,0,0,0,0,0,0,0, - 0,0,-503,-30,0,0,0,0,0,0, - 0,0,0,0,-473,-435,-427,-8,0,0, - 0,0,0,-456,-453,-436,-437,0,0,-258, - 0,0,0,0,-439,0,0,0,0,0, - -482,-428,0,0,0,0,0,0,-472,0, - 0,0,0,-455,0,0,0,0,-441,0, - 0,-454,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-458,0,-442,0, - 0,0,0,0,0,-457,0,-94,0,0, - 0,0,-489,0,0,0,0,-443,0,0, - 0,0,0,0,0,0,0,0,0,0, - -329,0,0,0,-448,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-484,0, - 0,-452,0,-460,-384,0,0,0,0,0, - 0,0,0,0,-467,-95,-475,-494,0,0, - 0,-461,-496,0,0,0,0,0,0,0, - 0,0,0,0,0,-469,0,0,0,0, - 0,-507,0,0,0,0,0,0,0,0, - 0,0,0,0,-385,0,0,0,0,0, - -505,0,0,0,-463,0,0,-512,0,-464, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-118,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,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,-120,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -292,0,0,0,0,0,0,0,0,0, - -471,-506,0,-311,0,0,0,0,-476,0, - 0,0,0,-396,0,0,0,0,-510,0, - 0,0,0,0,0,0,0,0,-504,-490, - 0,0,-193,0,0,0,-474,-44,0,0, - 0,0,0,0,0,-491,0,0,0,0, - 0,0,-514,-73,0,0,0,0,0,0, - 0,-305,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-492,0,-516,0,0,0,0,0,0, + 0,0,0,0,-191,-422,0,-492,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -195,-193,0,0,0,0,0,0,0,0, + 0,-256,0,0,0,0,-281,0,0,0, + -266,0,0,0,-238,0,0,0,0,0, + -267,-273,0,-494,0,0,-79,0,-274,-481, + 0,0,0,0,-81,0,-276,-278,0,0, + 0,0,0,0,0,0,0,-297,0,0, + 0,-285,0,0,-320,0,-495,0,-247,0, + 0,0,-286,0,0,0,0,0,0,0, + -275,0,0,0,0,0,-289,-293,-393,-498, + 0,0,0,0,0,-216,-282,-301,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-326,0,0,0,-501,0,0, + 0,-270,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-302,0,0,0, + 0,0,-294,-309,-303,-516,0,0,-271,0, + -504,0,0,-304,0,0,-310,0,0,0, + 0,0,0,0,0,0,0,0,0,-337, + 0,0,0,-502,0,0,0,-272,0,0, + -314,0,0,0,-468,0,0,0,0,0, + 0,0,-318,0,0,0,0,0,0,-322, + -398,-519,0,0,0,0,0,0,-323,-331, + 0,0,0,0,-333,0,0,0,0,0, + 0,0,0,0,0,0,-349,0,-373,-430, + 0,0,-388,0,-374,0,0,-380,0,0, + -287,0,0,0,-434,0,0,0,0,0, + 0,0,0,0,0,-382,-391,-392,0,-277, + 0,0,0,0,-399,0,0,0,0,0, + -401,-341,0,0,0,0,0,0,0,-117, + 0,0,0,-342,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-453,0,0,-371,0,0,-253,0,0, + 0,-404,0,0,-412,0,-389,-356,0,0, + 0,0,0,0,-383,0,-414,-416,-417,-366, + 0,0,0,-93,-418,-420,0,0,0,0, + -431,0,-427,-367,0,0,0,-229,0,0, + -512,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-402, + 0,0,0,0,0,-454,0,0,-305,0, + -455,0,0,0,0,0,0,0,0,-279, + 0,0,-433,0,0,0,0,0,0,0, + 0,0,-511,-461,0,0,0,0,0,-469, + -435,0,0,0,0,0,-436,0,0,0, + 0,0,-432,0,0,0,0,0,0,0, + 0,0,0,-437,0,0,0,0,-439,0, + 0,0,0,0,0,0,-441,0,0,0, + 0,0,0,0,0,-456,-514,-442,-518,0, + -82,0,0,0,-457,0,-8,-463,0,0, + 0,0,0,-443,0,0,0,0,0,0, + -313,0,0,0,0,-448,0,-471,0,-381, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-464,0, + -94,0,0,-306,0,-452,-460,0,0,0, + 0,-467,0,0,-474,0,-493,0,0,-475, + 0,0,0,0,0,0,0,0,0,0, + 0,-458,-505,0,-510,0,0,0,0,-489, + 0,-490,-343,0,-466,0,0,0,-364,0, + 0,0,0,0,0,0,-147,0,0,0, + 0,0,0,-513,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-483,0,0,-517,0,0, + 0,-315,0,0,0,0,0,0,0,0, + 0,0,0,-95,-96,0,0,0,0,0, + 0,0,0,0,0,0,0,-336,0,0, + -473,0,0,-319,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-491,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -118,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,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,-120,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-292,0,0,0, + 0,0,0,0,0,0,0,0,0,-369, + -311,0,0,0,0,-428,0,0,0,0, + -486,0,0,0,-508,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-30, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,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,0,0,0,0,0,0,0, + -48,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-49,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-50,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-51, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -52,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-53,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-54,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-105,0,0,0,0,0,0, + 0,0,0,0,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,-115,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-177,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-243,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-347,0, + 0,0,0,0,0,0,0,0,-496,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-1,0,0,0,0,0,0,0, + 0,0,0,0,-188,-376,0,0,0,-262, + -488,0,0,-351,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-397, + 0,0,0,0,0,0,-407,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-361,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-480,0,0,0,0, 0,0,0,0,0,0,0,0,0,-11, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-51,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-244,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-52,0,0,0,0, + 0,0,0,0,-329,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-470,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-53,0,0,0, + 0,0,0,0,0,0,0,-472,0,0, + 0,0,0,0,-259,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-54,0,0, + 0,0,0,0,0,0,0,0,0,-44, + -92,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-105,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-114, + 0,0,0,-108,-429,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,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,-177,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-243,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-347,0,0,0,-520,0,0, - 0,0,0,-46,0,0,0,-515,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-517,0,0, - -498,0,0,0,0,-178,0,0,0,0, - 0,-524,0,0,0,0,0,0,0,0, - 0,0,0,0,-1,0,0,0,0,0, - 0,0,0,0,0,-82,0,0,0,-306, - 0,-270,0,0,0,0,0,0,-31,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -522,-351,0,0,0,0,0,0,0,0, - 0,-388,0,0,0,0,0,0,0,0, - 0,0,-218,0,0,0,0,0,0,-45, - 0,0,0,0,-271,0,0,0,0,-361, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-297,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-326,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-470,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-337, - 0,0,0,0,0,-366,0,0,0,0, - 0,-367,0,0,0,0,0,0,0,0, - -381,0,0,0,0,0,0,0,0,-466, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-92,0,0,0,0, - 0,0,0,-487,0,0,0,0,0,0, - 0,0,0,-97,0,0,0,0,0,-108, - 0,0,0,0,-161,0,0,0,0,-241, - 0,0,0,0,0,0,0,0,0,-279, - 0,0,0,0,0,0,0,0,-312,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-356,-364, - 0,0,0,0,0,-248,0,0,0,-253, - 0,0,0,-407,-445,-446,0,0,0,0, - 0,0,-447,0,0,0,0,-162,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-96,0,0,0,0,0,-244,0, - -313,-449,0,0,0,0,0,0,0,0, - 0,0,0,-272,0,0,0,0,0,0, - 0,-408,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-409,-468,0,0,0, - 0,0,0,0,0,0,0,-397,-479,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-497,0,0,0,0,0,-513,0,-521, - 0,0,0,0,0,0,0,-319,0,0, - 0,0,-499,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-445,-446, + -449,0,0,0,0,0,0,0,0,0, + -408,0,-409,-478,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -510,7 +508,7 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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; @@ -520,518 +518,516 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface BaseAction { public final static char baseAction[] = { - 169,4,52,76,76,31,31,62,62,37, - 37,189,189,190,190,191,191,1,1,14, + 168,4,47,69,69,32,32,62,62,37, + 37,191,191,192,192,193,193,1,1,14, 14,14,14,14,14,14,14,15,15,15, 13,10,10,8,8,8,8,8,8,2, 63,63,5,5,11,11,11,11,42,42, - 130,130,131,61,61,41,16,16,16,16, + 129,129,130,61,61,41,16,16,16,16, 16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,132,132,132,114, + 16,16,16,16,16,16,131,131,131,114, 114,17,17,17,17,17,17,17,17,17, - 17,17,17,17,18,18,170,170,171,171, - 172,135,135,136,136,133,133,137,134,134, + 17,17,17,17,18,18,169,169,170,170, + 171,134,134,135,135,132,132,136,133,133, 19,19,20,20,21,21,21,23,23,23, 23,24,24,24,25,25,25,26,26,26, - 26,26,28,28,28,29,29,30,30,32, - 32,33,33,35,35,36,36,40,40,39, + 26,26,27,27,27,28,28,29,29,31, + 31,33,33,35,35,36,36,40,40,39, 39,39,39,39,39,39,39,39,39,39, - 39,39,38,27,138,138,96,96,100,100, - 91,192,192,68,68,68,68,68,68,68, - 68,68,69,69,69,70,70,57,57,173, - 173,71,71,71,115,115,72,72,72,72, - 73,73,73,73,73,74,74,77,77,77, - 77,77,77,77,47,47,47,47,47,103, - 103,104,104,48,174,22,22,22,22,22, - 46,46,86,86,86,86,86,145,145,140, - 140,140,140,140,141,141,141,142,142,142, - 143,143,143,144,144,144,87,87,87,87, - 87,88,88,88,12,12,12,12,12,12, - 12,12,12,12,12,99,119,119,119,119, - 119,117,117,117,118,118,147,147,146,146, - 121,121,148,81,81,82,82,84,85,83, - 50,45,149,149,51,49,80,80,150,150, - 139,139,106,106,64,64,151,151,59,59, - 53,53,152,60,60,66,66,56,56,56, - 89,89,98,97,97,58,58,54,54,55, - 55,43,101,101,101,92,92,92,93,94, - 94,94,95,95,107,107,107,109,109,108, - 108,193,193,90,90,176,176,176,176,176, - 123,44,44,154,175,175,124,124,124,124, - 177,177,34,34,116,125,125,125,125,110, - 110,120,120,120,156,157,157,157,157,157, - 157,157,157,157,180,180,178,178,179,179, - 158,158,158,158,159,181,112,111,111,182, - 182,160,160,160,160,102,102,102,183,183, - 9,184,184,185,161,153,153,162,162,163, - 164,164,6,6,7,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,65,67,67, - 167,167,126,126,127,127,127,127,127,127, - 3,168,168,165,165,128,128,128,78,79, - 75,155,155,113,113,186,186,186,129,129, - 122,122,187,187,169,169,105,969,39,1886, - 1883,559,2828,34,580,31,35,30,32,1874, - 29,27,56,1152,112,82,83,114,1170,947, - 1281,1179,1364,1353,32,1432,1382,1464,673,1446, - 1487,275,1514,149,2505,777,164,150,1423,39, - 660,36,1468,3763,34,580,31,35,63,32, - 1052,2337,39,660,36,234,4200,34,580,31, - 35,30,32,1085,29,27,56,1152,112,82, - 83,114,1170,485,1281,1179,1364,1353,1981,1432, - 1382,2505,717,237,232,233,1953,950,925,38, - 2348,3465,2337,39,660,36,276,4200,34,580, - 31,35,30,32,1085,29,27,56,1152,112, - 82,83,91,244,247,250,253,2426,2097,39, - 660,36,1569,4436,34,580,31,35,30,32, - 1095,499,1953,39,283,1610,2154,2898,1017,2538, - 2739,2958,4136,1481,39,660,36,2337,4200,34, - 580,31,35,1692,32,1085,29,27,56,1152, - 112,82,83,114,1170,341,1281,1179,1364,1353, - 67,1432,1382,1464,2119,1446,1487,1105,1514,149, - 1670,420,505,150,2039,4149,2471,1803,39,660, - 36,511,428,34,580,338,35,1163,506,1481, - 39,660,36,2337,4200,34,580,31,35,1692, - 32,1085,29,27,56,1152,112,82,83,114, - 1170,341,1281,1179,1364,1353,2151,1432,1382,1464, - 2082,1446,1487,666,1514,149,1341,1272,505,150, - 1953,2856,2471,1953,39,1722,1681,2471,2856,512, - 2337,950,660,1640,506,4200,34,580,31,35, - 30,32,1085,29,27,56,1152,112,82,83, - 90,501,1922,2761,1747,39,660,36,2337,4200, - 34,580,31,35,1692,32,1085,29,27,56, - 1152,112,82,83,114,1170,341,1281,1179,1364, - 1353,1942,1432,1382,1464,1048,1446,1487,1669,1514, - 149,1719,32,505,150,100,729,2471,1449,39, - 1628,47,1859,856,46,580,710,501,166,506, - 1547,39,660,36,378,4200,34,580,31,35, - 30,32,1085,29,27,56,1152,112,82,83, - 114,1170,313,1281,1179,1364,1353,2322,1432,1382, - 1464,287,1446,1487,1774,1514,149,1719,286,376, - 150,2337,39,660,36,1168,4200,34,580,31, - 35,30,32,1085,29,27,56,1152,112,82, - 83,89,379,2305,2865,1191,444,1725,1619,39, - 660,36,502,4200,34,580,31,35,30,32, - 1085,29,27,56,1152,112,82,83,114,1170, - 1040,1281,1179,1364,1353,32,1432,1382,1464,1048, - 1446,1487,1355,1514,149,592,3784,376,150,1440, - 39,660,36,1981,3763,34,580,31,35,62, - 32,32,1438,600,380,1048,1813,39,660,36, - 377,4200,34,580,31,35,30,32,1085,29, - 27,56,1152,112,82,83,114,1170,1971,1281, - 1179,1364,1353,768,1432,1382,1464,1154,1446,1487, - 1964,1514,149,3084,99,376,150,1803,39,660, - 36,324,1492,34,580,44,35,802,1097,39, - 660,36,2744,1578,34,580,337,35,2034,39, - 660,36,381,4200,34,580,31,35,30,32, - 1085,29,27,56,1152,112,82,83,114,1170, - 1601,1281,1179,1364,1353,234,1432,1382,1464,323, - 1446,1487,1630,1514,149,776,511,164,150,2322, - 3363,965,320,1953,39,925,278,314,1013,1216, - 864,66,707,246,232,233,2034,39,660,36, - 374,4200,34,580,31,35,30,32,1085,29, - 27,56,1152,112,82,83,114,1170,2699,1281, - 1179,1364,1353,1604,1432,1382,1464,2531,1446,1487, - 860,1514,149,309,526,370,150,431,2034,39, - 660,36,2432,4200,34,580,31,35,30,32, - 1085,29,27,56,1152,112,82,83,114,1170, - 1990,1281,1179,1364,1353,486,1432,1382,1464,1377, - 1446,1487,1825,1514,149,32,1610,370,150,2372, - 1216,2034,39,660,36,188,4200,34,580,31, - 35,30,32,1085,29,27,56,1152,112,82, - 83,114,1170,1794,1281,1179,1364,1353,4149,1432, - 1382,1464,3265,1446,1487,3084,1514,149,1825,369, - 370,150,1874,39,660,36,947,4200,34,580, - 31,35,30,32,1085,29,27,56,1152,112, - 82,83,114,1170,76,1281,1179,1364,1353,32, - 1432,1382,1464,860,1446,1487,325,1528,170,331, - 3206,368,1953,39,925,2899,1825,1681,39,660, - 36,1866,4200,34,580,31,35,30,32,1085, - 29,27,56,1152,112,82,83,114,1170,1027, - 1281,1179,1364,1353,353,1432,1382,1464,326,1446, - 1487,520,1514,149,366,1216,148,150,1216,2034, - 39,660,36,1190,4200,34,580,31,35,30, - 32,1085,29,27,56,1152,112,82,83,114, - 1170,1935,1281,1179,1364,1353,4149,1432,1382,1464, - 352,1446,1487,1952,1514,149,1468,520,161,150, - 2034,39,660,36,31,4200,34,580,31,35, - 30,32,1085,29,27,56,1152,112,82,83, - 114,1170,163,1281,1179,1364,1353,321,1432,1382, - 1464,448,1446,1487,447,1514,149,1341,322,160, - 150,2034,39,660,36,520,4200,34,580,31, - 35,30,32,1085,29,27,56,1152,112,82, - 83,114,1170,684,1281,1179,1364,1353,4374,1432, - 1382,1464,944,1446,1487,32,1514,149,1468,4193, - 159,150,2034,39,660,36,980,4200,34,580, - 31,35,30,32,1085,29,27,56,1152,112, - 82,83,114,1170,145,1281,1179,1364,1353,375, - 1432,1382,1464,860,1446,1487,102,1514,149,1216, - 1921,158,150,2034,39,660,36,963,4200,34, - 580,31,35,30,32,1085,29,27,56,1152, - 112,82,83,114,1170,684,1281,1179,1364,1353, - 4385,1432,1382,1464,1353,1446,1487,32,1514,149, - 1468,2551,157,150,2034,39,660,36,948,4200, - 34,580,31,35,30,32,1085,29,27,56, - 1152,112,82,83,114,1170,350,1281,1179,1364, - 1353,4022,1432,1382,1464,4043,1446,1487,1940,1514, - 149,1468,2573,156,150,2034,39,660,36,1068, - 4200,34,580,31,35,30,32,1085,29,27, - 56,1152,112,82,83,114,1170,77,1281,1179, - 1364,1353,28,1432,1382,1464,595,1446,1487,32, - 1514,149,1216,777,155,150,2034,39,660,36, - 1292,4200,34,580,31,35,30,32,1085,29, - 27,56,1152,112,82,83,114,1170,1824,1281, - 1179,1364,1353,32,1432,1382,1464,2989,1446,1487, - 1156,1514,149,1468,328,154,150,2034,39,660, - 36,1730,4200,34,580,31,35,30,32,1085, - 29,27,56,1152,112,82,83,114,1170,497, - 1281,1179,1364,1353,75,1432,1382,1464,57,1446, - 1487,32,1514,149,1468,2652,153,150,2034,39, - 660,36,1693,4200,34,580,31,35,30,32, - 1085,29,27,56,1152,112,82,83,114,1170, - 351,1281,1179,1364,1353,74,1432,1382,1464,1409, - 1446,1487,2254,1514,149,1468,3018,152,150,2034, - 39,660,36,2139,4200,34,580,31,35,30, - 32,1085,29,27,56,1152,112,82,83,114, - 1170,2084,1281,1179,1364,1353,59,1432,1382,1464, - 1323,1446,1487,32,1514,149,1216,2887,151,150, - 2034,39,660,36,673,4200,34,580,31,35, - 30,32,1085,29,27,56,1152,112,82,83, - 114,1170,684,1281,1179,1364,1353,4390,1432,1382, - 1464,937,1446,1487,32,1514,149,1468,4400,165, - 150,2034,39,660,36,1344,4200,34,580,31, - 35,30,32,1085,29,27,56,1152,112,82, - 83,114,1170,1448,1281,1179,1364,1353,93,1432, - 1382,1464,103,1446,1487,32,1514,149,1468,887, - 146,150,2243,39,660,36,1649,4200,34,580, - 31,35,30,32,1085,29,27,56,1152,112, - 82,83,114,1170,952,1281,1179,1364,1353,58, - 1432,1382,1464,2575,1446,1487,2518,1514,149,1468, - 1422,195,150,2337,39,660,36,64,4200,34, - 580,31,35,30,32,1085,29,27,56,1152, - 112,82,83,114,1170,2075,1281,1179,1364,1353, - 348,1432,1382,1464,2135,1446,1487,2346,1528,170, - 2337,39,660,36,397,4200,34,580,31,35, - 30,32,1085,29,27,56,1152,112,82,83, - 114,1170,384,1281,1179,1364,1353,1870,1432,1382, - 1464,2646,1446,1487,2714,1528,170,1213,39,660, - 36,1468,4436,34,580,31,35,65,32,2503, - 2337,39,660,36,291,4200,34,580,31,35, - 30,32,1085,29,27,56,1152,112,82,83, - 114,1170,96,1281,1179,1364,1353,32,1432,1382, - 1464,2993,1446,1487,1606,1528,170,2337,39,660, - 36,413,4200,34,580,31,35,30,32,1085, - 29,27,56,1152,112,82,83,114,1170,684, - 1281,1179,1364,1353,4246,1432,1382,1464,2557,1446, - 1487,395,1528,170,1213,39,660,36,1468,4436, - 34,580,31,35,64,32,67,2337,39,660, - 36,2146,4200,34,580,31,35,30,32,1085, - 29,27,56,1152,112,82,83,114,1170,2007, - 1281,1179,1364,1353,248,1432,1382,1464,94,1446, - 1487,108,1528,170,2383,39,660,36,412,4200, - 34,580,31,35,30,32,1085,29,27,56, - 1152,112,82,83,114,1170,1304,1281,1179,1364, - 1353,4290,1432,1382,1464,383,1446,1487,2103,1528, - 170,1803,39,660,36,1468,1216,34,580,2421, - 35,1953,39,2928,2337,39,660,36,415,4200, - 34,580,31,35,30,32,1085,29,27,56, - 1152,112,82,83,114,1170,2181,1281,1179,1364, - 1353,32,1432,1382,1464,1089,1446,2732,2126,39, - 281,2337,39,660,36,3538,4200,34,580,31, - 35,30,32,1085,29,27,56,1152,112,82, - 83,114,1170,1973,1281,1179,1364,1353,2129,1432, - 1382,1464,104,2715,2337,39,660,36,419,4200, - 34,580,31,35,30,32,1085,29,27,56, - 1152,112,82,83,114,1170,1439,1281,1179,1364, - 1353,2463,1432,2594,2337,39,660,36,2151,4200, - 34,580,31,35,30,32,1085,29,27,56, - 1152,112,82,83,114,1170,2634,1281,1179,1364, - 1353,1027,2459,2337,39,660,36,2039,4200,34, - 580,31,35,30,32,1085,29,27,56,1152, - 112,82,83,114,1170,1422,1281,1179,1364,2461, - 2337,39,660,36,2105,4200,34,580,31,35, - 30,32,1085,29,27,56,1152,112,82,83, - 114,1170,2300,1281,1179,1364,2487,2429,39,727, - 383,1422,2664,48,1651,2337,39,660,36,239, - 4200,34,580,31,35,30,32,1085,29,27, - 56,1152,112,82,83,114,1170,284,1281,1179, - 2066,275,161,2337,39,660,36,1027,4200,34, - 580,31,35,30,32,1085,29,27,56,1152, - 112,82,83,114,1170,234,1281,1179,2094,2337, - 39,660,36,285,4200,34,580,31,35,30, - 32,1085,29,27,56,1152,112,82,83,114, - 1170,416,1915,237,232,233,1527,39,1733,1558, - 2974,2669,2337,39,660,36,276,4200,34,580, - 31,35,30,32,1085,29,27,56,1152,112, - 82,83,88,244,247,250,253,2426,399,1113, - 55,2114,1569,1953,39,925,282,711,773,327, - 333,2588,1320,3467,3466,4106,947,2898,1017,2538, - 2739,2958,4136,2337,39,660,36,2438,4200,34, - 580,31,35,30,32,1085,29,27,56,1152, - 112,82,83,114,1170,152,1281,1179,2135,2337, - 39,660,36,411,4200,34,580,31,35,30, - 32,1085,29,27,56,1152,112,82,83,114, - 1170,177,1281,1179,2228,527,1517,349,1185,2141, - 2687,1472,1751,32,2337,1364,2733,4429,32,2337, - 4440,611,3208,231,1953,39,925,280,162,2132, - 39,279,341,342,1644,1480,347,231,186,2679, - 1,519,340,611,527,206,217,2959,205,214, - 215,216,218,2471,2617,39,925,278,175,1897, - 400,3470,231,416,339,522,234,162,2122,189, - 173,174,176,177,178,179,180,186,2679,2634, - 401,2151,2842,2337,206,217,2959,205,214,215, - 216,218,3093,684,249,232,233,175,4296,32, - 301,231,187,4430,1953,39,727,383,190,173, - 174,176,177,178,179,180,699,2839,1270,39, - 727,383,611,208,217,2959,207,214,215,216, - 218,2634,385,417,2005,39,727,383,55,2115, - 39,727,383,2666,209,52,2842,2337,1864,416, - 1953,3269,275,4225,386,417,219,210,211,212, - 213,293,294,295,296,231,1953,3572,55,2652, - 1468,402,405,55,2570,711,1760,2126,39,279, - 711,53,3569,2988,1468,2137,185,208,217,2959, - 207,214,215,216,218,4458,249,3494,50,1651, - 2188,73,1083,2005,39,727,383,2751,209,1915, - 2842,2337,240,2158,1670,72,2768,2994,1468,4149, - 219,210,211,212,213,293,294,295,296,231, - 1468,684,78,388,417,1942,4302,55,1727,1048, - 2554,2392,2337,4149,711,53,3569,3126,1468,71, - 2126,208,217,2959,207,214,215,216,218,32, - 3278,70,166,2337,662,2437,2505,234,1594,2810, - 330,2823,209,4149,2842,2337,2505,435,349,2855, - 2505,341,512,2703,219,210,211,212,213,293, - 294,295,296,231,330,252,232,233,2091,39, - 727,383,2471,3444,342,1644,1480,347,419,689, - 3569,3443,1512,1889,1801,208,217,2959,207,214, - 215,216,218,514,331,32,1362,2798,357,3169, - 3059,1848,55,513,349,1692,209,373,2842,711, - 2218,1953,3098,925,80,2058,2935,2969,219,210, - 211,212,213,293,294,295,296,2471,2856,4458, - 344,1644,1480,347,1803,39,660,36,1069,2704, - 34,580,2593,35,3569,3759,2337,39,660,36, - 241,4200,34,580,31,35,30,32,1085,29, - 27,56,1152,112,82,83,114,1170,2708,1281, - 2246,2337,39,660,36,596,4200,34,580,31, - 35,30,32,1085,29,27,56,1152,112,82, - 83,114,1170,265,1281,2258,234,527,1948,1737, - 39,660,36,3431,371,34,580,337,35,1711, - 416,2549,39,441,161,231,4311,32,1468,32, - 162,1182,684,1048,242,232,233,4320,1422,161, - 186,2679,353,161,2660,2505,527,206,217,2959, - 205,214,215,216,218,2302,162,201,286,61, - 175,3363,3048,320,231,684,234,1602,611,162, - 4364,3555,173,174,176,177,178,179,180,186, - 2679,441,2974,2341,2865,527,206,217,2959,205, - 214,215,216,218,255,232,233,2974,2709,175, - 299,2974,373,231,2617,39,925,3125,162,1778, - 182,173,174,176,177,178,179,180,186,2679, - 529,332,333,1904,527,206,217,2959,205,214, - 215,216,218,1924,2500,504,329,333,175,1048, - 2977,333,231,1953,39,925,3164,162,2506,193, - 173,174,176,177,178,179,180,186,2679,617, - 1957,316,162,527,206,217,2959,205,214,215, - 216,218,203,3351,32,2715,1422,175,1048,387, - 417,231,2413,434,3202,3229,162,1468,3638,173, - 174,176,177,178,179,180,186,2679,705,3203, - 2456,162,527,206,217,2959,205,214,215,216, - 218,32,2726,32,2718,1228,175,1048,60,161, - 231,2594,39,441,1743,162,4311,196,173,174, - 176,177,178,179,180,186,2679,793,306,2694, - 162,527,206,217,2959,205,214,215,216,218, - 32,2700,2255,32,4444,175,1929,608,699,231, - 2337,1953,39,292,162,416,192,173,174,176, - 177,178,179,180,186,2679,881,2974,341,2726, - 527,206,217,2959,205,214,215,216,218,32, - 2680,39,389,3482,175,2713,1864,2720,231,852, - 2676,4225,200,162,3464,199,173,174,176,177, - 178,179,180,186,2679,2714,3161,333,2728,416, - 206,217,2959,205,214,215,216,218,1532,39, - 660,36,4409,175,34,580,337,35,1171,2730, - 1953,39,727,383,198,173,174,176,177,178, - 179,180,2337,39,660,36,204,4200,34,580, - 31,35,30,32,1085,29,27,56,1152,112, - 82,83,114,1170,421,1924,1953,39,727,383, - 3363,965,320,438,3202,3229,2836,314,1013,32, - 2337,2650,3083,2609,349,2602,2702,1468,2126,2337, - 3245,416,1727,2680,39,389,2337,4149,231,3732, - 424,2995,2732,1953,39,727,383,231,2764,435, - 342,1644,1480,347,3278,2765,1468,1845,107,3073, - 208,217,2959,207,214,215,216,218,202,208, - 217,2959,207,214,215,216,218,55,2770,95, - 2089,209,108,2842,711,549,420,3239,330,2140, - 209,416,2842,487,210,211,212,213,293,294, - 295,296,508,210,211,212,213,293,294,295, - 296,1310,39,660,36,2744,4149,34,580,337, - 35,4064,357,1422,1071,39,660,36,223,4149, - 34,580,337,35,363,416,2736,1468,1920,2058, - 2935,2969,2337,3247,2908,32,2788,2783,2337,973, - 1025,39,660,36,3721,2620,34,580,337,35, - 341,416,161,3363,965,320,231,330,439,1788, - 314,1013,4572,1048,1035,707,3363,965,320,2772, - 331,962,32,315,1013,298,1276,396,208,217, - 2959,207,214,215,216,218,162,2921,305,89, - 3551,2337,3363,3048,320,518,32,168,32,209, - 2673,2842,2337,2680,39,389,308,526,2777,231, - 2974,307,210,211,212,213,293,294,295,296, - 341,1071,39,660,36,1793,4149,34,580,337, - 35,208,217,2959,207,214,215,216,218,2738, - 3411,2471,2784,2337,2786,1953,39,727,383,3502, - 333,3574,209,1815,2842,233,32,2776,2789,3593, - 2337,231,1468,416,509,210,211,212,213,293, - 294,295,296,3363,965,320,1468,331,341,423, - 317,1013,2790,208,217,2959,207,214,215,216, - 218,1957,316,3481,444,1953,39,727,383,2471, - 4578,1953,39,292,209,32,2842,3031,911,2737, - 32,1833,430,3612,2801,5113,220,210,211,212, - 213,293,294,295,296,2337,39,660,36,422, - 4200,34,580,31,35,30,32,1085,29,27, - 56,1152,112,82,83,114,1927,2337,39,660, - 36,5113,4200,34,580,31,35,30,32,1085, - 29,27,56,1152,112,82,83,114,1979,2337, - 39,660,36,5113,4200,34,580,31,35,30, - 32,1085,29,27,56,1152,112,82,83,114, - 2048,1055,39,3132,36,2744,4149,34,580,337, - 35,1468,416,5113,1609,39,660,36,3352,1468, - 34,580,337,35,1953,39,727,383,5113,1666, - 39,660,36,4409,5113,34,580,337,35,1422, - 1468,5113,3070,2465,39,727,383,32,32,304, - 3109,4101,527,3363,965,320,1468,330,440,4098, - 314,1013,5113,416,1670,2332,3363,965,320,4149, - 341,2796,1942,314,1013,162,1048,55,1356,5113, - 349,3363,965,320,711,2314,1561,2806,314,1013, - 3551,2471,2692,515,1468,349,3749,5113,5113,166, - 4580,297,5113,1520,2648,5113,342,1644,1480,347, - 1097,39,660,36,2744,1889,34,580,337,35, - 330,342,1644,1480,347,4171,2337,39,660,36, - 516,4200,34,580,31,35,30,32,1085,29, - 27,56,1152,112,82,83,87,5113,5113,5113, - 5113,5113,5113,1213,5113,5113,5113,5113,5113,408, - 3150,5113,3363,965,320,5113,5113,5113,2978,314, - 1013,5113,5113,5113,1356,5113,2337,39,660,36, - 2014,4200,34,580,31,35,30,32,1085,29, - 27,56,1152,112,82,83,86,2337,39,660, - 36,5113,4200,34,580,31,35,30,32,1085, - 29,27,56,1152,112,82,83,85,2337,39, - 660,36,5113,4200,34,580,31,35,30,32, - 1085,29,27,56,1152,112,82,83,84,2196, - 39,660,36,5113,4200,34,580,31,35,30, - 32,1085,29,27,56,1152,112,82,83,110, - 2337,39,660,36,5113,4200,34,580,31,35, - 30,32,1085,29,27,56,1152,112,82,83, - 116,2337,39,660,36,5113,4200,34,580,31, - 35,30,32,1085,29,27,56,1152,112,82, - 83,115,2337,39,660,36,5113,4200,34,580, - 31,35,30,32,1085,29,27,56,1152,112, - 82,83,113,2337,39,660,36,5113,4200,34, - 580,31,35,30,32,1085,29,27,56,1152, - 112,82,83,111,1173,39,660,36,1468,4149, - 34,580,337,35,2291,39,660,36,416,4200, - 34,580,31,35,30,32,1085,29,27,56, - 1152,92,82,83,5113,5113,5113,5113,416,3187, - 5113,1187,39,660,36,2744,1670,34,580,337, - 35,4149,1468,5113,5113,224,3363,965,320,5113, - 331,5113,5113,315,1013,1396,39,660,36,2744, - 349,34,580,337,35,300,2492,39,727,383, - 1942,2664,32,3226,1048,5113,1048,5113,240,1953, - 39,727,383,3363,965,320,344,1644,1480,347, - 314,1013,330,5113,5113,707,5113,166,5113,162, - 275,416,1942,5113,5113,5113,1048,3363,965,320, - 2714,5113,2424,55,314,1013,2337,5113,5113,707, - 711,1596,5113,1278,234,2798,5113,2337,4440,166, - 1241,39,727,383,3278,32,308,526,197,1048, - 1336,39,3132,36,2744,231,34,580,337,35, - 5113,5113,238,232,233,2655,39,727,383,5113, - 524,526,162,5113,55,276,3137,1897,400,3470, - 4078,711,1236,2748,5113,5113,2465,39,727,383, - 5113,3574,245,248,251,254,2426,5113,401,55, - 2842,1569,3363,965,320,5113,711,53,3347,314, - 1013,5113,493,5113,2332,1097,39,660,36,2744, - 55,34,580,337,35,5113,3290,711,53,5113, - 2655,39,727,383,531,2839,2655,39,727,383, - 5113,5113,2655,39,727,383,5113,2894,491,492, - 5113,2655,39,727,383,5113,5113,5113,5113,5113, - 2688,39,727,383,55,5113,5113,3363,965,320, - 55,711,53,5113,314,1013,55,711,53,3588, - 5113,5113,5113,711,53,55,5113,5113,5113,402, - 404,3326,711,53,55,5113,32,3575,5113,5113, - 527,711,53,3625,2698,39,727,383,409,3150, - 5113,1890,3744,2545,1953,39,727,383,341,5113, - 32,3211,5113,162,527,1953,39,727,383,5113, - 1953,39,727,383,1684,5113,5113,5113,55,2471, - 2460,5113,341,5113,2337,711,53,162,55,1670, - 5113,1643,5113,5113,4149,711,704,5113,1561,55, - 5113,5113,3278,2471,55,3631,711,2707,5113,2424, - 2460,711,2559,2337,2337,1807,1953,39,727,383, - 1953,39,727,383,2648,32,32,5113,2337,527, - 527,3278,3278,1788,5113,5113,5113,527,1953,39, - 727,383,5113,5113,5113,330,3278,341,341,5113, - 55,5113,162,162,55,3767,5113,711,1236,5113, - 162,711,2476,194,194,5113,5113,5113,4275,4275, - 357,168,275,32,5113,5113,5113,2337,4064,32, - 5113,1843,32,2337,5113,2337,527,2778,2935,2969, - 5113,5113,5113,5113,32,341,5113,5113,1048,493, - 357,341,32,3278,341,5113,2337,5113,5113,162, - 5113,5113,5113,5113,493,5113,2471,3376,2935,2969, - 194,162,2471,5113,341,4275,32,2064,1856,5113, - 2337,2337,2760,3455,2145,490,492,277,1942,32, - 3606,3731,1048,2337,5113,2471,5113,5113,341,341, - 490,492,1788,5113,5113,5113,1048,497,1788,5113, - 1788,341,1048,5113,1048,166,5113,5113,32,2471, - 3812,358,1048,32,5113,5113,3174,1048,5113,162, - 5113,495,2471,5113,5113,162,5113,162,5113,5113, - 168,3475,5113,5113,523,162,168,3739,168,5113, - 162,5113,5113,5113,5113,5113,1766,3489,5113,5113, - 5113,3814,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,5113,5113,3457,5113,5113,5113,5113,5113, - 5113,5113,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,3783,5113,5113,5113,5113,5113,4068,5113, - 4112,5113,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,5113,3776,5113,0,5131,2,1,0, - 5130,2,1,0,442,554,0,842,33,0, - 43,5131,0,43,5130,0,842,382,0,1, - 432,0,446,1315,0,445,1318,0,39,37, - 0,43,5131,2,0,43,5130,2,0,42, - 5131,0,42,5130,0,2483,132,0,49,5153, - 0,49,41,0,1,1423,0,1,5387,0, - 1,5386,0,1,5385,0,1,5384,0,1, - 5383,0,1,5382,0,1,5381,0,1,5380, - 0,1,5379,0,1,5378,0,1,5377,0, - 43,5131,1,0,43,5130,1,0,848,1, - 0,5349,243,0,5348,243,0,5449,243,0, - 5448,243,0,5376,243,0,5375,243,0,5374, - 243,0,5373,243,0,5372,243,0,5371,243, - 0,5370,243,0,5369,243,0,5387,243,0, - 5386,243,0,5385,243,0,5384,243,0,5383, - 243,0,5382,243,0,5381,243,0,5380,243, - 0,5379,243,0,5378,243,0,5377,243,0, - 43,243,5131,0,43,243,5130,0,5155,243, - 0,54,5131,0,54,5130,0,842,45,0, - 981,97,0,36,38,0,43,616,0,30, - 507,0,5441,433,0,1185,433,0,239,831, - 0,383,36,0,36,383,0,382,33,0, - 33,382,0,5131,54,0,5130,54,0,2483, - 134,0,2483,133,0,5153,51,0,51,41, - 0,5155,230,1,0,43,230,1,0,230, - 407,0,41,5131,0,41,5130,0,5155,1, - 0,43,1,0,53,41,0,1,98,0, - 41,53,0,5123,398,0,5122,398,0,3830, - 1,0,616,1,0,3458,1,0,230,406, - 0,41,5131,2,0,41,5130,2,0,5131, - 40,0,5130,40,0,1,5441,0,1,1185, - 0,43,5131,2,1,0,43,5130,2,1, - 0,5441,101,0,1185,101,0,39,79,0, - 280,3792,0,1,3240,0,1,3353,0,5121, - 1,0,489,3345,0,230,1,0,230,1, - 3346,0,5123,230,0,5122,230,0,3519,230, - 0,8,10,0,230,222,0,230,221,0, - 191,3148,0 + 39,39,38,30,137,137,96,96,172,172, + 91,194,194,71,71,71,71,71,71,71, + 71,71,72,72,72,68,68,57,57,173, + 173,73,73,73,102,102,174,174,74,74, + 74,175,175,75,75,75,75,75,76,76, + 70,70,70,70,70,70,70,48,48,48, + 48,48,103,103,104,104,49,176,22,22, + 22,22,22,46,46,86,86,86,86,86, + 144,144,139,139,139,139,139,140,140,140, + 141,141,141,142,142,142,143,143,143,87, + 87,87,87,87,88,88,88,12,12,12, + 12,12,12,12,12,12,12,12,99,118, + 118,118,118,118,116,116,116,117,117,146, + 146,145,145,120,120,147,81,81,82,82, + 84,85,83,51,45,148,148,52,50,80, + 80,149,149,138,138,106,106,64,64,150, + 150,59,59,53,53,151,60,60,66,66, + 56,56,56,89,89,98,97,97,58,58, + 54,54,55,55,43,100,100,100,92,92, + 92,93,94,94,94,95,95,107,107,107, + 109,109,108,108,195,195,90,90,178,178, + 178,178,178,122,44,44,153,177,177,123, + 123,123,123,179,179,34,34,115,124,124, + 124,124,110,110,119,119,119,155,156,156, + 156,156,156,156,156,156,156,182,182,180, + 180,181,181,157,157,157,157,158,183,112, + 111,111,184,184,159,159,159,159,101,101, + 101,185,185,9,186,186,187,160,152,152, + 161,161,162,163,163,6,6,7,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 65,67,67,166,166,125,125,126,126,126, + 126,126,126,3,167,167,164,164,127,127, + 127,78,79,77,154,154,113,113,188,188, + 188,128,128,121,121,189,189,168,168,105, + 881,39,2441,2438,382,2782,34,552,31,35, + 30,32,2414,29,27,56,1291,112,82,83, + 114,1312,1039,1380,1362,1421,1403,1444,1429,1560, + 860,1485,421,1608,278,1641,149,2867,1871,164, + 150,1646,39,575,36,1154,3047,34,552,31, + 35,65,32,329,2249,39,575,36,237,2547, + 34,552,31,35,30,32,1262,29,27,56, + 1291,112,82,83,114,1312,1155,1380,1362,1421, + 1403,1444,1429,1560,1992,2749,240,235,236,1217, + 1008,899,38,719,957,2203,39,575,36,279, + 2547,34,552,31,35,30,32,1262,29,27, + 56,1291,92,82,83,247,250,253,256,2419, + 1251,39,575,36,1690,3102,34,552,31,35, + 63,32,1217,39,1716,1675,2346,1731,681,2546, + 2723,2997,3137,3145,3561,1384,39,575,36,2330, + 2547,34,552,31,35,1923,32,1262,29,27, + 56,1291,112,82,83,114,1312,344,1380,1362, + 1421,1403,1444,1429,1560,1795,1485,1107,1608,860, + 1641,149,2425,2062,508,150,1677,1882,2713,938, + 39,575,36,1217,3121,34,552,341,35,853, + 509,1384,39,575,36,2330,2547,34,552,31, + 35,1923,32,1262,29,27,56,1291,112,82, + 83,114,1312,344,1380,1362,1421,1403,1444,1429, + 1560,31,1485,333,1608,675,1641,149,1036,2095, + 508,150,1088,2657,2713,1217,39,899,281,447, + 3667,67,1904,39,575,36,509,3047,34,552, + 31,35,30,32,1414,502,3890,1128,39,1765, + 47,316,504,46,552,1656,39,575,36,2330, + 2547,34,552,31,35,1923,32,1262,29,27, + 56,1291,112,82,83,114,1312,344,1380,1362, + 1421,1403,1444,1429,1560,1513,1485,4275,1608,1913, + 1641,149,1962,290,508,150,48,1872,2713,1217, + 39,606,386,1217,39,899,3132,2184,504,415, + 509,1451,39,575,36,438,2547,34,552,31, + 35,30,32,1262,29,27,56,1291,112,82, + 83,114,1312,424,1380,1362,1421,1403,1444,1429, + 1560,857,1485,857,1608,2223,1641,149,1962,1204, + 379,150,2249,39,575,36,2648,2547,34,552, + 31,35,30,32,1262,29,27,56,1291,112, + 82,83,91,382,1914,39,606,386,1520,39, + 575,36,505,2547,34,552,31,35,30,32, + 1262,29,27,56,1291,112,82,83,114,1312, + 1067,1380,1362,1421,1403,1444,1429,1560,55,1485, + 489,1608,328,1641,149,583,2211,379,150,1568, + 39,575,36,76,3102,34,552,31,35,62, + 32,1375,488,1795,383,2434,1723,39,575,36, + 380,2547,34,552,31,35,30,32,1262,29, + 27,56,1291,112,82,83,114,1312,953,1380, + 1362,1421,1403,1444,1429,1560,1847,1485,421,1608, + 2587,1641,149,2871,593,379,150,1646,39,575, + 36,1280,3047,34,552,31,35,64,32,94, + 1888,2625,108,2050,39,606,386,1944,39,575, + 36,384,2547,34,552,31,35,30,32,1262, + 29,27,56,1291,112,82,83,114,1312,2626, + 1380,1362,1421,1403,1444,1429,1560,55,1485,1893, + 1608,857,1641,149,583,53,164,150,938,39, + 575,36,388,420,34,552,44,35,3402,857, + 66,2516,39,392,2442,1944,39,575,36,377, + 2547,34,552,31,35,30,32,1262,29,27, + 56,1291,112,82,83,114,1312,1315,1380,1362, + 1421,1403,1444,1429,1560,2916,1485,1107,1608,65, + 1641,149,2425,438,373,150,1944,39,575,36, + 451,2547,34,552,31,35,30,32,1262,29, + 27,56,1291,112,82,83,114,1312,450,1380, + 1362,1421,1403,1444,1429,1560,400,1485,1107,1608, + 431,1641,149,2425,1731,373,150,99,1396,1944, + 39,575,36,333,2547,34,552,31,35,30, + 32,1262,29,27,56,1291,112,82,83,114, + 1312,3357,1380,1362,1421,1403,1444,1429,1560,31, + 1485,1463,1608,731,1641,149,2822,372,373,150, + 1784,39,575,36,333,2547,34,552,31,35, + 30,32,1262,29,27,56,1291,112,82,83, + 114,1312,414,1380,1362,1421,1403,1444,1429,1560, + 1925,1485,601,1608,1800,1649,170,2969,371,1589, + 39,575,36,1332,2547,34,552,31,35,30, + 32,1262,29,27,56,1291,112,82,83,114, + 1312,2574,1380,1362,1421,1403,1444,1429,1560,329, + 1485,1925,1608,31,1641,149,31,2365,148,150, + 861,369,910,1217,39,606,386,1944,39,575, + 36,893,2547,34,552,31,35,30,32,1262, + 29,27,56,1291,112,82,83,114,1312,327, + 1380,1362,1421,1403,1444,1429,1560,55,1485,1250, + 1608,2503,1641,149,583,560,161,150,1944,39, + 575,36,955,2547,34,552,31,35,30,32, + 1262,29,27,56,1291,112,82,83,114,1312, + 855,1380,1362,1421,1403,1444,1429,1560,398,1485, + 1250,1608,906,1641,149,3293,1347,160,150,1944, + 39,575,36,1796,2547,34,552,31,35,30, + 32,1262,29,27,56,1291,112,82,83,114, + 1312,30,1380,1362,1421,1403,1444,1429,1560,332, + 1485,1891,1608,2900,1641,149,3293,1852,159,150, + 1944,39,575,36,1002,2547,34,552,31,35, + 30,32,1262,29,27,56,1291,112,82,83, + 114,1312,326,1380,1362,1421,1403,1444,1429,1560, + 356,1485,1250,1608,31,1641,149,523,2986,158, + 150,1944,39,575,36,865,2547,34,552,31, + 35,30,32,1262,29,27,56,1291,112,82, + 83,114,1312,353,1380,1362,1421,1403,1444,1429, + 1560,355,1485,1891,1608,31,1641,149,523,981, + 157,150,1944,39,575,36,857,2547,34,552, + 31,35,30,32,1262,29,27,56,1291,112, + 82,83,114,1312,514,1380,1362,1421,1403,1444, + 1429,1560,1501,1485,421,1608,2733,1641,149,2979, + 591,156,150,1944,39,575,36,857,2547,34, + 552,31,35,30,32,1262,29,27,56,1291, + 112,82,83,114,1312,1887,1380,1362,1421,1403, + 1444,1429,1560,325,1485,4218,1608,31,1641,149, + 523,2439,155,150,1944,39,575,36,63,2547, + 34,552,31,35,30,32,1262,29,27,56, + 1291,112,82,83,114,1312,514,1380,1362,1421, + 1403,1444,1429,1560,31,1485,57,1608,3448,1641, + 149,1118,1953,154,150,1944,39,575,36,1132, + 2547,34,552,31,35,30,32,1262,29,27, + 56,1291,112,82,83,114,1312,2139,1380,1362, + 1421,1403,1444,1429,1560,31,1485,421,1608,2791, + 1641,149,3214,2202,153,150,1944,39,575,36, + 1023,2547,34,552,31,35,30,32,1262,29, + 27,56,1291,112,82,83,114,1312,354,1380, + 1362,1421,1403,1444,1429,1560,1668,1485,977,1608, + 2803,1641,149,3270,679,152,150,1944,39,575, + 36,513,2547,34,552,31,35,30,32,1262, + 29,27,56,1291,112,82,83,114,1312,2625, + 1380,1362,1421,1403,1444,1429,1560,31,1485,421, + 1608,2565,1641,149,3430,1636,151,150,1944,39, + 575,36,857,2547,34,552,31,35,30,32, + 1262,29,27,56,1291,112,82,83,114,1312, + 2625,1380,1362,1421,1403,1444,1429,1560,31,1485, + 421,1608,3490,1641,149,3444,517,165,150,1944, + 39,575,36,857,2547,34,552,31,35,30, + 32,1262,29,27,56,1291,112,82,83,114, + 1312,1677,1380,1362,1421,1403,1444,1429,1560,31, + 1485,103,1608,1260,1641,149,415,516,146,150, + 2155,39,575,36,1069,2547,34,552,31,35, + 30,32,1262,29,27,56,1291,112,82,83, + 114,1312,769,1380,1362,1421,1403,1444,1429,1560, + 1898,1485,104,1608,705,1641,149,2715,1985,195, + 150,2249,39,575,36,2383,2547,34,552,31, + 35,30,32,1262,29,27,56,1291,112,82, + 83,114,1312,1239,1380,1362,1421,1403,1444,1429, + 1560,31,1485,1644,1608,3653,1649,170,2249,39, + 575,36,241,2547,34,552,31,35,30,32, + 1262,29,27,56,1291,112,82,83,114,1312, + 381,1380,1362,1421,1403,1444,1429,1560,1088,1485, + 77,1608,689,1649,170,938,39,575,36,402, + 1999,34,552,1932,35,1217,39,286,2249,39, + 575,36,294,2547,34,552,31,35,30,32, + 1262,29,27,56,1291,112,82,83,114,1312, + 515,1380,1362,1421,1403,1444,1429,1560,31,1485, + 241,1608,1301,1649,170,2249,39,575,36,416, + 2547,34,552,31,35,30,32,1262,29,27, + 56,1291,112,82,83,114,1312,1325,1380,1362, + 1421,1403,1444,1429,1560,31,1485,304,1608,3418, + 1649,170,938,39,575,36,1217,2904,34,552, + 2010,35,1217,39,3139,2249,39,575,36,1813, + 2547,34,552,31,35,30,32,1262,29,27, + 56,1291,112,82,83,114,1312,241,1380,1362, + 1421,1403,1444,1429,1560,1652,1485,241,1608,387, + 1649,170,2295,39,575,36,415,2547,34,552, + 31,35,30,32,1262,29,27,56,1291,112, + 82,83,114,1312,185,1380,1362,1421,1403,1444, + 1429,1560,31,1485,204,1608,983,1649,170,2720, + 1217,39,606,386,1217,39,899,285,1217,39, + 606,386,2249,39,575,36,418,2547,34,552, + 31,35,30,32,1262,29,27,56,1291,112, + 82,83,114,1312,427,1380,1362,1421,1403,1444, + 1429,1560,426,1485,2625,2773,2479,3534,3517,2249, + 39,575,36,3574,2547,34,552,31,35,30, + 32,1262,29,27,56,1291,112,82,83,114, + 1312,1600,1380,1362,1421,1403,1444,1429,2719,2249, + 39,575,36,1752,2547,34,552,31,35,30, + 32,1262,29,27,56,1291,112,82,83,114, + 1312,376,1380,1362,1421,1403,1444,2727,2249,39, + 575,36,515,2547,34,552,31,35,30,32, + 1262,29,27,56,1291,112,82,83,114,1312, + 1841,1380,1362,1421,1403,2669,2249,39,575,36, + 1845,2547,34,552,31,35,30,32,1262,29, + 27,56,1291,112,82,83,114,1312,1325,1380, + 1362,1421,2680,2249,39,575,36,2042,2547,34, + 552,31,35,30,32,1262,29,27,56,1291, + 112,82,83,114,1312,1955,1380,1362,1421,2694, + 2341,39,606,386,1325,924,2152,374,2249,39, + 575,36,242,2547,34,552,31,35,30,32, + 1262,29,27,56,1291,112,82,83,114,1312, + 287,1380,1362,2576,278,1503,2249,39,575,36, + 1088,2547,34,552,31,35,30,32,1262,29, + 27,56,1291,112,82,83,114,1312,237,1380, + 1362,2582,2249,39,575,36,288,2547,34,552, + 31,35,30,32,1262,29,27,56,1291,112, + 82,83,114,1312,777,2541,240,235,236,2011, + 39,1970,1552,2788,1043,1217,39,606,386,279, + 1217,39,606,386,1217,39,606,386,2493,2076, + 3121,2436,2378,39,284,247,250,253,256,2419, + 1583,39,444,55,1690,3590,1217,39,295,55, + 583,662,330,336,425,1067,583,1724,278,2546, + 2723,2997,3137,3145,3561,2249,39,575,36,860, + 2547,34,552,31,35,30,32,1262,29,27, + 56,1291,112,82,83,114,1312,324,1380,1362, + 2593,2249,39,575,36,2144,2547,34,552,31, + 35,30,32,1262,29,27,56,1291,112,82, + 83,114,1312,177,1380,1362,2615,530,1567,1515, + 1506,1067,2523,280,2330,2425,1217,39,899,283, + 417,1996,1965,2375,530,234,2014,1377,39,606, + 386,1926,3360,162,2473,2506,39,282,244,289, + 186,2087,3731,378,2515,2076,3121,209,220,2739, + 162,208,217,218,219,221,73,186,2087,1, + 175,55,156,530,2298,3131,333,1107,583,709, + 188,174,2425,206,189,173,176,177,178,179, + 180,234,2062,3251,237,1217,39,295,201,162, + 31,437,3338,3356,1047,249,186,2087,3702,2969, + 360,2153,2553,209,220,2739,2330,208,217,218, + 219,221,245,235,236,2354,175,3181,3147,3148, + 162,187,31,3165,234,31,3659,174,1567,3860, + 190,173,176,177,178,179,180,1914,39,606, + 386,985,39,606,386,1067,211,220,2739,1734, + 210,217,218,219,221,1103,39,575,36,3847, + 2307,34,552,340,35,289,2586,212,1107,3112, + 2330,55,222,2425,2370,278,2579,4197,583,53, + 213,214,215,216,296,297,298,299,234,421, + 2334,3131,399,1837,3655,4468,202,1178,1975,1003, + 1711,100,1313,942,1137,3695,2994,1834,3188,323, + 211,220,2739,1375,210,217,218,219,221,1872, + 39,575,36,3523,333,34,552,340,35,1431, + 2662,212,3557,3112,2330,1571,222,31,31,2530, + 3162,1047,1349,153,213,214,215,216,296,297, + 298,299,234,767,31,78,31,4239,1047,352, + 1390,237,1516,39,606,386,1313,2531,1503,3695, + 2995,1375,3188,323,211,220,2739,1732,210,217, + 218,219,221,1375,162,345,1642,1437,350,249, + 235,236,2763,343,2705,212,55,3112,2330,1067, + 222,352,1769,583,1895,1880,319,2425,213,214, + 215,216,296,297,298,299,234,1778,39,444, + 241,1990,3590,2434,389,420,2788,345,1642,1437, + 350,28,1303,3695,3218,3125,1047,31,211,220, + 2739,1047,210,217,218,219,221,1217,39,606, + 386,1217,39,606,386,2024,1303,203,334,212, + 1047,3112,166,421,222,335,336,3169,3871,1880, + 319,1067,213,214,215,216,296,297,298,299, + 2648,55,391,420,241,55,166,434,583,666, + 1217,3616,583,2983,390,420,2625,3695,3274,2249, + 39,575,36,75,2547,34,552,31,35,30, + 32,1262,29,27,56,1291,112,82,83,114, + 1312,207,1380,2621,2249,39,575,36,3054,2547, + 34,552,31,35,30,32,1262,29,27,56, + 1291,112,82,83,114,1312,265,1380,2635,1637, + 530,2045,3101,376,2425,1217,39,606,386,1217, + 39,606,386,2378,39,282,1191,1642,234,31, + 2330,3408,241,1047,1325,1325,162,958,441,3338, + 3356,31,1506,186,2087,4307,2330,2425,234,443, + 209,220,2739,55,208,217,218,219,221,162, + 583,2555,353,175,3360,334,530,3198,241,205, + 1139,403,2675,95,174,352,108,3586,173,176, + 177,178,179,180,234,1067,2536,1217,39,606, + 386,404,162,3112,1067,237,302,309,333,186, + 2087,347,1642,1437,350,226,209,220,2739,3189, + 208,217,218,219,221,1067,417,74,441,175, + 1047,55,530,252,235,236,59,2987,583,709, + 174,4239,360,182,173,176,177,178,179,180, + 234,1067,2073,39,606,386,162,93,162,3181, + 3147,3148,1839,206,2992,186,2087,2433,39,899, + 281,949,209,220,2739,1067,208,217,218,219, + 221,2355,2115,58,529,175,55,1097,530,2510, + 241,405,407,583,2307,1299,174,597,2535,193, + 173,176,177,178,179,180,234,351,2469,39, + 606,386,2620,2661,162,1862,2037,241,4475,1067, + 2425,186,2087,1217,3300,899,80,308,209,220, + 2739,1067,208,217,218,219,221,1991,2615,31, + 617,175,55,1431,530,237,2372,1067,1067,583, + 53,96,174,237,3503,3645,173,176,177,178, + 179,180,234,1921,2073,39,606,386,1325,849, + 162,3165,31,255,235,236,1047,186,2087,2008, + 73,258,235,236,209,220,2739,1067,208,217, + 218,219,221,2623,1686,1067,705,175,55,31, + 530,241,162,1047,1067,583,53,2117,174,3667, + 3237,198,173,176,177,178,179,180,234,72, + 2469,39,606,386,1325,2052,162,71,31,162, + 301,1067,1047,186,2087,2732,70,3245,307,2330, + 209,220,2739,2185,208,217,218,219,221,102, + 2449,31,793,175,55,3866,530,344,162,2646, + 1116,583,53,2645,174,2232,3254,192,173,176, + 177,178,179,180,234,50,1872,2652,3748,2196, + 2644,2140,162,1850,3556,2552,300,2330,2627,186, + 2087,2433,39,899,3309,31,209,220,2739,2622, + 208,217,218,219,221,3360,2653,2657,2658,175, + 1365,39,575,36,2688,2675,34,552,340,35, + 174,1236,1067,200,173,176,177,178,179,180, + 2249,39,575,36,1067,2547,34,552,31,35, + 30,32,1262,29,27,56,1291,112,82,83, + 114,1312,31,2543,61,1067,1513,1313,1217,39, + 606,386,2676,1273,323,2278,60,2738,1850,317, + 1396,2330,2330,496,3257,1067,352,2531,2681,2682, + 2469,39,606,386,31,2695,2696,107,2330,234, + 3360,2244,55,1067,2469,39,606,386,1503,583, + 2479,241,345,1642,1437,350,344,3301,494,495, + 3244,211,220,2739,55,210,217,218,219,221, + 2521,583,53,3652,2330,442,31,2713,55,1303, + 1472,2389,212,1047,3112,583,53,490,227,2270, + 2377,2148,234,2136,2330,213,214,215,216,296, + 297,298,299,2576,1067,2430,2788,1047,496,166, + 1067,2660,3360,521,211,220,2739,2700,210,217, + 218,219,221,1356,39,575,36,707,2425,34, + 552,340,35,162,2689,212,3140,3112,366,2352, + 511,168,3078,493,495,332,336,2726,213,214, + 215,216,296,297,298,299,2781,241,89,241, + 2330,2405,39,606,386,31,924,1830,31,2686, + 1313,2330,2750,243,2680,3372,1273,323,234,333, + 360,984,317,1396,3329,2330,2701,624,1067,344, + 2469,39,606,386,303,278,199,3281,3147,3148, + 211,220,2739,3360,210,217,218,219,221,31, + 2720,31,4435,2814,1303,2330,2703,2727,1047,237, + 3134,212,602,3112,55,2728,310,2733,311,529, + 1067,583,53,344,213,214,215,216,296,297, + 298,299,2814,2734,166,841,2330,241,235,236, + 1067,2975,1067,1503,2713,2570,39,606,386,2377, + 279,3028,3190,2330,234,5094,2280,1217,39,606, + 386,361,3617,5094,1067,3698,248,251,254,257, + 2419,3360,1749,5094,1790,1690,211,220,2739,55, + 210,217,218,219,221,2629,583,53,1067,2330, + 5094,55,1217,39,899,3327,3559,212,52,3112, + 3384,2788,512,5094,31,31,2456,234,2330,2330, + 213,214,215,216,296,297,298,299,1772,5094, + 3302,31,447,3158,31,4249,344,344,1047,211, + 220,2739,5094,210,217,218,219,221,2511,360, + 2758,336,3875,433,5094,5094,5094,2713,2713,5094, + 212,5094,3112,5094,162,223,3425,3147,3148,2325, + 2336,5094,1772,213,214,215,216,296,297,298, + 299,2249,39,575,36,5094,2547,34,552,31, + 35,30,32,1262,29,27,56,1291,112,82, + 83,114,2551,2249,39,575,36,5094,2547,34, + 552,31,35,30,32,1262,29,27,56,1291, + 112,82,83,114,2554,2249,39,575,36,1718, + 2547,34,552,31,35,30,32,1262,29,27, + 56,1291,112,82,83,114,2564,1084,39,3310, + 36,707,2425,34,552,340,35,5094,5094,5094, + 1503,971,39,575,36,3002,1503,34,552,340, + 35,2606,39,606,386,1326,39,575,36,2688, + 5094,34,552,340,35,5094,5094,423,5094,5094, + 1119,39,575,36,1313,2425,34,552,340,35, + 1273,323,5094,333,5094,55,317,1396,1313,5094, + 5094,1069,583,53,1273,323,5094,5094,2788,5094, + 317,1396,1313,5094,2788,2465,5094,352,1273,323, + 5094,5094,2605,5094,317,1396,4435,1313,5094,518, + 5094,352,5094,1273,323,5094,334,5094,5094,318, + 1396,5094,5094,345,1642,1437,350,2776,336,5094, + 5094,3125,31,3476,336,5094,1047,345,1642,1437, + 350,2249,1008,575,1854,519,2547,34,552,31, + 35,30,32,1262,29,27,56,1291,112,82, + 83,90,162,5094,5094,5094,5094,5094,5094,5094, + 3674,5094,5094,5094,411,3315,2249,39,575,36, + 5094,2547,34,552,31,35,30,32,1262,29, + 27,56,1291,112,82,83,89,5094,1351,2249, + 39,575,36,5094,2547,34,552,31,35,30, + 32,1262,29,27,56,1291,112,82,83,88, + 2249,39,575,36,5094,2547,34,552,31,35, + 30,32,1262,29,27,56,1291,112,82,83, + 87,2249,39,575,36,5094,2547,34,552,31, + 35,30,32,1262,29,27,56,1291,112,82, + 83,86,2249,39,575,36,5094,2547,34,552, + 31,35,30,32,1262,29,27,56,1291,112, + 82,83,85,2249,39,575,36,5094,2547,34, + 552,31,35,30,32,1262,29,27,56,1291, + 112,82,83,84,2106,39,575,36,5094,2547, + 34,552,31,35,30,32,1262,29,27,56, + 1291,112,82,83,110,2249,39,575,36,5094, + 2547,34,552,31,35,30,32,1262,29,27, + 56,1291,112,82,83,116,2249,39,575,36, + 5094,2547,34,552,31,35,30,32,1262,29, + 27,56,1291,112,82,83,115,2249,39,575, + 36,5094,2547,34,552,31,35,30,32,1262, + 29,27,56,1291,112,82,83,113,2249,39, + 575,36,5094,2547,34,552,31,35,30,32, + 1262,29,27,56,1291,112,82,83,111,1433, + 39,575,36,5094,2425,34,552,340,35,1293, + 39,575,36,707,5094,34,552,340,35,5094, + 5094,5094,5094,1027,39,575,36,707,5094,34, + 552,340,35,5094,5094,1445,2516,39,392,2330, + 1772,2516,39,392,1303,3158,1313,5094,1047,5094, + 5094,5094,1273,323,5094,334,1313,344,318,1396, + 1303,5094,1273,323,1047,352,5094,2609,317,1396, + 1313,2330,5094,624,166,5094,1273,323,1016,5094, + 5094,5094,317,1396,5094,5094,5094,624,5094,3360, + 166,347,1642,1437,350,1702,39,3310,36,707, + 5094,34,552,340,35,5094,5094,5094,5094,5094, + 5094,5094,5094,5094,311,529,1497,39,575,36, + 707,5094,34,552,340,35,5094,5094,527,529, + 1497,39,575,36,707,5094,34,552,340,35, + 3405,1718,1313,5094,5094,5094,3358,3451,1273,323, + 5094,3643,5094,5094,317,1396,3443,496,3617,1069, + 5094,5094,5094,1313,31,5094,5094,5094,2330,1273, + 323,5094,5094,5094,5094,317,1396,1313,5094,5094, + 624,5094,5094,1273,323,5094,344,5094,5094,317, + 1396,534,493,495,2465,1119,39,575,36,422, + 2425,34,552,340,35,1839,5094,2713,5094,1497, + 39,575,36,707,5094,34,552,340,35,3197, + 5094,312,529,5094,3243,5094,5094,5094,505,5094, + 5094,5094,530,3539,5094,1267,5094,5094,5094,2330, + 3408,5094,1313,5094,5094,5094,5094,5094,1273,323, + 344,334,412,3315,320,1396,1313,234,162,5094, + 31,31,1273,323,530,530,194,5094,317,1396, + 5094,4449,5094,3627,5094,5094,5094,5094,5094,1139, + 403,2675,344,344,31,2062,5094,5094,530,2330, + 162,162,5094,5094,5094,5094,5094,5094,2819,3045, + 404,5094,3112,2713,2713,5094,344,344,5094,5094, + 5094,5094,5094,5094,162,2665,2891,522,5094,31, + 31,31,2819,530,530,530,5094,2713,2713,5094, + 196,31,5094,31,31,2330,2987,2330,2330,3075, + 525,344,344,344,5094,5094,5094,5094,5094,162, + 162,162,5094,344,5094,344,344,194,194,194, + 5094,5094,4449,4449,4449,5094,5094,5094,5094,5094, + 5094,5094,5094,5094,2713,5094,2713,2713,5094,5094, + 5094,5094,5094,5094,5094,5094,500,5094,498,526, + 405,408,5094,5094,5094,5094,5094,5094,5094,5094, + 5094,5094,3167,5094,5094,5094,5094,5094,5094,5094, + 5094,5094,5094,5094,5094,5094,5094,5094,5094,5094, + 5094,3510,3588,3630,5094,5094,5094,5094,5094,5094, + 5094,5094,5094,5094,5094,5094,5094,5094,5094,5094, + 5094,5094,5094,5094,5094,5094,5094,5094,5094,5094, + 5094,5094,5094,5094,5094,5094,5094,5094,5094,5094, + 5094,5094,5094,5094,5094,5094,5094,5094,5094,5094, + 5094,5094,5094,5094,3481,5094,0,5112,2,1, + 0,5111,2,1,0,445,761,0,1219,33, + 0,43,5112,0,43,5111,0,1219,385,0, + 1,435,0,449,1081,0,448,1099,0,39, + 37,0,43,5112,2,0,43,5111,2,0, + 42,5112,0,42,5111,0,2475,132,0,49, + 5134,0,49,41,0,1,562,0,1,5371, + 0,1,5370,0,1,5369,0,1,5368,0, + 1,5367,0,1,5366,0,1,5365,0,1, + 5364,0,1,5363,0,1,5362,0,1,5361, + 0,43,5112,1,0,43,5111,1,0,797, + 1,0,5333,246,0,5332,246,0,5433,246, + 0,5432,246,0,5360,246,0,5359,246,0, + 5358,246,0,5357,246,0,5356,246,0,5355, + 246,0,5354,246,0,5353,246,0,5371,246, + 0,5370,246,0,5369,246,0,5368,246,0, + 5367,246,0,5366,246,0,5365,246,0,5364, + 246,0,5363,246,0,5362,246,0,5361,246, + 0,43,246,5112,0,43,246,5111,0,5136, + 246,0,54,5112,0,54,5111,0,1219,45, + 0,2857,97,0,36,38,0,43,619,0, + 30,510,0,5425,436,0,1303,436,0,242, + 2852,0,386,36,0,36,386,0,385,33, + 0,33,385,0,5112,54,0,5111,54,0, + 2475,134,0,2475,133,0,5134,51,0,51, + 41,0,5136,233,1,0,43,233,1,0, + 233,410,0,41,5112,0,41,5111,0,5136, + 1,0,43,1,0,53,41,0,1,98, + 0,41,53,0,5104,401,0,5103,401,0, + 4370,1,0,619,1,0,3567,1,0,233, + 409,0,41,5112,2,0,41,5111,2,0, + 5112,40,0,5111,40,0,1,5425,0,1, + 1303,0,43,5112,2,1,0,43,5111,2, + 1,0,5425,101,0,1303,101,0,39,79, + 0,283,3479,0,1,1101,0,1,4276,0, + 5102,1,0,492,3470,0,233,1,0,233, + 1,3427,0,5104,233,0,5103,233,0,3558, + 233,0,8,10,0,233,225,0,233,224, + 0,191,3246,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1043,309 +1039,298 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 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, - 0,0,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,0,57,58,59, - 60,61,62,0,64,65,0,0,68,69, - 70,71,9,73,11,75,76,77,78,79, - 80,81,0,83,84,85,86,87,0,1, + 20,21,22,23,24,25,26,27,28,0, + 0,31,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,0,63,0,65,66,0,68,69, + 70,71,0,9,74,11,76,77,78,79, + 80,81,82,83,84,85,86,87,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,88,89, + 22,23,24,25,26,27,28,88,89,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,57,58,59,60,61, - 62,0,64,65,88,89,68,69,70,71, - 0,73,0,75,76,77,78,79,80,81, - 8,83,84,85,86,87,0,1,2,3, + 42,43,44,45,46,47,0,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 0,63,0,65,66,0,68,69,70,71, + 88,89,74,101,76,77,78,79,80,81, + 82,83,84,85,86,87,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,46,47,32,33, + 24,25,26,27,28,0,0,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,0,57,58,59,60,61,62,0, - 64,65,3,99,68,69,70,0,0,73, - 99,75,76,77,78,79,80,81,0,83, + 44,45,46,47,72,49,50,51,52,53, + 54,55,56,57,58,59,60,61,0,63, + 0,65,66,88,89,69,70,71,0,9, + 74,11,76,77,78,79,80,81,82,83, 84,85,86,87,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,62,56,32,33,34,35, + 26,27,28,88,89,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 72,57,58,59,60,61,62,0,64,65, - 3,0,68,69,70,88,89,73,0,75, - 76,77,78,79,80,81,8,83,84,85, + 46,47,0,49,50,51,52,53,54,55, + 56,57,58,59,60,61,0,63,0,65, + 66,0,4,69,70,71,88,89,74,8, + 76,77,78,79,80,81,82,83,84,85, 86,87,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,0,56,32,33,34,35,36,37, + 28,0,0,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,0,57, - 58,59,60,61,62,0,64,65,0,0, - 68,69,70,4,9,73,11,75,76,77, - 78,79,80,81,0,83,84,85,86,87, + 0,49,50,51,52,53,54,55,56,57, + 58,59,60,61,0,63,0,65,66,5, + 0,69,70,71,4,9,74,11,76,77, + 78,79,80,81,82,83,84,85,86,87, 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, - 88,89,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,0,57,58,59, - 60,61,62,0,64,65,88,89,68,69, - 70,0,9,73,11,75,76,77,78,79, - 80,81,0,83,84,85,86,87,0,1, + 20,21,22,23,24,25,26,27,28,0, + 0,31,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,121,63,0,65,66,0,0,69, + 70,71,0,9,74,11,76,77,78,79, + 80,81,82,83,84,85,86,87,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,0,63, + 22,23,24,25,26,27,28,0,0,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,57,58,59,60,61, - 62,0,64,65,0,0,68,69,70,0, - 6,73,3,75,76,77,78,79,80,81, - 0,83,84,85,86,87,0,1,2,3, + 42,43,44,45,46,47,64,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 0,63,0,65,66,3,0,69,70,71, + 0,0,74,3,76,77,78,79,80,81, + 82,83,84,85,86,87,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,0,56,32,33, + 24,25,26,27,28,0,0,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,0,57,58,59,60,61,62,121, - 64,65,72,0,68,69,70,4,0,73, - 95,75,76,77,78,79,80,81,0,83, + 44,45,46,47,63,49,50,51,52,53, + 54,55,56,57,58,59,60,61,0,63, + 0,65,66,3,6,69,70,71,0,99, + 74,95,76,77,78,79,80,81,82,83, 84,85,86,87,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,0,63,32,33,34,35, + 26,27,28,0,0,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 72,57,58,59,60,61,62,0,64,65, - 72,0,68,69,70,0,0,73,3,75, - 76,77,78,79,80,81,10,83,84,85, + 46,47,64,49,50,51,52,53,54,55, + 56,57,58,59,60,61,0,63,0,65, + 66,0,4,69,70,71,0,0,74,3, + 76,77,78,79,80,81,82,83,84,85, 86,87,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,0,56,32,33,34,35,36,37, + 28,0,0,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,0,57, - 58,59,60,61,62,0,64,65,0,0, - 68,69,70,0,5,73,3,75,76,77, - 78,79,80,81,0,83,84,85,86,87, + 0,49,50,51,52,53,54,55,56,57, + 58,59,60,61,0,63,0,65,66,0, + 6,69,70,71,0,9,74,101,76,77, + 78,79,80,81,82,83,84,85,86,87, + 0,1,2,3,4,5,6,7,8,30, + 10,0,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,0, + 0,31,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,0,1,2, + 60,0,5,63,7,91,92,0,0,69, + 70,71,0,12,0,3,0,0,6,3, + 8,9,122,11,100,13,14,13,14,12, + 0,1,2,3,118,5,0,7,26,27, + 4,29,41,0,0,1,2,46,47,5, + 49,50,51,52,53,54,55,56,41,90, + 48,0,0,46,47,96,49,50,51,52, + 53,54,55,56,62,67,64,41,48,67, + 68,0,0,67,72,73,0,1,2,3, + 4,5,6,7,8,0,1,2,0,4, + 88,89,90,91,92,93,94,95,96,97, + 98,99,100,101,102,103,104,105,106,107, + 108,109,110,111,112,113,0,29,0,117, + 118,3,120,121,6,9,8,9,95,11, + 58,13,14,0,1,2,3,4,5,6, + 7,8,0,58,26,27,0,29,97,98, + 74,99,0,1,2,3,0,5,12,7, + 4,9,6,11,8,0,48,0,0,1, + 2,3,4,5,6,7,8,0,1,2, + 62,0,64,0,7,67,68,41,0,73, + 72,73,46,47,29,49,50,51,52,53, + 54,55,56,0,0,72,88,89,90,91, + 92,93,94,95,96,97,98,99,100,101, + 102,103,104,105,106,107,108,109,110,111, + 112,113,29,29,67,117,118,72,120,121, 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, - 0,56,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,0,57,58,59, - 60,61,62,0,64,65,0,0,68,69, - 70,0,0,73,3,75,76,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,31,10,0, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,63, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,1,2,3,60,5, - 62,7,122,9,0,11,68,69,70,0, - 97,98,3,9,0,6,0,8,9,102, - 11,0,13,14,0,1,2,3,4,5, - 6,7,8,101,117,26,27,0,0,30, - 0,1,2,3,4,5,6,7,8,100, - 12,30,0,15,16,17,18,19,20,21, - 22,23,24,25,0,56,0,1,2,3, - 66,5,63,7,0,66,67,3,74,41, - 71,72,0,74,46,47,48,49,50,51, - 52,53,54,55,30,58,72,88,89,90, - 91,92,93,94,95,96,97,98,99,100, - 101,102,103,104,105,106,107,108,109,110, - 111,112,113,0,0,0,117,118,3,120, - 121,6,0,8,9,12,11,0,13,14, + 10,11,12,0,0,15,16,17,18,19, + 20,21,22,23,24,25,0,1,2,102, + 30,104,105,106,107,108,109,110,111,112, + 113,41,29,102,117,0,46,47,0,49, + 50,51,52,53,54,55,56,57,117,0, + 0,1,2,63,4,5,0,7,68,69, + 70,71,72,28,74,75,0,1,2,3, + 4,5,6,7,8,9,10,11,12,0, + 30,15,16,17,18,19,20,21,22,23, + 24,25,0,1,2,3,30,5,0,7, + 62,9,0,11,114,115,116,41,29,60, + 12,9,46,47,0,49,50,51,52,53, + 54,55,56,57,0,0,1,2,3,63, + 5,0,7,9,68,69,70,71,72,41, + 74,75,0,29,46,47,0,49,50,51, + 52,53,54,55,56,0,1,2,3,4, + 5,6,7,8,0,1,2,3,4,5, + 6,7,8,48,0,73,0,1,2,48, + 114,115,116,0,1,2,3,4,5,6, + 7,8,68,10,48,0,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,48,0,31,32,33,34,35,36, + 37,38,39,40,29,42,43,44,45,0, 0,67,0,1,2,3,4,5,6,7, - 8,26,27,101,0,30,0,1,2,3, - 0,5,30,7,41,9,12,11,28,46, - 47,48,49,50,51,52,53,54,55,97, - 98,56,0,1,2,0,4,5,63,7, - 30,66,67,56,9,41,71,72,56,74, - 46,47,48,49,50,51,52,53,54,55, - 0,1,2,88,89,90,91,92,93,94, - 95,96,97,98,99,100,101,102,103,104, - 105,106,107,108,109,110,111,112,113,0, - 1,2,117,118,5,120,121,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 0,0,15,16,17,18,19,20,21,22, - 23,24,25,0,64,65,0,4,31,0, - 1,2,3,4,5,6,7,8,41,0, - 1,2,0,46,47,48,49,50,51,52, - 53,54,55,118,57,0,1,2,3,62, - 5,0,7,0,41,68,69,70,71,72, - 73,0,0,31,0,1,2,66,4,82, - 6,0,8,0,1,2,3,4,5,6, - 7,8,9,10,11,12,0,58,15,16, - 17,18,19,20,21,22,23,24,25,13, - 14,114,115,116,31,0,1,2,3,4, - 5,6,7,8,41,0,63,72,0,46, - 47,48,49,50,51,52,53,54,55,67, - 57,0,0,1,2,62,4,5,67,7, - 9,68,69,70,71,72,73,0,0,0, - 1,2,123,4,5,82,7,0,0,1, - 2,13,14,31,102,7,104,105,106,107, - 108,109,110,111,112,113,0,0,73,117, - 31,0,1,2,66,4,9,114,115,116, - 0,1,2,3,4,5,6,7,8,0, - 10,0,71,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 63,0,32,33,34,35,36,37,38,39, - 40,30,42,43,44,45,0,1,2,58, - 4,0,1,2,3,4,5,6,7,8, - 60,74,31,63,64,65,0,1,2,3, - 4,5,6,7,8,9,10,31,0,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,0,32,33, - 34,35,36,37,38,39,40,56,42,43, - 44,45,0,0,1,2,3,4,67,6, - 0,8,0,0,58,0,60,30,0,1, - 2,3,9,5,9,7,11,71,0,1, - 2,3,4,5,6,7,8,9,10,0, - 30,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,56, + 8,65,66,60,0,62,72,3,65,66, + 0,1,2,3,4,5,6,7,8,9, + 10,48,0,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,0, + 48,31,32,33,34,35,36,37,38,39, + 40,29,42,43,44,45,0,1,2,3, + 0,5,0,7,4,0,1,2,58,4, + 60,6,0,8,9,0,1,2,68,0, + 1,2,3,4,5,6,7,8,9,10, + 100,0,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,46,47, + 31,32,33,34,35,36,37,38,39,40, + 48,42,43,44,45,0,0,0,1,2, + 0,4,5,3,7,9,0,58,73,60, + 65,66,0,1,2,0,4,68,0,1, + 2,3,4,5,6,7,8,30,10,0, + 95,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,0,48,31, 32,33,34,35,36,37,38,39,40,30, - 42,43,44,45,56,0,1,2,3,0, - 5,66,7,4,71,6,58,8,60,0, - 0,1,2,3,4,5,6,7,8,71, - 10,0,0,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 0,63,32,33,34,35,36,37,38,39, - 40,56,42,43,44,45,0,1,2,0, - 4,0,6,4,8,9,0,1,2,3, - 60,5,0,7,64,65,0,1,2,3, - 4,5,6,7,8,63,10,66,66,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,66,0,32,33, - 34,35,36,37,38,39,40,0,42,43, - 44,45,0,0,1,2,9,4,11,6, - 74,8,0,1,2,63,60,5,66,7, - 64,65,0,1,2,3,4,5,6,7, - 8,95,10,0,0,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,0,66,32,33,34,35,36,37, - 38,39,40,30,42,43,44,45,0,1, - 2,74,4,0,6,0,8,4,76,0, - 58,6,60,0,1,2,3,4,5,6, - 7,8,9,10,60,0,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,0,41,32,33,34,35,36, - 37,38,39,40,0,42,43,44,45,0, - 0,0,3,0,5,6,12,8,0,0, - 9,3,13,14,0,1,2,95,4,0, - 6,0,8,4,75,26,27,0,29,30, - 9,0,0,1,2,41,91,92,0,12, - 46,47,48,49,50,51,52,53,54,55, - 67,0,0,1,2,56,56,114,115,116, - 0,30,63,64,65,66,67,66,41,0, - 67,118,71,46,47,48,49,50,51,52, - 53,54,55,31,0,1,2,88,89,90, - 91,92,93,94,63,74,97,98,99,100, - 101,102,103,104,105,106,107,108,109,110, - 111,112,113,0,1,2,3,4,5,6, - 7,8,0,10,93,94,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,0,0,32,33,34,35,36, - 37,38,39,40,0,42,43,44,45,90, - 6,0,0,0,3,96,5,6,0,8, - 0,1,2,60,13,14,0,1,2,119, - 4,5,0,7,0,1,2,26,27,5, - 29,30,10,0,0,1,2,0,0,1, - 2,0,1,2,0,0,1,2,0,1, - 2,0,1,2,0,31,0,56,0,0, - 6,58,4,30,63,64,65,66,67,31, - 0,63,31,0,64,65,31,0,95,31, - 3,59,31,13,14,91,92,28,30,88, - 89,90,91,92,93,94,63,0,97,98, - 99,100,101,102,103,104,105,106,107,108, - 109,110,111,112,113,0,1,2,3,4, - 5,6,7,8,0,10,93,94,13,14, + 42,43,44,45,68,0,0,1,2,3, + 4,0,6,0,8,0,1,2,60,4, + 5,0,7,65,66,0,1,2,3,4, + 5,6,7,8,29,10,0,0,13,14, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,91,92,32,33,34, - 35,36,37,38,39,40,100,42,43,44, - 45,0,0,1,2,3,4,5,6,7, - 8,56,10,0,0,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,119,0,32,33,34,35,36,37, - 38,39,40,30,42,43,44,45,0,0, - 0,1,2,3,4,5,6,7,8,0, - 10,0,60,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 66,0,32,33,34,35,36,37,38,39, - 40,30,42,43,44,45,0,1,2,3, - 4,5,6,7,8,0,10,0,0,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,67,0,32,33, - 34,35,36,37,38,39,40,56,42,43, - 44,45,0,1,2,3,4,5,6,7, + 25,26,27,28,48,0,31,32,33,34, + 35,36,37,38,39,40,29,42,43,44, + 45,0,1,2,3,62,5,64,7,58, + 0,1,2,72,4,60,6,0,8,0, + 65,66,0,1,2,3,4,5,6,7, 8,0,10,0,3,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, - 28,29,0,0,32,33,34,35,36,37, + 28,0,67,31,32,33,34,35,36,37, 38,39,40,0,42,43,44,45,0,1, - 2,0,4,10,3,90,0,0,10,3, - 12,96,30,15,16,17,18,19,20,21, - 22,23,24,25,31,0,0,26,27,0, - 4,114,115,116,0,1,2,30,9,41, - 0,1,2,0,46,47,48,49,50,51, - 52,53,54,55,72,62,30,56,0,0, - 62,0,1,2,0,4,68,69,70,0, - 63,10,0,12,0,0,15,16,17,18, - 19,20,21,22,23,24,25,0,1,2, - 3,4,5,6,7,8,9,72,11,12, - 93,94,41,74,103,30,0,46,47,48, - 49,50,51,52,53,54,55,30,0,1, - 2,120,4,62,95,56,0,0,41,68, - 69,70,58,46,47,48,49,50,51,52, - 53,54,55,56,0,1,2,3,4,5, - 6,7,8,9,0,11,12,0,4,0, - 3,74,90,0,1,2,9,4,96,0, - 0,0,1,2,3,4,5,6,7,8, - 9,0,11,12,30,41,0,1,2,0, - 46,47,48,49,50,51,52,53,54,55, - 56,30,31,0,1,2,3,4,5,6, - 7,8,9,56,11,12,90,0,74,0, - 63,0,96,66,0,1,2,10,57,0, - 59,74,61,4,31,0,1,2,3,4, - 5,6,7,8,9,0,11,12,31,0, - 1,2,63,82,0,66,0,0,1,2, - 57,0,59,0,61,9,31,0,1,2, - 9,0,0,0,71,3,3,0,0,62, - 3,3,0,0,0,82,3,0,4,0, - 3,72,57,30,59,0,61,0,3,0, - 3,0,3,58,3,0,71,0,1,2, - 3,4,5,6,7,8,9,82,11,12, + 2,0,4,72,6,4,8,0,1,2, + 58,4,60,0,1,2,3,4,5,6, + 7,8,9,10,0,0,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,41,62,31,32,33,34,35,36, + 37,38,39,40,29,42,43,44,45,0, + 97,98,3,0,5,6,0,8,0,3, + 0,8,13,14,0,9,0,1,2,0, + 4,0,6,0,8,26,27,62,29,10, + 31,0,1,2,0,4,72,6,30,8, + 0,0,1,2,3,0,5,48,7,30, + 10,0,1,2,48,114,115,116,93,94, + 0,62,0,64,65,66,67,0,62,48, + 64,118,62,0,1,2,62,4,5,73, + 7,30,63,0,1,2,0,88,89,90, + 91,92,93,94,0,0,97,98,99,100, + 101,102,103,104,105,106,107,108,109,110, + 111,112,113,0,1,2,3,4,5,6, + 7,8,0,10,0,3,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,48,76,31,32,33,34,35,36, + 37,38,39,40,0,42,43,44,45,0, + 0,0,3,9,3,0,5,6,0,8, + 48,6,4,60,13,14,114,115,116,119, + 0,1,2,0,4,90,62,26,27,29, + 29,96,31,0,0,12,3,29,15,16, + 17,18,19,20,21,22,23,24,25,48, + 30,0,1,2,0,0,5,3,64,0, + 1,2,68,62,41,64,65,66,67,46, + 47,0,49,50,51,52,53,54,55,56, + 9,30,0,1,2,0,1,2,0,88, + 89,90,91,92,93,94,91,92,97,98, + 99,100,101,102,103,104,105,106,107,108, + 109,110,111,112,113,0,1,2,3,4, + 5,6,7,8,0,10,0,3,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,73,0,31,32,33,34, + 35,36,37,38,39,40,0,42,43,44, + 45,0,0,48,0,1,2,3,4,5, + 6,7,8,28,10,13,14,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,67,0,31,32,33,34,35, + 36,37,38,39,40,0,42,43,44,45, + 0,0,0,1,2,3,4,5,6,7, + 8,10,10,62,60,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,0,48,31,32,33,34,35,36,37, + 38,39,40,0,42,43,44,45,0,1, + 2,3,4,5,6,7,8,62,10,64, + 59,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,0,0,31, + 32,33,34,35,36,37,38,39,40,0, + 42,43,44,45,0,1,2,3,4,5, + 6,7,8,72,10,62,0,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,0,0,31,32,33,34,35, + 36,37,38,39,40,29,42,43,44,45, + 0,1,2,0,4,0,1,2,0,72, + 10,0,12,0,0,15,16,17,18,19, + 20,21,22,23,24,25,13,14,62,0, + 0,0,1,2,0,30,0,0,1,2, + 6,41,0,1,2,9,46,47,0,49, + 50,51,52,53,54,55,56,9,29,93, + 94,30,0,63,0,1,2,30,4,69, + 70,71,30,62,10,64,12,0,64,15, + 16,17,18,19,20,21,22,23,24,25, + 28,62,0,1,2,0,1,2,3,4, + 5,6,7,8,9,41,11,12,0,73, + 46,47,64,49,50,51,52,53,54,55, + 56,73,93,94,29,91,92,63,0,1, + 2,95,0,69,70,71,41,29,0,1, + 2,46,47,48,49,50,51,52,53,54, + 55,56,0,1,2,3,4,5,6,7, + 8,9,0,11,12,0,1,2,73,0, + 0,9,3,11,0,0,1,2,0,9, 0,1,2,3,4,5,6,7,8,9, - 74,11,12,0,0,74,3,3,31,0, - 119,0,3,72,3,0,0,0,3,67, - 0,31,0,0,0,0,67,0,0,0, - 0,0,0,58,57,0,59,0,61,0, - 0,0,0,0,0,28,0,57,71,59, - 30,61,0,0,0,0,0,0,0,82, - 0,71,0,1,2,3,4,5,6,7, - 8,9,82,11,12,0,1,2,3,4, - 5,6,7,8,9,58,11,12,72,67, - 67,66,0,31,0,67,67,0,0,0, - 0,0,0,0,0,0,31,0,0,0, - 0,0,0,0,0,0,0,0,0,57, - 0,59,0,61,0,0,0,0,0,0, - 0,0,57,71,59,0,61,0,0,0, - 0,0,0,0,82,0,0,0,1,2, - 3,4,5,6,7,8,9,82,11,12, + 0,11,12,41,0,30,58,0,46,47, + 48,49,50,51,52,53,54,55,56,29, + 30,0,0,1,2,3,4,5,6,7, + 8,9,90,11,12,73,64,0,96,0, + 1,2,0,0,0,0,3,57,4,59, + 29,61,30,73,9,0,1,2,3,4, + 5,6,7,8,9,75,11,12,64,26, + 27,123,72,29,90,0,1,2,0,57, + 96,59,0,61,0,30,4,3,10,0, + 68,48,0,4,0,0,0,75,0,1, + 2,3,4,5,6,7,8,9,30,11, + 12,29,57,0,59,0,61,0,73,4, + 3,0,0,68,3,3,0,0,30,0, + 75,0,1,2,3,4,5,6,7,8, + 9,63,11,12,0,0,103,3,3,0, + 0,0,58,3,3,57,64,59,0,61, + 64,30,67,120,0,0,68,3,3,0, + 0,58,0,75,0,1,2,3,4,5, + 6,7,8,9,0,11,12,58,57,0, + 59,0,61,67,67,0,0,0,3,68, + 3,0,0,0,30,0,75,0,1,2, + 3,4,5,6,7,8,9,0,11,12, + 29,72,0,0,0,67,0,58,0,0, + 0,57,0,59,0,61,0,30,0,67, + 0,0,68,0,0,0,0,77,0,75, 0,1,2,3,4,5,6,7,8,9, - 0,11,12,0,0,0,0,0,31,0, + 64,11,12,0,57,0,59,0,61,67, + 67,0,0,0,0,0,0,0,0,0, + 30,0,75,0,1,2,3,4,5,6, + 7,8,9,0,11,12,95,0,0,0, + 0,0,0,119,0,0,0,57,119,59, + 0,61,0,30,0,0,0,0,0,0, + 0,0,0,0,0,75,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,31,0,0,0,0,0,0,0,0, - 0,0,0,0,57,0,59,0,61,0, - 0,0,0,0,0,0,0,57,0,59, - 0,61,0,0,0,0,0,0,0,82, - 0,0,0,0,0,0,0,0,0,0, - 0,0,82,0,0,0,0,0,0,0, + 57,0,59,0,61,0,0,0,0,0, + 0,0,0,0,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,0,0,0,0,0,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; @@ -1353,307 +1338,295 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface TermAction { public final static char termAction[] = {0, - 5113,5088,5085,5085,5085,5085,5085,5085,5085,5098, - 1,5095,1,1,1,1,1,1,1,1, + 5094,5069,5066,5066,5066,5066,5066,5066,5066,5079, + 1,5076,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,127, 1,1,1,1,1,1,1,1,1,1, - 127,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5094,1, + 1,1,1,1,1,1,1,1683,2528,2910, + 1,3412,143,1,401,1,1,5094,5101,1, + 1,1,131,4994,5275,4997,1041,3436,2840,2102, + 2097,3415,2966,3435,2056,3429,3076,3428,8,5082, + 5082,5082,5082,5082,5082,5082,5082,5082,5082,5082, + 5082,5082,5082,5082,5082,5082,5082,5082,5082,5082, + 5082,5082,5082,5082,5082,5082,5082,2919,2944,5082, + 5082,5082,5082,5082,5082,5082,5082,5082,5082,5082, + 5082,5082,5082,5082,5082,5082,5094,5082,5082,5082, + 5082,5082,5082,5082,5082,5082,5082,5082,5082,5082, + 5094,5082,5094,5082,5082,130,5082,5082,5082,5082, + 2919,2944,5082,584,5082,5082,5082,5082,5082,5082, + 5082,5082,5082,5082,5082,5082,5094,5069,5066,5066, + 5066,5066,5066,5066,5066,5073,1,5076,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5113,2138,1133,2696, - 1,3289,1,398,1,1,131,5113,1,1, - 1,5120,5013,5294,5016,564,3398,3215,2104,2970, - 3341,2953,5113,3375,2680,3368,3085,3362,8,5101, - 5101,5101,5101,5101,5101,5101,5101,5101,5101,5101, - 5101,5101,5101,5101,5101,5101,5101,5101,5101,5101, - 5101,5101,5101,5101,5101,5101,5101,5101,2906,2931, - 5101,5101,5101,5101,5101,5101,5101,5101,5101,5101, - 5101,5101,5101,5101,5101,5101,5101,5101,5101,5101, - 5101,5101,5101,5101,139,5101,5101,5101,5101,5101, - 5101,140,5101,5101,2906,2931,5101,5101,5101,5101, - 334,5101,137,5101,5101,5101,5101,5101,5101,5101, - 2254,5101,5101,5101,5101,5101,5113,5088,5085,5085, - 5085,5085,5085,5085,5085,5092,1,5095,1,1, + 1,1,1,1,1,129,5094,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5448,5449,1,1, + 1,1,1,1,1809,1,1,1,1,1, + 1,1,1,1683,2528,2910,1,3412,5094,1, + 5094,1,1,2919,2944,1,1,1,128,5104, + 5275,5103,1041,3436,2840,2102,2097,3415,2966,3435, + 2056,3429,3076,3428,5094,5069,5066,5066,5066,5066, + 5066,5066,5066,5073,1,5076,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,2919,2944,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5113,2138,1133,2696,1,3289,1,1, - 1,1,2742,2224,1,1,1,130,5113,5294, - 2224,564,3398,3215,2104,2970,3341,2953,5113,3375, - 2680,3368,3085,3362,5113,5088,5085,5085,5085,5085, - 5085,5085,5085,5092,1,5095,1,1,1,1, + 1,1,5094,1,1,1,1,1,1,1, + 1,1683,2528,2910,1,3412,5094,1,5094,1, + 1,137,717,1,1,1,2919,2944,5275,2248, + 1041,3436,2840,2102,2097,3415,2966,3435,2056,3429, + 3076,3428,5094,5069,5066,5066,5066,5066,5066,5066, + 5066,5073,1,5076,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3533,1232,1,1,1,1, + 1,5094,5094,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 5094,1,1,1,1,1,1,1,1,1683, + 2528,2910,1,3412,5094,1,1,1,1,3173, + 43,1,1,1,5136,5104,5275,5103,1041,3436, + 2840,2102,2097,3415,2966,3435,2056,3429,3076,3428, + 5094,5069,5066,5066,5066,5066,5066,5066,5066,5073, + 1,5076,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5094, + 5094,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5094,1, + 1,1,1,1,1,1,1,1683,2528,2910, + 1,3412,4716,1,1,1,1,5094,5094,1, + 1,1,163,197,5275,197,1041,3436,2840,2102, + 2097,3415,2966,3435,2056,3429,3076,3428,5094,5069, + 5066,5066,5066,5066,5066,5066,5066,5073,1,5076, 1,1,1,1,1,1,1,1,1,1, - 1811,2138,1133,2696,1,3289,1,345,1,1, - 1804,5113,1,1,1,2906,2931,5294,138,564, - 3398,3215,2104,2970,3341,2953,2254,3375,2680,3368, - 3085,3362,5113,5088,5085,5085,5085,5085,5085,5085, - 5085,5092,1,5095,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5094,5094,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,129,1232,1,1,1,1,1,1, + 1,1,1,1,1,1,1768,1,1,1, + 1,1,1,1,1,1683,2528,2910,1,3412, + 139,1,5094,1,1,4501,358,1,1,1, + 5094,5094,5275,2852,1041,3436,2840,2102,2097,3415, + 2966,3435,2056,3429,3076,3428,5094,5069,5066,5066, + 5066,5066,5066,5066,5066,5073,1,5076,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5113,2138, - 1133,2696,1,3289,1,5113,1,1,128,5113, - 1,1,1,2213,5123,5294,5122,564,3398,3215, - 2104,2970,3341,2953,5113,3375,2680,3368,3085,3362, - 5113,5088,5085,5085,5085,5085,5085,5085,5085,5092, - 1,5095,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5094,5094,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2906,2931,1,1,1,1,1,1,1,1, + 1,1,1,1,4281,1,1,1,1,1, + 1,1,1,1683,2528,2910,1,3412,5094,1, + 97,1,1,4911,1634,1,1,1,506,2219, + 5275,5451,1041,3436,2840,2102,2097,3415,2966,3435, + 2056,3429,3076,3428,5094,5069,5066,5066,5066,5066, + 5066,5066,5066,5073,1,5076,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5113,2138,1133,2696, - 1,3289,1,1,1,1,2906,2931,1,1, - 1,5113,5123,5294,5122,564,3398,3215,2104,2970, - 3341,2953,5113,3375,2680,3368,3085,3362,5113,5088, - 5085,5085,5085,5085,5085,5085,5085,5092,1,5095, + 1,1,1,5094,5094,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5113,5556, + 1,1,805,1,1,1,1,1,1,1, + 1,1683,2528,2910,1,3412,144,1,5094,1, + 1,5094,3196,1,1,1,242,5094,5275,4929, + 1041,3436,2840,2102,2097,3415,2966,3435,2056,3429, + 3076,3428,5094,3427,1,1,1,1,1,1, + 1,5104,1,5103,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,5094,5094,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5113,2138,1133,2696,1,3289, - 1,318,1,1,5113,355,1,1,1,5113, - 1633,5294,4356,564,3398,3215,2104,2970,3341,2953, - 418,3375,2680,3368,3085,3362,5113,5088,5085,5085, - 5085,5085,5085,5085,5085,5092,1,5095,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5113,1232,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,5113,2138,1133,2696,1,3289,1,4735, - 1,1,2678,43,1,1,1,5155,5113,5294, - 5467,564,3398,3215,2104,2970,3341,2953,436,3375, - 2680,3368,3085,3362,5113,5088,5085,5085,5085,5085, - 5085,5085,5085,5092,1,5095,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5113,5613,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 5507,2138,1133,2696,1,3289,1,319,1,1, - 2971,5113,1,1,1,5113,303,5294,831,564, - 3398,3215,2104,2970,3341,2953,5415,3375,2680,3368, - 3085,3362,5113,5088,5085,5085,5085,5085,5085,5085, - 5085,5092,1,5095,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,5113,1232,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5113,2138, - 1133,2696,1,3289,1,446,1,1,5113,5113, - 1,1,1,97,2871,5294,4930,564,3398,3215, - 2104,2970,3341,2953,5113,3375,2680,3368,3085,3362, - 5113,3346,1,1,1,1,1,1,1,5123, - 1,5122,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 191,4762,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5113,2138,1133,2696, - 1,3289,1,135,1,1,41,145,1,1, - 1,239,5113,5294,4948,564,3398,3215,2104,2970, - 3341,2953,143,3375,2680,3368,3085,3362,43,4753, - 4750,3768,848,780,3846,3458,3896,5153,1792,141, - 5372,2432,901,5379,5377,5386,5385,5381,5382,5380, - 5383,5384,5387,5378,3938,3917,5136,622,5113,2743, - 1032,1082,5138,1043,4074,1070,5139,5137,983,5375, - 5132,5134,5135,5133,5448,5449,5369,5376,5348,5374, - 5373,5370,5371,5349,1,4740,4736,5019,1277,5022, - 5504,5025,5110,5123,5113,5122,2541,5505,5506,37, - 2310,2283,4768,5119,5113,4768,5113,4768,4768,2154, - 4768,442,4768,4768,5113,5056,5051,3830,4998,616, - 5048,3458,5045,2191,3124,4768,4768,5113,225,4768, - 5113,4775,4771,3830,5155,616,1185,3458,5441,581, - 5372,4744,144,5379,5377,5386,5385,5381,5382,5380, - 5383,5384,5387,5378,33,4768,1,4740,4736,3830, - 4559,616,4768,3458,312,4768,4768,955,5118,5375, - 4768,4768,136,4768,5448,5449,5369,5376,5348,5374, - 5373,5370,5371,5349,4747,1435,1930,4768,4768,4768, - 4768,4768,4768,4768,4768,4768,4768,4768,4768,4768, - 4768,4768,4768,4768,4768,4768,4768,4768,4768,4768, - 4768,4768,4768,226,5113,5113,4768,4768,4933,4768, - 4768,4933,382,4933,4933,5372,4933,445,4933,4933, - 5113,986,343,4775,4771,3734,5155,616,1185,3458, - 5441,4933,4933,2191,227,4933,1,4740,4736,3830, - 5113,616,4756,3458,5375,311,5372,311,3250,5448, - 5449,5369,5376,5348,5374,5373,5370,5371,5349,2310, - 2283,4933,5113,4753,4750,5113,848,616,4933,3458, - 842,4933,4933,4765,5117,5375,4933,4933,1232,4933, - 5448,5449,5369,5376,5348,5374,5373,5370,5371,5349, - 5113,5130,5131,4933,4933,4933,4933,4933,4933,4933, - 4933,4933,4933,4933,4933,4933,4933,4933,4933,4933, - 4933,4933,4933,4933,4933,4933,4933,4933,4933,5113, - 5130,5131,4933,4933,2871,4933,4933,5113,4985,4985, - 230,4981,230,230,230,230,4989,1,230,1, - 5113,163,1,1,1,1,1,1,1,1, - 1,1,1,43,3959,1100,5113,5155,489,311, - 5056,5051,3830,4998,616,5048,3458,5045,1,5113, - 5130,5131,53,1,1,1,1,1,1,1, - 1,1,1,5116,565,1,4740,4736,3830,1, - 616,5113,3458,5113,2623,1,1,1,407,230, - 5516,5113,145,1093,432,1,1,1770,1,5601, - 4759,290,4759,5113,4985,4985,230,4981,230,230, - 230,230,5028,1,230,1,124,3339,1,1, - 1,1,1,1,1,1,1,1,1,3302, - 2399,5538,5539,5540,489,5113,4740,4736,3830,1, - 616,1,3458,1,1,5113,2771,1930,503,1, - 1,1,1,1,1,1,1,1,1,1729, - 565,5113,5113,4753,4750,1,848,4936,1893,3458, - 5121,1,1,1,406,230,5516,5113,126,5113, - 4753,4750,3456,848,4936,5601,3458,5113,42,4782, - 4779,3302,2399,1967,2154,760,1688,1647,1606,1565, - 1524,1483,1442,1401,1360,1319,5113,5113,5638,3124, - 2054,5113,4753,4750,804,5155,5119,5538,5539,5540, - 1,4834,4830,3768,4838,780,3846,3458,3896,5113, - 4794,5113,5120,2432,901,4821,4827,4800,4803,4815, - 4812,4818,4809,4806,4797,4824,3938,3917,5136,622, - 2795,5113,1032,1082,5138,1043,4074,1070,5139,5137, - 983,2789,5132,5134,5135,5133,390,4753,4750,1599, - 5155,364,4740,4736,3734,1,616,1,3458,1, - 1277,5118,3005,504,43,43,43,4753,4750,3768, - 848,780,3846,3458,3896,5121,1423,43,5113,2432, - 901,5379,5377,5386,5385,5381,5382,5380,5383,5384, - 5387,5378,3938,3917,5136,622,5113,5113,1032,1082, - 5138,1043,4074,1070,5139,5137,983,1232,5132,5134, - 5135,5133,5113,343,43,43,2742,5155,1106,1185, - 5113,5441,5113,1,1259,5113,1277,3528,1,4740, - 4736,3734,5079,616,5123,3458,5122,5120,43,4753, - 4750,3768,848,780,3846,3458,3896,5121,1423,5113, - 3586,2432,901,5379,5377,5386,5385,5381,5382,5380, - 5383,5384,5387,5378,3938,3917,5136,622,5113,1232, - 1032,1082,5138,1043,4074,1070,5139,5137,983,4493, - 5132,5134,5135,5133,1232,1,4740,4736,3734,43, - 616,4210,3458,5155,5120,1185,1259,5441,1277,5113, - 147,4753,4750,3768,848,780,3846,3458,3896,5120, - 1423,288,30,2432,901,5379,5377,5386,5385,5381, - 5382,5380,5383,5384,5387,5378,3938,3917,5136,622, - 359,2813,1032,1082,5138,1043,4074,1070,5139,5137, - 983,1232,5132,5134,5135,5133,1,5001,5001,5113, - 4998,5113,1185,2598,5441,360,1,4740,4736,5019, - 1277,5022,5113,5025,43,43,1,4834,4830,3768, - 4838,780,3846,3458,3896,4939,4794,770,4939,2432, - 901,4821,4827,4800,4803,4815,4812,4818,4809,4806, - 4797,4824,3938,3917,5136,622,4501,416,1032,1082, - 5138,1043,4074,1070,5139,5137,983,1,5132,5134, - 5135,5133,5113,433,43,43,169,5155,169,4945, - 360,4942,5113,5130,5131,3336,1277,616,4182,3458, - 43,43,43,4753,4750,3768,848,780,3846,3458, - 3896,360,1423,45,521,2432,901,5379,5377,5386, - 5385,5381,5382,5380,5383,5384,5387,5378,3938,3917, - 5136,622,1,3246,1032,1082,5138,1043,4074,1070, - 5139,5137,983,4927,5132,5134,5135,5133,98,1, - 1,169,1,43,5007,121,5007,5155,3587,1, - 1259,3699,1277,43,4753,4750,3768,848,780,3846, - 3458,3896,5117,1423,3268,5113,2432,901,5379,5377, - 5386,5385,5381,5382,5380,5383,5384,5387,5378,3938, - 3917,5136,622,367,620,1032,1082,5138,1043,4074, - 1070,5139,5137,983,228,5132,5134,5135,5133,1, - 346,5113,572,365,5570,5564,5372,5568,1,5113, - 5121,4499,5562,5563,101,43,43,5469,5155,1, - 5064,1,5061,383,2548,5593,5594,229,5571,5573, - 167,132,5113,5130,5131,5375,3677,3655,5113,5372, - 5448,5449,5369,5376,5348,5374,5373,5370,5371,5349, - 1148,5113,49,4791,4791,1099,1232,5538,5539,5540, - 5113,2509,5574,853,905,5595,5572,928,5375,117, - 1191,5116,5120,5448,5449,5369,5376,5348,5374,5373, - 5370,5371,5349,4788,5113,4924,4921,5584,5583,5596, - 5565,5566,5589,5590,4785,167,5587,5588,5567,5569, - 5591,5592,5597,5577,5578,5579,5575,5576,5585,5586, - 5581,5580,5582,43,4753,4750,3768,848,780,3846, - 3458,3896,5113,1423,2373,2345,2432,901,5379,5377, - 5386,5385,5381,5382,5380,5383,5384,5387,5378,3938, - 3917,5136,622,1,5113,1032,1082,5138,1043,4074, - 1070,5139,5137,983,123,5132,5134,5135,5133,3980, - 3699,5113,5113,5113,572,4001,5570,5564,5113,5568, - 5113,4924,4921,1277,5562,5563,5113,4753,4750,3499, - 848,616,303,3458,41,5010,5010,5593,5594,5010, - 5571,5573,5415,134,54,4924,4921,5113,5113,8420, - 8420,51,4978,4978,5113,5113,4995,4992,41,5004, - 5004,5113,5035,5031,122,3054,142,1099,389,5113, - 3699,1763,382,2509,5574,853,905,5595,5572,5153, - 125,3517,4975,372,3959,1100,5153,5113,3760,2584, - 3163,2982,5153,3302,2399,3677,3655,3592,842,5584, - 5583,5596,5565,5566,5589,5590,4969,5113,5587,5588, - 5567,5569,5591,5592,5597,5577,5578,5579,5575,5576, - 5585,5586,5581,5580,5582,43,4753,4750,3768,848, - 780,3846,3458,3896,5113,1423,2373,2345,2432,901, - 5379,5377,5386,5385,5381,5382,5380,5383,5384,5387, - 5378,3938,3917,5136,622,3677,3655,1032,1082,5138, - 1043,4074,1070,5139,5137,983,581,5132,5134,5135, - 5133,5113,43,4753,4750,3768,848,780,3846,3458, - 3896,1479,1423,1,437,2432,901,5379,5377,5386, - 5385,5381,5382,5380,5383,5384,5387,5378,3938,3917, - 5136,622,3499,5113,1032,1082,5138,1043,4074,1070, - 5139,5137,983,842,5132,5134,5135,5133,5113,5113, - 43,4753,4750,4380,848,780,3846,3458,3896,410, - 1423,5113,1277,2432,901,5379,5377,5386,5385,5381, - 5382,5380,5383,5384,5387,5378,3938,3917,5136,622, - 3171,106,1032,1082,5138,1043,4074,1070,5139,5137, - 983,2543,5132,5134,5135,5133,43,4753,4750,3768, - 848,780,3846,3458,3896,120,1423,429,5113,2432, - 901,5379,5377,5386,5385,5381,5382,5380,5383,5384, - 5387,5378,3938,3917,5136,622,2067,5113,1032,1082, - 5138,1043,4074,1070,5139,5137,983,4588,5132,5134, - 5135,5133,43,4753,4750,3768,848,780,3846,3458, - 3896,5113,1423,5113,4142,2432,901,5379,5377,5386, - 5385,5381,5382,5380,5383,5384,5387,5378,3938,3917, - 5136,622,33,5113,1032,1082,5138,1043,4074,1070, - 5139,5137,983,1,5132,5134,5135,5133,5113,4753, - 4750,81,5155,5073,2765,3980,5113,133,1505,4205, - 5372,4001,842,5379,5377,5386,5385,5381,5382,5380, - 5383,5384,5387,5378,3189,5113,54,5181,5182,1, - 5131,5538,5539,5540,54,4966,4963,2509,360,5375, - 289,5130,5131,5113,5448,5449,5369,5376,5348,5374, - 5373,5370,5371,5349,414,5076,5131,2979,5113,5113, - 5504,243,4914,4910,5113,4918,2541,5505,5506,105, - 4972,1505,119,4865,5113,79,4901,4907,4880,4883, - 4895,4892,4898,4889,4886,4877,4904,33,382,382, - 4957,382,382,4957,382,4957,4960,2017,4957,382, - 2373,2345,4856,360,568,5067,5113,4850,4847,4874, - 4853,4844,4859,4862,4871,4868,4841,4747,5113,4753, - 4750,969,5155,5504,360,1980,118,5113,382,2541, - 5505,5506,1133,382,382,382,382,382,382,382, - 382,382,382,4960,36,383,383,4951,383,383, - 4951,383,4951,4954,54,4951,383,1,5130,5113, - 2742,4960,3980,5113,4753,4750,339,5155,4001,5113, - 5113,1,5085,5085,230,5085,230,230,230,230, - 230,5113,230,8417,5130,383,40,5042,5039,5113, - 383,383,383,383,383,383,383,383,383,383, - 4954,3400,5082,1,5085,5085,230,5085,230,230, - 230,230,5104,1232,230,8417,3980,1,4954,5113, - 339,510,4001,339,5113,4966,4963,5073,2138,5113, - 2472,339,3289,1140,5082,1,5085,5085,230,5085, - 230,230,230,230,5104,1,230,8417,3189,390, - 5130,5131,3585,5601,5113,4182,1,5113,8224,8096, - 2138,1,2472,5113,3289,5119,5082,5113,8224,8096, - 517,5113,5113,5113,222,4514,3792,5113,5113,5076, - 4140,2629,496,109,5113,5601,4172,280,1473,494, - 5070,5297,2138,3200,2472,5113,3289,5113,4558,5113, - 2540,5113,3409,3526,4445,5113,222,1,5085,5085, - 230,5085,230,230,230,230,5107,5601,230,8417, - 1,5085,5085,230,5085,230,230,230,230,5104, - 5118,230,8417,5113,5113,517,4446,4453,5082,5113, - 3499,5113,4502,2992,4547,5113,5113,1,4593,4522, - 2,5082,39,5113,5113,310,4546,5113,5113,498, - 5113,5113,5113,3635,2138,5113,2472,5113,3289,5113, - 5113,5113,5113,5113,5113,3288,5113,2138,221,2472, - 41,3289,5113,5113,5113,5113,5113,5113,5113,5601, - 5113,222,1,5085,5085,230,5085,230,230,230, - 230,5104,5601,230,8417,1,5085,5085,230,5085, - 230,230,230,230,230,3640,230,8417,5296,3015, - 3015,1038,5113,5082,5113,1852,648,5113,5113,5113, - 5113,5113,5113,5113,5113,5113,5082,5113,5113,5113, - 5113,5113,5113,5113,5113,5113,5113,5113,5113,2138, - 5113,2472,5113,3289,5113,5113,5113,5113,5113,5113, - 5113,5113,2138,222,2472,5113,3289,5113,5113,5113, - 5113,5113,5113,5113,5601,5113,5113,1,5085,5085, - 230,5085,230,230,230,230,230,5601,230,8417, - 1,5085,5085,230,5085,230,230,230,230,230, - 5113,230,8417,5113,5113,5113,5113,5113,5082,5113, - 5113,5113,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5082,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,5113,5113,2138,5113,2472,5113,3289,5113, - 5113,5113,5113,5113,5113,5113,5113,2138,5113,2472, - 5113,3289,5113,5113,5113,5113,5113,5113,5113,5601, - 5113,5113,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,5601 + 191,1,1,1,1,1,1,1,1,1683, + 2528,2910,1,3412,121,1,5094,1,1,41, + 3825,1,1,1,141,5098,5275,584,1041,3436, + 2840,2102,2097,3415,2966,3435,2056,3429,3076,3428, + 43,4734,4731,4500,797,3971,4050,3567,4071,5134, + 1554,5094,5356,4029,4006,5363,5361,5370,5369,5365, + 5366,5364,5367,5368,5371,5362,4113,4092,5117,117, + 5094,902,1031,1221,5119,1127,625,1188,5120,5118, + 1024,5359,5113,5115,5116,5114,5432,5433,5094,5353, + 5360,5332,5358,5357,5354,5355,5333,5094,5111,5112, + 1269,229,619,5488,3567,3803,3781,5094,293,768, + 5489,5490,37,5356,124,4749,315,230,4749,2757, + 4749,4749,5091,4749,2189,4749,4749,3380,2392,5356, + 1,4721,4717,3861,5097,619,43,3567,4749,4749, + 5136,4749,5359,1,5094,5111,5112,5432,5433,3173, + 5353,5360,5332,5358,5357,5354,5355,5333,5359,4155, + 4749,135,140,5432,5433,4176,5353,5360,5332,5358, + 5357,5354,5355,5333,4749,1891,4749,1759,1230,4749, + 4749,5094,5094,986,4749,4749,5094,4721,4717,4370, + 1,619,1,3567,1,5094,4734,4731,445,5136, + 4749,4749,4749,4749,4749,4749,4749,4749,4749,4749, + 4749,4749,4749,4749,4749,4749,4749,4749,4749,4749, + 4749,4749,4749,4749,4749,4749,5094,4725,5094,4749, + 4749,4914,4749,4749,4914,5100,4914,4914,5453,4914, + 1474,4914,4914,5094,5037,5032,4370,4979,619,5029, + 3567,5026,5094,1597,4914,4914,231,4914,2303,2276, + 5622,2219,1,4721,4717,5000,43,5003,5356,5006, + 5136,5104,1303,5103,5425,33,4914,145,5094,4756, + 4752,4370,5136,619,1303,3567,5425,42,4763,4760, + 4914,145,4914,5094,614,4914,4914,5359,5094,5099, + 4914,4914,5432,5433,1219,5353,5360,5332,5358,5357, + 5354,5355,5333,33,385,1928,4914,4914,4914,4914, + 4914,4914,4914,4914,4914,4914,4914,4914,4914,4914, + 4914,4914,4914,4914,4914,4914,4914,4914,4914,4914, + 4914,4914,4728,4737,1727,4914,4914,417,4914,4914, + 5094,4966,4966,233,4962,233,233,233,233,4970, + 1,233,1,5094,5094,1,1,1,1,1, + 1,1,1,1,1,1,5094,5111,5112,2152, + 492,1686,1645,1604,1563,1522,1481,1440,1399,1358, + 1317,1,1219,2152,2774,5094,1,1,5094,1, + 1,1,1,1,1,1,1,568,2774,524, + 5094,4734,4731,1,797,4917,5094,3567,410,1, + 1,1,233,3330,5500,5585,5094,4966,4966,233, + 4962,233,233,233,233,5009,1,233,1,5094, + 571,1,1,1,1,1,1,1,1,1, + 1,1,1,4721,4717,4370,492,619,232,3567, + 5540,314,1,314,5522,5523,5524,1,3434,3365, + 5356,167,1,1,5094,1,1,1,1,1, + 1,1,1,568,5094,1,4721,4717,3861,1, + 619,321,3567,5102,409,1,1,1,233,5359, + 5500,5585,5094,3611,5432,5433,322,5353,5360,5332, + 5358,5357,5354,5355,5333,314,5037,5032,4370,4979, + 619,5029,3567,5026,367,4721,4717,3861,1,619, + 1,3567,1,1230,421,167,5094,5111,5112,1230, + 5522,5523,5524,1,4815,4811,4500,4819,3971,4050, + 3567,4071,5101,4775,1230,5094,4029,4006,4802,4808, + 4781,4784,4796,4793,4799,4790,4787,4778,4805,4113, + 4092,5117,1230,449,902,1031,1221,5119,1127,625, + 1188,5120,5118,1024,3714,5113,5115,5116,5114,5094, + 142,1105,346,4756,4752,3861,5136,619,1303,3567, + 5425,4134,668,1269,1,507,4280,4404,43,43, + 43,4734,4731,4500,797,3971,4050,3567,4071,5102, + 562,4743,5094,4029,4006,5363,5361,5370,5369,5365, + 5366,5364,5367,5368,5371,5362,4113,4092,5117,5094, + 1230,902,1031,1221,5119,1127,625,1188,5120,5118, + 1024,3715,5113,5115,5116,5114,1,4721,4717,4370, + 1,619,337,3567,386,1,4982,4982,1306,4979, + 1269,1303,448,5425,363,5094,4905,4902,5101,43, + 4734,4731,4500,797,3971,4050,3567,4071,5102,562, + 2189,5094,4029,4006,5363,5361,5370,5369,5365,5366, + 5364,5367,5368,5371,5362,4113,4092,5117,5432,5433, + 902,1031,1221,5119,1127,625,1188,5120,5118,1024, + 4746,5113,5115,5116,5114,5094,1,5094,4734,4731, + 1,797,4917,2755,3567,5060,5094,1306,363,1269, + 4134,668,5094,4734,4731,5094,5136,5101,147,4734, + 4731,4500,797,3971,4050,3567,4071,1027,562,53, + 363,4029,4006,5363,5361,5370,5369,5365,5366,5364, + 5367,5368,5371,5362,4113,4092,5117,5094,1230,902, + 1031,1221,5119,1127,625,1188,5120,5118,1024,775, + 5113,5115,5116,5114,5101,45,346,43,43,2755, + 5136,5094,1303,30,5425,5094,4734,4731,1269,797, + 619,5094,3567,43,43,1,4815,4811,4500,4819, + 3971,4050,3567,4071,4908,4775,5094,1,4029,4006, + 4802,4808,4781,4784,4796,4793,4799,4790,4787,4778, + 4805,4113,4092,5117,1230,370,902,1031,1221,5119, + 1127,625,1188,5120,5118,1024,1219,5113,5115,5116, + 5114,1,4721,4717,4370,4920,619,4920,3567,1757, + 435,1,1,5491,1,1269,4740,5094,4740,5094, + 43,43,43,4734,4731,4500,797,3971,4050,3567, + 4071,5094,562,136,2989,4029,4006,5363,5361,5370, + 5369,5365,5366,5364,5367,5368,5371,5362,4113,4092, + 5117,5094,1146,902,1031,1221,5119,1127,625,1188, + 5120,5118,1024,5094,5113,5115,5116,5114,436,43, + 43,43,5136,1928,4926,5136,4923,5094,4734,4731, + 1306,5136,1269,43,4734,4731,4500,797,3971,4050, + 3567,4071,5098,562,439,132,4029,4006,5363,5361, + 5370,5369,5365,5366,5364,5367,5368,5371,5362,4113, + 4092,5117,1079,5597,902,1031,1221,5119,1127,625, + 1188,5120,5118,1024,2501,5113,5115,5116,5114,1, + 2303,2276,950,138,5554,5548,1,5552,5094,2755, + 5094,2248,5546,5547,5094,342,98,1,1,1, + 1,349,4988,5094,4988,5577,5578,4766,5557,5054, + 5555,101,43,43,5094,5136,2450,5045,3187,5042, + 306,1,4721,4717,5000,5094,5003,891,5006,3335, + 5399,49,4772,4772,1230,5522,5523,5524,2366,2338, + 5094,5558,432,5579,794,835,5556,1,342,1230, + 342,5097,2797,5094,4734,4731,2841,797,619,342, + 3567,4769,5057,5094,4905,4902,5094,5568,5567,5580, + 5549,5550,5573,5574,106,120,5571,5572,5551,5553, + 5575,5576,5581,5561,5562,5563,5559,5560,5569,5570, + 5565,5564,5566,43,4734,4731,4500,797,3971,4050, + 3567,4071,348,562,5094,1798,4029,4006,5363,5361, + 5370,5369,5365,5366,5364,5367,5368,5371,5362,4113, + 4092,5117,3734,2132,902,1031,1221,5119,1127,625, + 1188,5120,5118,1024,5094,5113,5115,5116,5114,5094, + 5094,5094,3222,5102,950,123,5554,5548,392,5552, + 1230,3825,385,1269,5546,5547,5522,5523,5524,3547, + 393,4734,4731,228,5136,4155,2875,5577,5578,2045, + 5557,4176,5555,5094,5094,5356,3249,1219,5363,5361, + 5370,5369,5365,5366,5364,5367,5368,5371,5362,891, + 43,41,4991,4991,5094,5094,4991,3278,928,54, + 4905,4902,5101,5558,5359,5579,794,835,5556,5432, + 5433,1,5353,5360,5332,5358,5357,5354,5355,5333, + 5100,3341,54,4947,4944,292,5111,5112,5094,5568, + 5567,5580,5549,5550,5573,5574,3803,3781,5571,5572, + 5551,5553,5575,5576,5581,5561,5562,5563,5559,5560, + 5569,5570,5565,5564,5566,43,4734,4731,4500,797, + 3971,4050,3567,4071,5094,562,368,3479,4029,4006, + 5363,5361,5370,5369,5365,5366,5364,5367,5368,5371, + 5362,4113,4092,5117,5099,5094,902,1031,1221,5119, + 1127,625,1188,5120,5118,1024,5094,5113,5115,5116, + 5114,5094,126,1526,43,4734,4731,4500,797,3971, + 4050,3567,4071,3504,562,3380,2392,4029,4006,5363, + 5361,5370,5369,5365,5366,5364,5367,5368,5371,5362, + 4113,4092,5117,1189,105,902,1031,1221,5119,1127, + 625,1188,5120,5118,1024,5094,5113,5115,5116,5114, + 5094,306,43,4734,4731,4524,797,3971,4050,3567, + 4071,5399,562,2971,1269,4029,4006,5363,5361,5370, + 5369,5365,5366,5364,5367,5368,5371,5362,4113,4092, + 5117,5094,1978,902,1031,1221,5119,1127,625,1188, + 5120,5118,1024,5094,5113,5115,5116,5114,43,4734, + 4731,4500,797,3971,4050,3567,4071,3417,562,3333, + 2709,4029,4006,5363,5361,5370,5369,5365,5366,5364, + 5367,5368,5371,5362,4113,4092,5117,5094,5094,902, + 1031,1221,5119,1127,625,1188,5120,5118,1024,5094, + 5113,5115,5116,5114,43,4734,4731,4500,797,3971, + 4050,3567,4071,2015,562,3642,134,4029,4006,5363, + 5361,5370,5369,5365,5366,5364,5367,5368,5371,5362, + 4113,4092,5117,5094,5094,902,1031,1221,5119,1127, + 625,1188,5120,5118,1024,2501,5113,5115,5116,5114, + 5094,4734,4731,5094,5136,5094,8345,8345,5094,5278, + 1018,5094,5356,125,291,5363,5361,5370,5369,5365, + 5366,5364,5367,5368,5371,5362,3380,2392,4950,133, + 5094,51,4959,4959,122,5134,1,5094,4976,4973, + 3825,5359,41,4985,4985,363,5432,5433,5094,5353, + 5360,5332,5358,5357,5354,5355,5333,5100,2501,2366, + 2338,4956,1,5488,246,4895,4891,5134,4899,768, + 5489,5490,3117,3622,1018,3333,4846,5094,723,4882, + 4888,4861,4864,4876,4873,4879,4870,4867,4858,4885, + 3371,4953,40,5023,5020,33,385,385,4938,385, + 385,4938,385,4938,4941,4837,4938,385,79,363, + 4831,4828,4574,4855,4834,4825,4840,4843,4852,4849, + 4822,5099,2366,2338,4728,3803,3781,5488,5094,4947, + 4944,363,119,768,5489,5490,385,5048,5094,5111, + 5112,385,385,4941,385,385,385,385,385,385, + 385,385,36,386,386,4932,386,386,4932,386, + 4932,4935,5094,4932,386,5094,5016,5012,4941,5094, + 1,5104,3614,5103,118,393,5111,5112,5094,520, + 1,5066,5066,233,5066,233,233,233,233,233, + 5094,233,8026,386,362,5134,3345,5094,386,386, + 4935,386,386,386,386,386,386,386,386,3441, + 5063,5094,1,5066,5066,233,5066,233,233,233, + 233,5085,4155,233,8026,4935,4335,5094,4176,5094, + 8236,8198,5094,81,54,1,2876,1683,5112,2186, + 3001,3412,5063,520,169,1,5066,5066,233,5066, + 233,233,233,233,5085,5585,233,8026,3581,5162, + 5163,3511,3022,5112,4155,5094,8236,8198,1,1683, + 4176,2186,54,3412,5094,5063,5111,2642,5054,5094, + 225,2610,419,859,5094,413,440,5585,1,5066, + 5066,233,5066,233,233,233,233,5088,3335,233, + 8026,5111,1683,1,2186,5094,3412,109,169,1846, + 4284,283,5094,225,5051,4300,499,497,5063,5094, + 5585,1,5066,5066,233,5066,233,233,233,233, + 5085,5057,233,8026,5094,5094,650,4525,3493,5094, + 5094,5094,2528,4559,4560,1683,3728,2186,39,3412, + 2837,5063,2065,969,5094,5094,224,2540,4561,5094, + 5094,3565,5094,5585,1,5066,5066,233,5066,233, + 233,233,233,5085,375,233,8026,3568,1683,513, + 2186,2,3412,4571,4573,5094,313,5094,3285,225, + 3962,1,5094,501,5063,5094,5585,1,5066,5066, + 233,5066,233,233,233,233,233,5094,233,8026, + 41,5277,5094,5094,5094,2883,5094,3609,5094,5094, + 5094,1683,5094,2186,5094,3412,5094,5063,5094,2883, + 5094,5094,225,5094,5094,5094,5094,3625,5094,5585, + 1,5066,5066,233,5066,233,233,233,233,233, + 4356,233,8026,5094,1683,5094,2186,5094,3412,1850, + 782,5094,5094,5094,5094,5094,5094,5094,5094,5094, + 5063,5094,5585,1,5066,5066,233,5066,233,233, + 233,233,233,5094,233,8026,3650,5094,5094,5094, + 5094,5094,5094,3547,5094,5094,5094,1683,3547,2186, + 5094,3412,5094,5063,5094,5094,5094,5094,5094,5094, + 5094,5094,5094,5094,5094,5585,5094,5094,5094,5094, + 5094,5094,5094,5094,5094,5094,5094,5094,5094,5094, + 1683,5094,2186,5094,3412,5094,5094,5094,5094,5094, + 5094,5094,5094,5094,5094,5094,5094,5094,5585 }; }; public final static char termAction[] = TermAction.termAction; @@ -1661,59 +1634,58 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Asb { public final static char asb[] = {0, - 949,1,249,242,242,147,547,776,147,547, - 141,393,107,302,256,662,61,975,3,544, - 31,297,239,547,547,606,547,3,239,141, - 147,540,239,107,300,947,606,606,606,606, - 59,947,188,91,190,108,108,108,108,108, - 108,108,108,108,549,555,560,557,564,562, - 569,567,571,570,572,346,573,297,588,145, - 769,3,393,964,975,615,975,514,975,516, - 975,959,59,147,297,297,3,397,540,456, - 300,91,31,31,31,31,147,150,807,549, - 239,239,230,91,906,30,662,91,549,661, - 661,150,107,108,108,108,108,108,108,108, - 108,108,108,108,108,108,108,108,108,108, - 108,108,107,107,107,107,107,107,107,107, - 107,107,107,107,108,61,147,1040,1002,1039, - 544,399,147,614,443,447,463,615,451,147, - 147,147,443,1040,540,539,107,535,239,239, - 1040,1040,1040,1040,443,239,108,393,867,676, - 675,468,982,982,59,190,297,30,107,145, - 239,144,146,144,239,297,557,557,555,555, - 555,562,562,562,562,560,560,567,564,564, - 570,569,571,861,572,769,91,399,614,464, - 614,443,614,451,451,147,443,147,540,300, - 947,947,947,947,147,147,230,239,869,871, - 147,662,108,31,553,195,239,147,146,662, - 107,536,147,399,861,445,339,851,399,614, - 614,526,147,451,536,534,535,147,107,107, - 107,107,947,947,239,680,668,679,871,443, - 145,239,553,393,61,147,145,662,606,144, - 613,853,947,597,58,527,147,536,108,147, - 239,239,239,239,150,150,504,107,677,677, - 865,393,1042,239,147,553,554,553,107,195, - 344,549,61,145,414,145,614,614,141,593, - 600,108,861,251,871,526,147,59,59,147, - 239,239,504,107,107,869,668,504,479,553, - 150,108,297,344,594,414,145,614,615,59, - 853,108,108,871,147,147,147,506,504,554, - 239,297,1039,606,617,617,594,615,71,597, - 147,947,239,147,147,506,506,414,687,414, - 1038,1038,608,72,59,147,150,610,947,506, - 684,731,388,947,521,723,414,31,31,608, - 71,861,108,861,594,947,947,947,72,947, - 147,354,594,594,147,615,239,610,872,623, - 1040,388,684,686,615,615,848,59,1039,63, - 947,63,861,72,91,91,89,863,91,594, - 594,846,608,612,238,687,686,687,594,593, - 239,686,686,686,59,147,904,1042,239,141, - 239,354,594,388,947,239,608,612,31,686, - 141,594,536,686,686,686,147,147,617,239, - 239,492,72,846,72,594,354,388,107,72, - 69,536,536,536,147,594,1038,615,615,939, - 107,70,150,594,594,239,594,144,72,239, - 150,594,72,239,72 + 1057,1,220,213,213,421,507,866,421,507, + 415,207,381,229,116,666,61,799,3,504, + 31,157,107,507,507,625,507,3,107,415, + 421,500,107,381,227,1055,625,625,625,625, + 59,1055,595,365,597,382,382,382,382,382, + 382,382,382,382,509,515,520,517,524,522, + 529,527,531,530,532,160,533,157,548,419, + 773,3,207,788,799,617,799,480,799,482, + 799,783,59,421,157,157,3,211,500,330, + 227,365,31,31,31,31,421,557,897,509, + 107,107,98,365,1014,30,666,365,509,665, + 665,557,381,382,382,382,382,382,382,382, + 382,382,382,382,382,382,382,382,382,382, + 382,382,381,381,381,381,381,381,381,381, + 381,381,381,381,382,61,421,864,826,863, + 504,273,421,616,317,321,434,617,325,421, + 421,421,317,864,500,499,381,603,107,107, + 864,864,864,864,317,107,382,207,975,725, + 724,444,806,806,59,597,157,30,381,419, + 107,418,420,418,107,157,517,517,515,515, + 515,522,522,522,522,520,520,527,524,524, + 530,529,531,497,532,773,365,273,616,435, + 616,317,616,325,325,421,317,421,500,227, + 1055,1055,1055,1055,421,421,98,107,977,979, + 421,666,382,31,513,63,107,421,420,666, + 381,604,421,273,497,319,266,487,273,616, + 616,1067,421,325,604,602,603,421,381,381, + 381,381,1055,1055,107,729,717,728,979,317, + 419,107,513,207,61,421,419,666,625,418, + 615,489,1055,609,58,1068,421,604,382,421, + 107,107,107,107,557,557,424,381,726,726, + 973,207,938,107,421,513,514,513,381,63, + 271,509,61,419,288,419,616,616,415,553, + 619,382,497,222,979,1067,421,59,59,421, + 107,107,424,381,381,977,717,424,455,513, + 557,382,157,271,554,288,419,616,617,59, + 489,382,382,979,421,421,421,426,424,514, + 107,157,863,625,110,110,554,617,345,609, + 421,1055,107,421,421,426,426,288,673,288, + 862,862,607,346,59,421,557,612,1055,426, + 733,735,202,1055,439,709,288,31,31,607, + 345,497,382,497,554,1055,1055,1055,346,1055, + 421,168,554,554,421,617,107,612,980,627, + 864,202,733,672,617,617,780,59,863,337, + 1055,337,497,346,365,365,363,971,365,554, + 554,936,607,614,106,673,672,673,554,553, + 107,672,672,672,59,421,1012,938,107,415, + 107,363,202,1055,107,607,614,31,672,415, + 554,604,672,672,672,421,421,110,107,107, + 468,346,936,346,554,202,381,346,343,604, + 604,604,421,554,862,617,617,1047,381,344, + 557,554,107,554,418,346,107,554,346 }; }; public final static char asb[] = Asb.asb; @@ -1721,114 +1693,114 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Asr { public final static byte asr[] = {0, - 121,0,32,64,33,34,65,7,35,36, + 121,0,32,65,33,34,66,7,35,36, 37,38,60,39,40,42,43,44,28,26, - 27,8,6,13,14,5,29,63,45,3, - 10,68,62,69,70,16,25,15,21,19, - 20,22,23,18,17,24,48,53,54,12, - 52,51,49,46,47,50,55,41,1,2, - 4,0,82,114,115,116,31,72,119,122, - 71,73,75,57,59,61,77,79,86,84, - 76,81,83,85,87,58,78,80,9,11, - 48,62,46,68,49,12,50,51,52,53, - 54,69,55,70,41,47,60,64,65,10, - 33,37,35,32,40,16,25,15,21,19, - 20,22,23,18,17,24,42,45,43,44, - 28,39,34,38,26,27,13,14,29,36, - 8,6,3,4,7,5,1,2,0,9, - 74,15,16,32,17,33,34,18,19,20, - 35,21,22,36,37,38,60,39,40,10, - 23,24,25,42,43,44,28,3,26,27, - 8,6,13,14,29,4,45,5,7,1, - 2,65,64,0,96,90,13,14,91,92, - 88,89,30,93,94,97,98,99,100,101, - 102,117,72,95,67,104,105,106,107,108, - 109,110,111,112,113,118,71,11,121,63, - 1,2,8,6,4,3,56,66,74,9, - 0,75,58,63,72,95,74,56,121,3, - 9,66,11,67,0,64,65,3,10,33, + 27,8,6,13,14,5,31,62,45,3, + 10,69,63,70,71,16,25,15,21,19, + 20,22,23,18,17,24,49,54,55,12, + 53,52,50,46,47,51,56,41,1,2, + 4,0,96,90,13,14,91,92,88,89, + 29,93,94,97,98,99,100,101,102,117, + 72,95,67,104,105,106,107,108,109,110, + 111,112,113,118,68,11,121,62,1,2, + 8,6,4,3,48,64,73,9,0,62, + 67,64,1,2,0,65,66,3,10,33, 37,35,32,40,16,25,15,21,19,20, 22,23,18,17,24,42,45,43,44,28, 39,34,38,5,7,4,26,27,8,6, - 13,14,29,36,1,2,118,9,0,9, - 71,64,65,60,26,27,8,6,13,14, - 29,36,3,42,45,43,44,28,39,34, - 38,16,25,15,21,19,20,22,23,18, - 17,24,33,37,35,32,40,58,7,1, - 2,4,10,5,0,63,72,95,66,118, - 74,71,121,15,16,32,64,17,33,34, - 18,19,20,65,35,21,22,36,37,38, - 60,39,40,10,23,24,25,42,43,44, - 28,26,27,13,14,29,45,9,11,7, - 5,3,1,2,8,4,6,0,82,7, - 114,115,116,57,9,3,8,6,5,72, - 71,11,73,48,15,16,62,46,17,68, - 49,12,18,50,51,19,20,52,53,21, - 22,54,69,55,10,70,23,41,24,47, - 25,4,1,2,31,0,4,58,72,0, - 1,2,9,71,0,9,72,118,74,11, - 66,0,4,58,72,30,0,15,16,17, - 18,19,20,21,22,23,24,25,48,46, - 49,12,50,51,52,53,54,55,41,47, - 11,9,74,7,1,2,56,3,8,6, - 5,4,0,46,47,60,9,63,95,67, - 66,74,0,31,72,4,58,1,2,0, - 1,2,123,58,0,41,1,2,4,114, - 115,116,0,67,66,71,9,0,60,46, - 7,47,5,1,2,4,75,58,120,103, - 26,27,56,3,96,90,6,91,92,13, - 14,89,88,30,93,94,97,98,8,99, - 100,101,63,95,74,121,67,104,105,106, - 107,108,109,110,111,112,113,72,118,71, - 102,117,66,11,9,0,58,66,0,72, - 9,56,67,66,11,30,0,119,0,46, - 47,60,75,72,58,0,63,67,66,1, - 2,0,61,48,15,16,62,46,17,68, - 49,82,12,18,50,51,19,20,52,59, - 53,21,22,54,69,55,10,70,23,57, - 41,24,47,25,9,3,8,6,11,58, - 4,7,1,2,5,31,0,8,6,4, - 5,7,1,2,3,56,63,67,66,9, - 74,95,0,28,0,71,62,46,17,68, - 49,18,50,51,19,20,52,53,21,22, - 54,69,55,70,23,41,24,47,25,16, - 15,48,9,3,8,6,11,57,61,82, - 12,31,7,1,2,5,4,10,59,0, - 62,46,17,68,49,18,50,51,19,20, - 52,53,21,22,54,69,55,10,70,23, - 41,24,47,25,16,15,48,9,3,8, - 11,57,59,61,82,12,30,4,7,6, - 5,1,2,31,0,48,15,16,62,46, - 17,68,49,12,18,50,51,19,20,52, - 53,21,22,54,69,55,10,70,23,41, - 24,47,25,1,2,4,65,64,13,14, - 6,91,92,99,8,100,5,29,30,63, + 13,14,31,36,1,2,118,9,0,62, + 72,95,64,118,73,68,121,15,16,32, + 65,17,33,34,18,19,20,66,35,21, + 22,36,37,38,60,39,40,10,23,24, + 25,42,43,44,28,26,27,13,14,31, + 45,9,11,7,5,3,1,2,8,4, + 6,0,76,58,62,72,95,73,48,121, + 3,9,64,11,67,0,9,68,65,66, + 60,26,27,8,6,13,14,31,36,3, + 42,45,43,44,28,39,34,38,16,25, + 15,21,19,20,22,23,18,17,24,33, + 37,35,32,40,58,7,1,2,4,10, + 5,0,75,7,114,115,116,57,9,3, + 8,6,5,72,68,11,74,49,15,16, + 63,46,17,69,50,12,18,51,52,19, + 20,53,54,21,22,55,70,56,10,71, + 23,41,24,47,25,4,1,2,30,0, + 4,58,72,0,1,2,9,68,0,9, + 72,118,73,11,64,0,75,114,115,116, + 30,72,119,122,68,74,76,57,59,61, + 78,80,86,84,77,82,83,85,87,58, + 79,81,11,9,49,63,46,69,50,12, + 51,52,53,54,55,70,56,71,41,47, + 60,65,66,10,33,37,35,32,40,16, + 25,15,21,19,20,22,23,18,17,24, + 42,45,43,44,28,39,34,38,26,27, + 13,14,31,36,8,6,3,4,7,5, + 1,2,0,46,47,60,9,62,95,67, + 64,73,0,4,58,72,29,0,1,2, + 123,58,0,15,16,17,18,19,20,21, + 22,23,24,25,49,46,50,12,51,52, + 53,54,55,56,41,47,11,9,73,7, + 1,2,48,3,8,6,5,4,0,30, + 72,4,58,1,2,0,11,9,7,5, + 3,1,2,6,8,4,72,0,60,46, + 7,47,5,1,2,4,76,58,120,103, + 26,27,48,3,96,90,6,91,92,13, + 14,89,88,29,93,94,97,98,8,99, + 100,101,62,95,73,121,67,104,105,106, + 107,108,109,110,111,112,113,72,118,68, + 102,117,64,11,9,0,9,73,15,16, + 32,17,33,34,18,19,20,35,21,22, + 36,37,38,60,39,40,10,23,24,25, + 42,43,44,28,3,26,27,8,6,13, + 14,31,4,45,5,7,1,2,66,65, + 0,67,64,68,9,0,119,0,58,64, + 0,46,47,60,76,72,58,0,72,9, + 48,67,64,11,29,0,61,49,15,16, + 63,46,17,69,50,75,12,18,51,52, + 19,20,53,59,54,21,22,55,70,56, + 10,71,23,57,41,24,47,25,9,3, + 8,6,11,58,4,7,1,2,5,30, + 0,68,63,46,17,69,50,18,51,52, + 19,20,53,54,21,22,55,70,56,71, + 23,41,24,47,25,16,15,49,9,3, + 8,6,11,57,61,75,12,30,7,1, + 2,5,4,10,59,0,8,6,4,5, + 7,1,2,3,48,62,67,64,9,73, + 95,0,28,0,63,46,17,69,50,18, + 51,52,19,20,53,54,21,22,55,70, + 56,10,71,23,41,24,47,25,16,15, + 49,9,3,8,11,57,59,61,75,12, + 29,4,7,6,5,1,2,30,0,58, + 67,0,10,69,63,70,71,16,25,15, + 21,19,20,22,23,18,17,24,76,58, + 72,95,118,68,121,7,54,55,56,41, + 47,1,2,53,52,51,12,50,5,4, + 46,49,9,73,11,48,3,120,96,103, + 90,26,27,8,6,13,14,91,92,88, + 89,29,93,94,97,98,99,100,101,102, + 117,104,105,106,107,108,109,110,111,112, + 113,67,64,62,0,49,15,16,63,46, + 17,69,50,12,18,51,52,19,20,53, + 54,21,22,55,70,56,10,71,23,41, + 24,47,25,1,2,4,66,65,13,14, + 6,91,92,99,8,100,5,31,29,62, 107,108,104,105,106,112,111,113,89,88, 109,110,97,98,93,94,101,102,26,27, - 66,90,103,3,56,67,0,58,67,0, - 11,9,7,5,3,1,2,6,8,4, - 72,0,76,0,7,5,3,56,6,8, - 95,48,15,16,46,17,68,49,12,18, - 50,51,19,20,52,53,21,22,54,69, - 55,10,70,23,41,24,47,25,1,2, - 4,74,9,62,0,64,65,26,27,13, - 14,29,36,42,45,43,44,28,39,34, - 38,16,25,15,21,19,20,22,23,18, - 17,24,10,33,37,35,32,40,8,6, - 4,56,7,5,1,2,3,0,8,6, - 4,3,5,7,73,1,2,0,10,68, - 62,69,70,16,25,15,21,19,20,22, - 23,18,17,24,75,58,72,95,118,71, - 121,7,53,54,55,41,47,1,2,52, - 51,50,12,49,5,4,46,48,9,74, - 11,56,3,120,96,103,90,26,27,8, - 6,13,14,91,92,88,89,30,93,94, - 97,98,99,100,101,102,117,104,105,106, - 107,108,109,110,111,112,113,67,66,63, - 0,48,15,16,62,46,17,68,49,12, - 18,50,51,19,20,52,53,21,22,54, - 69,55,10,70,23,41,24,47,25,1, - 2,4,95,0 + 64,90,103,3,48,67,0,49,15,16, + 63,46,17,69,50,12,18,51,52,19, + 20,53,54,21,22,55,70,56,10,71, + 23,41,24,47,25,1,2,4,95,0, + 77,0,7,5,3,48,6,8,95,49, + 15,16,46,17,69,50,12,18,51,52, + 19,20,53,54,21,22,55,70,56,10, + 71,23,41,24,47,25,1,2,4,73, + 9,63,0,65,66,26,27,13,14,31, + 36,42,45,43,44,28,39,34,38,16, + 25,15,21,19,20,22,23,18,17,24, + 10,33,37,35,32,40,8,6,4,48, + 7,5,1,2,3,0,8,6,4,3, + 5,7,74,1,2,0,41,1,2,4, + 114,115,116,0 }; }; public final static byte asr[] = Asr.asr; @@ -1836,59 +1808,58 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Nasb { public final static char nasb[] = {0, - 200,11,40,72,72,184,11,187,23,11, - 200,140,66,32,81,115,11,11,204,69, - 4,85,109,11,11,11,11,204,109,212, - 184,204,109,32,204,11,11,11,11,11, - 233,11,51,206,184,32,32,42,32,32, - 32,32,32,32,11,11,11,11,11,11, - 11,11,11,11,11,32,11,85,11,216, - 89,30,140,225,226,11,226,97,226,45, - 226,219,233,184,85,85,30,11,95,11, - 58,206,236,236,236,236,184,48,189,11, - 109,109,175,1,32,74,115,206,11,16, - 16,48,120,32,32,32,32,32,32,32, - 32,32,32,32,32,32,32,32,32,32, - 32,32,32,32,32,32,32,32,32,32, - 32,32,32,120,32,11,10,11,11,11, - 150,204,99,204,133,204,11,11,204,133, - 184,10,11,11,204,95,32,62,109,109, - 11,11,11,11,37,109,32,140,175,72, - 72,11,11,11,233,184,85,236,66,216, - 109,215,184,215,109,85,11,11,11,11, + 207,11,17,78,78,80,11,197,14,11, + 207,114,150,31,70,124,11,11,211,147, + 4,74,242,11,11,11,11,211,242,221, + 80,211,242,31,211,11,11,11,11,11, + 166,11,42,236,80,31,31,213,31,31, + 31,31,31,31,11,11,11,11,11,11, + 11,11,11,11,11,31,11,74,11,225, + 38,29,114,194,195,11,195,93,195,216, + 195,188,166,80,74,74,29,11,91,11, + 46,236,233,233,233,233,80,153,199,11, + 242,242,176,1,31,27,124,236,11,19, + 19,153,129,31,31,31,31,31,31,31, + 31,31,31,31,31,31,31,31,31,31, + 31,31,31,31,31,31,31,31,31,31, + 31,31,31,129,31,11,10,11,11,11, + 158,211,95,211,61,211,11,11,211,61, + 80,10,11,11,211,91,31,50,242,242, + 11,11,11,11,24,242,31,114,176,78, + 78,11,11,11,166,80,74,233,150,225, + 242,224,80,224,242,74,11,11,11,11, 11,11,11,11,11,11,11,11,11,11, - 11,11,11,11,11,89,30,228,204,204, - 111,114,111,204,46,10,114,99,95,58, - 11,11,11,11,99,10,148,109,143,204, - 184,115,32,236,204,55,109,184,130,115, - 32,62,184,161,11,11,14,191,228,111, - 111,136,99,46,62,11,11,99,120,120, - 120,120,11,11,109,11,171,11,145,113, - 99,109,64,150,11,23,99,115,11,233, - 204,198,11,11,233,26,133,62,32,46, - 109,109,109,109,48,48,204,32,11,11, - 171,140,145,109,99,204,87,11,120,150, - 131,11,11,216,204,133,204,128,212,161, - 11,32,11,93,204,167,133,233,233,10, - 109,109,95,32,32,143,210,204,11,64, - 48,32,85,131,161,145,216,128,153,155, - 200,32,32,145,10,133,133,204,95,87, - 109,85,11,11,165,165,161,153,76,11, - 133,11,109,10,10,79,204,145,179,204, - 11,11,204,102,155,10,48,204,11,79, - 11,179,192,11,46,14,145,236,236,21, - 117,11,32,11,161,11,11,11,118,11, - 46,159,161,161,46,12,109,95,107,204, - 11,198,11,204,11,11,11,233,11,28, - 11,11,11,118,235,235,239,11,235,161, - 161,11,204,204,109,179,204,179,161,11, - 109,123,204,204,233,133,11,236,109,200, - 109,241,161,204,11,109,21,79,236,123, - 200,161,62,179,123,123,133,163,165,109, - 109,204,118,11,118,161,241,200,120,118, - 28,62,62,62,163,161,11,12,12,171, - 32,11,241,161,161,109,161,215,118,109, - 241,161,118,109,118 + 11,11,11,11,11,38,29,161,211,211, + 54,123,54,211,217,10,123,95,91,46, + 11,11,11,11,95,10,156,242,112,211, + 80,124,31,233,211,56,242,80,137,124, + 31,50,80,170,11,11,12,140,161,54, + 54,228,95,217,50,11,11,95,129,129, + 129,129,11,11,242,11,172,11,119,122, + 95,242,76,158,11,14,95,124,11,166, + 211,205,11,11,166,66,61,50,31,217, + 242,242,242,242,153,153,211,31,11,11, + 172,114,119,242,95,211,52,11,129,158, + 138,11,11,225,211,61,211,36,221,170, + 11,31,11,64,211,201,61,166,166,10, + 242,242,91,31,31,112,219,211,11,76, + 153,31,74,138,170,119,225,36,89,98, + 207,31,31,119,10,61,61,211,91,52, + 242,74,11,11,68,68,170,89,109,11, + 61,11,242,10,10,83,211,119,180,211, + 11,11,211,104,98,10,153,211,11,83, + 11,180,141,11,217,12,119,233,233,85, + 126,11,31,11,170,11,11,11,127,11, + 217,168,170,170,217,59,242,91,240,211, + 11,205,11,211,11,11,11,166,11,87, + 11,11,11,127,244,244,117,11,244,170, + 170,11,211,211,242,180,211,180,170,11, + 242,132,211,211,166,61,11,233,242,207, + 242,232,211,11,242,85,83,233,132,207, + 170,50,180,132,132,61,102,68,242,242, + 211,127,11,127,170,207,129,127,87,50, + 50,50,102,170,11,59,59,172,31,11, + 185,170,242,170,224,127,242,170,127 }; }; public final static char nasb[] = Nasb.nasb; @@ -1896,31 +1867,31 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Nasr { public final static char nasr[] = {0, - 3,12,7,5,145,143,120,142,141,2, - 0,57,0,149,0,5,2,7,132,0, - 155,0,1,3,0,183,0,113,0,43, - 4,5,7,2,12,0,52,63,0,175, - 0,7,3,12,5,1,0,4,96,0, - 2,7,3,0,4,172,0,12,2,7, - 5,62,0,136,0,4,27,0,4,185, - 0,66,0,170,0,4,62,0,122,0, - 12,2,7,5,76,0,134,0,63,131, - 130,0,181,0,58,0,5,42,2,3, - 0,4,46,38,173,0,43,4,31,0, - 111,0,52,2,63,0,62,46,68,4, - 38,0,103,4,46,67,0,153,0,2, - 114,0,2,61,0,5,102,182,0,5, - 89,0,5,89,22,4,0,94,93,5, - 56,0,154,0,164,5,163,0,4,38, - 37,0,148,0,110,0,5,102,160,0, - 2,7,52,60,93,94,4,0,4,46, - 67,77,0,2,42,0,4,43,166,0, - 37,52,7,2,4,151,0,5,89,2, - 7,52,60,4,0,4,43,38,0,94, - 93,52,60,56,5,7,2,0,2,5, - 120,116,117,118,12,86,0,4,46,67, - 102,44,5,0,115,4,43,0,22,174, - 4,100,0 + 3,12,7,5,144,142,119,141,140,2, + 0,148,0,1,3,0,177,0,5,2, + 7,131,0,47,63,0,169,0,43,4, + 5,7,2,12,0,152,0,63,130,129, + 0,2,7,3,0,12,2,7,5,62, + 0,133,0,111,0,4,171,0,57,0, + 2,61,0,183,0,185,0,110,0,12, + 2,7,5,69,0,135,0,66,0,2, + 42,0,121,0,154,0,113,0,153,0, + 58,0,5,42,2,3,0,163,5,162, + 0,147,0,4,46,38,173,0,4,62, + 0,22,4,5,89,0,38,175,22,4, + 0,47,2,63,0,62,46,71,4,38, + 0,103,4,46,67,0,2,114,0,37, + 47,7,2,4,150,0,4,187,0,4, + 30,0,4,96,0,94,93,5,56,0, + 4,46,67,101,44,5,0,4,38,37, + 0,2,7,47,60,93,94,4,0,4, + 46,67,70,0,4,172,0,2,5,119, + 115,116,117,12,86,0,4,43,165,0, + 5,101,159,0,5,89,2,7,47,60, + 4,0,7,3,12,5,1,0,94,93, + 47,60,56,5,7,2,0,5,101,184, + 0,174,4,43,0,4,43,38,0,43, + 4,32,0,4,43,102,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -1930,13 +1901,13 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public final static char terminalIndex[] = {0, 115,116,2,32,14,11,81,10,117,102, 122,68,12,13,50,54,62,70,76,77, - 88,89,104,107,109,8,9,114,15,20, - 95,57,63,69,86,90,92,96,99,101, - 106,111,112,113,46,56,108,49,66,72, - 75,78,85,91,100,1,105,3,79,97, - 48,55,21,60,80,45,34,65,93,103, - 121,31,123,120,98,110,51,52,58,59, - 61,67,71,73,74,87,94,18,19,7, + 88,89,104,107,109,8,9,114,20,95, + 15,57,63,69,86,90,92,96,99,101, + 106,111,112,113,46,56,108,1,49,66, + 72,75,78,85,91,100,105,3,79,97, + 48,21,55,45,60,80,34,121,65,93, + 103,31,120,123,67,98,110,51,52,58, + 59,61,71,73,74,87,94,18,19,7, 16,17,22,23,33,5,24,25,26,27, 28,29,6,35,36,37,38,39,40,41, 42,43,44,82,83,84,30,119,53,4, @@ -1950,24 +1921,24 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public final static char nonterminalIndex[] = {0, 132,137,139,0,0,138,235,136,0,135, 0,146,134,0,0,145,151,0,0,152, - 161,182,162,163,164,165,154,166,167,168, - 128,169,170,144,171,0,130,133,172,0, + 161,182,162,163,164,165,166,167,168,154, + 169,128,170,144,171,0,130,133,172,0, 141,140,155,180,0,0,0,0,0,0, 0,0,205,0,148,158,175,189,202,206, - 0,129,0,178,0,207,0,174,0,0, - 0,0,0,0,0,127,131,0,0,0, + 0,129,0,178,0,207,0,0,127,131, + 174,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,188,0,0,203,213, - 160,209,210,211,0,0,0,0,149,0, - 208,221,181,0,200,0,0,0,212,0, - 0,0,241,150,177,191,192,193,194,195, - 197,0,215,218,220,238,0,240,0,142, - 143,147,0,0,157,159,0,173,0,183, - 184,185,186,187,190,0,196,198,0,199, - 204,0,0,216,217,0,222,225,227,229, - 0,232,233,234,0,236,237,239,126,0, - 153,156,176,179,201,214,219,0,223,224, - 226,228,0,230,231,242,243,0,0,0, - 0,0,0 + 160,209,210,211,0,0,0,0,149,208, + 221,177,181,0,200,0,0,0,212,0, + 0,0,241,150,191,192,193,194,195,197, + 0,215,218,220,238,0,240,0,142,143, + 147,0,0,157,159,0,173,0,183,184, + 185,186,187,190,0,196,198,0,199,204, + 0,0,216,217,0,222,225,227,229,0, + 232,233,234,0,236,237,239,126,0,153, + 156,0,176,0,179,0,201,214,219,0, + 223,224,226,228,0,230,231,242,243,0, + 0,0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -1975,18 +1946,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopePrefix { public final static char scopePrefix[] = { - 146,598,617,377,549,565,576,587,357,256, - 270,292,298,304,42,281,402,440,154,606, - 385,492,20,51,75,80,85,122,182,287, - 310,321,332,262,276,520,27,367,332,625, - 27,204,235,1,14,61,71,101,136,217, - 315,328,337,346,350,458,485,514,541,545, - 635,639,643,92,7,92,136,420,436,449, - 469,533,449,556,572,583,594,194,391,503, - 56,56,143,209,212,230,251,212,212,56, - 354,464,482,489,143,56,656,105,223,424, - 476,111,111,223,56,223,411,164,99,462, - 647,654,647,654,65,430,129,99,99,240 + 146,573,592,524,540,551,562,357,256,270, + 292,298,304,42,281,377,415,154,581,467, + 20,51,75,80,85,122,182,287,310,321, + 332,262,276,495,27,367,332,600,27,204, + 235,1,14,61,71,101,136,217,315,328, + 337,346,350,433,460,489,516,520,610,614, + 618,92,7,92,136,395,411,424,444,508, + 424,531,547,558,569,194,478,56,56,143, + 209,212,230,251,212,212,56,354,439,457, + 464,143,56,631,105,223,399,451,111,111, + 223,56,223,386,164,99,437,622,629,622, + 629,65,405,129,99,99,240 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -1994,18 +1965,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,364,5,5,5,5,364,127, - 90,127,127,127,48,267,408,446,160,67, - 372,498,25,25,59,59,90,127,187,127, - 127,326,326,267,96,525,38,372,612,630, - 32,198,198,5,18,5,59,90,127,221, - 319,319,319,90,90,127,233,5,5,5, - 5,5,233,221,11,96,140,364,364,364, - 473,525,453,560,560,560,560,198,395,507, - 59,59,5,5,215,233,5,254,254,344, - 90,467,5,233,5,518,5,108,341,427, - 479,114,118,226,537,528,414,167,90,90, - 649,649,651,651,67,432,131,189,174,242 + 18,5,5,5,5,5,5,364,127,90, + 127,127,127,48,267,383,421,160,67,473, + 25,25,59,59,90,127,187,127,127,326, + 326,267,96,500,38,372,587,605,32,198, + 198,5,18,5,59,90,127,221,319,319, + 319,90,90,127,233,5,5,5,5,5, + 233,221,11,96,140,364,364,364,448,500, + 428,535,535,535,535,198,482,59,59,5, + 5,215,233,5,254,254,344,90,442,5, + 233,5,493,5,108,341,402,454,114,118, + 226,512,503,389,167,90,90,624,624,626, + 626,67,407,131,189,174,242 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2013,18 +1984,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeLhs { public final static char scopeLhs[] = { - 44,16,16,72,16,16,16,16,72,80, - 45,85,84,118,65,50,72,71,44,16, - 72,18,3,6,160,160,157,116,44,83, - 118,117,119,51,45,132,127,72,16,16, - 127,95,152,129,75,163,160,157,124,54, - 117,117,119,174,48,57,136,17,16,16, - 16,16,16,11,113,157,124,72,71,71, - 36,132,71,16,16,16,16,95,72,18, - 164,160,175,93,101,66,53,151,64,119, - 73,69,137,136,170,132,15,157,119,115, - 20,125,125,56,132,132,72,44,157,70, - 130,42,130,42,163,115,116,44,44,152 + 44,16,16,16,16,16,16,74,80,45, + 85,84,117,65,51,74,73,44,16,18, + 3,6,159,159,156,115,44,83,117,116, + 118,52,45,131,126,74,16,16,126,95, + 151,128,77,162,159,156,123,54,116,116, + 118,176,49,57,135,17,16,16,16,16, + 16,11,113,156,123,74,73,73,36,131, + 73,16,16,16,16,95,18,163,159,177, + 93,100,66,53,150,64,118,75,72,136, + 135,169,131,15,156,118,102,20,124,124, + 56,131,131,74,44,156,68,129,42,129, + 42,162,102,115,44,44,151 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2032,18 +2003,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeLa { public final static byte scopeLa[] = { - 119,74,74,74,74,74,74,74,74,71, - 11,71,71,71,63,1,74,122,58,3, - 11,74,63,63,1,1,11,71,58,71, - 71,1,1,1,1,4,63,11,1,1, - 63,74,74,74,119,74,1,11,71,1, - 1,1,1,11,11,71,118,74,74,74, - 74,74,118,1,74,1,66,74,74,74, - 72,4,74,63,63,63,63,74,11,3, - 1,1,74,74,3,118,74,1,1,1, - 11,72,74,118,74,5,74,1,31,67, - 74,1,1,6,1,31,76,75,11,11, - 4,4,4,4,3,1,58,1,1,3 + 119,73,73,73,73,73,73,73,68,11, + 68,68,68,62,1,73,122,58,3,73, + 62,62,1,1,11,68,58,68,68,1, + 1,1,1,4,62,11,1,1,62,73, + 73,73,119,73,1,11,68,1,1,1, + 1,11,11,68,118,73,73,73,73,73, + 118,1,73,1,64,73,73,73,72,4, + 73,62,62,62,62,73,3,1,1,73, + 73,3,118,73,1,1,1,11,72,73, + 118,73,5,73,1,30,67,73,1,1, + 6,1,30,77,76,11,11,4,4,4, + 4,3,1,58,1,1,3 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2051,18 +2022,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeStateSet { public final static char scopeStateSet[] = { - 54,238,238,65,238,238,238,238,65,78, - 54,78,78,96,76,56,65,65,54,238, - 65,238,170,212,45,45,51,96,54,78, - 96,96,96,56,54,88,35,65,238,238, - 35,143,48,12,65,16,45,51,300,153, - 96,96,96,1,56,19,42,238,238,238, - 238,238,238,233,7,51,300,65,65,65, - 270,88,65,238,238,238,238,143,65,238, - 16,45,151,143,145,139,153,48,158,96, - 65,65,39,42,91,88,238,51,96,3, - 239,96,96,100,88,88,65,54,51,65, - 93,116,93,116,16,3,96,54,54,48 + 60,243,243,243,243,243,243,34,71,60, + 71,71,101,81,62,34,34,60,243,243, + 175,217,54,54,90,101,60,71,101,101, + 101,62,60,93,44,34,243,243,44,148, + 57,22,34,26,54,90,305,158,101,101, + 101,20,62,29,51,243,243,243,243,243, + 243,238,6,90,305,34,34,34,275,93, + 34,243,243,243,243,148,243,26,54,156, + 148,150,144,158,57,163,101,34,34,48, + 51,96,93,243,90,101,1,244,101,101, + 105,93,93,34,60,90,11,98,121,98, + 121,26,1,101,60,60,57 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2070,72 +2041,70 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeRhs { public final static char scopeRhs[] = {0, - 311,3,60,0,128,0,310,3,119,0, - 128,175,0,128,181,75,0,217,0,289, - 128,30,126,0,21,0,291,128,30,31, + 313,3,60,0,128,0,312,3,119,0, + 128,175,0,128,181,76,0,217,0,288, + 128,29,126,0,21,0,290,128,29,30, 0,21,55,0,34,134,0,21,55,0, - 0,291,128,30,31,191,0,21,131,0, - 289,128,30,131,0,185,129,0,144,0, - 220,3,288,0,288,0,2,0,128,0, - 185,129,226,0,185,129,41,226,0,185, - 129,307,41,0,132,187,166,129,0,130, + 0,290,128,29,30,191,0,21,131,0, + 288,128,29,131,0,185,129,0,144,0, + 220,3,287,0,287,0,2,0,128,0, + 185,129,225,0,185,129,41,225,0,185, + 129,309,41,0,132,187,166,129,0,130, 0,187,166,129,0,136,130,0,170,0, - 303,128,170,0,128,170,0,223,130,0, - 166,244,0,139,0,0,0,137,0,0, - 0,302,128,58,249,0,129,0,249,0, - 3,0,0,129,0,301,128,58,0,45, - 129,0,151,3,0,128,278,277,128,75, - 275,170,0,277,128,75,275,170,0,216, - 0,217,0,275,170,0,98,0,0,216, + 305,128,170,0,128,170,0,223,130,0, + 166,243,0,139,0,0,0,137,0,0, + 0,304,128,58,248,0,129,0,248,0, + 3,0,0,129,0,303,128,58,0,45, + 129,0,154,3,0,128,277,276,128,76, + 274,170,0,276,128,76,274,170,0,216, + 0,217,0,274,170,0,98,0,0,216, 0,217,0,204,98,0,0,216,0,217, - 0,277,128,275,170,0,216,0,204,0, + 0,276,128,274,170,0,216,0,204,0, 0,216,0,231,128,3,0,128,0,0, - 0,0,0,231,128,3,217,0,225,3, - 0,213,128,0,209,0,187,166,176,0, + 0,0,0,231,128,3,217,0,224,3, + 0,213,128,0,209,0,187,166,171,0, 136,0,166,129,0,11,0,0,0,215, - 56,0,127,0,231,128,3,177,0,177, + 48,0,127,0,231,128,3,177,0,177, 0,2,0,0,128,0,0,0,0,0, 188,3,0,202,0,228,128,58,28,12, 0,185,129,59,57,0,198,130,0,132, - 185,129,273,57,0,185,129,273,57,0, + 185,129,272,57,0,185,129,272,57,0, 185,129,67,125,59,0,228,128,58,59, 0,228,128,58,123,59,0,228,128,58, - 126,59,0,270,128,58,125,68,0,270, - 128,58,68,0,185,129,68,0,137,0, - 187,185,129,244,0,139,0,185,129,244, + 126,59,0,269,128,58,125,69,0,269, + 128,58,69,0,185,129,69,0,137,0, + 187,185,129,243,0,139,0,185,129,243, 0,187,166,129,10,0,166,129,10,0, - 95,139,0,149,0,263,128,146,0,263, - 128,170,0,162,86,0,224,161,224,298, - 3,83,0,128,174,0,224,298,3,83, - 0,130,0,128,174,0,224,161,224,161, - 224,3,83,0,224,161,224,3,83,0, - 224,3,83,0,130,0,130,0,128,174, - 0,162,3,76,192,81,0,128,130,0, - 192,81,0,110,2,133,128,130,0,239, - 3,76,0,188,167,0,34,172,0,167, - 0,178,34,172,0,239,3,87,0,192, - 155,239,3,85,0,64,174,0,239,3, - 85,0,128,174,64,174,0,297,128,58, - 0,162,0,215,78,0,31,0,162,117, - 159,0,31,172,0,179,3,0,128,152, - 0,220,3,0,215,56,260,0,162,56, - 0,179,3,294,65,129,0,128,0,0, - 0,0,294,65,129,0,2,148,128,0, - 0,0,0,179,3,36,0,150,0,127, - 31,166,129,0,32,150,0,95,139,32, - 150,0,223,185,129,0,149,32,150,0, - 179,3,40,0,162,3,40,0,162,3, - 63,179,30,32,0,179,30,32,0,21, - 2,133,128,0,162,3,63,179,30,35, - 0,179,30,35,0,162,3,63,179,30, - 37,0,179,30,37,0,162,3,63,179, - 30,33,0,179,30,33,0,220,3,127, - 187,166,129,10,0,127,187,166,129,10, - 0,139,2,0,128,0,220,3,126,176, - 166,129,10,0,176,166,129,10,0,137, - 2,0,128,0,220,3,136,0,220,3, - 140,0,162,56,140,0,255,0,32,0, - 32,142,0,165,0,162,3,0 + 95,139,0,149,0,262,128,146,0,262, + 128,170,0,162,86,0,296,161,298,299, + 3,83,0,128,174,0,298,299,3,83, + 0,130,0,128,174,0,162,3,77,195, + 82,0,128,130,0,195,82,0,110,2, + 133,128,130,0,226,3,77,0,188,167, + 0,34,172,0,167,0,178,34,172,0, + 226,3,87,0,195,156,226,3,85,0, + 64,174,0,226,3,85,0,128,174,64, + 174,0,297,128,58,0,162,0,215,79, + 0,31,0,162,117,159,0,31,172,0, + 179,3,0,128,152,0,220,3,0,215, + 48,259,0,162,48,0,179,3,293,66, + 129,0,128,0,0,0,0,293,66,129, + 0,2,148,128,0,0,0,0,179,3, + 36,0,150,0,127,30,166,129,0,32, + 150,0,95,139,32,150,0,223,185,129, + 0,149,32,150,0,179,3,40,0,162, + 3,40,0,162,3,62,179,29,32,0, + 179,29,32,0,21,2,133,128,0,162, + 3,62,179,29,35,0,179,29,35,0, + 162,3,62,179,29,37,0,179,29,37, + 0,162,3,62,179,29,33,0,179,29, + 33,0,220,3,127,187,166,129,10,0, + 127,187,166,129,10,0,139,2,0,128, + 0,220,3,126,171,166,129,10,0,171, + 166,129,10,0,137,2,0,128,0,220, + 3,136,0,220,3,140,0,162,48,140, + 0,254,0,32,0,32,142,0,165,0, + 162,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2143,37 +2112,37 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeState { public final static char scopeState[] = {0, - 4453,0,4502,4446,4445,0,2699,973,666,608, - 0,1276,1228,1182,0,3171,2971,0,3226,3187, - 3148,2806,2796,3109,3070,3031,2992,564,2953,2570, - 2531,2995,2810,0,4444,4182,4429,0,3265,1964, - 0,1089,887,0,3246,2678,0,2959,3470,0, - 2545,4193,0,2545,4193,2801,2737,3569,2673,2609, - 3517,3464,3345,3336,3226,3187,3148,3109,3070,3031, - 2992,2953,2570,2531,0,2545,4193,2801,2737,3569, - 2673,2609,3517,3464,3345,3336,0,969,568,0, - 1100,0,2598,2213,0,527,4136,2337,0,3431, - 4064,3352,3551,1341,4409,3721,710,2768,2798,4106, - 1213,3784,3444,2744,0,4364,4320,4311,4302,4296, - 4290,4246,4225,4440,4436,4390,3763,2828,4385,2733, - 2669,4374,2664,2426,4200,4149,3363,0,1644,1480, - 1013,965,4064,2798,3749,3734,3278,2742,2471,0, - 707,0,2959,4064,3551,3470,3444,3749,4101,1038, - 4275,3431,4210,3734,3721,3278,3830,4125,0,4364, - 4320,3744,3625,3575,4311,4302,4296,3326,3290,4290, - 4246,3093,4225,3054,2871,2584,2554,2463,4440,2648, - 4436,4390,1272,1093,3763,2828,4458,4385,2733,2669, - 773,2634,4374,2664,4136,2426,4200,4149,2337,616, - 3363,3749,4101,1038,4275,3431,2959,4210,2894,4064, - 3551,2141,3734,3721,3278,3470,1027,717,848,3444, - 3830,4125,648,2054,1967,969,568,4074,4043,4022, - 2154,2191,2224,581,2310,2283,2254,2931,2906,2509, - 2483,2373,2345,3699,3677,3655,3302,2399,4001,3980, - 3959,3938,3917,3896,3846,2432,901,780,622,1852, - 2104,2067,2017,1980,1191,1148,1930,1106,1893,1811, - 804,1770,1729,1688,1647,1606,1565,1524,1483,1442, - 1401,1360,1319,527,729,673,1277,1048,1232,928, - 860,986,0 + 4468,4561,4560,4559,0,2139,1513,1887,1431,0, + 3302,3246,3190,3134,3078,3022,2966,2579,2523,2540, + 0,1472,1390,1349,0,2837,2450,0,1790,1749, + 1041,2916,2184,3302,3246,3190,3134,3078,3022,2966, + 2579,2523,0,4307,3333,3418,0,2900,906,0, + 1301,1260,0,3728,4280,0,2739,2675,0,4475, + 2986,3302,3246,3190,3134,3078,3022,2966,2579,2523, + 2814,2750,3695,2686,2622,3642,3556,3470,3417,0, + 2814,2750,3695,2686,2622,3642,3556,3470,3417,4475, + 2986,0,969,650,0,668,0,3196,717,0, + 530,3561,2330,0,3523,4239,3002,4435,3165,2688, + 3847,2587,2530,2969,1178,2822,1137,3890,707,0, + 3871,3655,3590,3444,3430,3270,3214,3158,3408,3047, + 2979,3102,2782,2871,2657,1043,2867,924,2419,2547, + 2425,1313,0,1642,1437,1396,1273,4239,2969,3875, + 3861,3360,2755,2713,0,624,0,2739,4239,4435, + 2675,3890,3875,4249,4356,4449,3523,4335,3861,3847, + 3360,4370,4263,0,3871,3655,2975,2430,2148,3590, + 3444,3430,2140,849,3270,3214,3702,3158,3341,3173, + 3117,2536,2144,3408,2661,3047,2979,853,775,3102, + 2782,2434,2871,2657,1043,662,3667,2867,924,3561, + 2419,2547,2425,2330,619,1313,3875,4249,4356,4449, + 3523,2739,4335,2052,4239,4435,1965,3861,3847,3360, + 2675,1088,719,797,3890,4370,4263,782,1027,571, + 969,650,625,4218,4197,2152,584,2219,2189,2303, + 2276,2248,2944,2919,2501,2475,2366,2338,3825,3803, + 3781,3380,2392,4176,4155,4134,4113,4092,4071,4050, + 4029,4006,3971,902,1850,2102,2065,2015,1978,1189, + 1146,1928,1105,1891,1809,805,1768,1727,1686,1645, + 1604,1563,1522,1481,1440,1399,1358,1317,530,731, + 675,1269,1047,1230,928,861,986,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2181,59 +2150,58 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface InSymb { public final static char inSymb[] = {0, - 0,293,188,177,184,176,131,7,5,126, - 3,128,3,67,56,166,165,126,30,167, - 128,56,3,64,65,126,125,30,188,213, - 129,6,151,128,58,40,32,35,37,33, - 10,136,4,3,129,36,29,5,14,13, + 0,292,188,177,184,171,131,7,5,126, + 3,128,3,67,48,166,165,126,29,167, + 128,48,3,65,66,126,125,29,188,213, + 129,6,154,128,58,40,32,35,37,33, + 10,136,4,3,129,36,31,5,14,13, 6,8,27,26,140,145,148,147,150,149, - 153,152,156,154,157,60,159,215,159,187, - 4,128,128,264,265,249,266,244,267,68, - 268,269,10,129,56,56,128,166,128,262, - 128,3,30,30,30,30,129,3,7,126, - 179,162,167,128,64,65,166,3,127,103, - 120,3,56,90,96,14,13,92,91,6, - 94,93,63,30,88,89,8,98,97,100, + 152,151,155,153,157,60,159,215,159,187, + 4,128,128,263,264,248,265,243,266,69, + 267,268,10,129,48,48,128,166,128,261, + 128,3,29,29,29,29,129,3,7,126, + 179,162,167,128,65,66,166,3,127,103, + 120,3,48,90,96,14,13,92,91,6, + 94,93,62,29,88,89,8,98,97,100, 99,101,113,112,111,110,109,108,107,106, - 105,104,67,117,102,255,187,289,134,292, + 105,104,67,117,102,254,187,288,134,291, 213,58,166,234,129,127,126,125,58,129, - 129,185,166,289,6,182,66,301,179,162, - 179,179,179,179,166,220,155,128,3,218, - 217,136,127,126,10,129,56,294,3,187, - 179,31,129,31,220,162,147,147,145,145, - 145,149,149,149,149,148,148,152,150,150, - 154,153,156,162,157,4,66,128,127,126, - 128,185,128,58,128,185,166,31,128,66, - 63,63,63,63,187,176,213,225,128,3, - 129,166,200,3,295,167,151,129,185,166, - 72,302,129,168,226,191,57,170,304,128, - 128,72,187,128,270,125,271,187,3,3, + 129,185,166,288,6,182,64,303,179,162, + 179,179,179,179,166,220,156,128,3,218, + 217,136,127,126,10,129,48,293,3,187, + 179,30,129,30,220,162,147,147,145,145, + 145,149,149,149,149,148,148,151,150,150, + 153,152,155,162,157,4,64,128,127,126, + 128,185,128,58,128,185,166,30,128,64, + 62,62,62,62,187,171,213,224,128,3, + 129,166,193,3,294,167,154,129,185,166, + 72,304,129,168,225,191,57,170,306,128, + 128,72,187,128,269,125,270,187,3,3, 3,3,127,126,231,232,146,233,128,166, - 31,179,128,128,223,5,31,166,31,273, - 275,128,177,306,226,41,129,270,67,66, - 162,162,162,162,3,3,155,67,225,188, - 3,128,66,231,187,155,257,260,56,180, - 4,125,127,187,30,129,75,128,213,303, - 126,72,283,188,3,66,129,41,307,185, - 220,220,128,67,67,128,213,155,127,128, - 3,56,162,4,132,128,185,128,277,72, - 66,72,67,128,185,129,129,221,128,257, - 220,215,291,31,10,62,132,277,58,287, - 129,288,231,185,185,128,221,66,63,30, - 234,234,278,128,66,185,3,155,60,128, - 12,31,170,61,59,57,128,67,67,128, - 297,80,78,1,162,87,85,83,81,76, - 84,86,79,77,59,75,220,128,3,28, - 30,128,3,58,123,126,125,59,291,279, - 119,9,215,72,3,3,3,192,3,125, - 162,125,181,221,311,128,58,63,263,274, - 28,128,58,58,67,129,63,3,239,167, - 239,298,224,146,76,239,128,128,66,128, - 66,155,228,227,128,128,129,185,62,95, - 310,167,155,188,155,224,161,128,3,155, - 279,228,228,228,185,272,234,155,155,128, - 67,192,161,224,263,162,272,67,122,224, - 161,155,155,224,155 + 30,179,128,128,223,5,30,166,30,272, + 274,128,177,308,225,41,129,269,67,64, + 162,162,162,162,3,3,156,67,224,188, + 3,128,64,231,187,156,256,259,48,180, + 4,125,127,187,29,129,76,128,213,305, + 126,72,282,188,3,64,129,41,309,185, + 220,220,128,67,67,128,213,156,127,128, + 3,48,162,4,132,128,185,128,276,72, + 64,72,67,128,185,129,129,221,128,256, + 220,215,290,30,10,63,132,276,58,286, + 129,287,231,185,185,128,221,64,62,29, + 234,234,277,128,64,185,3,156,60,128, + 12,30,170,61,59,57,128,67,67,128, + 297,81,79,1,162,87,85,83,82,77, + 84,86,80,78,59,76,220,128,3,28, + 29,128,3,58,123,126,125,59,290,278, + 119,9,215,72,3,3,3,195,3,125, + 162,125,181,221,313,128,58,62,262,273, + 28,128,58,58,67,129,62,3,226,167, + 226,299,146,77,226,128,128,64,128,64, + 156,228,227,128,128,129,185,63,95,312, + 167,156,188,156,298,128,3,156,278,228, + 228,228,185,271,234,156,156,128,67,195, + 161,262,162,271,67,122,296,156,156 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2422,8 +2390,7 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars "statement_seq", "condition", "declarator", - "simple_declaration_with_declsp" + - "ec", + "for_init_statement", "function_definition", "declaration_seq", "declaration_specifiers", @@ -2498,9 +2465,9 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 73, - SCOPE_UBOUND = 119, - SCOPE_SIZE = 120, + ERROR_SYMBOL = 74, + SCOPE_UBOUND = 116, + SCOPE_SIZE = 117, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -2509,20 +2476,20 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 525, + NUM_STATES = 519, NT_OFFSET = 124, - LA_STATE_OFFSET = 5639, + LA_STATE_OFFSET = 5623, MAX_LA = 2147483647, - NUM_RULES = 526, - NUM_NONTERMINALS = 193, - NUM_SYMBOLS = 317, + NUM_RULES = 529, + NUM_NONTERMINALS = 195, + NUM_SYMBOLS = 319, SEGMENT_SIZE = 8192, - START_STATE = 4125, + START_STATE = 4263, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 121, EOLT_SYMBOL = 121, - ACCEPT_ACTION = 4735, - ERROR_ACTION = 5113; + ACCEPT_ACTION = 4716, + ERROR_ACTION = 5094; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java index 8e67cdac8a0..f494b70c58b 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java @@ -16,68 +16,68 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPNoFunctionDeclaratorParsersym { public final static int TK_asm = 61, - TK_auto = 48, + TK_auto = 49, TK_bool = 15, - TK_break = 77, - TK_case = 78, + TK_break = 78, + TK_case = 79, TK_catch = 119, TK_char = 16, - TK_class = 62, + TK_class = 63, TK_const = 46, TK_const_cast = 32, - TK_continue = 79, - TK_default = 80, - TK_delete = 64, - TK_do = 81, + TK_continue = 80, + TK_default = 81, + TK_delete = 65, + TK_do = 82, TK_double = 17, TK_dynamic_cast = 33, TK_else = 122, - TK_enum = 68, - TK_explicit = 49, - TK_export = 82, + TK_enum = 69, + TK_explicit = 50, + TK_export = 75, TK_extern = 12, TK_false = 34, TK_float = 18, TK_for = 83, - TK_friend = 50, + TK_friend = 51, TK_goto = 84, TK_if = 85, - TK_inline = 51, + TK_inline = 52, TK_int = 19, TK_long = 20, - TK_mutable = 52, + TK_mutable = 53, TK_namespace = 59, - TK_new = 65, + TK_new = 66, TK_operator = 7, TK_private = 114, TK_protected = 115, TK_public = 116, - TK_register = 53, + TK_register = 54, TK_reinterpret_cast = 35, TK_return = 86, TK_short = 21, TK_signed = 22, TK_sizeof = 36, - TK_static = 54, + TK_static = 55, TK_static_cast = 37, - TK_struct = 69, + TK_struct = 70, TK_switch = 87, - TK_template = 31, + TK_template = 30, TK_this = 38, TK_throw = 60, - TK_try = 75, + TK_try = 76, TK_true = 39, - TK_typedef = 55, + TK_typedef = 56, TK_typeid = 40, TK_typename = 10, - TK_union = 70, + TK_union = 71, TK_unsigned = 23, TK_using = 57, TK_virtual = 41, TK_void = 24, TK_volatile = 47, TK_wchar_t = 25, - TK_while = 76, + TK_while = 77, TK_integer = 42, TK_floating = 43, TK_charconst = 44, @@ -86,7 +86,7 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 124, - TK_LeftBracket = 56, + TK_LeftBracket = 48, TK_LeftParen = 3, TK_LeftBrace = 58, TK_Dot = 120, @@ -100,13 +100,13 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_Plus = 13, TK_Minus = 14, TK_Tilde = 5, - TK_Bang = 29, + TK_Bang = 31, TK_Slash = 91, TK_Percent = 92, TK_RightShift = 88, TK_LeftShift = 89, - TK_LT = 30, - TK_GT = 63, + TK_LT = 29, + TK_GT = 62, TK_LE = 93, TK_GE = 94, TK_EQ = 97, @@ -130,13 +130,13 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_AndAssign = 111, TK_CaretAssign = 112, TK_OrAssign = 113, - TK_Comma = 66, + TK_Comma = 64, TK_zero = 45, TK_RightBracket = 118, - TK_RightParen = 74, - TK_RightBrace = 71, + TK_RightParen = 73, + TK_RightBrace = 68, TK_SemiColon = 11, - TK_ERROR_TOKEN = 73, + TK_ERROR_TOKEN = 74, TK_original_namespace_name = 123, TK_EOF_TOKEN = 121; @@ -170,9 +170,9 @@ public interface CPPNoFunctionDeclaratorParsersym { "PlusPlus", "MinusMinus", "stringlit", - "Bang", "LT", "template", + "Bang", "const_cast", "dynamic_cast", "false", @@ -189,6 +189,7 @@ public interface CPPNoFunctionDeclaratorParsersym { "zero", "const", "volatile", + "LeftBracket", "auto", "explicit", "friend", @@ -197,25 +198,25 @@ public interface CPPNoFunctionDeclaratorParsersym { "register", "static", "typedef", - "LeftBracket", "using", "LeftBrace", "namespace", "throw", "asm", - "class", "GT", + "class", + "Comma", "delete", "new", - "Comma", "Assign", + "RightBrace", "enum", "struct", "union", - "RightBrace", "Colon", - "ERROR_TOKEN", "RightParen", + "ERROR_TOKEN", + "export", "try", "while", "break", @@ -223,7 +224,6 @@ public interface CPPNoFunctionDeclaratorParsersym { "continue", "default", "do", - "export", "for", "goto", "if", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java index 52738c46920..fc4ee486373 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java @@ -1155,1101 +1155,1108 @@ public CPPParser(String[] mapFrom) { // constructor } // - // Rule 196: iteration_statement ::= while ( condition ) statement + // Rule 197: condition_opt ::= $Empty // - case 196: { action.builder. + case 197: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 198: iteration_statement ::= while ( condition ) statement + // + case 198: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 197: iteration_statement ::= do statement while ( expression ) ; + // Rule 199: iteration_statement ::= do statement while ( expression ) ; // - case 197: { action.builder. + case 199: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 198: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - case 198: { action.builder. - consumeStatementForLoop(); break; - } - - // - // Rule 199: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement - // - case 199: { action.builder. - consumeStatementForLoop(); break; - } - - // - // Rule 200: jump_statement ::= break ; + // Rule 200: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // case 200: { action.builder. + consumeStatementForLoop(); break; + } + + // + // Rule 202: for_init_statement ::= simple_declaration_with_declspec + // + case 202: { action.builder. + consumeStatementDeclaration(); break; + } + + // + // Rule 203: jump_statement ::= break ; + // + case 203: { action.builder. consumeStatementBreak(); break; } // - // Rule 201: jump_statement ::= continue ; + // Rule 204: jump_statement ::= continue ; // - case 201: { action.builder. + case 204: { action.builder. consumeStatementContinue(); break; } // - // Rule 202: jump_statement ::= return expression ; + // Rule 205: jump_statement ::= return expression ; // - case 202: { action.builder. + case 205: { action.builder. consumeStatementReturn(true); break; } // - // Rule 203: jump_statement ::= return ; + // Rule 206: jump_statement ::= return ; // - case 203: { action.builder. + case 206: { action.builder. consumeStatementReturn(false); break; } // - // Rule 204: jump_statement ::= goto identifier_token ; + // Rule 207: jump_statement ::= goto identifier_token ; // - case 204: { action.builder. + case 207: { action.builder. consumeStatementGoto(); break; } // - // Rule 205: declaration_statement ::= block_declaration + // Rule 208: declaration_statement ::= block_declaration // - case 205: { action.builder. + case 208: { action.builder. + consumeStatementDeclarationWithDisambiguation(); break; + } + + // + // Rule 209: declaration_statement ::= function_definition + // + case 209: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 206: declaration_statement ::= function_definition + // Rule 226: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; // - case 206: { action.builder. - consumeStatementDeclaration(); break; - } - - // - // Rule 223: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; - // - case 223: { action.builder. + case 226: { action.builder. consumeDeclarationSimple(true, true); break; } // - // Rule 224: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; + // Rule 227: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; // - case 224: { action.builder. + case 227: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 225: declaration_specifiers ::= simple_declaration_specifiers + // Rule 228: declaration_specifiers ::= simple_declaration_specifiers // - case 225: { action.builder. + case 228: { action.builder. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 226: declaration_specifiers ::= class_declaration_specifiers - // - case 226: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 227: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 227: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 228: declaration_specifiers ::= enum_declaration_specifiers - // - case 228: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 229: declaration_specifiers ::= type_name_declaration_specifiers + // Rule 229: declaration_specifiers ::= class_declaration_specifiers // case 229: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 230: declaration_specifiers ::= elaborated_declaration_specifiers + // + case 230: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 231: declaration_specifiers ::= enum_declaration_specifiers + // + case 231: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 232: declaration_specifiers ::= type_name_declaration_specifiers + // + case 232: { action.builder. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 230: declaration_specifiers_opt ::= $Empty + // Rule 233: declaration_specifiers_opt ::= $Empty // - case 230: { action.builder. + case 233: { action.builder. consumeEmpty(); break; } // - // Rule 235: no_type_declaration_specifier ::= friend + // Rule 238: no_type_declaration_specifier ::= friend // - case 235: { action.builder. + case 238: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 236: no_type_declaration_specifier ::= typedef + // Rule 239: no_type_declaration_specifier ::= typedef // - case 236: { action.builder. + case 239: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 256: storage_class_specifier ::= auto - // - case 256: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 257: storage_class_specifier ::= register - // - case 257: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 258: storage_class_specifier ::= static - // - case 258: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 259: storage_class_specifier ::= extern + // Rule 259: storage_class_specifier ::= auto // case 259: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 260: storage_class_specifier ::= mutable + // Rule 260: storage_class_specifier ::= register // case 260: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 261: function_specifier ::= inline + // Rule 261: storage_class_specifier ::= static // case 261: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 262: function_specifier ::= virtual + // Rule 262: storage_class_specifier ::= extern // case 262: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 263: function_specifier ::= explicit + // Rule 263: storage_class_specifier ::= mutable // case 263: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 264: simple_type_specifier ::= char + // Rule 264: function_specifier ::= inline // case 264: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 265: simple_type_specifier ::= wchar_t + // Rule 265: function_specifier ::= virtual // case 265: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 266: simple_type_specifier ::= bool + // Rule 266: function_specifier ::= explicit // case 266: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 267: simple_type_specifier ::= short + // Rule 267: simple_type_specifier ::= char // case 267: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 268: simple_type_specifier ::= int + // Rule 268: simple_type_specifier ::= wchar_t // case 268: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 269: simple_type_specifier ::= long + // Rule 269: simple_type_specifier ::= bool // case 269: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 270: simple_type_specifier ::= signed + // Rule 270: simple_type_specifier ::= short // case 270: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 271: simple_type_specifier ::= unsigned + // Rule 271: simple_type_specifier ::= int // case 271: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 272: simple_type_specifier ::= float + // Rule 272: simple_type_specifier ::= long // case 272: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 273: simple_type_specifier ::= double + // Rule 273: simple_type_specifier ::= signed // case 273: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 274: simple_type_specifier ::= void + // Rule 274: simple_type_specifier ::= unsigned // case 274: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 275: simple_type_specifier ::= float + // + case 275: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 276: simple_type_specifier ::= double + // + case 276: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 277: simple_type_specifier ::= void // case 277: { action.builder. - consumeQualifiedId(false); break; + consumeDeclSpecToken(); break; } // - // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name - // - case 278: { action.builder. - consumeQualifiedId(false); break; - } - - // - // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 279: { action.builder. - consumeQualifiedId(false); break; - } - - // - // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 280: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 280: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 281: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // + case 281: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 282: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // + case 282: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 283: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // + case 283: { action.builder. consumeQualifiedId(true); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name + // Rule 284: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name // - case 281: { action.builder. + case 284: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 282: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 285: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 282: { action.builder. + case 285: { action.builder. consumeTypeSpecifierElaborated(true); break; } // - // Rule 283: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name + // Rule 286: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name // - case 283: { action.builder. + case 286: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 284: enum_specifier ::= enum { enumerator_list_opt } + // Rule 287: enum_specifier ::= enum { enumerator_list_opt } // - case 284: { action.builder. + case 287: { action.builder. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 285: enum_specifier ::= enum identifier_token { enumerator_list_opt } + // Rule 288: enum_specifier ::= enum identifier_token { enumerator_list_opt } // - case 285: { action.builder. + case 288: { action.builder. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 290: enumerator_definition ::= identifier_token + // Rule 293: enumerator_definition ::= identifier_token // - case 290: { action.builder. + case 293: { action.builder. consumeEnumerator(false); break; } // - // Rule 291: enumerator_definition ::= identifier_token = constant_expression + // Rule 294: enumerator_definition ::= identifier_token = constant_expression // - case 291: { action.builder. + case 294: { action.builder. consumeEnumerator(true); break; } // - // Rule 297: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } + // Rule 300: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } // - case 297: { action.builder. + case 300: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 298: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } + // Rule 301: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } // - case 298: { action.builder. + case 301: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 299: unnamed_namespace_definition ::= namespace { declaration_seq_opt } + // Rule 302: unnamed_namespace_definition ::= namespace { declaration_seq_opt } // - case 299: { action.builder. + case 302: { action.builder. consumeNamespaceDefinition(false); break; } // - // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 300: { action.builder. + case 303: { action.builder. consumeNamespaceAliasDefinition(); break; } // - // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 304: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 301: { action.builder. + case 304: { action.builder. consumeUsingDeclaration(); break; } // - // Rule 302: typename_opt ::= typename + // Rule 305: typename_opt ::= typename // - case 302: { action.builder. + case 305: { action.builder. consumePlaceHolder(); break; } // - // Rule 303: typename_opt ::= $Empty + // Rule 306: typename_opt ::= $Empty // - case 303: { action.builder. + case 306: { action.builder. consumeEmpty(); break; } // - // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 307: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 304: { action.builder. + case 307: { action.builder. consumeUsingDirective(); break; } // - // Rule 305: asm_definition ::= asm ( stringlit ) ; + // Rule 308: asm_definition ::= asm ( stringlit ) ; // - case 305: { action.builder. + case 308: { action.builder. consumeDeclarationASM(); break; } // - // Rule 306: linkage_specification ::= extern stringlit { declaration_seq_opt } + // Rule 309: linkage_specification ::= extern stringlit { declaration_seq_opt } // - case 306: { action.builder. + case 309: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 307: linkage_specification ::= extern stringlit declaration + // Rule 310: linkage_specification ::= extern stringlit declaration // - case 307: { action.builder. + case 310: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 312: init_declarator_complete ::= init_declarator + // Rule 315: init_declarator_complete ::= init_declarator // - case 312: { action.builder. + case 315: { action.builder. consumeInitDeclaratorComplete(); break; } // - // Rule 314: init_declarator ::= declarator initializer + // Rule 317: init_declarator ::= declarator initializer // - case 314: { action.builder. + case 317: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 316: declarator ::= ptr_operator_seq direct_declarator + // Rule 319: declarator ::= ptr_operator_seq direct_declarator // - case 316: { action.builder. + case 319: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 318: function_declarator ::= ptr_operator_seq direct_declarator + // Rule 321: function_declarator ::= ptr_operator_seq direct_declarator // - case 318: { action.builder. + case 321: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 322: basic_direct_declarator ::= declarator_id_name + // Rule 325: basic_direct_declarator ::= declarator_id_name // - case 322: { action.builder. + case 325: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 323: basic_direct_declarator ::= ( declarator ) + // Rule 326: basic_direct_declarator ::= ( declarator ) // - case 323: { action.builder. + case 326: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 324: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 327: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 324: { action.builder. + case 327: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 328: array_direct_declarator ::= array_direct_declarator array_modifier // - case 325: { action.builder. + case 328: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 329: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 326: { action.builder. + case 329: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 327: array_modifier ::= [ constant_expression ] + // Rule 330: array_modifier ::= [ constant_expression ] // - case 327: { action.builder. + case 330: { action.builder. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 328: array_modifier ::= [ ] + // Rule 331: array_modifier ::= [ ] // - case 328: { action.builder. + case 331: { action.builder. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 329: ptr_operator ::= * cv_qualifier_seq_opt + // Rule 332: ptr_operator ::= * cv_qualifier_seq_opt // - case 329: { action.builder. + case 332: { action.builder. consumePointer(); break; } // - // Rule 330: ptr_operator ::= & + // Rule 333: ptr_operator ::= & // - case 330: { action.builder. + case 333: { action.builder. consumeReferenceOperator(); break; } // - // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt + // Rule 334: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt // - case 331: { action.builder. + case 334: { action.builder. consumePointerToMember(); break; } // - // Rule 337: cv_qualifier ::= const - // - case 337: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 338: cv_qualifier ::= volatile - // - case 338: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 340: declarator_id_name ::= nested_name_specifier template_opt unqualified_id_name + // Rule 340: cv_qualifier ::= const // case 340: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 341: cv_qualifier ::= volatile + // + case 341: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 343: declarator_id_name ::= nested_name_specifier template_opt unqualified_id_name + // + case 343: { action.builder. consumeQualifiedId(true); break; } // - // Rule 341: type_id ::= type_specifier_seq + // Rule 344: type_id ::= type_specifier_seq // - case 341: { action.builder. + case 344: { action.builder. consumeTypeId(false); break; } // - // Rule 342: type_id ::= type_specifier_seq abstract_declarator + // Rule 345: type_id ::= type_specifier_seq abstract_declarator // - case 342: { action.builder. + case 345: { action.builder. consumeTypeId(true); break; } // - // Rule 345: abstract_declarator ::= ptr_operator_seq + // Rule 348: abstract_declarator ::= ptr_operator_seq // - case 345: { action.builder. + case 348: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 346: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator + // Rule 349: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator // - case 346: { action.builder. + case 349: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 353: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 350: { action.builder. + case 353: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_modifier + // Rule 354: array_direct_abstract_declarator ::= array_modifier // - case 351: { action.builder. + case 354: { action.builder. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 352: { action.builder. + case 355: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 353: { action.builder. + case 356: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 357: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 354: { action.builder. + case 357: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 355: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 358: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 355: { action.builder. + case 358: { action.builder. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 356: { action.builder. + case 359: { action.builder. consumePlaceHolder(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 357: { action.builder. + case 360: { action.builder. consumeEmpty(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 358: { action.builder. + case 361: { action.builder. consumePlaceHolder(); break; } // - // Rule 364: abstract_declarator_opt ::= $Empty + // Rule 367: abstract_declarator_opt ::= $Empty // - case 364: { action.builder. + case 367: { action.builder. consumeEmpty(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 365: { action.builder. + case 368: { action.builder. consumeParameterDeclaration(); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers + // Rule 369: parameter_declaration ::= declaration_specifiers // - case 366: { action.builder. + case 369: { action.builder. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer - // - case 368: { action.builder. - consumeDeclaratorWithInitializer(true); break; - } - - // - // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 370: { action.builder. - consumeDeclaratorWithInitializer(true); break; - } - - // - // Rule 371: parameter_init_declarator ::= = parameter_initializer + // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer // case 371: { action.builder. + consumeDeclaratorWithInitializer(true); break; + } + + // + // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // + case 373: { action.builder. + consumeDeclaratorWithInitializer(true); break; + } + + // + // Rule 374: parameter_init_declarator ::= = parameter_initializer + // + case 374: { action.builder. consumeDeclaratorWithInitializer(false); break; } // - // Rule 372: parameter_initializer ::= assignment_expression + // Rule 375: parameter_initializer ::= assignment_expression // - case 372: { action.builder. + case 375: { action.builder. consumeInitializer(); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body // - case 373: { action.builder. + case 376: { action.builder. consumeFunctionDefinition(false); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq // - case 374: { action.builder. + case 377: { action.builder. consumeFunctionDefinition(true); break; } // - // Rule 377: initializer ::= ( expression_list ) + // Rule 380: initializer ::= ( expression_list ) // - case 377: { action.builder. + case 380: { action.builder. consumeInitializerConstructor(); break; } // - // Rule 378: initializer_clause ::= assignment_expression + // Rule 381: initializer_clause ::= assignment_expression // - case 378: { action.builder. + case 381: { action.builder. consumeInitializer(); break; } // - // Rule 379: initializer_clause ::= { initializer_list , } + // Rule 382: initializer_clause ::= { initializer_list , } // - case 379: { action.builder. + case 382: { action.builder. consumeInitializerList(); break; } // - // Rule 380: initializer_clause ::= { initializer_list } + // Rule 383: initializer_clause ::= { initializer_list } // - case 380: { action.builder. + case 383: { action.builder. consumeInitializerList(); break; } // - // Rule 381: initializer_clause ::= { } + // Rule 384: initializer_clause ::= { } // - case 381: { action.builder. + case 384: { action.builder. consumeInitializerList(); break; } // - // Rule 386: class_specifier ::= class_head { member_declaration_list_opt } + // Rule 389: class_specifier ::= class_head { member_declaration_list_opt } // - case 386: { action.builder. + case 389: { action.builder. consumeClassSpecifier(); break; } // - // Rule 387: class_head ::= class_keyword identifier_name_opt base_clause_opt - // - case 387: { action.builder. - consumeClassHead(false); break; - } - - // - // Rule 388: class_head ::= class_keyword template_id_name base_clause_opt - // - case 388: { action.builder. - consumeClassHead(false); break; - } - - // - // Rule 389: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt - // - case 389: { action.builder. - consumeClassHead(true); break; - } - - // - // Rule 390: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt + // Rule 390: class_head ::= class_keyword identifier_name_opt base_clause_opt // case 390: { action.builder. + consumeClassHead(false); break; + } + + // + // Rule 391: class_head ::= class_keyword template_id_name base_clause_opt + // + case 391: { action.builder. + consumeClassHead(false); break; + } + + // + // Rule 392: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt + // + case 392: { action.builder. consumeClassHead(true); break; } // - // Rule 392: identifier_name_opt ::= $Empty + // Rule 393: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt // - case 392: { action.builder. + case 393: { action.builder. + consumeClassHead(true); break; + } + + // + // Rule 395: identifier_name_opt ::= $Empty + // + case 395: { action.builder. consumeEmpty(); break; } // - // Rule 396: visibility_label ::= access_specifier_keyword : + // Rule 399: visibility_label ::= access_specifier_keyword : // - case 396: { action.builder. + case 399: { action.builder. consumeVisibilityLabel(); break; } // - // Rule 397: member_declaration ::= declaration_specifiers_opt member_declarator_list ; + // Rule 400: member_declaration ::= declaration_specifiers_opt member_declarator_list ; // - case 397: { action.builder. + case 400: { action.builder. consumeDeclarationSimple(true, true); break; } // - // Rule 398: member_declaration ::= declaration_specifiers_opt ; + // Rule 401: member_declaration ::= declaration_specifiers_opt ; // - case 398: { action.builder. + case 401: { action.builder. consumeDeclarationSimple(false, false); break; } // - // Rule 401: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 404: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 401: { action.builder. + case 404: { action.builder. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 405: member_declaration ::= ERROR_TOKEN + // Rule 408: member_declaration ::= ERROR_TOKEN // - case 405: { action.builder. + case 408: { action.builder. consumeDeclarationProblem(); break; } // - // Rule 413: member_declarator ::= declarator constant_initializer + // Rule 416: member_declarator ::= declarator constant_initializer // - case 413: { action.builder. + case 416: { action.builder. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 414: member_declarator ::= bit_field_declarator : constant_expression + // Rule 417: member_declarator ::= bit_field_declarator : constant_expression // - case 414: { action.builder. + case 417: { action.builder. consumeBitField(true); break; } // - // Rule 415: member_declarator ::= : constant_expression + // Rule 418: member_declarator ::= : constant_expression // - case 415: { action.builder. + case 418: { action.builder. consumeBitField(false); break; } // - // Rule 416: bit_field_declarator ::= identifier_name + // Rule 419: bit_field_declarator ::= identifier_name // - case 416: { action.builder. + case 419: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 417: constant_initializer ::= = constant_expression + // Rule 420: constant_initializer ::= = constant_expression // - case 417: { action.builder. + case 420: { action.builder. consumeInitializer(); break; } // - // Rule 423: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 426: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 423: { action.builder. + case 426: { action.builder. consumeBaseSpecifier(false, false); break; } // - // Rule 424: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 427: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 424: { action.builder. + case 427: { action.builder. consumeBaseSpecifier(true, true); break; } // - // Rule 425: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 428: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 425: { action.builder. + case 428: { action.builder. consumeBaseSpecifier(true, true); break; } // - // Rule 426: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 429: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 426: { action.builder. + case 429: { action.builder. consumeBaseSpecifier(true, false); break; } // - // Rule 427: access_specifier_keyword ::= private + // Rule 430: access_specifier_keyword ::= private // - case 427: { action.builder. + case 430: { action.builder. consumeAccessKeywordToken(); break; } // - // Rule 428: access_specifier_keyword ::= protected - // - case 428: { action.builder. - consumeAccessKeywordToken(); break; - } - - // - // Rule 429: access_specifier_keyword ::= public - // - case 429: { action.builder. - consumeAccessKeywordToken(); break; - } - - // - // Rule 431: access_specifier_keyword_opt ::= $Empty + // Rule 431: access_specifier_keyword ::= protected // case 431: { action.builder. + consumeAccessKeywordToken(); break; + } + + // + // Rule 432: access_specifier_keyword ::= public + // + case 432: { action.builder. + consumeAccessKeywordToken(); break; + } + + // + // Rule 434: access_specifier_keyword_opt ::= $Empty + // + case 434: { action.builder. consumeEmpty(); break; } // - // Rule 432: conversion_function_id_name ::= operator conversion_type_id + // Rule 435: conversion_function_id_name ::= operator conversion_type_id // - case 432: { action.builder. + case 435: { action.builder. consumeConversionName(); break; } // - // Rule 433: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 436: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 433: { action.builder. + case 436: { action.builder. consumeTypeId(true); break; } // - // Rule 434: conversion_type_id ::= type_specifier_seq + // Rule 437: conversion_type_id ::= type_specifier_seq // - case 434: { action.builder. + case 437: { action.builder. consumeTypeId(false); break; } // - // Rule 435: conversion_declarator ::= ptr_operator_seq + // Rule 438: conversion_declarator ::= ptr_operator_seq // - case 435: { action.builder. + case 438: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 441: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 444: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 441: { action.builder. + case 444: { action.builder. consumeConstructorChainInitializer(); break; } // - // Rule 442: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 445: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 442: { action.builder. + case 445: { action.builder. consumeQualifiedId(false); break; } // - // Rule 445: operator_function_id_name ::= operator_id_name < template_argument_list_opt > + // Rule 448: operator_function_id_name ::= operator_id_name < template_argument_list_opt > // - case 445: { action.builder. + case 448: { action.builder. consumeTemplateId(); break; } // - // Rule 446: operator_id_name ::= operator overloadable_operator + // Rule 449: operator_id_name ::= operator overloadable_operator // - case 446: { action.builder. + case 449: { action.builder. consumeOperatorName(); break; } // - // Rule 489: template_declaration ::= export_opt template < template_parameter_list > declaration + // Rule 492: template_declaration ::= export_opt template < template_parameter_list > declaration // - case 489: { action.builder. + case 492: { action.builder. consumeTemplateDeclaration(); break; } // - // Rule 490: export_opt ::= export + // Rule 493: export_opt ::= export // - case 490: { action.builder. + case 493: { action.builder. consumePlaceHolder(); break; } // - // Rule 491: export_opt ::= $Empty + // Rule 494: export_opt ::= $Empty // - case 491: { action.builder. + case 494: { action.builder. consumeEmpty(); break; } // - // Rule 495: template_parameter ::= parameter_declaration + // Rule 498: template_parameter ::= parameter_declaration // - case 495: { action.builder. + case 498: { action.builder. consumeTemplateParamterDeclaration(); break; } // - // Rule 496: type_parameter ::= class identifier_name_opt - // - case 496: { action.builder. - consumeSimpleTypeTemplateParameter(false); break; - } - - // - // Rule 497: type_parameter ::= class identifier_name_opt = type_id - // - case 497: { action.builder. - consumeSimpleTypeTemplateParameter(true); break; - } - - // - // Rule 498: type_parameter ::= typename identifier_name_opt - // - case 498: { action.builder. - consumeSimpleTypeTemplateParameter(false); break; - } - - // - // Rule 499: type_parameter ::= typename identifier_name_opt = type_id + // Rule 499: type_parameter ::= class identifier_name_opt // case 499: { action.builder. + consumeSimpleTypeTemplateParameter(false); break; + } + + // + // Rule 500: type_parameter ::= class identifier_name_opt = type_id + // + case 500: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 500: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // Rule 501: type_parameter ::= typename identifier_name_opt // - case 500: { action.builder. + case 501: { action.builder. + consumeSimpleTypeTemplateParameter(false); break; + } + + // + // Rule 502: type_parameter ::= typename identifier_name_opt = type_id + // + case 502: { action.builder. + consumeSimpleTypeTemplateParameter(true); break; + } + + // + // Rule 503: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // + case 503: { action.builder. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 501: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression + // Rule 504: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression // - case 501: { action.builder. + case 504: { action.builder. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 502: template_id_name ::= identifier_name < template_argument_list_opt > + // Rule 505: template_id_name ::= identifier_name < template_argument_list_opt > // - case 502: { action.builder. + case 505: { action.builder. consumeTemplateId(); break; } // - // Rule 510: explicit_instantiation ::= template declaration + // Rule 513: explicit_instantiation ::= template declaration // - case 510: { action.builder. + case 513: { action.builder. consumeTemplateExplicitInstantiation(); break; } // - // Rule 511: explicit_specialization ::= template < > declaration + // Rule 514: explicit_specialization ::= template < > declaration // - case 511: { action.builder. + case 514: { action.builder. consumeTemplateExplicitSpecialization(); break; } // - // Rule 512: try_block ::= try compound_statement handler_seq + // Rule 515: try_block ::= try compound_statement handler_seq // - case 512: { action.builder. + case 515: { action.builder. consumeStatementTryBlock(); break; } // - // Rule 515: handler ::= catch ( exception_declaration ) compound_statement + // Rule 518: handler ::= catch ( exception_declaration ) compound_statement // - case 515: { action.builder. + case 518: { action.builder. consumeStatementCatchHandler(false); break; } // - // Rule 516: handler ::= catch ( ... ) compound_statement + // Rule 519: handler ::= catch ( ... ) compound_statement // - case 516: { action.builder. + case 519: { action.builder. consumeStatementCatchHandler(true); break; } // - // Rule 517: exception_declaration ::= type_specifier_seq declarator + // Rule 520: exception_declaration ::= type_specifier_seq declarator // - case 517: { action.builder. + case 520: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 518: exception_declaration ::= type_specifier_seq abstract_declarator + // Rule 521: exception_declaration ::= type_specifier_seq abstract_declarator // - case 518: { action.builder. + case 521: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 519: exception_declaration ::= type_specifier_seq + // Rule 522: exception_declaration ::= type_specifier_seq // - case 519: { action.builder. + case 522: { action.builder. consumeDeclarationSimple(false, false); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java index 44b1aab49db..13f568ee67f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java @@ -56,454 +56,447 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 3,1,2,1,3,1,0,1,0,1, 1,0,1,1,1,1,1,1,1,1, 1,3,3,2,2,1,4,2,1,2, - 5,7,5,1,4,5,7,9,8,2, - 2,3,2,3,1,1,1,1,1,1, + 5,7,5,1,4,1,0,5,7,8, + 1,1,2,2,3,2,3,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,0,1,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,3, + 4,4,5,4,5,4,5,6,1,3, + 1,0,1,3,1,1,1,1,1,6, + 6,5,7,6,1,0,6,5,6,4, + 1,3,1,0,1,1,2,1,3,1, + 3,1,1,1,1,3,9,2,2,3, + 2,3,1,5,1,2,2,1,0,1, + 1,1,4,1,2,1,1,2,3,1, + 1,1,3,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,5,4,3,1,3,1,1,5,4, + 4,5,5,1,0,1,1,1,2,4, + 2,2,1,5,1,1,1,1,1,2, + 1,0,1,3,1,2,3,2,1,2, + 2,1,0,1,3,3,5,5,4,1, + 1,1,1,0,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, - 1,0,4,4,2,2,2,2,2,0, - 1,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,3,4,4,5, - 4,5,4,5,6,1,3,1,0,1, - 3,1,1,1,1,1,6,6,5,7, - 6,1,0,6,5,6,4,1,3,1, - 0,1,1,2,1,3,1,3,1,1, - 1,1,3,9,2,2,3,2,3,1, - 5,1,2,2,1,0,1,1,1,4, - 1,2,1,1,2,3,1,1,1,3, - 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,5,4, - 3,1,3,1,1,5,4,4,5,5, - 1,0,1,1,1,2,4,2,2,1, - 5,1,1,1,1,1,2,1,0,1, - 3,1,2,3,2,1,2,2,1,0, - 1,3,3,5,5,4,1,1,1,1, - 0,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,1,2, - 4,4,1,2,5,5,3,3,1,4, - 3,1,0,1,3,-236,0,0,0,-2, + 2,7,1,0,1,3,1,1,2,4, + 2,4,7,9,5,1,3,1,0,1, + 1,1,2,4,4,1,2,5,5,3, + 3,1,4,3,1,0,1,3,-236,0, + 0,0,-2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-4, + 0,0,0,0,0,0,0,0,-7,0, + -12,0,0,0,0,0,-9,0,0,-29, + 0,0,0,0,-14,0,0,0,0,-143, + 0,0,0,-264,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-124,0,0,0, - 0,0,-107,0,0,0,-61,0,0,0, - 0,0,-4,-64,0,0,-30,0,0,0, - -29,0,0,0,0,-16,0,0,0,0, - -262,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-358,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-121,-27, + 0,0,0,0,0,0,0,-17,0,-45, + -24,0,0,-13,-158,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-456,-517, 0,0,0,0,0,0,0,0,0,0, - 0,-7,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-19,0,0,0,-12, - 0,-3,0,-9,0,0,0,0,0,-10, - 0,0,0,0,0,-47,0,0,0,0, - 0,0,0,0,0,-105,0,0,0,0, - -14,0,-205,0,0,0,0,-102,0,0, - 0,-17,0,0,0,0,-115,0,0,0, - 0,0,0,-103,0,0,0,0,0,0, + 0,0,0,-30,0,0,0,0,-115,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,0, - -27,0,0,0,0,0,0,0,0,0, - 0,-24,0,0,-91,0,0,0,0,0, - 0,0,0,0,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,-74,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-158,0, - 0,0,0,0,0,0,-253,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-66,0,0, - 0,0,0,-31,-215,-278,0,0,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,0,0,0,0,0,0,0, - 0,0,0,-442,0,0,-120,0,0,0, - -495,0,0,0,0,0,0,-33,0,-285, - 0,0,0,-62,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -35,0,0,0,0,0,-38,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-220,0,-426,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -36,0,0,0,0,0,0,-37,0,0, - -238,0,0,0,-97,0,0,-112,0,0, - 0,-65,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-305,0,-31,0,0, + 0,0,-21,0,0,0,0,0,0,-47, + 0,0,0,-472,0,0,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, - -193,0,0,0,-40,0,0,0,0,0, + 0,-33,0,-66,0,0,0,0,0,0, + 0,-80,0,-105,0,0,0,0,-257,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-135,0,0, - 0,0,0,0,-45,0,0,0,0,0, - 0,-400,0,0,-288,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-321,0,0,0,-71,0,0,-41,0, - 0,-42,0,0,0,-379,0,0,0,-50, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-111,0,0,0,0,0,0,-80, - 0,0,0,0,0,0,-242,0,0,0, - -469,0,0,0,0,0,0,0,0,0, - 0,-380,0,0,0,-358,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-305,0,0,0,0,0,0,0, - 0,0,-76,0,0,-406,0,0,0,0, - 0,0,-110,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-52,0,0,-92,0,0,-181, - 0,0,0,-53,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -211,0,0,0,0,0,-39,0,0,0, - 0,0,0,0,0,0,-457,0,0,0, - 0,-141,0,0,0,0,0,-511,0,0, - -265,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-131,0,0,0,0,0,-75,0,0, - 0,0,0,0,-59,0,0,0,-522,0, - 0,-266,0,0,0,-456,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-67,0,0,0,0,0,-46,0, - 0,0,0,0,0,0,0,0,-72,0, - 0,0,-267,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-513,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-73, - 0,0,0,-268,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-145,0,0,0,0,0, - -48,0,0,0,0,0,0,0,0,0, - -77,0,0,0,-269,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-207,0,0,0,0, - 0,-51,0,0,0,0,0,0,-54,0, - 0,0,0,0,0,-270,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-208,0,0,0, - 0,0,-56,0,0,0,0,0,0,0, - 0,0,0,-209,0,0,-271,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-218,0,0, - 0,0,0,-60,0,0,0,0,0,0, - -70,0,0,-78,0,0,0,-272,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-79,0,0,0,0,0, - 0,-81,0,0,-114,0,0,0,-273,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-377, - 0,0,0,0,0,-82,0,0,0,0, - 0,0,-85,0,0,-134,0,0,0,-274, - 0,0,0,-142,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -146,0,0,0,0,0,-87,0,0,0, - 0,0,0,-88,0,0,-147,0,0,0, - -275,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-148,0,0,0,0,0,-94,0,0, - 0,0,0,0,-95,0,0,-150,0,0, - 0,-376,0,0,0,-151,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-152,0,0,0,0,0,-100,0, - 0,0,0,0,0,-117,0,0,-153,-129, - 0,0,-411,0,0,0,-412,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-154,0,0,0,0,0,-118, - 0,0,0,-130,0,0,0,0,0,-190, - -133,0,0,-503,0,0,0,-156,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-157,0,0,0,0,0, - 0,0,0,0,-192,0,0,0,0,0, - -199,0,0,0,-219,0,0,0,-239,0, + 0,0,0,0,0,0,0,0,0,-25, + 0,0,0,0,0,-35,-278,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-303,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-170,0,0,0,0,0,-194,0, - 0,0,0,0,0,0,0,0,-171,-13, - -243,0,0,0,0,0,0,0,0,0, - 0,0,-361,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,-195, - 0,0,0,0,0,0,-301,0,0,-388, + 0,0,0,0,-62,0,0,-197,-63,0, + -140,-89,0,0,-38,0,0,0,0,0, + -285,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,0,0, - 0,0,0,0,0,0,-96,0,0,0, - -172,0,0,0,0,0,-521,0,0,0, - -234,0,0,0,0,0,0,0,-173,0, - -389,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-235,0,0, - 0,-174,0,0,0,0,0,-497,0,0, + 0,0,-36,0,0,0,0,0,-37,0, + 0,0,0,-64,-426,0,0,0,-135,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-279,0,0,0,0,0, - 0,-175,0,0,-334,0,0,0,-176,0, - 0,0,0,0,0,0,0,0,-277,0, + 0,0,0,0,0,0,-40,0,0,0, + 0,-65,0,0,0,-97,0,0,-262,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-223, - 0,0,0,0,0,-287,0,0,0,0, - 0,0,-90,0,0,-264,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-177,0,0,0, - 0,0,-331,0,0,0,0,0,-263,0, - 0,0,-178,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-41,0, + -112,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-259,0, - 0,0,-224,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-179, - 0,0,0,0,0,-1,0,-369,0,0, - -336,0,0,0,-363,0,0,0,0,0, - 0,0,-257,0,0,0,0,0,0,0, + 0,-61,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-42,0, + 0,-10,0,0,-334,0,0,0,0,0, + 0,0,0,0,0,0,0,-193,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-329,0,0,0,0,0,0, - -232,0,0,0,0,0,0,-180,0,-149, - -21,0,0,0,-296,0,0,-25,0,0, - -99,0,0,0,0,0,0,0,0,0, - 0,-260,0,0,0,-18,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-182,0,0,0,0,0,-261,0, - 0,0,-312,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-39,0,-223, + 0,0,0,0,-220,0,0,0,-92,-34, + 0,0,0,-288,0,0,0,-50,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-5,0,0, - 0,-86,0,0,0,0,-210,0,0,0, - -371,-89,0,0,0,0,0,-300,0,0, - 0,0,0,0,0,0,0,-58,0,0, - 0,0,0,0,0,0,0,-108,0,0, - 0,0,0,0,0,0,-183,0,0,0, - 0,0,0,-231,-187,-244,0,0,-155,0, - -123,0,0,0,0,0,-15,0,-189,0, - 0,0,0,0,0,0,0,0,0,-314, - 0,0,0,0,0,0,0,-332,0,0, - 0,-315,-191,0,0,0,0,0,-184,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,-52,0,0, + 0,0,0,0,-379,0,0,0,-224,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-468,0,-508,0, + 0,-53,0,0,0,-102,0,0,-57,0, + 0,0,-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,0,0,0,0, + 0,0,0,-110,0,0,0,-75,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-129,0,0,0,0,0, + 0,0,0,-117,0,-130,0,0,0,0, + -181,0,0,0,-118,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-46,0,0,0,0,0, + 0,0,0,-59,0,0,0,-69,0,0, + 0,-265,0,0,0,0,0,0,0,0, + 0,0,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,-266,0,0,0,-374,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-72,0,0,0,0,0,0, + 0,0,-48,0,-443,0,0,0,0,0, + -124,0,0,-267,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,-51,0,-471,0,0,0,0, + 0,-131,0,0,-268,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-54,0,-155,0,0,0, + 0,0,-145,0,0,-269,0,0,0,0, + 0,0,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,-214,0,0, + 0,0,0,-207,0,0,-270,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-60,0,-308,0, + 0,0,0,0,-208,0,0,-271,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-70,0,-309, + 0,0,0,0,0,-238,0,0,-272,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,0,0,-71,0, + -327,0,-79,0,0,0,0,0,0,-273, + 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,0,0,-76, + 0,-114,0,-81,0,0,-134,0,0,0, + -274,0,0,0,-498,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -82,0,-142,0,0,0,0,-146,-209,0, + 0,-275,0,0,0,-147,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-85,0,-148,0,0,0,0,-150,-218, + 0,0,-376,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-87,0,-151,0,0,0,0,-369, + 0,0,0,-411,0,0,0,-211,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-88,0,-152,0,0,0,0, + -373,0,0,0,-501,0,0,0,-153,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-232,0,0,0,0, + 0,0,0,0,0,0,-154,0,-186,0, + 0,-497,0,0,0,-219,0,0,0,-133, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-107,0,0,0, + 0,0,0,0,0,-94,0,-299,0,0, + 0,0,-303,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-95,0,0,0,0,0,0,-156, + -242,0,0,0,0,0,0,0,0,0, + 0,0,-157,-361,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-100,0,-301,0,0,0,0, + -388,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -194,0,0,0,0,0,0,-170,-243,0, + 0,0,-98,0,0,0,0,0,0,0, + 0,-389,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-171,0,0,0,0,0,0,0, + 0,-190,0,0,0,-412,0,0,-495,0, + 0,0,0,0,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, + -172,0,0,0,0,-336,0,0,0,-173, + 0,0,0,0,0,0,0,-192,-96,-277, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-239,-263,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-259,0,0,0,-329, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-174,0,0,0, + 0,0,0,-1,-205,0,0,0,-91,0, + 0,0,0,-175,0,0,0,0,0,0, + -260,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-176,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-90,0,0,0,-279, + -439,0,0,0,0,-196,-287,0,-321,0, + 0,0,0,0,0,0,0,0,0,-261, + 0,0,0,-499,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -177,0,0,0,0,0,-5,0,0,0, + -86,0,0,0,0,-99,-199,-178,0,-510, + 0,-313,-179,-311,0,0,0,0,0,-180, + -215,0,-419,0,-138,0,0,-206,0,0, + 0,0,0,-120,0,0,0,-182,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,-104,0,0,0, - 0,0,0,0,0,-126,-373,0,-487,0, - 0,0,0,0,0,0,0,-405,0,-316, - -322,0,0,-198,0,0,0,-161,0,0, - 0,-200,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-206,0,0, - 0,0,0,0,-127,-197,0,-214,0,0, + 0,0,0,0,0,0,-485,-447,-400,0, + 0,0,-123,0,0,0,0,-139,-363,0, + -282,0,0,0,0,-183,0,-187,0,0, + -189,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-258,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,0,0,0,-281,0,0,0, - 0,0,-473,-203,-308,0,-101,0,0,0, - 0,-499,0,0,0,0,0,0,0,0, - -254,0,0,0,-138,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-204,0,0,0,0,0,-213,0,0, - -255,0,0,0,-233,0,0,0,0,0, + 0,0,0,0,0,-126,0,0,0,0, + 0,0,0,0,0,0,0,0,-141,0, + 0,0,-248,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-241,0,0,0,0,-256,0,0,0, - -284,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-333,0,0, - 0,0,-280,-196,-289,-338,0,-409,0,0, - 0,-68,0,0,0,0,0,0,0,0, - 0,-121,-309,0,0,0,0,0,0,0, - -57,0,0,0,0,0,-20,-185,-327,0, - 0,0,0,0,0,0,0,-337,-290,0, - 0,0,0,0,0,0,-297,0,-375,0, - 0,0,0,0,0,0,-359,0,0,0, - 0,0,-443,0,0,0,-298,0,0,0, - 0,0,0,0,0,0,0,0,-393,0, - -11,0,0,0,0,0,-144,0,-372,-386, - -374,0,0,0,0,-422,-302,0,0,0, - 0,0,0,0,0,0,0,0,-304,0, - 0,0,-139,0,0,0,0,0,0,0, - -317,0,0,0,0,0,0,0,0,0, + 0,0,0,-191,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-402,-425,0,0,0,0,0,0, + 0,-184,0,0,0,-377,0,0,-127,0, + -198,0,0,0,0,0,0,0,0,0, + 0,-399,0,0,0,-249,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-200,0,0,0, + 0,-371,0,0,0,0,0,0,0,0, + -442,-202,-74,-210,0,0,0,0,-402,0, + 0,-406,0,-234,0,0,0,0,0,0, + 0,0,0,0,-253,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -203,-16,0,0,-254,0,0,0,-204,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,-338,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-213,0,0,0,0,-256,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-372,0,0, + 0,0,-280,-217,0,-233,0,0,0,0, + 0,-241,-212,0,0,0,0,0,0,0, + 0,0,0,0,-381,-284,-111,-245,0,0, + 0,0,0,0,0,-300,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-410,0,0,-296,-359, + 0,0,0,0,0,0,0,0,0,0, + 0,-108,0,0,0,0,0,-314,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-289,-332,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-106,-11,-286,0,0,0,0,-281,0, + 0,-290,0,0,0,-440,0,0,0,-297, + 0,0,0,0,0,0,0,-298,-302,0, 0,0,0,0,0,0,-28,0,0,0, - 0,0,0,0,0,0,-318,0,-201,0, - 0,0,0,-410,0,0,0,0,-248,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-304,-26,0,0,0,-306, + 0,0,0,0,0,-226,0,0,0,0, + 0,0,0,0,0,0,0,0,-317,-19, + 0,0,0,-405,0,0,0,0,0,0, + 0,0,0,0,-518,-235,0,0,0,0, + -318,0,0,-201,0,0,0,0,0,0, + 0,0,0,0,0,0,-386,-493,0,-185, + 0,0,-319,0,0,0,0,0,-258,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-69,0,0,0,0,-319,0,0, - 0,0,0,0,0,-320,-324,-498,0,0, - 0,-407,0,0,0,0,0,-432,-283,-451, - 0,0,0,0,0,0,0,-98,-367,-325, - 0,0,0,0,0,-159,0,0,-22,0, - -122,-500,0,0,0,0,0,-501,0,0, - -217,0,0,0,0,0,0,0,-326,-63, - 0,0,0,-423,0,0,0,0,0,-515, - 0,0,0,0,-339,0,0,0,0,0, - -313,0,-427,0,0,0,0,0,0,-143, - 0,0,0,0,0,-416,0,0,0,0, - 0,0,0,-452,-340,0,0,0,0,0, - 0,0,0,0,-479,0,0,0,0,-341, - 0,-342,0,0,-431,0,0,0,0,-482, + 0,0,0,0,0,0,0,0,0,-320, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-343,-116,0, - 0,0,0,0,-344,0,0,0,0,0, + 0,0,0,-367,-122,0,0,0,0,-383, + 0,0,0,0,-227,-324,0,0,0,0, + -325,0,-228,-312,0,0,0,0,0,-326, + 0,-422,-339,0,-315,0,0,0,0,0, + 0,0,-425,0,0,-340,0,0,0,0, + 0,0,0,0,0,0,0,0,-427,0, + -416,0,0,0,0,0,0,0,0,-18, + -113,0,0,0,0,0,0,0,0,0, + 0,0,-316,0,0,0,0,0,0,0, + 0,0,-20,-496,0,0,-341,0,0,-231, + 0,-342,-322,0,0,0,0,0,0,0, + 0,0,-149,0,0,-455,0,-478,0,-343, + -431,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-344, + 0,0,0,0,0,0,0,0,0,-512, + -22,0,-101,0,0,0,0,0,0,-345, + -333,0,0,0,0,0,0,0,0,-452, + -346,0,0,0,-480,0,0,-15,0,0, + 0,0,-347,-58,0,0,0,-348,0,0, + 0,0,0,-349,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -331,0,0,0,0,-350,-351,0,0,0, + 0,0,0,0,0,0,-352,0,0,-144, + 0,-484,0,-353,-354,0,0,0,0,0, + 0,-387,0,0,0,0,-355,0,0,0, + 0,0,0,-337,0,0,0,0,0,0, + 0,0,-375,-330,0,0,0,0,0,0, + 0,0,-487,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-32,-423,-513,0, + 0,-356,0,0,0,-393,0,0,0,0, + 0,-244,-357,0,0,0,0,0,0,0, + -407,0,0,0,0,0,0,0,0,0, + -43,0,0,0,0,0,0,0,-432,0, + -360,0,0,0,0,0,0,0,0,0, + -459,-481,0,-394,0,-519,0,0,0,0, + -68,0,0,0,0,0,0,0,0,0, + 0,0,0,-294,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-362, + 0,0,0,0,0,-310,0,0,0,0, + 0,0,0,0,0,0,0,-8,0,0, + 0,0,0,0,0,0,0,0,-445,0, + 0,0,0,0,-364,-365,-222,-467,0,0, + 0,0,0,-441,-366,0,0,0,0,0, + 0,0,-83,-368,0,0,0,-446,0,0, 0,0,0,0,0,0,0,0,0,0, - -481,-345,0,0,0,-221,0,0,0,-346, + 0,0,0,0,0,0,-503,-395,0,-116, + 0,0,-396,0,0,0,0,0,0,0, + 0,0,0,-397,0,-398,0,0,0,0, + 0,0,0,0,-370,-413,0,-84,0,0, + 0,0,0,0,0,-477,0,-448,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-450,-276,0,-454,-125, + 0,0,0,0,-466,0,0,0,-414,0, + -415,0,0,0,0,0,0,0,0,-460, + 0,-461,-409,0,0,0,0,0,0,0, + 0,0,-462,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-420,0,-221,-424,0,-463,-488,0, + 0,-428,0,0,0,0,-437,0,0,0, + 0,0,0,0,0,-291,0,0,0,0, + -438,0,0,0,0,-250,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-444,0,0,-453, + 0,-509,-229,-295,-457,0,0,0,-390,0, + 0,0,0,-469,-283,-473,-474,0,0,-504, + 0,0,0,0,0,0,-479,0,0,-500, 0,0,0,0,0,0,0,0,0,-486, - -347,0,0,0,-439,0,0,0,0,-441, - -26,0,0,0,-292,-348,-506,0,0,0, - 0,-448,0,0,0,-349,0,0,0,0, - 0,0,-489,0,0,0,0,0,0,0, - 0,0,0,0,0,-350,0,0,0,0, + -492,0,0,0,0,0,-502,0,0,0, + 0,0,0,0,0,0,0,-507,0,0, + 0,0,-475,-292,0,-476,0,0,0,0, + -490,0,0,0,0,0,0,0,0,-293, + -491,0,-515,0,0,0,0,-429,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-516,-351,-352,0,0, - 0,0,-353,-507,-354,0,0,0,0,0, - 0,0,0,0,-523,-383,0,-453,0,0, - -355,0,0,-450,-455,-43,0,0,0,-461, - -519,-356,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-357,-472,-360, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-362,0, + 0,0,0,-430,0,0,0,0,0,0, + 0,0,0,0,0,0,-251,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -526,-364,-460,-462,0,0,0,-282,0,0, - 0,0,0,0,0,0,0,0,0,-419, - -365,0,0,0,-8,-106,0,0,0,-463, - -310,0,0,0,0,-366,-368,0,0,-464, + 0,0,0,0,0,0,0,0,0,-252, 0,0,0,0,0,0,0,0,0,0, - 0,0,-468,-395,-396,0,0,0,-476,-286, - 0,-397,0,0,0,-83,0,0,0,0, - 0,0,0,0,0,0,-398,0,0,0, - 0,0,0,0,0,0,0,-478,0,0, 0,0,0,0,0,0,0,0,0,0, - -84,-306,-413,0,0,0,0,0,0,0, - -414,-415,0,0,0,0,0,-420,0,-424, - 0,0,-132,0,0,0,0,-428,-477,0, - -437,0,-438,0,0,0,0,0,0,0, - 0,-125,0,0,0,0,-444,0,0,0, + 0,0,-382,0,0,0,0,0,0,0, + 0,0,-162,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-163,0,0,0,-505,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-511,0,0,-164,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-165, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -166,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-167,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-168,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-169,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-237,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-246,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-247,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,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,-403,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-482, + 0,0,0,0,-514,0,0,0,0,-161, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-23, + 0,0,0,0,0,-516,0,-109,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -433,0,0,0,0,-434,0,0,0,0, + 0,-464,-435,0,0,0,0,0,-449,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-378,0,0,0, + 0,0,0,0,0,-136,0,0,0,0, + 0,0,0,0,0,-458,0,0,0,0, + 0,-436,0,0,0,0,0,0,0,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,0,-6,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-137, + 0,0,-465,0,0,0,0,-44,0,0, + 0,0,0,0,0,0,0,-470,0,0, + 0,0,0,-49,0,0,0,-55,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,-483,0, + 0,0,0,0,0,0,0,0,0,0, + -188,0,0,0,0,0,0,0,0,-216, + 0,0,0,0,0,-489,0,0,0,0, + 0,0,0,-494,-451,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-307,0,0,0, + 0,0,0,0,0,-328,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -335,0,0,0,0,-391,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -392,0,0,0,0,0,0,0,0,-132, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-159,0, + 0,0,0,0,0,-225,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, 0,0,-160,0,0,0,0,0,0,0, - -140,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-490,-381,-454,0, + 0,-230,0,0,0,0,0,0,-240,0, + 0,0,0,0,-401,0,0,0,0,0, + 0,0,0,-384,0,0,0,0,0,0, + 0,0,-417,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-311,0,-512,0,0,0, - 0,-458,0,-470,0,0,-474,0,-475,0, - 0,0,0,0,0,0,0,-212,0,0, - 0,0,0,0,0,0,0,-249,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-480,-291,0,0,0,0,-488,0,0, - 0,0,0,0,-494,-504,-510,0,0,0, - 0,0,-492,0,0,0,0,0,-465,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-295,-293,-222,0,0,0,0,-390,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-502,0,0,0, - 0,0,0,0,0,0,0,-493,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-508, - -514,-517,0,-520,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, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-250,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-251,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -252,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-382,0,0,0,-524,0,0, - 0,0,0,-162,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-163,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -429,0,0,0,0,-164,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -165,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-166,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-167,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-168,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-169,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-237,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-246,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-247,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-323,0, - 0,0,-378,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-403, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -484,0,0,0,0,0,0,0,0,0, - -23,0,0,0,0,0,-399,0,0,0, - 0,0,0,0,-113,0,0,0,0,0, - 0,0,0,0,-44,0,0,0,-226,0, - 0,0,0,0,0,-440,0,0,0,0, - -225,-294,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-245,0,0,0, - 0,0,0,0,-394,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-445,0,0,0,0, - 0,-387,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-449,0,0,0,0,0,0,0,0, - 0,0,0,-466,0,0,0,0,-109,0, - 0,0,0,0,0,0,0,0,-230,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-276,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-227,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-49,0,0,0,0,-136,0,0, - 0,0,0,0,0,0,0,-6,0,0, - 0,0,0,0,0,0,0,0,-93,0, - 0,0,0,0,-137,0,0,-509,0,0, - 0,0,0,0,0,0,0,0,0,0, - -446,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-55, - 0,0,0,0,-128,0,0,0,0,0, - 0,0,0,0,0,0,-433,0,0,0, - 0,-188,0,0,0,0,-216,0,0,0, - 0,0,0,0,-307,0,0,0,0,0, - 0,0,-330,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-328,0,0,0,0,-32,0,0, - 0,0,0,0,0,-335,0,0,0,0, - -391,0,0,0,0,0,0,0,0,0, - -240,0,0,0,0,0,0,-392,0,0, - 0,0,-447,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-459, - 0,0,0,-417,0,0,0,0,0,0, - 0,0,0,0,-401,0,0,0,0,-408, - 0,0,0,0,0,-418,0,0,0,0, - 0,0,0,-228,-483,-421,-229,0,0,0, - 0,0,-430,0,0,0,0,-384,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-385,0,0,0, - 0,0,0,0,-404,0,0,0,0,0, - -505,0,0,0,0,-491,0,0,-518,0, - -525,0,0,0,0,0,0,0,0,0, - 0,0,-434,0,0,0,0,0,0,0, - -435,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-436,0,0,0,0,0, - -467,0,0,0,-471,0,0,0,0,0, - 0,-485,-496,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-408,0,0, + 0,0,0,-418,-421,-506,0,0,0,0, + 0,0,0,0,-385,0,0,0,0,-404, + 0,0,0,0,0,0,0,0,-520,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -513,7 +506,14 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0 + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,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; @@ -523,521 +523,521 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface BaseAction { public final static char baseAction[] = { - 170,4,52,86,86,31,31,65,65,37, - 37,170,170,171,171,131,131,1,1,14, + 169,4,52,79,79,32,32,65,65,37, + 37,169,169,170,170,130,130,1,1,14, 14,14,14,14,14,14,14,15,15,15, 13,10,10,8,8,8,8,8,8,2, - 67,67,5,5,11,11,11,11,45,45, - 132,132,133,60,60,41,16,16,16,16, + 67,67,5,5,11,11,11,11,42,42, + 131,131,132,60,60,41,16,16,16,16, 16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,134,134,134,113, + 16,16,16,16,16,16,133,133,133,113, 113,17,17,17,17,17,17,17,17,17, - 17,17,17,17,18,18,172,172,173,173, - 174,137,137,138,138,135,135,139,136,136, + 17,17,17,17,18,18,171,171,172,172, + 173,136,136,137,137,134,134,138,135,135, 19,19,20,20,22,22,22,23,23,23, 23,24,24,24,25,25,25,26,26,26, - 26,26,28,28,28,29,29,30,30,32, - 32,33,33,35,35,36,36,40,40,39, + 26,26,27,27,27,28,28,29,29,31, + 31,33,33,35,35,36,36,40,40,39, 39,39,39,39,39,39,39,39,39,39, - 39,39,38,27,140,140,97,97,101,101, - 92,191,191,77,77,77,77,77,77,77, - 77,77,78,78,78,79,79,55,55,175, - 175,80,80,80,114,114,81,81,81,81, - 82,82,82,82,82,83,83,66,66,66, - 66,66,66,66,47,47,47,47,47,104, - 104,105,105,48,176,21,21,21,21,21, - 44,44,87,87,87,87,87,147,147,142, - 142,142,142,142,143,143,143,144,144,144, - 145,145,145,146,146,146,88,88,88,88, - 88,89,89,89,12,12,12,12,12,12, - 12,12,12,12,12,100,118,118,118,118, - 118,116,116,116,117,117,149,149,148,148, - 120,120,150,71,71,72,72,74,75,73, - 50,43,151,151,51,49,70,70,152,152, - 141,141,121,122,122,85,85,153,153,62, - 62,62,57,57,56,63,63,76,76,54, - 54,54,90,90,99,98,98,59,59,58, - 58,53,53,46,102,102,102,93,93,93, - 94,95,95,95,96,96,106,106,106,108, - 108,107,107,192,192,91,91,178,178,178, - 178,178,124,42,42,155,177,177,125,125, - 125,125,179,179,34,34,115,126,126,126, - 126,109,109,119,119,119,157,158,158,158, - 158,158,158,158,158,158,182,182,180,180, - 181,181,159,159,159,159,160,183,111,110, - 110,184,184,161,161,161,161,103,103,103, - 185,185,9,186,186,187,162,154,154,163, - 163,164,165,165,6,6,7,167,167,167, - 167,167,167,167,167,167,167,167,167,167, - 167,167,167,167,167,167,167,167,167,167, - 167,167,167,167,167,167,167,167,167,167, - 167,167,167,167,167,167,167,167,167,61, - 64,64,168,168,127,127,128,128,128,128, - 128,128,3,169,169,166,166,129,129,129, - 68,69,84,156,156,112,112,188,188,188, - 130,130,123,123,189,189,969,39,2999,2970, - 956,4453,34,858,31,35,30,32,2947,29, - 27,56,1893,112,82,83,114,1763,1909,2009, - 1991,2082,2042,1836,2157,2089,2220,1690,2173,2278, - 275,2323,149,425,323,164,150,598,1380,1339, - 38,1095,39,804,36,3000,3136,34,858,339, - 35,2519,39,804,36,234,3443,34,858,31, - 35,30,32,1798,29,27,56,1893,112,82, - 83,114,1181,1909,2009,1991,2082,2042,375,2157, - 2089,3213,299,237,232,233,2089,39,1204,1452, - 117,4293,1025,2478,997,3236,276,320,952,322, - 1508,1072,1069,315,564,234,598,39,1705,1698, - 325,244,247,250,253,616,598,39,1339,278, - 55,1437,662,1908,39,391,1066,1080,598,39, - 283,636,1491,246,232,233,2701,1074,2427,576, - 2306,2757,2979,4091,1590,39,804,36,2358,3443, - 34,858,31,35,1815,32,1798,29,27,56, - 1893,112,82,83,114,343,1909,2009,1991,2082, - 2042,71,2157,2089,2220,557,2173,2278,373,2323, - 149,553,1212,507,150,1463,39,804,36,437, - 2280,34,858,1784,35,1411,2724,508,1590,39, - 804,36,2358,3443,34,858,31,35,1815,32, - 1798,29,27,56,1893,112,82,83,114,343, - 1909,2009,1991,2082,2042,1174,2157,2089,2220,3089, - 2173,2278,2777,2323,149,329,335,507,150,1539, - 39,2675,47,1910,2280,46,858,2519,39,804, - 36,508,3443,34,858,31,35,30,32,1798, - 29,27,56,1893,112,82,83,114,1599,1909, - 2009,1991,3095,503,1618,1584,1868,39,804,36, - 2358,3443,34,858,31,35,1815,32,1798,29, - 27,56,1893,112,82,83,114,343,1909,2009, - 1991,2082,2042,2132,2157,2089,2220,2723,2173,2278, - 1692,2323,149,2407,763,507,150,1463,39,804, - 36,763,2280,34,858,340,35,503,1695,508, - 1657,39,804,36,64,3443,34,858,31,35, - 30,32,1798,29,27,56,1893,112,82,83, - 114,513,1909,2009,1991,2082,2042,1570,2157,2089, - 2220,3391,2173,2278,2524,2323,149,2407,188,378, - 150,223,598,1651,1729,39,804,36,430,3443, - 34,858,31,35,30,32,1798,29,27,56, - 1893,112,82,83,114,381,1909,2009,1991,2082, - 2042,1829,2157,2089,2220,504,2173,2278,1928,2323, - 149,2001,433,378,150,1123,39,281,1992,39, - 804,36,1101,3443,34,858,31,35,30,32, - 1798,29,27,56,1893,112,82,83,114,379, - 1909,2009,1991,2082,2042,314,2157,2089,2220,1121, - 2173,2278,3494,2323,149,382,1364,378,150,3494, - 2743,2169,39,804,36,1632,3443,34,858,31, - 35,30,32,1798,29,27,56,1893,112,82, - 83,114,1252,1909,2009,1991,2082,2042,1156,2157, - 2089,2220,287,2173,2278,1484,2323,149,326,383, - 164,150,598,39,3423,2169,39,804,36,1610, - 3443,34,858,31,35,30,32,1798,29,27, - 56,1893,112,82,83,114,1207,1909,2009,1991, - 2082,2042,1975,2157,2089,2220,1484,2173,2278,1697, - 2323,149,1740,376,372,150,2169,39,804,36, - 205,3443,34,858,31,35,30,32,1798,29, - 27,56,1893,112,82,83,114,323,1909,2009, - 1991,2082,2042,76,2157,2089,2220,991,2173,2278, - 1514,2323,149,4413,1032,372,150,1085,39,804, - 36,2557,4466,34,858,31,35,63,32,4097, - 1825,2701,2169,39,804,36,385,3443,34,858, - 31,35,30,32,1798,29,27,56,1893,112, - 82,83,114,2312,1909,2009,1991,2082,2042,371, - 2157,2089,2220,1484,2173,2278,1378,2323,149,1910, - 2793,372,150,1935,39,804,36,847,3443,34, - 858,31,35,30,32,1798,29,27,56,1893, - 112,82,83,114,487,1909,2009,1991,2082,2042, - 370,2157,2089,2220,1284,2173,2278,64,2453,170, - 1801,39,804,36,1779,3443,34,858,31,35, - 30,32,1798,29,27,56,1893,112,82,83, - 114,1514,1909,2009,1991,2082,2042,76,2157,2089, - 2220,2362,2173,2278,305,2323,149,2435,513,148, - 150,67,598,39,1339,282,368,94,2435,328, - 108,2169,39,804,36,1790,3443,34,858,31, - 35,30,32,1798,29,27,56,1893,112,82, - 83,114,1763,1909,2009,1991,2082,2042,1502,2157, - 2089,2220,1757,2173,2278,1240,2323,149,2378,2435, - 161,150,2169,39,804,36,385,3443,34,858, - 31,35,30,32,1798,29,27,56,1893,112, - 82,83,114,1001,1909,2009,1991,2082,2042,76, - 2157,2089,2220,4319,2173,2278,413,2323,149,1866, - 99,160,150,2169,39,804,36,386,3443,34, - 858,31,35,30,32,1798,29,27,56,1893, - 112,82,83,114,2557,1909,2009,1991,2082,2042, - 324,2157,2089,2220,488,2173,2278,522,2323,149, - 1202,355,159,150,2169,39,804,36,522,3443, - 34,858,31,35,30,32,1798,29,27,56, - 1893,112,82,83,114,1763,1909,2009,1991,2082, - 2042,76,2157,2089,2220,1987,2173,2278,513,2323, - 149,411,354,158,150,2169,39,804,36,522, - 3443,34,858,31,35,30,32,1798,29,27, - 56,1893,112,82,83,114,1763,1909,2009,1991, - 2082,2042,293,2157,2089,2220,2291,2173,2278,76, - 2323,149,2509,2627,157,150,2169,39,804,36, - 284,3443,34,858,31,35,30,32,1798,29, - 27,56,1893,112,82,83,114,1763,1909,2009, - 1991,2082,2042,76,2157,2089,2220,674,2173,2278, - 95,2323,149,108,1763,156,150,2169,39,804, - 36,306,3443,34,858,31,35,30,32,1798, - 29,27,56,1893,112,82,83,114,1763,1909, - 2009,1991,2082,2042,76,2157,2089,2220,3316,2173, - 2278,76,2323,149,499,667,155,150,2169,39, - 804,36,298,3443,34,858,31,35,30,32, - 1798,29,27,56,1893,112,82,83,114,297, - 1909,2009,1991,2082,2042,76,2157,2089,2220,728, - 2173,2278,76,2323,149,240,2742,154,150,2169, - 39,804,36,285,3443,34,858,31,35,30, - 32,1798,29,27,56,1893,112,82,83,114, - 2128,1909,2009,1991,2082,2042,76,2157,2089,2220, - 2981,2173,2278,76,2323,149,1906,2421,153,150, - 2169,39,804,36,645,3443,34,858,31,35, - 30,32,1798,29,27,56,1893,112,82,83, - 114,1911,1909,2009,1991,2082,2042,76,2157,2089, - 2220,2506,2173,2278,76,2323,149,1478,2565,152, - 150,2169,39,804,36,380,3443,34,858,31, - 35,30,32,1798,29,27,56,1893,112,82, - 83,114,1985,1909,2009,1991,2082,2042,76,2157, - 2089,2220,2645,2173,2278,1901,2323,149,689,2843, - 151,150,2169,39,804,36,2027,3443,34,858, - 31,35,30,32,1798,29,27,56,1893,112, - 82,83,114,2042,1909,2009,1991,2082,2042,76, - 2157,2089,2220,2817,2173,2278,1502,2323,149,2108, - 64,165,150,2169,39,804,36,473,3443,34, - 858,31,35,30,32,1798,29,27,56,1893, - 112,82,83,114,2228,1909,2009,1991,2082,2042, - 1502,2157,2089,2220,64,2173,2278,304,2323,149, - 1502,152,146,150,2400,39,804,36,1761,3443, - 34,858,31,35,30,32,1798,29,27,56, - 1893,112,82,83,114,1622,1909,2009,1991,2082, - 2042,301,2157,2089,2220,1484,2173,2278,399,2323, - 149,1484,450,195,150,2519,39,804,36,1514, - 3443,34,858,31,35,30,32,1798,29,27, - 56,1893,112,82,83,114,377,1909,2009,1991, - 2082,2042,2126,2157,2089,2220,449,2173,2278,514, - 2453,170,2519,39,804,36,327,3443,34,858, - 31,35,30,32,1798,29,27,56,1893,112, - 82,83,114,2030,1909,2009,1991,2082,2042,76, - 2157,2089,2220,860,2173,2278,2448,2453,170,1703, - 117,1231,39,804,36,4115,4466,34,858,31, - 35,62,32,2519,39,804,36,291,3443,34, - 858,31,35,30,32,1798,29,27,56,1893, - 112,82,83,114,64,1909,2009,1991,2082,2042, - 76,2157,2089,2220,3350,2173,2278,1833,2453,170, - 2519,39,804,36,415,3443,34,858,31,35, - 30,32,1798,29,27,56,1893,112,82,83, - 114,300,1909,2009,1991,2082,2042,1759,2157,2089, - 2220,1179,2173,2278,397,2453,170,1562,39,804, - 36,1484,4540,34,858,31,35,30,32,1239, - 501,2519,39,804,36,3402,3443,34,858,31, - 35,30,32,1798,29,27,56,1893,112,82, - 83,114,4039,1909,2009,1991,2082,2042,1484,2157, - 2089,2220,2229,2173,2278,66,2453,170,2575,39, - 804,36,414,3443,34,858,31,35,30,32, - 1798,29,27,56,1893,112,82,83,114,28, - 1909,2009,1991,2082,2042,76,2157,2089,2220,1136, - 2173,2278,70,2453,170,1262,39,804,36,1497, - 4540,34,858,31,35,65,32,387,419,2519, - 39,804,36,417,3443,34,858,31,35,30, - 32,1798,29,27,56,1893,112,82,83,114, - 675,1909,2009,1991,2082,2042,76,2157,2089,2220, - 4043,2173,3258,598,39,292,2519,39,804,36, - 3010,3443,34,858,31,35,30,32,1798,29, - 27,56,1893,112,82,83,114,1628,1909,2009, - 1991,2082,2042,76,2157,2089,2220,991,3231,2519, - 39,804,36,768,3443,34,858,31,35,30, - 32,1798,29,27,56,1893,112,82,83,114, - 2952,1909,2009,1991,2082,2042,352,2157,3215,2519, - 39,804,36,1575,3443,34,858,31,35,30, - 32,1798,29,27,56,1893,112,82,83,114, - 235,1909,2009,1991,2082,2042,1439,3186,598,2826, - 2358,1262,39,804,36,64,4540,34,858,31, - 35,64,32,2519,39,804,36,231,3443,34, - 858,31,35,30,32,1798,29,27,56,1893, - 112,82,83,114,1502,1909,2009,3156,208,217, - 4308,2227,185,207,214,215,216,218,1375,353, - 2920,1647,1214,1750,3126,76,4370,209,117,3226, - 602,1759,15,2751,210,211,212,213,293,294, - 295,296,2519,39,804,36,3168,3443,34,858, - 31,35,30,32,1798,29,27,56,1893,112, - 82,83,114,1247,1909,2009,1991,2082,3207,2519, - 39,804,36,1484,3443,34,858,31,35,30, - 32,1798,29,27,56,1893,112,82,83,114, - 4060,1909,2009,1991,2082,3208,351,13,2631,39, - 712,385,2814,3151,350,234,2358,598,39,292, - 239,64,117,344,2203,2120,349,4375,1463,39, - 804,36,342,231,34,858,2820,35,598,39, - 712,385,275,249,232,233,530,2811,247,39, - 443,388,419,4392,208,217,4308,1483,201,207, - 214,215,216,218,2025,2062,2025,234,991,117, - 991,2844,275,209,4239,2358,602,2750,219,1965, - 210,211,212,213,293,294,295,296,446,241, - 76,166,231,166,4155,237,232,233,1463,39, - 804,36,1484,1275,34,858,44,35,276,598, - 39,1339,280,208,217,4308,3432,547,207,214, - 215,216,218,244,247,250,253,616,598,39, - 712,385,209,75,662,602,234,219,277,210, - 211,212,213,293,294,295,296,1123,39,279, - 2427,576,2306,2757,2979,4091,2935,598,3410,561, - 2358,2521,55,2768,242,232,233,1944,76,1080, - 1484,1484,844,1110,2246,3432,1446,231,2463,39, - 804,36,1237,3443,34,858,31,35,30,32, - 1798,29,27,56,1893,92,82,83,208,217, - 4308,74,59,207,214,215,216,218,1908,39, - 391,436,2415,2429,2459,2996,1185,209,29,2358, - 602,2933,219,4405,210,211,212,213,293,294, - 295,296,2519,39,804,36,231,3443,34,858, - 31,35,30,32,1798,29,27,56,1893,112, - 82,83,114,2180,1909,2009,3166,208,217,4308, - 3432,1487,207,214,215,216,218,335,39,443, - 333,514,4392,2603,1900,117,209,1403,1651,602, - 4471,219,2603,210,211,212,213,293,294,295, - 296,2519,39,804,36,1759,3443,34,858,31, - 35,30,32,1798,29,27,56,1893,112,82, - 83,114,2268,1909,2009,1991,3122,2797,2181,3432, - 1504,2519,39,804,36,2272,3443,34,858,31, - 35,30,32,1798,29,27,56,1893,112,82, - 83,114,1318,1909,2009,1991,3130,2519,39,804, - 36,2215,3443,34,858,31,35,30,32,1798, - 29,27,56,1893,112,82,83,114,1484,1909, - 2009,1991,3141,177,1074,2022,1502,526,422,39, - 712,385,1365,39,804,36,76,2933,34,858, - 339,35,1646,117,231,77,2358,286,4488,93, - 162,598,39,712,385,390,419,3187,1836,117, - 186,2235,275,2899,4535,206,217,4308,1484,2283, - 205,214,215,216,218,1405,1667,2303,175,1484, - 440,2415,2429,2724,2478,55,333,1,320,952, - 322,526,1080,1573,318,564,2497,2306,2933,58, - 189,173,174,176,177,178,179,180,231,1484, - 441,1515,57,375,162,2358,234,1403,1651,64, - 64,1836,334,335,186,2235,64,1158,3437,206, - 217,4308,231,359,205,214,215,216,218,2307, - 3065,78,175,1759,252,232,233,3259,1831,2532, - 2603,2308,187,208,217,4308,200,401,207,214, - 215,216,218,204,190,173,174,176,177,178, - 179,180,209,2049,76,602,2874,15,1306,210, - 211,212,213,293,294,295,296,1248,39,804, - 36,3000,2933,34,858,339,35,2369,2787,1114, - 39,804,36,3155,950,34,858,339,35,2519, - 39,804,36,2075,3443,34,858,31,35,30, - 32,1798,29,27,56,1893,112,82,83,114, - 100,1909,3015,598,39,712,385,286,2375,2478, - 2448,332,14,320,952,322,2383,2120,1502,315, - 564,2478,1484,389,419,320,952,322,1484,2025, - 2127,315,564,991,991,1528,1667,55,1346,265, - 2236,2448,798,526,1080,351,76,2732,1585,3212, - 526,1196,1836,96,2769,2358,166,162,1836,3293, - 231,1769,344,2203,2120,349,162,343,168,2064, - 1573,2725,2899,162,64,2933,186,2235,308,312, - 1502,206,217,4308,2038,1270,205,214,215,216, - 218,2682,2280,76,175,2358,2933,1247,864,2001, - 598,39,712,385,103,3030,353,516,234,1323, - 526,202,2899,515,64,1835,3408,173,174,176, - 177,178,179,180,332,441,2779,231,3030,526, - 1877,3070,2129,162,55,76,255,232,233,4520, - 64,52,495,186,2235,332,231,365,206,217, - 4308,4555,162,205,214,215,216,218,2209,1573, - 4229,175,186,2235,2933,515,104,206,217,4308, - 48,1634,205,214,215,216,218,4601,492,494, - 175,3485,359,182,173,174,176,177,178,179, - 180,529,691,50,1634,526,1573,2809,2532,2603, - 944,2933,193,173,174,176,177,178,179,180, - 617,1075,231,332,526,2083,39,279,162,2624, - 1484,510,39,712,385,1573,2256,64,186,2235, - 2933,231,1484,206,217,4308,2263,162,205,214, - 215,216,218,1908,39,391,175,186,2235,2566, - 332,3343,206,217,4308,55,2204,205,214,215, - 216,218,1080,3055,4609,175,1295,1032,3556,173, - 174,176,177,178,179,180,705,2411,2607,332, - 526,2388,4651,1668,64,2024,3485,196,173,174, - 176,177,178,179,180,793,1197,231,76,526, - 2358,1223,4081,162,1484,1484,686,39,712,385, - 1484,64,2384,186,2235,3774,231,2899,206,217, - 4308,224,162,205,214,215,216,218,2273,1486, - 2387,175,186,2235,2933,3121,3140,206,217,4308, - 55,73,205,214,215,216,218,1080,197,2434, - 175,53,3557,192,173,174,176,177,178,179, - 180,881,2264,76,1484,526,2133,4606,598,39, - 712,385,199,173,174,176,177,178,179,180, - 2127,2310,231,3259,526,2801,1690,495,162,2358, - 1484,598,39,712,385,72,2409,2430,186,2235, - 1484,3228,442,206,217,4308,231,162,205,214, - 215,216,218,76,2457,2458,175,851,168,1484, - 1074,71,2472,492,494,423,3026,208,217,4308, - 2358,70,207,214,215,216,218,2493,198,173, - 174,176,177,178,179,180,209,231,2103,602, - 2982,510,3607,210,211,212,213,293,294,295, - 296,3086,1471,2495,3418,2358,102,4397,208,217, - 4308,89,2441,207,214,215,216,218,2038,2724, - 2491,3044,231,598,39,712,385,209,2226,1484, - 602,2528,511,2549,210,211,212,213,293,294, - 295,296,2905,208,217,4308,2358,909,207,214, - 215,216,218,1027,39,712,385,55,331,335, - 2988,1471,209,231,1080,602,4397,307,1231,210, - 211,212,213,293,294,295,296,76,2682,2551, - 2758,1258,2358,2933,208,217,4308,55,437,207, - 214,215,216,218,1080,2835,2960,76,1839,2899, - 2933,1299,2381,209,2501,2568,602,2530,220,1499, - 210,211,212,213,293,294,295,296,1214,39, - 2827,36,3000,2933,34,858,339,35,2519,39, - 804,36,332,3443,34,858,31,35,30,32, - 1798,29,27,56,1893,112,82,83,114,333, - 1909,3045,2547,1785,39,804,36,3468,2584,34, - 858,339,35,422,2568,2610,1601,2586,3774,359, - 2478,351,332,1484,320,952,322,5143,5143,2025, - 315,564,5143,991,2809,2532,2603,5143,346,2203, - 2120,349,3116,1925,1325,5143,2358,2358,3021,598, - 39,712,385,1153,61,2478,166,5143,2732,320, - 952,322,5143,231,2899,315,564,2717,39,804, - 36,3155,421,34,858,339,35,5143,1484,351, - 5143,5143,5143,426,208,217,4308,5143,1066,207, - 214,215,216,218,5143,2668,344,2203,2120,349, - 1484,1484,1484,209,2026,2333,602,5143,489,60, - 210,211,212,213,293,294,295,296,856,2478, - 351,5143,991,320,952,322,3563,410,2839,315, - 564,3241,107,3225,360,520,5143,344,2203,2120, - 349,5143,5143,351,5143,162,2333,5143,5143,1957, - 5143,5143,517,5143,5143,203,3004,5143,5143,5143, - 344,2203,2120,349,5143,2519,39,804,36,518, - 3443,34,858,31,35,30,32,1798,29,27, - 56,1893,112,82,83,114,5143,3060,2519,39, - 804,36,5143,3443,34,858,31,35,30,32, - 1798,29,27,56,1893,112,82,83,114,5143, - 3062,2519,39,804,36,5143,3443,34,858,31, - 35,30,32,1798,29,27,56,1893,112,82, - 83,114,5143,3088,1333,39,804,36,1484,2933, - 34,858,339,35,2519,39,804,36,5143,3443, - 34,858,31,35,30,32,1798,29,27,56, - 1893,112,82,83,91,2519,1380,804,2692,3291, - 3443,34,858,31,35,30,32,1798,29,27, - 56,1893,112,82,83,90,2478,5143,333,5143, - 320,952,322,5143,5143,5143,316,564,5143,5143, - 5143,598,39,712,385,5143,2519,39,804,36, - 351,3443,34,858,31,35,30,32,1798,29, - 27,56,1893,112,82,83,89,346,2203,2120, - 349,2519,39,804,36,425,3443,34,858,31, - 35,30,32,1798,29,27,56,1893,112,82, - 83,88,2519,39,804,36,5143,3443,34,858, - 31,35,30,32,1798,29,27,56,1893,112, - 82,83,87,2519,39,804,36,5143,3443,34, - 858,31,35,30,32,1798,29,27,56,1893, - 112,82,83,86,2519,39,804,36,5143,3443, - 34,858,31,35,30,32,1798,29,27,56, - 1893,112,82,83,85,2519,39,804,36,5143, - 3443,34,858,31,35,30,32,1798,29,27, - 56,1893,112,82,83,84,2341,39,804,36, - 5143,3443,34,858,31,35,30,32,1798,29, - 27,56,1893,112,82,83,110,2519,39,804, - 36,5143,3443,34,858,31,35,30,32,1798, - 29,27,56,1893,112,82,83,116,2519,39, - 804,36,5143,3443,34,858,31,35,30,32, - 1798,29,27,56,1893,112,82,83,115,2519, - 39,804,36,1074,3443,34,858,31,35,30, - 32,1798,29,27,56,1893,112,82,83,113, - 2519,39,804,36,5143,3443,34,858,31,35, - 30,32,1798,29,27,56,1893,112,82,83, - 111,1713,39,804,36,3000,5143,34,858,339, - 35,2693,39,712,385,5143,3151,598,39,1339, - 3421,5143,2724,240,5143,1095,39,804,36,3000, - 5143,34,858,339,35,774,39,712,385,76, - 5143,5143,5143,2358,5143,275,2210,39,1339,278, - 5143,76,1196,2478,5143,526,2358,320,952,322, - 343,3023,335,315,564,5143,5143,76,5143,55, - 234,991,343,2899,5143,1646,1080,2478,162,2358, - 53,320,952,322,5143,2280,798,315,564,2520, - 5143,5143,2851,5143,162,715,2899,2280,238,232, - 233,5143,5143,5143,2452,2726,598,3497,1339,80, - 798,276,1857,39,2827,36,3000,5143,34,858, - 339,35,308,312,5143,5143,245,248,251,254, - 616,5143,1095,39,804,36,3000,662,34,858, - 339,35,3214,495,2025,5143,309,312,991,1394, - 39,804,36,1323,2933,34,858,339,35,598, - 39,712,385,5143,2478,5143,359,5143,320,952, - 322,166,76,5143,315,564,991,5143,5143,493, - 494,2958,2532,2603,2478,5143,5143,76,320,952, - 322,2358,5143,55,315,564,5143,1153,5143,162, - 1080,2478,5143,333,1062,320,952,322,343,5143, - 3242,316,564,862,39,712,385,3542,1278,39, - 804,36,3508,5143,34,858,339,35,1062,39, - 804,36,2887,2280,34,858,339,35,5143,1038, - 2897,3618,5143,2358,3413,1127,5143,55,2126,2358, - 3413,5143,2358,5143,1080,398,5143,5143,53,5143, - 231,2210,39,1339,3499,5143,231,5143,5143,343, - 2478,411,2839,945,317,881,322,5143,5143,521, - 2478,1791,402,4298,317,881,322,1791,402,4298, - 510,39,712,385,2280,1432,39,712,385,5143, - 403,524,5143,602,5143,5143,403,76,5143,602, - 5143,991,1794,39,712,385,5143,1794,39,712, - 385,5143,5143,5143,55,1794,39,712,385,55, - 5143,1080,5143,2262,162,53,1080,2358,5143,5143, - 53,5143,1626,5143,5143,3240,55,5143,1626,5143, - 658,55,5143,1080,343,2367,5143,53,1080,55, - 5143,5143,53,5143,5143,5143,1080,5143,5143,5143, - 53,701,3298,1623,39,712,385,3321,2055,1166, - 5143,701,2358,5143,5143,3589,774,39,712,385, - 5143,1794,39,712,385,5143,404,406,5143,343, - 5143,76,404,407,5143,526,5143,55,1794,39, - 712,385,5143,2255,1080,5143,5143,2358,2873,1282, - 55,4325,343,5143,755,55,5143,1080,162,5143, - 5143,2904,1080,2388,343,5143,53,3644,5143,2038, - 1074,5143,55,5143,76,5143,2728,2280,526,1080, - 5143,3841,5143,53,2718,598,39,712,385,3378, - 598,39,712,385,5143,343,76,5143,4563,5143, - 526,162,5143,5143,76,2127,76,76,2358,991, - 526,2358,194,598,39,712,385,343,76,55, - 4212,5143,2358,162,55,343,1080,343,343,2724, - 3145,1080,162,162,194,1839,2518,76,5143,343, - 5143,2358,4212,168,194,76,5143,424,5143,2358, - 2280,2127,4212,2280,5143,991,1074,2938,343,2127, - 2946,76,5143,991,2280,2358,343,5143,3467,335, - 5143,499,5143,76,5143,446,5143,991,162,5143, - 5143,76,343,2280,5143,991,162,5143,3162,168, - 497,2280,5143,5143,432,76,5143,168,3150,991, - 162,598,39,1339,3555,76,3157,2280,162,991, - 3234,3294,76,2025,525,2724,991,991,5143,3320, - 3235,5143,162,5143,5143,5143,5143,5143,5143,5143, - 5143,3419,162,3330,5143,5143,5143,5143,5143,162, - 166,5143,5143,2948,5143,5143,5143,5143,5143,5143, - 3640,5143,3642,5143,3487,335,5143,5143,5143,5143, - 3778,5143,5143,5143,5143,5143,5143,5143,5143,5143, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143, - 3641,5143,0,491,3315,0,230,1,0,43, - 5161,0,43,5160,0,1,571,0,1,567, - 0,1,4458,0,1,5161,2,0,1,5160, - 2,0,5379,243,0,5378,243,0,5481,243, - 0,5480,243,0,5406,243,0,5405,243,0, - 5404,243,0,5403,243,0,5402,243,0,5401, - 243,0,5400,243,0,5399,243,0,5417,243, - 0,5416,243,0,5415,243,0,5414,243,0, - 5413,243,0,5412,243,0,5411,243,0,5410, - 243,0,5409,243,0,5408,243,0,5407,243, - 0,43,243,5161,0,43,243,5160,0,5185, - 243,0,1493,384,0,54,5161,0,54,5160, - 0,43,1,5161,2,0,43,1,5160,2, - 0,5185,1,0,1,5473,0,1,1541,0, - 1493,33,0,444,1575,0,5161,54,0,5160, - 54,0,1582,319,0,43,5161,2,0,43, - 5160,2,0,39,37,0,1,434,0,448, - 1746,0,447,1780,0,230,222,0,5185,230, - 1,0,43,230,1,0,230,409,0,41, - 5161,0,41,5160,0,49,5183,0,49,41, - 0,1,2419,0,1,5417,0,1,5416,0, - 1,5415,0,1,5414,0,1,5413,0,1, - 5412,0,1,5411,0,1,5410,0,1,5409, - 0,1,5408,0,1,5407,0,43,1,5161, - 0,43,1,5160,0,769,1,0,1,653, - 0,1,2558,0,230,221,0,5153,400,0, - 5152,400,0,230,408,0,30,509,0,42, - 5161,0,42,5160,0,2671,132,0,5151,1, - 0,5473,435,0,1541,435,0,5183,51,0, - 51,41,0,1493,45,0,2163,97,0,36, - 38,0,43,567,0,230,1,3279,0,5153, - 230,0,5152,230,0,43,1,0,239,2414, - 0,385,36,0,36,385,0,384,33,0, - 33,384,0,2671,134,0,2671,133,0,3401, - 230,0,53,41,0,1,98,0,41,53, - 0,8,10,0,41,5161,2,0,41,5160, - 2,0,5161,40,0,5160,40,0,5473,101, - 0,1541,101,0,39,79,0,280,3569,0, - 191,3206,0 + 39,39,38,30,139,139,97,97,174,174, + 92,193,193,80,80,80,80,80,80,80, + 80,80,81,81,81,77,77,58,58,175, + 175,82,82,82,103,103,176,176,83,83, + 83,177,177,84,84,84,84,84,85,85, + 66,66,66,66,66,66,66,47,47,47, + 47,47,104,104,105,105,48,178,21,21, + 21,21,21,46,46,87,87,87,87,87, + 146,146,141,141,141,141,141,142,142,142, + 143,143,143,144,144,144,145,145,145,88, + 88,88,88,88,89,89,89,12,12,12, + 12,12,12,12,12,12,12,12,100,117, + 117,117,117,117,115,115,115,116,116,148, + 148,147,147,119,119,149,71,71,72,72, + 74,75,73,50,45,150,150,51,49,70, + 70,151,151,140,140,120,121,121,78,78, + 152,152,62,62,62,56,56,55,63,63, + 76,76,54,54,54,90,90,99,98,98, + 59,59,57,57,53,53,43,101,101,101, + 93,93,93,94,95,95,95,96,96,106, + 106,106,108,108,107,107,194,194,91,91, + 180,180,180,180,180,123,44,44,154,179, + 179,124,124,124,124,181,181,34,34,114, + 125,125,125,125,109,109,118,118,118,156, + 157,157,157,157,157,157,157,157,157,184, + 184,182,182,183,183,158,158,158,158,159, + 185,111,110,110,186,186,160,160,160,160, + 102,102,102,187,187,9,188,188,189,161, + 153,153,162,162,163,164,164,6,6,7, + 166,166,166,166,166,166,166,166,166,166, + 166,166,166,166,166,166,166,166,166,166, + 166,166,166,166,166,166,166,166,166,166, + 166,166,166,166,166,166,166,166,166,166, + 166,166,61,64,64,167,167,126,126,127, + 127,127,127,127,127,3,168,168,165,165, + 128,128,128,68,69,86,155,155,112,112, + 190,190,190,129,129,122,122,191,191,881, + 39,3030,3021,647,4416,34,762,31,35,30, + 32,3016,29,27,56,2038,112,82,83,114, + 161,2073,2130,2121,2244,2227,2331,2272,2353,909, + 2348,159,2360,278,2378,149,3321,29,164,150, + 1818,39,708,36,849,117,34,762,342,35, + 599,39,631,388,2413,39,708,36,237,4503, + 34,762,31,35,30,32,1950,29,27,56, + 2038,112,82,83,114,1459,2073,2130,2121,2244, + 2227,2331,2272,2353,55,3247,240,235,236,1376, + 780,52,1080,2337,1002,323,942,325,1016,279, + 1513,945,318,904,159,1160,39,2736,47,4298, + 2944,46,762,247,250,253,256,2920,1619,2030, + 2550,39,708,36,628,4568,34,762,31,35, + 30,32,1079,504,599,1388,1364,38,2756,119, + 3178,2652,3070,3093,3151,4140,1482,39,708,36, + 2337,4503,34,762,31,35,1963,32,1950,29, + 27,56,2038,112,82,83,114,346,2073,2130, + 2121,2244,2227,2331,2272,2353,2322,2348,1122,2360, + 362,2378,149,2595,1162,510,150,516,4318,3113, + 599,39,1943,1906,1370,2347,2587,2602,2296,511, + 1482,39,708,36,2337,4503,34,762,31,35, + 1963,32,1950,29,27,56,2038,112,82,83, + 114,346,2073,2130,2121,2244,2227,2331,2272,2353, + 2086,2348,1215,2360,1168,2378,149,332,338,510, + 150,327,1446,3113,599,39,1364,281,525,2413, + 39,708,36,511,4503,34,762,31,35,30, + 32,1950,29,27,56,2038,112,82,83,114, + 159,2073,2130,3188,506,1169,1150,1762,39,708, + 36,2337,4503,34,762,31,35,1963,32,1950, + 29,27,56,2038,112,82,83,114,346,2073, + 2130,2121,2244,2227,2331,2272,2353,76,2348,2374, + 2360,1744,2378,149,2436,64,510,150,1454,1728, + 3113,1363,159,1298,1298,1099,4370,4341,506,3488, + 511,1550,39,708,36,938,4503,34,762,31, + 35,30,32,1950,29,27,56,2038,112,82, + 83,114,226,2073,2130,2121,2244,2227,2331,2272, + 2353,416,2348,1217,2360,2551,2378,149,2436,1263, + 381,150,336,335,1523,1622,39,708,36,769, + 4503,34,762,31,35,30,32,1950,29,27, + 56,2038,112,82,83,114,384,2073,2130,2121, + 2244,2227,2331,2272,2353,507,2348,1383,2360,4148, + 2378,149,1593,317,381,150,1135,39,284,2413, + 39,708,36,1498,4503,34,762,31,35,30, + 32,1950,29,27,56,2038,112,82,83,114, + 382,2073,2130,2121,2244,2227,2331,2272,3234,1431, + 328,1887,39,708,36,385,4503,34,762,31, + 35,30,32,1950,29,27,56,2038,112,82, + 83,114,1181,2073,2130,2121,2244,2227,2331,2272, + 2353,424,2348,2499,2360,634,2378,149,329,252, + 381,150,1401,1019,979,1432,39,708,36,386, + 4568,34,762,31,35,65,32,2702,2064,39, + 708,36,2546,4503,34,762,31,35,30,32, + 1950,29,27,56,2038,112,82,83,114,634, + 2073,2130,2121,2244,2227,2331,2272,2353,31,2348, + 2160,2360,2341,2378,149,599,1708,164,150,64, + 599,39,631,388,2064,39,708,36,1391,4503, + 34,762,31,35,30,32,1950,29,27,56, + 2038,112,82,83,114,379,2073,2130,2121,2244, + 2227,2331,2272,2353,55,2348,308,2360,1325,2378, + 149,1088,772,375,150,2064,39,708,36,1703, + 4503,34,762,31,35,30,32,1950,29,27, + 56,2038,112,82,83,114,355,2073,2130,2121, + 2244,2227,2331,2272,2353,1897,2348,2613,2360,2030, + 2378,149,1472,440,375,150,599,39,286,599, + 39,631,388,2064,39,708,36,2756,4503,34, + 762,31,35,30,32,1950,29,27,56,2038, + 112,82,83,114,290,2073,2130,2121,2244,2227, + 2331,2272,2353,55,2348,356,2360,374,2378,149, + 1088,2397,375,150,1830,39,708,36,1803,4503, + 34,762,31,35,30,32,1950,29,27,56, + 2038,112,82,83,114,64,2073,2130,2121,2244, + 2227,2331,2272,2353,1803,2348,64,2360,373,2524, + 170,1694,39,708,36,1803,4503,34,762,31, + 35,30,32,1950,29,27,56,2038,112,82, + 83,114,307,2073,2130,2121,2244,2227,2331,2272, + 2353,358,2348,304,2360,31,2378,149,525,4243, + 148,150,94,331,990,108,371,491,599,39, + 631,388,2064,39,708,36,2082,4503,34,762, + 31,35,30,32,1950,29,27,56,2038,112, + 82,83,114,453,2073,2130,2121,2244,2227,2331, + 2272,2353,55,2348,452,2360,1324,2378,149,1088, + 1662,161,150,2064,39,708,36,1737,4503,34, + 762,31,35,30,32,1950,29,27,56,2038, + 112,82,83,114,1368,2073,2130,2121,2244,2227, + 2331,2272,2353,31,2348,1728,2360,2139,2378,149, + 1298,1793,160,150,2064,39,708,36,1094,4503, + 34,762,31,35,30,32,1950,29,27,56, + 2038,112,82,83,114,3043,2073,2130,2121,2244, + 2227,2331,2272,2353,1804,2348,2193,2360,2346,2378, + 149,1298,1793,159,150,2064,39,708,36,1416, + 4503,34,762,31,35,30,32,1950,29,27, + 56,2038,112,82,83,114,302,2073,2130,2121, + 2244,2227,2331,2272,2353,31,2348,159,2360,3153, + 2378,149,4512,1793,158,150,2064,39,708,36, + 1416,4503,34,762,31,35,30,32,1950,29, + 27,56,2038,112,82,83,114,389,2073,2130, + 2121,2244,2227,2331,2272,2353,31,2348,1740,2360, + 676,2378,149,4407,1793,157,150,2064,39,708, + 36,100,4503,34,762,31,35,30,32,1950, + 29,27,56,2038,112,82,83,114,287,2073, + 2130,2121,2244,2227,2331,2272,2353,31,2348,159, + 2360,2842,2378,149,4436,1793,156,150,2064,39, + 708,36,102,4503,34,762,31,35,30,32, + 1950,29,27,56,2038,112,82,83,114,309, + 2073,2130,2121,2244,2227,2331,2272,2353,31,2348, + 159,2360,669,2378,149,4451,1865,155,150,2064, + 39,708,36,1678,4503,34,762,31,35,30, + 32,1950,29,27,56,2038,112,82,83,114, + 301,2073,2130,2121,2244,2227,2331,2272,2353,1513, + 2348,159,2360,31,2378,149,4525,730,154,150, + 2064,39,708,36,1842,4503,34,762,31,35, + 30,32,1950,29,27,56,2038,112,82,83, + 114,326,2073,2130,2121,2244,2227,2331,2272,2353, + 1513,2348,65,2360,31,2378,149,1600,619,153, + 150,2064,39,708,36,1737,4503,34,762,31, + 35,30,32,1950,29,27,56,2038,112,82, + 83,114,490,2073,2130,2121,2244,2227,2331,2272, + 2353,31,2348,1933,2360,3005,2378,149,340,1793, + 152,150,2064,39,708,36,1981,4503,34,762, + 31,35,30,32,1950,29,27,56,2038,112, + 82,83,114,519,2073,2130,2121,2244,2227,2331, + 2272,2353,31,2348,1295,2360,2423,2378,149,1464, + 1793,151,150,2064,39,708,36,3264,4503,34, + 762,31,35,30,32,1950,29,27,56,2038, + 112,82,83,114,300,2073,2130,2121,2244,2227, + 2331,2272,2353,31,2348,2046,2360,2486,2378,149, + 599,3032,165,150,2064,39,708,36,1446,4503, + 34,762,31,35,30,32,1950,29,27,56, + 2038,112,82,83,114,288,2073,2130,2121,2244, + 2227,2331,2272,2353,31,2348,2094,2360,2549,2378, + 149,599,3576,146,150,2294,39,708,36,2121, + 4503,34,762,31,35,30,32,1950,29,27, + 56,2038,112,82,83,114,2122,2073,2130,2121, + 2244,2227,2331,2272,2353,2766,2348,2123,2360,1920, + 2378,149,1370,2733,195,150,2413,39,708,36, + 2095,4503,34,762,31,35,30,32,1950,29, + 27,56,2038,112,82,83,114,1737,2073,2130, + 2121,2244,2227,2331,2272,2353,31,2348,64,2360, + 2365,2524,170,2413,39,708,36,402,4503,34, + 762,31,35,30,32,1950,29,27,56,2038, + 112,82,83,114,188,2073,2130,2121,2244,2227, + 2331,2272,2353,1828,2348,303,2360,2428,2524,170, + 1689,976,39,708,36,378,4431,34,762,31, + 35,63,32,1006,2413,39,708,36,294,4503, + 34,762,31,35,30,32,1950,29,27,56, + 2038,112,82,83,114,77,2073,2130,2121,2244, + 2227,2331,2272,2353,31,2348,1084,2360,3230,2524, + 170,2413,39,708,36,418,4503,34,762,31, + 35,30,32,1950,29,27,56,2038,112,82, + 83,114,449,2073,2130,2121,2244,2227,2331,2272, + 2353,31,2348,400,2360,861,2524,170,2617,998, + 39,708,36,1255,4431,34,762,31,35,62, + 32,376,2413,39,708,36,3531,4503,34,762, + 31,35,30,32,1950,29,27,56,2038,112, + 82,83,114,1014,2073,2130,2121,2244,2227,2331, + 2272,2353,1803,2348,67,2360,2276,2524,170,2469, + 39,708,36,417,4503,34,762,31,35,30, + 32,1950,29,27,56,2038,112,82,83,114, + 580,2073,2130,2121,2244,2227,2331,2272,2353,31, + 2348,1272,2360,2844,2524,170,1432,39,708,36, + 1265,4568,34,762,31,35,64,32,1513,1581, + 2413,39,708,36,420,4503,34,762,31,35, + 30,32,1950,29,27,56,2038,112,82,83, + 114,330,2073,2130,2121,2244,2227,2331,2272,2353, + 380,2348,66,3303,48,1703,1446,2413,39,708, + 36,3150,4503,34,762,31,35,30,32,1950, + 29,27,56,2038,112,82,83,114,517,2073, + 2130,2121,2244,2227,2331,3235,2413,39,708,36, + 1803,4503,34,762,31,35,30,32,1950,29, + 27,56,2038,112,82,83,114,1943,2073,2130, + 2121,2244,2227,3216,1331,1583,39,394,2337,939, + 39,708,36,2823,240,34,762,1246,35,390, + 422,2413,39,708,36,234,4503,34,762,31, + 35,30,32,1950,29,27,56,2038,112,82, + 83,114,1064,2073,2130,2121,2244,3217,211,220, + 4274,210,217,218,219,221,599,39,295,4089, + 31,2453,39,282,605,212,119,31,559,1870, + 15,4207,213,214,215,216,296,297,298,299, + 2413,39,708,36,1737,4503,34,762,31,35, + 30,32,1950,29,27,56,2038,112,82,83, + 114,890,2073,2130,2121,2244,3227,2525,39,631, + 388,2710,2896,2419,2860,2337,1581,1513,1705,242, + 2613,2419,1679,1873,2576,2296,2337,1298,3525,1298, + 1691,1117,234,2167,13,1581,2562,529,1583,39, + 394,278,518,2944,939,39,708,36,1021,2297, + 34,762,343,35,3170,211,220,4274,210,217, + 218,219,221,162,337,338,237,1135,39,282, + 186,2429,212,533,2843,559,335,222,336,213, + 214,215,216,296,297,298,299,2534,1915,599, + 39,3601,2337,2739,240,235,236,2337,1581,64, + 354,599,39,631,388,1235,2035,279,2144,346, + 201,1860,2354,362,234,3520,1381,349,1129,1070, + 352,247,250,253,256,2920,391,422,3296,2587, + 2602,3496,628,433,2542,445,185,211,220,4274, + 210,217,218,219,221,393,422,2868,3178,2652, + 3070,3093,3151,4140,212,95,2814,559,108,222, + 2337,213,214,215,216,296,297,298,299,599, + 39,1364,285,2413,39,708,36,234,4503,34, + 762,31,35,30,32,1950,29,27,56,2038, + 112,82,83,114,1444,2073,3033,3520,1504,517, + 211,220,4274,210,217,218,219,221,392,422, + 4385,202,599,39,1364,283,2120,212,1580,2875, + 559,1925,222,2337,213,214,215,216,296,297, + 298,299,599,39,1364,3587,2413,39,708,36, + 234,4503,34,762,31,35,30,32,1950,29, + 27,56,2038,112,82,83,114,498,2073,3046, + 3520,1545,64,211,220,4274,210,217,218,219, + 221,2515,2183,1378,599,39,295,3460,3696,2327, + 212,383,2155,559,1513,222,1375,213,214,215, + 216,296,297,298,299,2413,39,708,36,204, + 4503,34,762,31,35,30,32,1950,29,27, + 56,2038,112,82,83,114,4068,2073,2130,2121, + 3140,1406,1208,3520,1709,2413,39,708,36,2145, + 4503,34,762,31,35,30,32,1950,29,27, + 56,2038,112,82,83,114,2823,2073,2130,2121, + 3160,2413,39,708,36,1803,4503,34,762,31, + 35,30,32,1950,29,27,56,2038,112,82, + 83,114,2200,2073,2130,2121,3171,2413,39,708, + 36,237,4503,34,762,31,35,30,32,1950, + 29,27,56,2038,112,82,83,114,64,2073, + 2130,2121,3183,177,1515,1157,2218,529,3644,249, + 235,236,1210,1172,39,2869,36,849,1298,34, + 762,342,35,1908,234,1679,2202,31,31,2337, + 1298,1038,1038,162,57,203,939,39,708,36, + 186,2429,34,762,2957,35,2944,209,220,4274, + 208,217,218,219,221,99,1087,2138,162,31, + 1,175,436,3010,529,1080,2685,335,323,942, + 325,580,247,39,446,318,904,4361,31,335, + 174,234,3344,189,173,176,177,178,179,180, + 162,706,604,939,39,708,36,186,2429,34, + 762,44,35,3351,209,220,4274,208,217,218, + 219,221,1181,1407,119,3803,362,2337,175,335, + 39,446,1725,2823,4361,187,1618,39,1364,281, + 2267,3296,2587,2602,234,50,1703,174,2270,1077, + 190,173,176,177,178,179,180,1139,39,708, + 36,849,1298,34,762,342,35,211,220,4274, + 210,217,218,219,221,1652,511,39,631,388, + 1363,413,2895,2296,212,4370,31,559,2790,15, + 2337,213,214,215,216,296,297,298,299,2107, + 1983,39,1118,1414,31,4314,1996,346,2601,1080, + 55,335,323,942,325,2030,1513,1088,1294,318, + 904,2182,334,338,1028,39,708,36,3694,3113, + 34,762,342,35,55,764,3184,64,2515,2919, + 1737,1088,720,2303,439,2438,2441,3351,28,2413, + 39,708,36,14,4503,34,762,31,35,30, + 32,1950,29,27,56,2038,112,82,83,114, + 2306,2073,2130,3194,404,2960,1080,311,315,323, + 942,325,1498,440,265,1917,318,904,529,2337, + 1918,443,2438,2441,2337,31,1995,845,378,2337, + 354,2131,2852,31,1513,234,2944,2337,1336,1373, + 1959,2944,64,1269,162,1513,346,347,1129,1070, + 352,186,2429,31,346,2822,1542,3116,209,220, + 4274,208,217,218,219,221,353,357,3113,31, + 425,353,175,649,525,529,3113,75,2941,207, + 2999,1818,39,708,36,849,2963,34,762,342, + 35,174,234,1513,3573,173,176,177,178,179, + 180,162,2350,3013,1803,3644,498,1790,186,2429, + 2105,498,1861,1513,1038,209,220,4274,208,217, + 218,219,221,2561,2290,74,1459,3575,441,175, + 1922,31,529,1080,368,4226,323,942,325,237, + 166,495,497,318,904,59,495,497,174,234, + 416,182,173,176,177,178,179,180,162,764, + 1803,3031,237,1037,1708,186,2429,252,235,236, + 427,1513,209,220,4274,208,217,218,219,221, + 31,592,2651,103,4110,529,175,3582,2646,529, + 255,235,236,603,599,39,631,388,2008,354, + 244,312,315,93,2073,174,234,3103,193,173, + 176,177,178,179,180,162,347,1129,1070,352, + 237,31,186,2429,345,1038,1396,2305,278,209, + 220,4274,208,217,218,219,221,2694,516,104, + 1037,1708,617,175,2003,1512,529,237,258,235, + 236,3311,1750,39,2869,36,849,1896,34,762, + 342,35,174,234,1513,3677,173,176,177,178, + 179,180,162,1513,2271,245,235,236,2337,186, + 2429,2417,289,1583,39,394,209,220,4274,208, + 217,218,219,221,280,346,58,1950,64,705, + 175,2337,2279,529,1080,444,1513,323,942,325, + 1463,1716,2105,1930,318,904,1038,2612,346,174, + 234,1513,198,173,176,177,178,179,180,162, + 706,687,39,631,388,205,186,2429,3121,1513, + 2603,2282,166,209,220,4274,208,217,218,219, + 221,31,64,96,1376,4376,793,175,2337,289, + 529,1286,39,708,36,55,1298,34,762,342, + 35,3341,1088,53,1917,2944,174,234,2337,192, + 173,176,177,178,179,180,162,1750,1716,3457, + 2350,2286,3688,186,2429,2944,599,39,631,388, + 209,220,4274,208,217,218,219,221,2697,3254, + 414,2895,2337,1080,175,336,323,942,325,599, + 3646,1364,80,321,904,2385,2387,1665,31,234, + 426,2352,2958,174,1513,2441,200,173,176,177, + 178,179,180,2889,2443,362,2924,2337,1618,39, + 1364,3647,211,220,4274,210,217,218,219,221, + 3329,2587,2602,449,234,498,3418,2277,2448,212, + 1728,1038,559,2456,513,1298,213,214,215,216, + 296,297,298,299,2497,435,2499,211,220,4274, + 210,217,218,219,221,2167,2504,162,2950,1038, + 496,497,2337,354,212,168,2269,559,1513,514, + 3660,213,214,215,216,296,297,298,299,234, + 347,1129,1070,352,335,162,1513,31,3024,1513, + 2800,1038,206,3288,2337,599,39,1364,3671,89, + 3118,2353,211,220,4274,210,217,218,219,221, + 1513,234,1513,423,39,631,388,162,3175,212, + 848,3232,559,1513,310,3292,213,214,215,216, + 296,297,298,299,211,220,4274,210,217,218, + 219,221,73,2403,72,1728,2463,278,1513,31, + 1298,212,2141,1159,559,71,223,2509,213,214, + 215,216,296,297,298,299,2728,39,708,36, + 2755,2528,34,762,342,35,2413,39,708,36, + 70,4503,34,762,31,35,30,32,1950,29, + 27,56,2038,112,82,83,114,2332,3097,335, + 2612,4115,31,31,2964,234,2935,2337,2337,599, + 39,631,388,3627,2530,2105,2532,2549,1080,1038, + 64,323,942,325,346,234,78,2503,318,904, + 2772,39,708,36,3694,2354,34,762,342,35, + 2632,2637,354,429,1619,166,3113,2447,211,220, + 4274,210,217,218,219,221,2990,227,2511,347, + 1129,1070,352,1513,1728,212,1513,3024,559,1298, + 492,1513,213,214,215,216,296,297,298,299, + 762,1513,1080,64,2337,323,942,325,599,39, + 631,388,318,904,5150,1675,5150,5150,2314,5150, + 5150,2944,5150,61,5150,5150,354,5150,520,5150, + 5150,5150,3263,60,599,39,631,388,335,5150, + 199,5150,428,347,1129,1070,352,2413,39,708, + 36,521,4503,34,762,31,35,30,32,1950, + 29,27,56,2038,112,82,83,114,427,3102, + 2413,39,708,36,3803,4503,34,762,31,35, + 30,32,1950,29,27,56,2038,112,82,83, + 114,363,3120,1222,39,708,36,5150,1298,34, + 762,342,35,2413,39,708,36,5150,4503,34, + 762,31,35,30,32,1950,29,27,56,2038, + 112,82,83,91,2413,1388,708,2742,1513,4503, + 34,762,31,35,30,32,1950,29,27,56, + 2038,112,82,83,90,1080,5150,336,323,942, + 325,5150,5150,5150,5150,319,904,5150,5150,5150, + 3713,5150,1513,5150,5150,2413,39,708,36,354, + 4503,34,762,31,35,30,32,1950,29,27, + 56,2038,112,82,83,89,349,1129,1070,352, + 2413,39,708,36,107,4503,34,762,31,35, + 30,32,1950,29,27,56,2038,112,82,83, + 88,2413,39,708,36,5150,4503,34,762,31, + 35,30,32,1950,29,27,56,2038,112,82, + 83,87,2413,39,708,36,5150,4503,34,762, + 31,35,30,32,1950,29,27,56,2038,112, + 82,83,86,2413,39,708,36,5150,4503,34, + 762,31,35,30,32,1950,29,27,56,2038, + 112,82,83,85,2413,39,708,36,5150,4503, + 34,762,31,35,30,32,1950,29,27,56, + 2038,112,82,83,84,2236,39,708,36,5150, + 4503,34,762,31,35,30,32,1950,29,27, + 56,2038,112,82,83,110,2413,39,708,36, + 5150,4503,34,762,31,35,30,32,1950,29, + 27,56,2038,112,82,83,116,2413,39,708, + 36,5150,4503,34,762,31,35,30,32,1950, + 29,27,56,2038,112,82,83,115,2413,39, + 708,36,5150,4503,34,762,31,35,30,32, + 1950,29,27,56,2038,112,82,83,113,2413, + 39,708,36,5150,4503,34,762,31,35,30, + 32,1950,29,27,56,2038,112,82,83,111, + 1606,39,708,36,849,1513,34,762,342,35, + 2357,39,708,36,5150,4503,34,762,31,35, + 30,32,1950,29,27,56,2038,92,82,83, + 2588,39,631,388,5150,2896,2510,3346,2021,39, + 708,36,243,1298,34,762,342,35,5150,5150, + 5150,5150,1080,5150,5150,323,942,325,5150,5150, + 5150,31,318,904,278,1038,31,5150,523,5150, + 1038,5150,2105,31,5150,5150,1038,1038,764,1818, + 39,708,36,849,5150,34,762,342,35,237, + 1080,162,336,323,942,325,162,119,5150,3540, + 319,904,166,162,3542,5150,1259,39,708,36, + 2743,3553,34,762,342,35,119,241,235,236, + 311,315,31,5150,5150,5150,1038,5150,5150,5150, + 279,1080,5150,951,323,942,325,2337,4460,5150, + 3650,318,904,401,248,251,254,257,2920,5150, + 5150,1336,162,5150,234,628,2296,3657,1080,5150, + 3578,320,806,325,1008,39,708,36,2877,3701, + 34,762,342,35,5150,2296,5150,1880,405,4216, + 1040,5150,5150,2105,2337,4460,5150,1038,775,39, + 631,388,5150,5150,406,3059,338,559,31,5150, + 5150,234,1038,5150,863,39,631,388,511,39, + 631,388,5150,166,3579,338,1080,5150,5150,320, + 806,325,55,5150,1880,405,4216,5150,162,1088, + 53,1276,39,631,388,1667,3094,5150,55,31, + 5150,406,55,1038,559,1088,53,5150,2239,1088, + 53,1538,39,631,388,5150,5150,5150,620,5150, + 1538,39,631,388,946,55,119,5150,1166,162, + 5150,5150,1088,53,2105,2198,5150,3838,1038,529, + 3711,5150,1667,5150,5150,55,5150,5150,5150,407, + 409,2604,1088,53,55,5150,346,1538,39,631, + 388,1088,53,5150,166,162,1662,39,631,388, + 5150,2431,5150,194,5150,1422,620,4290,4189,5150, + 3386,775,39,631,388,2296,1538,39,631,388, + 5150,55,5150,5150,5150,5150,407,410,1088,53, + 55,1538,39,631,388,5150,5150,1088,2609,5150, + 599,39,631,388,5150,55,5150,3639,5150,5150, + 55,5150,1088,2786,3632,338,3184,1088,53,31, + 5150,3872,5150,529,5150,55,31,5150,196,5150, + 529,3543,1088,53,55,5150,3718,5150,5150,5150, + 346,1088,1798,1590,39,631,388,346,5150,162, + 5150,3744,599,39,631,388,162,2936,5150,31, + 5150,5150,3113,529,3083,599,39,631,388,3113, + 5150,5150,2614,5150,31,5150,5150,55,2337,3035, + 346,5150,5150,31,1088,2176,55,529,5150,162, + 5150,5150,5150,1088,2299,346,5150,2936,5150,55, + 5150,3342,3113,5150,346,5150,1088,2291,599,39, + 631,388,3161,162,31,31,2325,3113,529,529, + 2337,194,5150,5150,5150,31,4189,502,5150,2337, + 31,5150,5150,5150,2337,346,346,346,5150,31, + 5150,5150,55,2337,162,162,346,5150,524,1088, + 2176,346,194,194,5150,5150,5150,4189,4189,3113, + 346,5150,5150,5150,5150,5150,5150,5150,3113,527, + 5150,5150,5150,3113,5150,5150,5150,5150,500,5150, + 5150,5150,3113,3424,5150,5150,3498,5150,5150,5150, + 5150,5150,528,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,3516,3519,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,4146,5150,0, + 494,3398,0,233,1,0,43,5168,0,43, + 5167,0,1,570,0,1,664,0,1,3287, + 0,1,5168,2,0,1,5167,2,0,5389, + 246,0,5388,246,0,5491,246,0,5490,246, + 0,5416,246,0,5415,246,0,5414,246,0, + 5413,246,0,5412,246,0,5411,246,0,5410, + 246,0,5409,246,0,5427,246,0,5426,246, + 0,5425,246,0,5424,246,0,5423,246,0, + 5422,246,0,5421,246,0,5420,246,0,5419, + 246,0,5418,246,0,5417,246,0,43,246, + 5168,0,43,246,5167,0,5192,246,0,1496, + 387,0,54,5168,0,54,5167,0,43,1, + 5168,2,0,43,1,5167,2,0,5192,1, + 0,1,5483,0,1,1578,0,1496,33,0, + 447,1623,0,5168,54,0,5167,54,0,1664, + 322,0,43,5168,2,0,43,5167,2,0, + 39,37,0,1,437,0,451,1244,0,450, + 1255,0,233,225,0,5192,233,1,0,43, + 233,1,0,233,412,0,41,5168,0,41, + 5167,0,49,5190,0,49,41,0,1,1457, + 0,1,5427,0,1,5426,0,1,5425,0, + 1,5424,0,1,5423,0,1,5422,0,1, + 5421,0,1,5420,0,1,5419,0,1,5418, + 0,1,5417,0,43,1,5168,0,43,1, + 5167,0,635,1,0,1,2235,0,1,2368, + 0,233,224,0,5160,403,0,5159,403,0, + 233,411,0,30,512,0,42,5168,0,42, + 5167,0,2681,132,0,5158,1,0,5483,438, + 0,1578,438,0,5190,51,0,51,41,0, + 1496,45,0,3211,97,0,36,38,0,43, + 664,0,233,1,3380,0,5160,233,0,5159, + 233,0,43,1,0,242,3100,0,388,36, + 0,36,388,0,387,33,0,33,387,0, + 2681,134,0,2681,133,0,3529,233,0,53, + 41,0,1,98,0,41,53,0,8,10, + 0,41,5168,2,0,41,5167,2,0,5168, + 40,0,5167,40,0,5483,101,0,1578,101, + 0,39,79,0,283,4182,0,191,3289,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1050,337 +1050,319 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 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,0,29, - 30,31,4,33,34,35,36,37,38,39, + 0,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,30,59, - 60,61,62,0,64,65,66,67,68,0, - 0,71,9,73,11,0,76,77,78,79, + 50,51,52,53,54,55,56,29,58,59, + 60,61,62,0,0,65,66,67,68,69, + 6,71,9,73,11,0,76,77,78,79, 80,81,82,83,84,85,86,87,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,0,29,30,31, - 4,33,34,35,36,37,38,39,40,41, + 22,23,24,25,26,27,0,29,0,31, + 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,57,76,59,60,61, - 62,0,64,65,66,67,68,88,89,71, - 9,73,11,0,76,77,78,79,80,81, + 52,53,54,55,56,29,58,59,60,61, + 62,33,34,65,66,67,68,69,0,71, + 0,73,4,3,76,77,78,79,80,81, 82,83,84,85,86,87,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,0,29,30,31,4,33, + 24,25,26,27,0,29,0,31,32,33, 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,48,49,50,51,52,53, - 54,55,56,57,0,59,60,61,62,0, - 64,65,66,67,68,6,0,1,2,73, + 54,55,56,0,58,59,60,61,62,0, + 0,65,66,67,68,69,0,1,2,73, 4,0,76,77,78,79,80,81,82,83, 84,85,86,87,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,0,29,30,31,4,33,34,35, + 26,27,0,29,61,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, 46,47,48,49,50,51,52,53,54,55, - 56,57,0,59,60,61,62,0,64,65, - 66,67,68,99,0,1,2,73,4,0, + 56,70,58,59,60,61,62,88,89,65, + 66,67,68,69,0,1,2,73,4,0, 76,77,78,79,80,81,82,83,84,85, 86,87,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, - 58,29,30,31,0,33,34,35,36,37, + 0,29,0,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,57, - 0,59,60,61,62,0,64,65,66,67, - 68,0,1,2,0,73,5,3,76,77, + 48,49,50,51,52,53,54,55,56,70, + 58,59,60,61,62,0,0,65,66,67, + 68,69,0,1,2,73,0,5,76,77, 78,79,80,81,82,83,84,85,86,87, 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,58,29, - 30,31,0,33,34,35,36,37,38,39, + 20,21,22,23,24,25,26,27,0,29, + 0,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,0,59, - 60,61,62,119,64,65,66,67,68,0, - 1,2,0,73,0,3,76,77,78,79, + 50,51,52,53,54,55,56,0,58,59, + 60,61,62,88,89,65,66,67,68,69, + 0,1,2,73,88,89,76,77,78,79, 80,81,82,83,84,85,86,87,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,58,29,30,31, - 0,33,34,35,36,37,38,39,40,41, + 22,23,24,25,26,27,0,29,0,31, + 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,57,0,59,60,61, - 62,119,64,65,66,67,68,0,1,2, - 0,73,88,89,76,77,78,79,80,81, + 52,53,54,55,56,29,58,59,60,61, + 62,0,95,65,66,67,68,69,0,1, + 2,73,0,0,76,77,78,79,80,81, 82,83,84,85,86,87,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,0,29,30,31,4,33, + 24,25,26,27,0,29,0,31,32,33, 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,48,49,50,51,52,53, - 54,55,56,57,0,59,60,61,62,119, - 64,65,66,67,68,0,1,2,0,73, - 0,3,76,77,78,79,80,81,82,83, + 54,55,56,70,58,59,60,61,62,88, + 89,65,66,67,68,69,0,1,2,73, + 88,89,76,77,78,79,80,81,82,83, 84,85,86,87,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,58,29,30,31,0,33,34,35, + 26,27,0,29,0,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, 46,47,48,49,50,51,52,53,54,55, - 56,57,0,59,60,61,62,0,64,65, - 66,67,68,0,1,2,0,73,88,89, + 56,0,58,59,60,61,62,121,0,65, + 66,67,68,69,0,1,2,73,10,0, 76,77,78,79,80,81,82,83,84,85, 86,87,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, - 58,29,30,31,0,33,34,35,36,37, + 0,29,0,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,57, - 0,59,60,61,62,0,64,65,66,67, - 68,0,1,2,9,73,11,100,76,77, + 48,49,50,51,52,53,54,55,56,0, + 58,59,60,61,62,76,95,65,66,67, + 68,69,0,1,2,73,0,0,76,77, 78,79,80,81,82,83,84,85,86,87, + 0,1,2,3,4,5,6,7,8,0, + 10,0,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,29, + 0,31,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,48,49, + 50,51,52,53,54,55,28,0,0,1, + 2,61,62,5,0,7,66,10,68,69, 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,0,29, - 30,31,4,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,0,59, - 60,61,62,0,64,65,66,67,68,0, - 1,2,0,73,5,0,76,77,78,79, - 80,81,82,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,28,10,0, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,0,29,30,31, - 0,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,29,0,1,2,61, - 62,88,89,65,10,67,68,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,0,1,2,3,28,5,30,7,69, - 33,34,35,0,0,38,121,40,41,42, - 43,57,0,46,0,1,2,50,4,5, - 64,7,66,56,0,1,2,3,61,5, - 0,7,65,3,67,68,33,34,71,72, - 73,74,28,0,1,2,3,4,5,6, - 7,8,0,1,2,0,0,1,2,3, + 20,21,22,23,30,0,1,2,28,4, + 5,31,7,33,34,35,97,98,38,0, + 40,41,42,43,0,58,46,0,1,2, + 50,4,5,28,7,0,56,0,1,2, + 3,61,5,0,7,0,66,28,68,69, + 0,71,72,73,74,28,0,0,1,2, + 3,4,5,6,7,8,0,1,2,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,0,114,115,116,28,63,64, + 31,8,33,34,35,60,0,38,0,40, + 41,42,43,0,57,46,0,1,2,50, + 70,5,9,0,11,56,3,70,0,6, + 61,8,9,90,11,66,30,68,69,96, + 71,72,73,74,28,0,0,24,25,26, + 27,0,102,30,104,105,106,107,108,109, + 110,111,112,113,0,1,2,117,0,1, + 2,3,4,5,6,7,8,64,72,0, + 57,30,3,114,115,116,63,64,60,0, + 1,2,28,70,71,72,7,0,75,0, + 3,0,1,2,3,4,5,6,7,8, + 0,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,102,103,104,105,106, + 107,108,109,110,111,112,113,0,0,0, + 117,118,3,120,0,6,0,8,9,12, + 11,0,1,2,3,4,5,6,7,8, + 114,115,116,24,25,26,27,70,31,30, + 33,34,35,72,30,38,30,40,41,42, + 43,0,72,46,0,1,2,50,0,1, + 2,3,0,5,0,7,57,9,0,11, + 6,0,63,64,6,0,1,2,57,70, + 71,72,28,0,75,0,1,2,3,4, + 5,6,7,8,0,24,25,88,89,90, + 91,92,93,94,95,96,97,98,99,100, + 101,102,103,104,105,106,107,108,109,110, + 111,112,113,0,0,63,117,118,4,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,30,91,92,63,28,91, + 92,31,0,33,34,35,4,0,38,0, + 40,41,42,43,5,0,46,0,1,2, + 50,4,0,6,9,8,56,64,58,59, + 0,61,0,31,4,0,66,30,68,69, + 0,1,2,73,74,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, - 28,114,115,116,28,0,30,0,58,33, - 34,35,88,89,38,10,40,41,42,43, - 0,58,46,0,1,2,50,4,0,6, - 0,8,56,70,0,1,2,61,4,32, - 6,65,8,67,68,0,0,71,72,73, - 74,0,24,25,3,10,10,6,28,8, - 9,0,11,0,1,2,3,4,5,6, - 7,8,0,28,28,24,25,26,27,72, - 0,1,2,32,4,5,0,7,0,0, - 114,115,116,32,6,0,0,0,1,2, - 3,4,5,6,7,8,61,61,28,58, - 0,0,1,2,63,4,5,28,7,0, - 69,70,71,72,0,6,75,0,1,2, - 3,0,5,0,7,72,9,4,11,88, - 89,90,91,92,93,94,95,96,97,98, - 99,100,101,102,103,104,105,106,107,108, - 109,110,111,112,113,32,70,0,117,118, - 3,120,100,6,0,8,9,3,11,91, - 92,95,0,1,2,3,4,5,6,7, - 8,24,25,26,27,0,1,2,102,32, - 104,105,106,107,108,109,110,111,112,113, - 91,92,0,117,0,1,2,3,4,5, - 6,7,8,28,0,58,102,0,1,2, - 63,4,58,6,0,8,69,70,71,72, - 58,117,75,0,1,2,3,4,5,6, - 7,8,0,1,2,88,89,90,91,92, - 93,94,95,96,97,98,99,100,101,102, - 103,104,105,106,107,108,109,110,111,112, - 113,0,1,2,117,118,0,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,0,1,2,29,28,5,30,7, - 0,33,34,35,4,101,38,0,40,41, - 42,43,0,0,46,0,1,2,50,4, - 0,6,9,8,56,57,0,59,0,61, - 30,0,4,65,8,67,68,0,1,2, - 9,73,74,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,0,1, - 2,28,28,0,30,7,69,33,34,35, - 60,69,38,0,40,41,42,43,75,121, - 46,0,1,2,50,4,5,60,7,0, - 56,57,0,59,0,61,4,3,6,65, - 8,67,68,0,114,115,116,73,74,0, - 1,2,3,4,5,6,7,8,0,10, - 0,3,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,0,29,118, - 31,0,0,1,2,36,37,0,39,60, - 123,0,58,44,45,121,47,48,49,0, - 51,52,53,54,55,0,0,1,2,32, - 4,62,63,64,9,66,0,1,2,3, - 4,5,6,7,8,9,10,0,70,13, + 0,0,1,2,28,4,5,31,7,33, + 34,35,60,0,38,0,40,41,42,43, + 75,121,46,0,1,2,50,4,0,6, + 60,8,56,0,58,59,3,61,63,64, + 95,0,66,28,68,69,114,115,116,73, + 74,0,1,2,3,4,5,6,7,8, + 60,10,97,98,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,0, + 29,0,0,32,0,1,2,36,37,8, + 39,9,0,123,0,44,45,121,47,48, + 49,60,51,52,53,54,55,0,1,2, + 0,0,28,62,63,102,65,6,67,0, + 1,2,3,4,5,6,7,8,9,10, + 117,0,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,119,29,57, + 0,32,0,1,2,36,37,75,39,0, + 1,2,0,44,45,3,47,48,49,0, + 51,52,53,54,55,0,1,2,3,60, + 5,62,7,0,9,0,11,0,1,2, + 71,0,1,2,3,4,5,6,7,8, + 9,10,91,92,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,57, + 29,0,72,32,65,0,67,36,37,4, + 39,0,1,2,0,44,45,3,47,48, + 49,72,51,52,53,54,55,0,0,1, + 2,60,4,62,6,30,8,9,0,0, + 0,3,71,0,1,2,3,4,5,6, + 7,8,0,10,0,3,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,57,29,72,0,32,65,0,67,36, + 37,4,39,6,57,8,0,44,45,0, + 47,48,49,4,51,52,53,54,55,0, + 1,2,3,75,5,62,7,0,65,57, + 67,0,1,2,3,4,5,6,7,8, + 31,10,0,95,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,0, + 29,101,0,32,70,0,60,36,37,4, + 39,9,0,0,100,44,45,4,47,48, + 49,9,51,52,53,54,55,0,1,2, + 3,72,5,62,7,30,65,0,67,0, + 1,2,3,4,5,6,7,8,9,10, + 0,0,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,30,29,0, + 0,32,3,71,0,36,37,3,39,0, + 1,2,0,44,45,0,47,48,49,90, + 51,52,53,54,55,96,0,1,2,3, + 4,5,6,7,8,0,10,28,57,13, 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,63,29,64,31,66,0, - 69,60,36,37,0,39,0,114,115,116, - 44,45,0,47,48,49,60,51,52,53, - 54,55,0,1,2,3,60,5,62,7, - 75,9,122,11,97,98,32,71,0,1, - 2,3,4,5,6,7,8,9,10,0, - 95,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,60,29,0,31, - 0,72,0,3,36,37,99,39,0,1, - 2,9,44,45,0,47,48,49,0,51, - 52,53,54,55,0,1,2,3,60,5, - 62,7,90,0,1,2,28,0,96,71, - 0,1,2,3,4,5,6,7,8,70, - 10,0,0,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,0,29, - 72,31,0,71,0,0,36,37,60,39, - 6,9,58,11,44,45,0,47,48,49, - 4,51,52,53,54,55,0,1,2,3, - 32,5,62,7,64,0,66,0,1,2, - 3,4,5,6,7,8,0,10,32,0, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,60,29,32,31,0, - 0,69,0,36,37,0,39,0,1,2, - 0,44,45,0,47,48,49,4,51,52, - 53,54,55,0,0,91,92,0,72,62, - 0,64,32,66,0,1,2,3,4,5, - 6,7,8,9,10,32,0,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,63,29,0,31,90,3,69,0, - 36,37,96,39,0,1,2,72,44,45, - 70,47,48,49,0,51,52,53,54,55, - 63,0,1,2,3,4,5,6,7,8, - 0,10,28,3,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,95, - 29,0,31,0,0,0,0,36,37,0, - 39,8,3,9,9,44,45,0,47,48, - 49,0,51,52,53,54,55,63,0,1, - 2,60,118,62,0,26,27,3,32,5, - 6,0,8,0,1,2,3,4,5,6, - 7,8,9,32,11,12,28,0,24,25, - 26,27,0,1,2,31,32,58,0,1, - 2,70,4,30,69,32,33,34,35,75, - 75,38,0,40,41,42,43,0,0,46, - 28,9,58,50,77,0,28,63,64,0, - 66,58,3,69,70,0,0,0,0,0, - 69,0,103,0,9,9,9,11,75,32, - 9,0,88,89,90,91,92,93,94,120, - 0,97,98,99,100,101,102,103,104,105, - 106,107,108,109,110,111,112,113,0,1, - 2,3,4,5,6,7,8,75,10,0, - 0,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,69,29,71,31, - 75,75,71,0,36,37,0,39,0,0, - 1,2,44,45,0,47,48,49,90,51, - 52,53,54,55,96,0,0,0,0,3, - 62,5,6,0,8,0,1,2,3,4, - 5,6,7,8,9,0,11,12,69,69, - 24,25,26,27,0,0,0,31,32,32, - 32,0,0,0,3,30,3,0,33,34, - 35,0,0,38,0,40,41,42,43,24, - 25,46,0,69,58,50,24,25,63,63, - 64,63,66,58,69,69,70,0,90,32, - 97,98,0,32,96,0,0,0,63,0, - 75,0,3,0,88,89,90,91,92,93, - 94,93,94,97,98,99,100,101,102,103, - 104,105,106,107,108,109,110,111,112,113, - 0,1,2,3,4,5,6,7,8,95, - 10,0,70,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,0,29, - 63,31,70,101,0,70,36,37,72,39, - 0,70,0,0,44,45,0,47,48,49, - 0,51,52,53,54,55,0,0,58,0, - 1,2,3,4,5,6,7,8,0,10, - 0,3,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,0,29,0, - 31,63,3,0,0,36,37,63,39,0, - 0,61,32,44,45,63,47,48,49,0, - 51,52,53,54,55,72,0,0,72,3, - 3,62,0,1,2,3,4,5,6,7, - 8,0,10,63,3,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 0,29,0,31,0,3,62,3,36,37, - 0,39,0,93,94,72,44,45,0,47, - 48,49,72,51,52,53,54,55,0,1, - 2,3,4,5,6,7,8,0,10,0, - 3,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,0,29,0,31, - 0,3,0,3,36,37,0,39,58,3, - 70,32,44,45,0,47,48,49,0,51, - 52,53,54,55,0,1,2,3,4,5, - 6,7,8,0,10,0,3,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,0,29,0,31,0,5,0,0, - 36,37,3,39,0,0,70,0,44,45, - 0,47,48,49,0,51,52,53,54,55, - 0,1,2,29,4,0,0,0,32,0, - 10,0,12,13,14,15,16,17,18,19, - 20,21,22,23,0,70,32,0,0,0, - 30,0,0,33,34,35,0,0,38,63, - 40,41,42,43,0,0,46,0,0,0, - 50,0,1,2,0,4,0,6,0,8, - 9,61,0,1,2,65,4,67,68,93, - 94,0,10,0,12,13,14,15,16,17, - 18,19,20,21,22,23,0,1,2,3, - 0,5,30,7,0,33,34,35,0,0, - 38,0,40,41,42,43,0,0,46,0, - 0,0,50,0,0,0,0,0,0,0, - 0,0,0,61,0,0,75,65,0,67, - 68,12,13,14,15,16,17,18,19,20, - 21,22,23,0,58,0,95,0,0,30, - 0,0,33,34,35,0,0,38,0,40, - 41,42,43,0,0,46,0,0,0,50, + 24,25,26,27,0,29,0,0,32,0, + 118,0,36,37,0,39,10,10,9,0, + 44,45,0,47,48,49,4,51,52,53, + 54,55,0,0,28,28,60,118,62,0, + 90,0,3,0,5,6,96,8,0,1, + 2,3,4,5,6,7,8,9,0,11, + 12,99,30,24,25,26,27,61,61,30, + 0,32,0,1,2,0,4,63,30,31, + 71,33,34,35,0,100,38,3,40,41, + 42,43,0,0,46,63,57,0,50,95, + 28,90,63,64,65,57,67,96,0,70, + 0,1,2,3,4,5,6,7,8,0, + 101,24,25,75,0,93,94,88,89,90, + 91,92,93,94,64,0,97,98,99,100, + 101,102,103,104,105,106,107,108,109,110, + 111,112,113,0,1,2,3,4,5,6, + 7,8,0,10,0,30,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,62,29,0,0,32,24,25,64,36, + 37,99,39,9,0,11,0,44,45,0, + 47,48,49,9,51,52,53,54,55,0, + 0,0,0,30,3,62,5,6,9,8, 0,1,2,3,4,5,6,7,8,9, - 0,11,12,0,1,2,3,4,5,6, - 7,8,9,0,11,12,0,0,28,0, - 0,0,32,0,0,1,2,3,4,0, - 6,28,8,0,1,2,3,4,5,6, - 7,8,9,0,11,12,56,57,0,59, + 0,11,12,0,0,24,25,26,27,0, + 30,30,30,32,0,1,2,0,4,0, + 6,31,8,33,34,35,0,0,38,63, + 40,41,42,43,30,9,46,11,57,75, + 50,0,0,64,63,64,65,57,67,0, + 71,70,0,1,2,0,4,0,6,0, + 8,0,0,63,64,75,9,64,11,88, + 89,90,91,92,93,94,57,0,97,98, + 99,100,101,102,103,104,105,106,107,108, + 109,110,111,112,113,0,1,2,3,4, + 5,6,7,8,63,10,64,30,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,64,29,64,0,32,0,0, + 0,36,37,3,39,0,0,9,0,44, + 45,0,47,48,49,9,51,52,53,54, + 55,0,57,0,1,2,3,4,5,6, + 7,8,0,10,0,0,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,0,29,0,0,32,0,1,2,36, + 37,0,39,9,30,4,70,44,45,70, + 47,48,49,75,51,52,53,54,55,0, + 72,75,0,72,28,62,0,1,2,3, + 4,5,6,7,8,63,10,63,63,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,0,29,0,3,32,3, + 0,70,36,37,119,39,0,93,94,75, + 44,45,0,47,48,49,0,51,52,53, + 54,55,0,1,2,3,4,5,6,7, + 8,72,10,0,72,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 0,29,0,3,32,3,0,0,36,37, + 3,39,0,1,2,0,44,45,3,47, + 48,49,0,51,52,53,54,55,0,1, + 2,3,4,5,6,7,8,0,10,77, + 28,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,0,29,0,3, + 32,3,0,0,36,37,3,39,0,0, + 0,3,44,45,0,47,48,49,9,51, + 52,53,54,55,0,1,2,0,4,0, + 3,0,70,0,10,0,12,13,14,15, + 16,17,18,19,20,21,22,23,0,0, + 1,2,4,4,5,31,7,33,34,35, + 0,30,38,3,40,41,42,43,122,9, + 46,57,70,64,50,0,1,2,3,4, + 70,6,0,8,75,61,57,0,1,2, + 66,4,68,69,0,1,2,10,4,12, + 13,14,15,16,17,18,19,20,21,22, + 23,0,0,0,3,3,0,57,31,3, + 33,34,35,63,64,38,0,40,41,42, + 43,0,57,46,3,75,0,50,0,3, + 0,0,26,27,0,0,0,0,61,0, + 0,0,119,66,60,68,69,12,13,14, + 15,16,17,18,19,20,21,22,23,0, + 30,0,0,57,0,0,31,0,33,34, + 35,0,0,38,0,40,41,42,43,0, + 0,46,0,0,0,50,0,1,2,3, + 4,5,6,7,8,9,0,11,12,0, + 1,2,3,4,5,6,7,8,9,103, + 11,12,0,30,28,0,30,0,1,2, + 3,0,5,0,7,0,120,28,0,1, + 2,3,4,5,6,7,8,9,0,11, + 12,0,56,0,58,59,63,0,0,0, + 0,0,0,0,0,56,28,58,59,0, + 74,0,1,2,3,0,5,0,7,0, + 71,0,0,74,57,0,93,94,0,0, + 0,0,0,0,56,0,58,59,0,0, + 1,2,3,4,5,6,7,8,9,71, + 11,12,74,0,1,2,3,4,5,6, + 7,8,9,0,11,12,0,28,57,0, + 0,0,0,0,0,0,0,0,0,0, + 0,28,0,0,0,0,0,0,0,0, + 0,0,0,0,0,56,0,58,59,0, 0,0,0,0,0,0,0,0,0,56, - 57,28,59,0,74,0,0,0,0,0, - 0,0,0,0,71,0,0,74,0,0, - 0,0,58,0,0,0,0,0,0,56, - 57,0,59,0,0,1,2,3,4,5, - 6,7,8,9,71,11,12,74,0,0, - 0,0,3,0,0,0,0,0,9,0, - 0,0,28,0,0,1,2,3,4,5, - 6,7,8,9,0,11,12,0,0,0, + 71,58,59,74,0,1,2,3,4,5, + 6,7,8,9,71,11,12,74,0,1, + 2,3,4,5,6,7,8,9,0,11, + 12,0,28,0,0,0,0,0,0,0, + 0,0,0,0,0,0,28,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 56,57,28,59,0,0,0,0,0,0, - 0,0,0,0,0,71,0,58,74,0, - 0,0,63,0,0,0,0,0,69,0, - 56,57,0,59,75,0,1,2,3,4, - 5,6,7,8,9,71,11,12,74,0, + 56,0,58,59,0,0,0,0,0,0, + 0,0,0,0,56,71,58,59,74,0, + 1,2,3,4,5,6,7,8,9,0, + 11,12,74,0,1,2,3,4,5,6, + 7,8,9,0,11,12,0,28,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,28,0,0,1,2,3,4, - 5,6,7,8,9,0,11,12,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,56,57,28,59,0,0,0,0,0, - 0,0,0,0,0,0,71,0,0,74, - 0,0,0,0,0,0,0,0,0,0, - 0,56,57,0,59,0,1,2,3,4, - 5,6,7,8,9,0,11,12,0,74, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,28,0,0,1,2,3,4, - 5,6,7,8,9,0,11,12,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,56,57,28,59,0,0,12,0,0, - 0,0,0,0,0,0,0,0,0,74, - 0,0,0,0,0,30,0,0,33,34, - 35,56,57,38,59,40,41,42,43,12, - 0,46,0,0,0,50,0,0,0,74, - 0,0,0,0,0,0,0,30,12,0, - 33,34,35,0,0,38,0,40,41,42, - 43,0,0,46,0,0,30,50,0,33, - 34,35,0,12,38,0,40,41,42,43, - 0,0,46,0,0,0,50,0,0,0, - 0,30,0,0,33,34,35,0,0,38, - 0,40,41,42,43,0,0,46,0,0, - 0,50,0,0,0,0,0,0,0,0, + 0,28,0,0,0,0,0,0,0,0, + 0,0,0,0,0,56,0,58,59,0, + 12,0,0,0,0,0,0,0,0,56, + 0,58,59,74,12,0,0,0,0,31, + 0,33,34,35,0,0,38,74,40,41, + 42,43,12,31,46,33,34,35,50,0, + 38,0,40,41,42,43,0,0,46,0, + 0,31,50,33,34,35,0,0,38,0, + 40,41,42,43,0,0,46,0,0,0, + 50,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,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; @@ -1388,333 +1370,315 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TermAction { public final static char termAction[] = {0, - 5143,5065,4766,4766,4766,4766,4766,4766,4766,5099, - 1,5072,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,43,1, - 1,1,5185,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,622,2507,2625,563, - 833,1,1,5143,1,1,1,1,1,127, - 1,5150,5153,5324,5152,1,2821,3327,2819,1923, - 2371,3260,2969,3326,2228,3311,3658,3292,8,5111, - 5111,5111,5111,5111,5111,5111,5111,5111,5111,5111, - 5111,5111,5111,5111,5111,5111,5111,5111,5111,5111, - 5111,5111,5111,5111,5111,5111,43,5111,5111,5111, - 5185,5111,5111,5111,5111,5111,5111,5111,5111,5111, - 5111,5111,5111,5111,5111,5111,5111,5111,5111,5111, - 5111,5111,5111,5111,5111,5111,1534,5111,5111,5111, - 5111,400,5111,5111,5111,5111,5111,2243,2582,5111, - 5017,5111,5020,5143,5111,5111,5111,5111,5111,5111, - 5111,5111,5111,5111,5111,5111,5143,5065,4766,4766, - 4766,4766,4766,4766,4766,5069,1,5072,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5143,1,1,1,2968,1, + 5150,5072,4773,4773,4773,4773,4773,4773,4773,5106, + 1,5079,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5150,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,622,2507,139,563,833,1,1,5143, - 1,1,1,1,1,1950,5143,4772,4769,5324, - 5185,5143,2821,3327,2819,1923,2371,3260,2969,3326, - 2228,3311,3658,3292,5143,5065,4766,4766,4766,4766, - 4766,4766,4766,5069,1,5072,1,1,1,1, + 1,1,1,1,1,1,865,855,1831,550, + 1869,1,1,5150,5150,1,1,1,1,1, + 2119,5157,5160,5331,5159,5150,1347,3434,2728,1964, + 2592,3331,3004,3425,1790,3416,3485,3415,8,5118, + 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118, + 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118, + 5118,5118,5118,5118,5118,5118,5150,5118,339,5118, + 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118, + 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118, + 5118,5118,5118,5118,5118,630,5118,5118,5118,5118, + 5118,5490,5491,5118,5118,5118,5118,5118,43,5118, + 5150,5118,5192,575,5118,5118,5118,5118,5118,5118, + 5118,5118,5118,5118,5118,5118,5150,5072,4773,4773, + 4773,4773,4773,4773,4773,5076,1,5079,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,385,1,1,1, + 1,1,1,1,5150,1,5150,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 622,2507,321,563,833,1,1,5143,1,1, - 1,1,1,2169,5143,4772,4769,5324,5185,5143, - 2821,3327,2819,1923,2371,3260,2969,3326,2228,3311, - 3658,3292,5143,5065,4766,4766,4766,4766,4766,4766, - 4766,5069,1,5072,1,1,1,1,1,1, + 1,1,865,5150,1831,550,1869,1,1,127, + 5150,1,1,1,1,1,5150,4779,4776,5331, + 5192,39,1347,3434,2728,1964,2592,3331,3004,3425, + 1790,3416,3485,3415,5150,5072,4773,4773,4773,4773, + 4773,4773,4773,5076,1,5079,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1173,1,1,1,5143,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,622,2507, - 448,563,833,1,1,5143,1,1,1,1, - 1,5143,5160,5161,5143,5324,4186,651,2821,3327, - 2819,1923,2371,3260,2969,3326,2228,3311,3658,3292, - 5143,5065,4766,4766,4766,4766,4766,4766,4766,5069, - 1,5072,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,4929,1, - 1,1,374,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,622,2507,447,563, - 833,1,1,3393,1,1,1,1,1,5143, - 4878,4875,5143,5324,131,1582,2821,3327,2819,1923, - 2371,3260,2969,3326,2228,3311,3658,3292,5143,5065, - 4766,4766,4766,4766,4766,4766,4766,5069,1,5072, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,4932,1,1,1, - 512,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,622,2507,5143,563,833,1, - 1,3393,1,1,1,1,1,5143,5160,5161, - 5143,5324,2243,2582,2821,3327,2819,1923,2371,3260, - 2969,3326,2228,3311,3658,3292,5143,5065,4766,4766, - 4766,4766,4766,4766,4766,5069,1,5072,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5143,1,1,1,2991,1, + 1,1,5150,1,3273,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,622,2507,348,563,833,1,1,3393, - 1,1,1,1,1,5143,7582,7515,5143,5324, - 130,4131,2821,3327,2819,1923,2371,3260,2969,3326, - 2228,3311,3658,3292,5143,5065,4766,4766,4766,4766, - 4766,4766,4766,5069,1,5072,1,1,1,1, + 865,852,1831,550,1869,1,1,779,2969,1, + 1,1,1,1,5150,4779,4776,5331,5192,293, + 1347,3434,2728,1964,2592,3331,3004,3425,1790,3416, + 3485,3415,5150,5072,4773,4773,4773,4773,4773,4773, + 4773,5076,1,5079,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1173,1,1,1,5143,1,1,1, + 5150,1,5150,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,865,1876, + 1831,550,1869,1,1,131,5150,1,1,1, + 1,1,5150,5167,5168,5331,130,3409,1347,3434, + 2728,1964,2592,3331,3004,3425,1790,3416,3485,3415, + 5150,5072,4773,4773,4773,4773,4773,4773,4773,5076, + 1,5079,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5150,1, + 5150,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,865,360,1831,550, + 1869,1,1,779,2969,1,1,1,1,1, + 5150,4885,4882,5331,779,2969,1347,3434,2728,1964, + 2592,3331,3004,3425,1790,3416,3485,3415,5150,5072, + 4773,4773,4773,4773,4773,4773,4773,5076,1,5079, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5150,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 622,2507,106,563,833,1,1,141,1,1, - 1,1,1,54,4909,4906,5143,5324,2243,2582, - 2821,3327,2819,1923,2371,3260,2969,3326,2228,3311, - 3658,3292,5143,5065,4766,4766,4766,4766,4766,4766, - 4766,5069,1,5072,1,1,1,1,1,1, + 1,1,1,1,865,567,1831,550,1869,1, + 1,129,5509,1,1,1,1,1,5150,5167, + 5168,5331,128,372,1347,3434,2728,1964,2592,3331, + 3004,3425,1790,3416,3485,3415,5150,5072,4773,4773, + 4773,4773,4773,4773,4773,5076,1,5079,1,1, 1,1,1,1,1,1,1,1,1,1, - 4655,1,1,1,5143,1,1,1,1,1, + 1,1,1,1,5150,1,5150,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,622,2507, - 5143,563,833,1,1,1,1,1,1,1, - 1,54,4878,4875,5153,5324,5152,581,2821,3327, - 2819,1923,2371,3260,2969,3326,2228,3311,3658,3292, - 5143,3279,1,1,1,1,1,1,1,5153, - 1,5152,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5143,1, - 1,1,2623,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,622,2507,5143,563, - 833,1,1,129,1,1,1,1,1,41, - 5108,5108,5143,5324,5108,5143,2821,3327,2819,1923, - 2371,3260,2969,3326,2228,3311,3658,3292,43,4772, - 4769,2976,769,3805,3892,4458,3913,4341,2759,5143, - 5402,5409,5407,5416,5415,5411,5412,5410,5413,5414, - 5417,5408,3871,3846,3955,3934,5143,5166,5405,3784, - 310,5480,5481,5399,1716,1774,5406,5168,5378,5404, - 5403,5400,1733,2528,5401,1749,5169,5167,5379,1708, - 5162,5164,5165,5163,303,887,5143,5160,5161,5536, - 1210,2243,2582,2281,5445,5537,5538,5143,4942,4942, - 230,4938,230,230,230,230,4946,1,230,1, + 1,1,865,1125,1831,550,1869,1,1,779, + 2969,1,1,1,1,1,5150,7474,7334,5331, + 779,2969,1347,3434,2728,1964,2592,3331,3004,3425, + 1790,3416,3485,3415,5150,5072,4773,4773,4773,4773, + 4773,4773,4773,5076,1,5079,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,4788,4784,4775,491,4778,1,4781,4105, - 1,1,1,336,128,1,4762,1,1,1, - 1,620,5143,1,5143,4772,4769,1,769,5062, - 3976,4458,941,1018,1,4788,4784,571,1,567, - 319,4458,1,4912,1,1,5480,5481,409,230, - 5548,5633,2085,366,4788,4784,3543,1,567,1, - 4458,1,5143,4952,4949,5143,5143,4942,4942,230, - 4938,230,230,230,230,5023,1,230,1,1, + 1,1,5150,1,5150,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5183,5570,5571,5572,491,303,1,33,1173,1, - 1,1,2243,2582,1,5445,1,1,1,1, - 5143,1173,1,434,1,1,1,1,124,4926, - 5143,4926,1018,1035,435,43,43,1,5185,1493, - 5044,1,5041,1,1,1,1,408,230,5548, - 5633,37,3518,2909,4923,5008,5008,4923,931,4923, - 4923,384,4923,5143,4886,4881,571,4891,567,4897, - 4458,4894,142,2662,2662,4923,4923,4923,4923,416, - 5143,4772,4769,4923,769,5062,357,4458,121,53, - 5570,5571,5572,4872,3751,5143,145,311,4886,4881, - 571,4891,567,4897,4458,4894,5011,5011,2231,4923, - 5143,5143,4772,4769,4923,769,567,646,4458,123, - 4923,4923,4923,4923,145,3751,4923,1,4788,4784, - 4775,5143,4778,391,4781,1872,5153,384,5152,4923, - 4923,4923,4923,4923,4923,4923,4923,4923,4923,4923, - 4923,4923,4923,4923,4923,4923,4923,4923,4923,4923, - 4923,4923,4923,4923,4923,1493,1671,5143,4923,4923, - 5059,4923,581,5059,1,5059,5059,3584,5059,3728, - 3705,5499,345,4919,4915,3543,5185,567,1541,4458, - 5473,5059,5059,5059,5059,49,4958,4958,2099,5059, - 1630,1589,1548,1507,1466,1425,1384,1343,1302,1261, - 3728,3705,5143,4252,5143,4919,4915,571,5185,567, - 1541,4458,5473,4955,143,5059,2099,98,1,1, - 5059,1,1173,5105,5143,5105,5059,5059,5059,5059, - 1173,4252,5059,5143,4919,4915,571,5185,567,1541, - 4458,5473,289,5160,5161,5059,5059,5059,5059,5059, - 5059,5059,5059,5059,5059,5059,5059,5059,5059,5059, - 5059,5059,5059,5059,5059,5059,5059,5059,5059,5059, - 5059,5143,7582,7515,5059,5059,5143,5059,5143,4766, - 4766,230,4766,230,230,230,230,230,1,230, - 8273,1,1,1,1,1,1,1,1,1, - 1,1,5143,5160,5161,1025,4763,567,1,4458, - 43,1,1,1,5185,2136,1,288,1,1, - 1,1,505,5143,1,101,43,43,1,5185, - 5143,5131,5149,5128,622,630,137,563,5143,1, - 805,5143,2632,1,2199,1,1,5143,5160,5161, - 5147,5159,5633,41,5143,4766,4766,230,4766,230, - 230,230,230,230,1,230,8273,1,1,1, - 1,1,1,1,1,1,1,1,42,5032, - 5029,5183,4763,5143,1,2271,902,1,1,1, - 1329,806,1,5143,1,1,1,1,5148,12, - 1,5143,4772,4769,1,769,567,1237,4458,1, - 622,630,43,563,347,1,5185,2440,1541,1, - 5473,1,1,431,5570,5571,5572,5159,5633,1, - 5001,4997,2976,5005,3805,3892,4458,3913,313,4961, - 191,1103,4988,4994,4967,4970,4982,4979,4985,4976, - 4973,4964,4991,3871,3846,3955,3934,33,5166,5146, - 3784,30,5143,4878,4875,1716,1774,135,5168,1623, - 995,5143,1173,1733,2528,11,1749,5169,5167,5143, - 1708,5162,5164,5165,5163,1,5143,4772,4769,4900, - 5185,1210,506,43,362,43,43,4772,4769,2976, - 769,3805,3892,4458,3913,5151,2419,140,948,5409, - 5407,5416,5415,5411,5412,5410,5413,5414,5417,5408, - 3871,3846,3955,3934,5026,5166,3976,3784,941,438, - 5026,1657,1716,1774,444,5168,5143,5570,5571,5572, - 1733,2528,117,1749,5169,5167,1459,1708,5162,5164, - 5165,5163,1,4788,4784,571,1899,567,1210,4458, - 362,311,5140,311,2329,2302,4903,5150,43,4772, - 4769,2976,769,3805,3892,4458,3913,5151,2419,39, - 362,5409,5407,5416,5415,5411,5412,5410,5413,5414, - 5417,5408,3871,3846,3955,3934,1664,5166,420,3784, - 5143,2398,5143,2414,1716,1774,2169,5168,51,5050, - 5050,5151,1733,2528,5143,1749,5169,5167,5143,1708, - 5162,5164,5165,5163,1,4788,4784,3543,1899,567, - 1210,4458,3997,5143,4909,4906,5047,5143,4018,5150, - 147,4772,4769,2976,769,3805,3892,4458,3913,2372, - 2419,5143,5143,5409,5407,5416,5415,5411,5412,5410, - 5413,5414,5417,5408,3871,3846,3955,3934,5143,5166, - 3451,3784,5143,5150,122,5143,1716,1774,1739,5168, - 3751,5153,1173,5152,1733,2528,54,1749,5169,5167, - 5161,1708,5162,5164,5165,5163,1,4788,4784,571, - 1616,567,1210,4458,43,5143,43,1,5001,4997, - 2976,5005,3805,3892,4458,3913,120,4961,5161,5143, - 4988,4994,4967,4970,4982,4979,4985,4976,4973,4964, - 4991,3871,3846,3955,3934,833,5166,1493,3784,5143, - 1,4192,5143,1716,1774,5143,5168,392,5160,5161, - 290,1733,2528,54,1749,5169,5167,5160,1708,5162, - 5164,5165,5163,5143,1,3728,3705,5143,1872,1210, - 5143,43,1493,43,43,4772,4769,2976,769,3805, - 3892,4458,3913,5147,2419,5160,5143,5409,5407,5416, - 5415,5411,5412,5410,5413,5414,5417,5408,3871,3846, - 3955,3934,3582,5166,5143,3784,3997,2959,4132,5143, - 1716,1774,4018,5168,5143,8293,8293,5539,1733,2528, - 1835,1749,5169,5167,5143,1708,5162,5164,5165,5163, - 3356,43,4772,4769,2976,769,3805,3892,4458,3913, - 97,2419,5183,5056,5409,5407,5416,5415,5411,5412, - 5410,5413,5414,5417,5408,3871,3846,3955,3934,5501, - 5166,369,3784,138,1,5143,5143,1716,1774,81, - 5168,2199,2416,167,5149,1733,2528,5143,1749,5169, - 5167,5143,1708,5162,5164,5165,5163,5645,41,5102, - 5102,1899,5146,1210,1,5211,5212,1163,4119,5602, - 5596,439,5600,33,384,384,5087,384,384,5087, - 384,5087,5090,4267,5087,384,4126,5143,5594,5595, - 5625,5626,5143,5118,5114,5603,5605,4147,392,4772, - 4769,1076,5185,384,4611,4900,384,384,384,167, - 5148,384,1,384,384,384,384,5143,5143,384, - 5183,519,1288,384,3469,5143,43,5606,1421,239, - 1544,5090,5078,5627,5604,1,1,5143,119,5143, - 2617,1,1117,5143,5149,169,5151,169,5090,4554, - 5038,5143,5616,5615,5628,5597,5598,5621,5622,1911, - 5143,5619,5620,5599,5601,5623,5624,5629,5609,5610, - 5611,5607,5608,5617,5618,5613,5612,5614,43,4772, - 4769,2976,769,3805,3892,4458,3913,519,2419,361, - 418,5409,5407,5416,5415,5411,5412,5410,5413,5414, - 5417,5408,3871,3846,3955,3934,904,5166,5150,3784, - 5148,169,5150,136,1716,1774,5143,5168,118,40, - 5125,5122,1733,2528,163,1749,5169,5167,3997,1708, - 5162,5164,5165,5163,4018,5143,5143,5143,132,1163, - 1210,5602,5596,5143,5600,36,385,385,5081,385, - 385,5081,385,5081,5084,5143,5081,385,3583,3392, - 5594,5595,5625,5626,1,126,5143,5603,5605,4557, - 2697,1,125,5143,4595,385,4524,5143,385,385, - 385,45,144,385,5143,385,385,385,385,3518, - 2909,385,367,1712,1288,385,3518,2909,3492,5606, - 1421,5035,1544,5084,4132,5627,5604,5143,3997,2285, - 2329,2302,498,5053,4018,496,5143,5143,5588,5143, - 5084,412,4546,5143,5616,5615,5628,5597,5598,5621, - 5622,2641,777,5619,5620,5599,5601,5623,5624,5629, - 5609,5610,5611,5607,5608,5617,5618,5613,5612,5614, - 43,4772,4769,2976,769,3805,3892,4458,3913,3349, - 2419,5143,1132,5409,5407,5416,5415,5411,5412,5410, - 5413,5414,5417,5408,3871,3846,3955,3934,5143,5166, - 3344,3784,4568,2136,5143,4587,1716,1774,1960,5168, - 5143,2011,5143,5143,1733,2528,5143,1749,5169,5167, - 5143,1708,5162,5164,5165,5163,5143,5143,2264,43, - 4772,4769,2976,769,3805,3892,4458,3913,5143,2419, - 134,3310,5409,5407,5416,5415,5411,5412,5410,5413, - 5414,5417,5408,3871,3846,3955,3934,5143,5166,5143, - 3784,3345,4556,5143,523,1716,1774,3352,5168,5143, - 5143,3173,2697,1733,2528,3367,1749,5169,5167,5143, - 1708,5162,5164,5165,5163,1753,5143,5143,5327,4387, - 4623,1210,43,4772,4769,4481,769,3805,3892,4458, - 3913,5143,2419,5093,4631,5409,5407,5416,5415,5411, - 5412,5410,5413,5414,5417,5408,3871,3846,3955,3934, - 5143,5166,5143,3784,5143,4645,3548,4493,1716,1774, - 105,5168,5143,2641,777,3036,1733,2528,5143,1749, - 5169,5167,5326,1708,5162,5164,5165,5163,43,4772, - 4769,2976,769,3805,3892,4458,3913,5143,2419,79, - 3569,5409,5407,5416,5415,5411,5412,5410,5413,5414, - 5417,5408,3871,3846,3955,3934,5143,5166,5143,3784, - 5143,4224,5143,4662,1716,1774,109,5168,2048,4663, - 2372,5134,1733,2528,5143,1749,5169,5167,5143,1708, - 5162,5164,5165,5163,43,4772,4769,2976,769,3805, - 3892,4458,3913,5143,2419,500,4328,5409,5407,5416, - 5415,5411,5412,5410,5413,5414,5417,5408,3871,3846, - 3955,3934,5143,5166,1,3784,133,4186,5143,280, - 1716,1774,5137,5168,5143,5143,1794,5143,1733,2528, - 5143,1749,5169,5167,2,1708,5162,5164,5165,5163, - 5143,4772,4769,624,5185,5143,5143,5143,2697,5143, - 2288,5143,5402,5409,5407,5416,5415,5411,5412,5410, - 5413,5414,5417,5408,5143,1997,41,5143,5143,5143, - 5405,5143,5143,5480,5481,5399,5143,5143,5406,5096, - 5378,5404,5403,5400,5143,5143,5401,5143,5143,5143, - 5379,1,5075,5075,5143,4891,5143,1541,5143,5473, - 362,5536,243,4865,4861,2281,4869,5537,5538,2641, - 777,5143,2288,5143,4816,4852,4858,4831,4834,4846, - 4843,4849,4840,4837,4828,4855,1,4788,4784,3543, - 5143,567,4807,4458,5143,4801,4798,4825,5143,5143, - 4804,5143,4795,4810,4813,4822,5143,5143,4819,5143, - 5143,5143,4792,5143,5143,5143,5143,5143,5143,225, - 5143,5143,5143,5536,5143,5143,362,2281,5143,5537, - 5538,5402,5409,5407,5416,5415,5411,5412,5410,5413, - 5414,5417,5408,5143,1173,5143,362,5143,5143,5405, - 5143,5143,5480,5481,5399,5143,5143,5406,5143,5378, - 5404,5403,5400,5143,5143,5401,5143,5143,5143,5379, - 1,4766,4766,230,4766,230,230,230,230,230, - 5143,230,8273,1,4766,4766,230,4766,230,230, - 230,230,4935,5143,230,8273,5143,5143,4763,5143, - 5143,5143,938,5143,345,43,43,3584,5185,5143, - 1541,4763,5473,1,4766,4766,230,4766,230,230, - 230,230,4935,5143,230,8273,622,630,5143,563, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,622, - 630,4763,563,5143,5633,5143,5143,5143,5143,5143, - 5143,5143,5143,5143,222,5143,5143,5633,5143,5143, - 5143,5143,1173,5143,5143,5143,5143,5143,5143,622, - 630,5143,563,5143,1,4766,4766,230,4766,230, - 230,230,230,5014,222,230,8273,5633,5143,1, - 5143,5143,3584,5143,5143,5143,5143,5143,341,5143, - 5143,5143,4763,5143,1,4766,4766,230,4766,230, - 230,230,230,4935,5143,230,8273,5143,5143,5143, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143, - 622,630,4763,563,5143,5143,5143,5143,5143,5143, - 5143,5143,5143,5143,5143,221,5143,1173,5633,5143, - 5143,5143,341,5143,5143,5143,5143,5143,341,5143, - 622,630,5143,563,341,1,4766,4766,230,4766, - 230,230,230,230,4935,222,230,8273,5633,5143, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143, - 5143,5143,5143,4763,5143,1,4766,4766,230,4766, - 230,230,230,230,230,5143,230,8273,5143,5143, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143, - 5143,622,630,4763,563,5143,5143,5143,5143,5143, - 5143,5143,5143,5143,5143,5143,222,5143,5143,5633, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143, - 5143,622,630,5143,563,1,4766,4766,230,4766, - 230,230,230,230,230,5143,230,8273,5143,5633, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143, - 5143,5143,5143,4763,5143,1,4766,4766,230,4766, - 230,230,230,230,230,5143,230,8273,5143,5143, - 5143,5143,5143,5143,5143,226,5143,5143,5143,5143, - 5143,622,630,4763,563,5143,5143,5402,5143,5143, - 5143,5143,5143,5143,5143,5143,5143,5143,5143,5633, - 5143,5143,5143,5143,5143,5405,5143,227,5480,5481, - 5399,622,630,5406,563,5378,5404,5403,5400,5402, - 5143,5401,5143,5143,5143,5379,228,5143,5143,5633, - 5143,5143,5143,5143,5143,5143,5143,5405,5402,5143, - 5480,5481,5399,5143,5143,5406,5143,5378,5404,5403, - 5400,229,5143,5401,5143,5143,5405,5379,5143,5480, - 5481,5399,5143,5402,5406,5143,5378,5404,5403,5400, - 5143,5143,5401,5143,5143,5143,5379,5143,5143,5143, - 5143,5405,5143,5143,5480,5481,5399,5143,5143,5406, - 5143,5378,5404,5403,5400,5143,5143,5401,5143,5143, - 5143,5379 + 1,1,1,1,1,1,1,1,1,1, + 865,1,1831,550,1869,1,1,4769,306,1, + 1,1,1,1,54,4916,4913,5331,5455,1, + 1347,3434,2728,1964,2592,3331,3004,3425,1790,3416, + 3485,3415,5150,5072,4773,4773,4773,4773,4773,4773, + 4773,5076,1,5079,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 5150,1,5150,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,865,5150, + 1831,550,1869,1,1,1537,5511,1,1,1, + 1,1,54,4885,4882,5331,5150,5150,1347,3434, + 2728,1964,2592,3331,3004,3425,1790,3416,3485,3415, + 43,4779,4776,4479,635,3834,3921,3287,3942,135, + 1621,5150,5412,5419,5417,5426,5425,5421,5422,5420, + 5423,5424,5427,5418,3900,3875,3984,3963,5150,5173, + 5150,5415,3813,5490,5491,5409,1785,1867,5416,5175, + 5388,5414,5413,5410,1826,4120,5411,1839,5176,5174, + 5389,1749,5169,5171,5172,5170,893,306,5150,5167, + 5168,5546,1251,664,387,3287,713,5455,5547,5548, + 5150,4949,4949,233,4945,233,233,233,233,4953, + 1,233,1,1,1,1,1,1,1,1, + 1,1,1,1,4879,5150,4779,4776,494,635, + 5069,1,3287,1,1,1,2310,2251,1,53, + 1,1,1,1,5150,561,1,5150,4779,4776, + 1,635,5069,1025,3287,30,909,1,4795,4791, + 4782,1,4785,117,4788,5150,1,774,1,1, + 145,412,233,5558,5643,2126,5150,369,4795,4791, + 3596,1,664,1,3287,1,292,5167,5168,5150, + 4949,4949,233,4945,233,233,233,233,5030,1, + 233,1,1,1,1,1,1,1,1,1, + 1,1,1,137,5580,5581,5582,494,5033,5033, + 1,2206,1,1,1,1285,33,1,5150,1, + 1,1,1,5150,1214,1,41,5115,5115,1, + 1712,5115,5160,37,5159,909,4930,1084,1,4930, + 1,4930,4930,4026,4930,1,1496,1,1,4047, + 411,233,5558,5643,3438,5150,434,4930,4930,4930, + 4930,33,2140,4930,1671,1630,1589,1548,1507,1466, + 1425,1384,1343,1302,5150,4959,4956,3517,314,4893, + 4888,570,4898,664,4904,3287,4901,3242,419,5150, + 4930,4907,1664,5580,5581,5582,4930,4930,1742,42, + 5039,5036,5190,4930,4930,4930,1856,316,4930,5150, + 2757,5150,4893,4888,570,4898,664,4904,3287,4901, + 441,4930,4930,4930,4930,4930,4930,4930,4930,4930, + 4930,4930,4930,4930,4930,4930,4930,4930,4930,4930, + 4930,4930,4930,4930,4930,4930,4930,229,5150,5150, + 4930,4930,5066,4930,447,5066,5150,5066,5066,5412, + 5066,348,4926,4922,3596,5192,664,1578,3287,5483, + 5580,5581,5582,5066,5066,5066,5066,981,5415,5066, + 5490,5491,5409,1913,4910,5416,1701,5388,5414,5413, + 5410,5150,2802,5411,49,4965,4965,5389,1,4795, + 4791,4782,5150,4785,121,4788,5066,5160,123,5159, + 3780,124,5066,5066,3780,5150,7474,7334,1214,5066, + 5066,5066,4962,5150,5066,5150,4926,4922,570,5192, + 664,1578,3287,5483,5150,2566,2503,5066,5066,5066, + 5066,5066,5066,5066,5066,5066,5066,5066,5066,5066, + 5066,5066,5066,5066,5066,5066,5066,5066,5066,5066, + 5066,5066,5066,313,394,3433,5066,5066,387,5066, + 5150,4773,4773,233,4773,233,233,233,233,233, + 1,233,6235,1,1,1,1,1,1,1, + 1,1,1,1,1496,3757,3606,5655,4770,3757, + 3606,1,43,1,1,1,5192,5150,1,5150, + 1,1,1,1,3409,1,1,437,1,1, + 1,1,5150,4933,365,4933,865,3071,1022,550, + 5150,1,5150,2361,2043,136,1,1496,1,1, + 5150,5167,5168,5166,5643,5150,5150,4773,4773,233, + 4773,233,233,233,233,233,1,233,6235,1, + 1,1,1,1,1,1,1,1,1,1, + 5150,5150,4779,4776,4770,635,664,1,3287,1, + 1,1,1783,145,1,41,1,1,1,1, + 365,12,1,438,43,43,1,5192,5150,5051, + 1068,5048,865,5150,1022,550,4486,1,3634,3364, + 365,5150,1,5190,1,1,5580,5581,5582,5166, + 5643,1,5008,5004,4479,5012,3834,3921,3287,3942, + 1824,4968,2310,2251,4995,5001,4974,4977,4989,4986, + 4992,4983,4980,4971,4998,3900,3875,3984,3963,5150, + 5173,138,5150,3813,51,5057,5057,1785,1867,2206, + 5175,5156,324,937,5150,1826,4120,11,1839,5176, + 5174,1994,1749,5169,5171,5172,5170,5150,4916,4913, + 5150,122,5054,1251,509,2140,43,3780,43,43, + 4779,4776,4479,635,3834,3921,3287,3942,5158,1457, + 3517,5150,5419,5417,5426,5425,5421,5422,5420,5423, + 5424,5427,5418,3900,3875,3984,3963,3486,5173,1214, + 423,3813,395,5167,5168,1785,1867,5155,5175,5150, + 5167,5168,322,1826,4120,4919,1839,5176,5174,5150, + 1749,5169,5171,5172,5170,1,4795,4791,570,2031, + 664,1251,3287,5150,314,5150,314,40,5132,5129, + 5157,43,4779,4776,4479,635,3834,3921,3287,3942, + 5158,1457,3757,3606,5419,5417,5426,5425,5421,5422, + 5420,5423,5424,5427,5418,3900,3875,3984,3963,1214, + 5173,5150,851,3813,4005,54,1586,1785,1867,5168, + 5175,5150,4885,4882,1,1826,4120,3417,1839,5176, + 5174,5549,1749,5169,5171,5172,5170,451,1,5082, + 5082,2031,4898,1251,1578,5168,5483,365,5150,5150, + 143,3100,5157,147,4779,4776,4479,635,3834,3921, + 3287,3942,350,1457,141,2808,5419,5417,5426,5425, + 5421,5422,5420,5423,5424,5427,5418,3900,3875,3984, + 3963,1214,5173,2001,370,3813,4005,43,1586,1785, + 1867,5192,5175,1578,4936,5483,5150,1826,4120,43, + 1839,5176,5174,5192,1749,5169,5171,5172,5170,1, + 4795,4791,570,365,664,1251,3287,5150,43,1214, + 43,1,5008,5004,4479,5012,3834,3921,3287,3942, + 1539,4968,5150,365,4995,5001,4974,4977,4989,4986, + 4992,4983,4980,4971,4998,3900,3875,3984,3963,120, + 5173,584,5150,3813,1173,54,1869,1785,1867,5167, + 5175,5158,5150,1,949,1826,4120,388,1839,5176, + 5174,5154,1749,5169,5171,5172,5170,1,4795,4791, + 570,1913,664,1251,3287,5167,43,1,43,43, + 4779,4776,4479,635,3834,3921,3287,3942,5154,1457, + 5150,450,5419,5417,5426,5425,5421,5422,5420,5423, + 5424,5427,5418,3900,3875,3984,3963,1496,5173,5150, + 119,3813,3645,5157,97,1785,1867,5063,5175,5150, + 8319,8319,139,1826,4120,5150,1839,5176,5174,4026, + 1749,5169,5171,5172,5170,4047,43,4779,4776,4479, + 635,3834,3921,3287,3942,142,1457,5190,4939,5419, + 5417,5426,5425,5421,5422,5420,5423,5424,5427,5418, + 3900,3875,3984,3963,1,5173,1,1,3813,1, + 5153,118,1785,1867,5150,5175,5015,5015,5045,144, + 1826,4120,5150,1839,5176,5174,2734,1749,5169,5171, + 5172,5170,132,5150,2659,2659,2031,5153,1251,1, + 4026,5150,1660,5150,5612,5606,4047,5610,33,387, + 387,5094,387,387,5094,387,5094,5097,5150,5094, + 387,2177,2707,5604,5605,5635,5636,5018,5018,5615, + 291,5613,395,4779,4776,5150,5192,5598,4907,387, + 5157,387,387,387,242,949,387,5085,387,387, + 387,387,140,5150,387,5042,1218,126,387,3693, + 43,4026,5616,5637,1593,5097,1634,4047,5150,5614, + 5150,4926,4922,570,5192,664,1578,3287,5483,526, + 584,2566,2503,5097,508,2655,2625,5626,5625,5638, + 5607,5608,5631,5632,1075,5150,5629,5630,5609,5611, + 5633,5634,5639,5619,5620,5621,5617,5618,5627,5628, + 5623,5622,5624,43,4779,4776,4479,635,3834,3921, + 3287,3942,125,1457,5150,2906,5419,5417,5426,5425, + 5421,5422,5420,5423,5424,5427,5418,3900,3875,3984, + 3963,3670,5173,5150,403,3813,2566,2503,807,1785, + 1867,2177,5175,5024,1,5027,5150,1826,4120,5150, + 1839,5176,5174,167,1749,5169,5171,5172,5170,5150, + 5150,5150,5150,3015,1660,1251,5612,5606,5158,5610, + 36,388,388,5088,388,388,5088,388,5088,5091, + 5150,5088,388,442,5150,5604,5605,5635,5636,5150, + 3023,5615,3633,5613,98,1,1,5150,1,351, + 5112,388,5112,388,388,388,1,5150,388,3458, + 388,388,388,388,2789,5160,388,5159,1218,167, + 388,5150,364,905,5616,5637,1593,5091,1634,5150, + 5157,5614,101,43,43,5150,5192,1,5138,421, + 5135,163,5150,3635,3364,5091,197,2849,197,5626, + 5625,5638,5607,5608,5631,5632,1214,45,5629,5630, + 5609,5611,5633,5634,5639,5619,5620,5621,5617,5618, + 5627,5628,5623,5622,5624,43,4779,4776,4479,635, + 3834,3921,3287,3942,3463,1457,3710,5060,5419,5417, + 5426,5425,5421,5422,5420,5423,5424,5427,5418,3900, + 3875,3984,3963,2900,5173,1753,501,3813,1,499, + 1,1785,1867,4590,5175,377,1,522,5150,1826, + 4120,5150,1839,5176,5174,169,1749,5169,5171,5172, + 5170,5150,2210,43,4779,4776,4479,635,3834,3921, + 3287,3942,5150,1457,134,5150,5419,5417,5426,5425, + 5421,5422,5420,5423,5424,5427,5418,3900,3875,3984, + 3963,415,5173,5150,1,3813,41,5109,5109,1785, + 1867,5150,5175,5156,2707,724,4534,1826,4120,4585, + 1839,5176,5174,522,1749,5169,5171,5172,5170,5150, + 1794,169,5150,5334,2856,1251,43,4779,4776,4519, + 635,3834,3921,3287,3942,3474,1457,5100,3476,5419, + 5417,5426,5425,5421,5422,5420,5423,5424,5427,5418, + 3900,3875,3984,3963,5150,5173,5150,4543,3813,4574, + 5150,2052,1785,1867,3486,5175,5150,2655,2625,5155, + 1826,4120,5150,1839,5176,5174,5150,1749,5169,5171, + 5172,5170,43,4779,4776,4479,635,3834,3921,3287, + 3942,3061,1457,5150,5333,5419,5417,5426,5425,5421, + 5422,5420,5423,5424,5427,5418,3900,3875,3984,3963, + 5150,5173,5150,2363,3813,4575,191,5150,1785,1867, + 4171,5175,5150,5125,5121,5150,1826,4120,4176,1839, + 5176,5174,5150,1749,5169,5171,5172,5170,43,4779, + 4776,4479,635,3834,3921,3287,3942,5150,1457,3630, + 5190,5419,5417,5426,5425,5421,5422,5420,5423,5424, + 5427,5418,3900,3875,3984,3963,5150,5173,5150,4183, + 3813,4232,5150,5150,1785,1867,2418,5175,5150,5150, + 503,4182,1826,4120,106,1839,5176,5174,5156,1749, + 5169,5171,5172,5170,5150,4779,4776,5150,5192,105, + 4293,79,852,515,800,5150,5412,5419,5417,5426, + 5425,5421,5422,5420,5423,5424,5427,5418,5150,5150, + 4779,4776,1872,635,664,5415,3287,5490,5491,5409, + 1,5141,5416,3417,5388,5414,5413,5410,5147,344, + 5411,4308,1835,4599,5389,348,43,43,3417,5192, + 650,1578,5150,5483,5155,5546,2089,246,4872,4868, + 713,4876,5547,5548,5150,4779,4776,800,5192,4823, + 4859,4865,4838,4841,4853,4850,4856,4847,4844,4835, + 4862,5150,109,5150,4349,4384,81,1214,4814,3302, + 4808,4805,4832,344,344,4811,5150,4802,4817,4820, + 4829,5150,1214,4826,4576,344,283,4799,5150,5144, + 2,5150,5218,5219,5150,228,5150,5150,5546,5150, + 5150,5150,3486,713,1455,5547,5548,5412,5419,5417, + 5426,5425,5421,5422,5420,5423,5424,5427,5418,5150, + 41,5150,5150,2758,5150,5150,5415,5150,5490,5491, + 5409,5150,5150,5416,5150,5388,5414,5413,5410,5150, + 5150,5411,5150,133,5150,5389,1,4773,4773,233, + 4773,233,233,233,233,233,5150,233,6235,1, + 4773,4773,233,4773,233,233,233,233,4942,1951, + 233,6235,5150,2707,4770,5150,899,1,4795,4791, + 3596,5150,664,5150,3287,5150,2039,4770,1,4773, + 4773,233,4773,233,233,233,233,4942,5150,233, + 6235,5150,865,5150,1022,550,5103,5150,5150,5150, + 5150,5150,5150,5150,5150,865,4770,1022,550,5150, + 5643,1,4795,4791,3596,5150,664,5150,3287,5150, + 225,5150,5150,5643,1214,5150,2655,2625,5150,5150, + 5150,5150,5150,5150,865,5150,1022,550,5150,1, + 4773,4773,233,4773,233,233,233,233,5021,225, + 233,6235,5643,1,4773,4773,233,4773,233,233, + 233,233,4942,5150,233,6235,5150,4770,1214,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,4770,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,865,5150,1022,550,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,865, + 224,1022,550,5643,1,4773,4773,233,4773,233, + 233,233,233,4942,225,233,6235,5643,1,4773, + 4773,233,4773,233,233,233,233,233,5150,233, + 6235,5150,4770,5150,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,4770,5150,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 865,5150,1022,550,5150,5150,5150,5150,5150,5150, + 5150,5150,5150,5150,865,225,1022,550,5643,1, + 4773,4773,233,4773,233,233,233,233,233,5150, + 233,6235,5643,1,4773,4773,233,4773,233,233, + 233,233,233,5150,233,6235,5150,4770,5150,5150, + 5150,5150,5150,5150,5150,5150,5150,5150,5150,5150, + 5150,4770,5150,5150,5150,5150,5150,5150,230,5150, + 5150,5150,5150,5150,5150,865,5150,1022,550,5150, + 5412,5150,231,5150,5150,5150,5150,5150,5150,865, + 5150,1022,550,5643,5412,5150,5150,5150,5150,5415, + 232,5490,5491,5409,5150,5150,5416,5643,5388,5414, + 5413,5410,5412,5415,5411,5490,5491,5409,5389,5150, + 5416,5150,5388,5414,5413,5410,5150,5150,5411,5150, + 5150,5415,5389,5490,5491,5409,5150,5150,5416,5150, + 5388,5414,5413,5410,5150,5150,5411,5150,5150,5150, + 5389 }; }; public final static char termAction[] = TermAction.termAction; @@ -1722,59 +1686,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asb { public final static char asb[] = {0, - 553,1,591,952,365,224,326,782,23,25, - 553,486,229,23,959,970,21,970,16,970, - 18,970,954,970,486,487,36,224,481,487, - 662,1048,662,487,952,718,1034,40,235,21, - 21,85,487,230,131,280,487,180,324,395, - 328,178,21,332,487,337,487,487,324,180, - 180,824,484,3,3,10,12,481,487,655, - 131,718,662,659,175,131,662,662,337,274, - 843,295,555,555,235,235,235,235,486,487, - 230,824,280,180,179,180,324,78,180,332, - 332,487,337,324,487,180,21,486,481,134, - 447,492,481,642,655,484,175,175,337,230, - 843,295,235,708,235,235,235,487,824,824, - 708,487,280,1046,592,1036,280,180,180,829, - 487,395,487,332,708,397,707,1034,122,952, - 718,718,718,718,486,952,996,529,431,531, - 448,448,448,448,448,448,448,448,448,664, - 670,675,672,679,677,684,682,686,685,687, - 183,688,1033,487,21,411,644,487,952,175, - 702,131,447,490,655,654,659,1034,131,732, - 720,731,1033,718,30,30,708,708,708,487, - 274,1038,644,392,830,487,78,708,448,487, - 484,839,728,727,431,365,365,365,365,487, - 599,1079,664,131,131,431,911,364,274,431, - 664,273,273,599,447,448,448,448,448,448, - 448,448,448,448,448,448,448,448,448,448, - 448,448,448,448,447,447,447,447,447,447, - 447,447,447,447,447,447,448,431,536,412, - 486,487,599,647,490,655,538,447,729,729, - 837,484,878,295,555,295,1032,1032,824,230, - 12,711,448,1046,11,829,487,486,486,487, - 122,131,841,843,131,131,1034,1034,1034,1034, - 324,131,448,736,976,976,486,531,175,364, - 447,230,131,229,231,229,131,175,672,672, - 670,670,670,677,677,677,677,675,675,682, - 679,679,685,684,686,1046,687,536,411,1046, - 448,1046,824,952,952,952,412,952,487,190, - 824,824,487,21,131,447,707,538,447,447, - 841,720,295,365,365,824,1038,448,448,487, - 487,487,131,843,952,952,952,952,487,487, - 487,274,448,365,668,88,131,487,231,274, - 447,402,952,402,1046,412,431,431,429,827, - 431,824,824,551,536,490,540,1033,487,487, - 772,131,447,447,447,447,952,952,324,230, - 131,668,484,395,487,230,878,131,481,131, - 190,824,224,952,131,536,540,876,772,772, - 131,131,131,131,599,599,487,668,669,668, - 447,88,1118,664,395,131,131,760,412,551, - 412,824,190,224,447,412,409,952,30,545, - 772,131,131,747,668,599,448,175,1118,21, - 21,944,447,410,599,824,824,131,844,1032, - 545,545,669,131,175,412,131,599,824,130, - 229,545,412,131,365,412 + 485,1,523,1024,314,218,275,862,3,78, + 485,481,223,3,1031,1042,681,1042,676,1042, + 678,1042,1026,1042,481,482,5,218,476,482, + 547,790,547,482,1024,674,1106,17,83,681, + 681,75,482,224,657,229,482,130,273,344, + 277,128,681,281,482,286,482,482,273,130, + 130,904,479,62,62,69,71,476,482,540, + 657,674,547,544,174,657,547,547,286,122, + 915,244,487,487,83,83,83,83,481,482, + 224,904,229,130,129,130,273,55,130,281, + 281,482,286,273,482,130,681,481,476,133, + 442,353,476,778,540,479,174,174,286,224, + 915,244,83,593,83,83,83,482,904,904, + 593,482,229,1118,524,1108,229,130,130,9, + 482,344,482,281,593,346,592,1106,648,1024, + 674,674,674,674,481,1024,1068,390,426,392, + 443,443,443,443,443,443,443,443,443,549, + 555,560,557,564,562,569,567,571,570,572, + 177,573,1105,482,681,406,611,482,1024,174, + 587,657,442,351,540,539,544,1106,657,695, + 683,694,1105,674,531,531,593,593,593,482, + 122,1110,611,341,10,482,55,593,443,482, + 479,911,691,690,426,314,314,314,314,482, + 735,821,549,657,657,426,983,313,122,426, + 549,121,121,735,442,443,443,443,443,443, + 443,443,443,443,443,443,443,443,443,443, + 443,443,443,443,442,442,442,442,442,442, + 442,442,442,442,442,442,443,426,537,407, + 481,482,735,660,351,540,596,442,692,692, + 909,479,950,244,487,244,1104,1104,904,224, + 71,667,443,1118,70,9,482,481,481,482, + 648,657,913,915,657,657,1106,1106,1106,1106, + 273,657,443,699,1048,1048,481,392,174,313, + 442,224,657,223,225,223,657,174,557,557, + 555,555,555,562,562,562,562,560,560,567, + 564,564,570,569,571,1118,572,537,406,1118, + 443,1118,904,1024,1024,1024,407,1024,482,184, + 904,904,482,681,657,442,592,596,442,442, + 913,683,244,314,314,904,1110,443,443,482, + 482,482,657,915,1024,1024,1024,1024,482,482, + 482,122,443,314,553,614,657,482,225,122, + 442,397,1024,397,1118,407,426,426,424,907, + 426,904,904,609,537,351,598,1105,482,482, + 780,657,442,442,442,442,1024,1024,273,224, + 657,553,479,344,482,224,950,657,476,657, + 424,218,1024,657,537,598,948,780,780,657, + 657,657,657,735,735,482,553,554,553,442, + 614,860,549,344,657,657,723,407,609,407, + 904,218,442,407,404,1024,531,603,780,657, + 657,710,553,735,443,174,860,681,681,1016, + 442,405,735,904,657,916,1104,603,603,554, + 657,174,407,657,904,656,223,603,407,314 }; }; public final static char asb[] = Asb.asb; @@ -1782,118 +1745,118 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asr { public final static byte asr[] = {0, - 121,0,76,60,63,72,95,75,58,3, - 70,9,11,69,0,28,72,4,1,2, - 60,0,29,0,1,2,123,60,0,63, - 70,69,1,2,0,60,72,76,0,59, - 35,13,14,61,33,15,65,38,74,12, - 16,40,41,17,18,42,57,43,19,20, - 46,67,50,10,68,21,56,30,22,34, - 23,9,3,8,4,11,60,7,6,5, - 1,2,28,0,60,70,0,96,90,24, - 25,91,92,88,89,32,93,94,97,98, - 99,100,101,102,117,72,95,70,104,105, - 106,107,108,109,110,111,112,113,118,71, - 11,63,1,2,8,6,4,3,58,69, - 75,9,0,64,66,3,10,37,47,44, - 36,51,14,23,13,19,17,18,20,21, - 16,15,22,52,55,53,54,29,49,39, - 48,5,7,4,26,27,8,6,24,25, - 31,45,1,2,118,9,0,4,32,60, - 72,0,63,72,95,69,118,75,71,13, - 14,36,64,15,37,39,16,17,18,66, - 44,19,20,45,47,48,62,49,51,10, - 21,22,23,52,53,54,29,26,27,24, - 25,31,55,9,8,6,11,3,4,7, - 5,1,2,0,59,35,13,14,61,33, - 15,65,38,74,12,16,40,41,17,18, - 42,57,43,19,20,46,67,50,10,68, - 21,56,30,22,34,23,9,3,8,6, - 71,11,4,7,1,2,5,28,0,74, - 7,114,115,116,56,9,3,8,6,5, - 72,71,11,73,35,13,14,61,33,15, - 65,38,12,16,40,41,17,18,42,43, - 19,20,46,67,50,10,68,21,30,22, - 34,23,4,1,2,28,0,4,60,72, - 0,1,2,9,71,0,36,64,37,39, - 66,7,44,45,47,48,62,49,51,52, - 53,54,29,26,27,8,6,24,25,5, - 31,63,55,3,10,65,61,67,68,14, - 23,13,19,17,18,20,21,16,15,22, - 35,43,46,12,42,41,38,33,34,40, - 50,1,2,30,4,0,9,69,71,70, - 0,74,114,115,116,28,72,121,119,122, - 71,73,76,56,57,59,78,80,86,84, - 77,82,83,85,87,60,79,81,9,11, - 35,61,33,65,38,12,40,41,42,43, - 46,67,50,68,30,34,62,64,66,10, - 37,47,44,36,51,14,23,13,19,17, - 18,20,21,16,15,22,52,55,53,54, - 29,49,39,48,26,27,24,25,31,45, - 7,5,3,6,8,4,1,2,0,9, - 71,62,26,27,8,6,24,25,31,45, - 3,4,52,55,53,54,29,49,39,48, + 121,0,29,0,60,72,76,0,31,1, + 2,4,114,115,116,0,59,35,13,14, + 61,33,15,66,38,74,12,16,40,41, + 17,18,42,58,43,19,20,46,68,50, + 10,69,21,56,31,22,34,23,9,3, + 8,4,11,60,7,6,5,1,2,28, + 0,76,60,63,72,95,75,57,3,70, + 9,11,64,0,60,70,0,1,2,123, + 60,0,59,35,13,14,61,33,15,66, + 38,74,12,16,40,41,17,18,42,58, + 43,19,20,46,68,50,10,69,21,56, + 31,22,34,23,9,3,8,6,71,11, + 4,7,1,2,5,28,0,4,30,60, + 72,0,65,67,3,10,37,47,44,36, + 51,14,23,13,19,17,18,20,21,16, + 15,22,52,55,53,54,29,49,39,48, + 5,7,4,26,27,8,6,24,25,32, + 45,1,2,118,9,0,63,72,95,64, + 118,75,71,13,14,36,65,15,37,39, + 16,17,18,67,44,19,20,45,47,48, + 62,49,51,10,21,22,23,52,53,54, + 29,26,27,24,25,32,55,9,8,6, + 11,3,4,7,5,1,2,0,74,7, + 114,115,116,56,9,3,8,6,5,72, + 71,11,73,35,13,14,61,33,15,66, + 38,12,16,40,41,17,18,42,43,19, + 20,46,68,50,10,69,21,31,22,34, + 23,4,1,2,28,0,4,60,72,0, + 1,2,9,71,0,36,65,37,39,67, + 7,44,45,47,48,62,49,51,52,53, + 54,29,26,27,8,6,24,25,5,32, + 63,55,3,10,66,61,68,69,14,23, + 13,19,17,18,20,21,16,15,22,35, + 43,46,12,42,41,38,33,34,40,50, + 1,2,31,4,0,9,64,71,70,0, + 9,71,62,26,27,8,6,24,25,32, + 45,3,4,52,55,53,54,29,49,39, + 48,14,23,13,19,17,18,20,21,16, + 15,22,10,37,47,44,36,51,60,5, + 7,1,2,67,65,0,74,114,115,116, + 28,72,121,119,122,71,73,76,56,58, + 59,78,80,86,84,77,82,83,85,87, + 60,79,81,11,9,35,61,33,66,38, + 12,40,41,42,43,46,68,50,69,31, + 34,62,65,67,10,37,47,44,36,51, 14,23,13,19,17,18,20,21,16,15, - 22,10,37,47,44,36,51,60,5,7, - 1,2,66,64,0,119,0,33,34,76, - 3,60,72,11,62,9,63,95,69,75, - 70,0,121,73,61,33,15,65,38,16, - 40,41,17,18,42,43,19,20,46,67, - 50,68,21,30,22,34,23,14,13,35, - 9,3,8,6,11,56,59,74,12,28, - 57,7,1,2,5,4,10,0,9,75, - 13,14,36,64,15,37,39,16,17,18, - 66,7,44,19,20,45,47,48,62,49, - 51,10,21,22,23,52,53,54,29,1, - 2,3,26,27,8,24,25,5,31,4, - 55,6,0,60,69,0,9,72,118,75, - 11,69,0,62,33,7,34,5,1,2, - 4,76,60,120,103,26,27,58,3,96, - 90,6,91,92,24,25,89,88,32,93, - 94,97,98,8,99,100,101,63,95,75, - 70,104,105,106,107,108,109,110,111,112, - 113,72,118,11,102,117,69,71,9,0, - 72,9,58,3,70,69,11,32,0,8, - 6,4,5,7,1,2,3,58,63,70, - 69,9,75,95,0,13,14,15,16,17, - 18,19,20,21,22,23,35,33,38,12, - 40,41,42,43,46,50,30,34,11,9, - 75,7,1,2,58,3,8,6,5,4, - 0,33,62,34,9,63,95,70,69,75, - 0,61,33,15,65,38,16,40,41,17, - 18,42,43,19,20,46,67,50,10,68, - 21,30,22,34,23,14,13,35,7,3, - 8,6,5,56,57,59,74,12,32,1, - 2,4,28,11,9,0,77,0,30,1, - 2,4,114,115,116,0,7,5,3,58, - 6,8,95,35,13,14,33,15,65,38, - 12,16,40,41,17,18,42,43,19,20, - 46,67,50,10,68,21,30,22,34,23, - 1,2,4,75,9,61,0,35,13,14, - 61,33,15,65,38,12,16,40,41,17, - 18,42,43,19,20,46,67,50,10,68, - 21,30,22,34,23,1,2,4,95,0, - 64,66,26,27,24,25,31,45,52,55, - 53,54,29,49,39,48,14,23,13,19, - 17,18,20,21,16,15,22,10,37,47, - 44,36,51,8,6,4,58,7,5,1, - 2,3,0,10,65,61,67,68,14,23, - 13,19,17,18,20,21,16,15,22,76, - 60,72,95,118,71,7,43,46,50,30, - 34,1,2,42,41,40,12,38,5,4, - 33,35,9,75,11,58,3,120,96,103, - 90,26,27,8,6,24,25,91,92,88, - 89,32,93,94,97,98,99,100,101,102, - 117,104,105,106,107,108,109,110,111,112, - 113,70,69,63,0,11,9,7,5,3, - 1,2,6,8,4,72,0,35,13,14, - 61,33,15,65,38,12,16,40,41,17, - 18,42,43,19,20,46,67,50,10,68, - 21,30,22,34,23,1,2,4,66,64, - 24,25,6,91,92,99,8,100,31,70, - 32,63,107,108,104,105,106,112,111,113, - 89,88,109,110,97,98,93,94,101,102, - 26,27,69,90,103,3,58,5,0 + 22,52,55,53,54,29,49,39,48,26, + 27,24,25,32,45,7,5,3,6,8, + 4,1,2,0,121,73,61,33,15,66, + 38,16,40,41,17,18,42,43,19,20, + 46,68,50,69,21,31,22,34,23,14, + 13,35,9,3,8,6,11,56,59,74, + 12,28,58,7,1,2,5,4,10,0, + 63,70,64,1,2,0,119,0,62,33, + 7,34,5,1,2,4,76,60,120,103, + 26,27,57,3,96,90,6,91,92,24, + 25,89,88,30,93,94,97,98,8,99, + 100,101,63,95,75,70,104,105,106,107, + 108,109,110,111,112,113,72,118,11,102, + 117,64,71,9,0,33,34,76,3,60, + 72,11,62,9,63,95,64,75,70,0, + 60,64,0,96,90,24,25,91,92,88, + 89,30,93,94,97,98,99,100,101,102, + 117,72,95,70,104,105,106,107,108,109, + 110,111,112,113,118,71,11,63,1,2, + 8,6,4,3,57,64,75,9,0,9, + 72,118,75,11,64,0,72,9,57,3, + 70,64,11,30,0,28,72,4,1,2, + 60,0,8,6,4,5,7,1,2,3, + 57,63,70,64,9,75,95,0,13,14, + 15,16,17,18,19,20,21,22,23,35, + 33,38,12,40,41,42,43,46,50,31, + 34,11,9,75,7,1,2,57,3,8, + 6,5,4,0,9,75,13,14,36,65, + 15,37,39,16,17,18,67,7,44,19, + 20,45,47,48,62,49,51,10,21,22, + 23,52,53,54,29,1,2,3,26,27, + 8,24,25,5,32,4,55,6,0,33, + 62,34,9,63,95,70,64,75,0,35, + 13,14,61,33,15,66,38,12,16,40, + 41,17,18,42,43,19,20,46,68,50, + 10,69,21,31,22,34,23,1,2,4, + 67,65,24,25,6,91,92,99,8,100, + 32,70,30,63,107,108,104,105,106,112, + 111,113,89,88,109,110,97,98,93,94, + 101,102,26,27,64,90,103,3,57,5, + 0,61,33,15,66,38,16,40,41,17, + 18,42,43,19,20,46,68,50,10,69, + 21,31,22,34,23,14,13,35,7,3, + 8,6,5,56,58,59,74,12,30,1, + 2,4,28,11,9,0,77,0,7,5, + 3,57,6,8,95,35,13,14,33,15, + 66,38,12,16,40,41,17,18,42,43, + 19,20,46,68,50,10,69,21,31,22, + 34,23,1,2,4,75,9,61,0,35, + 13,14,61,33,15,66,38,12,16,40, + 41,17,18,42,43,19,20,46,68,50, + 10,69,21,31,22,34,23,1,2,4, + 95,0,65,67,26,27,24,25,32,45, + 52,55,53,54,29,49,39,48,14,23, + 13,19,17,18,20,21,16,15,22,10, + 37,47,44,36,51,8,6,4,57,7, + 5,1,2,3,0,10,66,61,68,69, + 14,23,13,19,17,18,20,21,16,15, + 22,76,60,72,95,118,71,7,43,46, + 50,31,34,1,2,42,41,40,12,38, + 5,4,33,35,9,75,11,57,3,120, + 96,103,90,26,27,8,6,24,25,91, + 92,88,89,30,93,94,97,98,99,100, + 101,102,117,104,105,106,107,108,109,110, + 111,112,113,70,64,63,0,11,9,7, + 5,3,1,2,6,8,4,72,0 }; }; public final static byte asr[] = Asr.asr; @@ -1901,59 +1864,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasb { public final static char nasb[] = {0, - 96,11,23,11,4,232,11,185,11,220, - 134,147,147,11,228,229,11,229,18,229, - 105,229,222,11,147,174,155,141,151,219, - 11,249,11,174,11,11,11,155,155,11, - 11,11,177,177,63,155,20,155,177,11, - 155,11,11,155,177,155,174,10,11,155, - 14,205,146,16,16,43,11,209,174,155, - 63,11,11,36,86,63,11,11,155,172, - 155,155,185,185,155,108,155,155,147,94, - 213,205,238,155,155,92,60,157,92,155, - 220,10,29,60,20,14,12,113,209,82, - 65,31,151,11,27,146,86,86,29,213, - 167,167,108,56,185,108,108,177,205,205, - 56,174,205,11,23,231,238,92,92,194, - 20,11,10,220,56,11,11,11,101,11, - 11,11,11,11,147,11,11,39,161,174, - 31,31,216,31,31,31,31,31,31,11, + 87,11,48,11,4,235,11,195,11,223, + 148,159,159,11,231,232,11,232,168,232, + 33,232,225,11,159,161,179,153,175,222, + 11,188,11,161,11,11,11,179,179,11, + 11,11,192,192,14,179,170,179,192,11, + 179,11,11,179,192,179,161,10,11,179, + 55,205,158,50,50,36,11,212,161,179, + 14,11,11,124,63,14,11,11,179,98, + 179,179,195,195,179,100,179,179,159,94, + 216,205,241,179,179,85,52,79,85,179, + 223,10,24,52,170,55,72,144,212,59, + 135,26,175,11,22,158,63,63,24,216, + 119,119,100,46,195,100,100,192,205,205, + 46,161,205,11,48,234,241,85,85,38, + 170,11,10,223,46,11,11,11,184,11, + 11,11,11,11,159,11,11,16,252,161, + 26,26,219,26,26,26,26,26,26,11, 11,11,11,11,11,11,11,11,11,11, - 31,11,11,20,12,47,11,177,11,86, - 11,63,31,155,155,27,200,11,63,11, - 149,11,11,11,25,25,56,56,56,94, - 172,141,11,147,45,177,157,56,31,220, - 146,101,16,16,161,246,246,246,246,174, - 117,251,11,63,63,1,31,58,172,161, - 11,68,68,117,131,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,131,31,29,155,120, - 113,10,117,11,52,27,155,31,11,11, - 149,146,167,167,185,155,11,11,205,213, - 205,11,31,11,77,190,177,147,147,10, - 198,63,165,155,63,63,11,11,11,11, - 171,63,31,11,11,11,147,174,86,246, - 65,213,63,212,174,212,63,86,11,11, + 26,11,11,170,72,69,11,192,11,63, + 11,14,26,179,179,22,112,11,14,11, + 173,11,11,11,92,92,46,46,46,94, + 98,153,11,159,115,192,79,46,26,223, + 158,184,50,50,252,261,261,261,261,161, + 181,190,11,14,14,1,26,67,98,252, + 11,74,74,181,141,26,26,26,26,26, + 26,26,26,26,26,26,26,26,26,26, + 26,26,26,26,26,26,26,26,26,26, + 26,26,26,26,26,141,26,24,179,130, + 144,10,181,11,42,22,179,26,11,11, + 173,158,119,119,195,179,11,11,205,216, + 205,11,26,11,31,164,192,159,159,10, + 110,14,105,179,14,14,11,11,11,11, + 97,14,26,11,11,11,159,161,63,261, + 135,216,14,215,161,215,14,63,11,11, 11,11,11,11,11,11,11,11,11,11, - 11,11,11,11,11,11,11,75,128,11, - 31,11,205,11,11,11,129,11,220,203, - 205,205,220,139,63,31,56,27,31,31, - 165,207,167,246,246,205,151,31,31,10, - 177,177,63,167,11,11,11,11,20,10, - 174,172,31,246,155,79,63,174,125,172, - 31,90,11,11,11,129,253,253,180,11, - 253,205,205,11,155,52,155,11,10,10, - 155,63,131,131,131,131,11,11,170,20, - 63,50,200,11,219,20,246,63,151,63, - 182,205,155,11,63,75,88,11,27,155, - 63,63,63,63,117,117,20,155,73,11, - 131,200,126,11,11,63,63,155,129,11, - 129,205,182,151,131,129,90,11,25,155, - 27,63,63,11,50,117,31,86,126,139, - 139,149,31,11,182,205,205,63,245,11, - 88,155,73,63,86,129,63,182,205,63, - 212,88,129,63,246,129 + 11,11,11,11,11,11,11,12,138,11, + 26,11,205,11,11,11,139,11,223,203, + 205,205,223,65,14,26,46,22,26,26, + 105,210,119,261,261,205,175,26,26,10, + 192,192,14,119,11,11,11,11,170,10, + 161,98,26,261,179,127,14,161,207,98, + 26,83,11,11,11,139,256,256,117,11, + 256,205,205,11,179,42,179,11,10,10, + 179,14,141,141,141,141,11,11,96,170, + 14,122,112,11,222,170,261,14,175,14, + 248,179,11,14,12,20,11,22,179,14, + 14,14,14,181,181,170,179,57,11,141, + 112,208,11,11,14,14,179,139,11,139, + 205,175,141,139,83,11,92,179,22,14, + 14,11,122,181,26,63,208,65,65,173, + 26,11,200,205,14,260,11,20,179,57, + 14,63,139,14,205,14,215,20,139,261 }; }; public final static char nasb[] = Nasb.nasb; @@ -1961,32 +1923,33 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasr { public final static char nasr[] = {0, - 3,12,7,5,147,145,119,144,143,2, - 0,155,0,154,0,76,0,5,45,2, - 3,0,151,0,109,0,59,0,46,4, - 5,7,2,12,0,4,187,0,2,7, - 3,0,177,0,185,0,4,65,0,138, - 0,12,2,7,5,65,0,172,0,2, - 67,0,31,0,4,27,0,5,2,7, - 134,0,136,0,156,0,183,0,4,174, - 0,12,2,7,5,86,0,123,0,112, - 0,110,0,150,0,171,64,44,4,0, - 94,95,4,0,5,1,0,104,4,44, - 64,0,165,5,164,0,4,97,0,4, - 44,38,175,0,2,113,0,65,44,77, - 4,38,0,64,44,4,131,0,55,0, - 63,52,7,2,4,90,5,0,95,94, - 63,52,7,2,4,0,67,133,132,0, - 4,46,38,0,5,90,21,4,0,2, - 52,67,0,2,45,0,2,60,0,21, - 176,4,101,0,4,44,64,66,0,5, - 103,161,0,5,103,184,0,95,94,5, - 54,0,4,38,37,0,95,94,52,63, - 54,5,7,2,0,5,7,12,3,1, - 0,2,5,119,115,116,117,12,87,0, - 37,52,7,2,4,153,0,4,44,64, - 103,42,5,0,31,4,46,0,4,46, - 167,0,4,46,114,0 + 3,12,7,5,146,144,118,143,142,2, + 0,155,0,32,0,2,7,3,0,122, + 0,59,0,43,4,5,7,2,12,0, + 185,0,5,1,0,179,0,5,102,186, + 0,12,2,7,5,65,0,150,0,76, + 0,2,67,0,153,0,135,0,12,2, + 7,5,79,0,58,0,171,0,4,65, + 0,154,0,5,2,7,133,0,67,132, + 131,0,112,0,110,0,170,64,46,4, + 0,109,0,149,0,2,52,67,0,104, + 4,46,64,0,21,4,5,90,0,95, + 94,5,54,0,187,0,38,177,21,4, + 0,137,0,4,189,0,4,173,0,4, + 46,38,175,0,4,30,0,65,46,80, + 4,38,0,164,5,163,0,64,46,4, + 130,0,63,52,7,2,4,90,5,0, + 2,42,0,5,102,160,0,5,42,2, + 3,0,95,94,63,52,7,2,4,0, + 4,97,0,94,95,4,0,4,43,166, + 0,2,60,0,4,46,64,66,0,4, + 174,0,4,38,37,0,2,113,0,95, + 94,52,63,54,5,7,2,0,5,7, + 12,3,1,0,2,5,118,114,115,116, + 12,87,0,37,52,7,2,4,152,0, + 4,46,64,102,44,5,0,43,4,176, + 0,4,43,38,0,4,43,103,0,32, + 4,43,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -1996,11 +1959,11 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final static char terminalIndex[] = {0, 115,116,2,32,14,11,81,10,117,102, 122,68,50,54,62,70,76,77,88,89, - 104,107,109,12,13,8,9,95,114,106, - 15,20,56,108,49,57,63,66,69,72, + 104,107,109,12,13,8,9,95,114,20, + 106,15,56,108,49,57,63,66,69,72, 75,78,85,86,90,91,92,96,99,100, - 101,111,112,113,46,105,79,1,48,3, - 55,97,21,60,65,80,93,103,45,34, + 101,111,112,113,46,105,1,79,48,3, + 55,97,21,45,60,65,80,93,103,34, 121,31,123,67,120,98,110,51,52,58, 59,61,71,73,74,87,94,18,19,7, 16,17,22,23,33,5,24,25,26,27, @@ -2016,24 +1979,24 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final static char nonterminalIndex[] = {0, 133,138,140,0,0,139,236,137,0,136, 0,147,135,0,0,146,152,0,0,153, - 183,162,163,164,165,166,155,167,168,169, - 127,170,171,145,172,0,129,134,173,0, - 142,181,0,0,141,156,0,0,0,0, - 0,0,149,159,176,0,206,0,190,0, + 183,162,163,164,165,166,167,168,169,155, + 170,127,171,145,172,0,129,134,173,0, + 142,141,156,181,0,0,0,0,0,0, + 0,0,149,159,0,206,0,176,190,0, 0,203,207,0,128,132,0,0,0,0, - 0,0,0,0,0,208,175,0,0,0, - 0,0,0,0,179,126,189,0,0,204, + 0,0,0,0,0,208,0,179,126,175, + 0,0,0,0,0,0,189,0,0,204, 214,161,210,211,212,0,0,0,0,150, - 0,209,222,182,0,0,0,213,0,0, - 0,242,151,178,192,193,194,195,196,198, - 201,0,0,216,219,221,239,0,241,0, - 131,143,144,148,0,0,158,160,0,174, - 0,184,185,186,187,188,191,0,197,199, - 0,200,205,0,217,218,0,223,226,228, - 230,0,233,234,235,0,237,238,240,0, - 130,0,154,157,177,180,202,215,220,0, - 224,225,227,229,0,231,232,243,244,0, - 0,0 + 209,222,178,182,0,0,0,213,0,0, + 0,242,151,192,193,194,195,196,198,201, + 0,0,216,219,221,239,0,241,0,131, + 143,144,148,0,0,158,160,0,174,0, + 184,185,186,187,188,191,0,197,199,0, + 200,205,0,217,218,0,223,226,228,230, + 0,233,234,235,0,237,238,240,0,130, + 0,154,157,0,177,0,180,0,202,215, + 220,0,224,225,227,229,0,231,232,243, + 244,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2041,18 +2004,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 146,598,617,377,549,565,576,587,357,256, - 270,292,298,304,42,281,402,440,154,606, - 385,492,20,51,75,80,85,122,182,287, - 310,321,332,262,276,520,27,367,332,625, - 27,204,235,1,14,61,71,101,136,217, - 315,328,337,346,350,458,485,514,541,545, - 635,639,643,92,7,92,136,420,436,449, - 469,533,449,556,572,583,594,194,391,503, - 56,56,143,209,212,230,251,212,212,56, - 354,464,482,489,143,56,656,105,223,424, - 476,111,111,223,56,223,411,164,99,462, - 647,654,647,654,65,430,129,99,99,240 + 146,573,592,524,540,551,562,357,256,270, + 292,298,304,42,281,377,415,154,581,467, + 20,51,75,80,85,122,182,287,310,321, + 332,262,276,495,27,367,332,600,27,204, + 235,1,14,61,71,101,136,217,315,328, + 337,346,350,433,460,489,516,520,610,614, + 618,92,7,92,136,395,411,424,444,508, + 424,531,547,558,569,194,478,56,56,143, + 209,212,230,251,212,212,56,354,439,457, + 464,143,56,631,105,223,399,451,111,111, + 223,56,223,386,164,99,437,622,629,622, + 629,65,405,129,99,99,240 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2060,18 +2023,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,364,5,5,5,5,364,127, - 90,127,127,127,48,267,408,446,160,67, - 372,498,25,25,59,59,90,127,187,127, - 127,326,326,267,96,525,38,372,612,630, - 32,198,198,5,18,5,59,90,127,221, - 319,319,319,90,90,127,233,5,5,5, - 5,5,233,221,11,96,140,364,364,364, - 473,525,453,560,560,560,560,198,395,507, - 59,59,5,5,215,233,5,254,254,344, - 90,467,5,233,5,518,5,108,341,427, - 479,114,118,226,537,528,414,167,90,90, - 649,649,651,651,67,432,131,189,174,242 + 18,5,5,5,5,5,5,364,127,90, + 127,127,127,48,267,383,421,160,67,473, + 25,25,59,59,90,127,187,127,127,326, + 326,267,96,500,38,372,587,605,32,198, + 198,5,18,5,59,90,127,221,319,319, + 319,90,90,127,233,5,5,5,5,5, + 233,221,11,96,140,364,364,364,448,500, + 428,535,535,535,535,198,482,59,59,5, + 5,215,233,5,254,254,344,90,442,5, + 233,5,493,5,108,341,402,454,114,118, + 226,512,503,389,167,90,90,624,624,626, + 626,67,407,131,189,174,242 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2079,18 +2042,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 42,16,16,81,16,16,16,16,81,70, - 43,75,74,117,61,50,81,80,42,16, - 81,18,3,6,161,161,158,115,42,73, - 117,116,118,51,43,134,128,81,16,16, - 128,96,56,130,84,164,161,158,125,58, - 116,116,118,176,48,55,138,17,16,16, - 16,16,16,11,112,158,125,81,80,80, - 36,134,80,16,16,16,16,96,81,18, - 165,161,177,94,102,76,57,153,85,118, - 82,78,139,138,172,134,15,158,118,114, - 20,126,126,54,134,134,81,42,158,79, - 132,45,132,45,164,114,115,42,42,56 + 44,16,16,16,16,16,16,83,70,45, + 75,74,116,61,50,83,82,44,16,18, + 3,6,160,160,157,114,44,73,116,115, + 117,51,45,133,127,83,16,16,127,96, + 55,129,86,163,160,157,124,57,115,115, + 117,178,48,58,137,17,16,16,16,16, + 16,11,112,157,124,83,82,82,36,133, + 82,16,16,16,16,96,18,164,160,179, + 94,101,76,56,152,78,117,84,81,138, + 137,171,133,15,157,117,103,20,125,125, + 54,133,133,83,44,157,77,131,42,131, + 42,163,103,114,44,44,55 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2098,18 +2061,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLa { public final static byte scopeLa[] = { - 119,75,75,75,75,75,75,75,75,71, - 11,71,71,71,63,1,75,122,60,3, - 11,75,63,63,1,1,11,71,60,71, - 71,1,1,1,1,4,63,11,1,1, - 63,75,75,75,119,75,1,11,71,1, - 1,1,1,11,11,71,118,75,75,75, - 75,75,118,1,75,1,69,75,75,75, - 72,4,75,63,63,63,63,75,11,3, - 1,1,75,75,3,118,75,1,1,1, - 11,72,75,118,75,5,75,1,28,70, - 75,1,1,6,1,28,77,76,11,11, - 4,4,4,4,3,1,60,1,1,3 + 119,75,75,75,75,75,75,75,71,11, + 71,71,71,63,1,75,122,60,3,75, + 63,63,1,1,11,71,60,71,71,1, + 1,1,1,4,63,11,1,1,63,75, + 75,75,119,75,1,11,71,1,1,1, + 1,11,11,71,118,75,75,75,75,75, + 118,1,75,1,64,75,75,75,72,4, + 75,63,63,63,63,75,3,1,1,75, + 75,3,118,75,1,1,1,11,72,75, + 118,75,5,75,1,28,70,75,1,1, + 6,1,28,77,76,11,11,4,4,4, + 4,3,1,60,1,1,3 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2117,18 +2080,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 265,195,195,42,195,195,195,195,42,277, - 265,277,277,261,289,267,42,42,265,195, - 42,195,128,170,27,27,300,261,265,277, - 261,261,261,267,265,22,30,42,195,195, - 30,62,109,4,42,34,27,300,257,109, - 261,261,261,11,267,37,8,195,195,195, - 195,195,195,190,17,300,257,42,42,42, - 227,22,42,195,195,195,195,62,42,195, - 34,27,56,62,64,58,109,125,114,261, - 42,42,1,8,25,22,195,300,261,13, - 196,261,261,70,22,22,42,265,300,42, - 53,86,53,86,34,13,261,265,265,109 + 274,204,204,204,204,204,204,52,285,274, + 285,285,270,297,276,52,52,274,204,204, + 137,179,37,37,308,270,274,285,270,270, + 270,276,274,32,40,52,204,204,40,71, + 118,4,52,44,37,308,266,118,270,270, + 270,30,276,47,8,204,204,204,204,204, + 204,199,16,308,266,52,52,52,236,32, + 52,204,204,204,204,71,204,44,37,65, + 71,73,67,118,134,123,270,52,52,1, + 8,35,32,204,308,270,11,205,270,270, + 79,32,32,52,274,308,21,62,95,62, + 95,44,11,270,274,274,118 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2136,72 +2099,70 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 313,3,62,0,127,0,312,3,119,0, - 127,176,0,128,179,76,0,218,0,290, - 128,32,126,0,21,0,292,128,32,28, + 315,3,62,0,127,0,314,3,119,0, + 127,176,0,128,182,76,0,218,0,289, + 128,30,126,0,21,0,291,128,30,28, 0,21,55,0,34,135,0,21,55,0, - 0,292,128,32,28,188,0,21,132,0, - 290,128,32,131,0,184,129,0,145,0, - 221,3,289,0,289,0,2,0,127,0, - 184,129,227,0,184,129,30,227,0,184, - 129,309,30,0,132,191,169,129,0,129, - 0,191,169,129,0,137,129,0,168,0, - 305,128,168,0,128,168,0,224,129,0, - 169,243,0,140,0,0,0,138,0,0, - 0,304,128,60,250,0,128,0,250,0, - 3,0,0,128,0,303,128,60,0,45, - 128,0,151,3,0,128,279,278,128,76, - 277,168,0,278,128,76,277,168,0,217, - 0,218,0,277,168,0,98,0,0,217, + 0,291,128,30,28,188,0,21,132,0, + 289,128,30,131,0,184,129,0,145,0, + 221,3,288,0,288,0,2,0,127,0, + 184,129,226,0,184,129,31,226,0,184, + 129,311,31,0,132,191,166,129,0,129, + 0,191,166,129,0,137,129,0,170,0, + 307,128,170,0,128,170,0,224,129,0, + 166,242,0,140,0,0,0,138,0,0, + 0,306,128,60,249,0,128,0,249,0, + 3,0,0,128,0,305,128,60,0,45, + 128,0,154,3,0,128,278,277,128,76, + 276,170,0,277,128,76,276,170,0,217, + 0,218,0,276,170,0,98,0,0,217, 0,218,0,205,98,0,0,217,0,218, - 0,278,128,277,168,0,217,0,205,0, + 0,277,128,276,170,0,217,0,205,0, 0,217,0,230,128,3,0,127,0,0, - 0,0,0,230,128,3,218,0,226,3, - 0,214,128,0,210,0,191,169,176,0, - 137,0,169,129,0,11,0,0,0,216, - 58,0,126,0,230,128,3,181,0,181, + 0,0,0,230,128,3,218,0,225,3, + 0,214,128,0,210,0,191,166,176,0, + 137,0,166,129,0,11,0,0,0,216, + 57,0,126,0,230,128,3,180,0,180, 0,2,0,0,127,0,0,0,0,0, - 209,3,0,203,0,229,128,60,29,12, - 0,184,129,57,56,0,199,129,0,132, - 184,129,275,56,0,184,129,275,56,0, - 184,129,70,125,57,0,229,128,60,57, - 0,229,128,60,123,57,0,229,128,60, - 126,57,0,272,128,60,125,65,0,272, - 128,60,65,0,184,129,65,0,138,0, - 191,184,129,243,0,140,0,184,129,243, - 0,191,169,129,10,0,169,129,10,0, - 95,140,0,150,0,265,128,145,0,265, - 128,168,0,162,86,0,225,161,225,300, - 3,83,0,127,175,0,225,300,3,83, - 0,129,0,127,175,0,225,161,225,161, - 225,3,83,0,225,161,225,3,83,0, - 225,3,83,0,129,0,129,0,127,175, - 0,162,3,77,201,82,0,127,129,0, - 201,82,0,110,2,134,127,129,0,238, - 3,77,0,209,170,0,34,173,0,170, - 0,179,34,173,0,238,3,87,0,201, - 155,238,3,85,0,64,175,0,238,3, - 85,0,127,175,64,175,0,299,128,60, - 0,162,0,216,79,0,31,0,162,117, - 159,0,31,173,0,177,3,0,127,153, - 0,221,3,0,216,58,262,0,162,58, - 0,177,3,296,66,129,0,127,0,0, - 0,0,296,66,129,0,2,149,127,0, - 0,0,0,177,3,45,0,151,0,127, - 28,169,129,0,32,151,0,95,140,32, - 151,0,224,184,129,0,150,32,151,0, - 177,3,51,0,162,3,51,0,162,3, - 63,177,32,36,0,177,32,36,0,21, - 2,134,127,0,162,3,63,177,32,44, - 0,177,32,44,0,162,3,63,177,32, - 47,0,177,32,47,0,162,3,63,177, - 32,37,0,177,32,37,0,221,3,127, - 191,169,129,10,0,127,191,169,129,10, - 0,140,2,0,127,0,221,3,126,176, - 169,129,10,0,176,169,129,10,0,138, - 2,0,127,0,221,3,136,0,221,3, - 140,0,162,58,140,0,257,0,32,0, - 32,143,0,165,0,162,3,0 + 202,3,0,203,0,229,128,60,29,12, + 0,184,129,58,56,0,199,129,0,132, + 184,129,274,56,0,184,129,274,56,0, + 184,129,70,125,58,0,229,128,60,58, + 0,229,128,60,123,58,0,229,128,60, + 126,58,0,271,128,60,125,66,0,271, + 128,60,66,0,184,129,66,0,138,0, + 191,184,129,242,0,140,0,184,129,242, + 0,191,166,129,10,0,166,129,10,0, + 95,140,0,150,0,264,128,145,0,264, + 128,170,0,162,86,0,298,161,300,301, + 3,83,0,127,175,0,300,301,3,83, + 0,129,0,127,175,0,162,3,77,204, + 82,0,127,129,0,204,82,0,110,2, + 134,127,129,0,227,3,77,0,202,167, + 0,34,173,0,167,0,179,34,173,0, + 227,3,87,0,204,156,227,3,85,0, + 64,175,0,227,3,85,0,127,175,64, + 175,0,299,128,60,0,162,0,216,79, + 0,31,0,162,117,159,0,31,173,0, + 177,3,0,127,153,0,221,3,0,216, + 57,261,0,162,57,0,177,3,295,67, + 129,0,127,0,0,0,0,295,67,129, + 0,2,149,127,0,0,0,0,177,3, + 45,0,151,0,127,28,166,129,0,32, + 151,0,95,140,32,151,0,224,184,129, + 0,150,32,151,0,177,3,51,0,162, + 3,51,0,162,3,63,177,30,36,0, + 177,30,36,0,21,2,134,127,0,162, + 3,63,177,30,44,0,177,30,44,0, + 162,3,63,177,30,47,0,177,30,47, + 0,162,3,63,177,30,37,0,177,30, + 37,0,221,3,127,191,166,129,10,0, + 127,191,166,129,10,0,140,2,0,127, + 0,221,3,126,176,166,129,10,0,176, + 166,129,10,0,138,2,0,127,0,221, + 3,136,0,221,3,140,0,162,57,140, + 0,256,0,32,0,32,143,0,165,0, + 162,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2209,37 +2170,37 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeState { public final static char scopeState[] = {0, - 1364,1121,0,1299,1258,1247,0,851,844,0, - 3310,0,4556,4546,4524,0,2509,1306,1757,1136, - 0,1911,1117,0,941,0,3392,3451,0,3226, - 4132,2981,0,2617,2398,0,2988,2982,2821,2758, - 553,3291,3225,3206,3140,3121,3055,3036,2969,2787, - 2723,0,2991,2968,0,798,0,2203,2120,952, - 564,3774,3485,3607,3543,3584,2899,2280,0,3259, - 2793,3774,3468,3021,3485,3155,3126,3508,2566,3089, - 4229,2732,3000,2887,0,4540,4535,4488,4471,4466, - 4453,4405,4239,4397,4392,3443,3413,4375,2933,2751, - 4370,4293,4115,3236,2478,3151,616,0,3774,4298, - 4229,2732,4308,3607,4081,4212,4192,3543,3508,2899, - 4105,571,2887,0,4298,4308,0,4651,4341,4186, - 4126,4563,3841,2728,4540,4535,4097,4488,4471,3589, - 4466,4453,3321,4405,3298,4239,4397,4392,2459,3443, - 3030,1252,3413,4375,646,2933,2388,2751,4370,4293, - 636,4115,3236,2478,567,3151,4091,616,2358,3607, - 4081,4212,4192,3774,2448,2378,3543,3508,2899,769, - 4298,847,4105,4229,715,2732,571,2887,4308,1997, - 2231,2085,1911,1117,2528,4060,4039,2099,2136,2169, - 581,2329,2302,2199,2582,2243,2697,2671,2641,777, - 3751,3728,3705,3518,2909,4018,3997,3976,3955,3934, - 3913,3892,3871,3846,3805,3784,1794,2048,1753,2011, - 1960,1132,1076,1712,1923,1872,1035,806,1671,1630, - 1589,1548,1507,1466,1425,1384,1343,1302,1261,526, - 1835,991,1210,728,1173,674,904,860,948,0, - 526,4091,2358,0,4325,4319,3291,3225,3206,3140, - 3121,3055,3036,2969,2787,2723,3582,2565,2506,3432, - 2421,2362,3391,3356,2811,3315,2226,0,3582,2565, - 2506,3432,2421,2362,3391,3356,2811,3315,2226,4325, - 4319,0 + 2350,1157,0,2935,1159,649,0,2958,2601,0, + 4385,4575,4574,4543,0,2417,3116,2086,605,0, + 3346,3289,3232,3175,3118,3061,3004,2790,2733,2363, + 0,2039,1951,0,1586,0,2900,851,0,3010, + 3364,3005,0,2849,2802,0,2314,1675,1347,2960, + 1897,3346,3289,3232,3175,3118,3061,3004,2790,2733, + 0,2734,2043,0,764,0,1129,1070,942,904, + 3803,2354,3660,3596,3417,2944,3113,0,1416,1375, + 3803,2755,2352,2354,3694,3575,2743,848,3460,4148, + 3351,849,2877,0,4568,4525,4451,4436,4431,4416, + 4407,4512,4370,4361,4503,4460,4341,1298,1169,4318, + 4314,4298,3321,1080,2896,2920,0,3803,4216,4148, + 3351,4274,3660,4110,4189,3242,3596,2743,2944,3071, + 570,2877,0,4216,4274,0,3525,3438,3409,2856, + 3744,3718,3543,4568,4525,2562,4451,4436,3639,4431, + 4416,3386,4407,2431,4512,4370,4361,2542,4503,580, + 2499,4460,4341,774,1298,3184,1169,4318,4314,720, + 4298,3321,1080,664,2896,4140,2920,2337,3660,4110, + 4189,3242,3803,2823,2766,3596,2743,2944,635,4216, + 2374,3071,4148,2239,3351,570,2877,4274,650,2126, + 1025,2039,1951,4120,4089,4068,2140,584,2177,949, + 2310,2251,2206,2969,779,2707,2681,2655,2625,3780, + 3757,3606,2566,2503,4047,4026,4005,3984,3963,3942, + 3921,3900,3875,3834,3813,1835,2089,1794,2052,2001, + 1173,1125,1753,1964,1913,1084,807,1712,1671,1630, + 1589,1548,1507,1466,1425,1384,1343,1302,529,1876, + 1038,1251,730,1214,676,905,861,981,0,529, + 4140,2337,0,4290,4243,3346,3289,3232,3175,3118, + 3061,3004,2790,2733,3634,2549,2486,3520,2423,2341, + 3488,3433,2843,3398,2234,0,3634,2549,2486,3520, + 2423,2341,3488,3433,2843,3398,2234,4290,4243,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2247,59 +2208,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,294,56,59,128,168,188,28,12,57, - 295,57,275,3,266,267,250,268,243,269, - 65,270,271,126,10,129,277,128,3,5, - 126,7,131,176,181,28,32,29,60,123, - 126,125,129,129,29,60,169,233,129,165, - 127,126,125,60,129,32,129,184,169,76, - 128,265,128,187,181,209,276,214,129,6, - 209,126,125,170,58,3,64,66,32,169, - 3,32,63,128,60,128,60,60,70,184, - 184,155,128,127,126,128,184,4,128,60, - 128,184,128,169,28,128,278,72,214,58, - 3,70,69,169,128,128,58,58,128,191, - 128,128,128,229,228,128,128,129,274,132, - 304,129,166,227,56,168,306,128,128,72, - 191,257,191,128,272,125,273,290,170,51, + 0,293,56,59,128,170,188,28,12,58, + 294,58,274,3,265,266,249,267,242,268, + 66,269,270,126,10,129,276,128,3,5, + 126,7,131,176,180,28,30,29,60,123, + 126,125,129,129,29,60,166,233,129,165, + 127,126,125,60,129,30,129,184,166,76, + 128,264,128,187,180,202,275,214,129,6, + 202,126,125,167,57,3,65,67,30,166, + 3,30,63,128,60,128,60,60,70,184, + 184,156,128,127,126,128,184,4,128,60, + 128,184,128,166,28,128,277,72,214,57, + 3,70,64,166,128,128,57,57,128,191, + 128,128,128,229,228,128,128,129,273,132, + 306,129,168,226,56,170,308,128,128,72, + 191,256,191,128,271,125,272,289,167,51, 36,44,47,37,10,136,134,4,3,129, - 45,31,5,25,24,6,8,27,26,140, - 146,148,147,150,149,153,152,156,154,157, - 62,159,293,191,278,60,288,129,289,216, - 159,151,128,60,6,183,214,290,230,231, - 145,232,292,28,10,61,229,229,229,184, - 169,128,308,227,30,129,4,272,70,69, - 128,3,219,218,3,32,32,32,32,129, - 3,7,126,177,162,128,64,66,169,3, - 127,103,120,3,58,90,96,25,24,92, - 91,6,94,93,63,32,88,89,8,98, + 45,32,5,25,24,6,8,27,26,140, + 146,148,147,150,149,152,151,155,153,157, + 62,159,292,191,277,60,287,129,288,216, + 159,154,128,60,6,183,214,289,230,231, + 145,232,291,28,10,61,229,229,229,184, + 166,128,310,226,31,129,4,271,70,64, + 128,3,219,218,3,30,30,30,30,129, + 3,7,126,177,162,128,65,67,166,3, + 127,103,120,3,57,90,96,25,24,92, + 91,6,94,93,63,30,88,89,8,98, 97,100,99,101,113,112,111,110,109,108, - 107,106,105,104,70,117,102,69,279,128, - 69,184,3,264,128,128,155,70,226,209, - 3,128,69,69,63,32,233,233,274,191, - 305,126,72,284,209,69,129,30,309,184, - 214,226,128,3,177,162,177,177,177,177, - 169,221,155,136,127,126,10,129,58,296, + 107,106,105,104,70,117,102,64,278,128, + 64,184,3,263,128,128,156,70,225,202, + 3,128,64,64,63,30,233,233,273,191, + 307,126,72,283,202,64,129,31,311,184, + 214,225,128,3,177,162,177,177,177,177, + 166,221,156,136,127,126,10,129,57,295, 3,191,177,28,129,28,221,162,147,147, - 146,146,146,149,149,149,149,148,148,152, - 150,150,154,153,156,162,157,128,299,81, + 146,146,146,149,149,149,149,148,148,151, + 150,150,153,152,155,162,157,128,299,81, 79,1,162,87,85,83,82,77,84,86, - 80,78,57,76,221,69,303,128,70,70, - 128,214,128,70,70,132,69,72,70,184, + 80,78,58,76,221,64,305,128,70,70, + 128,214,128,70,70,132,64,72,70,184, 129,129,230,128,63,63,63,63,191,176, - 129,169,210,3,297,170,151,129,184,169, - 72,280,119,9,216,72,3,3,3,201, - 3,125,162,125,179,69,222,292,184,184, - 155,230,3,3,3,3,127,126,169,28, - 177,128,128,224,5,28,3,238,170,238, - 300,225,145,77,238,128,128,63,128,155, - 162,162,162,162,3,3,191,155,259,262, - 58,178,4,125,127,95,312,170,155,209, - 155,225,161,128,3,155,280,62,61,222, - 128,221,221,127,128,3,58,162,4,155, - 155,128,70,201,161,225,265,162,3,233, - 128,222,259,221,216,122,225,161,155,313, - 70,128,155,225,69,155 + 129,166,203,3,296,167,154,129,184,166, + 72,279,119,9,216,72,3,3,3,204, + 3,125,162,125,182,64,222,291,184,184, + 156,230,3,3,3,3,127,126,166,28, + 177,128,128,224,5,28,3,227,167,227, + 301,145,77,227,128,128,63,128,156,162, + 162,162,162,3,3,191,156,258,261,57, + 178,4,125,127,95,314,167,156,202,156, + 300,128,3,156,279,62,61,222,128,221, + 221,127,128,3,57,162,4,156,156,128, + 70,204,161,264,162,3,233,128,222,258, + 221,216,122,298,156,315,70,128,156,64 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2489,8 +2449,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym "statement_seq", "condition", "declarator", - "simple_declaration_with_declsp" + - "ec", + "for_init_statement", "function_definition", "declaration_seq", "declaration_specifiers", @@ -2566,8 +2525,8 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final static int ERROR_SYMBOL = 73, - SCOPE_UBOUND = 119, - SCOPE_SIZE = 120, + SCOPE_UBOUND = 116, + SCOPE_SIZE = 117, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -2576,20 +2535,20 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 526, + NUM_STATES = 520, NT_OFFSET = 124, - LA_STATE_OFFSET = 5668, + LA_STATE_OFFSET = 5678, MAX_LA = 2147483647, - NUM_RULES = 525, - NUM_NONTERMINALS = 192, - NUM_SYMBOLS = 316, + NUM_RULES = 528, + NUM_NONTERMINALS = 194, + NUM_SYMBOLS = 318, SEGMENT_SIZE = 8192, - START_STATE = 2226, + START_STATE = 2234, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 121, EOLT_SYMBOL = 121, - ACCEPT_ACTION = 4762, - ERROR_ACTION = 5143; + ACCEPT_ACTION = 4769, + ERROR_ACTION = 5150; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java index f9126b33f56..68375ba2fdc 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java @@ -27,12 +27,12 @@ public interface CPPParsersym { TK_const_cast = 36, TK_continue = 80, TK_default = 81, - TK_delete = 64, + TK_delete = 65, TK_do = 82, TK_double = 15, TK_dynamic_cast = 37, TK_else = 122, - TK_enum = 65, + TK_enum = 66, TK_explicit = 38, TK_export = 74, TK_extern = 12, @@ -46,8 +46,8 @@ public interface CPPParsersym { TK_int = 17, TK_long = 18, TK_mutable = 42, - TK_namespace = 57, - TK_new = 66, + TK_namespace = 58, + TK_new = 67, TK_operator = 7, TK_private = 114, TK_protected = 115, @@ -60,7 +60,7 @@ public interface CPPParsersym { TK_sizeof = 45, TK_static = 46, TK_static_cast = 47, - TK_struct = 67, + TK_struct = 68, TK_switch = 87, TK_template = 28, TK_this = 48, @@ -70,10 +70,10 @@ public interface CPPParsersym { TK_typedef = 50, TK_typeid = 51, TK_typename = 10, - TK_union = 68, + TK_union = 69, TK_unsigned = 21, TK_using = 56, - TK_virtual = 30, + TK_virtual = 31, TK_void = 22, TK_volatile = 34, TK_wchar_t = 23, @@ -86,7 +86,7 @@ public interface CPPParsersym { TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 124, - TK_LeftBracket = 58, + TK_LeftBracket = 57, TK_LeftParen = 3, TK_LeftBrace = 60, TK_Dot = 120, @@ -100,12 +100,12 @@ public interface CPPParsersym { TK_Plus = 24, TK_Minus = 25, TK_Tilde = 5, - TK_Bang = 31, + TK_Bang = 32, TK_Slash = 91, TK_Percent = 92, TK_RightShift = 88, TK_LeftShift = 89, - TK_LT = 32, + TK_LT = 30, TK_GT = 63, TK_LE = 93, TK_GE = 94, @@ -130,7 +130,7 @@ public interface CPPParsersym { TK_AndAssign = 111, TK_CaretAssign = 112, TK_OrAssign = 113, - TK_Comma = 69, + TK_Comma = 64, TK_zero = 55, TK_RightBracket = 118, TK_RightParen = 75, @@ -171,9 +171,9 @@ public interface CPPParsersym { "MinusMinus", "template", "stringlit", + "LT", "virtual", "Bang", - "LT", "const", "volatile", "auto", @@ -198,19 +198,19 @@ public interface CPPParsersym { "charconst", "zero", "using", - "namespace", "LeftBracket", + "namespace", "asm", "LeftBrace", "class", "throw", "GT", + "Comma", "delete", "enum", "new", "struct", "union", - "Comma", "Assign", "RightBrace", "Colon", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java index 32dbd64645d..f9eb03dc26e 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java @@ -1141,1108 +1141,1115 @@ public CPPSizeofExpressionParser(String[] mapFrom) { // constructor } // - // Rule 194: iteration_statement ::= while ( condition ) statement + // Rule 195: condition_opt ::= $Empty // - case 194: { action.builder. + case 195: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 196: iteration_statement ::= while ( condition ) statement + // + case 196: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 195: iteration_statement ::= do statement while ( expression ) ; + // Rule 197: iteration_statement ::= do statement while ( expression ) ; // - case 195: { action.builder. + case 197: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 196: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - case 196: { action.builder. - consumeStatementForLoop(); break; - } - - // - // Rule 197: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement - // - case 197: { action.builder. - consumeStatementForLoop(); break; - } - - // - // Rule 198: jump_statement ::= break ; + // Rule 198: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // case 198: { action.builder. + consumeStatementForLoop(); break; + } + + // + // Rule 200: for_init_statement ::= simple_declaration_with_declspec + // + case 200: { action.builder. + consumeStatementDeclaration(); break; + } + + // + // Rule 201: jump_statement ::= break ; + // + case 201: { action.builder. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= continue ; + // Rule 202: jump_statement ::= continue ; // - case 199: { action.builder. + case 202: { action.builder. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return expression ; + // Rule 203: jump_statement ::= return expression ; // - case 200: { action.builder. + case 203: { action.builder. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= return ; + // Rule 204: jump_statement ::= return ; // - case 201: { action.builder. + case 204: { action.builder. consumeStatementReturn(false); break; } // - // Rule 202: jump_statement ::= goto identifier_token ; + // Rule 205: jump_statement ::= goto identifier_token ; // - case 202: { action.builder. + case 205: { action.builder. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= block_declaration + // Rule 206: declaration_statement ::= block_declaration // - case 203: { action.builder. + case 206: { action.builder. + consumeStatementDeclarationWithDisambiguation(); break; + } + + // + // Rule 207: declaration_statement ::= function_definition + // + case 207: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 204: declaration_statement ::= function_definition + // Rule 224: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; // - case 204: { action.builder. - consumeStatementDeclaration(); break; - } - - // - // Rule 221: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; - // - case 221: { action.builder. + case 224: { action.builder. consumeDeclarationSimple(true, true); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; + // Rule 225: simple_declaration_with_declspec ::= declaration_specifiers init_declarator_list_opt ; // - case 222: { action.builder. + case 225: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 223: declaration_specifiers ::= simple_declaration_specifiers + // Rule 226: declaration_specifiers ::= simple_declaration_specifiers // - case 223: { action.builder. + case 226: { action.builder. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 224: declaration_specifiers ::= class_declaration_specifiers - // - case 224: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 225: declaration_specifiers ::= elaborated_declaration_specifiers - // - case 225: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 226: declaration_specifiers ::= enum_declaration_specifiers - // - case 226: { action.builder. - consumeDeclarationSpecifiersComposite(); break; - } - - // - // Rule 227: declaration_specifiers ::= type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= class_declaration_specifiers // case 227: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 228: declaration_specifiers ::= elaborated_declaration_specifiers + // + case 228: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 229: declaration_specifiers ::= enum_declaration_specifiers + // + case 229: { action.builder. + consumeDeclarationSpecifiersComposite(); break; + } + + // + // Rule 230: declaration_specifiers ::= type_name_declaration_specifiers + // + case 230: { action.builder. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 228: declaration_specifiers_opt ::= $Empty + // Rule 231: declaration_specifiers_opt ::= $Empty // - case 228: { action.builder. + case 231: { action.builder. consumeEmpty(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 236: no_type_declaration_specifier ::= friend // - case 233: { action.builder. + case 236: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 237: no_type_declaration_specifier ::= typedef // - case 234: { action.builder. + case 237: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 254: storage_class_specifier ::= auto - // - case 254: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 255: storage_class_specifier ::= register - // - case 255: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 256: storage_class_specifier ::= static - // - case 256: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= auto // case 257: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= register // case 258: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= static // case 259: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: storage_class_specifier ::= extern // case 260: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: storage_class_specifier ::= mutable // case 261: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 262: simple_type_specifier ::= char + // Rule 262: function_specifier ::= inline // case 262: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 263: simple_type_specifier ::= wchar_t + // Rule 263: function_specifier ::= virtual // case 263: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 264: simple_type_specifier ::= bool + // Rule 264: function_specifier ::= explicit // case 264: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 265: simple_type_specifier ::= short + // Rule 265: simple_type_specifier ::= char // case 265: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 266: simple_type_specifier ::= int + // Rule 266: simple_type_specifier ::= wchar_t // case 266: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 267: simple_type_specifier ::= long + // Rule 267: simple_type_specifier ::= bool // case 267: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 268: simple_type_specifier ::= signed + // Rule 268: simple_type_specifier ::= short // case 268: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 269: simple_type_specifier ::= unsigned + // Rule 269: simple_type_specifier ::= int // case 269: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 270: simple_type_specifier ::= float + // Rule 270: simple_type_specifier ::= long // case 270: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 271: simple_type_specifier ::= double + // Rule 271: simple_type_specifier ::= signed // case 271: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 272: simple_type_specifier ::= void + // Rule 272: simple_type_specifier ::= unsigned // case 272: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 273: simple_type_specifier ::= float + // + case 273: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 274: simple_type_specifier ::= double + // + case 274: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 275: simple_type_specifier ::= void // case 275: { action.builder. - consumeQualifiedId(false); break; + consumeDeclSpecToken(); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name - // - case 276: { action.builder. - consumeQualifiedId(false); break; - } - - // - // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name - // - case 277: { action.builder. - consumeQualifiedId(false); break; - } - - // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 278: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 279: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // + case 279: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // + case 280: { action.builder. + consumeQualifiedId(false); break; + } + + // + // Rule 281: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // + case 281: { action.builder. consumeQualifiedId(true); break; } // - // Rule 279: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name + // Rule 282: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name // - case 279: { action.builder. + case 282: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 283: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 280: { action.builder. + case 283: { action.builder. consumeTypeSpecifierElaborated(true); break; } // - // Rule 281: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name + // Rule 284: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name // - case 281: { action.builder. + case 284: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 282: enum_specifier ::= enum { enumerator_list_opt } + // Rule 285: enum_specifier ::= enum { enumerator_list_opt } // - case 282: { action.builder. + case 285: { action.builder. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 283: enum_specifier ::= enum identifier_token { enumerator_list_opt } + // Rule 286: enum_specifier ::= enum identifier_token { enumerator_list_opt } // - case 283: { action.builder. + case 286: { action.builder. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 288: enumerator_definition ::= identifier_token + // Rule 291: enumerator_definition ::= identifier_token // - case 288: { action.builder. + case 291: { action.builder. consumeEnumerator(false); break; } // - // Rule 289: enumerator_definition ::= identifier_token = constant_expression + // Rule 292: enumerator_definition ::= identifier_token = constant_expression // - case 289: { action.builder. + case 292: { action.builder. consumeEnumerator(true); break; } // - // Rule 295: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } + // Rule 298: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } // - case 295: { action.builder. + case 298: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 296: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } + // Rule 299: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } // - case 296: { action.builder. + case 299: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 297: unnamed_namespace_definition ::= namespace { declaration_seq_opt } + // Rule 300: unnamed_namespace_definition ::= namespace { declaration_seq_opt } // - case 297: { action.builder. + case 300: { action.builder. consumeNamespaceDefinition(false); break; } // - // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 298: { action.builder. + case 301: { action.builder. consumeNamespaceAliasDefinition(); break; } // - // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 299: { action.builder. + case 302: { action.builder. consumeUsingDeclaration(); break; } // - // Rule 300: typename_opt ::= typename + // Rule 303: typename_opt ::= typename // - case 300: { action.builder. + case 303: { action.builder. consumePlaceHolder(); break; } // - // Rule 301: typename_opt ::= $Empty + // Rule 304: typename_opt ::= $Empty // - case 301: { action.builder. + case 304: { action.builder. consumeEmpty(); break; } // - // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 302: { action.builder. + case 305: { action.builder. consumeUsingDirective(); break; } // - // Rule 303: asm_definition ::= asm ( stringlit ) ; + // Rule 306: asm_definition ::= asm ( stringlit ) ; // - case 303: { action.builder. + case 306: { action.builder. consumeDeclarationASM(); break; } // - // Rule 304: linkage_specification ::= extern stringlit { declaration_seq_opt } + // Rule 307: linkage_specification ::= extern stringlit { declaration_seq_opt } // - case 304: { action.builder. + case 307: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 305: linkage_specification ::= extern stringlit declaration + // Rule 308: linkage_specification ::= extern stringlit declaration // - case 305: { action.builder. + case 308: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 310: init_declarator_complete ::= init_declarator + // Rule 313: init_declarator_complete ::= init_declarator // - case 310: { action.builder. + case 313: { action.builder. consumeInitDeclaratorComplete(); break; } // - // Rule 312: init_declarator ::= declarator initializer + // Rule 315: init_declarator ::= declarator initializer // - case 312: { action.builder. + case 315: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 314: declarator ::= ptr_operator_seq direct_declarator + // Rule 317: declarator ::= ptr_operator_seq direct_declarator // - case 314: { action.builder. + case 317: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 316: function_declarator ::= ptr_operator_seq direct_declarator + // Rule 319: function_declarator ::= ptr_operator_seq direct_declarator // - case 316: { action.builder. + case 319: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 320: basic_direct_declarator ::= declarator_id_name + // Rule 323: basic_direct_declarator ::= declarator_id_name // - case 320: { action.builder. + case 323: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 321: basic_direct_declarator ::= ( declarator ) + // Rule 324: basic_direct_declarator ::= ( declarator ) // - case 321: { action.builder. + case 324: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 322: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 325: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 322: { action.builder. + case 325: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier // - case 323: { action.builder. + case 326: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 324: { action.builder. + case 327: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 325: array_modifier ::= [ constant_expression ] + // Rule 328: array_modifier ::= [ constant_expression ] // - case 325: { action.builder. + case 328: { action.builder. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 326: array_modifier ::= [ ] + // Rule 329: array_modifier ::= [ ] // - case 326: { action.builder. + case 329: { action.builder. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 327: ptr_operator ::= * cv_qualifier_seq_opt + // Rule 330: ptr_operator ::= * cv_qualifier_seq_opt // - case 327: { action.builder. + case 330: { action.builder. consumePointer(); break; } // - // Rule 328: ptr_operator ::= & + // Rule 331: ptr_operator ::= & // - case 328: { action.builder. + case 331: { action.builder. consumeReferenceOperator(); break; } // - // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt + // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt // - case 329: { action.builder. + case 332: { action.builder. consumePointerToMember(); break; } // - // Rule 335: cv_qualifier ::= const - // - case 335: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 336: cv_qualifier ::= volatile - // - case 336: { action.builder. - consumeDeclSpecToken(); break; - } - - // - // Rule 338: declarator_id_name ::= nested_name_specifier template_opt unqualified_id_name + // Rule 338: cv_qualifier ::= const // case 338: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 339: cv_qualifier ::= volatile + // + case 339: { action.builder. + consumeDeclSpecToken(); break; + } + + // + // Rule 341: declarator_id_name ::= nested_name_specifier template_opt unqualified_id_name + // + case 341: { action.builder. consumeQualifiedId(true); break; } // - // Rule 339: type_id ::= type_specifier_seq + // Rule 342: type_id ::= type_specifier_seq // - case 339: { action.builder. + case 342: { action.builder. consumeTypeId(false); break; } // - // Rule 340: type_id ::= type_specifier_seq abstract_declarator + // Rule 343: type_id ::= type_specifier_seq abstract_declarator // - case 340: { action.builder. + case 343: { action.builder. consumeTypeId(true); break; } // - // Rule 343: abstract_declarator ::= ptr_operator_seq + // Rule 346: abstract_declarator ::= ptr_operator_seq // - case 343: { action.builder. + case 346: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 344: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator + // Rule 347: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator // - case 344: { action.builder. + case 347: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 348: { action.builder. + case 351: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 349: array_direct_abstract_declarator ::= array_modifier + // Rule 352: array_direct_abstract_declarator ::= array_modifier // - case 349: { action.builder. + case 352: { action.builder. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 350: { action.builder. + case 353: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 351: { action.builder. + case 354: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 352: { action.builder. + case 355: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 353: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 356: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 353: { action.builder. + case 356: { action.builder. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 354: { action.builder. + case 357: { action.builder. consumePlaceHolder(); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 355: { action.builder. + case 358: { action.builder. consumeEmpty(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 356: { action.builder. + case 359: { action.builder. consumePlaceHolder(); break; } // - // Rule 362: abstract_declarator_opt ::= $Empty + // Rule 365: abstract_declarator_opt ::= $Empty // - case 362: { action.builder. + case 365: { action.builder. consumeEmpty(); break; } // - // Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 363: { action.builder. + case 366: { action.builder. consumeParameterDeclaration(); break; } // - // Rule 364: parameter_declaration ::= declaration_specifiers + // Rule 367: parameter_declaration ::= declaration_specifiers // - case 364: { action.builder. + case 367: { action.builder. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 366: parameter_init_declarator ::= declarator = parameter_initializer - // - case 366: { action.builder. - consumeDeclaratorWithInitializer(true); break; - } - - // - // Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer - // - case 368: { action.builder. - consumeDeclaratorWithInitializer(true); break; - } - - // - // Rule 369: parameter_init_declarator ::= = parameter_initializer + // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer // case 369: { action.builder. + consumeDeclaratorWithInitializer(true); break; + } + + // + // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // + case 371: { action.builder. + consumeDeclaratorWithInitializer(true); break; + } + + // + // Rule 372: parameter_init_declarator ::= = parameter_initializer + // + case 372: { action.builder. consumeDeclaratorWithInitializer(false); break; } // - // Rule 370: parameter_initializer ::= assignment_expression + // Rule 373: parameter_initializer ::= assignment_expression // - case 370: { action.builder. + case 373: { action.builder. consumeInitializer(); break; } // - // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body + // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator ctor_initializer_list_opt function_body // - case 371: { action.builder. + case 374: { action.builder. consumeFunctionDefinition(false); break; } // - // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq + // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try ctor_initializer_list_opt function_body handler_seq // - case 372: { action.builder. + case 375: { action.builder. consumeFunctionDefinition(true); break; } // - // Rule 375: initializer ::= ( expression_list ) + // Rule 378: initializer ::= ( expression_list ) // - case 375: { action.builder. + case 378: { action.builder. consumeInitializerConstructor(); break; } // - // Rule 376: initializer_clause ::= assignment_expression + // Rule 379: initializer_clause ::= assignment_expression // - case 376: { action.builder. + case 379: { action.builder. consumeInitializer(); break; } // - // Rule 377: initializer_clause ::= { initializer_list , } + // Rule 380: initializer_clause ::= { initializer_list , } // - case 377: { action.builder. + case 380: { action.builder. consumeInitializerList(); break; } // - // Rule 378: initializer_clause ::= { initializer_list } + // Rule 381: initializer_clause ::= { initializer_list } // - case 378: { action.builder. + case 381: { action.builder. consumeInitializerList(); break; } // - // Rule 379: initializer_clause ::= { } + // Rule 382: initializer_clause ::= { } // - case 379: { action.builder. + case 382: { action.builder. consumeInitializerList(); break; } // - // Rule 384: class_specifier ::= class_head { member_declaration_list_opt } + // Rule 387: class_specifier ::= class_head { member_declaration_list_opt } // - case 384: { action.builder. + case 387: { action.builder. consumeClassSpecifier(); break; } // - // Rule 385: class_head ::= class_keyword identifier_name_opt base_clause_opt - // - case 385: { action.builder. - consumeClassHead(false); break; - } - - // - // Rule 386: class_head ::= class_keyword template_id_name base_clause_opt - // - case 386: { action.builder. - consumeClassHead(false); break; - } - - // - // Rule 387: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt - // - case 387: { action.builder. - consumeClassHead(true); break; - } - - // - // Rule 388: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt + // Rule 388: class_head ::= class_keyword identifier_name_opt base_clause_opt // case 388: { action.builder. + consumeClassHead(false); break; + } + + // + // Rule 389: class_head ::= class_keyword template_id_name base_clause_opt + // + case 389: { action.builder. + consumeClassHead(false); break; + } + + // + // Rule 390: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt + // + case 390: { action.builder. consumeClassHead(true); break; } // - // Rule 390: identifier_name_opt ::= $Empty + // Rule 391: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt // - case 390: { action.builder. + case 391: { action.builder. + consumeClassHead(true); break; + } + + // + // Rule 393: identifier_name_opt ::= $Empty + // + case 393: { action.builder. consumeEmpty(); break; } // - // Rule 394: visibility_label ::= access_specifier_keyword : + // Rule 397: visibility_label ::= access_specifier_keyword : // - case 394: { action.builder. + case 397: { action.builder. consumeVisibilityLabel(); break; } // - // Rule 395: member_declaration ::= declaration_specifiers_opt member_declarator_list ; + // Rule 398: member_declaration ::= declaration_specifiers_opt member_declarator_list ; // - case 395: { action.builder. + case 398: { action.builder. consumeDeclarationSimple(true, true); break; } // - // Rule 396: member_declaration ::= declaration_specifiers_opt ; + // Rule 399: member_declaration ::= declaration_specifiers_opt ; // - case 396: { action.builder. + case 399: { action.builder. consumeDeclarationSimple(false, false); break; } // - // Rule 399: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 402: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 399: { action.builder. + case 402: { action.builder. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 403: member_declaration ::= ERROR_TOKEN + // Rule 406: member_declaration ::= ERROR_TOKEN // - case 403: { action.builder. + case 406: { action.builder. consumeDeclarationProblem(); break; } // - // Rule 411: member_declarator ::= declarator constant_initializer + // Rule 414: member_declarator ::= declarator constant_initializer // - case 411: { action.builder. + case 414: { action.builder. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 412: member_declarator ::= bit_field_declarator : constant_expression + // Rule 415: member_declarator ::= bit_field_declarator : constant_expression // - case 412: { action.builder. + case 415: { action.builder. consumeBitField(true); break; } // - // Rule 413: member_declarator ::= : constant_expression + // Rule 416: member_declarator ::= : constant_expression // - case 413: { action.builder. + case 416: { action.builder. consumeBitField(false); break; } // - // Rule 414: bit_field_declarator ::= identifier_name + // Rule 417: bit_field_declarator ::= identifier_name // - case 414: { action.builder. + case 417: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 415: constant_initializer ::= = constant_expression + // Rule 418: constant_initializer ::= = constant_expression // - case 415: { action.builder. + case 418: { action.builder. consumeInitializer(); break; } // - // Rule 421: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 424: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 421: { action.builder. + case 424: { action.builder. consumeBaseSpecifier(false, false); break; } // - // Rule 422: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 425: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 422: { action.builder. + case 425: { action.builder. consumeBaseSpecifier(true, true); break; } // - // Rule 423: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 426: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 423: { action.builder. + case 426: { action.builder. consumeBaseSpecifier(true, true); break; } // - // Rule 424: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 427: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 424: { action.builder. + case 427: { action.builder. consumeBaseSpecifier(true, false); break; } // - // Rule 425: access_specifier_keyword ::= private + // Rule 428: access_specifier_keyword ::= private // - case 425: { action.builder. + case 428: { action.builder. consumeAccessKeywordToken(); break; } // - // Rule 426: access_specifier_keyword ::= protected - // - case 426: { action.builder. - consumeAccessKeywordToken(); break; - } - - // - // Rule 427: access_specifier_keyword ::= public - // - case 427: { action.builder. - consumeAccessKeywordToken(); break; - } - - // - // Rule 429: access_specifier_keyword_opt ::= $Empty + // Rule 429: access_specifier_keyword ::= protected // case 429: { action.builder. + consumeAccessKeywordToken(); break; + } + + // + // Rule 430: access_specifier_keyword ::= public + // + case 430: { action.builder. + consumeAccessKeywordToken(); break; + } + + // + // Rule 432: access_specifier_keyword_opt ::= $Empty + // + case 432: { action.builder. consumeEmpty(); break; } // - // Rule 430: conversion_function_id_name ::= operator conversion_type_id + // Rule 433: conversion_function_id_name ::= operator conversion_type_id // - case 430: { action.builder. + case 433: { action.builder. consumeConversionName(); break; } // - // Rule 431: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 434: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 431: { action.builder. + case 434: { action.builder. consumeTypeId(true); break; } // - // Rule 432: conversion_type_id ::= type_specifier_seq + // Rule 435: conversion_type_id ::= type_specifier_seq // - case 432: { action.builder. + case 435: { action.builder. consumeTypeId(false); break; } // - // Rule 433: conversion_declarator ::= ptr_operator_seq + // Rule 436: conversion_declarator ::= ptr_operator_seq // - case 433: { action.builder. + case 436: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 439: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 442: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 439: { action.builder. + case 442: { action.builder. consumeConstructorChainInitializer(); break; } // - // Rule 440: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 443: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 440: { action.builder. + case 443: { action.builder. consumeQualifiedId(false); break; } // - // Rule 443: operator_function_id_name ::= operator_id_name < template_argument_list_opt > + // Rule 446: operator_function_id_name ::= operator_id_name < template_argument_list_opt > // - case 443: { action.builder. + case 446: { action.builder. consumeTemplateId(); break; } // - // Rule 444: operator_id_name ::= operator overloadable_operator + // Rule 447: operator_id_name ::= operator overloadable_operator // - case 444: { action.builder. + case 447: { action.builder. consumeOperatorName(); break; } // - // Rule 487: template_declaration ::= export_opt template < template_parameter_list > declaration + // Rule 490: template_declaration ::= export_opt template < template_parameter_list > declaration // - case 487: { action.builder. + case 490: { action.builder. consumeTemplateDeclaration(); break; } // - // Rule 488: export_opt ::= export + // Rule 491: export_opt ::= export // - case 488: { action.builder. + case 491: { action.builder. consumePlaceHolder(); break; } // - // Rule 489: export_opt ::= $Empty + // Rule 492: export_opt ::= $Empty // - case 489: { action.builder. + case 492: { action.builder. consumeEmpty(); break; } // - // Rule 493: template_parameter ::= parameter_declaration + // Rule 496: template_parameter ::= parameter_declaration // - case 493: { action.builder. + case 496: { action.builder. consumeTemplateParamterDeclaration(); break; } // - // Rule 494: type_parameter ::= class identifier_name_opt - // - case 494: { action.builder. - consumeSimpleTypeTemplateParameter(false); break; - } - - // - // Rule 495: type_parameter ::= class identifier_name_opt = type_id - // - case 495: { action.builder. - consumeSimpleTypeTemplateParameter(true); break; - } - - // - // Rule 496: type_parameter ::= typename identifier_name_opt - // - case 496: { action.builder. - consumeSimpleTypeTemplateParameter(false); break; - } - - // - // Rule 497: type_parameter ::= typename identifier_name_opt = type_id + // Rule 497: type_parameter ::= class identifier_name_opt // case 497: { action.builder. + consumeSimpleTypeTemplateParameter(false); break; + } + + // + // Rule 498: type_parameter ::= class identifier_name_opt = type_id + // + case 498: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 498: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // Rule 499: type_parameter ::= typename identifier_name_opt // - case 498: { action.builder. + case 499: { action.builder. + consumeSimpleTypeTemplateParameter(false); break; + } + + // + // Rule 500: type_parameter ::= typename identifier_name_opt = type_id + // + case 500: { action.builder. + consumeSimpleTypeTemplateParameter(true); break; + } + + // + // Rule 501: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // + case 501: { action.builder. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 499: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression + // Rule 502: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression // - case 499: { action.builder. + case 502: { action.builder. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 500: template_id_name ::= identifier_name < template_argument_list_opt > + // Rule 503: template_id_name ::= identifier_name < template_argument_list_opt > // - case 500: { action.builder. + case 503: { action.builder. consumeTemplateId(); break; } // - // Rule 508: explicit_instantiation ::= template declaration + // Rule 511: explicit_instantiation ::= template declaration // - case 508: { action.builder. + case 511: { action.builder. consumeTemplateExplicitInstantiation(); break; } // - // Rule 509: explicit_specialization ::= template < > declaration + // Rule 512: explicit_specialization ::= template < > declaration // - case 509: { action.builder. + case 512: { action.builder. consumeTemplateExplicitSpecialization(); break; } // - // Rule 510: try_block ::= try compound_statement handler_seq + // Rule 513: try_block ::= try compound_statement handler_seq // - case 510: { action.builder. + case 513: { action.builder. consumeStatementTryBlock(); break; } // - // Rule 513: handler ::= catch ( exception_declaration ) compound_statement + // Rule 516: handler ::= catch ( exception_declaration ) compound_statement // - case 513: { action.builder. + case 516: { action.builder. consumeStatementCatchHandler(false); break; } // - // Rule 514: handler ::= catch ( ... ) compound_statement + // Rule 517: handler ::= catch ( ... ) compound_statement // - case 514: { action.builder. + case 517: { action.builder. consumeStatementCatchHandler(true); break; } // - // Rule 515: exception_declaration ::= type_specifier_seq declarator + // Rule 518: exception_declaration ::= type_specifier_seq declarator // - case 515: { action.builder. + case 518: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 516: exception_declaration ::= type_specifier_seq abstract_declarator + // Rule 519: exception_declaration ::= type_specifier_seq abstract_declarator // - case 516: { action.builder. + case 519: { action.builder. consumeDeclarationSimple(true, false); break; } // - // Rule 517: exception_declaration ::= type_specifier_seq + // Rule 520: exception_declaration ::= type_specifier_seq // - case 517: { action.builder. + case 520: { action.builder. consumeDeclarationSimple(false, false); break; } // - // Rule 525: no_sizeof_type_name_start ::= ERROR_TOKEN + // Rule 528: no_sizeof_type_name_start ::= ERROR_TOKEN // - case 525: { action.builder. + case 528: { action.builder. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java index 101025ded32..68615ec06a3 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java @@ -56,451 +56,455 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 2,1,3,1,0,1,0,1,1,0, 1,1,1,1,1,1,1,1,1,3, 3,2,2,1,4,2,1,2,5,7, - 5,1,4,5,7,9,8,2,2,3, - 2,3,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,0,1,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, + 5,1,4,1,0,5,7,8,1,1, + 2,2,3,2,3,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3,4,4,5,4,5, - 4,5,6,1,3,1,0,1,3,1, - 1,1,1,1,6,6,5,7,6,1, - 0,6,5,6,4,1,3,1,0,1, - 1,2,1,3,1,3,1,1,1,1, - 3,9,2,2,3,2,3,1,5,1, - 2,2,1,0,1,1,1,4,1,2, - 1,1,2,3,1,1,1,3,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,5,4,3,1, - 3,1,1,5,4,4,5,5,1,0, - 1,1,1,2,4,2,2,1,5,1, - 1,1,1,1,2,1,0,1,3,1, - 2,3,2,1,2,2,1,0,1,3, - 3,5,5,4,1,1,1,1,0,2, - 2,1,2,2,1,0,1,3,4,3, - 1,1,5,2,1,1,3,3,1,1, + 2,1,0,4,4,2,2,2,2,2, + 0,1,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,3,4,4, + 5,4,5,4,5,6,1,3,1,0, + 1,3,1,1,1,1,1,6,6,5, + 7,6,1,0,6,5,6,4,1,3, + 1,0,1,1,2,1,3,1,3,1, + 1,1,1,3,9,2,2,3,2,3, + 1,5,1,2,2,1,0,1,1,1, + 4,1,2,1,1,2,3,1,1,1, + 3,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,5, + 4,3,1,3,1,1,5,4,4,5, + 5,1,0,1,1,1,2,4,2,2, + 1,5,1,1,1,1,1,2,1,0, + 1,3,1,2,3,2,1,2,2,1, + 0,1,3,3,5,5,4,1,1,1, + 1,0,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,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,1,2,4,4, - 1,2,5,5,3,3,1,4,3,1, - 0,1,3,1,1,-61,0,0,0,-51, + 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,1, + 2,4,4,1,2,5,5,3,3,1, + 4,3,1,0,1,3,1,1,-61,0, + 0,0,-2,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-10,0,0, - 0,0,0,0,0,0,0,0,-206,0, - 0,0,0,-133,0,0,-318,0,0,0, - -2,0,0,0,0,0,-175,0,0,-105, + -4,0,0,0,0,0,0,-51,0,0, + 0,0,0,0,-175,0,0,0,0,-318, + 0,0,0,-262,0,0,0,0,0,-232, + 0,0,-105,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-52,0,0,0,0,0, + 0,-58,0,0,0,0,0,0,-63,-330, + -227,0,0,0,0,0,-5,0,0,-6, + 0,0,-480,0,0,0,-355,0,0,-56, + 0,0,0,0,0,0,0,0,-7,-70, + 0,0,0,0,0,0,0,0,0,0, + 0,-8,0,0,0,0,0,-9,0,0, + 0,0,0,0,-113,0,0,0,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,0,0,0,0,-368,0,0,0,0, - -48,0,0,0,0,0,-338,0,0,0, - -52,0,0,-243,-355,0,0,-413,0,0, - 0,0,0,0,0,-417,0,-145,0,0, + 0,0,0,-47,0,0,0,0,0,0, + -10,-114,-144,0,0,0,0,0,-71,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-126,0,-128,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-113,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-11,0, + 0,0,-121,0,0,0,0,0,0,0, + 0,0,-111,-511,0,0,0,0,0,0, 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,-5,-49,0,0,-283, - 0,0,0,0,-240,0,0,-6,0,-302, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-128,0,0,0,0,0,0, + 0,0,0,0,0,-221,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -7,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-126,0,0, - 0,0,-143,0,0,0,0,-124,0,0, - 0,0,0,0,-179,0,0,0,0,0, - 0,0,-8,-221,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,-12, + 0,-145,0,0,0,-337,0,0,0,0, + 0,0,0,0,-14,0,-509,0,0,0, + -27,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-28,0, + 0,0,0,0,0,-29,0,0,0,0, + 0,0,0,-413,0,0,0,-81,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,-306,0,0,0, - 0,-47,0,0,-223,0,-9,0,-337,0, - -70,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-512,0,0,0,0,0, + 0,0,0,0,-517,0,0,0,-30,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-31,0,0,0, + 0,0,0,-142,0,0,0,0,0,0, + -397,0,0,0,0,-148,0,0,0,-59, + 0,0,0,0,0,0,0,-49,-306,-32, + 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,0,0,0, + 0,0,-229,0,0,0,-48,0,0,-127, + 0,-33,0,0,-143,0,0,0,0,-124, + 0,0,0,0,0,0,-146,0,0,0, + -17,0,0,0,-275,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,-11,0,0, - 0,0,0,0,0,-522,0,0,0,-213, + 0,0,0,0,0,0,0,-363,0,0, + 0,0,0,0,0,-312,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,-206,0,0,0,0,0, + 0,0,0,0,0,0,-313,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-35,0, + 0,0,0,0,0,-36,0,0,0,-380, + 0,0,-37,0,0,0,0,0,-417,0, + -472,0,0,0,-133,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-213,0,0,0,0,0,0,0, + 0,0,0,-55,0,0,0,0,0,0, + 0,-38,0,0,0,-39,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-134,0,0,0,0,0,0, + 0,0,0,0,-181,0,0,-140,0,0, + 0,0,-40,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-223,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-182, + -53,0,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,-54,0,0,0,-244,0, + 0,-57,0,0,0,0,-94,0,0,0, + -150,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-65,0, + 0,0,0,0,0,-66,0,0,0,-290, + 0,0,0,0,0,0,0,-95,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-68, + 0,0,0,0,0,0,-69,0,0,0, + 0,0,0,-368,0,0,0,0,-96,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -287,0,0,0,0,0,0,-184,0,0, + 0,0,0,0,-369,0,0,0,0,-97, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-347,0,0,0,0,0,0,-186,0, + 0,0,0,0,0,-481,0,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,0,0,0,0,0,-107, + 0,0,0,-179,0,0,-108,-398,0,0, + 0,-99,0,0,0,-278,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -418,0,0,0,0,0,0,0,-109,-279, + 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,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-310, + 0,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,0,0,0, + 0,0,-452,0,0,0,-138,0,0,-110, + -117,0,0,0,-102,0,0,0,-135,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-136,0,0,0,-130,0,0, + -432,-137,0,0,0,-103,0,0,0,-265, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-151,0,0, + 0,0,0,0,-243,0,0,0,0,0, + 0,-228,0,0,0,0,-131,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-152,0, + 0,0,0,0,0,-447,0,0,0,-153, + 0,0,-154,-214,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-3,0,0,0, + 0,-155,0,0,-326,0,0,0,-156,0, + 0,0,0,0,-504,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-157,0,0,0, + 0,0,0,-196,0,0,0,0,0,0, + 0,-158,-106,0,0,-309,0,0,0,-112, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-121, - 0,0,0,0,0,0,0,-72,-259,0, - -12,0,-275,0,0,0,0,0,0,0, + 0,0,0,0,0,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,0,0,0,0,0, - 0,0,0,0,0,-354,0,0,0,0, - 0,0,0,-146,0,0,0,-312,0,0, + -189,0,0,0,0,0,0,-345,0,0, + 0,-159,-299,0,0,0,0,0,-324,-342, + 0,0,0,-335,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-111, - 0,0,0,0,-14,0,0,0,0,0, - -27,-55,0,0,-287,0,0,0,-452,0, - -15,0,0,0,0,0,0,0,-63,-313, - 0,0,0,-58,0,0,0,0,0,0, + 0,0,0,0,0,-149,0,0,0,0, + 0,0,0,0,0,0,-198,0,0,-358, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-138,0,0,0,0,0,0,0, - -174,0,0,0,-473,0,0,0,-59,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-28,0,0,0, - 0,0,0,0,0,0,0,-114,-29,0, - 0,0,0,0,0,-38,0,0,0,0, + 0,0,0,0,0,-352,0,0,0,-160, + -305,0,0,0,0,0,-161,-360,0,0, + 0,-359,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-130,0,0, - 0,0,0,0,0,0,0,0,-30,0, - 0,0,0,0,0,0,-40,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,0,-106, - 0,0,0,0,-31,0,0,0,0,0, - -93,0,0,0,-432,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-32,-33,0,0,-310,0,0, - 0,-94,0,0,0,-112,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-347,0,0,0,0,-127,0, - 0,0,0,0,-494,-34,0,0,0,-363, - 0,0,-95,0,0,0,-149,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-297,0,0,0,0,-380, - 0,0,0,0,0,-35,0,0,0,0, - -447,0,0,-96,0,0,0,-36,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -37,0,0,0,0,0,-181,0,0,0, - 0,-134,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,0,0, - 0,-140,0,0,0,0,0,-39,0,0, - 0,0,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,0, - 0,0,0,0,0,0,0,0,-182,0, - 0,0,0,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, - 0,0,0,-150,0,0,0,0,0,-184, - -186,0,0,0,0,0,0,-100,0,0, - 0,-53,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-305, - 0,0,0,0,0,0,0,0,0,0, - -189,-200,0,0,0,0,0,0,-101,0, - 0,0,-198,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-196,0,0,0,0, - 0,-54,-205,0,0,0,0,0,0,-102, 0,0,0,-207,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-244,0,0,0,0,0,0,0,0, - 0,0,-290,-57,0,0,0,0,0,0, - -103,0,0,0,-65,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-66,0,0, - 0,0,0,-225,0,0,0,0,-291,0, - 0,-131,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-315,0,0,0,0,-256,0, - 0,0,0,0,-226,-142,0,0,0,0, - -214,0,0,0,-262,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-321,0,0, - 0,0,0,-68,-69,0,0,0,0,0, - 0,-107,-209,0,0,0,0,0,0,-506, + 0,0,0,0,-162,0,0,-405,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-108,0,0,0,0,0,0,0, - -309,0,0,0,-278,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-340,0,0,0,0,0,0,0, - 0,0,0,-324,-109,0,0,-323,0,0, - 0,-110,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-257, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-341,-71,0,0,0, - 0,0,0,0,0,0,0,0,-335,0, + 0,0,0,0,0,0,-200,0,0,0, + 0,0,0,-15,0,0,0,-492,-163,0, + 0,-174,0,0,0,-376,0,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,0,0,-117,0,0,0,0, - 0,-332,0,0,0,-358,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-270,0,0, - 0,0,-227,0,0,0,0,0,-349,0, - 0,0,-514,0,0,0,-135,0,0,0, - 0,0,0,0,-279,0,-359,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-430,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-405,0,0,0,0,0,0, + 0,-235,0,0,0,0,0,0,0,0, + 0,-377,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,0, - 0,0,0,0,0,0,-325,-136,0,0, - -148,0,0,0,-137,0,0,0,0,0, - 0,0,0,0,-92,0,0,0,0,0, + 0,0,0,0,0,0,-91,0,0,0, + -291,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-164,0, + 0,0,0,0,0,-87,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-151,0,0,0, - 0,-308,0,0,0,0,-183,0,0,0, - -152,-90,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-259,0,0, + 0,0,0,-88,0,0,0,-501,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-153,0,0,0,0,-350,0, - 0,0,-91,0,0,0,-154,0,0,0, + 0,0,0,0,0,-242,0,0,0,0, + -89,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-165,0,0,0,0,-50,0,0, + 0,0,0,0,0,-19,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-82,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-205,0, + 0,0,0,-166,-167,0,-83,0,0,0, + -257,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-506,0, + 0,0,0,-225,0,0,0,0,-212,0, + 0,0,-226,-388,0,0,0,0,0,-183, + 0,0,0,-168,-60,-471,-230,0,0,0, + 0,0,0,0,0,0,0,-231,0,-116, + -169,0,0,0,-237,0,0,0,0,-170, + 0,0,0,0,0,-171,-172,0,0,0, + 0,0,0,-84,0,0,0,-173,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-387,0,0,0,0, + 0,-389,0,0,0,-176,0,0,0,0, + 0,-234,0,0,0,0,0,0,0,-349, + 0,-325,-414,0,0,-321,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-87,0,0,0,0,0,0,0, + 0,0,0,-403,-266,0,-245,0,-72,0, + 0,-177,0,0,-178,-354,0,0,0,0, + 0,0,0,0,-187,0,-119,0,0,0, + 0,0,0,-249,0,0,0,0,-188,0, + 0,0,-455,0,0,-193,0,0,0,0, + 0,0,0,0,0,-241,0,0,0,0, + 0,-13,-115,-194,0,0,0,0,0,0, + 0,0,0,-197,0,0,0,0,0,0, + 0,0,0,0,0,-208,0,0,0,0, + 0,0,0,0,-470,-239,-255,-381,0,0, + 0,0,-269,0,0,0,-372,0,0,0, + 0,0,-211,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-340, + -125,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-264,0, + 0,0,0,0,-46,0,0,0,-297,0, + -477,0,-344,0,0,0,0,-219,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-155,0,0,0,0,-235, - 0,-88,0,0,0,-418,0,0,0,0, + 0,-250,0,-332,0,-341,0,0,0,0, + 0,-270,0,0,0,0,0,-118,0,0, + -220,0,0,0,0,0,0,0,0,0, + 0,0,-478,0,-132,0,0,0,0,-353, + 0,0,0,0,0,0,0,0,-274,-286, + -251,0,0,0,0,-240,0,0,-308,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-370,0,0,0,0,-89,0, + 0,-222,-236,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-300,0,0, + 0,0,-180,0,0,0,-267,0,-314,0, + 0,0,0,0,0,0,0,0,-498,0, 0,0,0,0,0,0,0,0,0,0, + -238,0,-319,0,0,0,0,0,0,0, + 0,-246,-120,0,0,0,0,0,-85,0, + 0,0,-260,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -229,0,0,0,0,-50,0,0,0,0, - 0,0,-242,-81,0,0,0,0,0,0, + -315,0,0,-86,0,0,0,-256,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-458,0,0,0,0, - 0,-82,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-411,0,0,-195,0, + 0,0,-261,0,-192,0,0,0,0,0, + -233,0,0,-247,0,0,0,0,-248,0, + 0,0,-402,-271,0,-268,0,0,0,0, + 0,0,0,0,0,0,-272,0,-296,0, + 0,0,0,0,0,0,0,-191,0,0, + 0,0,0,-424,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-85,0,0, - 0,-398,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-156, - 0,0,0,0,0,-326,0,0,0,-157, - -158,0,0,0,0,0,-345,0,0,0, - 0,0,0,0,0,0,-231,0,-407,-159, - 0,0,0,0,0,-267,-352,0,0,0, - 0,0,0,0,0,0,-234,0,0,0, - -212,0,0,0,-160,-161,0,0,0,0, - 0,0,-83,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-276,-277,-327, + 0,-436,-253,0,-350,0,0,-252,0,0, + 0,0,0,0,0,-1,0,-329,-141,0, + -288,0,0,0,0,0,0,0,0,0, + 0,0,-122,-439,0,0,-284,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-84,0, - 0,0,-330,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-292, + -485,0,0,0,0,-273,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -387,0,0,0,0,-331,0,0,0,-249, - 0,0,0,0,0,-476,-228,0,0,-16, - -60,0,0,0,0,-144,-162,0,0,-163, - -199,-233,0,0,0,0,0,0,0,-164, + -293,-475,0,-139,0,0,0,-298,-502,0, + 0,-351,-469,0,0,0,0,0,0,0, + -303,0,-304,-320,0,0,0,0,0,0, + 0,0,0,0,-334,-370,0,0,-487,0, + 0,0,0,0,0,0,-282,-336,0,-366, + -367,0,0,0,0,0,0,0,0,-399, + 0,-294,0,0,0,0,-373,0,-209,0, + 0,0,0,-375,-378,0,0,-285,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-403,0,0,0,0, + -147,0,0,0,-343,0,-491,0,0,0, + 0,0,0,0,-493,-384,0,-385,0,0, + 0,0,0,0,0,0,0,-393,0,-185, + 0,0,0,0,0,0,-295,-396,0,0, + -371,0,0,0,0,-365,0,0,0,0, + 0,0,0,0,0,0,0,0,-316,0, + 0,-41,0,0,-512,0,-404,-348,0,-67, + 0,0,0,0,0,-406,0,0,0,0, + 0,0,0,0,0,-311,0,0,0,-408, + 0,-409,-410,0,0,0,0,0,0,0, + -379,0,0,0,0,-412,-423,0,0,0, + 0,0,0,0,0,0,-190,0,0,0, + -364,0,-516,-73,-104,-215,0,0,0,0, + -383,-425,0,-427,0,0,0,0,0,0, + 0,0,0,0,0,-201,0,0,0,0, + -428,0,0,0,0,-407,0,0,0,0, + 0,0,0,0,-429,-346,0,0,0,0, + 0,0,0,0,-431,0,-333,-430,0,0, + -433,0,0,0,0,-386,0,0,-434,0, + 0,-435,0,0,0,0,0,0,0,0, + 0,-76,0,0,0,-440,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-495,0,0,0, - 0,-165,0,0,-472,0,0,-230,0,0, - -255,0,0,0,0,0,-166,-455,0,0, - 0,0,0,0,0,0,0,0,-274,0, - -245,0,0,0,0,0,0,-415,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-342,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-471, - -232,0,0,0,-132,0,0,0,0,-369, - 0,0,0,-167,0,0,-239,-388,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-125,0,0,0,0,-397, - 0,0,0,0,0,-168,0,0,0,0, - 0,0,0,-116,-119,0,0,0,-169,0, - -139,0,0,0,0,-478,0,-317,0,0, - 0,0,0,-296,-498,0,0,0,0,0, - 0,0,0,0,0,0,-286,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-250,0,0,0,0, - 0,0,0,0,0,0,0,-479,0,0, - 0,0,0,0,0,-360,0,0,0,-499, - 0,0,0,-241,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-17,0,0,0,-170,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-416,-171,-172,0, - 0,0,0,-173,0,-176,0,-247,0,0, - 0,-177,0,0,0,0,0,0,0,0, - 0,0,0,0,-237,0,0,0,0,-353, - 0,0,0,0,0,-251,-147,0,0,0, - -503,0,0,-86,0,0,0,-504,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-439,0,0,0,0, - 0,-185,0,0,0,-178,0,0,0,0, - 0,0,-187,-252,-411,0,0,0,0,-188, - 0,-284,0,-13,0,0,-193,0,-282,-194, - 0,0,0,0,-294,0,0,-248,0,0, - 0,0,0,0,-197,0,0,0,0,0, - 0,0,0,-402,0,-208,0,0,0,0, - 0,0,0,0,0,0,-211,0,0,0, - -424,0,0,0,0,0,0,0,0,0, - -219,0,0,0,0,0,0,0,0,0, - -376,0,0,0,-371,-344,0,-264,-220,0, - -300,0,0,-222,0,-236,-1,-436,-269,0, - 0,0,0,-377,0,0,0,0,0,0, - 0,-265,0,0,0,0,0,0,-238,0, - 0,0,0,0,0,-442,-389,0,0,0, - 0,0,0,0,0,0,0,0,0,-314, - 0,0,0,0,0,0,0,0,0,-443, - 0,0,0,-141,0,0,-311,0,-486,0, - 0,-295,0,0,-246,0,0,0,0,0, - 0,0,0,-260,-319,0,0,-316,0,0, - 0,0,0,-195,-519,0,-261,0,0,-266, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-271,0,0,0,0,0, - 0,0,0,-488,0,-327,-272,0,0,0, - -391,0,0,-276,0,-277,0,0,0,0, - 0,0,0,0,-288,0,0,-381,0,-292, - 0,0,0,0,0,0,0,0,-329,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-493,-470, - -41,-343,0,-293,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-298, - 0,-46,0,0,0,0,-115,0,-42,0, - 0,-303,0,-304,-320,0,0,0,0,-334, - -365,0,0,0,0,0,0,0,0,0, - 0,-118,0,-515,0,0,-348,0,0,-364, - -43,-120,0,0,0,-336,0,0,0,0, - 0,0,0,0,0,0,-180,0,0,0, - 0,-372,0,-44,0,0,-366,0,0,0, - 0,0,0,-367,0,0,0,0,0,-373, - 0,0,0,0,0,0,0,0,-520,0, - 0,0,0,0,0,0,-122,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-191,0,0,0,0,-375,0,0,0, - 0,-378,-419,0,0,0,0,-384,0,0, - 0,0,0,0,0,0,0,0,0,0, - -385,-393,0,-523,-253,0,-396,0,0,-481, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-404,0,-201,0,0,0, - 0,0,-414,-379,-351,-254,0,0,0,0, - 0,0,-406,0,0,0,0,0,0,-408, - 0,0,0,0,0,-409,0,0,-410,0, - 0,-412,0,-268,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-76, - 0,0,0,-423,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-77,0,0,0,-425,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-281,0,0, - 0,0,0,0,0,0,0,-427,-420,-210, - 0,0,0,-301,0,0,0,0,0,0, - 0,0,0,-273,0,0,0,-428,0,-429, - -67,0,0,-382,0,-73,-383,0,-386,0, - 0,0,0,0,-431,-190,0,0,0,0, - 0,0,0,0,0,0,-421,0,0,0, - 0,-433,0,0,-346,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-434,0,0,-435,0, - 0,0,0,0,-192,0,0,0,0,0, - 0,-394,-440,0,0,0,-285,0,0,0, - -444,0,0,0,0,0,0,0,0,0, - -453,-451,0,0,-18,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-460,0,0, - 0,0,0,-448,-422,-333,-468,0,0,0, - 0,-466,0,0,-487,-392,0,-502,0,-475, - -426,0,0,-461,0,0,-507,0,0,0, - 0,0,0,0,0,0,0,0,-307,0, - 0,0,0,-454,0,0,0,0,0,0, - 0,0,0,0,0,-450,-445,0,0,0, - 0,-482,0,0,-500,0,0,-322,0,0, - 0,0,0,0,-449,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -328,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-477,-456,0, - 0,0,0,0,0,-457,0,0,0,0, - 0,-390,0,-467,0,0,-485,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-339,0,0,0,-462,-464,0,0, - 0,0,0,0,0,0,0,0,0,-505, - 0,0,0,0,0,0,0,0,0,-104, - 0,-215,0,0,0,0,0,-469,-497,0, - 0,-489,0,0,0,0,0,0,0,0, - 0,0,0,0,-483,-484,0,-496,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-511,0,0,0,0,0,0, - 0,-19,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,-444,0,-281, + 0,0,0,0,-458,0,0,0,0,0, + -453,-496,-415,0,0,-416,0,-301,0,0, 0,0,0,0,0,0,0,-78,0,0, + 0,-460,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-79, + -467,0,0,0,0,0,-486,-500,-505,-199, + 0,0,-317,0,0,0,0,0,0,0, + 0,0,0,0,0,-419,-382,0,0,0, + 0,0,-420,-454,0,-338,0,-461,0,0, + 0,0,0,0,0,0,0,-421,0,-216, + 0,0,-217,0,-422,0,0,0,0,0, + -218,0,0,-283,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-42, + 0,0,-394,0,-426,0,0,0,0,0, + 0,0,-43,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-80,0,0,0,0,0,0,0,0, + 0,-442,0,-443,0,0,0,0,0,0, + 0,0,0,0,-448,0,-445,0,0,0, + 0,-449,-392,-497,0,0,-254,0,0,0, + 0,-451,0,0,0,-456,0,-462,0,0, + 0,0,0,0,0,0,0,0,0,-307, + 0,0,0,-457,0,0,-464,0,0,0, + 0,0,0,0,0,0,-450,-466,0,-474, + 0,0,-484,0,0,-515,0,0,0,0, + 0,0,0,-468,0,0,0,-488,0,-482, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-20,0,0,0,0,0,0, + 0,-328,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-476,0, + 0,0,0,0,0,0,-495,0,0,0, + 0,0,-322,0,0,0,0,0,0,-483, + 0,0,0,0,-494,0,0,0,0,0, + 0,0,0,-339,0,0,0,-508,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-21,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-22,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-23,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-24,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-25,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-26, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -62,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-74,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,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,-129,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-203,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-491,0,0,0,0, - -516,0,0,0,0,-123,0,0,0,0, - 0,-501,-356,0,0,0,0,0,0,0, - 0,0,-509,-474,0,0,0,0,-510,0, - 0,0,0,0,-263,0,0,0,0,0, - 0,0,0,0,-513,-518,0,0,-521,0, + -503,0,0,0,0,0,0,0,0,0, + 0,-499,-507,0,-44,0,0,-513,0,0, + 0,-510,-289,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-357,0,0,0,0, - 0,0,0,0,0,0,-463,0,0,0, + -79,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-80,0,0, + 0,0,0,0,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,-224,0,0,0,0,0,0,-361, + -21,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-22,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-23,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-24,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-25,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-26,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-62,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-74,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,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,-129, 0,0,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, - 0,0,0,0,0,0,0,0,0,-399, - 0,0,0,0,0,0,0,-395,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,-362,0,0,0,0,0, - 0,0,0,-374,0,0,0,-459,0,0, - 0,0,0,-480,0,0,0,-258,0,0, + 0,-489,0,0,0,0,0,0,0,0, + 0,-18,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-123,0,0,0,0,0,0,-356,0, + 0,0,0,0,0,0,0,0,-490,0, + -514,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-473,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-361,0,0,0,0,0,-302,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-390,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-437,0,0,0,0,0,-280,0,0, - 0,0,0,0,0,0,0,-438,0,0, - 0,0,0,0,0,0,0,0,0,-441, - 0,-45,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-204,0,0,0, - 0,0,0,0,0,0,0,-400,-401,0, - -490,0,0,0,0,0,0,-446,0,0, - 0,0,0,0,-508,0,0,0,0,0, - 0,0,-517,0,0,0,0,0,0,0, - 0,0,0,0,0,-216,-217,0,-218,0, + 0,0,0,-331,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -289,0,-492,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-357,0,0, + 0,0,0,0,0,0,0,0,-463,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-263,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-224,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-395,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-362,0,0,0,-374,0, + 0,0,0,0,0,0,0,0,-459,0, + 0,0,0,0,0,0,-465,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-391,-16,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-479,0, + 0,0,0,-210,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-258, + 0,0,0,-280,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -437,0,0,0,0,0,0,0,0,0, + 0,0,-438,-441,0,0,0,0,0,0, + 0,0,0,0,-45,0,-204,0,0,0, + 0,0,-400,0,0,0,0,0,0,0, + -401,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-446, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,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; @@ -510,508 +514,512 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 169,4,52,77,77,33,33,63,63,38, - 38,189,189,190,190,191,191,1,1,14, + 168,4,52,70,70,36,36,63,63,37, + 37,191,191,192,192,193,193,1,1,14, 14,14,14,14,14,14,14,15,15,15, 13,10,10,8,8,8,8,8,8,2, 64,64,5,5,11,11,11,11,42,42, - 131,131,132,59,59,41,16,16,16,16, + 130,130,131,59,59,41,16,16,16,16, 16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,133,133,133,113,113, + 16,16,16,16,16,132,132,132,113,113, 17,17,17,17,17,17,17,17,17,17, - 17,17,18,18,170,170,171,171,172,136, - 136,137,137,134,134,138,135,135,19,19, + 17,17,18,18,169,169,170,170,171,135, + 135,136,136,133,133,137,134,134,19,19, 20,20,21,21,21,23,23,23,23,24, 24,24,25,25,25,26,26,26,26,26, - 28,28,28,29,29,30,30,31,31,32, - 32,35,35,36,36,40,40,39,39,39, + 27,27,27,28,28,30,30,31,31,32, + 32,34,34,35,35,40,40,39,39,39, 39,39,39,39,39,39,39,39,39,39, - 37,27,139,139,97,97,101,101,92,192, - 192,68,68,68,68,68,68,68,68,68, - 69,69,69,70,70,54,54,173,173,71, - 71,71,114,114,72,72,72,72,73,73, - 73,73,73,74,74,78,78,78,78,78, - 78,78,47,47,47,47,47,104,104,105, - 105,48,174,22,22,22,22,22,45,45, - 87,87,87,87,87,146,146,141,141,141, - 141,141,142,142,142,143,143,143,144,144, - 144,145,145,145,88,88,88,88,88,89, - 89,89,12,12,12,12,12,12,12,12, - 12,12,12,100,118,118,118,118,118,116, - 116,116,117,117,148,148,147,147,120,120, - 149,82,82,83,83,85,86,84,50,44, - 150,150,51,49,81,81,151,151,140,140, - 121,122,122,76,76,152,152,61,61,61, - 56,56,55,62,62,66,66,53,53,53, - 90,90,99,98,98,58,58,57,57,60, - 60,46,102,102,102,93,93,93,94,95, - 95,95,96,96,106,106,106,108,108,107, - 107,193,193,91,91,176,176,176,176,176, - 124,43,43,154,175,175,125,125,125,125, - 177,177,34,34,115,126,126,126,126,109, - 109,119,119,119,156,157,157,157,157,157, - 157,157,157,157,180,180,178,178,179,179, - 158,158,158,158,159,181,111,110,110,182, - 182,160,160,160,160,103,103,103,183,183, - 9,184,184,185,161,153,153,162,162,163, - 164,164,6,6,7,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,65,67,67, - 167,167,127,127,128,128,128,128,128,128, - 3,168,168,165,165,129,129,129,79,80, - 75,155,155,112,112,186,186,186,130,130, - 123,123,187,187,169,169,969,39,2095,2088, - 2032,2691,34,1065,31,35,30,32,2007,29, - 27,56,1071,110,81,82,112,1157,860,1209, - 1169,1294,1255,3182,1336,1295,1388,1376,1411,1736, - 273,1458,147,1652,1491,162,148,1071,39,991, - 36,982,3237,34,1065,337,35,418,39,2979, - 2402,39,991,36,232,2783,34,1065,31,35, - 30,32,898,29,27,56,1071,110,81,82, - 112,1157,390,1209,1169,1294,1255,486,1336,1295, - 1388,1376,2689,235,230,231,2231,39,389,4458, - 331,31,318,2015,320,673,274,1867,314,1845, - 350,1540,3639,349,1980,1469,39,441,418,3016, - 4394,242,245,248,251,2685,418,3561,1097,39, - 991,36,1956,3460,34,1065,31,35,65,32, - 344,1422,564,347,485,700,783,3187,2684,3212, - 3222,3277,4186,1552,39,991,36,2286,2783,34, - 1065,31,35,2822,32,898,29,27,56,1071, - 110,81,82,112,1157,341,1209,1169,1294,1255, - 1321,1336,1295,1388,1376,1411,776,1337,1458,147, - 1310,1168,505,148,2286,2185,39,277,126,2501, - 1213,39,991,36,3606,3308,34,1065,337,35, - 1570,97,2835,506,1552,39,991,36,2286,2783, - 34,1065,31,35,2822,32,898,29,27,56, - 1071,110,81,82,112,1157,341,1209,1169,1294, - 1255,214,1336,1295,1388,1376,1411,577,1075,1458, - 147,3125,4458,505,148,318,2015,320,2032,3557, - 2501,313,1845,1224,39,991,36,420,860,34, - 1065,44,35,3292,506,1420,3068,434,3260,3297, - 3237,358,501,302,1817,39,991,36,2286,2783, - 34,1065,31,35,2822,32,898,29,27,56, - 1071,110,81,82,112,1157,341,1209,1169,1294, - 1255,2148,1336,1295,1388,1376,1411,1748,2816,1458, - 147,2886,1041,505,148,1344,947,654,331,2608, - 2501,1028,39,991,36,448,2847,34,1065,31, - 35,63,32,501,506,1618,39,991,36,164, - 2783,34,1065,31,35,30,32,898,29,27, - 56,1071,110,81,82,112,1157,2118,1209,1169, - 1294,1255,431,1336,1295,1388,1376,1411,952,2910, - 1458,147,2886,1739,376,148,1690,39,991,36, - 2065,2783,34,1065,31,35,30,32,898,29, - 27,56,1071,110,81,82,112,1157,379,1209, - 1169,1294,1255,502,1336,1295,1388,1376,1411,1306, - 428,1458,147,327,333,376,148,1987,39,991, - 36,783,2783,34,1065,31,35,30,32,898, - 29,27,56,1071,110,81,82,112,1157,377, - 1209,1169,1294,1255,783,1336,1295,1388,1376,1411, - 1806,2900,1458,147,67,3496,162,148,1041,2192, - 380,742,947,1987,39,991,36,444,2783,34, - 1065,31,35,30,32,898,29,27,56,1071, - 110,81,82,112,1157,164,1209,1169,1294,1255, - 1916,1336,1295,1388,1376,1411,2460,397,1458,147, - 411,381,370,148,418,1784,2947,38,1987,39, - 991,36,3075,2783,34,1065,31,35,30,32, - 898,29,27,56,1071,110,81,82,112,1157, - 1611,1209,1169,1294,1255,918,1336,1295,1388,1376, - 1411,2587,31,1458,147,2652,734,370,148,2525, - 373,66,39,1664,47,1347,700,46,1065,1401, - 1987,39,991,36,1540,2783,34,1065,31,35, - 30,32,898,29,27,56,1071,110,81,82, - 112,1157,577,1209,1169,1294,1255,369,1336,1295, - 1388,1376,1411,860,1131,1458,147,4134,3347,370, - 148,418,39,2947,2961,1927,39,991,36,1540, - 2783,34,1065,31,35,30,32,898,29,27, - 56,1071,110,81,82,112,1157,946,1209,1169, - 1294,1255,368,1336,1295,1388,1376,1411,1308,1081, - 1458,147,28,3237,376,148,1752,39,991,36, - 371,2783,34,1065,31,35,30,32,898,29, - 27,56,1071,110,81,82,112,1157,1308,1209, - 1169,1294,1255,3237,1336,1295,1388,1376,1411,1063, - 92,1458,147,106,366,146,148,1987,39,991, - 36,330,2783,34,1065,31,35,30,32,898, - 29,27,56,1071,110,81,82,112,1157,860, - 1209,1169,1294,1255,3691,1336,1295,1388,1376,1411, - 1540,330,1458,147,312,1782,163,148,795,3044, - 374,1987,39,991,36,2416,2783,34,1065,31, - 35,30,32,898,29,27,56,1071,110,81, - 82,112,1157,74,1209,1169,1294,1255,3074,1336, - 1295,1388,1376,1411,154,75,1458,147,418,3095, - 159,148,1987,39,991,36,1540,2783,34,1065, - 31,35,30,32,898,29,27,56,1071,110, - 81,82,112,1157,2652,1209,1169,1294,1255,2032, - 1336,1295,1388,1376,1411,2693,233,1458,147,59, - 2648,158,148,1987,39,991,36,1540,2783,34, - 1065,31,35,30,32,898,29,27,56,1071, - 110,81,82,112,1157,390,1209,1169,1294,1255, - 2648,1336,1295,1388,1376,1411,947,512,1458,147, - 58,2648,157,148,1987,39,991,36,1027,2783, - 34,1065,31,35,30,32,898,29,27,56, - 1071,110,81,82,112,1157,447,1209,1169,1294, - 1255,1188,1336,1295,1388,1376,1411,31,285,1458, - 147,845,2035,156,148,1987,39,991,36,2376, - 2783,34,1065,31,35,30,32,898,29,27, - 56,1071,110,81,82,112,1157,512,1209,1169, - 1294,1255,2032,1336,1295,1388,1376,1411,978,93, - 1458,147,106,353,155,148,1987,39,991,36, - 520,2783,34,1065,31,35,30,32,898,29, - 27,56,1071,110,81,82,112,1157,351,1209, - 1169,1294,1255,352,1336,1295,1388,1376,1411,31, - 520,1458,147,4313,322,154,148,1987,39,991, - 36,520,2783,34,1065,31,35,30,32,898, - 29,27,56,1071,110,81,82,112,1157,4155, - 1209,1169,1294,1255,2032,1336,1295,1388,1376,1411, - 31,1561,1458,147,1993,2281,153,148,1987,39, - 991,36,1163,2783,34,1065,31,35,30,32, - 898,29,27,56,1071,110,81,82,112,1157, - 1463,1209,1169,1294,1255,3743,1336,1295,1388,1376, - 1411,31,31,1458,147,2397,2647,152,148,1987, - 39,991,36,1540,2783,34,1065,31,35,30, - 32,898,29,27,56,1071,110,81,82,112, - 1157,57,1209,1169,1294,1255,2032,1336,1295,1388, - 1376,1411,1418,31,1458,147,348,634,151,148, - 1987,39,991,36,1540,2783,34,1065,31,35, - 30,32,898,29,27,56,1071,110,81,82, - 112,1157,1308,1209,1169,1294,1255,3237,1336,1295, - 1388,1376,1411,1797,1170,1458,147,94,3237,150, - 148,1987,39,991,36,1441,2783,34,1065,31, - 35,30,32,898,29,27,56,1071,110,81, - 82,112,1157,325,1209,1169,1294,1255,1342,1336, - 1295,1388,1376,1411,31,1663,1458,147,3002,1598, - 149,148,1882,39,991,36,1663,2783,34,1065, - 31,35,30,32,898,29,27,56,1071,110, - 81,82,112,1157,390,1209,1169,1294,1255,1344, - 1336,1295,1388,1376,1411,2669,31,2925,168,3080, - 947,1987,39,991,36,161,2783,34,1065,31, - 35,30,32,898,29,27,56,1071,110,81, - 82,112,1157,1634,1209,1169,1294,1255,1980,1336, - 1295,1388,1376,1411,1040,1156,1458,147,98,326, - 144,148,1465,418,39,1698,383,1739,2387,100, - 2309,39,991,36,1616,2783,34,1065,31,35, - 30,32,898,29,27,56,1071,110,81,82, - 112,1157,75,1209,1169,1294,1255,55,1336,1295, - 1388,1376,1411,1678,52,1458,147,332,333,193, - 148,2402,39,991,36,2096,2783,34,1065,31, - 35,30,32,898,29,27,56,1071,110,81, - 82,112,1157,860,1209,1169,1294,1255,4320,1336, - 1295,1388,1376,1411,2032,1746,2925,168,2402,39, - 991,36,1789,2783,34,1065,31,35,30,32, - 898,29,27,56,1071,110,81,82,112,1157, - 2149,1209,1169,1294,1255,1239,1336,1295,1388,1376, - 1411,323,1324,2925,168,3125,860,1352,39,991, - 36,4385,2847,34,1065,31,35,62,32,2402, - 39,991,36,289,2783,34,1065,31,35,30, - 32,898,29,27,56,1071,110,81,82,112, - 1157,101,1209,1169,1294,1255,1607,1336,1295,1388, - 1376,1411,1100,384,2925,168,2402,39,991,36, - 1999,2783,34,1065,31,35,30,32,898,29, - 27,56,1071,110,81,82,112,1157,2149,1209, - 1169,1294,1255,425,1336,1295,1388,1376,1411,2032, - 395,2925,168,1395,39,991,36,2071,3460,34, - 1065,31,35,30,32,2173,499,2402,39,991, - 36,413,2783,34,1065,31,35,30,32,898, - 29,27,56,1071,110,81,82,112,1157,860, - 1209,1169,1294,1255,4398,1336,1295,1388,1376,1411, - 66,282,2925,168,2447,39,991,36,412,2783, - 34,1065,31,35,30,32,898,29,27,56, - 1071,110,81,82,112,1157,102,1209,1169,1294, - 1255,324,1336,1295,1388,1376,1411,1598,2632,2925, - 168,1097,39,991,36,2575,3460,34,1065,31, - 35,64,32,385,417,2402,39,991,36,415, - 2783,34,1065,31,35,30,32,898,29,27, - 56,1071,110,81,82,112,1157,2089,1209,1169, - 1294,1255,2149,1336,1295,1388,2644,418,39,1745, - 1704,2115,2402,39,991,36,3539,2783,34,1065, - 31,35,30,32,898,29,27,56,1071,110, - 81,82,112,1157,1972,1209,1169,1294,1255,2217, - 1336,1295,2562,2402,39,991,36,1979,2783,34, - 1065,31,35,30,32,898,29,27,56,1071, - 110,81,82,112,1157,283,1209,1169,1294,1255, - 76,1336,2577,2402,39,991,36,399,2783,34, - 1065,31,35,30,32,898,29,27,56,1071, - 110,81,82,112,1157,2103,1209,1169,1294,1255, - 1540,2507,2402,39,991,36,2460,2783,34,1065, - 31,35,30,32,898,29,27,56,1071,110, - 81,82,112,1157,2217,1209,1169,1294,2510,2402, - 39,991,36,2589,2783,34,1065,31,35,30, - 32,898,29,27,56,1071,110,81,82,112, - 1157,425,1209,1169,1294,2520,2492,39,1698,383, - 3657,2665,299,1540,2402,39,991,36,237,2783, - 34,1065,31,35,30,32,898,29,27,56, - 1071,110,81,82,112,1157,860,1209,1169,2370, - 273,4404,2402,39,991,36,2717,2783,34,1065, - 31,35,30,32,898,29,27,56,1071,110, - 81,82,112,1157,232,1209,1169,2380,2402,39, - 991,36,2733,2783,34,1065,31,35,30,32, - 898,29,27,56,1071,110,81,82,112,1157, - 248,1209,2425,235,230,231,1224,39,991,36, - 424,600,34,1065,2169,35,274,1224,39,991, - 36,386,417,34,1065,338,35,1976,3095,2217, - 682,242,245,248,251,2685,1867,1224,39,991, - 36,3639,1956,34,1065,2254,35,418,39,2947, - 276,1270,39,1698,383,1435,1802,3187,2684,3212, - 3222,3277,4186,2402,39,991,36,183,2783,34, - 1065,31,35,30,32,898,29,27,56,1071, - 110,81,82,112,1157,273,1209,1169,2381,2402, - 39,991,36,611,2783,34,1065,31,35,30, - 32,898,29,27,56,1071,110,81,82,112, - 1157,177,1209,1169,2400,526,1191,39,991,36, - 1540,3237,34,1065,337,35,2149,2182,39,279, - 31,1599,1239,229,526,1198,2092,761,160,1570, - 2644,1116,2182,39,277,2286,3237,284,2399,184, - 2715,3055,341,73,204,215,4368,160,203,212, - 213,214,216,2835,77,173,1,1139,4458,331, - 526,318,2015,320,1988,3107,2501,316,1845,187, - 171,172,174,175,176,177,178,2149,229,297, - 1094,3384,1388,160,330,31,419,349,31,947, - 1793,31,2989,2399,184,2704,3474,155,2721,204, - 215,4368,2286,203,212,213,214,216,3194,31, - 173,2188,3798,3047,342,1422,564,347,2217,185, - 229,3074,357,340,188,171,172,174,175,176, - 177,178,418,39,1698,383,1026,2230,2986,3009, - 304,206,215,4368,435,205,212,213,214,216, - 2746,418,39,281,2286,1685,199,48,2936,2511, - 2231,39,389,207,1425,3077,421,1515,1868,39, - 441,2286,229,4394,2536,1793,217,208,209,210, - 211,291,292,293,294,506,39,1698,383,2835, - 1604,3480,3478,206,215,4368,249,205,212,213, - 214,216,3708,2496,1187,1318,39,2893,1541,1189, - 2882,1877,39,1698,383,207,2833,3077,1116,55, - 2286,349,2286,3237,1344,2149,1675,2907,217,208, - 209,210,211,291,292,293,294,31,229,55, - 2835,1778,50,2936,3545,55,1675,2137,342,1422, - 564,347,1675,887,3708,2557,1540,1593,357,206, - 215,4368,232,205,212,213,214,216,2848,3321, - 3545,330,2286,2902,2986,3009,418,39,1698,383, - 2149,207,1739,3077,2194,39,2947,276,296,72, - 229,244,230,231,217,208,209,210,211,291, - 292,293,294,1537,39,1698,383,2221,567,357, - 424,206,215,4368,1540,205,212,213,214,216, - 3708,2705,329,333,2230,2986,3009,2217,2521,2533, - 438,3260,3297,207,2606,3077,1936,55,418,3130, - 2947,79,1119,295,1675,602,217,208,209,210, - 211,291,292,293,294,1054,39,991,36,2909, - 611,34,1065,337,35,198,1540,594,39,1698, - 383,2460,3708,2760,2402,39,991,36,2460,2783, - 34,1065,31,35,30,32,898,29,27,56, - 1071,110,81,82,112,1157,1523,1209,2426,71, - 526,55,1973,39,1698,383,1800,4458,1675,910, - 318,2015,320,1064,1540,265,313,1845,3724,526, - 1745,349,1540,160,2034,514,2421,478,2286,1308, - 2322,3116,513,166,3237,1540,55,229,2194,39, - 2947,3164,160,1675,53,1006,341,70,342,1422, - 564,347,2399,184,2415,3065,1683,3114,204,215, - 4368,2497,203,212,213,214,216,1720,61,173, - 707,1202,39,991,36,3606,3237,34,1065,337, - 35,2612,330,3553,171,172,174,175,176,177, - 178,418,39,1698,383,2460,1515,3612,1361,2647, - 2286,1676,2286,4408,2228,2463,471,1478,353,1976, - 3095,947,526,2975,418,39,1698,383,2835,567, - 229,435,425,4458,330,423,318,2015,320,1919, - 229,363,313,1845,160,160,2217,418,39,1698, - 383,989,400,4215,524,2399,184,1079,422,373, - 31,204,215,4368,2976,203,212,213,214,216, - 2217,2486,173,401,2197,3077,511,1344,2286,441, - 4346,440,1540,526,202,2072,180,171,172,174, - 175,176,177,178,601,31,341,357,1540,3515, - 444,229,306,310,1436,2520,160,830,200,3237, - 425,3064,3220,2986,3009,60,2399,184,430,1265, - 559,3572,204,215,4368,1957,203,212,213,214, - 216,321,3571,173,529,1739,31,2157,526,284, - 3355,2218,388,417,2394,2286,2456,191,171,172, - 174,175,176,177,178,2179,229,331,2495,3489, - 2670,160,2286,341,402,405,2132,3107,378,31, - 349,2399,184,2840,519,3162,333,204,215,4368, - 2835,203,212,213,214,216,571,2501,173,617, - 2415,31,31,526,2271,947,1340,344,1422,564, - 347,522,3627,171,172,174,175,176,177,178, - 2671,229,418,39,1698,383,160,2033,160,31, - 387,417,2653,2286,2411,2654,2399,184,1250,239, - 2172,31,204,215,4368,1370,203,212,213,214, - 216,341,1403,173,705,1623,55,1540,526,493, - 1540,31,2059,1675,1060,2286,777,194,171,172, - 174,175,176,177,178,2501,229,418,39,1698, - 383,160,2299,341,31,232,2481,1566,2286,1792, - 105,2399,184,3354,2710,491,492,204,215,4368, - 2676,203,212,213,214,216,341,2501,173,793, - 232,55,511,526,240,230,231,2116,1675,2984, - 232,1833,190,171,172,174,175,176,177,178, - 2501,229,418,39,1698,383,160,2691,3459,247, - 230,231,2692,1540,1875,186,2399,184,2704,250, - 230,231,204,215,4368,1335,203,212,213,214, - 216,2718,2703,173,881,1041,55,2736,526,947, - 418,39,290,1675,2512,232,439,197,171,172, - 174,175,176,177,178,865,229,418,39,1698, - 383,160,164,2518,31,2495,1041,947,3616,2286, - 947,2399,184,953,253,230,231,204,215,4368, - 2784,203,212,213,214,216,2786,2835,173,2788, - 160,55,2794,164,418,39,2947,280,1675,715, - 3040,201,196,171,172,174,175,176,177,178, - 2402,39,991,36,2593,2783,34,1065,31,35, - 30,32,898,29,27,56,1071,110,81,82, - 112,1157,2915,2127,2402,39,991,36,2744,2783, - 34,1065,31,35,30,32,898,29,27,56, - 1071,110,81,82,112,1157,493,2141,1526,39, - 991,36,2698,3052,34,1065,337,35,2698,2642, - 418,39,1698,383,1171,39,3200,36,3606,3237, - 34,1065,337,35,418,39,2947,278,2714,4192, - 2732,31,490,492,2873,947,31,31,2286,31, - 947,4360,518,2934,55,1765,506,39,1698,383, - 4458,1675,602,318,2015,320,229,31,160,313, - 1845,1381,2802,160,349,1344,4458,330,1139,318, - 2015,320,3247,1534,3068,313,1845,206,215,4368, - 55,205,212,213,214,216,89,1675,53,2484, - 849,342,1422,564,347,418,39,1698,383,207, - 1593,3077,2659,2790,2486,2631,2286,418,39,2947, - 3195,2777,487,208,209,210,211,291,292,293, - 294,2712,2217,1739,229,2357,39,991,36,273, - 2783,34,1065,31,35,30,32,898,29,27, - 56,1071,91,81,82,206,215,4368,57,205, - 212,213,214,216,2935,2697,1308,2810,2286,3604, - 221,3237,2217,3201,333,2796,1344,207,2800,3077, - 2217,31,408,3226,1671,2578,229,1704,2286,5017, - 508,208,209,210,211,291,292,293,294,2208, - 39,1698,383,1962,1540,275,341,206,215,4368, - 4511,205,212,213,214,216,2960,31,303,330, - 2286,3160,2231,39,389,418,39,290,1041,207, - 3727,3077,947,55,1739,31,5017,3620,229,2630, - 1675,53,305,208,209,210,211,291,292,293, - 294,594,39,1698,383,164,4276,5017,2612,206, - 215,4368,5017,205,212,213,214,216,2761,31, - 5017,5017,2286,2696,3507,333,31,5017,5017,5017, - 2748,207,1041,3077,31,55,947,2702,4176,5017, - 229,3760,1675,53,509,208,209,210,211,291, - 292,293,294,2208,39,1698,383,1540,1540,164, - 2407,206,215,4368,5017,205,212,213,214,216, - 1679,39,991,36,2909,3217,34,1065,337,35, - 31,3618,31,207,947,3077,947,55,1540,31, - 3049,3104,2217,865,1675,53,218,208,209,210, - 211,291,292,293,294,1540,1540,160,1540,160, - 5017,5017,2756,5017,5017,5017,5017,2676,5017,2490, - 3796,3159,4458,5017,4225,318,2015,320,5017,3303, - 4525,313,1845,5017,1540,5017,349,5017,2851,2858, - 5017,375,2402,39,991,36,515,2783,34,1065, - 31,35,30,32,898,29,27,56,1071,110, - 81,82,90,342,1422,564,347,4226,2402,39, - 991,36,516,2783,34,1065,31,35,30,32, - 898,29,27,56,1071,110,81,82,112,2164, - 2402,39,991,36,5017,2783,34,1065,31,35, - 30,32,898,29,27,56,1071,110,81,82, - 112,2177,2402,39,991,36,5017,2783,34,1065, - 31,35,30,32,898,29,27,56,1071,110, - 81,82,112,2225,2402,1784,991,1785,5017,2783, - 34,1065,31,35,30,32,898,29,27,56, - 1071,110,81,82,89,2402,39,991,36,5017, - 2783,34,1065,31,35,30,32,898,29,27, - 56,1071,110,81,82,88,2402,39,991,36, - 5017,2783,34,1065,31,35,30,32,898,29, - 27,56,1071,110,81,82,87,2402,39,991, - 36,5017,2783,34,1065,31,35,30,32,898, - 29,27,56,1071,110,81,82,86,2402,39, - 991,36,5017,2783,34,1065,31,35,30,32, - 898,29,27,56,1071,110,81,82,85,2402, - 39,991,36,5017,2783,34,1065,31,35,30, - 32,898,29,27,56,1071,110,81,82,84, - 2402,39,991,36,5017,2783,34,1065,31,35, - 30,32,898,29,27,56,1071,110,81,82, - 83,2262,39,991,36,5017,2783,34,1065,31, - 35,30,32,898,29,27,56,1071,110,81, - 82,108,2402,39,991,36,5017,2783,34,1065, - 31,35,30,32,898,29,27,56,1071,110, - 81,82,114,2402,39,991,36,5017,2783,34, - 1065,31,35,30,32,898,29,27,56,1071, - 110,81,82,113,2402,39,991,36,5017,2783, - 34,1065,31,35,30,32,898,29,27,56, - 1071,110,81,82,111,2402,39,991,36,5017, - 2783,34,1065,31,35,30,32,898,29,27, - 56,1071,110,81,82,109,1459,39,991,36, - 3606,1540,34,1065,337,35,2549,39,1698,383, - 5017,2665,2217,1667,39,3200,36,3606,238,34, - 1065,337,35,2217,1213,39,991,36,3606,2217, - 34,1065,337,35,3269,1304,39,991,36,3464, - 273,34,1065,337,35,2217,2217,5017,4458,1540, - 302,318,2015,320,5017,5017,5017,313,1845,5017, - 5017,4533,5017,5017,232,4458,5017,222,318,2015, - 320,5017,1079,396,313,1845,4458,5017,5017,318, - 2015,320,3324,298,195,313,1845,4458,5017,849, - 315,3192,320,236,230,231,1191,39,991,36, - 1079,3237,34,1065,337,35,274,1213,39,991, - 36,3606,5017,34,1065,337,35,306,310,5017, - 5017,243,246,249,252,2685,5017,5017,5017,5017, - 5017,5017,1956,1278,5017,5017,4209,2286,4408,5017, - 2208,39,1698,383,5017,307,310,3571,4458,331, - 5017,318,2015,320,5017,229,5017,314,1845,4458, - 5017,5017,318,2015,320,5017,1523,5017,313,1845, - 947,409,3226,5017,55,5017,989,400,4215,5017, - 2548,1675,53,3615,2286,5017,5017,2981,1543,39, - 991,36,2951,160,34,1065,337,35,401,2971, - 3077,5017,2835,166,5017,2208,39,1698,383,5017, - 5017,5017,5017,5017,2208,39,1698,383,2354,39, - 1698,383,5017,5017,2497,39,1698,383,418,39, - 1698,383,5017,5017,5017,5017,3064,5017,5017,55, - 4458,5017,5017,315,3192,320,1675,53,55,5017, - 5017,5017,55,5017,5017,1675,53,5017,55,1675, - 53,5017,55,5017,2994,1675,53,3782,5017,1675, - 1365,493,31,3017,5017,5017,526,3330,418,39, - 1698,383,5017,3665,5017,5017,5017,5017,31,402, - 404,5017,526,5017,341,5017,5017,5017,5017,160, - 31,5017,31,5017,526,5017,2286,490,492,192, - 341,1900,55,2978,5017,160,5017,31,4287,1675, - 1734,2286,341,5017,341,192,5017,160,31,31, - 5017,1523,2286,2286,4287,947,5017,192,31,341, - 2981,5017,2286,5017,5017,1523,4287,3495,2501,947, - 341,341,5017,1523,5017,5017,5017,947,160,5017, - 341,5017,1882,2501,5017,5017,31,31,166,31, - 947,947,160,947,2501,2501,5017,2293,5017,5017, - 160,31,166,31,2501,947,3747,947,497,495, - 166,5017,5017,160,160,5017,160,5017,523,5017, - 5017,5017,3748,2736,2846,5017,2894,5017,160,5017, - 160,5017,5017,5017,3778,5017,5017,5017,1874,5017, - 3824,5017,5017,5017,5017,5017,5017,5017,5017,5017, - 5017,5017,4203,5017,5017,5017,5017,5017,5017,5017, - 5017,5017,5017,5017,5017,5017,4181,5017,5017,5017, - 5017,5017,5017,5017,4229,5017,0,43,5035,0, - 43,5034,0,621,33,0,442,1072,0,42, - 5035,0,42,5034,0,2433,130,0,1,432, - 0,446,778,0,445,1329,0,621,45,0, - 1746,95,0,621,382,0,39,37,0,36, - 38,0,43,1034,0,1,548,0,1,5289, - 0,1,5288,0,1,5287,0,1,5286,0, - 1,5285,0,1,5284,0,1,5283,0,1, - 5282,0,1,5281,0,1,5280,0,1,5279, - 0,43,1,5035,0,43,1,5034,0,1081, - 1,0,5251,241,0,5250,241,0,5353,241, - 0,5352,241,0,5278,241,0,5277,241,0, - 5276,241,0,5275,241,0,5274,241,0,5273, - 241,0,5272,241,0,5271,241,0,5289,241, - 0,5288,241,0,5287,241,0,5286,241,0, - 5285,241,0,5284,241,0,5283,241,0,5282, - 241,0,5281,241,0,5280,241,0,5279,241, - 0,43,241,5035,0,43,241,5034,0,5059, - 241,0,54,5035,0,54,5034,0,237,842, - 0,383,36,0,36,383,0,382,33,0, - 33,382,0,49,5057,0,49,41,0,5035, - 54,0,5034,54,0,2433,132,0,2433,131, - 0,30,507,0,5345,433,0,1417,433,0, - 5059,1,0,43,1,0,53,41,0,1, - 96,0,41,53,0,5059,228,1,0,43, - 228,1,0,228,407,0,41,5035,0,41, - 5034,0,1,5035,2,0,1,5034,2,0, - 41,5035,2,0,41,5034,2,0,5035,40, - 0,5034,40,0,5057,51,0,51,41,0, - 5027,398,0,5026,398,0,1,720,0,1, - 1034,0,1,2904,0,228,406,0,3030,317, - 0,5345,99,0,1417,99,0,39,78,0, - 1,5345,0,1,1417,0,43,1,5035,2, - 0,43,1,5034,2,0,43,5035,2,0, - 43,5034,2,0,278,3325,0,1,616,0, - 1,2640,0,5025,1,0,489,3552,0,228, - 1,0,228,1,3363,0,5027,228,0,5026, - 228,0,3536,228,0,8,10,0,228,220, - 0,228,219,0,189,3214,0 + 38,29,138,138,97,97,172,172,92,194, + 194,72,72,72,72,72,72,72,72,72, + 73,73,73,68,68,57,57,173,173,74, + 74,74,103,103,174,174,75,75,75,175, + 175,76,76,76,76,76,77,77,71,71, + 71,71,71,71,71,47,47,47,47,47, + 104,104,105,105,48,176,22,22,22,22, + 22,46,46,87,87,87,87,87,145,145, + 140,140,140,140,140,141,141,141,142,142, + 142,143,143,143,144,144,144,88,88,88, + 88,88,89,89,89,12,12,12,12,12, + 12,12,12,12,12,12,100,117,117,117, + 117,117,115,115,115,116,116,147,147,146, + 146,119,119,148,82,82,83,83,85,86, + 84,50,45,149,149,51,49,81,81,150, + 150,139,139,120,121,121,69,69,151,151, + 61,61,61,55,55,54,62,62,66,66, + 53,53,53,90,90,99,98,98,58,58, + 56,56,60,60,43,101,101,101,93,93, + 93,94,95,95,95,96,96,106,106,106, + 108,108,107,107,195,195,91,91,178,178, + 178,178,178,123,44,44,153,177,177,124, + 124,124,124,179,179,33,33,114,125,125, + 125,125,109,109,118,118,118,155,156,156, + 156,156,156,156,156,156,156,182,182,180, + 180,181,181,157,157,157,157,158,183,111, + 110,110,184,184,159,159,159,159,102,102, + 102,185,185,9,186,186,187,160,152,152, + 161,161,162,163,163,6,6,7,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 165,165,165,165,165,165,165,165,165,165, + 65,67,67,166,166,126,126,127,127,127, + 127,127,127,3,167,167,164,164,128,128, + 128,79,80,78,154,154,112,112,188,188, + 188,129,129,122,122,189,189,168,168,881, + 39,1712,1704,911,3084,34,865,31,35,30, + 32,1679,29,27,56,871,110,81,82,112, + 889,894,939,896,990,957,1118,1032,949,1166, + 1159,1173,276,1226,147,331,39,2751,162,148, + 1345,39,850,36,929,2823,34,865,340,35, + 331,39,284,2317,39,850,36,235,1051,34, + 865,31,35,30,32,769,29,27,56,871, + 110,81,82,112,889,1447,939,896,990,957, + 1118,1032,1447,1166,1159,2451,238,233,234,689, + 2566,2043,4524,334,321,1590,323,513,489,277, + 947,317,1556,331,39,293,352,1788,39,444, + 2061,488,4429,245,248,251,254,2577,4090,988, + 941,39,850,36,1671,3171,34,865,31,35, + 63,32,1202,347,1244,1185,350,551,1220,2613, + 2450,2748,2863,3033,4162,1459,39,850,36,2328, + 1051,34,865,31,35,2562,32,769,29,27, + 56,871,110,81,82,112,889,344,939,896, + 990,957,1118,1032,1130,1166,1159,1173,994,1226, + 147,1115,1296,1217,508,148,2705,2823,2435,1109, + 39,850,36,1963,3171,34,865,31,35,62, + 32,388,420,164,949,509,1459,39,850,36, + 2328,1051,34,865,31,35,2562,32,769,29, + 27,56,871,110,81,82,112,889,344,939, + 896,990,957,1118,1032,333,1166,1159,1173,601, + 1226,147,2566,1375,2589,508,148,3149,3287,2435, + 438,3772,67,859,1989,39,850,36,3019,4504, + 34,865,31,35,30,32,509,502,437,3147, + 3154,1890,1544,504,451,447,1729,39,850,36, + 2328,1051,34,865,31,35,2562,32,769,29, + 27,56,871,110,81,82,112,889,344,939, + 896,990,957,1118,1032,565,1166,1159,1173,2506, + 1226,147,2565,48,2636,508,148,2142,208,2435, + 1278,66,1251,39,850,36,2525,4504,34,865, + 31,35,65,32,504,1443,509,1525,39,850, + 36,1960,1051,34,865,31,35,30,32,769, + 29,27,56,871,110,81,82,112,889,1914, + 939,896,990,957,1118,1032,1332,1166,1159,1173, + 2614,1226,147,2565,331,3592,379,148,2317,39, + 850,36,1035,1051,34,865,31,35,30,32, + 769,29,27,56,871,110,81,82,112,889, + 382,939,896,1839,505,1594,39,850,36,1992, + 1051,34,865,31,35,30,32,769,29,27, + 56,871,110,81,82,112,889,2003,939,896, + 990,957,1118,1032,32,1166,1159,1173,994,1226, + 147,2023,3335,3321,379,148,1251,39,850,36, + 1447,4504,34,865,31,35,64,32,1293,1660, + 31,383,712,2084,1900,39,850,36,380,1051, + 34,865,31,35,30,32,769,29,27,56, + 871,110,81,82,112,889,28,939,896,990, + 957,1118,1032,2043,1166,1159,1173,32,1226,147, + 949,675,68,162,148,2015,39,850,36,414, + 1115,34,865,44,35,2968,3666,331,1410,2663, + 38,1453,39,1376,386,1900,39,850,36,384, + 1051,34,865,31,35,30,32,769,29,27, + 56,871,110,81,82,112,889,1233,939,896, + 990,957,1118,1032,55,1166,1159,1173,767,1226, + 147,431,1369,848,373,148,1900,39,850,36, + 450,1051,34,865,31,35,30,32,769,29, + 27,56,871,110,81,82,112,889,1257,939, + 896,990,957,1118,1032,1709,1166,1159,1173,1339, + 1226,147,551,389,420,373,148,1900,39,850, + 36,1035,1051,34,865,31,35,30,32,769, + 29,27,56,871,110,81,82,112,889,855, + 939,896,990,957,1118,1032,327,1166,1159,1173, + 767,1226,147,63,2736,434,373,148,372,331, + 3418,1840,39,850,36,1457,1051,34,865,31, + 35,30,32,769,29,27,56,871,110,81, + 82,112,889,968,939,896,990,957,1118,1032, + 356,1166,1159,1173,32,1226,147,523,736,371, + 379,148,1663,39,850,36,1016,1051,34,865, + 31,35,30,32,769,29,27,56,871,110, + 81,82,112,889,2136,939,896,990,957,1118, + 1032,353,1166,1159,1173,32,1226,147,949,1285, + 369,146,148,1900,39,850,36,1035,1051,34, + 865,31,35,30,32,769,29,27,56,871, + 110,81,82,112,889,425,939,896,990,957, + 1118,1032,355,1166,1159,1173,97,1226,147,523, + 32,1028,163,148,4392,377,1900,39,850,36, + 354,1051,34,865,31,35,30,32,769,29, + 27,56,871,110,81,82,112,889,4111,939, + 896,990,957,1118,1032,1315,1166,1159,1173,1296, + 1226,147,1489,2898,2823,159,148,1900,39,850, + 36,949,1051,34,865,31,35,30,32,769, + 29,27,56,871,110,81,82,112,889,1468, + 939,896,990,957,1118,1032,1624,1166,1159,1173, + 1886,1226,147,330,336,2823,158,148,1900,39, + 850,36,1380,1051,34,865,31,35,30,32, + 769,29,27,56,871,110,81,82,112,889, + 953,939,896,990,957,1118,1032,1069,1166,1159, + 1173,57,1226,147,2029,39,392,157,148,1900, + 39,850,36,1380,1051,34,865,31,35,30, + 32,769,29,27,56,871,110,81,82,112, + 889,2436,939,896,990,957,1118,1032,32,1166, + 1159,1173,621,1226,147,2029,39,392,156,148, + 1900,39,850,36,98,1051,34,865,31,35, + 30,32,769,29,27,56,871,110,81,82, + 112,889,2436,939,896,990,957,1118,1032,1644, + 1166,1159,1173,1023,1226,147,2029,39,392,155, + 148,1900,39,850,36,100,1051,34,865,31, + 35,30,32,769,29,27,56,871,110,81, + 82,112,889,3186,939,896,990,957,1118,1032, + 1017,1166,1159,1173,1639,1226,147,1791,2559,2823, + 154,148,1900,39,850,36,2238,1051,34,865, + 31,35,30,32,769,29,27,56,871,110, + 81,82,112,889,3188,939,896,990,957,1118, + 1032,1909,1166,1159,1173,92,1226,147,106,1808, + 2141,153,148,1900,39,850,36,334,1051,34, + 865,31,35,30,32,769,29,27,56,871, + 110,81,82,112,889,3478,939,896,990,957, + 1118,1032,326,1166,1159,1173,93,1226,147,106, + 331,2944,152,148,1900,39,850,36,3607,1051, + 34,865,31,35,30,32,769,29,27,56, + 871,110,81,82,112,889,327,939,896,990, + 957,1118,1032,1895,1166,1159,1173,1115,1226,147, + 1970,1522,3316,151,148,1900,39,850,36,777, + 1051,34,865,31,35,30,32,769,29,27, + 56,871,110,81,82,112,889,1963,939,896, + 990,957,1118,1032,2549,1166,1159,1173,1296,1226, + 147,1506,2492,2823,150,148,1900,39,850,36, + 2043,1051,34,865,31,35,30,32,769,29, + 27,56,871,110,81,82,112,889,2021,939, + 896,990,957,1118,1032,1490,1166,1159,1173,288, + 1226,147,1309,39,282,149,148,1795,39,850, + 36,333,1051,34,865,31,35,30,32,769, + 29,27,56,871,110,81,82,112,889,2028, + 939,896,990,957,1118,1032,767,1166,1159,1173, + 1972,2624,168,2042,1900,39,850,36,2919,1051, + 34,865,31,35,30,32,769,29,27,56, + 871,110,81,82,112,889,2946,939,896,990, + 957,1118,1032,515,1166,1159,1173,329,1226,147, + 391,420,2347,144,148,2015,39,850,36,67, + 315,34,865,3005,35,2224,39,850,36,1874, + 1051,34,865,31,35,30,32,769,29,27, + 56,871,110,81,82,112,889,73,939,896, + 990,957,1118,1032,949,1166,1159,1173,1451,1226, + 147,3021,207,1447,193,148,2317,39,850,36, + 1447,1051,34,865,31,35,30,32,769,29, + 27,56,871,110,81,82,112,889,325,939, + 896,990,957,1118,1032,523,1166,1159,1173,74, + 2624,168,2317,39,850,36,59,1051,34,865, + 31,35,30,32,769,29,27,56,871,110, + 81,82,112,889,328,939,896,990,957,1118, + 1032,32,1166,1159,1173,2448,2624,168,2015,39, + 850,36,249,1115,34,865,341,35,3692,949, + 331,39,1376,386,2317,39,850,36,292,1051, + 34,865,31,35,30,32,769,29,27,56, + 871,110,81,82,112,889,1447,939,896,990, + 957,1118,1032,424,1166,1159,1173,1447,2624,168, + 2317,39,850,36,2520,1051,34,865,31,35, + 30,32,769,29,27,56,871,110,81,82, + 112,889,58,939,896,990,957,1118,1032,101, + 1166,1159,1173,351,2624,168,2015,39,850,36, + 2007,1093,34,865,3116,35,3744,2106,331,39, + 1376,386,2317,39,850,36,416,1051,34,865, + 31,35,30,32,769,29,27,56,871,110, + 81,82,112,889,1447,939,896,990,957,1118, + 1032,427,1166,1159,1173,1334,2624,168,2362,39, + 850,36,415,1051,34,865,31,35,30,32, + 769,29,27,56,871,110,81,82,112,889, + 94,939,896,990,957,1118,1032,32,1166,1159, + 1173,2646,2624,168,243,39,1342,47,1607,2410, + 46,865,331,39,2663,2718,331,39,1376,386, + 2317,39,850,36,418,1051,34,865,31,35, + 30,32,769,29,27,56,871,110,81,82, + 112,889,1447,939,896,990,957,1118,1032,426, + 1166,2385,331,39,1376,386,2317,39,850,36, + 3362,1051,34,865,31,35,30,32,769,29, + 27,56,871,110,81,82,112,889,2779,939, + 896,990,957,1118,1032,425,2323,2317,39,850, + 36,1430,1051,34,865,31,35,30,32,769, + 29,27,56,871,110,81,82,112,889,2652, + 939,896,990,957,1118,2384,2317,39,850,36, + 515,1051,34,865,31,35,30,32,769,29, + 27,56,871,110,81,82,112,889,2098,939, + 896,990,957,2095,2317,39,850,36,1909,1051, + 34,865,31,35,30,32,769,29,27,56, + 871,110,81,82,112,889,1447,939,896,990, + 2139,2317,39,850,36,400,1051,34,865,31, + 35,30,32,769,29,27,56,871,110,81, + 82,112,889,415,939,896,990,2239,2407,39, + 1376,386,2780,2681,75,517,2317,39,850,36, + 240,1051,34,865,31,35,30,32,769,29, + 27,56,871,110,81,82,90,2317,39,850, + 36,276,1051,34,865,31,35,30,32,769, + 29,27,56,871,110,81,82,112,889,32, + 939,896,1867,1745,1642,1556,235,2317,39,850, + 36,1436,1051,34,865,31,35,30,32,769, + 29,27,56,871,110,81,82,112,889,2676, + 939,896,1882,994,32,238,233,234,1720,1022, + 39,1376,386,1954,2099,39,444,2555,277,4429, + 331,39,2423,2414,1380,1646,32,32,160,1708, + 994,2653,245,248,251,254,2577,166,683,2944, + 940,151,276,1671,387,1366,39,850,36,3127, + 1893,34,865,340,35,3735,1948,2002,2613,2450, + 2748,2863,3033,4162,2317,39,850,36,2121,1051, + 34,865,31,35,30,32,769,29,27,56, + 871,110,81,82,112,889,177,939,896,1962, + 529,352,331,39,1376,386,2094,4524,235,321, + 1590,323,331,39,2663,279,316,1556,232,2862, + 949,352,1430,2435,2999,160,1490,994,345,1244, + 1185,350,77,184,3326,443,343,247,233,234, + 207,218,4409,206,215,216,217,219,345,1244, + 1185,350,160,173,1,2043,2998,2077,529,1130, + 204,3594,1512,994,172,1068,1909,287,187,171, + 174,175,176,177,178,1945,232,974,39,2575, + 1499,3778,3200,160,1447,441,3147,3154,164,1724, + 102,184,3326,2642,2742,2957,560,2328,207,218, + 4409,206,215,216,217,219,771,39,2663,279, + 55,173,1947,2561,2143,232,2328,185,1369,2430, + 73,3149,172,376,865,242,188,171,174,175, + 176,177,178,366,344,76,1781,209,218,4409, + 208,215,216,217,219,2658,1714,32,2071,2328, + 2328,2959,2328,683,2944,988,1996,2455,210,1492, + 2923,2496,3021,1931,220,390,420,232,2455,2554, + 2455,235,211,212,213,214,294,295,296,297, + 1115,419,39,1376,386,4233,1458,50,2636,209, + 218,4409,208,215,216,217,219,3709,3082,1267, + 243,233,234,2328,4520,331,39,1376,386,208, + 210,2750,2923,1714,55,2328,220,2328,2412,374, + 186,232,1369,2596,211,212,213,214,294,295, + 296,297,1447,232,2122,2455,1115,360,55,496, + 2925,4425,1436,2268,403,4367,1369,783,957,3709, + 3185,2413,3037,2803,2851,209,218,4409,208,215, + 216,217,219,2766,404,2089,2923,2328,72,3480, + 2566,398,287,1835,494,495,210,447,2923,32, + 32,1447,220,3256,2526,232,2074,39,280,1436, + 211,212,213,214,294,295,296,297,433,2789, + 2957,2873,1982,868,360,285,235,209,218,4409, + 208,215,216,217,219,3709,3432,71,2392,3291, + 2803,2851,620,331,39,1376,386,1885,210,32, + 2923,352,3640,2713,220,250,233,234,565,331, + 39,293,211,212,213,214,294,295,296,297, + 3158,1155,286,32,405,408,55,3336,345,1244, + 1185,350,2233,984,1369,2802,2007,3709,3614,2317, + 39,850,36,2254,1051,34,865,31,35,30, + 32,769,29,27,56,871,110,81,82,112, + 889,208,939,2050,2317,39,850,36,425,1051, + 34,865,31,35,30,32,769,29,27,56, + 871,110,81,82,112,889,265,939,2057,1507, + 529,235,3211,648,2823,331,39,1376,386,2051, + 438,1309,39,280,331,3060,2663,79,232,771, + 39,2663,3081,384,1693,160,331,39,2663,283, + 253,233,234,184,3326,1958,2898,1677,276,425, + 207,218,4409,206,215,216,217,219,331,39, + 1376,386,334,173,1223,39,850,36,3347,2823, + 34,865,340,35,172,352,422,3782,3376,171, + 174,175,176,177,178,3066,335,336,1759,2524, + 32,55,353,1130,3092,2433,529,994,1447,1369, + 2931,3103,347,1244,1185,350,1384,2898,32,997, + 994,2255,2770,2328,232,278,4524,333,321,1590, + 323,160,164,1098,2435,316,1556,1447,529,184, + 3326,344,402,1663,70,160,207,218,4409,206, + 215,216,217,219,527,514,3658,332,336,173, + 2502,441,1125,160,4304,529,331,39,2663,281, + 172,184,3326,2853,180,171,174,175,176,177, + 178,2371,1436,232,1657,39,1376,386,2588,1909, + 160,235,2071,384,309,313,2328,1711,184,3326, + 3142,2526,199,2348,2527,207,218,4409,206,215, + 216,217,219,3622,2455,2419,2433,55,173,529, + 256,233,234,529,3431,1369,1077,1296,2567,172, + 1514,2640,2823,191,171,174,175,176,177,178, + 2085,232,1447,2925,2328,300,516,2508,160,331, + 39,1376,386,302,2568,2570,184,3326,331,39, + 2663,3104,2455,207,218,4409,206,215,216,217, + 219,507,39,1376,386,32,173,617,61,1088, + 333,529,55,496,533,1436,2620,172,2621,2379, + 52,3479,171,174,175,176,177,178,2129,232, + 595,39,1376,386,55,514,160,1447,2674,4447, + 200,1909,1369,1203,184,3326,32,570,493,495, + 1170,207,218,4409,206,215,216,217,219,1447, + 2419,496,32,55,173,705,994,2633,1447,529, + 32,1369,53,60,994,172,2634,2138,307,196, + 171,174,175,176,177,178,425,232,3130,1752, + 2675,160,2690,2691,160,324,493,495,376,160, + 1883,32,184,3326,105,3613,2692,2331,980,207, + 218,4409,206,215,216,217,219,419,39,1376, + 386,1447,173,793,32,32,32,529,994,994, + 994,32,2302,172,2474,3140,3345,190,171,174, + 175,176,177,178,2898,232,331,39,1376,386, + 55,2513,160,160,160,160,2433,3271,1369,53, + 184,3326,1351,2434,2584,2641,425,207,218,4409, + 206,215,216,217,219,1676,580,1296,1115,55, + 173,2696,2823,4439,3175,336,32,1369,2786,89, + 2943,172,2635,183,3356,198,171,174,175,176, + 177,178,2317,39,850,36,2609,1051,34,865, + 31,35,30,32,769,29,27,56,871,110, + 81,82,112,889,2898,1738,2317,39,850,36, + 333,1051,34,865,31,35,30,32,769,29, + 27,56,871,110,81,82,112,889,2657,1779, + 1777,39,850,36,3483,1115,34,865,340,35, + 4499,2711,1436,2433,3216,336,2433,4328,1084,39, + 3115,36,3347,2823,34,865,340,35,2317,39, + 850,36,74,1051,34,865,31,35,30,32, + 769,29,27,56,871,110,81,82,112,1790, + 202,2709,4524,201,321,1590,323,2715,2720,1239, + 1356,316,1556,1356,2328,2823,352,2328,2823,3229, + 4524,333,321,1590,323,299,1447,2842,5053,316, + 1556,2328,2455,1652,1447,2455,1885,856,2701,5053, + 5053,3640,2328,345,1244,1185,350,5053,32,232, + 32,2007,1786,32,994,2086,5053,994,4304,3605, + 344,32,442,333,2376,994,333,5053,2328,521, + 3660,209,218,4409,208,215,216,217,219,160, + 32,3663,160,2623,2328,32,2455,2328,2732,2593, + 160,2781,210,32,2923,5053,5053,2328,490,3008, + 2919,360,344,570,360,232,211,212,213,214, + 294,295,296,297,5053,344,2172,2803,2851,2172, + 2803,2851,2433,2435,2433,411,3128,209,218,4409, + 208,215,216,217,219,2858,2435,32,2051,2328, + 1540,3093,32,425,1436,5053,2645,1130,210,2734, + 2923,994,2433,1547,511,361,32,232,1447,205, + 2711,203,211,212,213,214,294,295,296,297, + 1183,39,1376,386,32,5053,164,1447,2763,209, + 218,4409,208,215,216,217,219,2874,32,224, + 2433,2328,4132,2133,3061,423,2441,3761,5053,5053, + 210,2898,2923,55,1447,5053,308,298,2433,232, + 1447,1369,53,3119,211,212,213,214,294,295, + 296,297,507,39,1376,386,3730,306,5053,1970, + 5053,209,218,4409,208,215,216,217,219,2734, + 3177,3518,336,2328,3207,2409,2278,32,5053,5053, + 5053,867,210,1130,2923,55,5053,994,512,381, + 1447,232,5053,1369,53,1447,211,212,213,214, + 294,295,296,297,1183,39,1376,386,1447,5053, + 5053,2046,164,209,218,4409,208,215,216,217, + 219,1978,39,850,36,3127,3089,34,865,340, + 35,378,2433,2433,210,32,2923,55,1447,2328, + 221,5053,2433,32,4181,1369,53,994,211,212, + 213,214,294,295,296,297,5053,344,5053,5053, + 5053,5053,5053,2058,5053,5053,5053,5053,5053,305, + 225,5053,160,4524,3293,321,1590,323,2435,301, + 3238,1969,316,1556,5053,5053,5053,352,5053,5053, + 518,2317,39,850,36,1589,1051,34,865,31, + 35,30,32,769,29,27,56,871,110,81, + 82,112,1793,5053,345,1244,1185,350,2317,39, + 850,36,519,1051,34,865,31,35,30,32, + 769,29,27,56,871,110,81,82,112,1832, + 2317,1410,850,1417,5053,1051,34,865,31,35, + 30,32,769,29,27,56,871,110,81,82, + 89,2317,39,850,36,5053,1051,34,865,31, + 35,30,32,769,29,27,56,871,110,81, + 82,88,2317,39,850,36,5053,1051,34,865, + 31,35,30,32,769,29,27,56,871,110, + 81,82,87,2317,39,850,36,5053,1051,34, + 865,31,35,30,32,769,29,27,56,871, + 110,81,82,86,2317,39,850,36,5053,1051, + 34,865,31,35,30,32,769,29,27,56, + 871,110,81,82,85,2317,39,850,36,5053, + 1051,34,865,31,35,30,32,769,29,27, + 56,871,110,81,82,84,2317,39,850,36, + 5053,1051,34,865,31,35,30,32,769,29, + 27,56,871,110,81,82,83,2175,39,850, + 36,5053,1051,34,865,31,35,30,32,769, + 29,27,56,871,110,81,82,108,2317,39, + 850,36,5053,1051,34,865,31,35,30,32, + 769,29,27,56,871,110,81,82,114,2317, + 39,850,36,5053,1051,34,865,31,35,30, + 32,769,29,27,56,871,110,81,82,113, + 2317,39,850,36,5053,1051,34,865,31,35, + 30,32,769,29,27,56,871,110,81,82, + 111,2317,39,850,36,5053,1051,34,865,31, + 35,30,32,769,29,27,56,871,110,81, + 82,109,1570,39,850,36,3347,5053,34,865, + 340,35,2272,39,850,36,5053,1051,34,865, + 31,35,30,32,769,29,27,56,871,91, + 81,82,2465,39,1376,386,5053,2681,5053,1326, + 39,3115,36,3347,241,34,865,340,35,32, + 5053,2433,5053,994,4524,5053,321,1590,323,5053, + 5053,5053,5053,316,1556,276,5053,5053,5053,5053, + 5053,1663,5053,1585,39,850,36,3347,160,34, + 865,340,35,5053,5053,5053,5053,3748,197,5053, + 235,4524,5053,321,1590,323,5053,5053,5053,5053, + 316,1556,5053,1183,39,1376,386,5053,856,1585, + 39,850,36,3347,5053,34,865,340,35,239, + 233,234,309,313,5053,4524,1130,321,1590,323, + 994,5053,277,5053,316,1556,55,5053,5053,5053, + 5053,3773,1663,5053,1369,53,246,249,252,255, + 2577,5053,3431,5053,5053,164,5053,1671,5053,5053, + 5053,4524,2146,321,1590,323,5053,5053,5053,5053, + 316,1556,5053,5053,1100,39,850,36,3229,2823, + 34,865,340,35,5053,5053,5053,5053,5053,5053, + 5053,5053,5053,310,313,5053,412,3128,1100,39, + 850,36,5053,2823,34,865,340,35,5053,1585, + 39,850,36,3347,5053,34,865,340,35,5053, + 5053,5053,5053,3496,5053,5053,4524,334,321,1590, + 323,5053,5053,5053,5053,319,1556,1437,39,850, + 36,3438,5053,34,865,340,35,5053,5053,5053, + 4524,334,321,1590,323,5053,5053,5053,5053,317, + 1556,4524,1191,321,1590,323,2328,4520,5053,5053, + 316,1556,5053,5053,399,5053,5053,5053,3477,1964, + 39,850,36,2974,232,34,865,340,35,4524, + 5053,318,3101,323,5053,1183,39,1376,386,1183, + 39,1376,386,5053,5053,5053,2268,403,4367,2220, + 39,1376,386,5053,5053,5053,5053,2438,5053,5053, + 5053,529,5053,5053,5053,5053,5053,404,55,2923, + 5053,4524,55,318,3101,323,1369,53,5053,344, + 1369,53,55,1997,32,5053,160,2328,529,5053, + 1369,53,5053,5053,2182,192,5053,5053,2502,5053, + 4339,5053,5053,5053,2873,344,344,5053,633,2269, + 39,1376,386,160,331,39,1376,386,5053,522, + 5053,5053,980,5053,5053,5053,2435,2435,2818,5053, + 331,39,1376,386,331,39,1376,386,5053,5053, + 5053,5053,55,525,612,5053,5053,55,5053,5053, + 1369,53,5053,5053,5053,1369,848,405,407,5053, + 194,32,5053,55,5053,529,5053,55,2839,5053, + 2818,1369,2709,32,32,1369,2891,529,529,5053, + 5053,5053,2391,344,2699,32,5053,32,5053,2328, + 160,2328,5053,32,5053,344,344,2328,5053,192, + 5053,32,160,160,4339,2328,5053,344,5053,344, + 5053,192,192,5053,5053,344,4339,4339,5053,5053, + 32,5053,5053,344,2328,5053,5053,5053,2435,5053, + 2435,3678,5053,5053,5053,5053,2435,5053,5053,5053, + 5053,5053,344,5053,2435,1670,5053,2296,5053,5053, + 5053,5053,5053,500,5053,5053,5053,5053,5053,5053, + 5053,498,5053,2435,3628,5053,5053,5053,5053,5053, + 5053,5053,3503,5053,5053,5053,3647,3674,5053,5053, + 526,5053,0,43,5071,0,43,5070,0,1027, + 33,0,445,1214,0,42,5071,0,42,5070, + 0,2387,130,0,1,435,0,449,734,0, + 448,1030,0,1027,45,0,964,95,0,1027, + 385,0,39,37,0,36,38,0,43,1047, + 0,1,711,0,1,5328,0,1,5327,0, + 1,5326,0,1,5325,0,1,5324,0,1, + 5323,0,1,5322,0,1,5321,0,1,5320, + 0,1,5319,0,1,5318,0,43,1,5071, + 0,43,1,5070,0,2134,1,0,5290,244, + 0,5289,244,0,5392,244,0,5391,244,0, + 5317,244,0,5316,244,0,5315,244,0,5314, + 244,0,5313,244,0,5312,244,0,5311,244, + 0,5310,244,0,5328,244,0,5327,244,0, + 5326,244,0,5325,244,0,5324,244,0,5323, + 244,0,5322,244,0,5321,244,0,5320,244, + 0,5319,244,0,5318,244,0,43,244,5071, + 0,43,244,5070,0,5095,244,0,54,5071, + 0,54,5070,0,240,704,0,386,36,0, + 36,386,0,385,33,0,33,385,0,49, + 5093,0,49,41,0,5071,54,0,5070,54, + 0,2387,132,0,2387,131,0,30,510,0, + 5384,436,0,1255,436,0,5095,1,0,43, + 1,0,53,41,0,1,96,0,41,53, + 0,5095,231,1,0,43,231,1,0,231, + 410,0,41,5071,0,41,5070,0,1,5071, + 2,0,1,5070,2,0,41,5071,2,0, + 41,5070,2,0,5071,40,0,5070,40,0, + 5093,51,0,51,41,0,5063,401,0,5062, + 401,0,1,4239,0,1,1047,0,1,2612, + 0,231,409,0,2829,320,0,5384,99,0, + 1255,99,0,39,78,0,1,5384,0,1, + 1255,0,43,1,5071,2,0,43,1,5070, + 2,0,43,5071,2,0,43,5070,2,0, + 281,3003,0,1,1424,0,1,1465,0,5061, + 1,0,492,3553,0,231,1,0,231,1, + 3246,0,5063,231,0,5062,231,0,3359,231, + 0,8,10,0,231,223,0,231,222,0, + 189,3235,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1024,312 +1032,303 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 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, - 0,31,32,33,34,35,36,0,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,0,57,58,59, - 60,61,62,63,64,0,1,2,68,69, - 70,71,7,73,0,75,76,77,78,79, - 80,81,8,83,84,85,86,87,0,1, + 0,0,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,0,63,64,65,0,0,68,69, + 70,71,0,0,74,8,76,77,78,79, + 80,81,82,83,84,85,86,87,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,62,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,57,58,59,60,61, - 62,63,64,0,0,30,68,69,70,71, - 0,73,8,75,76,77,78,79,80,81, - 10,83,84,85,86,87,0,1,2,3, + 22,23,24,25,26,27,28,29,88,89, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,63,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 0,63,64,65,88,89,68,69,70,71, + 88,89,74,101,76,77,78,79,80,81, + 82,83,84,85,86,87,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,0,31,32,33, - 34,35,36,0,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,0,57,58,59,60,61,62,63, - 64,88,89,30,68,69,70,0,0,73, - 0,75,76,77,78,79,80,81,0,83, + 24,25,26,27,28,29,0,0,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,55,56,57,58,59,60,61,31,63, + 64,65,0,1,2,69,70,71,0,7, + 74,101,76,77,78,79,80,81,82,83, 84,85,86,87,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,0,31,32,33,34,35, - 36,0,38,39,40,41,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 72,57,58,59,60,61,62,63,64,97, - 98,30,68,69,70,88,89,73,0,75, - 76,77,78,79,80,81,0,83,84,85, + 26,27,28,29,88,89,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,55, + 56,57,58,59,60,61,0,63,64,65, + 0,1,2,69,70,71,88,89,74,0, + 76,77,78,79,80,81,82,83,84,85, 86,87,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,0,31,32,33,34,35,36,0, + 28,29,0,0,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,0,57, - 58,59,60,61,62,63,64,0,1,2, - 68,69,70,0,0,73,37,75,76,77, - 78,79,80,81,0,83,84,85,86,87, + 0,49,50,51,52,53,54,55,56,57, + 58,59,60,61,0,63,64,65,0,1, + 2,69,70,71,0,99,74,0,76,77, + 78,79,80,81,82,83,84,85,86,87, 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, - 0,31,32,33,34,35,36,0,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,72,57,58,59, - 60,61,62,63,64,0,1,2,68,69, - 70,88,89,73,37,75,76,77,78,79, - 80,81,0,83,84,85,86,87,0,1, + 46,47,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,119,63,64,65,0,1,2,69, + 70,71,0,99,74,3,76,77,78,79, + 80,81,82,83,84,85,86,87,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,0,31, - 32,33,34,35,36,95,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,0,57,58,59,60,61, - 62,63,64,0,1,2,68,69,70,0, - 0,73,0,75,76,77,78,79,80,81, - 0,83,84,85,86,87,0,1,2,3, + 22,23,24,25,26,27,28,29,0,0, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,0,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 31,63,64,65,0,1,2,69,70,71, + 0,0,74,3,76,77,78,79,80,81, + 82,83,84,85,86,87,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,0,31,32,33, - 34,35,36,0,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,72,57,58,59,60,61,62,63, - 64,0,72,30,68,69,70,88,89,73, - 0,75,76,77,78,79,80,81,0,83, + 24,25,26,27,28,29,0,0,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,55,56,57,58,59,60,61,31,63, + 64,65,0,1,2,69,70,71,0,0, + 74,3,76,77,78,79,80,81,82,83, 84,85,86,87,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,0,31,32,33,34,35, - 36,0,38,39,40,41,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 0,57,58,59,60,61,62,63,64,88, - 89,30,68,69,70,0,0,73,3,75, - 76,77,78,79,80,81,0,83,84,85, + 26,27,28,29,0,0,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,55, + 56,57,58,59,60,61,0,63,64,65, + 0,1,2,69,70,71,0,0,74,3, + 76,77,78,79,80,81,82,83,84,85, 86,87,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,0,31,32,33,34,35,36,0, + 28,29,0,57,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,72,57, - 58,59,60,61,62,63,64,97,98,0, - 68,69,70,4,0,73,37,75,76,77, - 78,79,80,81,0,83,84,85,86,87, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, + 0,49,50,51,52,53,54,55,56,57, + 58,59,60,61,0,63,64,65,0,1, + 2,69,70,71,0,0,74,0,76,77, + 78,79,80,81,82,83,84,85,86,87, + 0,1,2,3,4,5,6,7,8,31, + 10,11,12,0,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 0,31,32,33,34,35,36,0,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,72,57,58,59, - 60,61,62,63,64,0,0,30,68,69, - 70,0,0,73,3,75,76,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,0,10,11, - 12,0,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,72,57,0,0,1,2, - 62,4,5,0,7,90,68,69,70,0, - 0,96,3,0,67,6,100,8,9,9, - 11,12,13,0,1,2,3,4,5,6, - 7,8,0,0,37,26,27,4,6,30, - 0,1,2,3,4,5,6,7,8,102, - 0,104,105,106,107,108,109,110,111,112, - 113,11,12,30,117,56,0,1,2,0, - 4,5,121,7,65,66,67,102,9,56, - 71,72,13,74,74,0,1,2,0,4, - 67,6,117,8,9,99,56,88,89,90, - 91,92,93,94,95,96,97,98,99,100, - 101,102,103,104,105,106,107,108,109,110, - 111,112,113,91,92,0,117,118,3,120, - 121,6,0,8,9,66,11,12,13,0, - 0,1,2,3,4,5,6,7,8,0, - 0,26,27,65,66,30,0,0,0,74, - 0,1,2,3,4,5,6,7,8,30, - 14,0,1,2,3,4,5,6,7,8, - 95,56,0,1,2,3,0,5,56,7, - 65,66,67,0,1,2,71,72,5,74, - 7,45,46,47,48,49,50,51,52,53, - 54,55,72,88,89,90,91,92,93,94, - 95,96,97,98,99,100,101,102,103,104, + 0,0,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,0,49, + 50,51,52,53,54,55,56,57,10,0, + 0,1,2,63,4,5,0,7,0,69, + 70,71,0,14,100,3,0,9,6,66, + 8,9,95,11,12,13,102,0,1,2, + 14,31,5,0,1,2,30,4,26,27, + 0,117,30,0,45,46,47,0,49,50, + 51,52,53,54,55,56,0,14,31,3, + 48,45,46,47,31,49,50,51,52,53, + 54,55,56,0,62,0,0,30,66,67, + 68,0,1,2,72,73,5,0,45,46, + 47,121,49,50,51,52,53,54,55,56, + 88,89,90,91,92,93,94,95,96,97, + 98,99,100,101,102,103,104,105,106,107, + 108,109,110,111,112,113,118,0,0,117, + 118,3,120,121,6,48,8,9,62,11, + 12,13,67,0,1,2,3,4,5,6, + 7,8,0,0,26,27,4,0,30,0, + 1,2,3,4,5,6,7,8,0,1, + 2,14,4,5,0,7,48,102,4,104, 105,106,107,108,109,110,111,112,113,0, - 1,2,117,118,5,120,121,0,1,2, - 3,4,5,6,7,8,9,10,101,101, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,0,1,2,3,0,5,0, - 7,4,9,6,37,8,13,0,1,2, - 0,4,45,46,47,48,49,50,51,52, - 53,54,55,0,0,58,0,1,2,62, - 4,0,6,0,8,68,69,70,71,72, - 73,0,1,2,37,4,5,0,7,82, + 62,0,117,66,66,67,68,45,9,31, + 72,73,45,46,47,0,49,50,51,52, + 53,54,55,56,0,72,88,89,90,91, + 92,93,94,95,96,97,98,99,100,101, + 102,103,104,105,106,107,108,109,110,111, + 112,113,0,1,2,117,118,0,120,121, 0,1,2,3,4,5,6,7,8,9, - 10,30,0,13,14,15,16,17,18,19, - 20,21,22,23,24,25,66,0,37,46, - 47,114,115,116,0,1,2,37,4,5, - 0,7,0,3,95,45,46,47,48,49, - 50,51,52,53,54,55,14,0,58,0, - 1,2,62,4,0,6,0,8,68,69, - 70,71,72,73,0,0,1,2,3,4, - 0,6,82,8,4,11,12,45,46,47, - 48,49,50,51,52,53,54,55,0,1, - 2,3,0,5,0,7,4,9,0,1, - 2,13,4,56,114,115,116,0,1,2, - 3,4,5,6,7,8,99,10,11,12, - 0,56,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,45,31,32, - 33,34,35,36,0,38,39,40,41,42, - 43,44,0,9,100,0,1,2,3,65, - 5,9,7,0,57,13,0,1,2,0, - 63,64,0,1,2,3,56,5,9,7, - 73,0,1,2,3,4,5,6,7,8, - 0,10,11,12,4,0,15,16,17,18, + 10,0,73,13,14,15,16,17,18,19, + 20,21,22,23,24,25,0,1,2,0, + 66,31,0,1,2,3,4,5,6,7, + 8,30,0,1,2,45,46,47,0,49, + 50,51,52,53,54,55,56,31,58,30, + 0,1,2,63,4,5,0,7,68,69, + 70,71,72,31,74,75,0,1,2,3, + 4,5,6,7,8,9,10,0,0,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,0,1,2,0,4,31,6,4, + 8,6,0,8,114,115,116,30,0,1, + 2,45,46,47,0,49,50,51,52,53, + 54,55,56,0,58,0,1,2,3,63, + 5,0,7,0,68,69,70,71,72,31, + 74,75,11,12,0,1,2,3,4,5, + 6,7,8,97,98,0,1,2,0,4, + 122,6,48,8,9,0,1,2,3,4, + 5,6,7,8,0,1,2,0,4,0, + 114,115,116,0,1,2,3,4,5,6, + 7,8,48,10,11,12,0,72,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,48,0,32,33,34,35,36, + 37,38,39,40,41,42,43,44,73,0, + 97,98,67,59,5,0,0,1,2,3, + 57,5,0,7,9,9,0,64,65,13, + 95,72,0,1,2,9,0,74,0,1, + 2,3,4,5,6,7,8,0,10,11, + 12,4,30,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,0,0, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,68,48,0,0,1,2,3, + 4,0,6,0,8,57,64,65,30,73, + 62,0,64,65,0,1,2,3,4,5, + 6,7,8,9,10,11,12,48,0,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,48,0,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 1,2,3,62,5,62,7,66,9,66, + 59,57,13,59,0,1,2,3,0,5, + 0,7,68,0,1,2,3,4,5,6, + 7,8,9,10,11,12,0,0,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,0,119,32,33,34,35,36, + 37,38,39,40,41,42,43,44,0,1, + 2,0,4,0,6,0,8,4,3,8, + 57,0,59,30,9,100,0,1,2,0, + 9,68,0,1,2,3,4,5,6,7, + 8,0,10,11,12,0,0,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,0,48,32,33,34,35,36,37, + 38,39,40,41,42,43,44,62,0,1, + 2,66,4,0,6,0,8,66,73,57, + 64,65,9,0,73,119,64,65,0,1, + 2,3,4,5,6,7,8,62,10,11, + 12,66,66,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,0,67, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,114,115,116,0,1,2,3, + 0,5,59,7,4,57,73,0,1,2, + 0,4,64,65,0,1,2,3,4,5, + 6,7,8,9,10,11,12,0,95,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,48,67,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 1,2,3,4,5,6,7,8,0,10, + 11,12,62,0,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,62, + 0,32,33,34,35,36,37,38,39,40, + 41,42,43,44,0,0,1,2,4,4, + 0,6,0,8,0,3,57,3,59,0, + 1,2,3,4,5,6,7,8,0,10, + 11,12,118,0,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,45, + 0,32,33,34,35,36,37,38,39,40, + 41,42,43,44,0,0,0,0,4,3, + 3,5,6,0,8,0,57,11,12,0, + 30,67,3,0,1,2,3,59,5,0, + 7,0,26,27,30,29,30,0,1,2, + 3,0,5,30,7,26,27,6,0,1, + 2,0,4,5,48,7,0,6,114,115, + 116,0,0,90,3,9,0,48,62,96, + 64,65,66,67,0,1,2,11,12,5, + 0,7,0,1,2,48,6,0,0,1, + 2,62,30,6,88,89,90,91,92,93, + 94,0,0,97,98,99,100,101,102,103, + 104,105,106,107,108,109,110,111,112,113, + 0,90,103,3,62,5,6,96,8,73, + 0,11,12,0,1,2,0,1,2,120, + 10,59,91,92,0,0,26,27,0,29, + 30,3,0,0,10,93,94,0,0,1, + 2,31,4,0,31,0,9,31,48,0, + 13,91,92,4,72,31,11,12,91,92, + 0,0,62,3,64,65,66,67,0,0, + 9,90,0,63,13,0,48,96,3,30, + 0,9,0,3,59,123,0,63,88,89, + 90,91,92,93,94,62,28,97,98,99, + 100,101,102,103,104,105,106,107,108,109, + 110,111,112,113,0,1,2,3,4,5, + 6,7,8,48,10,11,12,66,48,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,62,73,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 1,2,48,0,1,2,3,4,5,6, + 7,8,0,10,11,12,4,0,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,0,0,32,33,34,35,36, + 37,38,39,40,41,42,43,44,0,1, + 2,0,1,2,3,4,5,6,7,8, + 57,10,11,12,0,48,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, - 29,56,31,32,33,34,35,36,74,38, - 39,40,41,42,43,44,74,0,0,63, - 64,3,5,0,1,2,0,9,57,95, - 0,1,2,74,63,64,65,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 65,66,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,37,31,32, - 33,34,35,36,56,38,39,40,41,42, - 43,44,59,65,66,59,0,1,2,3, - 0,5,74,7,57,0,59,0,0,1, - 2,3,0,5,0,7,4,3,71,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,0,0,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,0, - 31,32,33,34,35,36,123,38,39,40, - 41,42,43,44,56,0,1,2,72,4, - 56,6,65,8,0,0,57,0,59,30, - 75,0,1,2,3,4,5,6,7,8, - 71,10,11,12,0,95,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,0,31,32,33,34,35,36,0,38, - 39,40,41,42,43,44,0,1,2,0, - 4,0,6,59,8,0,1,2,57,4, - 65,30,11,12,63,64,0,1,2,3, - 4,5,6,7,8,122,10,11,12,65, - 66,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,65,31,32,33, - 34,35,36,65,38,39,40,41,42,43, - 44,114,115,116,59,66,0,0,1,2, - 4,4,0,57,93,94,0,1,2,63, - 64,0,1,2,3,4,5,6,7,8, - 9,10,11,12,0,0,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,45,31,32,33,34,35,36,0,38, + 29,0,48,32,33,34,35,36,37,38, 39,40,41,42,43,44,0,1,2,3, - 4,5,6,7,8,0,10,11,12,63, - 64,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,31,32,33, - 34,35,36,0,38,39,40,41,42,43, - 44,0,0,1,2,0,1,2,0,0, - 114,115,116,57,66,59,0,1,2,3, - 4,5,6,7,8,0,10,11,12,118, - 65,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,31,32,33, - 34,35,36,67,38,39,40,41,42,43, - 44,0,0,0,0,56,3,3,5,6, - 9,8,0,57,11,12,14,15,16,17, - 18,19,20,21,22,23,24,25,0,26, - 27,90,29,30,0,1,2,96,90,5, - 0,0,14,3,96,4,0,45,46,47, - 48,49,50,51,52,53,54,55,0,56, - 56,0,1,2,6,0,63,64,65,66, - 67,37,0,45,46,47,48,49,50,51, - 52,53,54,55,0,0,0,0,1,2, - 6,88,89,90,91,92,93,94,37,14, - 97,98,99,100,101,102,103,104,105,106, - 107,108,109,110,111,112,113,0,0,118, - 3,56,5,6,37,8,0,9,11,12, - 45,46,47,48,49,50,51,52,53,54, - 55,0,0,26,27,3,29,30,0,91, - 92,0,1,2,0,1,2,0,1,2, - 0,0,90,0,1,2,0,0,96,3, - 9,30,0,56,13,91,92,0,1,2, - 63,64,65,66,67,0,0,0,37,71, - 0,37,66,3,37,9,9,0,56,13, - 0,1,2,6,56,88,89,90,91,92, - 93,94,0,72,97,98,99,100,101,102, - 103,104,105,106,107,108,109,110,111,112, - 113,0,1,2,3,4,5,6,7,8, - 0,10,11,12,4,0,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,74,31,32,33,34,35,36,0,38, - 39,40,41,42,43,44,0,9,0,1, - 2,3,4,5,6,7,8,56,10,11, - 12,0,0,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,0,31, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,0,1,2,0,1,2,3, - 4,5,6,7,8,57,10,11,12,71, + 4,5,6,7,8,72,10,11,12,28, 0,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,65,31,32,33, - 34,35,36,0,38,39,40,41,42,43, + 24,25,26,27,28,29,0,0,32,33, + 34,35,36,37,38,39,40,41,42,43, 44,0,1,2,3,4,5,6,7,8, - 0,10,11,12,0,0,15,16,17,18, + 0,10,11,12,4,0,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, - 29,0,31,32,33,34,35,36,0,38, - 39,40,41,42,43,44,0,1,2,3, - 4,5,6,7,8,0,10,11,12,0, - 67,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,66,31,32,33, - 34,35,36,0,38,39,40,41,42,43, - 44,0,1,2,0,4,0,1,2,0, - 0,10,0,4,10,14,15,16,17,18, - 19,20,21,22,23,24,25,0,59,0, - 0,0,67,3,0,4,9,3,9,30, - 13,37,0,119,119,3,45,46,47,48, - 49,50,51,52,53,54,55,0,0,1, - 2,30,4,62,0,72,62,10,10,68, - 69,70,14,15,16,17,18,19,20,21, - 22,23,24,25,0,1,2,3,4,5, - 6,7,8,9,37,66,0,13,14,3, - 71,67,0,45,46,47,48,49,50,51, - 52,53,54,55,30,0,0,0,3,62, - 62,0,26,27,3,0,68,69,70,45, - 46,47,48,49,50,51,52,53,54,55, - 56,0,1,2,3,4,5,6,7,8, - 9,0,56,0,13,14,0,0,74,3, - 9,0,0,0,3,3,3,65,0,1, + 29,0,62,32,33,34,35,36,37,38, + 39,40,41,42,43,44,0,1,2,0, + 4,0,0,66,3,3,10,0,0,0, + 14,15,16,17,18,19,20,21,22,23, + 24,25,0,0,0,0,90,0,3,30, + 0,9,96,9,0,13,9,13,30,9, + 13,45,46,47,0,49,50,51,52,53, + 54,55,56,9,0,1,2,76,4,63, + 95,62,28,0,10,69,70,71,14,15, + 16,17,18,19,20,21,22,23,24,25, + 72,0,1,2,3,4,5,6,7,8, + 9,0,93,94,13,14,66,0,68,45, + 46,47,0,49,50,51,52,53,54,55, + 56,30,68,0,0,0,0,63,3,3, + 0,30,59,69,70,71,45,46,47,48, + 49,50,51,52,53,54,55,56,0,1, 2,3,4,5,6,7,8,9,0,0, - 0,13,14,30,67,0,45,46,47,48, - 49,50,51,52,53,54,55,56,30,103, - 0,0,0,3,3,37,0,0,30,30, - 30,0,0,0,57,74,120,66,65,0, - 9,0,0,0,0,74,58,0,60,61, - 0,1,2,3,4,5,6,7,8,9, - 28,0,0,13,14,0,93,94,3,30, - 82,66,10,0,30,0,1,2,3,4, - 5,6,7,8,9,59,59,37,13,14, - 0,1,2,3,4,5,6,7,8,9, - 67,28,59,13,14,74,0,66,58,65, - 60,61,37,0,67,0,3,0,3,0, - 3,71,60,0,0,0,3,37,67,0, - 0,0,82,58,3,60,61,93,94,0, - 0,119,3,0,0,0,71,0,58,0, - 60,61,0,0,30,0,0,82,28,0, - 0,71,0,1,2,3,4,5,6,7, - 8,9,82,67,0,13,14,0,1,2, - 3,4,5,6,7,8,9,0,0,0, - 13,14,67,0,0,76,67,0,0,37, - 0,0,0,1,2,3,4,5,6,7, - 8,9,0,0,37,13,14,0,0,0, - 58,0,60,61,0,0,0,0,0,0, - 0,0,0,71,0,58,0,60,61,37, - 0,0,0,0,82,0,0,0,71,0, - 0,0,0,0,0,0,0,0,0,82, - 58,0,60,61,0,1,2,3,4,5, - 6,7,8,9,0,0,0,13,14,0, - 0,0,0,0,82,0,0,0,0,0, + 0,13,14,4,73,0,0,0,10,0, + 3,59,3,66,14,15,16,17,18,19, + 20,21,22,23,24,25,0,0,0,30, + 67,67,0,45,46,47,48,49,50,51, + 52,53,54,55,56,45,46,47,0,49, + 50,51,52,53,54,55,56,30,60,0, + 0,73,0,1,2,3,4,5,6,7, + 8,9,0,0,0,13,14,72,72,0, + 0,0,1,2,3,4,5,6,7,8, + 9,0,30,31,13,14,0,0,1,2, + 3,4,5,6,7,8,9,0,0,30, + 13,14,31,0,0,0,3,3,0,0, + 58,30,60,61,9,77,67,67,31,0, + 0,0,3,3,3,0,0,75,3,58, + 0,60,61,0,72,72,72,67,0,68, + 0,3,0,62,0,58,75,60,61,0, + 0,0,0,67,0,68,30,0,0,0, + 0,0,75,0,1,2,3,4,5,6, + 7,8,9,0,93,94,13,14,73,0, 1,2,3,4,5,6,7,8,9,0, - 0,37,13,14,0,0,0,0,0,0, + 0,0,13,14,31,0,1,2,3,4, + 5,6,7,8,9,0,66,0,13,14, + 31,67,0,0,0,0,67,0,0,0, + 0,58,0,60,61,95,31,0,0,0, + 0,68,0,0,0,0,0,58,75,60, + 61,0,0,0,0,0,0,68,0,0, + 0,0,0,58,75,60,61,0,0,0, + 0,0,0,68,0,0,0,0,0,0, + 75,0,1,2,3,4,5,6,7,8, + 9,0,0,0,13,14,0,0,1,2, + 3,4,5,6,7,8,9,0,0,0, + 13,14,31,0,1,2,3,4,5,6, + 7,8,9,0,0,0,13,14,31,0, + 0,0,0,0,0,0,0,0,0,58, + 0,60,61,0,31,0,0,0,0,0, + 0,0,0,0,0,58,75,60,61,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,58,0,60,61,37,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,82,58,0,60, - 61,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,82,0,0,0,0,0,0,0,0, + 0,58,75,60,61,0,0,0,0,0, + 0,0,0,0,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,0,0,0,0,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; @@ -1337,311 +1336,301 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5017,4992,4989,4989,4989,4989,4989,4989,4989,5002, - 1,1,1,4999,1,1,1,1,1,1, + 5053,5028,5025,5025,5025,5025,5025,5025,5025,5038, + 1,1,1,5035,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5017,1,1, + 125,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5053,1, + 1,1,1,1,1,1,1,1,1548,2657, + 1179,3208,141,1,1,1,129,135,5060,1, + 1,1,128,5053,5232,2246,1581,3276,3436,2098, + 3433,3237,2916,3263,904,3262,2523,3260,8,5041, + 5041,5041,5041,5041,5041,5041,5041,5041,5041,5041, + 5041,5041,5041,5041,5041,5041,5041,5041,5041,5041, + 5041,5041,5041,5041,5041,5041,5041,5041,2869,2894, + 5041,5041,5041,5041,5041,5041,5041,5041,5041,5041, + 5041,5041,5041,5041,5041,5041,1506,5041,5041,5041, + 5041,5041,5041,5041,5041,5041,5041,5041,5041,5041, + 142,5041,5041,5041,2869,2894,5041,5041,5041,5041, + 2869,2894,5041,2150,5041,5041,5041,5041,5041,5041, + 5041,5041,5041,5041,5041,5041,5053,5028,5025,5025, + 5025,5025,5025,5025,5025,5032,1,1,1,5035, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5017,1,2352,3242, - 646,3327,1,1,1,42,4652,4649,1,1, - 1,5024,831,5196,135,2236,3382,2807,2054,2598, - 3345,2895,2203,3379,638,3376,3353,3370,8,5005, - 5005,5005,5005,5005,5005,5005,5005,5005,5005,5005, - 5005,5005,5005,5005,5005,5005,5005,5005,5005,5005, - 5005,5005,5005,5005,5005,5005,5005,5005,3662,5005, - 5005,5005,5005,5005,5005,5017,5005,5005,5005,5005, - 5005,5005,5005,5005,5005,5005,5005,5005,5005,5005, - 5005,5005,5005,5005,5017,5005,5005,5005,5005,5005, - 5005,5005,5005,125,136,3189,5005,5005,5005,5005, - 301,5005,2203,5005,5005,5005,5005,5005,5005,5005, - 5317,5005,5005,5005,5005,5005,5017,4992,4989,4989, - 4989,4989,4989,4989,4989,4996,1,1,1,4999, + 1,1,1,1,1,1,127,41,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5017,1,1,1, - 1,1,1,5017,1,1,1,1,1,1, + 1,1,1,1,5053,1,1,1,1,1, + 1,1,1,1,1548,2657,1179,3208,5093,1, + 1,1,42,4688,4685,1,1,1,126,640, + 5232,2150,1581,3276,3436,2098,3433,3237,2916,3263, + 904,3262,2523,3260,5053,5028,5025,5025,5025,5025, + 5025,5025,5025,5032,1,1,1,5035,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,133,1,2352,3242,646,3327,1,1, - 1,2348,2854,3221,1,1,1,129,5017,5196, - 5017,2236,3382,2807,2054,2598,3345,2895,5017,3379, - 638,3376,3353,3370,5017,4992,4989,4989,4989,4989, - 4989,4989,4989,4996,1,1,1,4999,1,1, + 1,1,1,1,2869,2894,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5017,1,1,1,1,1, - 1,5017,1,1,1,1,1,1,1,1, + 1,1,5053,1,1,1,1,1,1,1, + 1,1,1548,2657,1179,3208,137,1,1,1, + 5053,5070,5071,1,1,1,2869,2894,5232,5053, + 1581,3276,3436,2098,3433,3237,2916,3263,904,3262, + 2523,3260,5053,5028,5025,5025,5025,5025,5025,5025, + 5025,5032,1,1,1,5035,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1751,1,2352,3242,646,3327,1,1,1,2259, - 2232,3244,1,1,1,2348,2854,5196,5017,2236, - 3382,2807,2054,2598,3345,2895,5017,3379,638,3376, - 3353,3370,5017,4992,4989,4989,4989,4989,4989,4989, - 4989,4996,1,1,1,4999,1,1,1,1, + 1,1,5053,5053,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5017,1,1,1,1,1,1,41, + 5053,1,1,1,1,1,1,1,1,1, + 1548,2657,1179,3208,138,1,1,1,5053,4851, + 4848,1,1,1,337,2217,5232,5053,1581,3276, + 3436,2098,3433,3237,2916,3263,904,3262,2523,3260, + 5053,5028,5025,5025,5025,5025,5025,5025,5025,5032, + 1,1,1,5035,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5017,1, - 2352,3242,646,3327,1,1,1,5017,5034,5035, - 1,1,1,128,418,5196,5057,2236,3382,2807, - 2054,2598,3345,2895,5017,3379,638,3376,3353,3370, - 5017,4992,4989,4989,4989,4989,4989,4989,4989,4996, - 1,1,1,4999,1,1,1,1,1,1, + 5391,5392,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5053,1, + 1,1,1,1,1,1,1,1,1548,2657, + 1179,3208,3351,1,1,1,54,4878,4875,1, + 1,1,5053,2217,5232,3232,1581,3276,3436,2098, + 3433,3237,2916,3263,904,3262,2523,3260,5053,5028, + 5025,5025,5025,5025,5025,5025,5025,5032,1,1, + 1,5035,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5053,53, 1,1,1,1,1,1,1,1,1,1, - 355,1,1,1,1,1,1,53,1,1, + 1,1,1,1,1,1,5053,1,1,1, + 1,1,1,1,1,1,1548,2657,1179,3208, + 2512,1,1,1,54,4851,4848,1,1,1, + 5053,5053,5232,704,1581,3276,3436,2098,3433,3237, + 2916,3263,904,3262,2523,3260,5053,5028,5025,5025, + 5025,5025,5025,5025,5025,5032,1,1,1,5035, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2406,1,2352,3242, - 646,3327,1,1,1,5017,4815,4812,1,1, - 1,2348,2854,5196,2417,2236,3382,2807,2054,2598, - 3345,2895,5017,3379,638,3376,3353,3370,5017,4992, - 4989,4989,4989,4989,4989,4989,4989,4996,1,1, - 1,4999,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5017,1, - 1,1,1,1,1,5371,1,1,1,1, + 1,1,1,1,1,1,5053,5053,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5017,1,2352,3242,646,3327, - 1,1,1,54,4842,4839,1,1,1,127, - 5017,5196,5017,2236,3382,2807,2054,2598,3345,2895, - 436,3379,638,3376,3353,3370,5017,4992,4989,4989, - 4989,4989,4989,4989,4989,4996,1,1,1,4999, + 1,1,1,1,5053,1,1,1,1,1, + 1,1,1,1,1548,2657,1179,3208,3088,1, + 1,1,290,5070,5071,1,1,1,95,5053, + 5232,4706,1581,3276,3436,2098,3433,3237,2916,3263, + 904,3262,2523,3260,5053,5028,5025,5025,5025,5025, + 5025,5025,5025,5032,1,1,1,5035,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5017,1,1,1, - 1,1,1,5017,1,1,1,1,1,1, + 1,1,1,1,5053,5053,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5411,1,2352,3242,646,3327,1,1, - 1,126,635,4482,1,1,1,2348,2854,5196, - 5017,2236,3382,2807,2054,2598,3345,2895,5017,3379, - 638,3376,3353,3370,5017,4992,4989,4989,4989,4989, - 4989,4989,4989,4996,1,1,1,4999,1,1, + 1,1,5053,1,1,1,1,1,1,1, + 1,1,1548,2657,1179,3208,524,1,1,1, + 40,4947,4944,1,1,1,240,5053,5232,4854, + 1581,3276,3436,2098,3433,3237,2916,3263,904,3262, + 2523,3260,5053,5028,5025,5025,5025,5025,5025,5025, + 5025,5032,1,1,1,5035,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5017,1,1,1,1,1, - 1,33,1,1,1,1,1,1,1,1, + 1,1,5053,3155,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 134,1,2352,3242,646,3327,1,1,1,2348, - 2854,4643,1,1,1,5017,5017,5196,3161,2236, - 3382,2807,2054,2598,3345,2895,5017,3379,638,3376, - 3353,3370,5017,4992,4989,4989,4989,4989,4989,4989, - 4989,4996,1,1,1,4999,1,1,1,1, + 5053,1,1,1,1,1,1,1,1,1, + 1548,2657,1179,3208,139,1,1,1,5053,8278, + 8278,1,1,1,143,5053,5232,358,1581,3276, + 3436,2098,3433,3237,2916,3263,904,3262,2523,3260, + 43,4676,4673,4474,2134,3880,3943,2612,3964,5093, + 1667,3922,3901,161,5313,5320,5318,5327,5326,5322, + 5323,5321,5324,5325,5328,5319,4006,3985,5076,2336, + 5053,5053,630,668,5078,649,4142,662,5079,5077, + 627,5072,5074,5075,5073,5316,5391,5392,304,5310, + 5317,5289,5315,5314,5311,5312,5290,1222,5356,227, + 5053,4676,4673,5447,2134,4718,5053,2612,5053,773, + 5448,5449,37,5313,2186,4712,228,5057,4712,1263, + 4712,4712,5410,4712,4712,4712,583,41,4908,4908, + 5313,852,4908,393,4676,4673,3550,5095,4712,4712, + 5053,3295,4712,229,5316,5391,5392,5053,5310,5317, + 5289,5315,5314,5311,5312,5290,1,5313,2939,4577, + 4712,5316,5391,5392,43,5310,5317,5289,5315,5314, + 5311,5312,5290,5053,4712,143,5053,3563,4712,4712, + 4712,5053,5070,5071,4712,4712,2934,449,5316,5391, + 5392,4672,5310,5317,5289,5315,5314,5311,5312,5290, + 4712,4712,4712,4712,4712,4712,4712,4712,4712,4712, + 4712,4712,4712,4712,4712,4712,4712,4712,4712,4712, + 4712,4712,4712,4712,4712,4712,5056,506,5053,4712, + 4712,4715,4712,4712,4715,4697,4715,4715,2460,4715, + 4715,4715,1716,5053,4997,4992,4239,4896,1047,4989, + 2612,4986,43,5053,4715,4715,5095,230,4715,5053, + 5006,5002,4239,5095,1047,1255,2612,5384,5053,4676, + 4673,5313,2134,4718,43,2612,4715,583,5095,1675, + 1634,1593,1552,1511,1470,1429,1388,1347,1306,1, + 4715,5053,3295,806,4715,4715,4715,2680,165,976, + 4715,4715,5316,5391,5392,5053,5310,5317,5289,5315, + 5314,5311,5312,5290,362,1974,4715,4715,4715,4715, + 4715,4715,4715,4715,4715,4715,4715,4715,4715,4715, + 4715,4715,4715,4715,4715,4715,4715,4715,4715,4715, + 4715,4715,5053,4878,4875,4715,4715,5053,4715,4715, + 5053,4915,4915,231,4911,231,231,231,231,4919, + 1,5053,165,231,1,1,1,1,1,1, + 1,1,1,1,1,1,49,4872,4872,5053, + 3534,492,312,4997,4992,4239,4896,1047,4989,2612, + 4986,3775,41,4902,4902,1,1,1,189,1, + 1,1,1,1,1,1,1,4869,574,4575, + 5053,4676,4673,1,2134,1047,133,2612,410,1, + 1,1,231,2606,5459,5544,5053,4915,4915,231, + 4911,231,231,231,231,4971,1,33,5053,231, 1,1,1,1,1,1,1,1,1,1, - 1,1,5017,1,1,1,1,1,1,5017, + 1,1,435,1,1,43,1,492,4694,5095, + 4694,1255,5053,5384,5481,5482,5483,4679,5053,4925, + 4922,1,1,1,448,1,1,1,1,1, + 1,1,1,5053,574,1,4932,4928,4239,1, + 1047,122,2612,134,409,1,1,1,231,5093, + 5459,5544,3396,3372,346,5006,5002,3420,5095,1047, + 1255,2612,5384,2301,2274,1,4899,4899,5053,4896, + 5050,1255,4700,5384,363,367,4932,4928,3420,1, + 1047,1,2612,1,5053,4676,4673,5053,5095,5053, + 5481,5482,5483,5053,1,1,1,1,1,1, + 1,1,1757,1,1,1,5053,1974,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1966,1, - 2352,3242,646,3327,1,1,1,2259,2232,43, - 1,1,1,5059,5017,5196,3180,2236,3382,2807, - 2054,2598,3345,2895,5017,3379,638,3376,3353,3370, - 5017,3363,1,1,1,1,1,1,1,5027, - 1,1,1,5026,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 5017,1,1,1,1,1,1,442,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5199,1,2352,3242, - 646,3327,1,1,1,115,139,4646,1,1, - 1,5017,5017,5196,842,2236,3382,2807,2054,2598, - 3345,2895,5017,3379,638,3376,3353,3370,43,4640, - 4637,2500,1081,3924,3987,2904,4008,143,1123,3966, - 3945,5017,5274,5281,5279,5288,5287,5283,5284,5282, - 5285,5286,5289,5280,4050,4029,5040,3832,5017,718, - 847,5042,761,3575,803,143,5043,5041,706,5036, - 5038,5039,5037,5277,5352,5353,5271,5278,5250,5276, - 5275,5272,5273,5251,2988,1176,137,5017,4640,4637, - 5408,1081,4682,5017,2904,4092,980,5409,5410,37, - 1,4113,4676,5017,1671,4676,2142,4676,4676,165, - 4676,4676,4676,364,4896,4892,3448,1,1034,1, - 2904,1,119,389,648,4676,4676,382,3902,4676, - 343,4970,4966,3448,5059,1034,1417,2904,5345,580, - 122,1630,1589,1548,1507,1466,1425,1384,1343,1302, - 1261,3424,3400,621,3770,4676,5017,4640,4637,5017, - 1081,1034,4636,2904,4676,4676,4676,580,5027,1712, - 4676,4676,5026,4676,165,1,4863,4863,30,4860, - 993,1417,3770,5345,360,2173,1712,4676,4676,4676, - 4676,4676,4676,4676,4676,4676,4676,4676,4676,4676, - 4676,4676,4676,4676,4676,4676,4676,4676,4676,4676, - 4676,4676,4676,3880,3858,5017,4676,4676,4679,4676, - 4676,4679,446,4679,4679,4193,4679,4679,4679,45, - 5017,4961,4956,720,4860,1034,4953,2904,4950,5017, - 5017,4679,4679,4851,4851,4679,224,141,142,360, - 5017,4970,4966,720,5059,1034,1417,2904,5345,4667, - 5274,309,4961,4956,720,4860,1034,4953,2904,4950, - 360,4679,1,4896,4892,720,5017,1034,4661,2904, - 4679,4679,4679,5017,5034,5035,4679,4679,1034,4679, - 2904,5277,5352,5353,5271,5278,5250,5276,5275,5272, - 5273,5251,1929,4679,4679,4679,4679,4679,4679,4679, - 4679,4679,4679,4679,4679,4679,4679,4679,4679,4679, - 4679,4679,4679,4679,4679,4679,4679,4679,4679,5017, - 5034,5035,4679,4679,2818,4679,4679,5017,4879,4879, - 228,4875,228,228,228,228,4883,1,2105,2105, - 228,1,1,1,1,1,1,1,1,1, - 1,1,1,1,4896,4892,4926,43,4929,1, - 4932,5059,5027,1417,489,5345,5026,390,4640,4637, - 161,5059,1,1,1,1,1,1,1,1, - 1,1,1,5017,5017,1755,432,1,1,1, - 1,382,4658,334,4658,1,1,1,407,228, - 5420,5017,4640,4637,43,1081,4682,5017,2904,5505, - 5017,4879,4879,228,4875,228,228,228,228,4935, - 1,4673,5017,228,1,1,1,1,1,1, - 1,1,1,1,1,1,1217,138,2091,5352, - 5353,5442,5443,5444,5017,4640,4637,489,1081,1034, - 95,2904,225,4670,5373,1,1,1,1,1, - 1,1,1,1,1,1,5274,445,1755,433, - 43,43,1,5059,140,4857,5017,4854,1,1, - 1,406,228,5420,124,343,43,43,2635,5059, - 5017,1417,5505,5345,2506,3424,3400,5277,5352,5353, - 5271,5278,5250,5276,5275,5272,5273,5251,1,4896, - 4892,720,43,1034,5017,2904,5059,309,5017,4640, - 4637,309,5059,4664,5442,5443,5444,5017,1,1, - 1,1,1,1,1,1,2173,1,1,1, - 346,1712,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1863,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,360,2142,1,4896,4892,3448,2787, - 1034,167,2904,5017,1,167,5017,5034,5035,5017, - 1,1,1,4896,4892,4926,1712,4929,5023,4932, - 5542,1,4725,4721,2500,4729,3924,3987,2904,4008, - 1,4685,3966,3945,383,5017,4712,4718,4691,4694, - 4706,4703,4709,4700,4697,4688,4715,4050,4029,5040, - 3832,1712,718,847,5042,761,3575,803,360,5043, - 5041,706,5036,5038,5039,5037,167,5017,1,4071, - 1089,2635,2818,5017,5034,5035,5017,339,1176,360, - 5017,8337,8337,5022,43,43,504,43,4640,4637, - 2500,1081,3924,3987,2904,4008,5025,548,3966,3945, - 3484,3128,5281,5279,5288,5287,5283,5284,5282,5285, - 5286,5289,5280,4050,4029,5040,3832,5057,718,847, - 5042,761,3575,803,1712,5043,5041,706,5036,5038, - 5039,5037,3621,339,339,1499,1,4896,4892,720, - 1,1034,339,2904,1176,1,3779,5017,1,4896, - 4892,3448,5017,1034,1,2904,2591,2635,5024,43, - 4640,4637,2500,1081,3924,3987,2904,4008,5025,548, - 3966,3945,5017,189,5281,5279,5288,5287,5283,5284, - 5282,5285,5286,5289,5280,4050,4029,5040,3832,5017, - 718,847,5042,761,3575,803,3458,5043,5041,706, - 5036,5038,5039,5037,1712,96,1,1,1929,1, - 1712,4869,2808,4869,5017,5017,1176,429,3779,621, - 3139,145,4640,4637,2500,1081,3924,3987,2904,4008, - 5024,548,3966,3945,5017,3795,5281,5279,5288,5287, - 5283,5284,5282,5285,5286,5289,5280,4050,4029,5040, - 3832,130,718,847,5042,761,3575,803,5017,5043, - 5041,706,5036,5038,5039,5037,99,43,43,503, - 5059,123,4944,2568,4941,5017,4640,4637,1176,5059, - 2809,2459,3424,3400,43,43,1,4725,4721,2500, - 4729,3924,3987,2904,4008,5014,4685,3966,3945,3598, - 3128,4712,4718,4691,4694,4706,4703,4709,4700,4697, - 4688,4715,4050,4029,5040,3832,4655,718,847,5042, - 761,3575,803,2814,5043,5041,706,5036,5038,5039, - 5037,5442,5443,5444,1581,804,43,5017,4640,4637, - 5059,5059,5017,1176,2322,2294,5017,4815,4812,43, - 43,43,4640,4637,2500,1081,3924,3987,2904,4008, - 5021,548,3966,3945,5017,5017,5281,5279,5288,5287, - 5283,5284,5282,5285,5286,5289,5280,4050,4029,5040, - 3832,837,718,847,5042,761,3575,803,359,5043, - 5041,706,5036,5038,5039,5037,43,4640,4637,2500, - 1081,3924,3987,2904,4008,5017,548,3966,3945,4071, - 1089,5281,5279,5288,5287,5283,5284,5282,5285,5286, - 5289,5280,4050,4029,5040,3832,288,718,847,5042, - 761,3575,803,5017,5043,5041,706,5036,5038,5039, - 5037,118,54,4815,4812,287,5034,5035,117,104, - 5442,5443,5444,1176,710,3779,43,4640,4637,2500, - 1081,3924,3987,2904,4008,5017,548,3966,3945,5020, - 5517,5281,5279,5288,5287,5283,5284,5282,5285,5286, - 5289,5280,4050,4029,5040,3832,5017,718,847,5042, - 761,3575,803,1841,5043,5041,706,5036,5038,5039, - 5037,5017,223,1,345,4561,631,1582,5474,5468, - 5021,5472,5017,1176,5466,5467,5274,5281,5279,5288, - 5287,5283,5284,5282,5285,5286,5289,5280,226,5497, - 5498,4092,5475,5477,41,4872,4872,4113,4092,4872, - 237,5017,5274,4818,4113,1709,5017,5277,5352,5353, - 5271,5278,5250,5276,5275,5272,5273,5251,121,530, - 1712,49,4836,4836,3902,319,1552,1622,5478,5499, - 5476,2918,116,5277,5352,5353,5271,5278,5250,5276, - 5275,5272,5273,5251,120,227,5017,41,4866,4866, - 3902,5488,5487,5500,5469,5470,5493,5494,4833,5274, - 5491,5492,5471,5473,5495,5496,5501,5481,5482,5483, - 5479,5480,5489,5490,5485,5484,5486,5017,5017,5020, - 631,1712,5474,5468,2764,5472,286,5025,5466,5467, - 5277,5352,5353,5271,5278,5250,5276,5275,5272,5273, - 5251,33,317,5497,5498,4938,5475,5477,103,3880, - 3858,5017,4889,4886,5017,4904,4900,51,4917,4917, - 5017,398,4092,40,4911,4908,1,5017,4113,4497, - 4920,621,5017,530,4923,3880,3858,5017,4842,4839, - 1552,1622,5478,5499,5476,5017,5017,1,5057,5024, - 5017,5057,1298,3772,4914,5027,5023,5017,1712,5026, - 390,5034,5035,2571,1878,5488,5487,5500,5469,5470, - 5493,5494,5017,414,5491,5492,5471,5473,5495,5496, - 5501,5481,5482,5483,5479,5480,5489,5490,5485,5484, - 5486,43,4640,4637,2500,1081,3924,3987,2904,4008, - 5017,548,3966,3945,2087,5017,5281,5279,5288,5287, - 5283,5284,5282,5285,5286,5289,5280,4050,4029,5040, - 3832,5022,718,847,5042,761,3575,803,1,5043, - 5041,706,5036,5038,5039,5037,5017,4983,43,4640, - 4637,2500,1081,3924,3987,2904,4008,1452,548,3966, - 3945,5017,5017,5281,5279,5288,5287,5283,5284,5282, - 5285,5286,5289,5280,4050,4029,5040,3832,5017,718, - 847,5042,761,3575,803,5017,5043,5041,706,5036, - 5038,5039,5037,5017,8064,8042,43,4640,4637,3481, - 1081,3924,3987,2904,4008,1176,548,3966,3945,5024, - 5017,5281,5279,5288,5287,5283,5284,5282,5285,5286, - 5289,5280,4050,4029,5040,3832,5460,718,847,5042, - 761,3575,803,367,5043,5041,706,5036,5038,5039, - 5037,43,4640,4637,2500,1081,3924,3987,2904,4008, - 416,548,3966,3945,5017,372,5281,5279,5288,5287, - 5283,5284,5282,5285,5286,5289,5280,4050,4029,5040, - 3832,5017,718,847,5042,761,3575,803,5017,5043, - 5041,706,5036,5038,5039,5037,43,4640,4637,2500, - 1081,3924,3987,2904,4008,365,548,3966,3945,5017, - 1038,5281,5279,5288,5287,5283,5284,5282,5285,5286, - 5289,5280,4050,4029,5040,3832,627,718,847,5042, - 761,3575,803,5017,5043,5041,706,5036,5038,5039, - 5037,5017,4640,4637,1,5059,5017,8064,8042,54, - 5017,788,5017,5035,4977,5274,5281,5279,5288,5287, - 5283,5284,5282,5285,5286,5289,5280,1,3242,5017, - 5017,54,1090,4546,311,5034,5027,2565,5025,5035, - 5026,3254,5017,3512,3512,4547,5277,5352,5353,5271, - 5278,5250,5276,5275,5272,5273,5251,1,241,4805, - 4801,5034,4809,5408,5017,5198,4980,4977,788,980, - 5409,5410,4756,4792,4798,4771,4774,4786,4783,4789, - 4780,4777,4768,4795,33,382,382,4827,382,382, - 4827,382,4827,4830,3254,906,80,4827,382,988, - 5024,1135,5017,4747,4741,4738,4765,4744,4735,4750, - 4753,4762,4759,4732,4643,5017,5017,410,4549,4980, - 5408,5017,5085,5086,3325,5017,980,5409,5410,382, - 382,382,382,382,382,382,382,382,382,382, - 4830,36,383,383,4821,383,383,4821,383,4821, - 4824,5017,3486,132,4821,383,5017,521,4830,3356, - 5023,107,5017,278,3668,3030,4974,3656,1,4989, - 4989,228,4989,228,228,228,228,228,1,78, - 5017,228,8343,2459,2017,437,383,383,383,383, - 383,383,383,383,383,383,383,4824,3404,851, - 5017,5017,510,3722,3111,4986,1,5017,621,4947, - 3106,1,5017,496,3302,4824,1917,4518,4845,5017, - 517,308,5017,5017,131,5022,2352,494,2670,3327, - 1,4989,4989,228,4989,228,228,228,228,5008, - 3605,39,301,228,8343,5017,2322,2294,3428,3487, - 5505,2648,5317,5017,2459,1,4989,4989,228,4989, - 228,228,228,228,5008,3675,3709,4986,228,8343, - 1,4989,4989,228,4989,228,228,228,228,5011, - 4508,3644,3716,228,8343,517,5017,4204,2352,4848, - 2670,3327,4986,5017,4509,5017,4452,5017,4468,5017, - 2876,220,2039,5017,2,5017,4480,4986,2316,498, - 1,5017,5505,2352,3624,2670,3327,2322,2294,5017, - 5017,3512,4563,5017,5017,5017,220,5017,2352,5017, - 2670,3327,5017,5017,41,5017,5017,5505,3322,5017, - 5017,219,1,4989,4989,228,4989,228,228,228, - 228,5008,5505,2316,5017,228,8343,1,4989,4989, - 228,4989,228,228,228,228,5008,5017,5017,5017, - 228,8343,1800,5017,5017,3607,2003,5017,5017,4986, - 5017,5017,1,4989,4989,228,4989,228,228,228, - 228,228,5017,5017,4986,228,8343,5017,5017,5017, - 2352,5017,2670,3327,5017,5017,5017,5017,5017,5017, - 5017,5017,5017,220,5017,2352,5017,2670,3327,4986, - 5017,5017,5017,5017,5505,5017,5017,5017,220,5017, - 5017,5017,5017,5017,5017,5017,5017,5017,5017,5505, - 2352,5017,2670,3327,1,4989,4989,228,4989,228, - 228,228,228,228,5017,5017,5017,228,8343,5017, - 5017,5017,5017,5017,5505,5017,5017,5017,5017,1, - 4989,4989,228,4989,228,228,228,228,228,5017, - 5017,4986,228,8343,5017,5017,5017,5017,5017,5017, - 5017,5017,5017,5017,5017,5017,5017,5017,5017,5017, - 5017,5017,2352,5017,2670,3327,4986,5017,5017,5017, - 5017,5017,5017,5017,5017,5017,5017,5017,5017,5017, - 5017,5017,5017,5017,5017,5017,5505,2352,5017,2670, - 3327,5017,5017,5017,5017,5017,5017,5017,5017,5017, - 5017,5017,5017,5017,5017,5017,5017,5017,5017,5017, - 5017,5505 + 1,1,1,1757,5053,1,1,1,1,1, + 1,1,1,1,1,1,1,1,363,5053, + 2301,2274,1055,1951,2934,5053,1,4932,4928,4962, + 1,4965,445,4968,5061,5063,5053,1,1,5062, + 363,1794,5053,5070,5071,5059,349,5581,1,4761, + 4757,4474,4765,3880,3943,2612,3964,5053,4721,3922, + 3901,713,4682,4748,4754,4727,4730,4742,4739,4745, + 4736,4733,4724,4751,4006,3985,5076,2336,45,104, + 630,668,5078,649,4142,662,5079,5077,627,5072, + 5074,5075,5073,5060,1757,375,346,43,43,2765, + 5095,30,1255,5053,5384,1222,4027,619,4703,5058, + 507,5053,43,43,43,4676,4673,4474,2134,3880, + 3943,2612,3964,5061,711,3922,3901,3783,5053,5320, + 5318,5327,5326,5322,5323,5321,5324,5325,5328,5319, + 4006,3985,5076,2336,1757,140,630,668,5078,649, + 4142,662,5079,5077,627,5072,5074,5075,5073,1, + 4932,4928,4239,4887,1047,3497,2612,4887,312,2648, + 1300,1222,312,3717,1,4932,4928,4239,5053,1047, + 5053,2612,5060,43,5070,5071,4474,2134,3880,3943, + 2612,3964,5061,711,3922,3901,513,5053,5320,5318, + 5327,5326,5322,5323,5321,5324,5325,5328,5319,4006, + 3985,5076,2336,385,3351,630,668,5078,649,4142, + 662,5079,5077,627,5072,5074,5075,5073,436,43, + 43,136,5095,1,4893,1,4890,386,2765,2246, + 1222,5053,3717,4709,342,2186,5053,4851,4848,432, + 5059,5060,145,4676,4673,4474,2134,3880,3943,2612, + 3964,5053,711,3922,3901,5053,289,5320,5318,5327, + 5326,5322,5323,5321,5324,5325,5328,5319,4006,3985, + 5076,2336,291,1757,630,668,5078,649,4142,662, + 5079,5077,627,5072,5074,5075,5073,342,96,1, + 1,342,1,1,4905,5053,4905,4610,342,1222, + 4027,619,363,5053,5058,3351,43,43,1,4761, + 4757,4474,4765,3880,3943,2612,3964,3452,4721,3922, + 3901,2648,1630,4748,4754,4727,4730,4742,4739,4745, + 4736,4733,4724,4751,4006,3985,5076,2336,370,1886, + 630,668,5078,649,4142,662,5079,5077,627,5072, + 5074,5075,5073,5481,5482,5483,1,4932,4928,3420, + 5053,1047,2437,2612,2557,1222,363,5053,4676,4673, + 5053,5095,43,43,43,4676,4673,4474,2134,3880, + 3943,2612,3964,5057,711,3922,3901,5053,363,5320, + 5318,5327,5326,5322,5323,5321,5324,5325,5328,5319, + 4006,3985,5076,2336,1757,1096,630,668,5078,649, + 4142,662,5079,5077,627,5072,5074,5075,5073,43, + 4676,4673,4474,2134,3880,3943,2612,3964,5053,711, + 3922,3901,2466,5053,5320,5318,5327,5326,5322,5323, + 5321,5324,5325,5328,5319,4006,3985,5076,2336,2467, + 5053,630,668,5078,649,4142,662,5079,5077,627, + 5072,5074,5075,5073,43,99,43,43,5095,5095, + 5053,4980,5053,4977,314,3296,1222,2436,3717,43, + 4676,4673,4474,2134,3880,3943,2612,3964,5053,711, + 3922,3901,5056,115,5320,5318,5327,5326,5322,5323, + 5321,5324,5325,5328,5319,4006,3985,5076,2336,989, + 5053,630,668,5078,649,4142,662,5079,5077,627, + 5072,5074,5075,5073,392,5053,1,5053,385,605, + 3520,5513,5507,1,5511,5053,1222,5505,5506,80, + 1027,1181,2559,1,4932,4928,4962,2657,4965,5053, + 4968,118,5536,5537,1027,5514,5516,1,4932,4928, + 3420,5053,1047,1027,2612,5121,5122,2647,5053,4676, + 4673,119,2134,1047,558,2612,1,3858,5481,5482, + 5483,5053,130,4048,3523,5059,124,3294,5517,4069, + 1301,1335,5538,5515,5053,5070,5071,3396,3372,1047, + 121,2612,5053,5070,5071,1757,3858,120,393,5070, + 5071,2478,2474,3858,5527,5526,5539,5508,5509,5532, + 5533,117,421,5530,5531,5510,5512,5534,5535,5540, + 5520,5521,5522,5518,5519,5528,5529,5524,5523,5525, + 5053,4048,650,605,4691,5513,5507,4069,5511,5058, + 1,5505,5506,5053,4940,4936,51,4953,4953,719, + 5013,3555,3831,3448,1,1,5536,5537,1,5514, + 5516,2765,5053,5053,5013,2357,908,401,5053,4676, + 4673,3131,5095,5053,5093,123,4956,4950,558,54, + 4959,3831,3448,5071,2827,3131,3396,3372,3831,3448, + 5053,5053,5517,3531,1301,1335,5538,5515,5053,5053, + 5063,4048,1,5016,5062,348,1757,4069,2127,5071, + 320,520,5053,4974,3612,3304,5053,5016,5527,5526, + 5539,5508,5509,5532,5533,5556,3525,5530,5531,5510, + 5512,5534,5535,5540,5520,5521,5522,5518,5519,5528, + 5529,5524,5523,5525,43,4676,4673,4474,2134,3880, + 3943,2612,3964,1757,711,3922,3901,4169,1757,5320, + 5318,5327,5326,5322,5323,5321,5324,5325,5328,5319, + 4006,3985,5076,2336,5499,520,630,668,5078,649, + 4142,662,5079,5077,627,5072,5074,5075,5073,5053, + 8141,7691,1258,43,4676,4673,4474,2134,3880,3943, + 2612,3964,5053,711,3922,3901,2221,322,5320,5318, + 5327,5326,5322,5323,5321,5324,5325,5328,5319,4006, + 3985,5076,2336,5053,103,630,668,5078,649,4142, + 662,5079,5077,627,5072,5074,5075,5073,5053,8141, + 7691,43,4676,4673,3240,2134,3880,3943,2612,3964, + 1222,711,3922,3901,5053,1757,5320,5318,5327,5326, + 5322,5323,5321,5324,5325,5328,5319,4006,3985,5076, + 2336,5053,1922,630,668,5078,649,4142,662,5079, + 5077,627,5072,5074,5075,5073,43,4676,4673,4474, + 2134,3880,3943,2612,3964,5450,711,3922,3901,3504, + 5053,5320,5318,5327,5326,5322,5323,5321,5324,5325, + 5328,5319,4006,3985,5076,2336,116,419,630,668, + 5078,649,4142,662,5079,5077,627,5072,5074,5075, + 5073,43,4676,4673,4474,2134,3880,3943,2612,3964, + 5053,711,3922,3901,2522,1,5320,5318,5327,5326, + 5322,5323,5321,5324,5325,5328,5319,4006,3985,5076, + 2336,1,3657,630,668,5078,649,4142,662,5079, + 5077,627,5072,5074,5075,5073,5053,4676,4673,132, + 5095,5053,5053,3506,3003,3617,1040,5053,33,5053, + 5313,5320,5318,5327,5326,5322,5323,5321,5324,5325, + 5328,5319,5053,5053,1,107,4048,1,3723,2474, + 5053,5063,4069,5063,1,5062,195,5062,1027,5061, + 195,5316,5391,5392,1,5310,5317,5289,5315,5314, + 5311,5312,5290,5019,244,4841,4837,3018,4845,5447, + 5412,4881,3198,5053,1040,773,5448,5449,4792,4828, + 4834,4807,4810,4822,4819,4825,4816,4813,4804,4831, + 417,33,385,385,4863,385,385,4863,385,4863, + 4866,78,2357,908,4863,385,935,440,5060,4783, + 4777,4774,5053,4801,4780,4771,4786,4789,4798,4795, + 4768,4679,5060,368,413,5053,281,5447,2829,5010, + 5053,4983,3626,773,5448,5449,385,385,385,4866, + 385,385,385,385,385,385,385,385,36,386, + 386,4857,386,386,4857,386,4857,4860,304,54, + 226,4857,386,5070,4866,439,5053,5053,5356,5053, + 4256,3644,4473,2424,5313,5320,5318,5327,5326,5322, + 5323,5321,5324,5325,5328,5319,5053,5053,5053,5070, + 1137,2062,5053,386,386,386,4860,386,386,386, + 386,386,386,386,386,5316,5391,5392,5053,5310, + 5317,5289,5315,5314,5311,5312,5290,3000,3348,499, + 497,4860,1,5025,5025,231,5025,231,231,231, + 231,231,5053,5053,5053,231,8026,637,2010,5053, + 39,1,5025,5025,231,5025,231,231,231,231, + 5044,131,3277,5022,231,8026,5053,1,5025,5025, + 231,5025,231,231,231,231,5044,5053,5053,3301, + 231,8026,5022,5053,5053,1,3302,4551,5053,5053, + 1548,2474,971,3208,167,3471,4583,4591,5022,5053, + 5053,5053,4563,3034,4564,5053,2,5544,3508,1548, + 1,971,3208,5053,5235,3002,5234,3425,5053,223, + 311,4179,5053,4884,5053,1548,5544,971,3208,501, + 5053,5053,5053,3425,5053,223,41,5053,5053,5053, + 5053,5053,5544,1,5025,5025,231,5025,231,231, + 231,231,5047,5053,2357,908,231,8026,167,1, + 5025,5025,231,5025,231,231,231,231,5044,5053, + 5053,5053,231,8026,5022,1,5025,5025,231,5025, + 231,231,231,231,5044,5053,4203,5053,231,8026, + 5022,1845,5053,5053,5053,5053,784,5053,5053,5053, + 5053,1548,5053,971,3208,3680,5022,5053,5053,5053, + 5053,222,5053,5053,5053,5053,5053,1548,5544,971, + 3208,5053,5053,5053,5053,5053,5053,223,5053,5053, + 5053,5053,5053,1548,5544,971,3208,5053,5053,5053, + 5053,5053,5053,223,5053,5053,5053,5053,5053,5053, + 5544,1,5025,5025,231,5025,231,231,231,231, + 231,5053,5053,5053,231,8026,5053,1,5025,5025, + 231,5025,231,231,231,231,231,5053,5053,5053, + 231,8026,5022,1,5025,5025,231,5025,231,231, + 231,231,231,5053,5053,5053,231,8026,5022,5053, + 5053,5053,5053,5053,5053,5053,5053,5053,5053,1548, + 5053,971,3208,5053,5022,5053,5053,5053,5053,5053, + 5053,5053,5053,5053,5053,1548,5544,971,3208,5053, + 5053,5053,5053,5053,5053,5053,5053,5053,5053,5053, + 5053,1548,5544,971,3208,5053,5053,5053,5053,5053, + 5053,5053,5053,5053,5053,5053,5053,5053,5544 }; }; public final static char termAction[] = TermAction.termAction; @@ -1649,59 +1638,58 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 675,120,297,114,1021,734,734,734,734,110, - 1021,449,599,449,193,281,195,298,298,298, - 298,298,298,298,298,298,451,457,462,459, - 466,464,471,469,473,472,474,200,475,297, - 297,82,82,82,82,337,155,54,446,82, - 438,45,449,449,54,630,451,45,45,36, - 281,980,81,883,112,1039,297,449,451,835, - 835,155,297,298,298,298,298,298,298,298, - 298,298,298,298,298,298,298,298,298,298, - 298,298,297,297,297,297,297,297,297,297, - 297,297,297,297,298,45,1104,1104,1104,1104, - 384,45,54,247,1028,1039,576,1039,571,1039, - 573,1039,1023,110,337,438,438,54,298,247, - 397,753,586,585,512,1046,1046,110,195,438, - 81,297,335,882,334,337,336,334,45,438, - 459,459,457,457,457,464,464,464,464,462, - 462,469,466,466,472,471,473,1116,474,1021, - 1021,1021,1021,337,337,1104,1066,1103,446,337, - 442,340,337,596,384,388,594,576,392,337, - 337,337,384,1104,36,438,490,45,755,757, - 337,883,298,82,455,1,45,112,337,337, - 734,336,883,297,297,297,297,297,1021,1021, - 281,251,442,340,596,595,596,384,596,392, - 392,337,384,337,45,590,578,589,757,384, - 335,45,455,247,882,112,337,335,45,45, - 45,45,155,155,442,441,721,337,340,1116, - 386,973,1106,340,596,596,548,337,392,721, - 719,720,337,556,297,587,587,499,499,337, - 751,247,122,45,337,455,456,455,297,1, - 978,451,112,45,45,442,883,734,334,671, - 1108,331,1021,724,109,549,337,721,298,337, - 556,297,297,757,883,45,755,578,556,523, - 455,155,298,438,978,335,355,335,596,596, - 331,495,247,727,298,1116,507,548,337,110, - 110,337,743,757,335,556,456,45,438,496, - 355,335,596,576,110,1108,331,298,298,337, - 337,337,743,45,743,1103,734,48,48,496, - 576,261,724,337,1021,337,337,1021,736,743, - 355,890,355,1102,1102,795,262,110,337,155, - 758,736,717,797,242,1021,566,926,355,82, - 82,795,261,1116,298,1116,496,1021,1021,1021, - 262,1021,337,208,496,496,337,576,45,44, - 738,844,1104,242,717,889,576,576,792,110, - 1103,253,1021,253,1116,262,281,281,279,842, - 281,496,496,669,795,82,738,890,889,890, - 496,506,495,45,889,889,889,110,337,790, - 122,45,331,45,208,496,242,1021,45,795, - 889,297,936,331,496,721,889,889,889,337, - 337,48,45,45,536,262,669,262,496,208, - 242,297,262,259,721,45,934,721,721,337, - 496,1102,576,576,1013,297,260,155,496,496, - 45,934,496,334,262,45,155,496,720,262, - 45,934,262 + 647,7,370,1,1021,701,701,701,701,115, + 1021,592,490,592,47,354,49,371,371,371, + 371,371,371,371,371,371,594,600,605,602, + 609,607,614,612,616,615,617,166,618,370, + 370,87,87,87,87,410,9,59,589,87, + 454,163,592,592,59,521,594,163,163,154, + 354,980,86,805,117,1039,370,592,594,882, + 882,9,370,371,371,371,371,371,371,371, + 371,371,371,371,371,371,371,371,371,371, + 371,371,370,370,370,370,370,370,370,370, + 370,370,370,370,371,163,1104,1104,1104,1104, + 263,163,59,213,1028,1039,488,1039,483,1039, + 485,1039,1023,115,410,454,454,59,371,213, + 413,727,470,469,290,1046,1046,115,49,454, + 86,370,408,804,407,410,409,407,163,454, + 602,602,600,600,600,607,607,607,607,605, + 605,612,609,609,615,614,616,1116,617,1021, + 1021,1021,1021,410,410,1104,1066,1103,589,410, + 585,219,410,480,263,273,478,488,457,410, + 410,410,263,1104,154,454,633,163,729,731, + 410,805,371,87,598,119,163,117,410,410, + 701,409,805,370,370,370,370,370,1021,1021, + 354,217,585,219,480,479,480,263,480,457, + 457,410,263,410,163,474,462,473,731,263, + 408,163,598,213,804,117,410,408,163,163, + 163,163,9,9,585,584,644,410,219,1116, + 265,973,1106,219,480,480,576,410,457,644, + 642,643,410,562,370,471,471,277,277,410, + 725,213,811,163,410,598,599,598,370,119, + 978,594,117,163,163,585,805,701,407,572, + 1108,404,1021,691,114,577,410,644,371,410, + 562,370,370,731,805,163,729,462,562,301, + 598,9,371,454,978,408,234,408,480,480, + 404,638,213,694,371,1116,285,576,410,115, + 115,410,710,731,408,562,599,163,454,639, + 234,408,480,488,115,1108,404,371,371,410, + 410,410,710,163,710,1103,701,267,267,639, + 488,334,691,410,1021,410,410,1021,703,710, + 234,890,234,1102,1102,721,335,115,410,9, + 732,703,689,844,208,1021,54,926,234,87, + 87,721,334,1116,371,1116,639,1021,1021,1021, + 335,1021,410,174,639,639,410,488,163,162, + 705,766,1104,208,689,889,488,488,718,115, + 1103,326,1021,326,1116,335,354,354,352,723, + 354,639,639,560,721,87,705,890,889,890, + 639,284,638,163,889,889,889,115,410,764, + 811,163,404,163,352,208,1021,163,721,889, + 370,936,404,639,644,889,889,889,410,410, + 267,163,163,314,335,560,335,639,208,370, + 335,332,644,163,934,644,644,410,639,1102, + 488,488,1013,370,333,9,639,163,934,639, + 407,335,163,639,643,335,934 }; }; public final static char asb[] = Asb.asb; @@ -1709,117 +1697,117 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 96,90,11,12,91,92,88,89,30,93, - 94,97,98,99,100,101,102,117,72,95, - 67,104,105,106,107,108,109,110,111,112, - 113,118,71,13,121,65,1,2,8,6, - 4,3,56,66,74,9,0,65,67,66, - 1,2,0,31,63,32,33,64,7,34, - 35,36,38,57,39,40,41,42,43,28, - 26,27,8,6,11,12,5,29,65,44, - 3,48,15,16,62,46,17,68,49,14, - 18,50,51,19,20,52,53,21,22,54, - 69,55,10,70,23,24,47,25,45,1, - 2,4,0,9,72,118,74,13,66,121, - 0,48,15,16,62,46,17,68,49,14, - 18,50,51,19,20,52,53,21,22,54, - 69,55,10,70,23,45,24,47,25,1, - 2,4,95,0,9,74,15,16,31,17, - 32,33,18,19,20,34,21,22,35,36, - 38,57,39,40,10,23,24,25,41,42, - 43,28,3,26,27,8,6,11,12,29, - 4,44,5,7,1,2,64,63,0,65, - 72,95,66,118,74,71,121,15,16,31, - 63,17,32,33,18,19,20,64,34,21, - 22,35,36,38,57,39,40,10,23,24, - 25,41,42,43,28,26,27,11,12,29, - 44,9,13,7,5,3,1,2,8,4, - 6,0,82,114,115,116,37,72,119,122, - 71,73,75,58,60,61,77,79,86,84, - 76,81,83,85,87,59,78,80,9,13, - 48,62,46,68,49,14,50,51,52,53, - 54,69,55,70,45,47,57,63,64,10, - 32,36,34,31,40,16,25,15,21,19, - 20,22,23,18,17,24,41,44,42,43, - 28,39,33,38,26,27,11,12,29,35, - 8,6,3,4,7,5,1,2,0,82, - 7,114,115,116,58,9,3,8,6,5, - 72,71,13,73,48,15,16,62,46,17, - 68,49,14,18,50,51,19,20,52,53, - 21,22,54,69,55,10,70,23,45,24, - 47,25,4,1,2,37,0,4,59,72, - 0,1,2,9,71,0,63,64,3,10, - 32,36,34,31,40,16,25,15,21,19, - 20,22,23,18,17,24,41,44,42,43, - 28,39,33,38,5,7,4,26,27,8, - 6,11,12,29,35,1,2,118,9,0, - 57,46,7,47,5,1,2,4,75,59, - 120,103,26,27,56,3,96,90,6,91, - 92,11,12,89,88,30,93,94,97,98, - 8,99,100,101,65,95,74,121,67,104, - 105,106,107,108,109,110,111,112,113,72, - 118,71,102,117,66,13,9,0,75,59, - 65,72,95,74,56,3,9,66,13,67, - 0,15,16,17,18,19,20,21,22,23, - 24,25,48,46,49,14,50,51,52,53, - 54,55,45,47,13,9,74,7,1,2, - 56,3,8,6,5,4,0,45,1,2, - 4,114,115,116,0,46,57,47,9,65, - 95,67,66,74,0,1,2,123,59,0, - 37,72,4,1,2,59,0,8,6,4, - 5,7,1,2,3,56,65,67,66,9, - 74,95,0,4,30,59,72,0,48,15, - 16,62,46,17,68,49,14,18,50,51, - 19,20,52,53,21,22,54,69,55,10, - 70,23,45,24,47,25,1,2,4,64, - 63,11,12,6,91,92,99,8,100,5, - 29,30,65,107,108,104,105,106,112,111, - 113,89,88,109,110,97,98,93,94,101, - 102,26,27,66,90,103,3,56,67,0, - 59,72,75,0,15,16,31,63,17,32, - 33,18,19,20,64,7,34,21,22,35, - 36,38,57,39,40,10,23,24,25,41, - 42,43,1,2,3,26,27,8,6,11, - 12,5,29,4,44,73,28,0,67,66, - 71,9,0,59,66,0,72,9,56,3, - 67,66,13,30,0,46,47,75,3,59, - 72,13,57,9,65,95,67,66,74,0, - 7,5,3,56,6,8,95,48,15,16, - 46,17,68,49,14,18,50,51,19,20, - 52,53,21,22,54,69,55,10,70,23, - 45,24,47,25,1,2,4,74,9,62, - 0,59,67,0,119,0,62,46,17,68, - 49,18,50,51,19,20,52,53,21,22, - 54,69,55,10,70,23,45,24,47,25, - 16,15,48,9,3,8,6,13,58,60, - 61,82,14,30,7,4,37,5,1,2, - 0,76,0,61,48,15,16,62,46,17, - 68,49,82,14,18,50,51,19,20,52, - 60,53,21,22,54,69,55,10,70,23, - 58,45,24,47,25,9,3,8,4,13, - 59,6,7,1,2,5,37,0,71,62, - 46,17,68,49,18,50,51,19,20,52, - 53,21,22,54,69,55,70,23,45,24, - 47,25,16,15,48,9,3,8,6,13, - 58,61,82,14,37,7,1,2,5,4, - 10,60,0,9,71,63,64,57,26,27, - 8,6,11,12,29,35,3,41,44,42, - 43,28,39,33,38,16,25,15,21,19, - 20,22,23,18,17,24,32,36,34,31, - 40,59,7,1,2,4,10,5,0,63, - 64,26,27,11,12,29,35,41,44,42, - 43,28,39,33,38,16,25,15,21,19, - 20,22,23,18,17,24,10,32,36,34, - 31,40,8,6,4,56,7,5,1,2, - 3,0,10,68,62,69,70,16,25,15, - 21,19,20,22,23,18,17,24,75,59, - 72,95,118,71,121,7,53,54,55,45, - 47,1,2,52,51,50,14,49,5,4, - 46,48,9,74,13,56,3,120,96,103, + 9,72,118,73,13,66,121,0,9,73, + 15,16,32,17,33,34,18,19,20,35, + 21,22,36,37,38,57,39,40,10,23, + 24,25,41,42,43,28,3,26,27,8, + 6,11,12,29,4,44,5,7,1,2, + 65,64,0,1,2,123,59,0,32,64, + 33,34,65,7,35,36,37,38,57,39, + 40,41,42,43,28,26,27,8,6,11, + 12,5,29,62,44,3,49,15,16,63, + 46,17,69,50,14,18,51,52,19,20, + 53,54,21,22,55,70,56,10,71,23, + 24,47,25,45,1,2,4,0,96,90, + 11,12,91,92,88,89,30,93,94,97, + 98,99,100,101,102,117,72,95,67,104, + 105,106,107,108,109,110,111,112,113,118, + 68,13,121,62,1,2,8,6,4,3, + 48,66,73,9,0,62,72,95,66,118, + 73,68,121,15,16,32,64,17,33,34, + 18,19,20,65,35,21,22,36,37,38, + 57,39,40,10,23,24,25,41,42,43, + 28,26,27,11,12,29,44,9,13,7, + 5,3,1,2,8,4,6,0,75,7, + 114,115,116,58,9,3,8,6,5,72, + 68,13,74,49,15,16,63,46,17,69, + 50,14,18,51,52,19,20,53,54,21, + 22,55,70,56,10,71,23,45,24,47, + 25,4,1,2,31,0,62,67,66,1, + 2,0,4,59,72,0,76,59,62,72, + 95,73,48,3,9,66,13,67,0,15, + 16,17,18,19,20,21,22,23,24,25, + 49,46,50,14,51,52,53,54,55,56, + 45,47,13,9,73,7,1,2,48,3, + 8,6,5,4,0,75,114,115,116,31, + 72,119,122,68,74,76,58,60,61,78, + 80,86,84,77,82,83,85,87,59,79, + 81,13,9,49,63,46,69,50,14,51, + 52,53,54,55,70,56,71,45,47,57, + 64,65,10,33,37,35,32,40,16,25, + 15,21,19,20,22,23,18,17,24,41, + 44,42,43,28,39,34,38,26,27,11, + 12,29,36,8,6,3,4,7,5,1, + 2,0,64,65,3,10,33,37,35,32, + 40,16,25,15,21,19,20,22,23,18, + 17,24,41,44,42,43,28,39,34,38, + 5,7,4,26,27,8,6,11,12,29, + 36,1,2,118,9,0,1,2,9,68, + 0,8,6,4,5,7,1,2,3,48, + 62,67,66,9,73,95,0,4,30,59, + 72,0,31,72,4,1,2,59,0,49, + 15,16,63,46,17,69,50,14,18,51, + 52,19,20,53,54,21,22,55,70,56, + 10,71,23,45,24,47,25,1,2,4, + 65,64,11,12,6,91,92,99,8,100, + 5,29,30,62,107,108,104,105,106,112, + 111,113,89,88,109,110,97,98,93,94, + 101,102,26,27,66,90,103,3,48,67, + 0,46,57,47,9,62,95,67,66,73, + 0,59,72,76,0,45,1,2,4,114, + 115,116,0,57,46,7,47,5,1,2, + 4,76,59,120,103,26,27,48,3,96, + 90,6,91,92,11,12,89,88,30,93, + 94,97,98,8,99,100,101,62,95,73, + 121,67,104,105,106,107,108,109,110,111, + 112,113,72,118,68,102,117,66,13,9, + 0,67,66,68,9,0,15,16,32,64, + 17,33,34,18,19,20,65,7,35,21, + 22,36,37,38,57,39,40,10,23,24, + 25,41,42,43,1,2,3,26,27,8, + 6,11,12,5,29,4,44,74,28,0, + 59,66,0,72,9,48,3,67,66,13, + 30,0,46,47,76,3,59,72,13,57, + 9,62,95,67,66,73,0,59,67,0, + 119,0,77,0,7,5,3,48,6,8, + 95,49,15,16,46,17,69,50,14,18, + 51,52,19,20,53,54,21,22,55,70, + 56,10,71,23,45,24,47,25,1,2, + 4,73,9,63,0,61,49,15,16,63, + 46,17,69,50,75,14,18,51,52,19, + 20,53,60,54,21,22,55,70,56,10, + 71,23,58,45,24,47,25,9,3,8, + 4,13,59,6,7,1,2,5,31,0, + 49,15,16,63,46,17,69,50,14,18, + 51,52,19,20,53,54,21,22,55,70, + 56,10,71,23,45,24,47,25,1,2, + 4,95,0,63,46,17,69,50,18,51, + 52,19,20,53,54,21,22,55,70,56, + 10,71,23,45,24,47,25,16,15,49, + 9,3,8,6,13,58,60,61,75,14, + 30,7,4,31,5,1,2,0,68,63, + 46,17,69,50,18,51,52,19,20,53, + 54,21,22,55,70,56,71,23,45,24, + 47,25,16,15,49,9,3,8,6,13, + 58,61,75,14,31,7,1,2,5,4, + 10,60,0,9,68,64,65,57,26,27, + 8,6,11,12,29,36,3,41,44,42, + 43,28,39,34,38,16,25,15,21,19, + 20,22,23,18,17,24,33,37,35,32, + 40,59,7,1,2,4,10,5,0,64, + 65,26,27,11,12,29,36,41,44,42, + 43,28,39,34,38,16,25,15,21,19, + 20,22,23,18,17,24,10,33,37,35, + 32,40,8,6,4,48,7,5,1,2, + 3,0,10,69,63,70,71,16,25,15, + 21,19,20,22,23,18,17,24,76,59, + 72,95,118,68,121,7,54,55,56,45, + 47,1,2,53,52,51,14,50,5,4, + 46,49,9,73,13,48,3,120,96,103, 90,26,27,8,6,11,12,91,92,88, 89,30,93,94,97,98,99,100,101,102, 117,104,105,106,107,108,109,110,111,112, - 113,67,66,65,0,13,9,7,5,3, + 113,67,66,62,0,13,9,7,5,3, 1,2,6,8,4,72,0 }; }; @@ -1828,59 +1816,58 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 180,11,40,11,11,11,11,11,11,241, - 11,11,174,11,84,126,155,40,40,214, - 40,40,40,40,40,40,11,11,11,11, - 11,11,11,11,11,11,11,40,11,40, - 142,244,244,244,244,155,54,207,45,4, - 101,190,11,11,207,176,11,190,190,162, - 1,40,88,50,11,11,142,11,11,61, - 61,54,142,40,40,40,40,40,40,40, - 40,40,40,40,40,40,40,40,40,40, - 40,40,40,40,40,40,40,40,40,40, - 40,40,40,142,40,190,11,11,11,11, - 77,190,38,90,226,227,11,227,150,227, - 72,227,220,241,155,101,101,38,40,90, - 97,162,15,15,11,11,11,241,155,101, - 244,103,23,130,22,217,155,22,190,101, + 173,11,42,11,11,11,11,11,11,233, + 11,11,151,11,106,243,76,42,42,206, + 42,42,42,42,42,42,11,11,11,11, + 11,11,11,11,11,11,11,42,11,42, + 136,236,236,236,236,76,47,190,71,4, + 104,241,11,11,190,153,11,241,241,120, + 1,42,23,160,11,11,136,11,11,35, + 35,47,136,42,42,42,42,42,42,42, + 42,42,42,42,42,42,42,42,42,42, + 42,42,42,42,42,42,42,42,42,42, + 42,42,42,136,42,241,11,11,11,11, + 57,241,40,194,218,219,11,219,141,219, + 54,219,212,233,76,104,104,40,42,194, + 100,120,84,84,11,11,11,233,76,104, + 236,68,18,50,17,209,76,17,241,104, 11,11,11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11, - 11,11,11,152,10,11,11,11,185,155, - 207,207,152,207,171,207,11,11,207,171, - 155,10,11,11,183,101,11,190,134,207, - 155,50,40,244,207,12,190,11,10,155, - 11,116,50,40,142,142,142,142,11,11, - 38,11,57,236,207,207,108,49,108,207, - 218,10,49,152,190,11,158,11,136,48, - 152,190,32,185,130,11,217,152,190,190, - 190,190,54,54,207,57,70,155,199,11, - 11,106,229,236,108,108,112,152,218,70, - 11,11,152,207,40,11,11,15,15,155, - 158,90,136,190,152,207,80,11,142,185, - 117,11,11,190,190,57,50,11,241,207, - 201,203,11,11,241,52,171,70,40,218, - 57,40,40,207,50,190,134,17,207,11, - 32,54,40,101,117,23,207,171,207,119, - 19,199,90,11,40,11,59,28,171,241, - 241,10,207,136,23,57,80,190,101,199, - 136,23,119,75,34,203,19,40,40,10, - 171,171,95,190,207,11,11,26,26,199, - 75,192,11,171,11,10,10,11,207,95, - 136,209,207,11,11,207,121,34,10,54, - 188,57,11,209,230,11,218,106,136,244, - 244,178,139,11,40,11,199,11,11,11, - 140,11,218,197,199,199,218,110,190,190, - 207,207,11,201,11,207,11,11,11,241, - 11,93,11,11,11,140,243,243,166,11, - 243,199,199,11,207,244,95,209,207,209, - 199,82,11,190,145,207,207,241,171,11, - 244,190,203,190,168,199,207,11,190,178, - 145,103,40,203,199,70,209,145,145,171, - 195,26,190,190,207,140,11,140,199,168, - 203,142,140,93,70,190,207,70,70,195, - 199,11,110,110,158,40,11,168,199,199, - 190,66,199,22,140,190,168,199,70,140, - 190,66,140 + 11,11,11,143,10,11,11,11,168,76, + 190,190,143,190,181,190,11,11,190,181, + 76,10,11,11,166,104,11,241,192,190, + 76,160,42,236,190,81,241,11,10,76, + 11,113,160,42,136,136,136,136,11,11, + 40,11,86,228,190,190,27,159,27,190, + 210,10,159,143,241,11,116,11,178,158, + 143,241,98,168,50,11,209,143,241,241, + 241,241,47,47,190,86,66,76,131,11, + 11,21,221,228,27,27,162,143,210,66, + 11,11,143,190,42,11,11,84,84,76, + 116,194,178,241,143,190,90,11,136,168, + 114,11,11,241,241,86,160,11,233,190, + 184,186,11,11,233,74,181,66,42,210, + 86,42,42,190,160,241,192,12,190,11, + 98,47,42,104,114,18,190,181,190,25, + 14,131,194,11,42,11,60,202,181,233, + 233,10,190,178,18,86,90,241,104,131, + 178,18,25,139,31,186,14,42,42,10, + 181,181,79,241,190,11,11,88,88,131, + 139,155,11,181,11,10,10,11,190,79, + 178,197,190,11,11,190,124,31,10,47, + 239,86,11,197,222,11,210,21,178,236, + 236,171,133,11,42,11,131,11,11,11, + 134,11,210,129,131,131,210,92,241,241, + 190,190,11,184,11,190,11,11,11,233, + 11,96,11,11,11,134,247,247,176,11, + 247,131,131,11,190,236,79,197,190,197, + 131,94,11,241,146,190,190,233,181,11, + 236,241,186,241,235,190,11,241,171,146, + 68,42,186,131,66,197,146,146,181,29, + 88,241,241,190,134,11,134,131,186,136, + 134,96,66,241,190,66,66,29,131,11, + 92,92,116,42,11,110,131,241,62,131, + 17,134,241,131,66,134,62 }; }; public final static char nasb[] = Nasb.nasb; @@ -1888,31 +1875,31 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 3,12,7,5,146,144,119,143,142,2, - 0,4,172,0,66,0,95,94,52,62, - 53,5,7,2,0,109,0,5,103,160, - 0,137,0,164,5,163,0,46,4,5, - 7,2,12,0,4,185,0,52,2,64, - 0,183,0,4,97,0,58,0,181,0, - 5,2,7,133,0,12,2,7,5,63, - 0,5,1,0,154,0,52,64,0,135, - 0,175,0,2,7,3,0,170,0,5, - 90,0,112,0,123,0,12,2,7,5, - 77,0,4,27,0,150,0,110,0,54, - 0,5,103,182,0,2,113,0,153,0, - 4,45,37,173,0,4,46,37,0,64, - 132,131,0,5,90,22,4,0,63,45, - 68,4,37,0,104,4,45,67,0,5, - 42,2,3,0,2,42,0,2,7,52, - 62,94,95,4,0,22,174,4,101,0, - 2,59,0,4,46,166,0,155,0,4, - 169,0,95,94,5,53,0,46,4,33, - 0,4,63,0,149,0,4,37,38,0, - 5,90,62,52,7,2,4,0,4,45, - 67,78,0,5,7,12,3,1,0,2, - 5,119,115,116,117,12,87,0,38,52, - 7,2,4,152,0,4,45,67,103,43, - 5,0,114,4,46,0 + 3,12,7,5,145,143,118,142,141,2, + 0,95,94,52,62,53,5,7,2,0, + 149,0,169,0,152,0,110,0,148,0, + 163,5,162,0,5,2,7,132,0,43, + 4,5,7,2,12,0,4,97,0,64, + 131,130,0,5,1,0,52,64,0,183, + 0,12,2,7,5,63,0,4,29,0, + 4,187,0,185,0,2,42,0,122,0, + 4,171,0,66,0,58,0,109,0,134, + 0,57,0,177,0,112,0,136,0,12, + 2,7,5,70,0,2,7,3,0,4, + 172,0,2,113,0,2,7,52,62,94, + 95,4,0,4,46,38,173,0,4,38, + 37,0,63,46,72,4,38,0,153,0, + 5,42,2,3,0,104,4,46,67,0, + 4,43,165,0,4,63,0,52,2,64, + 0,5,102,184,0,95,94,5,53,0, + 154,0,4,168,0,38,175,22,4,0, + 2,59,0,5,90,62,52,7,2,4, + 0,22,4,5,90,0,4,46,67,71, + 0,5,102,159,0,5,7,12,3,1, + 0,2,5,118,114,115,116,12,87,0, + 37,52,7,2,4,151,0,4,46,67, + 102,44,5,0,174,4,43,0,43,4, + 36,0,4,43,38,0,4,43,103,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -1923,12 +1910,12 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 115,116,2,32,14,11,81,10,117,102, 12,13,122,68,50,54,62,70,76,77, 88,89,104,107,109,8,9,114,15,20, - 57,63,69,86,90,92,95,96,99,101, - 111,112,113,46,106,56,108,49,66,72, - 75,78,85,91,100,1,97,105,3,79, - 48,55,60,80,21,45,34,65,93,103, - 121,31,123,120,98,110,51,52,58,59, - 61,67,71,73,74,87,94,18,19,7, + 95,57,63,69,86,90,92,96,99,101, + 111,112,113,46,106,56,108,1,49,66, + 72,75,78,85,91,100,97,105,3,79, + 48,21,55,60,80,45,34,121,65,93, + 103,31,120,123,67,98,110,51,52,58, + 59,61,71,73,74,87,94,18,19,7, 16,17,22,23,33,5,24,25,26,27, 28,29,6,35,36,37,38,39,40,41, 42,43,44,82,83,84,30,119,53,4, @@ -1942,24 +1929,24 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static char nonterminalIndex[] = {0, 132,137,139,0,0,138,235,136,0,135, 0,146,134,0,0,145,151,0,0,152, - 161,182,162,163,164,165,154,166,167,168, - 169,170,128,144,171,0,133,130,172,0, - 141,140,180,0,0,155,0,0,0,0, - 0,0,158,175,0,205,0,189,0,148, - 202,206,129,0,0,207,0,174,0,0, - 0,0,0,0,0,178,127,131,0,0, + 161,182,162,163,164,165,166,167,154,168, + 169,170,144,171,0,128,130,133,172,0, + 141,140,155,180,0,0,0,0,0,0, + 0,0,158,0,205,0,175,189,0,148, + 202,206,129,0,0,207,0,0,178,127, + 131,174,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,188,0,0,203, 213,160,209,210,211,0,0,0,0,149, - 0,208,221,181,0,0,0,212,0,0, - 0,241,150,177,191,192,193,194,195,197, - 200,0,0,215,218,220,238,0,240,0, - 142,143,147,0,0,157,159,0,173,0, - 183,184,185,186,187,190,0,196,198,0, - 199,204,0,216,217,0,222,225,227,229, - 0,232,233,234,0,236,237,239,126,0, - 153,156,176,179,201,214,219,0,223,224, - 226,228,0,230,231,242,243,0,0,0, - 0,0,0 + 208,221,177,181,0,0,0,212,0,0, + 0,241,150,191,192,193,194,195,197,200, + 0,0,215,218,220,238,0,240,0,142, + 143,147,0,0,157,159,0,173,0,183, + 184,185,186,187,190,0,196,198,0,199, + 204,0,216,217,0,222,225,227,229,0, + 232,233,234,0,236,237,239,126,0,153, + 156,0,176,0,179,0,201,214,219,0, + 223,224,226,228,0,230,231,242,243,0, + 0,0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -1967,18 +1954,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 146,590,609,377,541,557,568,579,357,256, - 270,292,298,304,42,281,402,440,154,598, - 385,492,20,51,75,80,85,122,182,287, - 310,321,332,262,276,516,27,367,332,617, - 27,204,235,1,14,61,71,101,136,217, - 315,328,337,346,350,458,485,537,627,631, - 635,92,7,92,136,420,436,449,469,529, - 449,548,564,575,586,194,391,503,56,56, - 143,209,212,230,251,212,212,56,354,464, - 482,489,143,56,648,105,223,424,476,111, - 111,223,56,223,411,164,99,462,639,646, - 639,646,65,430,129,99,99,240 + 146,565,584,516,532,543,554,357,256,270, + 292,298,304,42,281,377,415,154,573,467, + 20,51,75,80,85,122,182,287,310,321, + 332,262,276,491,27,367,332,592,27,204, + 235,1,14,61,71,101,136,217,315,328, + 337,346,350,433,460,512,602,606,610,92, + 7,92,136,395,411,424,444,504,424,523, + 539,550,561,194,478,56,56,143,209,212, + 230,251,212,212,56,354,439,457,464,143, + 56,623,105,223,399,451,111,111,223,56, + 223,386,164,99,437,614,621,614,621,65, + 405,129,99,99,240 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -1986,18 +1973,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,364,5,5,5,5,364,127, - 90,127,127,127,48,267,408,446,160,67, - 372,498,25,25,59,59,90,127,187,127, - 127,326,326,267,96,521,38,372,604,622, - 32,198,198,5,18,5,59,90,127,221, - 319,319,319,90,90,127,233,5,5,5, - 233,221,11,96,140,364,364,364,473,521, - 453,552,552,552,552,198,395,507,59,59, - 5,5,215,233,5,254,254,344,90,467, - 5,233,5,514,5,108,341,427,479,114, - 118,226,533,524,414,167,90,90,641,641, - 643,643,67,432,131,189,174,242 + 18,5,5,5,5,5,5,364,127,90, + 127,127,127,48,267,383,421,160,67,473, + 25,25,59,59,90,127,187,127,127,326, + 326,267,96,496,38,372,579,597,32,198, + 198,5,18,5,59,90,127,221,319,319, + 319,90,90,127,233,5,5,5,233,221, + 11,96,140,364,364,364,448,496,428,527, + 527,527,527,198,482,59,59,5,5,215, + 233,5,254,254,344,90,442,5,233,5, + 489,5,108,341,402,454,114,118,226,508, + 499,389,167,90,90,616,616,618,618,67, + 407,131,189,174,242 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2005,18 +1992,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 43,16,16,72,16,16,16,16,72,81, - 44,86,85,117,65,50,72,71,43,16, - 72,18,3,6,160,160,157,115,43,84, - 117,116,118,51,44,133,128,72,16,16, - 128,96,55,130,75,163,160,157,125,57, - 116,116,118,174,48,54,137,16,16,16, - 16,11,112,157,125,72,71,71,36,133, - 71,16,16,16,16,96,72,18,164,160, - 175,94,102,66,56,152,76,118,73,69, - 138,137,170,133,15,157,118,114,20,126, - 126,53,133,133,72,43,157,70,131,42, - 131,42,163,114,115,43,43,55 + 44,16,16,16,16,16,16,75,81,45, + 86,85,116,65,50,75,74,44,16,18, + 3,6,159,159,156,114,44,84,116,115, + 117,51,45,132,127,75,16,16,127,96, + 54,129,78,162,159,156,124,56,115,115, + 117,176,48,57,136,16,16,16,16,11, + 112,156,124,75,74,74,35,132,74,16, + 16,16,16,96,18,163,159,177,94,101, + 66,55,151,69,117,76,73,137,136,169, + 132,15,156,117,103,20,125,125,53,132, + 132,75,44,156,68,130,42,130,42,162, + 103,114,44,44,54 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2024,18 +2011,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 119,74,74,74,74,74,74,74,74,71, - 13,71,71,71,65,1,74,122,59,3, - 13,74,65,65,1,1,13,71,59,71, - 71,1,1,1,1,4,65,13,1,1, - 65,74,74,74,119,74,1,13,71,1, - 1,1,1,13,13,71,118,74,74,74, - 118,1,74,1,66,74,74,74,72,4, - 74,65,65,65,65,74,13,3,1,1, - 74,74,3,118,74,1,1,1,13,72, - 74,118,74,5,74,1,37,67,74,1, - 1,6,1,37,76,75,13,13,4,4, - 4,4,3,1,59,1,1,3 + 119,73,73,73,73,73,73,73,68,13, + 68,68,68,62,1,73,122,59,3,73, + 62,62,1,1,13,68,59,68,68,1, + 1,1,1,4,62,13,1,1,62,73, + 73,73,119,73,1,13,68,1,1,1, + 1,13,13,68,118,73,73,73,118,1, + 73,1,66,73,73,73,72,4,73,62, + 62,62,62,73,3,1,1,73,73,3, + 118,73,1,1,1,13,72,73,118,73, + 5,73,1,31,67,73,1,1,6,1, + 31,77,76,13,13,4,4,4,4,3, + 1,59,1,1,3 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2043,18 +2030,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 72,236,236,83,236,236,236,236,83,96, - 72,96,96,142,94,74,83,83,72,236, - 83,236,169,211,44,44,69,142,72,96, - 142,142,142,74,72,125,37,83,236,236, - 37,134,53,14,83,18,44,69,298,53, - 142,142,142,3,74,21,50,236,236,236, - 236,231,9,69,298,83,83,83,268,125, - 83,236,236,236,236,134,83,236,18,44, - 1,134,136,130,53,47,58,142,83,83, - 41,50,128,125,236,69,142,5,237,142, - 142,109,125,125,83,72,69,83,106,146, - 106,146,18,5,142,72,72,53 + 78,241,241,241,241,241,241,36,89,78, + 89,89,147,99,80,36,36,78,241,241, + 174,216,53,53,108,147,78,89,147,147, + 147,80,78,130,46,36,241,241,46,139, + 62,24,36,28,53,108,303,62,147,147, + 147,22,80,31,59,241,241,241,241,236, + 8,108,303,36,36,36,273,130,36,241, + 241,241,241,139,241,28,53,1,139,141, + 135,62,56,67,147,36,36,50,59,133, + 130,241,108,147,3,242,147,147,114,130, + 130,36,78,108,13,111,151,111,151,28, + 3,147,78,78,62 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2062,71 +2049,69 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 311,3,57,0,128,0,310,3,119,0, - 128,175,0,128,178,75,0,217,0,289, - 128,30,126,0,21,0,291,128,30,37, + 313,3,57,0,128,0,312,3,119,0, + 128,175,0,128,181,76,0,217,0,288, + 128,30,126,0,21,0,290,128,30,31, 0,21,55,0,34,134,0,21,55,0, - 0,291,128,30,37,191,0,21,131,0, - 289,128,30,131,0,183,129,0,144,0, - 221,3,288,0,288,0,2,0,128,0, - 183,129,227,0,183,129,45,227,0,183, - 129,307,45,0,132,188,166,129,0,130, - 0,188,166,129,0,136,130,0,169,0, - 303,128,169,0,128,169,0,223,130,0, - 166,243,0,139,0,0,0,137,0,0, - 0,302,128,59,250,0,129,0,250,0, - 3,0,0,129,0,301,128,59,0,45, - 129,0,151,3,0,128,278,277,128,75, - 276,169,0,277,128,75,276,169,0,216, - 0,217,0,276,169,0,98,0,0,216, + 0,290,128,30,31,191,0,21,131,0, + 288,128,30,131,0,183,129,0,144,0, + 221,3,287,0,287,0,2,0,128,0, + 183,129,226,0,183,129,45,226,0,183, + 129,309,45,0,132,188,166,129,0,130, + 0,188,166,129,0,136,130,0,170,0, + 305,128,170,0,128,170,0,223,130,0, + 166,242,0,139,0,0,0,137,0,0, + 0,304,128,59,249,0,129,0,249,0, + 3,0,0,129,0,303,128,59,0,45, + 129,0,153,3,0,128,277,276,128,76, + 275,170,0,276,128,76,275,170,0,216, + 0,217,0,275,170,0,98,0,0,216, 0,217,0,204,98,0,0,216,0,217, - 0,277,128,276,169,0,216,0,204,0, + 0,276,128,275,170,0,216,0,204,0, 0,216,0,230,128,3,0,128,0,0, - 0,0,0,230,128,3,218,0,226,3, + 0,0,0,230,128,3,218,0,225,3, 0,214,128,0,209,0,188,166,176,0, 136,0,166,129,0,11,0,0,0,216, - 56,0,127,0,230,128,3,180,0,180, + 48,0,127,0,230,128,3,179,0,179, 0,2,0,0,128,0,0,0,0,0, - 200,3,0,202,0,229,128,59,28,14, + 193,3,0,202,0,229,128,59,28,14, 0,183,129,60,58,0,198,130,0,132, - 183,129,274,58,0,183,129,274,58,0, + 183,129,273,58,0,183,129,273,58,0, 183,129,67,125,60,0,229,128,59,60, 0,229,128,59,123,60,0,229,128,59, - 126,60,0,271,128,59,125,68,0,271, - 128,59,68,0,183,129,68,0,137,0, - 188,183,129,243,0,139,0,183,129,243, + 126,60,0,270,128,59,125,69,0,270, + 128,59,69,0,183,129,69,0,137,0, + 188,183,129,242,0,139,0,183,129,242, 0,188,166,129,10,0,166,129,10,0, - 95,139,0,149,0,264,128,146,0,264, - 128,169,0,161,86,0,225,162,225,298, - 3,83,0,128,174,0,225,298,3,83, - 0,130,0,128,174,0,225,162,225,162, - 225,3,83,0,225,162,225,3,83,0, - 225,3,83,0,130,0,130,0,128,174, - 0,161,3,76,192,81,0,128,130,0, - 192,81,0,110,2,133,128,130,0,238, - 3,76,0,200,170,0,34,172,0,170, - 0,178,34,172,0,238,3,87,0,192, - 157,238,3,85,0,64,174,0,238,3, - 85,0,128,174,64,174,0,297,128,59, - 0,161,0,216,78,0,31,0,161,117, - 159,0,31,172,0,184,3,0,128,152, - 0,221,3,0,216,56,261,0,161,56, - 0,184,3,294,64,129,0,128,0,0, - 0,0,294,64,129,0,2,148,128,0, - 0,0,0,150,0,127,37,166,129,0, - 32,150,0,95,139,32,150,0,224,183, - 129,0,149,32,150,0,161,3,40,0, - 161,3,65,184,30,31,0,184,30,31, - 0,21,2,133,128,0,161,3,65,184, - 30,34,0,184,30,34,0,161,3,65, - 184,30,36,0,184,30,36,0,161,3, - 65,184,30,32,0,184,30,32,0,221, - 3,127,188,166,129,10,0,127,188,166, - 129,10,0,139,2,0,128,0,221,3, - 126,176,166,129,10,0,176,166,129,10, - 0,137,2,0,128,0,221,3,136,0, - 221,3,140,0,161,56,140,0,256,0, - 32,0,32,142,0,165,0,161,3,0 + 95,139,0,149,0,263,128,146,0,263, + 128,170,0,162,86,0,296,161,298,299, + 3,83,0,128,174,0,298,299,3,83, + 0,130,0,128,174,0,162,3,77,196, + 82,0,128,130,0,196,82,0,110,2, + 133,128,130,0,227,3,77,0,193,167, + 0,34,172,0,167,0,178,34,172,0, + 227,3,87,0,196,160,227,3,85,0, + 64,174,0,227,3,85,0,128,174,64, + 174,0,297,128,59,0,162,0,216,79, + 0,31,0,162,117,158,0,31,172,0, + 184,3,0,128,152,0,221,3,0,216, + 48,260,0,162,48,0,184,3,293,65, + 129,0,128,0,0,0,0,293,65,129, + 0,2,148,128,0,0,0,0,150,0, + 127,31,166,129,0,32,150,0,95,139, + 32,150,0,224,183,129,0,149,32,150, + 0,162,3,40,0,162,3,62,184,30, + 32,0,184,30,32,0,21,2,133,128, + 0,162,3,62,184,30,35,0,184,30, + 35,0,162,3,62,184,30,37,0,184, + 30,37,0,162,3,62,184,30,33,0, + 184,30,33,0,221,3,127,188,166,129, + 10,0,127,188,166,129,10,0,139,2, + 0,128,0,221,3,126,176,166,129,10, + 0,176,166,129,10,0,137,2,0,128, + 0,221,3,136,0,221,3,140,0,162, + 48,140,0,255,0,32,0,32,142,0, + 165,0,162,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2134,37 +2119,37 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 1079,0,2876,0,4480,4468,4452,0,1335,3160, - 1265,2934,0,1381,1370,1340,0,2648,635,0, - 3324,3269,3214,2858,2851,3159,3104,3049,2988,2236, - 2895,2536,2481,2975,1026,0,4360,3128,3355,0, - 1324,1075,0,627,2406,0,4368,4215,0,1778, - 634,0,4368,4276,2486,567,4215,3760,4176,4204, - 4287,2951,4193,720,3464,3448,2835,0,2978,4313, - 0,2978,4313,2748,2696,3708,2630,2578,3656,3604, - 3552,3484,3324,3269,3214,3159,3104,3049,2988,2895, - 2536,2481,0,2978,4313,2748,2696,3708,2630,2578, - 3656,3604,3552,3484,0,2591,2506,0,2951,4276, - 3606,2486,567,2698,3464,1663,2909,1652,2511,3074, - 795,1198,1168,0,1917,851,0,1089,0,2015, - 1845,1422,564,567,3074,3760,3448,2835,2635,2501, - 0,4186,526,2286,0,4404,4398,4394,4385,4320, - 3743,3691,3639,4458,4408,3460,3347,3292,3496,2882, - 3237,2847,2691,2665,2685,3182,2783,0,4404,4398, - 3017,2994,2971,4394,4385,4320,2756,2612,3743,3691, - 3639,3557,4458,3474,3384,4408,2918,2818,2764,2417, - 2421,3460,1793,3347,3545,3292,3496,2882,2137,3237, - 1131,2847,1034,2691,2665,4186,2685,2286,3182,2783, - 3760,4176,4204,4287,2951,4368,4276,4193,2407,2387, - 2486,2376,567,720,3464,3448,4215,2835,783,1081, - 2003,2091,648,1917,851,3575,4155,4134,580,2105, - 2173,2142,2259,2232,2203,2854,2348,2459,2433,2322, - 2294,3902,3880,3858,3424,3400,4113,4092,4071,4050, - 4029,4008,3987,3966,3945,3924,3832,1800,2054,2017, - 1966,1929,1878,1090,1038,1841,993,804,1751,1712, - 734,673,1671,1630,1589,1548,1507,1466,1425,1384, - 1343,1302,1261,526,1217,1176,947,906,865,1135, - 0 + 1663,0,4447,4564,4563,4551,0,2138,3093,1711, + 2943,0,3293,3235,3177,3119,3061,3002,2916,2554, + 2496,3034,0,1786,1170,1088,0,2424,637,0, + 3089,2278,1581,3211,2566,3293,3235,3177,3119,3061, + 3002,2916,2554,2496,0,3140,2648,3092,0,1492, + 1451,0,3506,2827,0,4409,4367,0,2526,1745, + 0,4409,4328,4304,570,4367,3761,4132,4203,4339, + 2974,4169,4239,3438,3420,2455,0,2699,4392,3293, + 3235,3177,3119,3061,3002,2916,2554,2496,2763,2711, + 3709,2645,2593,3657,3605,3553,3497,0,2763,2711, + 3709,2645,2593,3657,3605,3553,3497,2699,4392,0, + 2557,713,0,2974,4328,3347,4304,570,3483,3438, + 1380,3127,1339,3480,2919,1544,1708,712,0,719, + 650,0,619,0,1590,1556,1244,1185,570,2919, + 3761,3420,2455,2765,2435,0,4162,529,2328,0, + 4499,4439,4429,4425,4233,3744,3692,3640,4524,4520, + 4504,3316,2968,3287,3200,2823,3171,3084,2681,2577, + 2705,1051,0,4499,4439,2502,2182,2146,4429,4425, + 4233,2058,1970,3744,3692,3640,3158,4524,3066,2946, + 4520,2939,2934,2606,2512,2419,4504,3149,3316,2925, + 2968,3287,3200,2430,2823,2142,3171,1047,3084,2681, + 4162,2577,2328,2705,1051,3761,4132,4203,4339,2974, + 4409,4328,4169,2046,1958,4304,1835,570,4239,3438, + 3420,4367,2455,1035,2134,784,976,852,719,650, + 4142,4111,4090,583,2150,2217,2186,2301,2274,2246, + 2894,2869,2474,2387,2357,908,3858,3831,3448,3396, + 3372,4069,4048,4027,4006,3985,3964,3943,3922,3901, + 3880,2336,1845,2098,2062,2010,1974,1922,1137,1096, + 1886,1055,806,1794,1757,736,675,1716,1675,1634, + 1593,1552,1511,1470,1429,1388,1347,1306,529,1263, + 1222,994,935,867,1181,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2172,59 +2157,58 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,293,128,263,40,31,34,36,32,10, - 136,126,7,131,4,3,129,35,29,5, + 0,292,128,262,40,32,35,37,33,10, + 136,126,7,131,4,3,129,36,29,5, 12,11,6,8,27,26,140,145,148,147, - 150,149,153,152,155,154,156,57,159,66, - 3,30,30,30,30,129,3,30,170,128, - 56,3,63,64,30,7,126,184,161,170, - 128,63,64,166,165,126,3,125,127,103, - 120,3,56,90,96,12,11,92,91,6, - 94,93,65,30,88,89,8,98,97,100, + 150,149,152,151,155,154,156,57,158,66, + 3,30,30,30,30,129,3,30,167,128, + 48,3,64,65,30,7,126,184,162,167, + 128,64,65,166,165,126,3,125,127,103, + 120,3,48,90,96,12,11,92,91,6, + 94,93,62,30,88,89,8,98,97,100, 99,101,113,112,111,110,109,108,107,106, - 105,104,67,117,102,161,184,184,184,184, - 166,221,128,128,265,266,250,267,243,268, - 68,269,270,10,129,56,56,128,157,128, - 56,3,219,218,136,127,126,10,129,56, - 294,3,188,4,37,5,129,37,221,161, + 105,104,67,117,102,162,184,184,184,184, + 166,221,128,128,264,265,249,266,242,267, + 69,268,269,10,129,48,48,128,160,128, + 48,3,219,218,136,127,126,10,129,48, + 293,3,188,4,31,5,129,31,221,162, 147,147,145,145,145,149,149,149,149,148, - 148,152,150,150,154,153,155,161,156,65, - 65,65,65,188,176,289,134,292,214,129, + 148,151,150,150,154,152,155,162,156,62, + 62,62,62,188,176,288,134,291,214,129, 6,59,166,233,129,127,126,125,59,129, - 129,183,166,289,214,216,159,226,128,3, - 129,166,201,3,295,170,151,256,188,129, + 129,183,166,288,214,216,158,225,128,3, + 129,166,194,3,294,167,153,255,188,129, 126,183,166,72,3,3,3,3,127,126, 66,166,128,128,127,126,128,183,128,59, - 128,183,166,37,230,231,146,232,128,166, - 37,184,128,128,4,224,5,37,161,161, - 161,161,3,3,6,182,302,129,167,227, - 191,58,169,304,128,128,72,188,128,271, - 125,272,188,157,67,226,200,186,180,176, - 3,128,66,230,188,157,258,261,56,177, - 4,125,127,221,221,128,166,37,274,276, - 128,3,180,306,227,45,129,271,67,66, - 128,67,67,3,166,200,128,214,157,127, - 128,3,56,161,4,188,30,129,75,128, - 214,303,128,126,72,283,200,66,129,45, - 307,183,222,128,188,128,258,221,216,132, - 128,183,128,277,72,66,214,72,67,183, - 129,129,128,230,222,291,37,10,62,132, - 277,59,287,129,288,183,183,57,157,128, - 66,65,30,233,233,278,128,66,183,3, - 3,128,14,37,169,61,60,58,128,67, - 67,128,297,80,78,1,161,87,85,83, - 81,76,84,86,79,77,60,75,221,311, + 128,183,166,31,230,231,146,232,128,166, + 31,184,128,128,4,224,5,31,162,162, + 162,162,3,3,6,182,304,129,168,226, + 191,58,170,306,128,128,72,188,128,270, + 125,271,188,160,67,225,193,186,179,176, + 3,128,66,230,188,160,257,260,48,177, + 4,125,127,221,221,128,166,31,273,275, + 128,3,179,308,226,45,129,270,67,66, + 128,67,67,3,166,193,128,214,160,127, + 128,3,48,162,4,188,30,129,76,128, + 214,305,128,126,72,282,193,66,129,45, + 309,183,222,128,188,128,257,221,216,132, + 128,183,128,276,72,66,214,72,67,183, + 129,129,128,230,222,290,31,10,63,132, + 276,59,286,129,287,183,183,57,160,128, + 66,62,30,233,233,277,128,66,183,3, + 3,128,14,31,170,61,60,58,128,67, + 67,128,297,81,79,1,162,87,85,83, + 82,77,84,86,80,78,60,76,221,313, 222,28,30,128,3,59,123,126,125,60, - 291,279,119,9,216,72,3,3,3,192, - 3,125,161,125,178,66,128,128,59,65, - 264,200,275,28,128,59,59,67,129,65, - 3,238,170,238,298,225,146,76,238,128, - 128,3,67,66,157,229,228,128,128,129, - 183,62,95,310,170,157,200,157,225,162, - 128,3,157,279,229,151,59,229,229,183, - 273,233,157,157,128,67,192,162,225,264, - 161,128,273,67,122,225,162,157,301,157, - 225,66,157 + 290,278,119,9,216,72,3,3,3,196, + 3,125,162,125,181,66,128,128,59,62, + 263,193,274,28,128,59,59,67,129,62, + 3,227,167,227,299,146,77,227,128,128, + 3,67,66,160,229,228,128,128,129,183, + 63,95,312,167,160,193,160,298,128,3, + 160,278,229,153,59,229,229,183,272,233, + 160,160,128,67,196,161,263,162,128,272, + 67,122,296,160,303,160,66 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2413,8 +2397,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "statement_seq", "condition", "declarator", - "simple_declaration_with_declsp" + - "ec", + "for_init_statement", "function_definition", "declaration_seq", "declaration_specifiers", @@ -2489,9 +2472,9 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 73, - SCOPE_UBOUND = 117, - SCOPE_SIZE = 118, + ERROR_SYMBOL = 74, + SCOPE_UBOUND = 114, + SCOPE_SIZE = 115, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -2500,20 +2483,20 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 523, + NUM_STATES = 517, NT_OFFSET = 124, - LA_STATE_OFFSET = 5542, + LA_STATE_OFFSET = 5581, MAX_LA = 2147483647, - NUM_RULES = 525, - NUM_NONTERMINALS = 193, - NUM_SYMBOLS = 317, + NUM_RULES = 528, + NUM_NONTERMINALS = 195, + NUM_SYMBOLS = 319, SEGMENT_SIZE = 8192, - START_STATE = 2987, + START_STATE = 3016, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 121, EOLT_SYMBOL = 121, - ACCEPT_ACTION = 4636, - ERROR_ACTION = 5017; + ACCEPT_ACTION = 4672, + ERROR_ACTION = 5053; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java index 87a2c82bc73..4adc3ada5ec 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java @@ -16,68 +16,68 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPSizeofExpressionParsersym { public final static int TK_asm = 61, - TK_auto = 48, + TK_auto = 49, TK_bool = 15, - TK_break = 77, - TK_case = 78, + TK_break = 78, + TK_case = 79, TK_catch = 119, TK_char = 16, - TK_class = 62, + TK_class = 63, TK_const = 46, - TK_const_cast = 31, - TK_continue = 79, - TK_default = 80, - TK_delete = 63, - TK_do = 81, + TK_const_cast = 32, + TK_continue = 80, + TK_default = 81, + TK_delete = 64, + TK_do = 82, TK_double = 17, - TK_dynamic_cast = 32, + TK_dynamic_cast = 33, TK_else = 122, - TK_enum = 68, - TK_explicit = 49, - TK_export = 82, + TK_enum = 69, + TK_explicit = 50, + TK_export = 75, TK_extern = 14, - TK_false = 33, + TK_false = 34, TK_float = 18, TK_for = 83, - TK_friend = 50, + TK_friend = 51, TK_goto = 84, TK_if = 85, - TK_inline = 51, + TK_inline = 52, TK_int = 19, TK_long = 20, - TK_mutable = 52, + TK_mutable = 53, TK_namespace = 60, - TK_new = 64, + TK_new = 65, TK_operator = 7, TK_private = 114, TK_protected = 115, TK_public = 116, - TK_register = 53, - TK_reinterpret_cast = 34, + TK_register = 54, + TK_reinterpret_cast = 35, TK_return = 86, TK_short = 21, TK_signed = 22, - TK_sizeof = 35, - TK_static = 54, - TK_static_cast = 36, - TK_struct = 69, + TK_sizeof = 36, + TK_static = 55, + TK_static_cast = 37, + TK_struct = 70, TK_switch = 87, - TK_template = 37, + TK_template = 31, TK_this = 38, TK_throw = 57, - TK_try = 75, + TK_try = 76, TK_true = 39, - TK_typedef = 55, + TK_typedef = 56, TK_typeid = 40, TK_typename = 10, - TK_union = 70, + TK_union = 71, TK_unsigned = 23, TK_using = 58, TK_virtual = 45, TK_void = 24, TK_volatile = 47, TK_wchar_t = 25, - TK_while = 76, + TK_while = 77, TK_integer = 41, TK_floating = 42, TK_charconst = 43, @@ -86,7 +86,7 @@ public interface CPPSizeofExpressionParsersym { TK_Completion = 2, TK_EndOfCompletion = 9, TK_Invalid = 124, - TK_LeftBracket = 56, + TK_LeftBracket = 48, TK_LeftParen = 3, TK_LeftBrace = 59, TK_Dot = 120, @@ -106,7 +106,7 @@ public interface CPPSizeofExpressionParsersym { TK_RightShift = 88, TK_LeftShift = 89, TK_LT = 30, - TK_GT = 65, + TK_GT = 62, TK_LE = 93, TK_GE = 94, TK_EQ = 97, @@ -133,10 +133,10 @@ public interface CPPSizeofExpressionParsersym { TK_Comma = 66, TK_zero = 44, TK_RightBracket = 118, - TK_RightParen = 74, - TK_RightBrace = 71, + TK_RightParen = 73, + TK_RightBrace = 68, TK_SemiColon = 13, - TK_ERROR_TOKEN = 73, + TK_ERROR_TOKEN = 74, TK_original_namespace_name = 123, TK_EOF_TOKEN = 121; @@ -172,13 +172,13 @@ public interface CPPSizeofExpressionParsersym { "stringlit", "Bang", "LT", + "template", "const_cast", "dynamic_cast", "false", "reinterpret_cast", "sizeof", "static_cast", - "template", "this", "true", "typeid", @@ -189,6 +189,7 @@ public interface CPPSizeofExpressionParsersym { "virtual", "const", "volatile", + "LeftBracket", "auto", "explicit", "friend", @@ -197,25 +198,25 @@ public interface CPPSizeofExpressionParsersym { "register", "static", "typedef", - "LeftBracket", "throw", "using", "LeftBrace", "namespace", "asm", + "GT", "class", "delete", "new", - "GT", "Comma", "Assign", + "RightBrace", "enum", "struct", "union", - "RightBrace", "Colon", - "ERROR_TOKEN", "RightParen", + "ERROR_TOKEN", + "export", "try", "while", "break", @@ -223,7 +224,6 @@ public interface CPPSizeofExpressionParsersym { "continue", "default", "do", - "export", "for", "goto", "if",